An eye for eye only ends up making the whole world blind. -Mohandas Karamchand Gandhi, born October 2 nd, Lecture of October 2 nd, 2001
Sunday, May 11 th, 1997 What makes DeepBlue Tick?
Game Playing (Adversarial Search)
2 <= 2 Cut 14 <= 14 5 <= 5 2 <= 2 Whenever a node gets its “true” value, its parent’s bound gets updated When all children of a node have been evaluated (or a cut off occurs below that node), the current bound of that node is its true value Two types of cutoffs: If a min node n has bound =l, then cutoff occurs as long as l >=k If a max node n has bound >=k, and a min ancestor of n, say m, has a bound <=l, then cutoff occurs as long as l <=k
Von Neuman (Min-Max theorem) Claude Shannon (finite look-ahead) Chaturanga, India (~550AD) (Proto-Chess) John McCarthy ( pruning) Donald Knuth ( analysis) Lecture of 4 th October, 2001
Searching Tic Tac Toe using Minmax
Click for an animation of Alpha-beta search in action on Tic-Tac-Toen animation of Alpha-beta search in action on Tic-Tac-Toe
Evaluation Functions: TicTacToe If win for Max +infty If lose for Max -infty If draw for Max 0 Else # rows/cols/diags open for Max - #rows/cols/diags open for Min
Why is “deeper” better? Possible reasons –Taking mins/maxes of the evaluation values of the leaf nodes improves their collective accuracy –Going deeper makes the agent notice “traps” thus significantly improving the evaluation accuracy All evaluation functions first check for termination states before computing the non-terminal evaluation
RTA* Sn m k G S n m G=1 H=2 F=3 G=1 H=2 F=3 k G=2 H=3 F=5 infty --Grow the tree to depth d --Apply f-evaluation for the leaf nodes --propagate f-values up to the parent nodes f(parent) = min( f(children))
Multi-player Games