Deep Blue chess algorithm

Evaluation function
Searching algorithm
Deep Blue chess algorithm
Murray Campbell, A. Joseph Hoane Jr.,
Feng-Hsiung Hsu,
Deep Blue
Artificial Intelligence (2002) 57-83
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Chess vs. Noughts and Crosses
Deep Blue chess algorithm
Evaluation function
Searching algorithm
0Z0Z0skZ
ZNlnZpo0
6
pZpZ0m0Z
5
Z0Z0Z0Z0
4
PO0MPZbZ
3
Z0L0Z0O0
2
0Z0O0Z0Z
1
Z0S0Z0JB
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
0Z0Z0skZ
ZNlnZpo0
6
pZpZ0m0Z
5
Z0Z0Z0Z0
4
PO0MPZbZ
3
Z0L0Z0O0
2
0Z0O0Z0Z
1
Z0S0Z0JB
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
0Z0Z0skZ
ZNlnZpo0
6
pZpZ0m0Z
5
Z0Z0Z0Z0
4
PO0MPZbZ
3
Z0L0Z0O0
2
0Z0O0Z0Z
1
Z0S0Z0JB
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Evaluation Function
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Evaluation function
Define an evaluation function:
Estimation of the current state of the game: who is
most likely to win.
Search through moves and pick the “best” one.
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Evaluation function
Fast Evaluate the total value of the pieces of
each of the players, weighted by the
squares they are on.
Complete Include additional positional features.
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Positional features: “Rooks on files”
0Z0Z0Z0Z
Z0Z0Z0Z0
6
0Z0Z0Z0Z
5
Z0Z0Z0Z0
4
0Z0Z0Z0Z
3
Z0Z0Z0Z0
2
0Z0Z0Z0Z
1
Z0ZRZ0Z0
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Positional features: “Rooks on files”
0Z0Z0ZkZ
Z0Z0Zpop
6
0Z0Z0Z0Z
5
Z0Z0Z0Z0
4
0Z0Z0Z0Z
3
Z0Z0Z0Z0
2
0Z0Z0Z0Z
1
Z0ZRZ0Z0
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Positional features: “Rooks on files”
0Z0Z0ZkZ
Z0Z0Zpop
6
0Z0Z0Z0Z
5
Z0ZpZ0Z0
4
0Z0Z0Z0Z
3
Z0Z0Z0Z0
2
0Z0Z0Z0Z
1
Z0ZRZ0Z0
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Positional features: “Rooks on files”
0Z0Z0ZkZ
Z0Z0Zpop
6
0Z0ZpZ0Z
5
Z0ZpZ0Z0
4
0Z0Z0Z0Z
3
Z0Z0Z0Z0
2
0Z0Z0Z0Z
1
Z0ZRZ0Z0
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Positional features: “Rooks on files”
0Z0Z0ZkZ
Z0Z0Zpop
6
0Z0Z0Z0Z
5
Z0ZpZ0Z0
4
0Z0Z0m0Z
3
Z0Z0Z0Z0
2
0Z0Z0Z0Z
1
Z0ZRZ0Z0
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Positional features: “Rooks on files”
0Z0Z0ZkZ
Z0Z0Zpop
6
0Z0Z0Z0Z
5
Z0Z0o0Z0
4
0Z0m0Z0Z
3
Z0Z0Z0Z0
2
0Z0Z0Z0Z
1
Z0ZRZ0Z0
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Positional features: “Rooks on files”
rZ0Z0ZkZ
Z0Z0Zpop
6
0Z0Z0Z0Z
5
ZbZ0Z0Z0
4
0Z0Z0Z0Z
3
Z0Z0Z0Z0
2
0Z0Z0Z0Z
1
Z0ZRZ0Z0
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Positional features: “Pins”
0Z0Z0Z0Z
Z0l0Z0Z0
6
0Z0m0Z0Z
5
Z0Z0Z0Z0
4
0Z0Z0Z0Z
3
Z0Z0Z0A0
2
0Z0Z0Z0Z
1
Z0Z0Z0Z0
8
7
a
b
c
d
e
f
g
h
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Evaluation function: Miscellaneous
Opening Database of opening moves
Endgame Database of all positions with five or
fewer pieces
Weights Weights tuned by hand, with some
optimisation in specific cases
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Searching Algorithm
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Minimax searching
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Minimax searching
good position
bad position
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Minimax searching
good position
bad position
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Minimax searching
good position
bad position
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Improving on Minimax
good position
“forced”
bad position
Deep Blue chess algorithm
Evaluation function
Searching algorithm
Improving on Minimax
good position
“forced”
bad position
Deep Blue chess algorithm
Thank you for listening!