View on GitHub

ShallowRed

such chess

Download this project as a .zip file Download this project as a tar.gz file

Mid-Project Deliverables:

Code Review - Preparation and Framing

Background Information

     Min-max AI algorithms search through potential moves, looking as many moves ahead as they can in the allotted time. We explained this during our design review. This method is the basis for chess supercomputers like Deep Blue, which can compete with the best chess players in the world simply by looking farther into the game than people can predict. We, however, are examining neural networks, which study past games to learn how chess games usually play out, then they can use a simple, learned algorithm to choose moves efficiently, rather than brute forcing their way through many calculations on the spot. There are two methods of implementing neural networks in a chess AI. One is to use the network to evaluate a board state and output a move, therefore eliminating all foresight and using only information learned from past games. The other method is to continue using the min-max tree, but to replace the final evaluation function with a neural network function which calculates the value of each board at the bottom of the tree to decide on the final move. The first method has a more direct output and requires less time during the game, but it is much more difficult to implement. The second method is much simpler to implement because the output can be compared to a desired output in a binary fashion (random moves should always be worse than actual moves made), but it still uses the min-max tree, and is therefore limited by the time it is given during the actual game.

Key Questions

How should we incorporate neural networks into our AI?
Are there any inefficiencies in our current code?

Agenda

Review what we have done
Introduce our key questions
Explain our current code
Demo code
Discuss our two options for neural networks and open a discussios.