问题描述
我正在制作一个AI应用程序,在那里我发现了有关minimax和Alpha-beta修剪的信息。我发现程序中已经使用了minimax的概念。
我发现Alpha-beta修剪减少了要搜索的分支。
所以我的问题是我需要应用哪种类型的算法。
在研究中,我总是找到二叉树。 (其中每个节点恰好有两个孩子)
但是在我的应用程序中,每个节点可以生成1到30个子节点。
那么我应该对它使用alpha-beta修剪吗?否则不可能。 像Alpha-beta修剪一样,还有其他减少分支的算法吗?
解决方法
您当然可以在节点具有两个以上子节点的树上使用Alpha-beta修剪。实际上,您可以在English Wikipedia article about Alpha-beta pruning的第一张图片中看到它。引入Alpha-beta修剪是对minimax的优化,通常用于棋盘游戏AI中,玩家可以选择两种以上的选择(例如下棋,下风,步步高等)。您应该能够仅将Alpha-beta修剪添加到当前的minimax实现中。