Мне нужна помощь в реализации Negascout (поиск основных вариантов) для Отелло.Python

Программы на Python
Ответить
Anonymous
 Мне нужна помощь в реализации Negascout (поиск основных вариантов) для Отелло.

Сообщение Anonymous »

Я пытаюсь внедрить PVS в свой Athello AI, как способ улучшить альфа -бета -проконтинг, но когда я его реализую, на самом деле это медленнее примерно вдвое, мой вопрос: как бы я его реализовал и могу Я делаю это, сохраняя Мин/Человек, и не необходимо превратить это в единую функцию. Я приветствую любые предложения. Я грубо понимаю, как работает PVS, но я все еще смущен некоторых вещах. Моя функция оценки дает положительное число для x и отрицательное для y < /p>

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

def max_step(board,depth,path,a,b):
if game_end(board):
return score_end(board)
if depth == 0:
return score(board)
my_moves = {i:score((k := make_move(board,i,"x"))) for i in find_indexses(board,"x")}
if len(my_moves) == 0:
return min_step(board,depth-1,path,a,b)
results = []
my_sorted_moves = dict(sorted(my_moves.items(), key=lambda item: item[1],reverse=True))
result = None
for move,index in enumerate(my_sorted_moves.keys()) :
new_board = make_move(board,index,"x")
if index == 0:
result = min_step(new_board,depth-1,path+[board],a,b)
else:
result = min_step(new_board,depth-1,path+[board],b-1,b)
if result > a and result < b:
result = min_step(new_board,depth-1,path+[board],a,b)
results.append(result)
if result >= a:
a = result
if b  a and result < b:
result = max_step(new_board,depth-1,path+[board],a,b)
results.append(result)
if result 

Подробнее здесь: [url]https://stackoverflow.com/questions/77629141/i-need-help-implementing-negascout-principal-variation-search-for-othello[/url]
Ответить

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

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

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

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

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