lua,genetic-algorithm,genetic-programming

Here is my quick implementation of k-point crossover for integers using mostly integer arithmetic. Starting with this, you can extend it to crossover your chromosomes of many pairs of integers using a loop. math.randomseed(111) -- math.randomseed(os.time()) a = 12345 b = 67890 len = 5 -- number of digits function...

selection,genetic-algorithm,genetic-programming,roulette-wheel-selection

Roulette wheel selection (aka Fitness proportionate selection) The fitness is used to associate a probability of selection to each individual. If fi is the fitness of individual i in the population, its probability of being selected is: pi = fi / Σ j(fj) for j = 1 … N (N...

java,algorithm,function,genetic-programming,convergence

I don't have the time to dig into your code but I'll try to answer from what I remember on GAs: Sometimes I will give it points that will never produce a function, or will sometimes produce a function. It can even depend on how deep the initial trees are....

artificial-intelligence,evolutionary-algorithm,genetic-programming

Genetic Progamming in its pure form works with a set of nonterminals (NTs) and terminals (Ts). The NTs are usually operators, functions, etc., while Ts are usualy variables, constants, or you can look at those as zero-arity functions. When you do crossover, you pick a subtree in each parent and...

algorithm,function,haskell,functional-programming,genetic-programming

So let's simplify. You want a function such that f 1 = 10 f 2 = 3 f 3 = 8 There exists a formula for immediately finding a polynomial function which meets these demands. In particular f x = 6 * x * x - 25 * x +...

machine-learning,genetic-algorithm,evolutionary-algorithm,genetic-programming

Well, that's tricky. Genetic programming (the original Koza-style GP) is best suited for functional-style programming, i.e. there is no internal execution state and every node is a function that returns (and maybe takes) values, like lisp. That is a problem when the node is some loop - it is not...

python,bytecode-manipulation,genetic-programming

PEP330 Python Bytecode Verification Python-Bytecode-Verifier 0.1 Both outdated, the first one without code (at least I can't find) but may be useful to give an idea of what/how can be done and what are the limitations. perfectly valid bytecode can still do horrible things ...

algorithm,genetic-algorithm,genetic-programming,mutation

Essentially it's how far a mutation can be away from the last value. "As far as real-valued search spaces are concerned, mutation is normally performed by adding a normally distributed random value to each vector component. The step size or mutation strength (i.e. the standard deviation of the normal distribution)...