【发布时间】:2014-01-20 16:20:34
【问题描述】:
我是 AI 新手,我正在尝试使用 minimax 算法实现井字游戏,但在开始之前,我想检查一下我对实现的理解:
首先在移动的每一步根据我的网格的当前状态创建决策树,在决策树完成后,我将应用 minmax 来标记树,然后根据该标记进行选择,然后再次找到最佳下一步从头开始为所选移动制作决策树,并再次应用 minmax 并选择最佳移动。 这是我设计的伪代码:
move(current state)
{
tree=make_decision-tree(current state);
maxminalg(tree);
choose the best move according to the returned max or min from the tree
foreach (choice in choosen state)
move(choice)
}
make_decision-tree(current state)
{
....
}
maxminAlg(decisiontree t)
{
return max or min
}
我的问题是我设计的这个程序是否正确(因为如果它正确,那么我可以开始编写代码),如果不是,您的建议是什么?
【问题讨论】:
-
适合学习正确的 AI 概念,但对于只有大约 20,000 种可能游戏状态的游戏,您可能不需要极小极大 :-)
-
只是为了确保我的理解,当我为每一个新动作制定决策树时是否合理?
标签: artificial-intelligence decision-tree