Group 1 : Ashutosh Pushkar Ameya Sudhir From
Motivation Game playing was one of the first tasks undertaken in AI Study of games brings us closer to : Machines capable of logical deduction Machines for making strategic decisions Analyze the limitations of machines to human thought process Games are an idealization of worlds World state is fully accessible Actions & outcomes are well-defined
Outline of the presentation Evaluation Functions Algorithms Deep Blue Conclusions from Deep Blue Conclusion References
Chess Neither too simple Nor too difficult for satisfactory solution Requires “thinking” for a skilled player Designing a chess playing program Perfect chess playing : INTRACTABLE Legal Chess : TRIVIAL Play tolerably good game : SKILLFULLY
Evaluation Function
Utility function Whole game tree is explored computationally expensive task !! Estimates the expected utility of a state Evaluation functions cut off the exploration depth by estimating whether a state will lead to a win or loss
Evaluation Function (cont.) A good evaluation function should not take too long Preserve ordering of the terminal states otherwise it will lead to bad decision making Consider strategic moves that lead to long term advantages
Evaluation Function (cont.) Typically includes : Material Advantage (difference in total material of both sides) f (P) = 200(k – k’) + 9(q – q’) + 5(r – r’) + 3(b – b’) + (p – p’) + g (P) + h (P) + … Positions of pieces Rook on open file double rooks rook on seventh rank etc. and their relative positions. Pawn Formation Mobility Evaluation function is an attempt to write a mathematical formula for intelligence
Algorithms
Games as Search Problems Initial states Where game starts Initial position in chess Successor function List of all legal moves from current position Terminal State Where the game is concluded Utility function Numeric value for all terminal states
Minimax Strategy
Optimal strategy Assumption : opponent plays his best possible move. An option is picked which Minimizes damage done by opponent Does most damage to the opponent Idea: For each node find minimum minimax value Choose the node with maximum of such values This will ensure best value against most damage done by opponent
Strategy of Minimax Opponent tries to reduce utility function’s value For any move made by opponent in reply of computer’s move, choose minimum reduced value by opponent Find the move with maximum such value
Analysis Algorithm is complete for complete tree only Not best strategy against irrational opponent According to definition Time complexity :O(b m ) b = max. no. of possible moves m = max. depth of tree In chess even in average case, b = 35 and m = 100 => time exceeds practical limits # of states grows exponentially as per number of moves played
α-β Pruning
The problem of minimax search # of state to examine: exponential in number of moves Returns same moves as minimax does Prunes away branches that can’t influence final decision. α: the value of the best (highest) choice so far in search of MAX β: the value of the best (lowest) choice so far in search of MIN Order of considering successor
Algorithm for α-β Pruning Current highest β is found and assigned as α β is current lowest for α’s from that move For next possible node, while finding β, if some α is found lower than current highest β: It will only give lesser value of final β S0, other α’s are not found for that node After calculating β for this node, α is replaced by max(α,β for this node) In this way after all possible set of moves final value of α is found
α-β Pruning (2) If m is better than n for Player, we will never get to n in play and just prune it.
Analysis of α-β Pruning: Does not affect final results Worthwhile to examine that successor first which is likely to be best Time complexity: O(b (m/2) ) Effective branching factor = √b i.e. 6 rather than 35 In case of random ordering : Total number of nodes examined is of the order O(b^ (3m/4) ) Improvement over minimax algorithm
Transposition table Dynamic programming Multiple paths to the same position Savings through memorization Use a hash table of evaluated positions
Iterative Deepening Sometime chess is played under a strict time Depth of search depend on time Use of Breadth first Search Advantage : program know which move was best at previous level
Horizon Effect Problem with fixed depth search Positive Horizon Effect Negative horizon effect
Quiescence Search Search till “quiet” position Quiet Position Doesn’t affect the current position so much Example : no capture of any piece, no check, no pawn promotions/threats
State of the art : DEEP BLUE
Defeats Gary Kasparov Won a match in 1997 Brute force computing power Massive, parallel architecture Special purpose hardware for chess Parameters of the evaluation function Learnt by studying many master games Different evaluation function for different positions Utilized heavily loaded endgame databases
Humans vs. Computers HumansComputers Lower Computational SpeedHigher Errors PossibleError Free Tend to be instinctiveNo instincts ImaginativeNone High Learning CapabilitiesLimited InductiveNot Inductive
Some intricacies of a chess playing system Should not play the same sequence of moves again A player wins a match against the computer Starts playing the same sequence of moves Hence, a statistical element is required Opponent can learn the algorithm used by computer Hence, again the need for a statistical element Different game play during different phases Start Game Mid Game End Game
Conclusion Computer chess as a search problem Good enough decisions Simulation of “skill” by “knowledge” Limitations of computers to humans Future work : Better evaluation functions through learning Need for different AI techniques to play chess
References Claude E. Shannon: Programming a Computer for Playing Chess, Philosophical Magazine, Ser.7, Vol. 41, No. 314, March S.Russel & P. Norvig: Artificial Intelligence: A Modern Approach 2/E, Prentice Hall, ISBN-10: Wikipedia
Thank You