Skip to content

Commit 04dd8e2

Browse files
committed
Make alphabeta_search similar to algorithm in the book
1 parent 3fdb931 commit 04dd8e2

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

games.py

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,16 +68,13 @@ def min_value(state, alpha, beta):
6868
return v
6969

7070
# Body of alphabeta_search:
71-
v = -infinity
71+
best_score = -infinity
7272
best_action = None
7373
for a in game.actions(state):
74-
val = min_value(game.result(state, a), alpha, beta)
75-
if val > v:
76-
v = val
74+
v = min_value(game.result(state, a), best_score, beta)
75+
if v > best_score:
76+
best_score = v
7777
best_action = a
78-
if v >= beta:
79-
break
80-
alpha = max(alpha, v)
8178
return best_action
8279

8380

@@ -117,16 +114,13 @@ def min_value(state, alpha, beta, depth):
117114
cutoff_test = (cutoff_test or
118115
(lambda state, depth: depth > d or game.terminal_test(state)))
119116
eval_fn = eval_fn or (lambda state: game.utility(state, player))
120-
v = -infinity
117+
best_score = -infinity
121118
best_action = None
122119
for a in game.actions(state):
123-
val = min_value(game.result(state, a), alpha, beta, 1)
124-
if val > v:
125-
v = val
120+
v = min_value(game.result(state, a), best_score, beta, 1)
121+
if v > best_score:
122+
best_score = v
126123
best_action = a
127-
if v >= beta:
128-
break
129-
alpha = max(alpha, v)
130124
return best_action
131125

132126
#______________________________________________________________________________

0 commit comments

Comments
 (0)