反直觉概率

本文主要取材于香港中文大学李硕彦教授的两篇文章

  • 神奇的模式概率与鞅

  • A Martingale Approach to the Study of Occurrence of Sequence Patterns in Repeated Experiments


前一篇风格比较轻松,后一篇则较有技术性。我努力把二者的优点作一个结合。


反直觉的概率模式

 

著名概率学家 Willianm Feller 在他的名著 "An introduction to probability and its applications" 中提到了这样一个实验:重复抛掷一枚均匀的硬币,用 H 代表正面向上,T 代表背面向上,一直到连续出现 6 次 H 为止。这里连续 6 个H 组成的模式记作 HHHHHH,所需要抛掷硬币的次数叫做等待时间。等待时间是一个随机变量,最小值是 6,最大值可以是无限。Feller 问:等待时间的均值是多少?


让我们先从直观上分析一下:由于硬币是均匀的,所以如果抛掷硬币的次数很多很多,所有由 H 和 T 组成的长度为 6 的 $2^6=64$ 个模式出现的频率应该是基本一样的。比如抛掷 $64\times 10^{10}$ 次,则平均每个模式都会出现 $10^{10}$ 次左右,换句话说每个模式大约间隔 64 次就会出现一次。于是我们试着得出结论:


所有 64 个模式的平均等待时间都是 64。


这个推导正确吗?Feller 不放心,他用 Markov 链的工具做了细心的计算,发现:


模式 HHHHHH 的平均等待时间不是 64,而是 126。


他又尝试了另一个长度为 6 的模式:


模式 HHTTHH 的平均等式时间既不是 64,也不是 126,而是 70。


Feller 称自己的这些计算结果 "违反直觉"。


当真理和直觉冲突的时候, 我们就要仔细检查一下我们的直觉,看看到底哪里出了纰漏。其实在我们刚才的分析中,错误地混淆了 "更新时间" 和 "等待时间" 这两个概念。一个模式的更新时间,是指从这个模式出现到下一次出现所需要的时间,它也是一个随机变量,比如抛硬币的结果是如下的序列:


HTHHTTHHTHHTTTTHTHTTTTHHHHTTHHTTHHH


其中模式 HHTTHH 出现了三次,三个带下划线的 H 表示完成时间。模式第一次和第二次出现间隔为 21,即更新时间取值为 21;而第二次和第三次出现间隔为 4,这时更新时间取值为 4。

模式 HHTTHH 的更新时间最小值为 4,而等待时间最小值为 6,所以它们明显是不同的随机变量。每个模式平均每 64 次就会出现一次这句话是没有问题的,但是它说的是每个模式的平均更新时间是 64。用更新时间的结论去算等待时间,当然结果会出问题。


还有更不可思议的事情


我们还是用掷硬币为例子:连续抛掷一枚均匀的硬币,我们想看看 THTH 和 HTHH 哪一个先出现,也就是说让这两个模式 "赛跑"。THTH 的平均等待时间是 20,而 HTHH 的平均等待时间是 18,也就是说 THTH 跑的比较慢而 HTHH 跑的比较快,那么


在这个赛跑中,模式 THTH 的胜算比是不是应该接近于 9 比 10 呢?


答案是否定的,这其实是一个一面倒的竞赛:


看起来慢一些的模式 THTH,其与 HTHH 的胜算之比为 9 比 5,即平均每 14 场赛跑,THTH 会赢 9场,而看起来快一些的 HTHH 倒只赢 5 场。


为什么会出现这种反直觉的现象呢? 其实 "跑得慢" 和 "赢得多" 并不矛盾:THTH 击败 HTHH 的方法就是 "小胜多胜",在 THTH 先撞线的比赛中,THTH 只领先 HTHH 很少,而 HTHH 先撞线的比赛中,HTHH 可以领先 THTH 很多,于是平均下来,虽然 THTH 赢的多一些,但是平均耗时反倒长一些。

这些结果是怎么算出来的呢?接下来我们介绍一个非常巧妙的办法,它借助于概率论中 "鞅" 的概念,可以把前面这些问题 "一网打尽"。


鞅与赌博序列


接下来我们用 HTHT 这个模式为例子,来演示如何求出它的平均等待时间。


假设有一个赌徒,怀里揣着 1 元钱来到一家赌场,他的目标是赌中 HTHT 这个序列。

第一天,他押上这 1元钱,赌第一次掷硬币的结果是 H。如果他赌错了就得空手走人,而赌对的话则可以赢得 2 元(资金翻番)并留在赌场。

第二天,他押上全部的 2 元,赌第二次掷硬币的结果是T。跟以前一样,赌错了空手走人,赌对了的话则资金翻番变成 4 元并留在赌场。

第三天,他押上全部的 4 元,赌第三次掷硬币的结果是 H。赌错了空手走人,赌对了的话则资金翻番变成 8 元并留在赌场。

第四天,他押上全部的 8 元,赌第四次掷硬币的结果是 T。赌错了空手走人,赌对了资金翻番变成 16 元,赌局结束。

这个赌局很像电视节目里的闯关游戏,赌局一共有 4 关,赌徒要一关一关的闯,中间任何一关输了都要空手走人。


这个赌博场景的关键在于,每一天的赌局对赌徒和庄家来讲都是公平的:大家在期望的意义下都是不赔不赚。这是因为每一天,赌徒都以 1/2 的概率输光赌本,也以 1/2 的概率将赌本翻番。


现在假设有一个赌博团伙,他们每天都派一个人到赌场赌博,每个赌徒的赌局与上面的描述相同,不同的赌徒的赌局互相独立。我们用 $\{X_n,n=1,2,\ldots,\}$ 表示第 $n$ 天结束以后这个团伙的 "净收益",则每个 $X_n$ 都是一个随机变量。


由于赌博团伙和赌场之间的赌局总是公平的,所以在期望的意义下双方都不赚钱,即对每个 $n$ 都有 $EX_n=0$。不仅如此,不论第 $n$ 天结束时赌徒们赢了多少钱(比如说赢了 $a$ 元,即 $X_n=a$),他们第 $n+1$ 天结束后的净收益期望仍然是 $a$,即\[ E[X_{n+1} | X_n=a] =a .\]

或者更简洁的写为\[ E[X_{n+1} |X_n] =X_n.\]

数学上我们称 $\{X_n\}$ 为鞅序列。用直白的话说,就是 "展望明天,结果和今天是一样的" 。


设 $\tau$ 是模式 HTHT 的等待时间,概率论中有个著名的 Doob 可料停时定理,说的是在一定的条件下,可以把等式 $EX_n=0$ 中的下标 $n$ 换成随机时间 $\tau$,结论仍然是对的:

\[ EX_\tau=0.\]

我们这里不讨论具体是怎样的条件可以保证上面的式子成立,你只要相信在这个问题中可以放心用就可以了。


显然 $X_\tau=W-\tau$,这里 $W$ 表示第 $\tau$ 天结束时留在赌场内的赌徒的资金之和,$\tau$ 表示赌博团伙带入赌场的赌本是 $\tau$ 元,根据上面的讨论,有 $EW=E\tau$ 成立。这里的关键在于 $W$ 不是一个随机变量,而是一个可以算出来的常数!


我们仔细分析一下当第 $\tau$ 天结束的时候,哪些赌徒还在赌场内,他们各自有多少钱。首先只有第 $\tau-3$ 到第 $\tau$ 天来赌场的这 4 个赌徒还有可能留在赌场。其中第 $\tau-3$ 天来的赌徒最幸运,赌对了全部的序列,他还有 16 元;第 $\tau-1$ 天来的赌徒也不错,他赌对了 HT,他还有 4 元,因此赌徒们总共有 $W=16+4=20$ 元,即 $E\tau=20$。


这里第 $\tau-1$ 天来的赌徒最有趣:他赌的明明是 HTHT 的前缀 HT,但是由于 HT 恰好也是 HTHT 的后缀,因此他能够赢钱!

这个推理完全适用于一般的情形:设 $P=(a_1,a_2,\cdots,a_m)$ 是一个给定的由 T 和 H 组成的模式,我们计算它的全部既是前缀又是后缀的子序列的长度,设为 $l_1,\cdots,l_r$,则 P 的等待时间 $\tau$ 的期望为

\[ E\tau = 2^{l_1}+\cdots+2^{l_r}.\]

再举个例子:HHHHHH 的每一个前缀都同时是它的后缀,因此它的平均等待时间为\[ 2^6+2^5+2^4+2^3+2^2+2^1 = 126.\]

所以一个模式的平均等待时间完全由它的自匹配的程度决定。


把上面的方法稍作修改,还可以用来计算 $\tau$ 的生成函数

\[ E[s^\tau] =\sum_{n=1}^\infty P(\tau=n)s^n.\]

为此只要假设第 $n$ 天来的赌徒怀里揣的钱是 $s^n(0<s<1)$ 即可,详情略去。

 

多个模式的等待时间与获胜概率

 

假设同时有多个模式 $A_1,\ldots,A_m$ 加入 "赛跑",我们想计算它们各自胜出的概率。用数学公式表示,就是设 $A_i$ 的等待时间为 $\tau_i$,令

\[ \tau=\min\{\tau_1,\ldots,\tau_m\},\]

则 $\tau$ 表示赛跑过程中冠军 "撞线" 的时刻,又令 $p_i=p(\tau=\tau_i)$,则 $p_i$ 表示模式 $A_i$ "夺冠" 的概率。我们想计算出每个 $p_i$ 的值来。

为此先给一个定义:


定义:设 A 和 B 是两个给定的模式,且 A 和 B 都不是对方的连续子序列。我们计算所有既是 A 的后缀又是 B 的前缀的全部子序列,设它们的长度为 $l_1,\cdots,l_r$,定义 A 和 B 的匹配指数为

\[ A\ast B = 2^{l_1}+\cdots+2^{l_r}.\]

如果 A 的任何后缀都不是 B 的前缀则 $A\ast B$ 定义为 0。特别当 A=B 时,$A\ast A$ 就是前面计算的 A 的平均等待时间 $E\tau$,这个值又叫做 A 的自匹配指数。


我们要证明这样一个引理 :


引理:如果已知掷硬币的结果是以模式 A 开头的,那么距离模式 B 出现还需要等待的时间的期望为 \[E\tau_{AB} = B\ast B -A\ast B.\]


引理的证明:仍然是采用赌博序列的方法, 每天来的赌徒赌的是模式 B。只不过这个时候我们已经知道了前 $k$ 次赌博的结果是模式 A(假设序列 A 的长度为 $k$),所以不难算出前 $k$ 天赌博团伙的总资金为 $A\ast B$ 元。由于赌局始终是公平的,所以从 $k+1$ 天起,直到模式 B 出现的这 $\tau_{AB}$ 天里,赌徒们的净收益期望应该是 0。到模式 B 出现时,赌徒们的资金将变成 $B\ast B$ 元,所以这 $\tau_{AB}$ 天中赌徒们的资金增加了 $B\ast B-A\ast B$ 元,扣除他们的投入 $\tau_{AB}$ 元,就是这段时间的净收益,其期望为 0:

\[ E [B\ast B-A\ast B -\tau_{AB}]=0.\]

引理证毕。


接下来叙述并证明一个一般的结论:


定理:设 $A_1$, $A_2$, $\cdots$, $A_m$ 是 $m$ 个事先给定的且两两互不嵌套的模式,记矩阵\[M=\begin{pmatrix} A_1\ast A_1 & A_1\ast A_2&\cdots& A_1\ast A_m\\ A_2\ast A_1&A_2\ast A_2&\cdots& A_2\ast A_m\\ \cdots&\cdots&\cdots&\cdots\\ A_m\ast A_1&A_m\ast A_2&\cdots&A_m\ast A_m\end{pmatrix},\]\[\pi = (p_1,p_2,\cdots,p_m)^T,\quad \mathbf{1}=(1,1,\cdots,1)^T,\]则 $M$ 是可逆矩阵,并且

\[ M\pi =E[\tau]\mathbf{1}.\]


在证明定理之前,先说说怎样根据定理的结论来计算 $E[\tau]$ 和概率分布向量 $\pi$。首先解出 $MY=\mathbf{1}$ 的解 $Y=(y_1,y_2,\cdots,y_m)^T$ 来。根据可逆矩阵解的唯一性,必然有 $\pi=E[\tau]Y$。但是 $\pi$ 是一个概率分布,它的所有分量之和为 1,因此 \[ E[\tau] =\frac{1}{y_1+y_2+\cdots+y_m}.\]

($M$ 是可逆矩阵这一点是需要证明的,本文就省略了。事实上 $A_i$ 之间两两互不嵌套这个条件就可以保证 $M$ 是可逆的)

有了 $Y$ 和 $E[\tau]$ 自然立刻就得到了 $\pi$。


定理的证明:我们有

\[ E[\tau_i] = E[\tau] + E[\tau_i-\tau] =E[\tau] +\sum_{j=1}^m p_jE[\tau_i-\tau|\tau=\tau_j].\]

根据引理,

\[ E[\tau_i-\tau|\tau=\tau_j] = A_i\ast A_i-A_j\ast A_i,\]

因此\[ A_i\ast A_i=E[\tau]+A_i\ast A_i-\sum_{j=1}^np_j A_j\ast A_i.\]

这就证明了定理。


在只有两个模式 A 和 B 的情形,二者各自获胜的概率有一个很简单的表达式:


推论:设 A,B 是两个给定的序列,它们互不为对方的连续子序列,则序列 B 和序列 A 的获胜概率之比为 $(A\ast A-A\ast B):(B\ast B-B\ast A)$。


Penney 游戏


我们已经看到了掷硬币过程中的两个反直觉的现象,其实不止这些。

Penney 游戏是两个玩家 Bob 和 Alice 的博弈游戏,它以掷硬币为工具:游戏开始前,两人各自选择一个长度为 3 的由 H 和 T 组成的模式,比如说 Bob 选择 HHH,Alice 选择 THH,然后掷硬币直到其中一人选择的模式首先出现,先出现的一方获胜。


Penney 游戏有一个独特之处:


假设 Bob 先选择他的序列,则不论 Bob 怎样选,Alice 总可以 "针锋相对" 地选一个合适的序列,使得自己的获胜概率更高。总而言之,Penney 游戏是所谓的 "后发制人" 型。


这个有点类似于我们都熟悉的 "剪子,石头,布" 游戏。在 Penney 游戏中,各种策略 "循环相克",维基百科中给出了各种情形下二人的获胜概率之比。在这个例子中,Alice 的获胜概率为 $\frac{7}{8}$。

Penney 游戏是非传递博弈的典型例子:策略 $A$ 优于 $B$,$B$ 优于 $C$ 并不能推出 $A$ 优于 $C$。

你可能感兴趣的:(反直觉概率)