# Genetic Algorithms Selection Presentation - WordPress.com

AI and Robotics

Oct 23, 2013 (4 years and 6 months ago)

84 views

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