【发布时间】:2014-08-20 21:13:57
【问题描述】:
到目前为止,我已经成功地在 Python 中使用 Minimax 算法并将其应用于井字游戏。我可以让我的算法遍历整个搜索树,并返回一个值。
但是,我对如何获取此值并将其转换为移动感到困惑?我怎么知道该采取什么行动?
谢谢。
【问题讨论】:
-
你使用了递归算法吗?如果是这样的话,除了返回最终值,还可以在每一步返回对应的招式,在整个拆垛完成后得到自己的招式。
-
如果您不了解如何使用 value,您是如何成功使用 minimax 的?我很困惑你到底在哪里遇到了麻烦。
-
@user189 是的,我正在使用递归算法。谢谢,我会试试的。程序应该如何知道它在最后呢?由于它是递归的,我认为每次执行它的操作时都返回一个移动是不可行的。
-
@twinlakes 目前可以使用极小极大算法得到当前节点的启发式值。
-
我可以看到两种可能性。第一个,您为每个呼叫返回移动,您的主要呼叫将自动获得下一步移动。第二个,你使用一个额外的参数(比如“isFirst”),如果 isFirst 然后将 isFirst 设置为 False 并返回动作。