Professional Documents
Culture Documents
Artificial Intelligence
Contributors
2
Game Playing State-of-the-Art
▪ Checkers: 1950: First computer player. 1994: First
computer champion: Chinook ended 40-year-reign
of human champion Marion Tinsley using complete
8-piece endgame. 2007: Checkers solved!
▪ Pacman
Behavior from Computation
Adversarial Games
Types of Games
▪ Many different kinds of games!
▪ Axes:
▪ Deterministic or stochastic?
▪ One, two, or more players?
▪ Zero sum?
▪ Perfect information (can you see the state)?
9
Deterministic Games
▪ Many possible formalizations, one is:
▪ States: S (start at s0)
▪ Players: P={1...N} (usually take turns)
▪ Actions: A (may depend on player / state)
▪ Transition Function: SxA → S
▪ Terminal Test: S → {t,f}
▪ Terminal Utilities: SxP → R
2 0 … 2 6 … 4 6
Value of a State
Value of a state: Non-Terminal States:
The best achievable
outcome (utility)
from that state
2 0 … 2 6 … 4 6
Terminal States:
Adversarial Game Trees
-8 -5 -10 +8
Terminal States:
Tic-Tac-Toe Game Tree
tictactoe – 9!=362880 terminal nodes
Adversarial Search (Minimax)
▪ Deterministic, zero-sum games: Minimax values:
computed recursively
▪ Tic-tac-toe, chess, checkers
▪ One player maximizes result 5 max
▪ The other minimizes result
2 5 min
▪ Minimax search:
▪ A state-space search tree
▪ Players alternate turns
8 2 5 6
▪ Compute each node’s minimax value:
the best achievable utility against a
Terminal values:
rational (optimal) adversary part of the game
Minimax algorithm
▪ Minimax algorithm
▪ Perfect play for deterministic, 2-player game
▪ Max tries to maximize its score
▪ Min tries to minimize Max’s score (Min)
▪ Goal: Max to move to position with highest minimax value
→ Identify best achievable payoff against best play
19
Minimax Implementation
3 12 8 2 4 6 14 5 2
Minimax Properties
max
min
10 10 9 100
3 12 8 2 4 6 14 5 2
Minimax Pruning
3 12 8 2 14 5 2
Alpha-Beta Pruning
MAX
MIN a
MAX
MIN n
Alpha-Beta Pruning
▪ General configuration (MIN version)
▪ We’re computing the MIN-VALUE at some node n MAX
▪ We’re looping over n’s children
▪ n’s estimate of the childrens’ min is dropping MIN a
▪ Who cares about n’s value? MAX
▪ Let a be the best value that MAX can get at any choice
point along the current path from the root
▪ If n becomes worse than a, MAX will avoid it, so we can MAX
stop considering n’s other children (it’s already bad
enough that it won’t be played) MIN n
max
min
10 10 0
Alpha-Beta Pruning Properties
▪ This pruning has no effect on minimax value computed for the root!
▪ Book Moves: for some parts of the game (especially initial and end moves),
keep a catalog of best moves to make.
37
Alpha-Beta Quiz
Alpha-Beta Quiz 2
Resource Limits
Resource Limits
▪ Problem: In realistic games, cannot search to leaves! 4 max
▪ Example:
▪ Suppose we have 100 seconds, can explore 10K nodes / sec
▪ So can check 1M nodes per move
▪ - reaches about depth 8 – decent chess program