https://medium.com/@monocosmo77/how-evolutionary-computation-works-part2-machine-learning-3a374153f69b