0

我对国际象棋编程很陌生,并且在搜索时遇到了问题。目前,我的引擎有一个简单的“标准”负最大搜索,具有基本的评估功能(纯材料计数,非位置)。

但结果是给定以下 FEN:

rnbqkbnr/1ppppppp/p7/7Q/4P3/8/PPPP1PPP/RNB1KBNR b KQkq -

黑不想g7g6威胁女王。但是,如果我删除了 beta 截止值,它确实可以。据推测,它认为白色可能会移动皇后导致没有捕获,因此不是一个有利的位置(在检查中评估的分数等于 beta,而不是更大if score >= beta)。

我假设评估功能可能与它有关,并且需要的不仅仅是材料数量,否则需要实施什么样的事情才能使引擎更具侵略性?

4

1 回答 1

0

Alpha/Beta 剪枝不会给出与普通 mini/negamax 算法不同的结果。如果它确实给出了不同的结果,那么你已经错误地实现了它。由于您尚未共享任何代码,因此我无法从您的主要问题中提供比这更多的指导。

至于获得更“激进”的引擎很难详细说明。与此相关的一切都在您的评估功能中。例如,您可以创建典当表,为向前推进的典当提供奖励,这通常被视为具有侵略性。

于 2021-12-17T13:04:40.927 回答