二进制空间中的距离
Richard Hamming的最著名的技术贡献:错误校正码。背后几何思想比任何特定的代码都要深入。
Hamming距离
给定两个长度相等的二进制字符串,Hamming距离d(u,v)计算它们不相符的位置:
``
u = 1 0 1 1 0
v = 1 1 1 0 0
↑ ↑
d(u,v) = 2
``
Hamming距离满足所有三个度量公理: d(u,v) ≥ 0; d(u,v) = 0 iff u = v; d(u,v) = d(v,u); d(u,w) ≤ d(u,v) + d(v,w). 二进制n空间与Hamming距离形成了一个有效的度量空间。
几何在低维空间中可视化得很清楚。所有3位字符串都位于立方体的8个顶点上。相邻顶点的边缘差异在于1位;面对角顶点在2位;对极顶点(例如000和111)在3位。
计算Hamming距离
Hamming权重wt(v)计算v中的1的数量。距离与权重通过XOR相关:
d(u, v) = wt(u XOR v)
示例: u = 10110, v = 11100。XOR = 01010。权重=2。所以 d(u,v) = 2。
通过球packing实现错误校正
一个二进制代码C ⊆ {0,1}^n由选择的码字组成。当码字通过带噪声通道发送时,一些位可能会翻转。接收器收到了一串被损坏的字符串,并必须恢复原始值。
定义一个以码字c为中心的Hamming球的半径t:
B(c, t) = { v ∈ {0,1}^n : d(c, v) ≤ t }
为了纠正多达 t 个错误,所有码字对的围球 B(c, t) 必须不重叠。否则,接收到的字可能位于两个围球中,解码器无法确定发送的码字是什么。
码的最小距离 d_min 决定了以下内容:
- 检测多达 d_min - 1 个错误 - 纠正多达 ⌊(d_min - 1) / 2⌋ 个错误
Hamming (7,4) 码:n = 7 位,k = 4 个数据位,d_min = 3。可以纠正 1 个错误,检测 2 个错误。
可以容纳多少码字?
一个长度为 n 的码可以容纳多少个码字,同时仍然可以纠正 t 个错误?每个码字 '拥有' 一个半径为 t 的球。所有球必须全部放入 {0,1}^n 中,这有 2^n 个点。
Hamming 球的体积,半径为 t 在 {0,1}^n 中:
Vol(n,t) = Σ_{i=0}^{t} C(n, i)
Hamming 绑定(球打包绑定)直接得出:一个纠正 t 个错误的码满足
M · Vol(n,t) ≤ 2^n
其中 M = 码字数量。因此 M ≤ 2^n / Vol(n,t)。
对于 Hamming (7,4) 码:n = 7,t = 1。Vol(7,1) = C(7,0) + C(7,1) = 1 + 7 = 8。约束:M ≤ 128 / 8 = 16。 (7,4) 码实现了 M = 2^4 = 16:一个 完美码,表示球填充 {0,1}^7,没有剩余。
√n 与 n
Hamming 使用随机游走的论证来精确化长远视野的价值。这个论证将一个模糊的主张 —— "视野有帮助" —— 转化为关于距离的几何事实。
对称随机游走在 ℤ 上
每一步移动 +1 或 -1 的概率相等。经过 n 步后,预期从原点偏移的距离:E[|X_n|] ≈ √n。
这来自于方差:Var(X_n) = n (每一步独立,各自为 ±1 方差 1)。标准差 = √n。
指向性游走
每一步以概率 p > 1/2 (朝向目标)移动 +1。经过 n 步后,预期位置:E[X_n] = n(2p−1)。对于 p = 1 (完全指向性):E[X_n] = n。
对比:随机漂移与 n 成正比;有明确长远视野的努力与 n 成正比。
Hamming 的翻译
在研究生涯中,每个工作日代表一个步骤。没有明确的长远视野,工作会在多个方向上漂移:经过 n 个工作日后,净进展 ≈ √n。有一个清晰的长远视野,努力方向一致:经过 n 个工作日后,净进展 ≈ n。比值 n / √n = √n 不断增长。
√n 比值
指向性游走不需要完美的射击。朝向目标的任何持续偏好都会将 √n 的漂移转化为更接近 n 的进展。
模型局限性
一个预测输出为100倍的视觉模型值得审视。它忽略了几个方面:
1. 维度:职业活动在高维空间中,而不是在ℤ中。随机游走在 ℝ^d 的几何形状随着 d 的变化而显著不同。
2. 相关性:研究步骤之间存在相关性——今天的工作建立在昨天的基础上。相关性游走与独立同分布的步骤行为不同。
3. 视野本身可能是错误的:朝着错误的吸引子走的有方向性步骤比漂移更糟糕。
复制周期
Hamming 在课程开头声称技术知识每17年翻倍。这一声明具有精确的数学结构:指数增长。
指数增长模型
y(t) = a · e^(b·t)
其中 a = t = 0 时的初始数量,b = 生长率(每单位时间),e ≈ 2.718。
复制周期 D:y 值翻倍所需的时间。
2a = a · e^(b·D) → 2 = e^(b·D) → ln(2) = b·D → D = ln(2) / b
ln(2) ≈ 0.693。对于 b = 0.693/17 ≈ 0.0408 每年,复制周期 = 17 年。
半衰期
半衰期 H:y 值衰减到原值的一半(b < 0)。
H = ln(2) / |b|
两种方向上的相同公式。5 年的半衰期技能:退休后 5 年,市场价值减少一半。10 年:剩下一分之一。20 年:剩下少于 7%。
知识翻倍
如果技术知识每 17 年翻倍,一名在 22 岁毕业的学生在 56 岁时将面临一个完全不同的知识地图——一个 34 年职业生涯跨越了两次完全的翻倍。
专长的半衰期
衰减模型同样适用于价值下降。一个特定的技能(例如:掌握特定芯片架构、过时的 API、被淘汰的算法)随着领域的发展而失去价值。
如果某个专门技能的半衰期 H = 5 年,那么经过 t 年,原有价值的剩余比例为:f(t) = (1/2)^(t/H) = 2^(−t/H)。
经过一次半衰期(5 年):50% 保留。两次半衰期(10 年):25%。三次(15 年):12.5%。四次(20 年):6.25%。
Hamming 的暗示:学习 如何学习 的价值随着与专门知识相同的指数增长。投资于学习策略、问题构建和可转移推理的价值在半衰期周期内保留。
几何、误差校正与职业生涯
这三个几何结构看似脱节。它们连接了起来。
汉明距离 formalizes the cost of error and the redundancy needed to recover from it. Every communication system, every codebase, every body of knowledge needs enough redundancy that single errors do not corrupt the whole。
The √n vs n argument translates vision into a geometric fact: drift scales as distance from a starting point, directed motion scales as displacement toward a goal. Redundancy in career strategy — keeping multiple lines of inquiry open — buffers against the occasional wrong turn。
Exponential growth & decay govern both the expanding frontier and the half-life of what you know today. The only stable investment: learning how to learn, which compounds on the same time scale that specialized knowledge decays。