Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dakota Ewigman Jacob Zimmermann

Similar presentations


Presentation on theme: "Dakota Ewigman Jacob Zimmermann"— Presentation transcript:

1 Dakota Ewigman Jacob Zimmermann
Computer Chess Dakota Ewigman Jacob Zimmermann

2 History of Computer Chess
1950: “Programming a computer for Playing Chess” – Claude Shannon. 1951: Alan Turing writes first chess playing program (on paper). 1958: First computer program that can play a complete chess game. 1981: Cray Blitz wins a tournament and achieves master rating. 1989: Deep Thought loses 0-2 against World Champion, Kasparov. 1996: Deep Blue wins one game against Kasparov, but loses match 2 – 4. 1997: Upgraded Deep Blue wins 3.5 – 2.5 against Kasparov. 2006: Deep Fritz beats World Champion Kramnik 4 – 2.

3 Chess Chess is a game with a finite number of outcomes, and no outside input “Game of Complete Information” About possible outcomes Endgame Tablebases: All Endgames with 3-5 pieces have been determined already

4 Computer Chess: The Basics
Tree structure, nodes represent game states, and edges represent moves Possible states d moves deep is around 40d Position Evaluation Evaluates Position at Leaf Nodes Pruning removing branches which are likely a bad move. allow for deeper searches of the tree

5 Position Evaluation Many Factors Pieces Remaining Weighted
Piece Location King Safety Pawn Structure Checkmate Mobility

6 Minimax Assume Both players will play best moves, Maximize the computer’s score. Perform depth first search, selecting highest values for computer’s moves and lowest values for opponents moves

7 Minimax >=2 2 Computer Opponent <=2 2 <=1 1 Computer 2 7 1 8

8 Horizon Effect The inability of the computer to see past the “horizon”
Horizon is how deep the computer looks into the tree Computer cannot see that plays are dangerous if the danger happens past the horizon ex. being forced into losing a piece or missing out on a guaranteed capture

9 Progressive Deepening
b: branching factor d: depth of tree s: states to evaluate s=O(bd) If all states are evaluated: s=(bd+1-1)/(b-1) = O(bd) Helps re-order for Alpha-Beta pruning efficiency

10 Alpha-Beta Pruning Builds on the Minimax algorithm
Prunes branches that lead to lower quality board states Alpha and Beta are the bounds that determine the lowest and highest value board states to consider

11 Alpha-Beta Pruning >=2 2 Computer Opponent <=2 2 <=1 Computer
7 1

12 Alpha-Beta Complexity
Before: s=O(bd) After: Best case: s=O(2bd/2) Average(Experimentally): s=O(2bd/2) Worst Case: s=O(bd)

13 Negamax Similar to Alpha-Beta
Takes the maximum of the negatives in place of the minimum Removes the need for a min function

14 Negamax 2 Computer Opponent >=-2 -2 2 >=-1 1 Computer -2 -7 -1

15 Aspiration Search Addition to the Alpha-Beta algorithm
In this search, Alpha and Beta are preset to a narrow window based on the results of the previous iteration Advantage: it can remove more paths Disadvantage: May have to run multiple times if no path is found within the window

16 Quiescence Search Only evaluates states that are relatively “quiet”
Allows for deeper searches in “noisy” paths to see if the outcome is better.


Download ppt "Dakota Ewigman Jacob Zimmermann"

Similar presentations


Ads by Google