中心的な問い
ハミングは第19章を1975年の夏季コンピュータシミュレーション会議からの直接引用で開きました:
> 重要な決定がシミュレーションに依存する必要がある場合、その妥当性をテストすることが不可欠です。また、その提唱者はそれが達成した本当の表現のレベルを説明できることが不可欠です。
彼自身による同じ問いのより鋭い定式化:
> シミュレーションが関連性があると誰が信じるべきなのか?
この問いに真摯に向き合うまで、シミュレーションを開始してはいけません。計算をすぐに始める実践的なプレッシャーがしばしばあります — 時間、お金、組織的な勢い。これらのプレッシャーは問いを変えません。
ハミングの経験: シミュレーションについて妥当性の問いを提起すると、答えは必ず以下を引き合いに出しました:
- その仕事にどれだけの人力がかかったか
- コンピュータがどれほど大きく高速か
- その問題がどれほど重要か
これらの答えのどれも妥当性に対処していません。それらは社会的な議論であり、技術的なものではありません。
宇宙飛行の話: シミュレーションディレクターはロケット打ち上げの99.44%の信頼性を主張しました。ハミングは追及しました: 何の信頼性か? 追い詰められた後、ディレクターは彼の数字がシミュレーションの信頼性であって、実際の飛行ではないことを認めました。さらに、打ち上げを承認したNASAディレクターはこの区別を理解していないことを認め、彼はその誤解を正していないことを認めました。
シミュレーション信頼性とシステム信頼性の混同は、エンジニアリング実践における最も危険なエラーの1つです。
妥当性検証が実際に必要とするもの
ハミングはシミュレーション信頼性を評価するためのチェックリストを作成しました。シミュレーション出力が決定の重みを持つ前に、各質問に答える必要があります:
1. 背景理論は仮定した法則をサポートしていますか? 物理シミュレーションは検証された方程式に基づいています。経済シミュレーションはしばしばそうではありません。
2. 小さいが重要な効果が欠けている可能性はありませんか? パイロット訓練シミュレーターの例: 既知の物理学には優れていますが、新しい航空機が未組み込みの相互作用を持つ場合は危険です。
3. 入力データは信頼できますか? 入力の不確実性は計算全体に伝播します。データがどこから来たかを知ってください。
4. シミュレーションは安定していますか、それとも不安定ですか? 不安定な方向場は入力エラーを増幅します。安定なものはそれを減衰させます。
5. 既知の過去の経験に対するどのような相互チェックが利用可能ですか?
6. 内部チェックを生成できますか? 質量、エネルギー、角運動量、またはその他の不変量の保存。冗長性がなければ、エラー検出は不可能です。
7. 紙の上のマークは正確に機械に入りますか? プログラミングエラーは本番コード中で数年間持続します。反応説明を微分方程式に翻訳した自動カードリーダー — 大気化学シミュレーション用のハミングの解決策 — は人間の警戒に頼らずに転写エラーを削減します。
ハミングの経済学の法則
物理シミュレーションは検証された数学的に表現された法則に基づいています。化学シミュレーションは検証された速度定数を必要とします。生物学シミュレーションは既知の人口動態を必要とします。
経済学は、ハミングの見方では、1つの信頼できる法則を持っています: 消費していないものは消費できない。 他のすべての主張された経済法則は、数学的な同語反復であるか、時々偽りです。
シミュレーションへの含意: 背景法則が信頼できない場合、シミュレーション全体の基盤が疑わしいです。計算の高精度は、モデル内の信頼できない法則を補うことはできません。
ハミングが生態シミュレーションの実行を求められたときの応答: 彼はすべての相互作用に対して数学的に表現されたルール、数値定数、および実データを比較テスト実行に要求しました。リクエスターはすぐに、彼らが望む結果を与えるだろう「非常に疑わしいシミュレーション」を実行するのにより喜んでいる誰かを見つけました。
ハミングのルール: あなたの誠実性を保つ。他人の宣伝に使われることを許してはいけません。結論を確認するために構造的に設計されたシミュレーションを拒否してください。
シミュレーションデータ内のシンプソンのパラドックス
ハミングのバークレーの話: より多くの男性より女性が大学院に受け入れられました。差別を示唆しています。個々の部門は差別を示しませんでした。説明: 女性は受け入れ率が低い部門に不均衡に申請しました。男性は受け入れ率が高い部門に不均衡に申請しました。集計統計は実際でしたが、誤解を招いていました。
これはシンプソンのパラドックスです: データを組み合わせると、サブグループのどれにも存在しない見かけの効果が生じる可能性があります。グループ、地域、または時間期間を集約するシミュレーション出力は同じ病理を示す可能性があります。
モデル化するものを変えるシミュレーション
シミュレーション失敗の特殊なクラス: 主体はモデルに応じて動作を変更します。
株式市場の例: 広く知られた取引戦略が市場を上回るリターンを確実に生成する場合、参加者はそれを採用し、競争がその超過リターンを排除します。モデルの成功はモデルの妥当性を破壊します。
医学的な例: 二重盲検実験は、治療を受けた患者とプラセボを受けた患者を知っていた医師が、彼らがそれを期待した場所で改善を見つけたために存在します。医師の知識は観察を汚染しました。
高リスク決定のためのシミュレーション — 経済政策、軍事計画、公衆衛生 — は、シミュレーションの出力が公開されたか動作をガイドするたびに、この問題に直面します。
サンプリング & 精度
ナイキスト定理は、連続システムのデジタルシミュレーションに対して基本的な制約を設定します: 信号内に存在する最高周波数の周期ごとに少なくとも2つのサンプルが必要です。
実際には、ハミングは、単一側のサンプリングとエイリアシングは要件を最高周波数の周期ごとに7〜10サンプルに押し上げます。
精度トレードオフ: アナログコンピュータ(ハミングの時代)は、コンポーネントあたり最大1万倍の精度を達成しました。デジタルコンピュータは任意の精度を実行できます。しかし、デジタル精度は適切なサンプリングを必要とします — そして、鋭い高周波コンテンツを持つ信号の場合、そのサンプリングレートは計算コストを駆動します。
アナログの利点: スピードと物理的な統合。物質的なコンポーネントを直接アナログ回路に配線して、数学的な説明を見つけることなくその動作を測定できます。初期の誘導ミサイル設計では、これは完全な数学モデルが存在する前にシステムの急速な感覚を許可しました。
初期のミサイル作業に使用されたアナログマシンはM9銃ディレクターパーツから派生しました。ハミングはそのような機器から微分解析器を構築しました。解決時間: 軌跡あたり約30分。そのペースは実行間の深い思考を強要しました — ハミングが構造的な利点として考えてきたという制約。
フィール対精度: 火星ランダーの問題
ハミングは鋭い設計の質問を提起しました: 火星ランダー飛行訓練シミュレーターの場合、シミュレーターは位置精度を最適化すべきか、それともその車両のフィールですか?
古典的な数値分析は、ローカルポリノミアル近似を使用して位置軌跡を最適化します。パスは正確ですが、加速は各ポリノミアル間隔で不連続に変化します — 非自然な「フィール」。
周波数領域方法はシミュレーターの周波数応答を最適化します。位置の精度は低い場合がありますが、パイロットは車両の動的応答を正しく認識します。パイロットの筋肉記憶は正しい転送関数で形成されます。
ハミングの判断: パイロット訓練シミュレーターはフィールを最適化すべきです。実際の飛行中、パイロットはフィードバック制御を介して位置エラーを補正できます。フィールが間違っている場合、パイロットは存在しない車両の訓練を受けています。
より深い原則: 数値方法の選択は、シミュレーション内で何が重要かについての主張をエンコードします。その主張は数学的なものではなく、ドメイン判断です。