Adversarial Search: Section 1 - 4
Adversarial Search: Section 1 - 4
Chapter 6
Section 1 – 4
Outline
• Optimal decisions
• α-β pruning
• Imperfect, real-time decisions
Games vs. search problems
• "Unpredictable" opponent specifying a
move for every possible opponent reply
• Time limits unlikely to find goal, must
approximate
•
•
Game tree (2-player,
deterministic, turns)
Minimax
• Perfect play for deterministic games
• Idea: choose move to position with highest minimax
value
= best achievable payoff against best play
• E.g., 2-ply game:
•
•
•
Minimax algorithm
Properties of minimax
• Complete? Yes (if tree is finite)
• Optimal? Yes (against an optimal opponent)
• Time complexity? O(bm)
• Space complexity? O(bm) (depth-first exploration)
•
Why is it called α-β?
• α is the value of the
best (i.e., highest-
value) choice found
so far at any choice
point along the path
for max
• If v is worse than α,
max will avoid it
prune that branch
• Define β similarly for
min
»
The α-β algorithm
The α-β algorithm
Resource limits
Suppose we have 100 secs, explore 104
nodes/sec
106 nodes per move
Standard approach:
• cutoff test:
e.g., depth limit (perhaps add quiescence search)
• evaluation function
= estimated desirability of position
–
Evaluation functions
• For chess, typically linear weighted sum of features
Eval(s) = w1 f1(s) + w2 f2(s) + … + wn fn(s)
• e.g., w1 = 9 with
f1(s) = (number of white queens) – (number of black
queens), etc.
•
Cutting off search
MinimaxCutoff is identical to MinimaxValue except
1. Terminal? is replaced by Cutoff?
2. Utility is replaced by Eval