300 likes | 422 Vues
This lecture from EE562 at the University of Washington, led by Professor Jeff A. Bilmes, explores crucial concepts in game playing and adversarial search in artificial intelligence. Key topics include optimal decision-making, α-β pruning techniques, and strategies for handling unpredictable opponents. The lecture reviews historical advances in computer game theory, the minimax algorithm, and evaluation functions critical for determining optimal moves in deterministic games like chess and checkers. Expect new homework and further reading on chapters 6 and 7 as the course progresses.
E N D
EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS Lecture 9, 5/4/2005 University of Washington, Department of Electrical Engineering Spring 2005 Instructor: Professor Jeff A. Bilmes EE562
Material • Reading: Read chapters 6 • Read chapter 7 (for Monday). • expect new homework on Monday (this will be a long one). • Today’s lecture covers chapter 6. • Announcements: Still working on makeup class times. Send me email if you haven’t already for Friday schedules. EE562
Outline • Optimal decisions • α-β pruning • Imperfect, real-time decisions EE562
Games vs. search problems • "Unpredictable" opponent solution is a strategy specifying a move for every possible opponent reply • Time limits unlikely to find goal, must approximate • History: • Computer considers possible lines of play (Babbage, 1846) • Algorithm for perfect play (Zermelo, 1912; Von Neumann, 1944) • Finite horizon, approximate evaluation (Zuse, 1945; Wiener, 1948; Shannon, 1950) • First Chess Program (Turing, 1951) • Machine learning to improve evaluation accuracy (Samuel, 1952-57) • Pruning to allow deeper search (McCarthy, 1956) EE562
Types of Games EE562
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 (ply == move by one player): EE562
Minimax algorithm EE562
Properties of minimax • Complete? Yes, if tree is finite. Finite strategy can exist even if tree is infinite. • Optimal? Yes (against an optimal opponent). • for sub-optimal opponent, better strategies might exist. • Time complexity? O(bm) • Space complexity? O(bm) (depth-first exploration) • For chess, b ≈ 35, m ≈100 for "reasonable" games exact solution completely infeasible. • But do we need to explore every path? EE562
α-β pruning example EE562
α-β pruning example EE562
α-β pruning example EE562
α-β pruning example EE562
α-β pruning example EE562
α 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 Why is it called α-β? EE562
The α-β algorithm EE562
The α-β algorithm EE562
Properties of α-β • Pruning does not affect final result • Good move ordering improves effectiveness of pruning • With "perfect ordering," time complexity = O(bm/2) doubles the solvable tractable depth of search • A simple example of the value of reasoning about which computations are relevant (a form of metareasoning) • For chess, 3550 is still impossible! EE562
Resource limits Standard approach: • cutoff test: use a cutoff-test rather than a terminal-test. e.g., depth limit (perhaps add quiescence search) quiescence == stop when nothing is going to make drastic changes (e.g., taking a queen) • evaluation function: use Eval instead of Utility = eval estimates desirability of position (but is a heuristic, since the exact true evaluation requires a full search) Suppose we have 100 secs to move, can explore 104 nodes/sec106nodes per move ¼ 358/2 - reaches depth 8, relatively good chess program EE562
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. EE562
Exact values don’t’ matter Behavior is preserved under any monotonic transformation of Eval function. Only the order matters: payoff in deterministic games acts as an ordinal utility function (in game theory) EE562
Cutting off search MinimaxCutoff is identical to MinimaxValue except • Terminal? is replaced by Cutoff? • 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 EE562
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. • 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. EE562
Non-Deterministic games in general • In nondeterministic games, chance is introduced by dice, card-shuffling, or coin flipping. In these cases, we have search nodes for “chance” which can be seen as a random player in the game. In the coin case: EE562
Algorithm for non-deterministic games • Expectedminimax gives perfect play • Just like Minimax, except we also handle chance nodes. EE562
non-deterministic games in practice • Dice rolls increase b: 21 possible rolls with 2 dice • Backgammon ¼ 20 legal moves (can be 6000 with 1-1 roll). • depth 4 = 20(21*20)3¼ 1.2 £ 109 • As depth increases, probability of reaching given node shrinks value of lookahead is diminished • - pruning much less effective. • TDGammon: uses depth-2 search + very good Eval (learned automatically), world champion level EE562
Exact values DO matter. • Behavor is preserved only by positive linear transformation of Eval • Hence, Eval should be proportional to expected payoff. EE562
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 EE562