PROLOGUE · 序幕

圣彼得堡

一场 287 年的赌局

从 1738 年的圣彼得堡科学院,到 2011 年《Nature》子刊上的遍历经济学—— 一道看似简单的赌局题, 为何困扰了人类近三个世纪?

12–15 分钟 · 5 幕 · 全程交互

滚动 / 点击均可推进

SCROLL
向下探索
ACT 01

邀请下注

"我开个赌局——抛硬币直到第一次正面,第 n 次出正面你赢 2n 元。 你愿付多少入场费玩一局?"

游戏规则

  • 不停抛一枚均匀硬币
  • 直到第一次出现正面 N
  • 你赢得 2^N

例:第 1 次正面赢 ¥2,第 2 次赢 ¥4,第 5 次赢 ¥32,第 10 次赢 ¥1024……

¥

大多数人填 10–50 元 · 你也可以从 5 块开始体验

你的 5 局战绩

局次抛掷次数 N奖金 2^N盈亏(按报价 {{ userPrice }} 元)
第 {{ i+1 }} 局 {{ r.n }} 次 ¥ {{ r.payoff.toLocaleString() }} {{ (r.payoff - userPrice > 0 ? '+' : '') + (r.payoff - userPrice).toLocaleString() }}
合计 ¥ {{ act1Total.toLocaleString() }} {{ (act1Pnl > 0 ? '+' : '') + act1Pnl.toLocaleString() }}

5 局太少了?让我们玩 1 万次给你看 ↓

ACT 02

悖论显形

"如果你的报价是对的,平均收益应该稳定在它附近。 现在让我们玩 10 000 局看看——"

期望的严格推导
$$E[X] = \sum_{n=1}^{\infty} 2^n \cdot \tfrac{1}{2^n} = \sum_{n=1}^{\infty} 1 = +\infty$$

每一项都恰好为 1,无穷项相加即正无穷——按数学,理性人应付出无限元

累积平均收益 $\bar X_N$

已模拟 {{ act2.totalSamples.toLocaleString() }} 局
累积均值 你的报价 ¥{{ userPrice }} Feller 渐近 $\log_2 N$

收益分布(log₂ x 轴)

厚尾形态
¥{{ act2.empiricalMean.toFixed(2) }}
当前经验均值 $\bar X_N$
¥{{ act2.fellerExpected.toFixed(2) }}
Feller 理论 $\log_2 N$

💡 反复点"再来 1 万次"——你会看到经验均值不断跳跃,永不真正收敛。 这就是大数定律对无穷期望失效的可视证据。

ACT 03

Bernoulli 救场

"1738 年,年仅 38 岁的 Daniel Bernoulli 给出了第一个解释—— 人不算钱,算"幸福"。"

Daniel Bernoulli 肖像(AI 生成)
Daniel Bernoulli (1700–1782)
瑞士数学家 · 1738 年《圣彼得堡科学院评论》
穷人 +¥1 ⇒ 大幸福 富人 +¥1 ⇒ 几乎无感 财富 x → u(x)
效用:财富 ≠ 幸福
$u(x) = \ln x$ · 边际效用递减
1选择效用函数
2计算期望效用
$E[u(X)] = \sum_{n=1}^{\infty} u(2^n) \cdot 2^{-n}$
{{ formatNum(currentExpectedUtility) }}
期望效用
{{ currentUtilityLabel }}
3反推公平价
$C = u^{-1}\bigl(E[u(X)]\bigr)$
¥{{ formatNum(currentFairPrice) }}
应付的"公平入场费"
你的报价 ¥{{ userPrice }} : {{ Math.abs(userPrice - currentFairPrice) < currentFairPrice * 0.5 ? '吻合 ✓' : '差距较大' }}

不同效用下的公平价对比

效用函数$E[u(X)]$公平价 $C$vs 你的报价 ¥{{ userPrice }}
{{ row.name }} {{ row.eu }} {{ row.fair }} {{ row.tag }}

💡 你的报价(约 ¥{{ userPrice }})通常落在对数效用 ¥4 与平方根效用 ¥11.66之间, 说明人脑大致在用一个介于两者之间的凹效用函数。

ACT 04

现代视角

"Bernoulli 的解法有 bug——1934 年 Menger 证明:log 也救不了。 1956 年 Kelly 换问题。2011 年 Peters 给出最终答案。"

4.1 — MENGER 1934

超圣彼得堡反例

把奖金从 $2^n$ 改成 $e^{2^n}$ 试试——

$$E[\ln X] = \sum_{n=1}^\infty \ln(e^{2^n}) \cdot 2^{-n} = \sum_{n=1}^\infty 2^n \cdot 2^{-n} = +\infty$$

⚠️ 对数效用下期望仍然发散。Menger 证明:任何无界效用函数都救不了某个反例。

4.2 — REALITY CHECK

庄家的钱不是无限的

设庄家最多赔付 $M$ 元,则真实期望:

$$E[\min(X, M)] \approx \log_2 M + 2$$
$M = 10^{ {{ bankerCapExp.toFixed(1) }} }$({{ bankerCapDesc }})
¥{{ truncatedExpectation.toFixed(1) }}
截断后的真实公平价

即使 $M$ 大到全球 GDP,公平价也不超过 ¥60。
这就是所有保险公司、彩票、衍生品都用截断的原因

4.3 — KELLY 1956

把"该付多少"换成"该投多少比例"

1956 年 Bell Labs(AI 生成)
1956 · BELL LABS · MURRAY HILL
John L. Kelly Jr. 把 Shannon 的信道容量公式搬到了赌桌

与其问"该付多少钱玩一局",不如问:如果可以反复玩,该把资本的多少比例 $f$ 投入?

$$f^* = \arg\max_f E\bigl[\ln(1 + f \cdot R)\bigr]$$
最优 $f^* \approx 3.4\%$(理论解)
100 条独立财富轨迹(log y 轴)
4.4 — PETERS 2011 · NATURE PHYSICS

遍历经济学:悖论的最终答案

"圣彼得堡悖论的根本原因不是数学,而是经济学的一个隐藏概念错误—— 把'集合均值'等同于'时间均值'。"

集合均值 vs 时间均值(AI 生成)
← ENSEMBLE  1 万人平行宇宙各 1 局
TIME  1 人单条时间轴 1 万局 →
ENSEMBLE 集合均值
1 万个玩家在平行宇宙里各玩 1 局,平均收益 = ?
¥{{ ergodicData.ensemble.toFixed(1) }}
集合均值(不断发散)
TIME 时间均值
1 个玩家在时间轴上玩 1 万局,对数增长率 = ?
{{ ergodicData.time.toFixed(3) }}
时间均值(log 增长率,有限)

两者不相等!

圣彼得堡这种乘性、厚尾过程是非遍历的。 经济学传统假设遍历性,所以才有了"悖论"。 理解了遍历性,悖论从来不是悖论。

ACT 05

现实回响

"狗狗币 100 倍、雷曼破产、彩票永远赔本—— 这些故事都有圣彼得堡的影子。"

CRYPTO · LOTTERY · INSURANCE · VC
四个 21 世纪的圣彼得堡变体
{{ scene.name }}

加密货币:21 世纪的圣彼得堡

假设你在历史某年用 ¥100 买入比特币,到今天回报是?

{{ btcYear }} 年
{{ btcMultiple.toFixed(1) }}×
回报倍数
¥{{ formatBigNum(100 * btcMultiple) }}
¥100 变成

BTC 历史回报呈典型 power law 分布——少数巨大涨幅主导整个序列。 这是 Peters 框架下的非遍历过程, 单一玩家集合均值 ≠ 时间均值。

彩票:负期望的全民博弈

以美国 Mega Millions 为例(票价 $2,平均奖池 $40M):

奖项中奖概率(1/N)奖金(USD)期望贡献
{{ t.match }} 1 / {{ t.odds_one_in.toLocaleString() }} ${{ t.prize.toLocaleString() }} ${{ (t.prize / t.odds_one_in).toFixed(4) }}
合计期望收益 ${{ lotteryEV.toFixed(2) }} / 票

票价 $2,期望收益 ${{ lotteryEV.toFixed(2) }}—— 买一张就期望亏 ${{ (2 - lotteryEV).toFixed(2) }}。
但人们仍然蜂拥而至——这正是 Kahneman-Tversky 前景理论中"低概率高收益"过度加权的体现。

保险:把厚尾"集合化"

保险公司本质上做的是:把每个个体的"非遍历厚尾损失",通过大数定律转化为"集合内可预测的均值"。

被保险人视角

单笔损失分布厚尾(如重疾、火灾)→ 凹效用下买保险是理性的

保险公司视角

合并 N=10⁶ 个独立保单 → 大数定律使总损失收敛到期望 → 收保费 - 期望损失 = 利润

保险业的存在本身,就是对"非遍历过程"做"集合化"操作——把单个玩家的"时间风险"换成"集合风险"。 这是 Peters 遍历经济学最直接的现实应用。

创业投资:Power Law 主导

YC 等创业孵化器的回报近似 Pareto 分布,少数巨大成功撑起整个基金:

回报倍数项目占比该档贡献期望
{{ o.multiple === 0 ? '归零' : o.multiple + '×' }} {{ o.pct }}% {{ (o.multiple * o.pct / 100).toFixed(2) }}×
组合期望 {{ vcExpected.toFixed(1) }}×

看似 50% 项目归零、25% 平庸——但 1.7% 的项目有 200×、0.3% 的项目有 1000×。 这就是 VC 行业生存的根本:靠厚尾巨头的"圣彼得堡式回报"。

EPILOGUE

你的赌局

圣彼得堡悖论 287 年的接力

{{ t.year }}
{{ t.who }}
{{ t.what }}

你的"理性 vs 直觉"对比卡

¥{{ userPrice }}
你的直觉报价
¥{{ formatNum(currentFairPrice) }}
{{ utilities.find(u => u.id === selectedUtility).name }}下的"公平价"

差距:{{ ((Math.abs(userPrice - currentFairPrice) / currentFairPrice) * 100).toFixed(0) }}%。 但请记住—— 没有"标准答案",只有"在哪个效用函数下你是理性的"。

制作 马一丁 · 赵晨露 · 张智涵 · 赵文浩

《概率论与随机过程》期中小组探究项目 · 2026

基于 Bernoulli (1738) · Menger (1934) · vNM (1944) · Kelly (1956) · Kahneman & Tversky (1979) · Peters (2011) ……

"下一个 287 年,圣彼得堡的故事会怎么继续?"