Create a C++ implementation of a 2D machine learning test environment for "genetic" machine learning.
During this development process I would like to create different scenarios for a "Snake" to attempt to achieve specific goals. Initially There will just be a simple maze, with a singular food source in place. The Snake will have a limited "life-time" before it must reach its food source. The snake will be able to move forward (most easily), left, right, and backwards (very difficultly). I have yet to determine the "senses" that the snake will have. Perhaps I will create a limited field of view around the snakes head. I have previously seen the use of a fixed number of strait line sensors, I would like to take a different approach. Also, I would like to include the ability for the algorithm to adjust the number of neurons it has available.
Cooperative learning/shared insite. By this I mean that I will be implimenting a form of communication between either a fixed or random number of snakes in one enviroment. They will not only share their aquired data (sort of procreation) but they will also cooperate in the sense that if one locates the food source, they will inform the group. I would like to observe the dynamics of a sort of teamwork.