TreeGame

TreeGame[{player1,action1,,actionk}]

player1 指定一个动作节点,其可能的动作为 actionj.

TreeGame[Tree[playera1,{actiont1,,actiontk}]]

使用具有 playera1 关联和 actiontj 动作树的 Tree 符号指定动作节点.

更多信息和选项

  • TreeGame 又称为扩展形式博弈、顺序移动博弈或博弈树.
  • 树状博弈被描述为一棵树,其中有动作节点和终端节点,在动作节点上玩家可以采取有限数量的行动,而在终端节点上,当博弈结束时每个玩家都会获得收益. 可以有有限数量的多个玩家轮流行动,得到一个有限的博弈树.
  • TreeGame 通常用于模拟两个或多个玩家按顺序行动的决策问题. 例子包括纸牌和棋盘游戏,也包括经济或商业博弈,如市场进入、劳资谈判或寡头市场行动等.
  • 可能的动作 actionj 包括:
  • {playerj,action1,,actionm}动作节点,其中 playerjm 个可能的动作 actionj
    {payoff1,,payoffn}终端节点,带有 n 个玩家的收益 payoffk
  • 动作节点的附加信息包括动作标签和动作概率:
  • {playerj,,actionilabeli,}使用 labeli 表示 actioni
    {playerj,,actioniprobi,}选择 actioni,概率为 probi
    {playerj,,actioni{labeli,probi},}指定标签和概率
  • 当在动作节点使用概率动作时,所有动作都需要具有该动作节点的概率.
  • 为了对玩家所处的节点信息不完全的情况进行建模,这里使用了信息集的概念,它是附加到同一集合中所有动作节点的标签:
  • {playerjilabelk,action1,,actionm}使用 ilabelk 作为动作节点
  • 可能的信息集需要在博弈树中处于同一级别.
  • 不完全信息的一个典型例子是纸牌游戏,你不知道所有玩家的牌,因此不知道自己位于哪个节点.
  • 使用替代 Tree 符号,动作树可能有两种形式:
  • Tree[<|"Player"playerj|>,{actiont1,,actiontk}]动作节点,其中 playerjm 个可能的动作 actionj
    Tree[<|"Payoffs"{payoff1,,payoffn}|>,{}]终端节点,带有 n 个玩家的收益 payoffk
  • 动作节点和终端节点的附加信息包括引用传入边的动作标签和动作概率:
  • "Label"label使用 label 作为父动作边
    "Probability"prob指定父边的概率 prob
  • 当在动作节点使用概率动作时,所有动作都需要具有该动作节点的概率.
  • 不完善的信息可以在动作节点中指出:
  • "InformationSet"ilab指定动作树的信息集 actionti
  • 如果不同的玩家使用相同的信息集,则将被视为不同的信息集.
  • 如果同一个玩家有属于同一个信息集的节点,但是动作数量不同,则会被视为不同的信息集.
  • 对于 TreeGame g,以下属性 "prop" 可以通过 g["prop"] 访问:
  • "Graph"博弈的 Graph 表示
    "InformationSets"包含的信息集和节点的字典
    "MatrixGame"将树博弈转换为矩阵博弈
    "PayoffArray"博弈中所有收益值的向量
    "Players"玩家列表
    "Plot"将博弈表示为树状图;参见 TreeGamePlot
    "Rules"博弈的 Rule 表示
    "Summary"博弈的基本数据
    "Tree"博弈的 Tree 表示
    "Validity"树博弈的验证
  • TreeGame 可用于 TreeGamePlotFindTreeGameStrategiesVerifyTreeGameStrategyTreeGamePayoff 等函数.

范例

打开所有单元关闭所有单元

基本范例  (5)

创建一个双人博弈:

创建一个双人博弈,其中所有动作都有一个概率:

显示图:

使用树创建一个三人博弈:

显示图:

创建一个三人博弈,每个玩家只有一个动作:

他们的每一个动作都是同一信息集的一部分:

创建一个双人博弈,其中一些动作是概率,一些动作有标签,一些动作两者兼有:

显示图:

范围  (7)

基本用法  (4)

创建双人博弈:

创建一个三人博弈,其中每个选择都有一个概率:

创建一个三人博弈,其中每个玩家只有一个动作,这意味着他们的每个动作都是同一信息集的一部分:

考虑一个树博弈:

考虑所有收益的数组:

要确定树博弈是否为零和博弈,验证总收益是否始终为 0:

属性  (1)

TreeGame 对象包含提供有关博弈信息的属性:

"Properties" 属性给出了可用属性的列表:

"Object" 属性给出了博弈的对象类型:

"Summary" 属性给出了关于博弈的简短信息摘要:

"NumberOfPlayers" 属性给出博弈中玩家的数量:

"NumberOfActions" 属性给出了博弈中的动作数量:

"MinMaxPayoffs" 给出每个玩家的最小和最大收益列表:

"Tree" 属性给出了博弈的 Tree 表示:

"Plot" 属性以与默认 TreeGamePlot 相同的方式绘制树博弈:

"MatrixGame" 属性将任何 TreeGame 转换为 MatrixGame

信息集  (2)

创建一个双人博弈,其中两个玩家各自只有一组信息:

绘制博弈图:

创建一个双人博弈,其中一个玩家没有时间意识:

绘制博弈图:

选项  (2)

ColorFunction  (2)

指定树博弈的图形和树所使用的颜色函数:

这会改变树的外观:

指定树博弈的图和树所使用的颜色函数:

这会改变树的外观:

它还改变了图的外观:

应用  (11)

历史游戏  (6)

奖品隐藏在三扇门中的一扇后面,游戏节目主持人蒙蒂·霍尔会要求您猜出奖品在哪里. 猜完之后,蒙蒂会打开一扇没有隐藏奖品的门,只留下您最初选择的门和另一扇门. 您可以选择保留您最初的选择,也可以切换到另一扇关闭的门.

生成蒙蒂·霍尔问题:

绘制博弈图:

升级游戏(Escalation game)的定义如下. 两个国家发生冲突。一个国家可以选择主动发起或不主动,另一个国家可以选择默许或升级. 请注意,第三个玩家,自然,通常用于描绘收益的随机性. 该游戏也称为核游戏(Nuclear game),指的是冷战期间的原子威胁.

生成升级游戏:

考虑树:

革命游戏(Revolution game)的定义如下. 殖民地可以选择叛乱或接受现状. 国家可以选择给予独立或镇压叛乱. 如果殖民地接受现状,国家可以选择对殖民地征税或不征税. 这种博弈通常在镇压叛乱的收益未知的情况下进行研究.

生成革命博弈:

考虑树:

海军部署游戏(Naval Deployment game)是俾斯麦战役游戏的延伸,其中有一支军队逃跑,另一支军队追击.

生成海军部署游戏:

显示图:

以蜈蚣游戏为例:

生成一个具有双倍或零增加收益的蜈蚣游戏:

显示图:

啤酒-乳蛋饼游戏(Beer-Quiche game)是一种信号游戏,定义如下. 玩家 B 正在考虑是否与玩家 A 决斗. B 不知道 A 是懦夫还是暴徒. 如果 A 是懦夫,B 更喜欢决斗. 玩家 A 想避免决斗. 首先,B 观察 A 是选择喝啤酒还是吃乳蛋饼当早餐. 两位玩家都知道懦夫更喜欢吃乳蛋饼,而暴徒更喜欢喝啤酒. 请注意,第三个玩家自然通常用于描绘 A 类型的随机性. 此外,玩家 A 通常被称为信号的发送者,而玩家 B 是接收者.

生成啤酒-乳蛋饼游戏:

显示图:

桌游  (2)

考虑一个二乘二的井字棋游戏,其中需要两个相邻的 X 或 O 才能获胜(例如,在

中,X 胜出,但
为平局):

考虑所有收益的数组:

要确定树游戏是否为零和游戏,验证总收益是否始终为 0:

考虑 20052015 年间 2200 ELO 以上国际象棋锦标赛中所有命名开局的树:

请注意,收益表示每个玩家在这些锦标赛中获胜的游戏比例.

例如,给定开局的收益 意味着,在所有使用该开局的比赛中,平均而言,白方胜出 ,黑方胜出 ,而 为平局.

绘制树游戏:

经济学博弈  (2)

入场游戏(Entry game)是经济学中众所周知的博弈论,其目的是避免垄断. 潜在进入者选择是否进入垄断者控制的市场. 如果潜在进入者进入,垄断者可以发起价格战或分享市场.

创建相应游戏:

显示树:

这相当于大富翁游戏:

计算子博弈完美均衡:

考虑一家小公司和一家大公司对同一种产品在高价和低价之间做出选择.

创建相应游戏:

显示树:

计算子博弈完美均衡:

军事博弈  (1)

李广与百骑的传说是一个信号博弈,其中将军或强或弱,而英雄李广必须撤退或准备.

生成博弈:

绘制战斗图:

可能存在的问题  (1)

对于给定的动作,如果其中一个选择具有概率,则所有选择都必须具有概率:

Wolfram Research (2025),TreeGame,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TreeGame.html.

文本

Wolfram Research (2025),TreeGame,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TreeGame.html.

CMS

Wolfram 语言. 2025. "TreeGame." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/TreeGame.html.

APA

Wolfram 语言. (2025). TreeGame. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TreeGame.html 年

BibTeX

@misc{reference.wolfram_2025_treegame, author="Wolfram Research", title="{TreeGame}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/TreeGame.html}", note=[Accessed: 15-January-2025 ]}

BibLaTeX

@online{reference.wolfram_2025_treegame, organization={Wolfram Research}, title={TreeGame}, year={2025}, url={https://reference.wolfram.com/language/ref/TreeGame.html}, note=[Accessed: 15-January-2025 ]}