GIGO 假设
GIGO: '垃圾进垃圾出'。如果你提供不确定的数字和方程式,你会得到不确定的结果。隐含的假设是:精确的输入会产生精确的输出。
汉明证明了这两个假设都可能是错误的。
垃圾输入垃圾输出(真实情况): 早期天气模拟。小的扰动会放大。不准确的输入会产生极不准确的输出 —— 一种发散的方向场。
垃圾输入精确输出(GIGO 反转): 洛斯阿拉莫斯炸弹模拟(第 18 章)。炸弹设计成功。为什么?
因为计算结构涉及到 第二差异:一个壳的力依赖于相邻壳之间的差异。方程状态的局部错误在很大程度上被相邻壳穿越曲线的差异所抵消。这个计算使用了一个有效的收敛结构。
精确输入垃圾输出: 一个理论上可能的案例。如果一个计算通过发散的方向场放大输入不确定性,精确的输入仍然会产生不准确的输出。
教训:模拟输出的可靠性不仅取决于输入精度,而且取决于整个计算结构 —— 特别是,误差进入系统是否被放大、保持或减少。
反馈保护准确性
汉明将 GIGO 反转与 Harold Black 的反馈放大器见解联系起来。
Black 的发现: 如果放大器增益非常高,只有反馈电阻需要准确。所有其他元件都可以不准确。反馈循环将输出稳定化,抵抗组件的变化。
同样的原则在具有反馈结构的模拟中运作:
- 尼克导弹导引系统可以自动校正轨迹偏差。初始条件中的小误差不会放大,而是被消减。这使得Hamming可以使用猜测的初始条件模拟导弹故障,并最终恢复正确的俯仰-横滚能量传递周期。
- 原子弹计算的二阶差分结构就像反馈:方程状态误差在一个壳的历史中平均化。
设计启示: 好的模拟设计,就像好的工程设计,通过将不准确的组件放在反馈循环内部来保护准确性。重要的量——那些没有反馈保护的量——必须精确测量。
方向场 & 管子
一个一阶ODE dy/dx = f(x,y)定义了一个方向场:在平面上的每一个点(x,y),斜率f(x,y)指向解必须移动的方向。
一个分散的方向场:真实解路径附近的偏差会扩大。误差放大。
一个收敛的方向场:较大的偏差会收缩回到真实路径。误差减小。
两者都可能在同一个方程的不同点出现。解的准确性取决于你在哪里求值——而不是方程的绝对性质。
Hamming将准确性视为“管道”(tube)围绕真实解。在2D中,这个管道在分岔区域扩大,在收敛区域收缩。在n维空间(海军拦截问题使用了28个方程),管道几何变得不直观。第9章中的n维悖论适用:高维管道与2D管道没有任何共同之处。
欧拉法
最简单的微分方程解法:从点(xₙ, yₙ),使用当前斜率估计下一个点:
> yₙ₊₁ = yₙ + h · f(xₙ, yₙ)
其中h是步长。这遵循每个点的切线——始终使用“过去的斜率”,而不是区间的典型斜率。误差随着每个步骤的积累。
预测-校正改进:使用欧拉预测一个值yₙ₊₁,评估在那里的一条斜率,然后在区间的两端使用斜率的平均值进行校正。如果预测值和校正值一致,步长是合适的。如果它们分开,缩短h。
高阶方法与滤波器连接
四次多项式预测-校正方法(Milne,Adams-Bashforth,Hamming的方法)使用函数和导数的过去值来预测下一个值。
Hamming将这些方法识别为递归数字滤波器:输出值(位置)由输入数据(过去步骤的导数)通过线性递归计算。这正是数字滤波器的结构。
这一联系有以下影响:
- 递归滤波器的稳定性分析直接适用。z变换稳定性标准:滤波器的传递函数的极点必须在单位圆内。
- 步长h控制稳定性。对于给定的微分方程,存在一个最大h值,超过这个值,数值方法将变得不稳定——计算出的解会分散,即使真实解是收敛的。
惯性方程:当系统具有极值相差很大的特征值(一个快速变化的分量,一个慢变化的分量),稳定性需要一个足够小的步长,以适应快速分量,即使慢分量可以容忍较大的步长。惯性求解器使用隐式方法,以允许在不导致不稳定性的情况下使用较大的步长。
频率 vs 位置权衡: 经典多项式方法优化局部位置准确性 —— 轨迹在每个步骤附近接近真实路径,但动态‘感觉’(频率响应)可能不正确。对于飞行模拟器,正确的频率响应可能比正确的位置更重要。
攀登沙丘的巅峰
Hamming 被赋予了一个用于晶体管设计的微分方程,具有在无穷远处的边界条件 —— 方程的右手边设置为零的边界条件。
稳定性分析令人不安:如果在任何一点 y 太大了,sinh(y) 被放大,二阶导数变为正,解向 +∞ 发散。如果 y 太小了,它会发散到 -∞。而且不稳定性是 双向 的 —— 在相反方向积分也不会帮助。
Hamming 的形象是‘攀登沙丘的巅峰。’一旦双脚都向一侧滑动,你会不经意地滑下。
他的解决方案: 利用不稳定性作为导向信号。 他在差分分析仪上整合了轨迹的一部分。如果解决方案向上射出,他在该段的起始斜率估计稍高——纠正向下。如果它向下射出,纠正向上。 他逐步走过沙丘的顶部。
使这一切可能的是:不稳定性增长得 快。 对开始斜率的误差产生了一个大型、明确的偏离——一个关于纠正方向的清晰信号。一个温和不稳定的问题不会提供这样的清晰信号。
专业义务: '如果没有重要问题恰当提问,可以从中提取一些有用的知识,这将是多么容易地拒绝这个问题是不可解的,错误地提出或者任何你想告诉自己的话。'
罗舍克测试与随机性
一位贝尔实验室的心理学家制造了一台机器:12个开关,一盏红灯,一盏绿灯。受试者设置开关,按下按钮,观察结果,经过20次尝试后写出如何让绿灯亮起来的理论。他们的理论被交给下一个受试者,并循环往复。
灯光连接到一个随机源。没有模式。
在所有的试验中,没有一位贝尔实验室科学家——所有的高级技术人员——曾经说过:没有模式。他们都找到了理论。
汉明的观察:没有一个人是统计学家或信息论家。这些两个领域训练实践者问:‘我看到的东西是否真的存在,还是只是随机噪音?’
模拟的含义: 可以调整直到与观察到的数据相匹配的模拟是一个罗舍克测试。调整过程中找到与数据一致的模型,但不一定是真实模型。区分信号与噪音需要有意的统计自律——持有数据、预先指定假设、置信区间——而不是仅仅有好意。
汉明的最后一项任务: '在你的未来中,'What if...?' 将会出现很多,因此你需要掌握模拟的概念和可能性,并准备质疑结果,必要时深入了解细节。'