PythonChess-获取引擎来预测某个位置上最佳移动的列表

问题描述 投票:1回答:1

我目前有一个棋盘,然后将其e2棋子移动到e4。我正在寻找一种方法来使引擎预测黑色最佳移动的X量。

我知道如何预测给定位置的最佳移动:

result = engine.play(board, chess.engine.Limit(time=0.1))
board.push(result.move)

但是那只能预测数字1的最佳移动。我想要一个包含第二,第三... X个最佳动作的列表。

我该怎么做?

python python-3.x chess python-chess
1个回答
0
投票

您没有提供有关搜索功能的任何详细信息,但通常它应返回引擎认为最佳并希望播放的一系列动作(主要变化,也称为PV)。

您可以更改搜索功能以返回多个PV,基本上可以收集和报告多个下一个最佳动作序列。但是请注意,这通常需要较低效率的根搜索,在此情况下,将使用较宽的alpha-beta窗口搜索后续动作。

或者,您可以在搜索过程中通过附加任何引起alpha升高的动作来保存每个“最佳动作”。这不会给您多个PV,但至少会给您一个原始的“最佳举动”列表。

© www.soinside.com 2019 - 2024. All rights reserved.