Big rewrite of the gene encoding and manipulation logic from using Booleans to u64 blocks with all the dependent components updated as well to this new approach.
These changes bring almost a 2x speedup in the example test case and a decrease in memory usage.
Changes
- Chromosome now uses
Vec<u64>
instead ofVec<bool>
- Updated serde of Polynomial to the new form
- Updated GA logic (mainly crossover) to use new way of operating on the genes
- Minor refactorizations