Closed schrum2 closed 7 years ago
Currently, the Minimax play just looks like the OneStepEval player. I assume this was just a starting point that you intend to elaborate on, but if you need more guidance on the minimax player then let me know.
Create JUnit tests for this agent using the piece differential heuristic in othello. Once those are done, you can close this.
The JUnit Test Case for the Othello Minimax PieceDifferential BoardGamePlayer is working. The PieceDifferentialBoardGameHeuristic is functioning properly.
Create a general MinimaxSearchPlayer that is a BoardGamePlayer, and can work on ANY instance of BoardGame that you create. It will therefore need to be implemented in a very general fashion.
It will require some notion of heuristic function in order to operate. Therefore, a class named BoardGameHeuristic will need to be created. An instance of this can be sent to the constructor for MinimaxSearchPlayer.
Once basic minimax works, we can add alpha-beta pruning as well.
These are very common algorithms, and I believe you can see variations in both the microRTS codebase and the gvgai codebase.
I have also made some videos on the topic: https://youtu.be/uQkEyZlcx08?list=PLWi7UcbOD_0ttqb2OZlWhhLBzgdOySzvy