(translated by Google translator)
Hello, dear friends.
Oh, I've had a lot of trouble with this latest update.
The "Nature" Server and the "Snake AI" Client have not received any major changes.
"Nature" ID: RPSQ181.000-9
"Snake AI" ID: TJSG543.000-3
But the “Rabbit AI” in this version is already a completely new mutation. ID: XBWP716.000-4
The "Rabbit" of this mutation (mutation #2) has much more learning opportunity.
At the very beginning of training, “Rabbit” randomly selects one of 625 possible sequences of four actions.
If, after performing the selected sequence of actions, the “Rabbit” remains alive, then the rating of this sequence increases by 1.
If the "Rabbit" dies, the sequence rating is reduced by 5.
A sequence whose rating has become negative is removed from the list and is no longer used in the game.
This is how a “natural selection” of the best sequences is carried out.
When “Rabbit” has 10 of the best sequences left, then the “Rabbit” training level indicator will show the number 100% and training will stop.
It will be very interesting if these are the 10 best sequences for the survival of the "Rabbit" in the fight against this particular "Snake".
I think the set of best sequences will be different for the Snakes, which will differ in Intelligence.
And it’s also interesting how the level of the “Ratio” parameter will depend on the level of Intelligence of the “Snake”.
Now, "Ratio" has a value of about 20 eaten "Rabbits" per one dead "Snake" at the very beginning of the "Rabbit" training. And this value decreases as the "Rabbit" trains.
I have never reached 100% learning level yet.
To achieve this level, the program saves the game results in files in the "Rabbit" folder.
Remember that it is better to save and run Clients from separate folders.
When the Rabbit AI program starts, the program loads the saved results of the last session if the necessary files are present in the folder.
If there are no files, then the program will create new files for the new “Rabbit” and training will start from scratch.
In this way, you can move the files of an already trained rabbit to the archive and a new training of the “Rabbit” against some new “Snake” will begin. And the files of the trained “Rabbit” can be used when needed.