https://medium.com/@monocosmo77/behaviour-of-distribution-algorithms-part2-machine-learning-8bde6ac29894