У меня проблемы с этой функцией:
def minimax(board):
"""
Returns the optimal action for the current player on the board.
"""
if terminal(board):
return None
if player(board) == X:
p=-2
for a in actions(board):
k=Min_Value(result(board,a))
if p < k:
p = k
q = a
elif player(board) == O:
p = 2
for a in actions(board):
k = Max_Value(result(board, a))
if p > k:
p = k
q = a
return (q)
странно то, что эта ошибка удаляется всякий раз, когда я меняю код функционального терминала:
def terminal(board):
"""
Returns True if game is over, False otherwise.
"""
if winner(board)!= None:
return True
elif Full(board): #Full checks if the tic tac toe grid is full
return True
else:
return False
любая идея, где может быть проблема: /?
PS: если вам это нужно, вот код действий функции:
def actions(board):
"""
Returns set of all possible actions (i, j) available on the board.
"""
L=set()
for i in range(3):
for j in range(3):
if board[i][j]=='EMPTY':
L.update([(i,j)])
return L