All Projects → moshesipper → tiny_gp

moshesipper / tiny_gp

Licence: GPL-3.0 License
Tiny Genetic Programming in Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to tiny gp

goga
Go evolutionary algorithm is a computer library for developing evolutionary and genetic algorithms to solve optimisation problems with (or not) many constraints and many objectives. Also, a goal is to handle mixed-type representations (reals and integers).
Stars: ✭ 39 (-32.76%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms, evolutionary-algorithm, evolutionary-computation
GeneticAlgorithmForFeatureSelection
Search the best feature subset for you classification mode
Stars: ✭ 82 (+41.38%)
Mutual labels:  genetic-algorithm, genetic-programming, evolutionary-algorithms, evolutionary-algorithm
DeepHyperNEAT
A public python implementation of the DeepHyperNEAT system for evolving neural networks. Developed by Felix Sosa and Kenneth Stanley. See paper here: https://eplex.cs.ucf.edu/papers/sosa_ugrad_report18.pdf
Stars: ✭ 42 (-27.59%)
Mutual labels:  evolution, genetic-algorithm, evolutionary-computation
geneticalgorithm2
Supported highly optimized and flexible genetic algorithm package for python
Stars: ✭ 36 (-37.93%)
Mutual labels:  evolution, genetic-algorithm, evolutionary-algorithms
GeneticsJS
Evolutionary algorithms library for the web 🧬
Stars: ✭ 25 (-56.9%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms, evolutionary-computation
datafsm
Machine Learning Finite State Machine Models from Data with Genetic Algorithms
Stars: ✭ 14 (-75.86%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms, evolutionary-computation
evolvable
An evolutionary computation framework
Stars: ✭ 43 (-25.86%)
Mutual labels:  genetic-algorithm, evolutionary-algorithm, evolutionary-computation
opt4j
Modular Java framework for meta-heuristic optimization
Stars: ✭ 25 (-56.9%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms, evolutionary-algorithm
geppy
A framework for gene expression programming (an evolutionary algorithm) in Python
Stars: ✭ 124 (+113.79%)
Mutual labels:  genetic-programming, evolutionary-algorithm, evolutionary-computation
wargames
two soldiers shooting at each other, controlled by a neural network with a genetic algorithm.
Stars: ✭ 22 (-62.07%)
Mutual labels:  genetic-algorithm, genetic-programming
arja
Multi-Objective GP for Automated Repair of Java
Stars: ✭ 31 (-46.55%)
Mutual labels:  genetic-algorithm, genetic-programming
neuroevolution-robots
Neuroevolution demo through TensorFlow.js, Neataptic, and Box2D
Stars: ✭ 31 (-46.55%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
vita
Vita - Genetic Programming Framework
Stars: ✭ 24 (-58.62%)
Mutual labels:  genetic-programming, evolutionary-algorithms
evoli
Genetic Algorithm and Particle Swarm Optimization
Stars: ✭ 22 (-62.07%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
GARI
GARI (Genetic Algorithm for Reproducing Images) reproduces a single image using Genetic Algorithm (GA) by evolving pixel values.
Stars: ✭ 41 (-29.31%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
biteopt
Derivative-Free Optimization Method for Global Optimization (C++)
Stars: ✭ 91 (+56.9%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
evoplex
Evoplex is a fast, robust and extensible platform for developing agent-based models and multi-agent systems on networks. It's available for Windows, Linux and macOS.
Stars: ✭ 98 (+68.97%)
Mutual labels:  evolutionary-algorithms, evolutionary-computation
geneal
A genetic algorithm implementation in python
Stars: ✭ 47 (-18.97%)
Mutual labels:  genetic-algorithm, genetic-programming
zoofs
zoofs is a python library for performing feature selection using a variety of nature-inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics-based to Evolutionary. It's easy to use , flexible and powerful tool to reduce your feature size.
Stars: ✭ 142 (+144.83%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
TorchGA
Train PyTorch Models using the Genetic Algorithm with PyGAD
Stars: ✭ 47 (-18.97%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms

Tiny Genetic Programming in Python

A minimalistic program implementing Koza-style (tree-based) genetic programming to solve a symbolic regression problem.

tiny-gp.py is a basic (and fully functional) version, which produces textual output of the evolutionary progression and evolved trees.

tiny-gp-plus.py displays dynamic graphs of error and mean tree size (size = number of nodes), has a bloat-control option, and produces nicer, graphic output (you'll need to install https://pypi.org/project/graphviz/).

If you wish to cite this:

@misc{Sipper2019tinyGP,
  author = {Sipper, M.},
  title = {Tiny Genetic Programming in Python},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/moshesipper/tiny_gp} }
}
Symbolic Regression using GP
Objective Find an expression with one input (independent variable x), whose output equals the value of the quartic function x4 + x3 + x2 + x + 1
Function set add, sub, mul
Terminal set x, -2, -1, 0, 1, 2
Fitness Inverse mean absolute error over a dataset of 101 target values, normalized to [0,1]
Paremeters POP_SIZE (population size), MIN_DEPTH (minimal initial random tree depth), MAX_DEPTH (maximal initial random tree depth), GENERATIONS (maximal number of generations), TOURNAMENT_SIZE (size of tournament for tournament selection), XO_RATE (crossover rate), PROB_MUTATION (per-node mutation probability)
Termination Maximal number of generations reached or an individual with fitness = 1.0 found
Evolved solution Another evolved solution
GPTree GPTree2
Bloat control No bloat control
GP run GP run
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].