... | ... | @@ -156,7 +156,15 @@ The fitness of our population is much worse than the fitness of the exhaustive p |
|
|
|
|
|
### Technical note
|
|
|
|
|
|
Tree generation is implemented in the class `Node` and in its wrapper class `Breaker`. Playing a game for a given code is implemented in `followPath()` and `buildPath()` methods. Using the characteristic vector of the `used` codes in the first phase and the list of `unused` vectors in the second phase, a game is played in $`O(M)`$ time. Thus the tree is constructed in $`O(M^2)`$ time. The post-processing takes place in `shrink()` and `triangleOpt()` methods. The sketch `random_breaker` generates and draws a random breaker at each mouse click. The sketch `random_population` computes the data for the table above.
|
|
|
Tree generation is implemented in the class `Node` and in its wrapper class `Breaker`. Playing a game for a given code is implemented in `followPath()` and `buildPath()` methods. Using the characteristic vector of the `used` codes in the first phase and the list of `unused` codes in the second phase, a game is played in $`O(M)`$ time. Thus the tree is constructed in $`O(M^2)`$ time. The post-processing takes place in `shrink()` and `triangleOpt()` methods. The sketch `random_breaker` generates and draws a random breaker at each mouse click. The sketch `random_population` computes the data for the table above.
|
|
|
|
|
|
## Crossover
|
|
|
|
|
|
Coming soon
|
|
|
|
|
|
![Crossover](crossover.png)
|
|
|
|
|
|
Coming soon ...
|
|
|
|
|
|
# References
|
|
|
|
... | ... | |