Artificial intelligence 增加国际象棋中极大极小算法的平均深度?

Artificial intelligence 增加国际象棋中极大极小算法的平均深度?,artificial-intelligence,p5.js,chess,minimax,Artificial Intelligence,P5.js,Chess,Minimax,最近,我在p5.js中使用带有alpha-beta修剪的Minimax算法构建了一个国际象棋引擎,但我能实现的最大层深度是4,将其增加到5,移动几乎需要10秒,因此有人能提出一些增加层深度和缩短搜索时间的方法吗。任何帮助都将不胜感激。我最近还构建了一个国际象棋引擎,能够将其深度扩展到5甚至6。然而,我用Python构建了我的,但是我认为我可以给出一些适用于您的项目的一般建议 编辑您的代码,将检查电路板状态和获取所有有效移动的函数的时间缩短几微秒 当你分析数百万个位置时,这些微秒加起来相当长的时间

最近,我在p5.js中使用带有alpha-beta修剪的Minimax算法构建了一个国际象棋引擎,但我能实现的最大层深度是4,将其增加到5,移动几乎需要10秒,因此有人能提出一些增加层深度和缩短搜索时间的方法吗。任何帮助都将不胜感激。

我最近还构建了一个国际象棋引擎,能够将其深度扩展到5甚至6。然而,我用Python构建了我的,但是我认为我可以给出一些适用于您的项目的一般建议

  • 编辑您的代码,将检查电路板状态和获取所有有效移动的函数的时间缩短几微秒
  • 当你分析数百万个位置时,这些微秒加起来相当长的时间!我记得我花了几个晚上试图尽可能快地编写代码。最后,它在深度5时缩短了几秒钟的运行时间

  • 在分析边缘之前,先分析电路板的中心
  • alpha-beta修剪的优势在于它不会调查明显更糟糕的移动。因此,你必须尽快找到最好的行动。与其先检查两边的移动,不如告诉算法从中间开始(列D或E),然后向外工作。这些移动通常是最好的,因此该算法将修剪更多的分支

  • 降低检查电路板状态的复杂性
  • 每台发动机都在速度和精度之间进行权衡。看看这个启发式分析板的位置:。定义这样的位置优势是获得半体面引擎的快速方法。尽管它往往在中/末期崩溃

    希望这有帮助,祝你好运