Skip to main content

The package for PyGEVO

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyGEVO-0.0.2.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PyGEVO-0.0.2-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

Details for the file PyGEVO-0.0.2.tar.gz.

File metadata

  • Download URL: PyGEVO-0.0.2.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.1

File hashes

Hashes for PyGEVO-0.0.2.tar.gz
Algorithm Hash digest
SHA256 4edd17df6240bc246521983f8131f44a42aa1e2ea30c9c0aef7a6e23c6470288
MD5 cdd18964af9681c182f04ebb1d5cc39f
BLAKE2b-256 8449c0035a8b455215edba7f036d87f2ea377f601e23609931b74352b6078f50

See more details on using hashes here.

File details

Details for the file PyGEVO-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: PyGEVO-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 37.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.1

File hashes

Hashes for PyGEVO-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fa3082eacd8911ac2972e8f87cd7d4f6e7ccd76baae2a125d4a87edbd9c460ab
MD5 327f12aec086e51c78d5ca0d284206d7
BLAKE2b-256 66715639d23df5dfaf85b2febcac601be1cde85a30935bf3f929ec38aaf1cfc4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page