Как мне найти оптимальный узел при использовании Minimax с Alpha-Beta Pruning?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как мне найти оптимальный узел при использовании Minimax с Alpha-Beta Pruning?

Сообщение Anonymous »

Я пытаюсь создать шахматный движок, основная идея которого заключается в том, что когда я нажимаю кнопку, компьютер делает ход. Вот мой код:

Код: Выделить всё

def alphabeta(board, node, depth, a, b, maximizer):
if depth == 0:
return evaluate.node(node)

if maximizer == True:
value = -10**3 # Number that's smaller than what the evaluation algorithm can return
for child in board.get_all_nodes(node):
m = alphabeta(board, child, depth-1, a, b, False)
value = max(value, m)
a = max(a, value)
if a >= b:
break
return value
else:
value = 10**3 # Number that's bigger than what the evaluation algorithm can return
for child in board.get_all_nodes(node):
m = alphabeta(board, child, depth - 1, a, b, True)
value = min(value, m)
b = min(b, value)
if a >= b:
break
return value
Проблема в том, что этот код возвращает оценку наилучшего возможного хода, а не само дерево ходов. Как мне найти лучший ход, не запуская всю функцию заново?

Подробнее здесь: https://stackoverflow.com/questions/601 ... ta-pruning
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • IOS: преобразовать ISO Alpha 2 в Alpha 3 Code Code
    Anonymous » » в форуме IOS
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Базовый алгоритм Alpha Beta, дающий неправильную оценку
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Pytorch Global Pruning не уменьшает размер модели.
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Как я могу эффективно найти k-й узел с конца и m-й узел с начала односвязного списка за один проход?
    Anonymous » » в форуме JAVA
    0 Ответы
    64 Просмотры
    Последнее сообщение Anonymous
  • Как я могу эффективно найти k-й узел с конца и m-й узел с начала односвязного списка за один проход?
    Anonymous » » в форуме JAVA
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»