check to checkmate !

33
Group 1 : Ashutosh Pushkar Ameya Sudhir From

Upload: navid

Post on 09-Feb-2016

109 views

Category:

Documents


4 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Check  to  Checkmate !

Group 1 :

AshutoshPushkar

AmeyaSudhir

From

Page 2: 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

Page 3: Check  to  Checkmate !

Outline of the presentation

Evaluation Functions Algorithms Deep Blue Conclusions from Deep Blue Conclusion References

Page 4: Check  to  Checkmate !

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 !

Evaluation Function

Page 6: Check  to  Checkmate !

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 !

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 !

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 !
Page 10: Check  to  Checkmate !

Algorithms

Page 11: Check  to  Checkmate !

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 !

Minimax Strategy

Page 13: Check  to  Checkmate !

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 !

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 !
Page 16: Check  to  Checkmate !

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 !

α-β Pruning

Page 18: Check  to  Checkmate !

α-β 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 !

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 !
Page 21: Check  to  Checkmate !

α-β 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 !

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 !

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 !

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 !

Horizon Effect

Problem with fixed depth search

Positive Horizon Effect

Negative horizon effect

Page 26: Check  to  Checkmate !

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 !

State of the art : DEEP BLUE

Page 28: Check  to  Checkmate !

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 !

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 !

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 !

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 !

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 !

Thank You