Professional Documents
Culture Documents
Lecture6 Adversarial Search
Lecture6 Adversarial Search
Lecture6 Adversarial Search
§ Pacman
1
Types of Games Deterministic Games
§ Many different kinds of games! § Many possible formalizations, one is:
§ States: S (start at s 0)
§ Axes: § Players: P={1...N} (usually take turns)
§ Deterministic or stochastic? § Actions: A (may depend on player / state)
§ One, two, or more players? § Transition Function: SxA S
§ Zero sum? § Terminal Test: S {t,f}
§ Perfect information (can you see the state)? § Terminal Utilities: SxP R
§ Want algorithms for calculating a strategy (policy) which recommends a § Solution for a player is a policy: S A
move from each state
8
8
2 0 … 2 6 … 4 6
2 0 … 2 6 … 4 6 Terminal States:
2
Adversarial Game Trees Minimax Values
States Under Agent’s Control: States Under Opponent’s Control:
-8 -5 -10 +8
Terminal States:
-20 -8 … -18 -5 … -10 +4 -20 +8
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
3
Minimax Example Minimax Properties
max
min
10 10 9 100
3 12 8 2 4 6 14 5 2
Video of Demo Min vs. Exp (Min) Video of Demo Min vs. Exp (Exp)
4
Game Tree Pruning Minimax Example
3 12 8 2 4 6 14 5 2
5
Alpha-Beta Quiz Alpha-Beta Quiz 2
§ 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
6
Video of Demo Thrashing -- Fixed (d=2) Evaluation Functions
Video of Demo Smart Ghosts (Coordination) Video of Demo Smart Ghosts (Coordination) – Zoomed In
7
Depth Matters Video of Demo Limited Depth (2)
§ Evaluation functions are always
imperfect
§ The deeper in the tree the
evaluation function is buried, the
less the quality of the evaluation
function matters
§ An important example of the
tradeoff between complexity of
features and complexity of
computation
Video of Demo Limited Depth (10) Synergies between Evaluation Function and Alpha-Beta?