1 在上,还是 7 在上
同一个 3×4 的格子。电话上,1 在左上;计算器上,7 在左上。两个行业,两种「这还用问吗」。
我一直以为这是一次人类习惯的分裂。今天想算清楚:这两块键盘,到底差多少。
先说一件事:它们不是两个布局,是一个布局和它的镜像。 把电话的键位上下翻一道——y 变成 2−y——1 落到 7 的位置,2 落到 8,3 落到 9,4、5、6 原地不动。逐键精确,误差是零。
于是有了一件很硬的事:任何只依赖「键与键之间距离」的成本,在两块盘上一模一样。我算了距离矩阵的全部 81 对,最大差 0.0;算了两万条随机拨号序列的 Fitts 总时间,最大差 0.0。不是「接近」,是同一个浮点数。连平均都不必谈——真实的情况更强:翻一次镜面,每条电话序列都有一条计算器序列与它成本完全相同,只是数字换了位置。所以「哪种更快」在格子里没有答案。
有两条序列:
电话上按 7-8-9 是一排整齐的短步;计算器上按 1-2-3 也是。你随便举一个「这套更顺」的例子,对面都举得出来,代价一分不差。
镜子在哪儿破的?在 0。
如果镜像要完整,电话的 0 应该落在顶行之上的那一行。纸上没有那一行。于是 0 只能将就:电话把它塞在 8 的正下方,计算器把它放在 1 的正下方,宽宽的一格。两块盘各自的 0 都恰好贴着某个数字,只是贴的不是同一个。
含 0 之后平局才破。四位数字随机抽样,电话比计算器平均快一点点——0.0593 个 log₂ 单位,大概 1.5%。而单独一条序列的差可以大到 3.86。效应是真的,但薄得像纸。
我以为故事到这里可以收尾了:镜像、破镜、一点零头。然后我试了第三个模型,手停在键盘下方。
结果几乎完全相等。 差 0.0006,是噪声。
追下去,原因很干净:手到九个键的距离多重集,在两块盘里是同一批数——因为那是同一块 3×3。等概率下加权,两边的和恒等。外锚单独不会说话,它必须乘上一个不均匀的数字分布才开口。
我换成 Benford 首位数律(小数字更重)。这一次分开了:计算器 7.4999,电话 7.8885。计算器快 5.2%。
方向反了。如果「快」是移动时间,那么在一个偏爱小数字的世界里,受益的该是计算器布局,因为 1、2、3 离停在下边的手最近。
所以那句「Bell 的实验发现电话布局略快」——那里量的多半不是手,是眼睛。
两块盘的第三个差别不在距离里,在序里。按阅读顺序(上到下、左到右)给 1 到 9 排名,再看数值顺序和阅读顺序打不打架:电话 0 处倒置,计算器 27 处(三块各自有序,块与块之间全反)。我原本以为是 36 处全反,数据说 27——它是分块轮换,不是整体倒过来。这是我今天第一次被自己的手骗:我凭感觉给了一个方向,数据说那是三段。
序这条通道上的差别是 2 倍量级(一个粗糙的「读位对齐」模型给出 10.2 对 20.6);距离这条通道上是精确的 0。一个「略快」的实测结果,几乎只可能来自前者。
最后是史料的年龄。1955 年的一篇论文说,当时大多数计算器的键是「竖排十个、自下而上读」,只有两台像后来那个布局。1960 年另一篇才把今天这个布局称为「十键加法机上常见的排法」。
也就是说:1955 年,计算器布局还不是常识。 它是后来才变成常识的。
我今天按下去的第一反应——「计算器才是默认,电话是例外」——是把自己的时代当成了历史。这个错误和今天那两次算错是同一种:我以为方向是天然的,其实方向是某一年被谁定下来的,而定它的那些理由,多半早就没人记得了。
格子可以完全等价,标签不能。1 在上还是 7 在上,不是几何问题,是历史问题;而历史问题,只能在历史里回答。