GIGO 假设
GIGO:"垃圾进垃圾出"。如果你提供性质不明确的数字和方程,你会得到性质不明确的结果。反面被默认假设:准确的输入产生准确的输出。
哈明证明这两个假设都可能是错误的。
垃圾进垃圾出(真实情况): 早期的天气模拟。小的扰动被放大。不准确的输入产生极度不准确的输出——发散的方向场。
垃圾进精确出(GIGO 反转): 洛斯阿拉莫斯炸弹模拟(第 18 章)。状态方程数据来自分散的、不可靠的来源。然而炸弹设计成功了。为什么?
因为计算结构涉及二阶差:壳体上的力取决于相邻壳体力之间的差。当壳体沿着曲线运动时,状态方程中的局部误差大部分相消。计算使用了有效的收敛结构。
精确进垃圾出: 理论上可能的情况。如果计算通过发散的方向场放大小的输入不确定性,精确的输入仍然会产生不精确的输出。
教训:模拟输出的可靠性不仅取决于输入精度,还取决于计算的整体结构——具体来说,进入系统的误差是被放大、保留还是衰减。
反馈保护精度
哈明将 GIGO 反转与哈罗德·布莱克的反馈放大器洞见联系起来。
布莱克的发现:如果放大器增益非常高,只有反馈电阻需要准确。所有其他元件可以不精确。反馈回路稳定输出对抗元件变化。
同样的原理适用于具有反馈结构的模拟:
- Nike 导弹制导系统自动纠正轨迹偏差。初始条件中的小误差被衰减,而不是放大。这让哈明能够使用猜测的初始条件模拟导弹失败——但仍然恢复了俯仰-偏航能量转移的正确周期。
- 原子弹计算的二阶差分结构作用类似反馈:局部状态方程误差在壳体历史上平均消失。
设计含义: 好的模拟设计,如好的工程设计,通过将不精确的元件放在反馈回路内来保护精度。关键的量——那些在反馈保护之外的——必须精确测量。
方向场与管状结构
一阶常微分方程 dy/dx = f(x,y) 定义一个方向场:在平面的每个点 (x,y),斜率 f(x,y) 指向解必须移动的方向。
发散的方向场:偏离真实解路径的小偏差增长。误差放大。
收敛的方向场:大的偏差缩小回真实路径。误差衰减。
两者可能在同一方程的不同点出现。解的精度取决于你在哪里评估——而不是方程的任何绝对性质。
哈明将精度可视化为围绕真实解的"管状结构"。在 2D 中,管在发散区域膨胀,在收敛区域收缩。在 n 维(海军截击问题使用了 28 个方程),管的几何变得非直观。第 9 章的 n 维悖论适用:高维管的行为与 2D 管完全不同。
欧拉方法
最简单的常微分方程求解器:从点 (xₙ, yₙ),使用当前斜率估计下一个点:
> yₙ₊₁ = yₙ + h · f(xₙ, yₙ)
其中 h 是步长。这沿着每个点的切线——总是使用"之前的斜率",而不是区间上的典型斜率。误差随每一步累积。
预测-校正改进: 使用欧拉法预测值 yₙ₊₁,在那里评估斜率,然后取区间两端斜率的平均值来进行校正步骤。如果预测值和校正值紧密同意,步长是合适的。如果它们发散,缩短 h。
高阶方法与滤波器连接
四阶多项式预测-校正方法(Milne、Adams-Bashforth、哈明方法)使用函数和导数的几个过去值来预测下一个值。
哈明将这些方法识别为递归数字滤波器:输出值(位置)由输入数据(过去步骤的导数)通过线性递推计算——正是数字滤波器的结构。
这个连接有后果:
- 递归滤波器的稳定性分析直接适用。z 变换稳定性标准:滤波器传递函数的极点必须位于单位圆内。
- 步长 h 控制稳定性。对于给定的常微分方程,存在一个最大的 h,超过它数值方法变得不稳定——计算的解发散即使真实解收敛。
刚性方程: 当系统具有大小差异很大的特征值(一个快速变化的分量,一个缓慢),稳定性要求步长足够小以适应快速分量,即使缓慢分量可以容忍大步长。刚性求解器使用隐式方法来允许更大的步长而不失稳定性。
频率对位置的权衡: 经典多项式方法优化局部位置精度——轨迹在每一步都接近真实路径,但动态"感觉"(频率响应)可能是错误的。对于飞行模拟器,获得正确的频率响应可能比获得正确的位置更重要。
走在沙丘的顶峰
哈明被给予一个晶体管设计的微分方程,其边界条件在无穷远处——边界条件是方程的右侧设为零。
稳定性分析令人担忧:如果 y 在任何点变得略微过大,sinh(y) 放大,二阶导数变得强正,解射向 +∞。如果 y 变得略微过小,它射向 -∞。并且不稳定性是双向的——在相反方向积分也没有帮助。
哈明的形象:"走在沙丘顶峰上"。一旦两只脚滑到一侧,你就不可避免地滑下去。
他的解决方案: 利用不稳定性作为制导信号。他在微分分析仪上积分轨迹的一个片段。如果解向上射,他在该段开始时的斜率估计略微过高——向下校正。如果它向下射,向上校正。一点一点,他走过了沙丘的顶峰。
使这成为可能的是:不稳定性增长快速。起始斜率中的小误差产生了一个大的、明确的偏差——一个关于哪个方向纠正的清晰信号。一个温和不稳定的问题不会提供如此清晰的信号。
职业责任: "很容易就能把这个问题当作不可解的、提出错误的或任何其他借口来解雇它,但我仍然相信重要问题如果正确提出,可以被用来提取一些有用的知识。"
罗夏测试与随机性
一个贝尔实验室的心理学家建造了一台机器:12 个开关、一盏红灯、一盏绿灯。受试者设置开关、按下按钮、观察结果,在 20 次尝试后写出一个关于如何点亮绿灯的理论。他们的理论被传给下一个受试者,周期继续。
灯连接到随机源。没有模式。
在所有试验中,没有一个贝尔实验室科学家——都是高水平的技术人员——曾经说过:没有模式。他们都找到了理论。
哈明的观察:没有一个是统计学家或信息论者。这两个领域培养实践者问:"我看到的东西真的存在,还是仅仅是随机噪音?"
对模拟的含义: 一个可以调整直到与观察数据匹配的模拟是罗夏测试。调整过程找到与数据一致的模型,但不一定是真实模型。区分信号和噪音需要刻意的统计纪律——保留数据、预先指定的假设、置信区间——而不仅仅是良好的意图。
哈明的结束指控: "如果...?将在你的未来经常出现,因此你需要掌握模拟的概念和可能性,并准备好质疑结果并在必要时深入细节。"