PyevolveDescriptionThis project focus on development of a complete cross-platform (Windows, Linux) framework for Genetic Algorithms in pure python.
The project is in active development, and I'm doing great efforts to release a good version and documentation soon.
Main features: Many selector
... [More]
algorithms like: Rank Selector Uniform Selector Roulette Wheel Selector Tournament Selector Pure python, you can use in any platform which runs python; Easy to use, easy for end-user; Simple to customize Create new representations, genetic operators;
You can view the Tutorial
- Christian S. Perone
News 05/08/2008 Added documentation to the code; Created API Docs.
04/08/2008 I've created a Tutorial.
31/07/2008 Released Pyevolve 0.3 (changes in ChangeLogVersion03)!
29/06/2008 Good news, Pyevolve was figured in the "10 Must-Have Python Packages for Social Scientists" !
25/01/2008 Released Pyevolve 0.2 (changes in ChangeLogVersion02)!
Some code example (SimpleCodeExample)from pyevolve import G1DList
from pyevolve import GSimpleGA
from pyevolve import Selectors
def eval_func(ind):
score = 0.0
for x in range(0,len(ind)):
if ind[x]==0: score += 0.1
return score
# Genome instance
genome = G1DList.G1DList(7)
genome.setInitParams(rangemin=0, rangemax=6)
# The evaluator function (objective function)
genome.evaluator.set(eval_func)
# Genetic Algorithm Instance
ga = GSimpleGA.GSimpleGA(genome)
ga.selector.set(Selectors.GRouletteWheel)
# Do the evolution
ga.evolve()
# Best individual
print ga.bestIndividual()
And the result:
- GenomeBase
Evaluated: True
Score: 0.70
Fitness: 0.70
Slot name: Evaluator (Count: 1)
Name: eval_func
Doc: No documentation !
Slot name: Initializator (Count: 1)
Name: G1DListInitializatorInteger
Doc: This is the init function !!
Slot name: Mutator (Count: 1)
Name: G1DListMutatorSwap
Doc: No documentation !
Slot name: Crossover (Count: 1)
Name: G1DListCrossoverSinglePoint
Doc: No documentation !
- G1DList
List size: 7
List: [0, 0, 0, 0, 0, 0, 0] [Less]