Presentation on theme: "Algorithms & Computer Chess A presentation by Zachary Fiskin Christopher Cruzen."— Presentation transcript:
Algorithms & Computer Chess A presentation by Zachary Fiskin Christopher Cruzen
What is computer chess? We define computer chess as the use of hardware and software design to create an autonomous (without human aid) chess player.
How smart is the computer? The computer you play is NOT “smart”. Most chess computers play the game blindly, without specific strategies or habits present. A typical human player might learn these over time, but the machine will not think in the same fashion. The computer is not limited to seeing only a number of possible moves at a time, but can see every possible move for a given turn.
Limited Knowledge If the computer can know all the moves possible, why is it that I can defeat it on my own machine? A computer only has so much memory. It, physically, can not remember every unique board state or combination of moves at one time. The number of board states is simply too astronomical.
Game Complexity Turn 1 White has a choice of any one of  moves to begin the game. (16 pawn moves + 4 knight moves) Black has the same number of options.   x  =  possible states
How the computer thinks A typical chess computer will save a library of game states in a tree type data structure. From each state, the tree branches off into every possible state to come from it. This results in a pseudo-complete map of every move in the game. Problem: How does the computer decide which of these moves works best in the current game?
Heuristics Definition: “Short-cuts for complex problem solving which don’t guarantee an optimal solution, but deliver a satisfactory result in a short time.” Two Primary Algorithms Forward Minmax with Alpha-Beta Pruning Endgame Theory
Forward Minmax with Alpha-Beta Pruning Traverses predefined height Evaluates each move Value assigned by set of factors Alpha-Beta Pruning Ignore low scores Increase time spent on ‘good’ moves
Endgame Theory A reversed approach to the opening is common. Instead of finding the best possible next-state for the game, the computer tries to find the current game-state through a series of moves from a desired end-state. This is simpler than the opening due to reduced piece count.
Pruning Methods 1.Transposition Tables Archiving move analysis for similar situations later in the game 2.Refutation Tables Archiving certain types of universally disadvantageous moves to save processing time for other possibilities 3.Pondering “Thinking” during the opponent’s turn