A floating point “Bit” climber
Randomly generate and evaluate a float string
Compute ? and ? based on each gene’s probabilities (a gene is a group of bits, say 10)
Until stopping criteria satisfied:
- Select a single string position, i
- Generate a mutation value as N(?, ?)
- Add mutation value to string(i)
- Evaluate the new string
- If fitness is worse, undo the mutation
- Else, recompute ? and ? for that gene
- If count exceeds a threshhold, rerandomize the string
10x faster than other bit climbers tested (2000x faster than original solution)