deep blue chess algorithm - tcm · pdf filedeep blue chess algorithm. evaluation function...
TRANSCRIPT
Evaluation functionSearching algorithm
Deep Blue chess algorithm
Murray Campbell, A. Joseph Hoane Jr.,Feng-Hsiung Hsu,Deep BlueArtificial Intelligence (2002) 57-83
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Chess vs. Noughts and Crosses
Deep Blue chess algorithm
Evaluation functionSearching algorithm
8 0Z0Z0skZ7 ZNlnZpo06 pZpZ0m0Z5 Z0Z0Z0Z04 PO0MPZbZ3 Z0L0Z0O02 0Z0O0Z0Z1 Z0S0Z0JB
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
8 0Z0Z0skZ7 ZNlnZpo06 pZpZ0m0Z5 Z0Z0Z0Z04 PO0MPZbZ3 Z0L0Z0O02 0Z0O0Z0Z1 Z0S0Z0JB
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
8 0Z0Z0skZ7 ZNlnZpo06 pZpZ0m0Z5 Z0Z0Z0Z04 PO0MPZbZ3 Z0L0Z0O02 0Z0O0Z0Z1 Z0S0Z0JB
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Evaluation Function
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Evaluation function
Define an evaluation function:Estimation of the current state of the game: who ismost likely to win.
Search through moves and pick the “best” one.
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Evaluation function
Fast Evaluate the total value of the pieces ofeach of the players, weighted by thesquares they are on.
Complete Include additional positional features.
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Positional features: “Rooks on files”
8 0Z0Z0Z0Z7 Z0Z0Z0Z06 0Z0Z0Z0Z5 Z0Z0Z0Z04 0Z0Z0Z0Z3 Z0Z0Z0Z02 0Z0Z0Z0Z1 Z0ZRZ0Z0
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Positional features: “Rooks on files”
8 0Z0Z0ZkZ7 Z0Z0Zpop6 0Z0Z0Z0Z5 Z0Z0Z0Z04 0Z0Z0Z0Z3 Z0Z0Z0Z02 0Z0Z0Z0Z1 Z0ZRZ0Z0
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Positional features: “Rooks on files”
8 0Z0Z0ZkZ7 Z0Z0Zpop6 0Z0Z0Z0Z5 Z0ZpZ0Z04 0Z0Z0Z0Z3 Z0Z0Z0Z02 0Z0Z0Z0Z1 Z0ZRZ0Z0
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Positional features: “Rooks on files”
8 0Z0Z0ZkZ7 Z0Z0Zpop6 0Z0ZpZ0Z5 Z0ZpZ0Z04 0Z0Z0Z0Z3 Z0Z0Z0Z02 0Z0Z0Z0Z1 Z0ZRZ0Z0
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Positional features: “Rooks on files”
8 0Z0Z0ZkZ7 Z0Z0Zpop6 0Z0Z0Z0Z5 Z0ZpZ0Z04 0Z0Z0m0Z3 Z0Z0Z0Z02 0Z0Z0Z0Z1 Z0ZRZ0Z0
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Positional features: “Rooks on files”
8 0Z0Z0ZkZ7 Z0Z0Zpop6 0Z0Z0Z0Z5 Z0Z0o0Z04 0Z0m0Z0Z3 Z0Z0Z0Z02 0Z0Z0Z0Z1 Z0ZRZ0Z0
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Positional features: “Rooks on files”
8 rZ0Z0ZkZ7 Z0Z0Zpop6 0Z0Z0Z0Z5 ZbZ0Z0Z04 0Z0Z0Z0Z3 Z0Z0Z0Z02 0Z0Z0Z0Z1 Z0ZRZ0Z0
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Positional features: “Pins”
8 0Z0Z0Z0Z7 Z0l0Z0Z06 0Z0m0Z0Z5 Z0Z0Z0Z04 0Z0Z0Z0Z3 Z0Z0Z0A02 0Z0Z0Z0Z1 Z0Z0Z0Z0
a b c d e f g h
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Evaluation function: Miscellaneous
Opening Database of opening moves
Endgame Database of all positions with five orfewer pieces
Weights Weights tuned by hand, with someoptimisation in specific cases
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Searching Algorithm
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Minimax searching
bad position
good position
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Minimax searching
bad position
good position
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Minimax searching
bad position
good position
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Minimax searching
bad position
good position
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Improving on Minimax
“forced”
bad position
good position
Deep Blue chess algorithm
Evaluation functionSearching algorithm
Improving on Minimax
“forced”
bad position
good position
Deep Blue chess algorithm
Thank you for listening!