☰
信息集与子博弈精炼:如何用博弈树破解不可信威胁
2026/10/12 6:05:03 网站建设 项目流程

最近在整理某知名高校公开课博弈论的第十八到十九讲,主题是信息集与子博弈精炼,也就是标题里说的“信息集与最优子博弈”。这个说法其实挺有意思的——严格来说“最优子博弈”不是标准术语,更准确的说法是“子博弈精炼均衡”,但这两个概念放在一起,恰好抓住了这两讲的精髓:信息集用来刻画“谁在什么时候知道什么”,子博弈精炼则用来筛选那些真正站得住脚的均衡。简单说,这两讲解决的核心问题是:当参与者不是全知全能,当威胁或承诺不一定可信时,博弈的结局会怎样变化。

这两讲适合三类人看:一是准备系统学博弈论的学生,二是经常需要做策略决策的从业者(比如定价、竞标、商业谈判),三是想搞明白“为什么有些威胁只是说说而已”的好奇读者。内容不涉及复杂数学,核心工具就是博弈树和倒推法,理解了这两个工具,后面的贝叶斯博弈就能顺畅衔接。我把课程内容结合自己的实操经验重新梳理了一遍,把一些容易踩坑的地方也一并整理出来。

1. 信息集:从“你知道我知道”到“你不知道我知道”

1.1 信息集到底在刻画什么

先打一个比方。想象你在玩扑克,你手里的牌对方看不到,对方的表情你也在努力解读。博弈论里要把这种“看不全”的情况模型化,靠的就是信息集(information set)。信息集的定义是:在博弈树的某个阶段,某个参与人可能处于的多个节点所构成的集合,而这个参与人在这些节点上无法区分自己究竟在哪一个节点。换句话说,站在这些节点中间,当事人能看到的“历史”是一样的——他知道自己走到了这一步,但不知道这一步具体是众多可能路径中的哪一条。

一个简单的例子。假设有个投资者(参与人A)决定是否投资某初创公司,但不确定创业者(参与人B)是“勤奋型”还是“忽悠型”。在博弈树上,A的决策节点其实有两个:一个是“创业者勤奋”对应的节点,一个是“创业者忽悠”对应的节点。如果A无法区分这两个状态——比如没有足够尽调,也没有信号可以分辨——那么这两个节点就属于同一个信息集。A在这个信息集上做决策时,只能基于自己对两种类型的概率判断,而不是基于确定的事实。

这里要注意:信息集里的所有节点,都必须给参与人相同的可选行动集合。原因很直观——如果在一个节点你只能选“投资”或“不投资”,在另一个节点却多了“追加投资”这个选项,那么当你面对这个行动菜单时,你立刻就能分辨出自己在哪个节点了。那就不能叫“无法区分”了。信息集的这个约束条件,保证“不知道”是真实的不知道,而不是策略性伪装。

1.2 完美信息、完全信息和不完全信息的三角关系

很多人初学博弈论会把“完美信息”和“完全信息”搞混,这两讲恰好把这个问题掰开了。简单粗暴的记忆方式是这样的:

  • 完全信息:指博弈的结构、规则、所有参与人的收益函数都是公共知识——你知道,我知道,而且我知道你知道,以此类推。完全信息不要求你知道对方具体做了什么选择,只要求你对“规则和收益”有完整的认知。
  • 完美信息:指博弈树上的每个决策节点都是单节点信息集——任何参与人做决策时,都清楚自己精确地处于哪个历史节点,知道之前每一步发生了什么。
  • 不完全信息:至少一个参与人不清楚某些关键参数(比如对方的类型、成本、收益),通常由“自然”先行动引入,或者由对方隐蔽行动造成。

用打牌来对应:完全信息像你清楚规则和输赢赔率,但不知道对手底牌;完美信息像摊牌打明牌,所有信息一目了然;不完全信息则更接近现实,连规则参数都有未知成分(比如对方有可能是新手,对规则理解有偏差)。

信息集是理解这三者差异的核心工具。在博弈树上,完美信息对应所有信息集都是单点,不完全信息则必然存在包含多个节点的信息集。这两讲反复强调的一点是:信息集不是用来“画着好看”的,它直接改变参与人的信念和最优反应。同样一个“不投资”的决策,假如A知道自己面对的是“勤奋型”,不投资可能是错的;但如果是在一个包含两种类型的信息集上做决策,那就需要权衡概率加权后的期望收益。信息集结构一变,均衡结果就可能面目全非。

2. 不完全信息博弈:把“未知”画进树枝里

2.1 自然行动与初始信念

在第十八讲里,授课老师引入了一个关键工具——自然(Nature),或者叫“自然行动”。自然不是一个理性的参与人,它没有收益,也没有策略,它只是以某个概率随机决定“世界的状态”。比如“创业者是勤奋型还是忽悠型”“市场需求是高还是低”“对手的成本是高还是低”,这些不由任何参与人选择的事情,都交给自然在博弈最开始(或者某个时间点)随机决定。

引入自然以后,博弈树就可以统一处理完全信息和不完全信息了。完全信息博弈可以看作自然只以概率1选择了一个状态;不完全信息博弈,则自然以某个概率分布选择了多种可能状态,而后续参与人在某些节点无法区分这些状态。

这里有一个实操中特别容易忽略的点:自然行动的“概率”不是凭空来的,它代表的是参与人在博弈开始前的先验信念(prior belief),也就是所有参与人都知道的公共知识。比如“投资人有60%的把握认为创业者是勤奋型”,这个60%不是随便写的,它可能是基于行业统计数据、尽调结果、同类型项目的历史表现得出的。博弈论模型把它当成公共知识来处理,意思是双方都知道这个先验概率,也都知道对方知道。

在课堂推导中,求解带自然行动的博弈,思路和完全信息博弈没有本质区别:还是从最后一个决策节点倒推。关键差异在于,面对一个信息集而不是单节点,参与人要在该信息集上比较“每个节点对应收益的加权平均”,权重就是条件概率(通常是先验概率经过贝叶斯更新后的后验概率)。这个“条件概率下的期望收益最大化”,就是所谓的“贝叶斯序贯理性”。

2.2 贝叶斯更新:信息集上的“概率再分配”

第十九讲的一个重要应用是贝叶斯更新(Bayesian updating)。简单来说,当事人在博弈过程中会观察对方的行动,这些行动既是策略,也在传递信息。观察到一个行动以后,理性参与人会调整自己对“世界状态”的概率判断,这就是后验信念。然后,后验信念又会影响后续的行动选择。这个过程把“信息”变成了博弈的内生变量——信息不只是给定的,还可以由参与人的行为创造。

典型的例子是“信号传递博弈”:低成本的类型通过某种花费高昂的信号来展示自己是高质量(比如创业者愿意用个人资金来跟投,表明项目自己都敢押注),而低成本信号之所以有效,是因为“忽悠型”模仿不起。观察者看到信号后更新信念,如果信号成本足够高,后验概率会把“优质类型”和“发出信号”绑定。这就是信息经济学里说的分离均衡。

这里必须提醒一个新手常犯的错误:在博弈论里,信念不是心理学概念,而是概率论概念。参与人的后验信念必须由先验信念和观察到的行动联合决定,不能随心所欲地“觉得对方很靠谱”。在求解时,必须保证信念满足贝叶斯法则——也就是说,凡是博弈路径上能够观察到的行动,后验概率就要按贝叶斯公式重新计算;凡是偏离均衡路径的行动,该如何设定信念,则存在多重选择,这恰恰是后面精炼均衡(比如序贯均衡、完美贝叶斯均衡)要解决的问题。这两讲只涉及较基础的情形,但理解这个“信念必须和行动逻辑自洽”的点,是后续所有进阶内容的地基。

3. 子博弈精炼均衡:让威胁变得可信

3.1 为什么纳什均衡还不够

纳什均衡是博弈论的基石,但它有一个著名的缺陷:它允许“空头威胁”存在于均衡之中。什么意思呢?纳什均衡只要求“给定对方的策略,我的策略是最优的”,它不要求策略在博弈树的每一个子节点上都保持最优——尤其是那些实际上不会被走到的节点。

举个最经典的例子:进入威慑博弈。在位者(现有厂商)面对潜在进入者。进入者先决定“进入”还是“不进入”;如果进入,在位者再决定“反击”(打价格战)还是“容忍”(共享市场)。在位者反击会两败俱伤,收益都很低;在位者容忍,进入者赚钱,在位者收益略减。用倒推法看,在位者如果面对“进入”,最优选择显然是“容忍”(容忍收益高于反击)。因此进入者的最优策略是“进入”。这是子博弈精炼均衡的结果。

但纳什均衡允许另一个结果存在:进入者选择“不进入”,因为在位者“威胁”说只要你进入就一定会反击。给定进入者不进入,在位者的威胁策略(反击)并不会被触发,因此在位者没有偏离动机;给定在位者威胁反击,进入者确实不应该进入。所以“进入者不进入,在位者威胁反击”也是一个纳什均衡——但它依赖于一个“不可信的承诺”。一旦进入了真实世界,在位数真的面对进入者时,理性会驱使它选择容忍。谁会信一个自己都不会兑现的威胁呢?

信息集在此处的角色很关键:子博弈要求从一个单节点信息集开始,而“进入之后”的节点正是单节点信息集。如果要判断“反击”是不是理性的,就必须保证它在“进入”这个子博弈里是最优的。“反击”在这个子博弈里不是最优的,所以剔除。这就是子博弈精炼的思想:不是只看整棵树的纳什均衡,而是要求策略组合在每一个子博弈上都构成纳什均衡。

3.2 精炼的定义与逆向归纳的逻辑闭环

定义说清楚:一个策略组合是子博弈精炼纳什均衡(Subgame Perfect Nash Equilibrium, SPNE),当且仅当它在原博弈的每一个子博弈上都构成纳什均衡。这里的“每一个”是重点——包括那些均衡路径上不会到达的子博弈。之所以要管那些“不会到达”的分支,因为正是这些分支决定了威胁或承诺的可信度。

求解方法就是大家熟悉的逆向归纳(backward induction):从博弈树的末端节点开始,在每个最后的决策节点上选择最优行动;然后把这些选择代入上一层的决策节点,再选择最优行动;一直推到初始节点。这样得到的路径就是子博弈精炼均衡路径。注意,逆向归纳不是靠“感觉”倒推,而是每一步都在该决策节点所处的信息集上做期望收益最大化——如果信息集里有多节点,就要做加权平均;如果只有单节点,就直接比较收益。

这也解释了为什么“信息集”和“子博弈精炼”必须放在一起讲。子博弈的定义有一个硬约束:子博弈不能切断任何信息集。也就是说,子博弈只能从单节点信息集开始,同时包含该节点之后的全部历史分支。为什么?因为信息集代表参与人的“无知状态”。如果子博弈切断了信息集,等于假设参与人获得了自己本不该知道的信息,这和博弈规则矛盾。所以“子博弈精炼”天然建立在“完美信息或可完美划分信息集”的基础上。反过来看,一旦信息集结构复杂,很多博弈根本不存在合适的子博弈——那就要用条件更精细的均衡概念(如完美贝叶斯均衡)来替代了。

4. 实操:从建模到求解放手做一遍

4.1 一个完整的“市场进入”扩展式博弈建模

与其空谈理论,不如把一个完整的例子从头做到尾。这里我沿用课堂上最经典的进入威慑模型,但加一点不完全信息元素,方便把第1节和第2节的工具都用上。

假设市场有一个潜在进入者(E)和一个在位者(I)。博弈顺序如下:

  1. 自然决定在位者的成本类型:高成本(H)的概率为 p,低成本(L)的概率为 1-p。这里 H代表在位者反击时两败俱伤更惨,L代表在位者成本低、反击时还能保持一定利润。
  2. E 观察不到自然的选择——他只知道概率 p。这就是一个两元素信息集:E不知道自己在“H节点”还是“L节点”。
  3. E 选择“进入”或“不进入”。
  4. 如果E选择“不进入”,博弈结束,E获得0(或者保留收益),在位者获得垄断利润(H类型垄断利润为 10,L类型为 12)。
  5. 如果E选择“进入”,I(在知道自己的类型的前提下)选择“反击”或“容忍”。这里注意,I知道自己类型,所以I有单节点信息集。

收益大致设定如下(单位:万元):

  • 高成本、反击:E = -2,I = 2
  • 高成本、容忍:E = 4,I = 5
  • 低成本、反击:E = -1,I = 7
  • 低成本、容忍:E = 5,I = 4

这里数字刻意设置成:“反击”在高成本类型下对I不划算(2 < 5),“反击”在低成本类型下对I更划算(7 > 4)。换句话说:高成本类型会容忍,低成本类型会反击。这是一个“类型决定行为”的设定。

4.2 一步步倒推:从末端决策到初始决策

第一步:站在I的节点上。I知道自己的类型。如果是H,比较“反击收益2”和“容忍收益5”,选容忍;如果是L,比较“反击收益7”和“容忍收益4”,选反击。所以I的策略很清晰:H类型容忍,L类型反击。

第二步:回到E的信息集。E不知道自己的节点是H还是L,因此要计算两种情况下“进入”的期望收益:

  • 如果自然选了H(概率 p),那么I会选择容忍,E的收益是4;
  • 如果自然选了L(概率 1-p),那么I会选择反击,E的收益是-1。

所以E选择“进入”的期望收益为:4 × p + (-1) × (1 - p) = 5p - 1。E选择“不进入”的收益为 0。因此:

  • 当 p > 0.2 时,5p - 1 > 0,E选择进入;
  • 当 p < 0.2 时,5p - 1 < 0,E选择不进入;
  • 当 p = 0.2 时,进入与不进入无差别,混合或不进入都可。

这个临界值 0.2 很有意思:只要E认为在位者是高成本的概率超过20%,进入就是有利可图的。这里能直观看到不完全信息的价值——如果不是引入信息集和自然行动,这类“概率依赖型”的决策结论根本推不出来。

第三步:确定完整均衡策略组合。当 p > 0.2 时,均衡策略是:E进入;I(H)容忍,I(L)反击。当 p < 0.2 时,均衡策略是:E不进入(潜在的策略:如果进入,H容忍,L反击)。注意一个细节:在“E不进入”的均衡里,I的策略不需要被触发,但必须说明清楚“如果被进入会怎么选择”,否则无法验证可信性。

4.3 计算中的信息集约束和常见误判

上面这个例子看起来简单,实操中至少有三个坑值得单独拎出来。

第一个坑是“在信息集上直接用平均收益代替期望收益”。有人看到E的两种节点收益分别是4和-1,就手一滑写成“进入收益是(4 + (-1))/2 = 1.5”,然后得出“进入一定好”。这其实偷偷假设了p = 0.5。如果p不是0.5,这种简单平均就错了。必须先写期望收益公式,再把p代进去。

第二个坑是“把I的反击/容忍策略当成与类型无关”。在这个模型里,I知道自己的类型,所以他的信息集是单点的。但如果模型设定改为“I自己也不确定成本类型”,那I就也面临一个多节点信息集,求解逻辑又要变——需要在I的信息集上做加权平均。很多新手把不同的信息结构混着用,模型前后矛盾,算出来的均衡自然经不起推敲。这门课反复强调信息集的作用,本质上就是在逼你每次写下博弈树之前先问自己:“每个参与人在做决策时,到底知道什么?”

第三个坑是“忽略未到达分支的可信性”。如果算出来E选择不进入,有些同学就直接说“均衡就是E不进入”。但严谨的做法必须补上“如果E偏离了不进入,I会怎么做”——这个“偏离后的反应”定义了威胁的可信性。如果I的反应竟然是“反击”,那这个反击在偏离后的子博弈里是否最优?如果不最优,这个均衡就不是子博弈精炼的,只是普通纳什均衡。这也是SPNE和纳什均衡最核心的分水岭。

5. 实战中容易翻车的四个细节

5.1 画博弈树时最常见的错误:信息集的连线画错

信息集的视觉表达要特别注意。两个节点属于同一个信息集,通常用一条虚线连接,或者用椭圆圈起来。很多初学同学在画图时,把I的两个决策节点(对应H和L类型)也画成了同一个信息集,理由是“I也不确定自己类型”。但在这个例子里,I显然知道自己是否高成本——成本类型是I的私有信息。如果I都搞不清自己的成本,那就不该有“H/L”这个分类分别对应不同收益的基础。

一个自检办法:对每个参与人,在博弈树的每个信息集上问自己——在这个信息集的所有节点上,该参与人是否拥有完全相同的历史记忆(他记得自己做过什么选择、观察过什么信号)?如果记忆不同,就不能划在同一信息集。这对应博弈论里的“完美回忆”假设,违反这一点会引发复杂的“不完美回忆”问题,课程里没有深入,但建模时必须避免。

5.2 子博弈识别:不是随便切一刀就算子博弈

判断一个节点能否成为子博弈的起点,标准有两个:一是必须是单节点信息集;二是该节点之后的树必须完整包含所有后续历史节点和收益,不能从中间切开。同时,子博弈不能横跨信息集的分隔线。

在实际操作中,最稳妥的方法是从末端节点开始往上找。从每个末端节点往上回溯,找到最近的一个“单节点信息集”,以它为根,看它覆盖的所有后续节点是否构成一棵封闭的树。如果某处被信息集割裂,那就不能从这里切。

许多教材习题里故意设置“信息集横跨两条分支”的模型,目的就是让读者意识到:此时SPNE概念不够用了。遇到这种情况,不要硬套逆向归纳,要升级到完美贝叶斯均衡或序贯均衡。知道什么时候该换工具,也是这两讲想传达的素养。

5.3 关于“威胁”的实战理解

从这门课里我最想带走的生活经验是:威胁的价值取决于它兑现时的代价。商战里常见的“我们一定会反击到底”的宣言,如果反击的代价远高于忍让,那这宣言在子博弈精炼均衡里根本不成立。反过来,要让威胁可信,要么把自身类型改成“不得不反击”的类型(像例子里的低成本在位者),要么通过制度设计把反击变成“自动触发”的机制,比如可见的成本承诺、合约绑定、声誉机制。

这个逻辑也能用来识别别人的承诺。如果一个合作方总是在事前承诺“出了任何问题我们全权负责”,但事后出问题时他的最优选择是推诿,那你就该把这个“承诺”看作不可信威胁——不是他人品有问题,而是他的激励结构使然。博弈论训练的核心能力之一,就是透过声明的表面,去看声明背后的收益结构。

5.4 运算中的信念、概率和公共知识

一个更加隐蔽的坑:概率 p 到底是不是公共知识?在标准建模里,p是公共知识——所有人都知道,而且知道彼此知道。但如果换成真实市场的谈判场景,双方对概率的估计可能不一致。此时模型就要从“共同先验”转向“异质先验”,求解会复杂很多。课程里默认共同先验是为了可计算性,应用到自己项目里时,需要先确认这个假设是否成立,否则算出来的“均衡”可能只是“我的模型里的均衡”,而不是“真实世界双方策略的稳定组合”。

我在自己写分析框架时,习惯把 p 的敏感性分析做一遍:p 从 0 到 1 取不同值,看均衡路径在哪些区间被切换。这个方法在这节课里也有体现——当 p 跨过 0.2 的门槛时,进入者的策略发生跳变。这类“阈值分析”在实际商业决策中比单点估计更实用,因为它告诉你:与其猜测 p 是 0.3 还是 0.5,不如集中精力搞清楚 p 是否大于 0.2。判断维度一下子从精确估计降维到区间判断,可操作性就高了很多。

6. 从课堂到真实场景:这两个概念还能干很多事

6.1 定价策略、招标设计与市场信号

信息集和子博弈精炼不是书斋理论,几乎所有需要“策略互动+信息不对称”的场景都能套用。比如平台定价:潜在竞争者决定是否进入某个细分市场,先要看在位平台的反应。如果平台具有规模效应,反击(补贴、压价)的可信度就高,潜在进入者会收敛;如果平台反击成本太高,进入者反而会大胆进场。这个推理和上面的进入威慑模型完全同构,唯一变化是收益数字和概率估计。

再比如招标设计。投标人不知道竞争对手的成本分布,这就是个自然行动下的不完全信息博弈。招标方如果设计一个“首价密封投标”机制,实际上是在把参与人的策略空间拉到同一个信息集上进行博弈。为什么现实中很多招标会设置“最低价中标或最接近均价中标”这类规则?本质是在调节参与人预期——改变他们面对的信息集结构和收益权重,从而诱导不同的报价策略。信息集视角能帮你理解很多机制设计背后的深意。

6.2 作为自动化决策脚本的博弈树

除了做分析和写文章,博弈树还能直接编程成决策逻辑。我在自己某个模拟项目里,就把这类扩展式博弈转换成了状态机:节点代表历史状态,信息集代表「当前状态感知」,自然行动由随机数发生器实现,倒推求解在代码里就是递归回溯。每次给系统输入当前状态时,它只会根据“当前信息集允许的行动集合”来选择动作——这样的设计天然保证了决策不会“偷看”不该知道的信息。

如果你打算写类似的代码,建议这样组织数据结构:每个信息集一个对象,包含若干节点引用;每个节点包含参与人编号、可用行动列表、子节点映射;收益数组挂在末端节点上。求解时,从末端节点向上递归:遇到单节点信息集,取最大收益;遇到多节点信息集,先确认该参与人是否具备条件概率,再取期望收益最大值。这个递归过程本质就是逆向归纳的算法实现。

6.3 我的个人体会

最后说一点个人感受。这两讲的标题把“信息集”和“子博弈精炼”放在一起,其实暗示了博弈论的两个层次:第一层是“看清世界”——用信息集精确描述谁在何种无知状态下做决策;第二层是“理性选择”——在清楚了这个无知状态后,用精炼均衡筛选出真正稳健的策略组合。

我在刚接触这些概念时总觉得它们很抽象,后来自己做项目、分析真实商业竞争时才发现,这两个概念几乎每天都在起作用。比如评估竞争对手的一份声明,我会条件反射地问:“这个威胁在他真正面临选择时,还是最优的吗?”判断合作伙伴的一番表态,我会想:“他表达的是真实激励结构,还是只是希望我改变信念?”把这种思维训练成习惯以后,看待很多谈判、定价、联盟问题都会清楚不少。

回头看,这门课没有堆砌公式,却把两个最关键的建模工具讲透了。信息集教你怎么严谨地描述“不知道”,子博弈精炼教你如何在“不知道”的前提下筛选“可信”的策略。这两个工具搭在一起,足以支撑你理解后面更复杂的拍卖设计、信号博弈、机制设计理论。建议认真把扩展式博弈的画法和逆向归纳的流程练熟,多手算几个例子,自然就能体会到其中的妙处。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询