ppt - CSE, IIT Bombay
Download
Report
Transcript ppt - CSE, IIT Bombay
Group 1 :
Ashutosh
Pushkar
Ameya
Sudhir
From
CHECK
TO
CHECKMATE !
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
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
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(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
α-β Pruning
α-β 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:
Improvement over minimax algorithm
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))
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
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
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
1950.
S.Russel & P. Norvig: Artificial Intelligence: A
Modern Approach 2/E, Prentice Hall, ISBN-10:
0137903952
Wikipedia
Thank You