120 likes | 214 Views
For Monday. Read chapter 7, sections 1-4 Homework: Chapter 4, exercise 1 Chapter 5, exercise 9. Program 1. Any questions?. Alpha-Beta Pruning. Concept: Avoid looking at subtrees that won’t affect the outcome
E N D
For Monday • Read chapter 7, sections 1-4 • Homework: • Chapter 4, exercise 1 • Chapter 5, exercise 9
Program 1 • Any questions?
Alpha-Beta Pruning • Concept: Avoid looking at subtrees that won’t affect the outcome • Once a subtree is known to be worse than the current best option, don’t consider it further
General Principle • If a node has value n, but the player considering moving to that node has a better choice either at the node’s parent or at some higher node in the tree, that node will never be chosen. • Keep track of MAX’s best choice () and MIN’s best choice () and prune any subtree as soon as it is known to be worse than the current or value
function Max-Value (state, game, ,) returns the minimax value of state if Cutoff-Test(state) then return Eval(state) for each s in Successors(state) do <- Max(, Min-Value(s , game, ,)) if >= then return end return function Min-Value(state, game, ,) returns the minimax value of state if Cutoff-Test(state) then return Eval(state) for each s in Successors(state) do <- Min(,Max-Value(s , game, ,)) if <= then return end return
Effectiveness • Depends on the order in which siblings are considered • Optimal ordering would reduce nodes considered from O(bd) to O(bd/2)--but that requires perfect knowledge • Simple ordering heuristics can help quite a bit
Chance • What if we don’t know what the options are? • Expectiminimax uses the expected value for any node where chance is involved. • Pruning with chance is more difficult. Why?
Imperfect Knowledge • What issues arise when we don’t know everything (as in standard card games)?
State of the Art • Chess – Deep Blue, Hydra, Rybka • Checkers – Chinook (alpha-beta search) • Othello – Logistello • Backgammon – TD-Gammon (learning) • Go • Bridge • Scrabble