Предположение GIGO
GIGO: 'мусор на входе, мусор на выходе.' Если вы вводите плохо определённые числа и уравнения, вы получите плохо определённые результаты. Обратное молчаливо предполагается: точные входные данные дают точные выходные данные.
Хэмминг показал, что оба предположения могут быть неправильными.
Мусор на входе, мусор на выходе (истинный случай): ранняя симуляция погоды. Малые возмущения усиливаются. Неточные входные данные дают совершенно неточные выходные данные — расходящееся поле направлений.
Мусор на входе, точные выходные данные (обращение GIGO): симуляция бомбы в Лос-Аламосе (Глава 18). Данные об уравнении состояния пришли из разрозненных, ненадёжных источников. Тем не менее, конструкция бомбы работала. Почему?
Потому что структура вычисления включала вторые разности: сила на оболочке зависела от разности сил от соседних оболочек. Локальные ошибки в уравнении состояния в значительной степени сокращались по мере того, как оболочки проходили кривую. Вычисление использовало эффективно сходящуюся структуру.
Точные входные данные, мусор на выходе: теоретически возможный случай. Если вычисление усиливает малые неопределённости входных данных через расходящееся поле направлений, точные входные данные всё равно дают неточные выходные данные.
Урок: надёжность выходных данных симуляции зависит не только от точности входных данных, но и от всей структуры вычисления — в частности, усиливаются ли, сохраняются ли или затухают ошибки, вводимые в систему.
Обратная связь защищает точность
Хэмминг связал обращение GIGO с проницательностью усилителя с обратной связью Харольда Блэка.
Открытие Блэка: если коэффициент усиления усилителя очень высок, то только резистор обратной связи должен быть точным. Все остальные компоненты могут быть неточными. Контур обратной связи стабилизирует выход от вариаций компонентов.
Тот же принцип действует в симуляциях со структурой обратной связи:
- Система наведения ракеты Nike автоматически исправляла отклонения траектории. Небольшие ошибки в начальных условиях затухали, не усиливались. Это позволило Хэммингу симулировать отказ ракеты, используя угадываемые начальные условия — и всё же восстановить правильный период передачи энергии крен-рысканье.
- Вычисление атомной бомбы со структурой второй разности действовало как обратная связь: локальные ошибки уравнения состояния усреднялись на протяжении истории оболочки.
Следствие для проектирования: хорошее проектирование симуляции, как и хорошее инженерное проектирование, защищает точность, помещая неточные компоненты внутри контуров обратной связи. Жизненно важные величины — те, что вне защиты обратной связи — должны быть измерены точно.
Поля направлений и трубка
ОДУ первого порядка dy/dx = f(x,y) определяет поле направлений: в каждой точке (x,y) плоскости наклон f(x,y) указывает направление, в котором должно двигаться решение.
Расходящееся поле направлений: небольшие отклонения от истинного пути решения растут. Ошибки усиливаются.
Сходящееся поле направлений: большие отклонения сокращаются обратно к истинному пути. Ошибки затухают.
Оба могут происходить в одном и том же уравнении в разных точках. Точность решения зависит от где вы оцениваете — не от какого-либо абсолютного свойства уравнения.
Хэмминг визуализировал точность как «трубку» вокруг истинного решения. В 2D трубка расширяется в расходящихся областях и сжимается в сходящихся. В n измерениях (задача перехвата ВМФ использовала 28 уравнений) геометрия трубки становится неинтуитивной. Парадокс n-мерности из Главы 9 применим: высокомерные трубки ведут себя совсем не так, как 2D трубки.
Метод Эйлера
Самый простой решатель ОДУ: из точки (xₙ, yₙ) оцените следующую точку, используя текущий наклон:
> yₙ₊₁ = yₙ + h · f(xₙ, yₙ)
где h — размер шага. Это следует касательной линии в каждой точке — всегда используя 'наклон, который был', а не типичный наклон на интервале. Ошибка накапливается на каждом шаге.
Улучшение предиктор-корректор: предскажите значение yₙ₊₁ с помощью Эйлера, оцените наклон там, затем возьмите среднее значение наклонов на обоих концах интервала, чтобы сделать исправленный шаг. Если предсказанные и исправленные значения хорошо согласуются, размер шага подходит. Если они расходятся, сократите h.
Методы высшего порядка и связь с фильтром
Методы четвёртого порядка многочлена предиктор-корректор (Милн, Адамс-Башфорт, метод Хэмминга) используют несколько прошлых значений функции и производной для предсказания следующего значения.
Хэмминг определил эти методы как рекурсивные цифровые фильтры: значения выхода (позиции) вычисляются из входных данных (производные в прошлых шагах) линейной повторяемостью — точно структура цифрового фильтра.
Эта связь имеет последствия:
- Анализ стабильности для рекурсивных фильтров применяется непосредственно. Критерий стабильности z-преобразования: полюсы передаточной функции фильтра должны лежать внутри единичного круга.
- Размер шага h контролирует стабильность. Для данного ОДУ существует максимум h, сверх которого численный метод становится нестабильным — вычисленное решение расходится, даже если истинное решение сходится.
Жесткие уравнения: когда система имеет собственные значения с очень разными величинами (одна быстро изменяющаяся компонента, одна медленная), стабильность требует размера шага, достаточно малого для быстрой компоненты, даже если медленная компонента могла бы переносить большие шаги. Решатели жестких уравнений используют неявные методы, чтобы допускать большие шаги без нестабильности.
Трансформация частоты против позиции: классические методы многочленов оптимизируют локальную точность позиции — траектория близка к истинному пути на каждом шаге, но динамическое 'ощущение' (частотная характеристика) может быть неправильным. Для симулятора полёта получение правильной частотной характеристики может быть важнее, чем получение правильной позиции.
Ходьба по гребню дюны
Хэммингу было дано дифференциальное уравнение для проектирования транзистора с граничным условием на бесконечности — граничное условие было правой стороной уравнения, установленной в ноль.
Анализ стабильности был тревожным: если y в любой точке стал слегка слишком большим, sinh(y) усилил, вторая производная стала сильно положительной, и решение взлетело к +∞. Если y стал слегка слишком малым, оно взлетело к −∞. И нестабильность была двусторонней — интегрирование в противоположном направлении не помогло.
Образ Хэмминга: 'ходьба по гребню песчаной дюны.' Как только обе ноги скользят в одну сторону, вы неизбежно скатываетесь вниз.
Его решение: использовать нестабильность как сигнал наведения. Он интегрировал сегмент траектории на дифференциальном анализаторе. Если решение взлетело вверх, он был слегка слишком высоким в своей оценке наклона в начале этого сегмента — исправить вниз. Если оно взлетело вниз, исправить вверх. Кусок за куском, он прошёл гребень дюны.
Что сделало это возможным: нестабильность растёт быстро. Небольшая ошибка в начальном наклоне дала большое, однозначное отклонение — ясный сигнал о том, в каком направлении исправить. Мягко нестабильная проблема не дала бы такого ясного сигнала.
Профессиональное обязательство: 'Было бы так легко отклонить проблему как неразрешимую, неправильно поставленную или любое другое оправдание, которое вы захотели бы сказать себе, но я всё ещё верю, что важные проблемы, правильно поставленные, могут быть использованы для извлечения некоторого полезного знания.'
Тест Роршаха и случайность
Психолог Bell Labs построил машину: 12 переключателей, красный свет, зелёный свет. Испытуемые устанавливали переключатели, нажимали кнопку, наблюдали результат, и после 20 попыток писали теорию того, как включить зелёный свет. Их теория была передана следующему испытуемому, и цикл продолжился.
Огни подключены к случайному источнику. Не было никакого паттерна.
Во всех испытаниях ни один учёный Bell Labs — все высокого уровня технического персонала — никогда не сказал: здесь нет паттерна. Они все нашли теории.
Наблюдение Хэмминга: ни один не был статистиком или информационным теоретиком. Эти два поля тренируют практиков спрашивать: 'То, что я вижу, действительно там, или это просто случайный шум?'
Следствие для симуляции: симуляция, которую можно настраивать до тех пор, пока она не совпадет с наблюдаемыми данными, это тест Роршаха. Процесс настройки находит модель, соответствующую данным, но не обязательно истинную модель. Различие сигнала и шума требует намеренной статистической дисциплины — задерживаемые данные, предварительно указанные гипотезы, доверительные интервалы — а не только добрые намерения.
Заключительный призыв Хэмминга: 'What if...? возникнет часто в вашем будущем, отсюда необходимость для вас овладеть концепциями и возможностями симуляций и быть готовыми вопрошать результаты и копать в детали, когда необходимо.'