![]() ![]() The position would then be evaluated and recorded. For each legal move for the position given, for a given depth, a random move would be made. I would train a deep neural network based on the evaluation made by the Stockfish algorithm from a dataset. I found out that putting two of the algorithms together would yield great results. However, I found that the heuristic values that my algorithm calculated were largely inaccurate and had no foresight for more complex tactics or positional advantages. I then wrote a search algorithm that used Monte Carlo methods by picking random moves after a recorded first move. The second method I used was manually creating a heuristic algorithm from scratch that took numerical measures of the board and calculated a numerical value that was the score of the board. It would be far too easy for the computer to make illegal moves, that is, moves that are not possible on the board configuration, making training learning legal moves before best moves, which would significantly slow down convergence. The first method I used was to convert chess moves and chess boards into one-hot encoding, and then using these values to train a deep neural network to come up with the best move, when given a certain board. Over the past few weeks I have tried two distinct approaches to create a chess algorithm that can play with great strategic depth without looking too far ahead and blundering.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |