csce 580 artificial intelligence ch.6: adversarial search

31
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Ch.6: Adversarial Search Fall 2008 Marco Valtorta [email protected]

Upload: erica

Post on 21-Jan-2016

51 views

Category:

Documents


1 download

DESCRIPTION

CSCE 580 Artificial Intelligence Ch.6: Adversarial Search. Fall 2008 Marco Valtorta [email protected]. Acknowledgment. The slides are based on the textbook [AIMA] and other sources, including other fine textbooks and the accompanying slide sets The other textbooks I considered are: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

CSCE 580Artificial Intelligence

Ch.6: Adversarial Search

Fall 2008Marco Valtorta

[email protected]

Page 2: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Acknowledgment• The slides are based on the textbook [AIMA] and

other sources, including other fine textbooks and the accompanying slide sets

• The other textbooks I considered are:– David Poole, Alan Mackworth, and Randy

Goebel. Computational Intelligence: A Logical Approach. Oxford, 1998

• A second edition (by Poole and Mackworth) is under development. Dr. Poole allowed us to use a draft of it in this course

– Ivan Bratko. Prolog Programming for Artificial Intelligence, Third Edition. Addison-Wesley, 2001

• The fourth edition is under development– George F. Luger. Artificial Intelligence:

Structures and Strategies for Complex Problem Solving, Sixth Edition. Addison-Welsey, 2009

Page 3: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Outline

• Optimal decisions• α-β pruning• Imperfect, real-time decisions

Page 4: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Games vs. search problems

• "Unpredictable" opponent specifying a move for every possible opponent reply

• Time limits unlikely to find goal, must approximate

Page 5: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Game tree (2-player, deterministic, turns)

Page 6: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Minimax• Perfect play for deterministic games• Idea: choose move to position with highest minimax

value = best achievable payoff against optimal play

• E.g., 2-ply (=1-move) game:

Page 7: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Minimax algorithm

Page 8: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

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)

(O(m) if successors are generated one-at-a-time, as in backtracking)

• For chess, b ≈ 35, m ≈100 for “reasonable” games exact solution completely infeasible

Page 9: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

α-β pruning example

Page 10: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

α-β pruning example

Page 11: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

α-β pruning example

Page 12: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

α-β pruning example

Page 13: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

α-β pruning example

Page 14: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Alpha-Beta Example Using Intervals

[-∞, +∞]

[-∞,+∞]

Range of possible values

Do DF-search until first leaf

Page 15: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Alpha-Beta Example (continued)

[-∞,3]

[-∞,+∞]

Page 16: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Alpha-Beta Example (continued)

[-∞,3]

[-∞,+∞]

Page 17: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Alpha-Beta Example (continued)

[3,+∞]

[3,3]

Page 18: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Alpha-Beta Example (continued)

[-∞,2]

[3,+∞]

[3,3]

This node is worse for MAX

Page 19: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Alpha-Beta Example (continued)

[-∞,2]

[3,14]

[3,3] [-∞,14]

,

Page 20: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Alpha-Beta Example (continued)

[−∞,2]

[3,5]

[3,3] [-∞,5]

,

Page 21: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Alpha-Beta Example (continued)

[2,2][−∞,2]

[3,3]

[3,3]

Page 22: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Alpha-Beta Example (continued)

[2,2][-∞,2]

[3,3]

[3,3]

Page 23: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Properties of α-β• Pruning does not affect final result

• Good move ordering improves effectiveness of pruning

• With "perfect ordering," time complexity = O(bm/2) doubles depth of search

• A simple example of the value of reasoning about which computations are relevant (a form of metareasoning)

Page 24: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

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

Page 25: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

The α-β algorithm

Page 26: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

The α-β algorithm

Page 27: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

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

Page 28: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

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.

Page 29: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Cutting off searchMinimaxCutoff is identical to MinimaxValue

except1. Terminal? is replaced by Cutoff?2. Utility is replaced by Eval

Does it work in practice?bm = 106, b=35 m=4

4-ply lookahead is a hopeless chess player!– 4-ply ≈ human novice– 8-ply ≈ typical PC, human master– 12-ply ≈ Deep Blue, Kasparov

Page 30: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Deterministic games in practice

• Checkers: Chinook ended 40-year-reign of human world champion Marion Tinsley in 1994. Used a precomputed endgame database defining perfect play for all positions involving 8 or fewer pieces on the board, a total of 444 billion positions– Jonathan Schaeffer at the department of CS of the University of

Alberta showed that checkers is a forced draw: perfect players cannot defeat each other (http://www.cs.ualberta.ca/~chinook/)

• Chess: Deep Blue defeated human world champion Garry Kasparov in a six-game match in 1997. Deep Blue searches 200 million positions per second, uses very sophisticated evaluation, and undisclosed methods for extending some lines of search up to 40 ply

• Othello: human champions refuse to compete against computers, who are too good

• Go: human champions refuse to compete against computers, who are too bad. In go, b > 300, so most programs use pattern knowledge bases to suggest plausible moves

Page 31: CSCE 580 Artificial Intelligence Ch.6: Adversarial Search

UNIVERSITY OF SOUTH CAROLINAUNIVERSITY OF SOUTH CAROLINADepartment of Computer Science and

Engineering

Department of Computer Science and Engineering

Summary

• Games are fun to work on!• They illustrate several important points

about AI• perfection is unattainable must

approximate• good idea to think about what to think

about