Check to Checkmate !
description
Transcript of Check to Checkmate !
![Page 1: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/1.jpg)
Group 1 :
AshutoshPushkar
AmeyaSudhir
From
![Page 2: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/2.jpg)
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
![Page 3: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/3.jpg)
Outline of the presentation
Evaluation Functions Algorithms Deep Blue Conclusions from Deep Blue Conclusion References
![Page 4: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/4.jpg)
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
![Page 5: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/5.jpg)
Evaluation Function
![Page 6: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/6.jpg)
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
![Page 7: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/7.jpg)
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
![Page 8: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/8.jpg)
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
![Page 9: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/9.jpg)
![Page 10: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/10.jpg)
Algorithms
![Page 11: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/11.jpg)
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
![Page 12: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/12.jpg)
Minimax Strategy
![Page 13: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/13.jpg)
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
![Page 14: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/14.jpg)
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
![Page 15: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/15.jpg)
![Page 16: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/16.jpg)
Analysis
Algorithm is complete for complete tree only
Not best strategy against irrational opponent According to definition
Time complexity :O(bm) 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
![Page 17: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/17.jpg)
α-β Pruning
![Page 18: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/18.jpg)
α-β 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
![Page 19: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/19.jpg)
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
![Page 20: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/20.jpg)
![Page 21: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/21.jpg)
α-β Pruning (2)
If m is better than n for Player, we will never get to n in playand just prune it.
![Page 22: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/22.jpg)
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
![Page 23: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/23.jpg)
Transposition table
Dynamic programming Multiple paths to the same position Savings through memorization Use a hash table of evaluated positions
![Page 24: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/24.jpg)
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
![Page 25: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/25.jpg)
Horizon Effect
Problem with fixed depth search
Positive Horizon Effect
Negative horizon effect
![Page 26: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/26.jpg)
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
![Page 27: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/27.jpg)
State of the art : DEEP BLUE
![Page 28: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/28.jpg)
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
![Page 29: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/29.jpg)
Humans vs. Computers
Humans Computers
Lower Computational Speed Higher
Errors Possible Error Free
Tend to be instinctive No instincts
Imaginative None
High Learning Capabilities Limited
Inductive Not Inductive
![Page 30: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/30.jpg)
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
![Page 31: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/31.jpg)
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
![Page 32: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/32.jpg)
References
Claude E. Shannon: Programming a Computer for Playing Chess, Philosophical Magazine, Ser.7, Vol. 41, No. 314, March 1950.
S.Russel & P. Norvig: Artificial Intelligence: A Modern Approach 2/E, Prentice Hall, ISBN-10: 0137903952
Wikipedia
![Page 33: Check to Checkmate !](https://reader035.fdocuments.us/reader035/viewer/2022082204/56815b9f550346895dc9a49f/html5/thumbnails/33.jpg)
Thank You