Algorithm 扩展“的极小极大值”;“同时”;移动游戏

Algorithm 扩展“的极小极大值”;“同时”;移动游戏,algorithm,artificial-intelligence,pseudocode,simulate,minimax,Algorithm,Artificial Intelligence,Pseudocode,Simulate,Minimax,我正试图为一款类似口袋妖怪的游戏编写一个人工智能,除了所有的动作都是两个玩家事先知道的(所有东西都是两个玩家都能看到的)。我已经记录了我需要的所有信息,比如伤害、准确度、致命概率等等 我原以为我的目标是一个Expectiminimax(已知算法)解决方案,这似乎是合理的,但我遇到了一个障碍:如何处理谁先去的顺序。当然,这是基于当前玩家的速度和谁更快开始,但有些动作会获得优先权,并最终以第一个动作结束,尽管他们的速度 举个例子,我的对手速度更快,他使用的是一个非常强大的能力,但我使用的是一个优先的

我正试图为一款类似口袋妖怪的游戏编写一个人工智能,除了所有的动作都是两个玩家事先知道的(所有东西都是两个玩家都能看到的)。我已经记录了我需要的所有信息,比如伤害、准确度、致命概率等等

我原以为我的目标是一个Expectiminimax(已知算法)解决方案,这似乎是合理的,但我遇到了一个障碍:如何处理谁先去的顺序。当然,这是基于当前玩家的速度和谁更快开始,但有些动作会获得优先权,并最终以第一个动作结束,尽管他们的速度

举个例子,我的对手速度更快,他使用的是一个非常强大的能力,但我使用的是一个优先的格挡,完全否定了他的能力。我不能再假装他先走了,因为我的行动会取消他的出局


也许我只是想得太多了,但当我试图在纸上写下我的预期最大值时,这就成了一个真正的问题。

同时移动的最简单解决方案是假装你先移动,这就是所谓的偏执假设(因为你假装你的对手能读懂你的心思,知道你将采取什么移动)。通过计算特定于玩家的游戏树,可以独立地为每个玩家做出偏执假设。如果你想成为最先进的,我只是Google这些文件:,./p>我从来没有玩过口袋妖怪,但听起来你需要考虑任何玩家在每个游戏树节点上移动的可能性(与标准的Mimax不同,当每个玩家只在交替的树级别上玩)。这将使人工智能算法稍微复杂化,因为它需要考虑一个特定的子节点是否需要最小化或最大化,以每个孩子为基础,而不是每棵树级的基础,但我认为它仍然是可行的。