https://medium.com/@monocosmo77/behaviour-of-distribution-algorithms-part1-machine-learning-12fc31b5bf38