是否有必要为alpha-beta修剪算法创建树?

时间:2018-04-08 17:32:10

标签: tree artificial-intelligence minimax alpha-beta-pruning

我已经在网上看到了minimax和alpha-beta修剪算法的实现。这些实现使用数组而不是树结构来生成可能的游戏移动。

是否有必要使用具有节点的结构为这些算法创建树?为什么使用数组存储游戏树?

1 个答案:

答案 0 :(得分:0)

对于alpha-beta / minimax和其他相关算法,不需要显式创建树/将其存储在内存中。你暗中"遍历"一棵树通过递归函数调用,但从不显式创建一个树,并且永远不需要将任何数据存储在这样一个"树的任何节点中。

鉴于游戏状态,您只需要暂时需要一个数据结构来包含该州的合法移动或后续游戏状态;像数组/列表这样的东西是最明显的数据结构。你只需要暂时这样,你可以循环它并运行你的递归函数调用,然后你可以再扔掉它们。您永远不必存储完整的树。