7 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)For chess, b ≈ 35, m ≈100 for "reasonable" games exact solution completely infeasible
8 More than two players3 players: utility(s) is a vector <u1, u2, u3> representing the value of state s for p1, p2, p3
14 Properties of α-β Pruning does not affect final result Good move ordering improves effectiveness of pruningWith "perfect ordering," time complexity = O(bm/2) doubles depth of searchA simple example of the value of reasoning about which computations are relevant (a form of metareasoning)
15 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 maxIf v is worse than α, max will avoid it prune that branchDefine β similarly for min
18 Resource limits – imperfect real-time decisions Suppose we have 100 secs, explore 104 nodes/sec 106 nodes per moveStandard approach:cutoff test:e.g., depth limit (perhaps add quiescence search)evaluation function Eval(s)= estimated desirability of position s
19 Cutting off search H-Minimax is identical to Minimax except Terminal? is replaced by Cutoff?Utility is replaced by EvalDoes it work in practice?bm = 106, b=35 m=44-ply lookahead is a hopeless chess player!4-ply ≈ human novice8-ply ≈ typical PC, human master12-ply ≈ Deep Blue, Kasparov
20 Eval(s) = w1 f1(s) + w2 f2(s) + … + wn fn(s) Evaluation functionsFor chess, typically linear weighted sum of featuresEval(s) = w1 f1(s) + w2 f2(s) + … + wn fn(s)e.g., w1 = 9 withf1(s) = (number of white queens) – (number of black queens), etc.
21 How to get a good evaluation function Get good features (patterns, counts of pieces, etc.)Find good ways to combine the features (linear combination? Non-linear combination?)Machine learning could be used to learnNew featuresGood ways (or good coefficients, like w1, …, wn) to combine the known features
22 Search versus look-upGame playing programs often use table look-ups (instead of game tree search) for:Opening moves – good moves from game books, human expert experienceEnd-game (when there are a few pieces left)For chess: tables for all end-games with at most 5 pieces are available (online)
23 Deterministic games in practice Checkers: Chinook ended 40-year-reign of human world champion Marion Tinsley in 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 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.