Comments (1)
Hi, you can find details in this file. Nonetheless, I will make some brief explanation below.
- The first step is selection.
N
individuals are chosen as the offspring. Then, we apply mutation and crossover to the offspring. - You can see from the
_apply_crossover
here that the recombination is not done for each possible pair of individuals (i.e., no permutation). Instead, crossover only happens between individuals 0 and 1, 2 and 3, 4 and 5, ..., in a sequential way (subject to the crossover probability). If, say, individuals A and B are recombined into two children A' and B', then A and B are replaced by A' and B' immediately in the offspring population. - In the final offspring, if an individual is produced by mutation or crossover, then its fitness is labeled invalid and will be evaluated in the next generation (see this line). By contrast, if an individual is simply a copy of an original one, then there is no need to evaluate it again to reduce computational cost. Thus, the
neval
is just the number of invalid children that need reevaluation, which keeps changing among generations. If you are writing a paper and want to analyze the time complexity, simply viewneval
asN
in the big-O notation.
from geppy.
Related Issues (20)
- How can I add functions such as SQRT, EXP, X^2, POW, INV, LN in my code of Gene Expression Programming HOT 3
- after add function of log, problems occured to visualize HOT 6
- How can I run the setup.py HOT 3
- how to generate all the expressions on a given primitive set? HOT 6
- how to assign some illegal operation which would not be search HOT 7
- what is the difference of GP and GEP in Engineering(running)? HOT 4
- Any settings or solutions for 'De-duplication' in the Hall of Fame? HOT 4
- If I changed your source code a littile, is it right to re-install from source again? HOT 2
- question: limit function parameter to const integers HOT 4
- Save an individual, or how to create an individula knowing its expression HOT 2
- How how can I know that geppy converges
- Support types if input and output of functions HOT 1
- raise TypeError, ("Both weights and assigned values must be a "
- possible to use computer programming language to modify gene of human
- question about "minimize" HOT 1
- Questions about using numba to speed up evaluation functions HOT 1
- GPU acceleration HOT 1
- Modifying the number of genes in GEP code produces error HOT 2
- Modifying the number of genes in GEP code produces error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from geppy.