Answers:
简短的答案是,尽管有一些多项式时间算法可证明地找到近似的纳什均衡,但它们都找到了相对较差的近似值-如果您实际上是想找到一种玩游戏的算法,可能还不够好。2个玩家游戏比n个玩家游戏了解更多。
如果您实际上想找到一个(近似)纳什均衡,那么您可能要尝试编写的一件容易编写的代码就是模拟游戏玩法,每个玩家都使用随机加权多数算法(http://en.wikipedia.org/ Wiki / Randomized_weighted_majority_algorithm)。这不能保证能正常工作,但在许多情况下还是可以的(并且保证在某些类型的游戏中,例如零和游戏)。特别地,如果该过程完全收敛,则可以保证收敛至纳什均衡。危险在于它不会收敛,不会永远循环-但是即使在这种情况下,游戏经验的历史也会收敛到一组粗糙的相关均衡。
如果您对实际在软件中实现的算法感兴趣,那么我就知道其中几种:
GAMBIT程序包(http://www.gambit-project.org/doc/index.html)为2人和n人正常形式,在某些情况下还包括扩展形式的游戏,实现了几种纳什均衡算法。
GameTracer(http://dags.stanford.edu/Games/gametracer.html)为n玩家普通形式的游戏实现了Govindan&Wilson的GNM和IPA算法。
对于大型游戏,随着玩家数量的成倍增长,正常的形式表示存在问题。相反,如果您游戏的效用函数具有某种结构,则可以使用“简洁表示”(例如图形游戏,对称游戏,动作图游戏)来使用更少的空间来表达它;而且该结构通常可以用于计算加速。在软件方面,AGG解算器(http://agg.cs.ubc.ca)使GameTracer的GNM算法和GAMBIT的simpdiv算法适应于动作图形游戏(AGG)表示。(免责声明:我参与了该软件包装的开发。)