Skip to content

Repository for PyGEVO, a pythonic framework for Grammatical Evolution

License

Notifications You must be signed in to change notification settings

IvanHGuevara/PyGEVO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyGEVO: a pythonic Grammatical Evolution framework

PyGEVO is a pythonic low-code framework for Grammatical Evolution. Minimalistic, efficient and powerful, this framework aims to enable non-expert users to easily wrap up a GE experiment in a few lines of codes:

from core.domain.population import Population
from core.domain.algorithms import Algorithms
from core.fitnessFunctions.syntheticFunctions import FitnessFunctions

population = Population(numberIndividuals=6, individualSize=8).generatePop()
population = Algorithms("grammar_ANSI_C.bnf", initBNF=56).evolveWithGE(population, FitnessFunctions.griewank, gen=30, porcentSelect=0.2, staticSelection=100,validIndividuals=True, orderedByFitness=True)
population.showTopTen()

PyGEVO has also the capability to cythonize the whole project, in order to have better performance. For this we call the Compiler and indicate it to compile the project (to import Cython classes is always recommended to use pyximport):

from compiler import Compiler
Compiler.enableCython()
Compiler.compile()

import pyximport
pyximport.install()
from core.domain.population import Population
from core.domain.algorithms import Algorithms
from core.fitnessFunctions.syntheticFunctions import FitnessFunctions

population = Population(numberIndividuals=6, individualSize=8).generatePop()
population = Algorithms("grammar_ANSI_C.bnf", initBNF=56).evolveWithGE(population, FitnessFunctions.griewank, gen=30, porcentSelect=0.2, staticSelection=100,validIndividuals=True, orderedByFitness=True)
population.showTopTen()

This is inspired in the work from Prof. Conor Ryan [1]

PyGEVO is still in an ALPHA stage

Primary Authors

Acknowledgements

References

[1] Conor Ryan, J. J. Collins, and Michael O’Neill. 1998. Grammatical Evolution: Evolving Programs for an Arbitrary Language. In EuroGP (Lecture Notes in Computer Science), Wolfgang Banzhaf, Riccardo Poli, Marc Schoenauer, and Terence C.Fogarty (Eds.), Vol. 1391. Springer, 83–96

About

Repository for PyGEVO, a pythonic framework for Grammatical Evolution

Resources

License

Stars

Watchers

Forks

Packages

No packages published