Embedded Algorithm in Hardware : A Scalable Compact Genetic Algorithm

24
Embedded Algorithm in Hardware: A Scalable Compact Genetic Algorithm Prabhas Chongstitvatana Chulalongkorn University

description

Embedded Algorithm in Hardware : A Scalable Compact Genetic Algorithm. Prabhas Chongstitvatana Chulalongkorn University. What is Genetic Algorithms. - PowerPoint PPT Presentation

Transcript of Embedded Algorithm in Hardware : A Scalable Compact Genetic Algorithm

Page 1: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Embedded Algorithm in Hardware: A Scalable Compact Genetic Algorithm

Prabhas Chongstitvatana

Chulalongkorn University

Page 2: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

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.

Page 3: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Characteristics of GA

• Survival of the fittest.

• The objective function depends on the problem.

• GA is not a random search.

Page 4: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

GA pseudo code

GA initialise population Pwhile not terminate

evaluate P by fitness functionP' = selection recombination mutation PP = P‘

terminating conditions:1. found satisfactory solutions2. waiting too long

Page 5: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Simple Genetic Algorithm

• represent a solution by binary string {0,1}*

• selection: chance to be selected is proportional to its fit

ness

• recombinationsingle point crossover

Page 6: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Genetic Operators

recombinationselect a cut point cut two parents, exchange parts

AAAAAA 111111

AA AAAA 11 1111 cut at bit 2

AA1111 11AAAA exchange parts

mutationsingle bit flip

111111 --> 111011 flip at bit 4

Page 7: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

What problem GA is good for?

• Highly multimodal functions• Discrete or discontinuous functions• High-dimensionality functions, including many co

mbinatorial ones• Nonlinear dependencies on parameters• (interactions among parameters) -- “epistasis”• Often used for approximating solutions to NPco

mplete

Page 8: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Thai stock exchange prediction January 2003 – December 2004

Page 9: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Controller of a 7 DOF Bibed

Page 10: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

1998 Synthesis of Synchronous Sequential Logic Circuits from Partial Input/Output Sequences

.

Two-Horn Chameleon (Bradypodion fischeri ssp.) in the Usambara mountains, Tanzania

Page 11: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm
Page 12: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

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.

Page 13: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Pseudocode of Compact GA

Page 14: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Hardware organization (population size = 256, chromosome length = 32)

Page 15: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm
Page 16: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Scalable Compact Genetic Algorithm in Hardware

Jewajinda, Y. and Chongstitvatana, P. 2006

Page 17: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Pseudocode of the normal CoCGA cell

1. Generate two individual from the vector2. Let them compete3. Update the probability vector toward better one

and lncrement Confidence Counter4. Check if cc is incremented then Send p and cc t

o the group leader cell5. Check if the vector has converged else goto ste

p 16. probability vector represents the final solution

Page 18: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Pseudocode of the group leader

1. Check if cc of each neighbor is updated

2. Select the highest cc of all neighbors

3. Update p, with pcc with ccmax

4. 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

Page 19: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

A Block of CGA cell

Page 20: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

CoCGA with two neighbors

Page 21: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Speedup

ONEMAX F1 F2 F3

CGA 43362 126967 80027 32427

CoCGA 11492 25542 27757 9407

speedup 3.77 4.97 2.88 3.44

SPEEDUP COMPARISON BETWEEN CGA AND COCGA IN TERM OF MACHINE CYCLES (ONE MACHINE CYCLE IS EQUIVALENT To FOUR CLOCK CYCLES)

Page 22: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

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.125-134.

Page 23: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

[email protected]

• www.cp.eng.chula.ac.th/faculty/pjw/

Page 24: Embedded Algorithm in Hardware :  A Scalable Compact Genetic Algorithm

Teamwork