Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Artificial intelligence 可以在expectiminimax算法中实现剪枝吗?_Artificial Intelligence_Alpha Beta Pruning_Expectiminimax - Fatal编程技术网

Artificial intelligence 可以在expectiminimax算法中实现剪枝吗?

Artificial intelligence 可以在expectiminimax算法中实现剪枝吗?,artificial-intelligence,alpha-beta-pruning,expectiminimax,Artificial Intelligence,Alpha Beta Pruning,Expectiminimax,我目前正在使用expectiminimax算法,该算法在我目前的情况下非常有效: max -> min -> chance -> max -> min -> chance -> (repeat) 我无论如何也做不到 max/min -> Chance -> (repeat) 由于游戏的工作方式 如果我继续转换我的算法,我觉得alpha是不准确的 在我当前的设置中,除了地平线效应之外,执行修剪还有什么副作用吗?或者我只是想得太多了?我不确定您要执

我目前正在使用expectiminimax算法,该算法在我目前的情况下非常有效:

max -> min -> chance -> max -> min -> chance -> (repeat)
我无论如何也做不到

max/min -> Chance -> (repeat)
由于游戏的工作方式

如果我继续转换我的算法,我觉得alpha是不准确的


在我当前的设置中,除了地平线效应之外,执行修剪还有什么副作用吗?或者我只是想得太多了?

我不确定您要执行哪个游戏,但听起来确实很有趣。当我们对任何节点的分支因子或游戏如何进行一无所知时,很难找到一个好的答案。我认为这取决于你的比赛

我在双陆棋游戏中尝试过不同的修剪方法,根据这一经验,我真的认为您的搜索算法的结果取决于机会节点对游戏期望的影响程度,而不是最小和最大节点对期望的影响程度

如果机会节点可以彻底改变游戏的预期,每掷一次骰子都会有很高的变化,但要选择的五个六步并不能改变很多情况,那么我认为你不应该太担心

然而,如果情况正好相反,机会节点基本上只是推动游戏前进,而不影响游戏结果预期,而且游戏的动作或动作真的很重要,我认为获得一个好的搜索算法可以获得很多好处

同时检查*-极小极大算法。布鲁斯·巴拉德1983

Expectiminimax和*-minimax与普通minimax的情况相同。首先从一些启发式中尝试假定的最佳移动以创建截止点,但您也应该尝试在机会节点中对机会结果进行启发式排序

当你开始测试它时,这确实很有趣,但是得到好答案的唯一方法是弄脏你的手指并尝试一下


祝你好运

看来修剪在这种环境下仍然有效,我有严重的怀疑,但到目前为止一切都得到了证实。也就是说,无修剪算法和修剪算法中的所有测试用例都只在较少的节点中使用相同的启发式提供相同的移动

我还发现,在我的例子中,我会将机会节点的控制权让给用户,用户可以确定某些事件的可接受损失(如果有的话)。如果该能力有95%的命中率和5%的未命中率,用户可以认为这5%是可以忽略的,忽略未命中率,这并不意味着启发式被视为其值的100%,但它保持其95%。我遇到过罕见的情况,在给定的环境下,使用1种能力可能会产生16种可能的结果,我希望在这种情况下具有灵活性

至于游戏,它至少在游戏风格方面与神奇宝贝相似