https://medium.com/@monocosmo77/how-multiagent-systems-behave-part2-advanced-machine-learning-a3ea7c92b91d