2

我正在尝试为类似 Pokemon 的游戏编写 AI,除了所有动作都是两个玩家事先知道的(两个玩家都可以看到一切)。我已经记录了我需要的所有信息,例如伤害、准确性、关键几率等。

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

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

也许我只是想多了,但是当我尝试在纸上写出我的 Expectiminimax 时,它就变成了一个真正的问题。

4

1 回答 1

4

The simplest solution for simultaneous move is to pretend that you move first, so-called paranoid assumption (since you pretend your opponent can read your mind and know what move you will make). You can make the paranoid assumption independently for every player by computing player-specific game trees. If you want to be more state-of-the-art, I have just googled these papers: Using Counterfactual Regret Minimization to Create Competitive Multiplayer Poker Agents, Comparing Uppper-Confidence-Tree versus CounterFactual-Rergret in Simultaneous Games.

于 2013-10-28T12:57:54.557 回答