📅  最后修改于: 2023-12-03 14:50:29.835000             🧑  作者: Mango
博弈论是应用数学的一个分支,研究决策方案的互相作用,尤其是在涉及两个或多个智能体的决策方案时。它包括非合作博弈、合作博弈、重复博弈和进化博弈等分支。
正态博弈又被称为零和博弈,顾名思义,是一种玩家收益之和为零的博弈。这意味着一个人的胜利是另一个人的损失。它是最简单的博弈形式。
特定类型的基本正态博弈称为[MX 2]游戏,其中两个玩家一起使用两种策略。这样,玩家1使用策略X或策略Y,玩家2使用策略A或策略B。
一个MX 2游戏可以用一个图形表示。每个策略可以表示为图形上的坐标轴。每个玩家的最佳策略组合是它所在的两个轴的交点。它们的相应收益是X和A坐标。
建议使用matplotlib
或其他Python可视化库来呈现这种方式。
以下是一个简单的例子:
import matplotlib.pyplot as plt
X = [1, 2]
Y = [3, 4]
A = [2, 1]
B = [4, 3]
# 绘制坐标系
plt.plot(X, [0, 0], 'k-')
plt.plot([0, 0], Y, 'k-')
# 绘制每个玩家的策略线
plt.plot(X, Y, 'b-', label='Player 1')
plt.plot(A, B, 'g-', label='Player 2')
# 标注每个玩家的最佳策略坐标及其收益
plt.plot(1.5, 3.5, 'ro', label='Nash Equilibrium')
plt.annotate('({},{})'.format(1.5, 3.5), (1.5+0.1, 3.5), textcoords='offset points')
plt.plot(1.5, 3.5, 'ro')
plt.annotate('({},{})'.format(1.5, 3.5), (1.5+0.1, 3.5), textcoords='offset points')
plt.plot(1, 4, 'ro')
plt.annotate('({},{})'.format(1, 4), (1+0.1, 4), textcoords='offset points')
plt.plot(2, 3, 'ro')
plt.annotate('({},{})'.format(2, 3), (2+0.1, 3), textcoords='offset points')
# 添加图例和标题
plt.legend()
plt.title('[MX 2] Game')
# 显示图形
plt.show()
该程序将绘制以下图形:
该图形显示了两个玩家的策略空间,以及每个玩家的最佳策略和相应的收益。该程序还使用彩色和标签标识每个玩家的策略线。