Genetic Algorithms Selection Presentation - WordPress.com

libyantawdryΤεχνίτη Νοημοσύνη και Ρομποτική

23 Οκτ 2013 (πριν από 3 χρόνια και 9 μήνες)

69 εμφανίσεις

Vasanth Raja Chittampally

10IT05F

http://www.vasanthexperiments .wordpress.com


1

Genetic Algorithms


Genetic Programming


Representation of Chromosome


Selection Procedure(pseudo code)


Roulette Wheel procedure


Java Genetic Algorithm library


Python Genetic Algorithm library




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