我正在尝试为类似宠物小精灵的游戏编写一个人工智能,除了所有动作都是双手都知道的(两个玩家都可以看到)。我已经记录了我需要的所有信息,如损坏,准确性,重要机会等等。
我认为我的目标是一个Expectiminimax(已知算法)解决方案,这似乎是合理的,但我遇到了障碍:如何处理谁先排序。当然,这是基于当前玩家的速度,无论谁开始更快,但有些动作获得优先权,并且尽管他们的速度最终会先行。
一个例子是我的对手更快使用了非常强大的能力但是我使用了一个优先考虑并且完全否定他的能力的棋子。我不能假装他先走了,因为我的行动将取消他的出局。
也许我只是过度思考这个问题,但当我试图在纸上写出我的Expectiminimax时,它就变成了一个真正的问题。
答案 0 :(得分:3)
同时移动的最简单的解决方案是假装你先移动,即所谓的偏执假设(因为你假装你的对手可以读懂你的想法并知道你会做出什么动作)。您可以通过计算玩家特定的游戏树,为每个玩家独立制作偏执假设。如果你想成为最先进的,我只是搜索了这些论文:Using Counterfactual Regret Minimization to Create Competitive Multiplayer Poker Agents,Comparing Uppper-Confidence-Tree versus CounterFactual-Rergret in Simultaneous Games。