Beruflich Dokumente
Kultur Dokumente
Move Generation
Min Max
Alpha Beta
Not only the path but also the next move( leading to
winning state)
Best move depends on the opponent
2
Move Generation
b = branching factor
d = depth
My moves
Result
Opponent Moves
Chess
b = 36
d > 40
40
36 is big!
Static Evaluation
S = C1 x material
C2 x pawn structure
C3 x mobility
3.5
C4 x king safety
C5 x center control
min
ply
Static evaluations
Deep Blue
32 SP2 processors
each with 8 dedicated chess processors = 256 Chess Processors
50 100 billion moves in 3mins
13 30 ply search
-
>=2
max
2
min
2
-
// = best score for MAX , = best score for MIN
//Initial call is MAX-VALUE(state, -, , MAX-DEPTH)
function MAX-VALUE(state, , , depth)
if(depth==0) then return EVAL(state)
for each s in SUCCESSORS(state) do
=MAX(,MIN-VALUE (s, , , depth-1)
if then return //cutoff
end
return
function MIN-VALUE(state, , , depth)
if(depth==0) then return EVAL(state)
for each s in SUCCESSORS(state) do
= MIN(,MAX-VALUE (s, , , depth-1)
if then return //cutoff
end
return
10
-
-
max
2
min
2
11
-
-
max
2
min
2
2
7
12
-
-
max
2
min
2
- 2
2
7
13
-
-
max
- 2
min
2
7
7
14
-
-
max
2
min
2
- 2
7
7
15
-
-
max
- 2
min
2
16
-
max
- 2
min
2
17
-
max
- 2
min
2
18
-
max
- 2
min
2
19
-
max
- 2
2 1
1
min
2
20
-
max
- 2
2 1
1
min
2
Cut off
21
-
2
max
- 2
2 1
1
min
2
Cut off
22
-
Guaranteed to return exactly the same value as
the Min-Max algorithm
Pure optimization without any approximations
or trade-offs
23