Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。
在纳米比亚的 PyCon 会议上,我发表了一篇名为 《使用 Python 解决“升级版的剪刀石头布”》(Rock, Paper, Scissors, Lizard, Spock with Python )的文章。在这篇文章中,介绍到用Nashpy 来计算两个玩家的平衡是很简单的事情,但是其中只是涉及了一点点演化稳定性的内容。 在这篇博文中,我将阐述一下如何在 Python + Numpy 环境下,使用大概 40 行代码来建立一个简单的演化过程模型。
我想讲的第一个游戏是“旅行者困境”问题。这里给出一个简化的版本:
我不想过多的讲解这个游戏的数学模型如何建立。在建模后,我们只需要知道一件事情,那就是我们有两个玩家:
行玩家:选择我们处于哪一行;
列玩家:选择我们处于哪一列。
如果,行玩家选择的是第二行,列玩家选择的是第三列,则得分为:5,1。即行玩家得 5 分,而列玩家得 1 分。这个时候列玩家可能会倾向于选择第一列,这样的话得分就是 0,4 了。
下面,我们可以使用 Nashpy 来计算这个游戏的平衡位置。