Download Embedded Algorithm in Hardware: A Scalable Compact Genetic

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Computational complexity theory wikipedia , lookup

Natural computing wikipedia , lookup

Selection algorithm wikipedia , lookup

K-nearest neighbors algorithm wikipedia , lookup

Simplex algorithm wikipedia , lookup

Simulated annealing wikipedia , lookup

Smith–Waterman algorithm wikipedia , lookup

Factorization of polynomials over finite fields wikipedia , lookup

Dijkstra's algorithm wikipedia , lookup

Time complexity wikipedia , lookup

Algorithm wikipedia , lookup

Algorithm characterizations wikipedia , lookup

Genetic algorithm wikipedia , lookup

Transcript
Embedded Algorithm in Hardware:
A Scalable Compact Genetic Algorithm
Prabhas Chongstitvatana
Chulalongkorn University
What is Genetic Algorithms
• GA is a probabilistic search procedure to
obtain solutions starting from a set of
candidate solutions, using improving
operators to “evolve” solutions. Improving
operators are inspired by natural evolution.
Characteristics of GA
• Survival of the fittest.
• The objective function depends on the
problem.
• GA is not a random search.
GA pseudo code
GA
initialise population P
while not terminate
evaluate P by fitness function
P' = selection recombination mutation P
P = P‘
terminating conditions:
1. found satisfactory solutions
2. waiting too long
Simple Genetic Algorithm
• represent a solution by binary string {0,1}*
• selection:
chance to be selected is proportional to its
fitness
• recombination
single point crossover
Genetic Operators
recombination
select a cut point cut two parents, exchange parts
AAAAAA 111111
AA AAAA 11 1111 cut at bit 2
AA1111 11AAAA exchange parts
mutation
single bit flip
111111 --> 111011 flip at bit 4
What problem GA is good for?
• Highly multimodal functions
• Discrete or discontinuous functions
• High-dimensionality functions, including many
combinatorial ones
• Nonlinear dependencies on parameters
• (interactions among parameters) -- “epistasis”
• Often used for approximating solutions to
NPcomplete
Thai stock exchange prediction
January 2003 – December 2004
Controller of a 7 DOF Bibed
1998 Synthesis of Synchronous Sequential
Logic Circuits from Partial Input/Output
Sequences
.
Two-Horn Chameleon (Bradypodion fischeri ssp.) in the Usambara mountains, Tanzania
2001 A Hardware Implementation of the
Compact Genetic Algorithm
• Fabricate on FPGA, runs about 1,000
times faster than the software executing
on a workstation.
Pseudocode of Compact GA
Hardware organization (population size = 256,
chromosome length = 32)
Scalable Compact Genetic
Algorithm in Hardware
Jewajinda, Y. and Chongstitvatana, P. 2006
Pseudocode of the normal CoCGA cell
1. Generate two individual from the vector
2. Let them compete
3. Update the probability vector toward better one
and lncrement Confidence Counter
4. Check if cc is incremented then Send p and cc
to the group leader cell
5. Check if the vector has converged else goto
step 1
6. probability vector represents the final solution
Pseudocode of the group leader
1.
2.
3.
4.
Check if cc of each neighbor is updated
Select the highest cc of all neighbors
Update p, with pcc with ccmax
Update new updated p , to all normal Cell for
each neighbor cell of leader cells
5. Check if the vector has converged else goto
step 1
6. p , represents the final solution
A Block of CGA cell
CoCGA with two neighbors
Speedup
SPEEDUP COMPARISON BETWEEN CGA AND COCGA IN
TERM OF MACHINE CYCLES (ONE MACHINE CYCLE IS
EQUIVALENT To FOUR CLOCK CYCLES)
ONEMAX
F1
F2
F3
CGA
43362
126967
80027
32427
CoCGA
11492
25542
27757
9407
speedup
3.77
4.97
2.88
3.44
References
•
•
•
•
•
•
Jewajinda, Y. and Chongstitvatana, P., "FPGA-based Online-learning using Parallel Genetic
Algorithm and Neural Network for ECG Signal Classification," Proc. of ECTI Conf., 19-21 May
2010, Chiengmai, Thailand. (Best paper award)
Jewajinda, Y. and Chongstitvatana, P.,"FPGA Implementation of a Cellular Univariate Estimation of
Distribution Algorithm and Block-based Neural Network as an Evolvable Hardware", IEEE
Congress on Evolutionary Computation, Hong Kong, June 1-6, 2008, pp.3365-3372.
Jewajinda, Y. and Chongstitvatana, P., "A Cooperative Approach to Compact Genetic Algorithm for
Evolvable Hardware", IEEE World Congress on Computational Intelligence, Vancouver, Canada,
July 16-21, 2006, pp.2779-2786.
Niparnan, N. and Chongstitvatana, P., "An improved genetic algorithm for the inference of finite
state machine", IEEE Int. Conf. on Systems, Man and Cybernetics, Vol.7, 2002, pp. 340-344,
Tunisia, 6-9 Oct, 2002.
Aporntewan, C. and Chongstitvatana, P., "A Hardware Implementation of the Compact Genetic
Algorithm", IEEE Congress on Evolutionary Computation, Seoul, Korea, May 27-30, 2001,
pp.624-629.
Aporntewan, C., and Chongstitvatana, P., "An on-line evolvable hardware for learning finite-state
machine", Proc. of Int. Conf. on Intelligent Technologies, Bangkok, December 13-15, 2000, pp.125134.
• [email protected]
• www.cp.eng.chula.ac.th/faculty/pjw/
Teamwork