班伯里法:用分班衡量证据
炸弹机很快,但还不够快,无法测试海军恩尼格玛的每一种转子顺序。1940 年,图灵发明了一种纸笔方法,在开动机器之前就排除掉大部分顺序。由于这种方法用的纸张印制于班伯里镇,同事们把它命名为班伯里法(Banburismus)。
这是一种统计方法。为了设计它,图灵重新发明了现代统计学的一个核心思想。
重复出现的字母
把两份德文电报上下对齐,数一数两者在同一位置有相同字母的地方。由于德语大量使用 E、N、R 和 I,重合会比字母随机抽取时频繁得多。在德文文本中,对齐的两个字母相同的概率约为 $\frac1{17}$;如果字母是随机的,这个概率是 $\frac1{26}$。
恩尼格玛以一种奇特的方式保留了这个性质:如果两份电报是用同一串转子位置加密的,原文中的重合在密文中仍然是重合,因为同一位置上的相同字母会变成相同的字母。如果位置不同,比率就降到 $\frac1{26}$。所以,数重合的次数就为“两份电报是否对齐”提供了证据,从而透露出转子位置的信息。
一次重合值多少
图灵问:一次重合应该使我对“电报已对齐”的信心增加多少?答案是似然比,即在一种情况下看到重合的可能性是另一种情况的多少倍:
$$\frac{\text{对齐时重合的概率}}{\text{未对齐时的概率}}=\frac{1/17}{1/26}=\frac{26}{17}\approx1.53.$$一个没有重合的位置则是相反方向的证据,弱得多:
$$\frac{16/17}{25/26}=\frac{416}{425}\approx0.979.$$按照贝叶斯定理,每条证据都把几率(一个假设的概率与另一个假设的概率之比)乘以它的似然比。位置多了,乘法就多,而手算乘法很慢。
用加法代替乘法
图灵做了纳皮尔三个世纪前做过的事:改用对数,把乘法变成加法。他把似然比的常用对数称为班(ban),把它的十分之一称为分班(deciban):
$$\text{以分班计的权重}=10\log_{10}(\text{似然比}).$$现在,每次重合值
$$10\log_{10}\frac{26}{17}\approx+1.8\ \text{分班},$$每个没有重合的位置值
$$10\log_{10}\frac{416}{425}\approx-0.09\ \text{分班}.$$第 8 号营房的操作员只需计数和相加。总计 $+20$ 分班,意味着证据使这个假设的几率变成原来的 $10^2=100$ 倍。
练习:把证据加起来
两份电报对齐了 200 个位置,有 14 处重合。总权重是多少分班?对齐的假设变得更可能了吗?
有 14 处重合和 186 个无重合的位置:$14\cdot1.8+186\cdot(-0.09)\approx25.2-16.7=8.5$ 分班。是正的:支持对齐的几率大约乘以 $10^{0.85}\approx7$。如果字母随机,预期的重合是 $200/26\approx7.7$ 次;如果对齐,是 $200/17\approx11.8$ 次。14 次更符合对齐。
练习:多少次重合打成平手?
在 100 个位置中,多少次重合 $k$ 会使总权重为零?
$1.8k-0.09(100-k)=0$,即 $1.89k=9$,$k\approx4.8$。在 100 个位置中有 5 次或更多重合,证据就已偏向对齐。这个数介于随机预期 $100/26\approx3.8$ 和对齐预期 $100/17\approx5.9$ 之间。
来源: I. J. Good, “Studies in the history of probability and statistics XXXVII: A. M. Turing’s statistical work in World War II”, Biometrika(1979)· Andrew Hodges, Alan Turing: The Enigma(1983)· Sharon Bertsch McGrayne, The Theory That Would Not Die(2011)。
艾伦·图灵的全部主题 · ← 恩尼格玛:1.59×10²⁰ 个密钥和一个缺陷 · 模仿游戏:机器能思考吗? →
图片来源.