Genetic Algorithms Selection Presentation

Download Report

Transcript Genetic Algorithms Selection Presentation

Genetic Algorithms

Genetic Programming Representation of Chromosome Selection Procedure(pseudo code) Roulette Wheel procedure Java Genetic Algorithm library Python Genetic Algorithm library Vasanth Raja Chittampally 10IT05F http://www.vasanthexperiments .wordpress.com

1

Representation of Chromosome

 private static class Chromosome { – – – – public double score; StringBuffer chromo= new StringBuffer(chromoLen * 4); // public Chromosome(int target) {  //  chromo.append(binString); // } } Vasanth Raja Chittampally www.vasanthexperiments .wordpress.com

2

Roulette Wheel selection procedure

 A roulette wheel contains slots weighted in proportion to string fitness values.

 In the below code we see the select function returns the index value corresponding to the selected individual.

 Partial sum of the fitness values is accumulated in the real variable

partsum

rand=rand*sumfitness

Sum of the population fitnesses is multiplied by the normalized pseudorandom number.

Repeate-until

searches through the weighted roulette wheel until the partial sum is greater than or equal to the stopping point rand.

3

Pseudo code of Selection process

 Function select(popsize, sumfitness, population) { – Begin  Partsum=0 j=0  rand= rand*sumfitness 

Repeat

j=j+1

partsum=partsum+pop[j].fitness

Until(partsum>=rand) or (j=popsize)

– Return individual number – Select=j end Vasanth Raja Chittampally www.vasanthexperiments .wordpress.com

4

Java Selection Function

 private Chomosone selectMember(ArrayList l) { double tot=0.0; for (int x=l.size()-1;x>=0;x--) { double score = ((Chomosone)l.get(x)).score; tot+=score; } double rand1 = tot*rand.nextDouble(); double ttot=0.0; for (int x=l.size()-1;x>=0;x--) { Chomosone node = (Chomosone)l.get(x); ttot+=node.score; if (ttot>=rand1) { l.remove(x); return node; } } return (Chomosone)l.remove(l.size()-1); } 5

Java Genetic Algorithm Library

 http://jgap.sourceforge.net/  It provides basic genetic mechanisms that can be easily used to apply evolutionary principles to problem solutions  This contains the general purpose functions to be performed for Genetic algorithms  Good documentation is available  Set of examples were given in the above link with source code 6

Python Genetic Algorithms Library

 http://pyevolve.sourceforge.net/  Pyevolve was developed to be a

complete genetic algorithm framework written in pure python

.

 Good documentation is available  Set of examples were given in the above link with source code  http://www.freenet.org.nz/python/pygene/  Python based genetic algorithms library.

7

References

 http://www.genetic-programming.org/  http://pyevolve.sourceforge.net

 http://gafp.sourceforge.net/  http://jgap.sourceforge.net/  http://amitksaha.wordpress.com/2009/12/16/ga-based sorting-bogosort-using-pyevolve/  http://amitksaha.wordpress.com/2009/12/16/ga-based sorting-bogosort-using-pyevolve/  http://pyevolve.sourceforge.net/examples.html#example 12-the-travelling-salesman-problem-tsp  http://www.geneticprogramming.com/ga 8

Queries ???

Vasanth Raja Chittampally 10IT05F www.vasanthexperiments .wordpress.com

9

Thank you

Vasanth Raja Chittampally 10IT05F www.vasanthexperiments .wordpress.com

10