schrum2 / MM-NEATv2

MM-NEAT version 2.0 is no longer supported. Please get MM-NEAT 3+ from https://github.com/schrum2/MM-NEAT
Other
11 stars 5 forks source link

Randomness in minimax choices #390

Closed schrum2 closed 7 years ago

schrum2 commented 7 years ago

Playing against deterministic opponents poses some problems for evolution, because the resulting fitness may indicate that the agent is successful, while in reality it has simply "over fit" its behavior in order to deal with the specific sequence of moves that the deterministic player used. The evolved player may have major weaknesses when it comes to other board states.

This problem can be mitigated by the use of randomness during evolution in the moves that are chosen.

Pick a research paper that seems to deal with this issue in an intelligent manner, and implement the approach of that paper in our code. As usual, this change should be optional, and controlled by command line parameters (if I want to evolve deterministic agents the way we were doing before, I should still be able to).

Whatever paper you choose should be cited and linked to both in this git hub issue and also in the comments of the code itself.

DarwinJohnson commented 7 years ago

The Minimax Player now has a parameter controlling the chance that the Agent chooses a random legal Move as opposed to the best possible Move. This parameter is called minimaxRandomChance, and its default is 0. The method implemented is based on Temporal Difference Learning Versus Co-Evolution for Acquiring Othello Position Evaluation by Simon Lucas and Thomas Runarsson. The paper is in the Artifacts Drive and can be found at this link: http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=10AB4B0966FEE51BE133255498065C42?doi=10.1.1.580.8400&rep=rep1&type=pdf

DarwinJohnson commented 7 years ago

Is there anything else that needs to be done before this Issue can be closed?

schrum2 commented 7 years ago

Nope! I'll close it.