Тема исследования: Почему нужно добиваться высокой точности в вычислительной работе?
Объект исследования: компьютерная арифметика.
Цель исследования: Выявить влияние "плохой" погрешности на события, процессы окружающей действительности.
Задачи исследования:
Ход исследования:
1) найти 3 примера отрицательного влияния инструментальной погрешности компьютера на исход в конкретных реальных ситуациях;
2) смоделировать примеры этих ситуаций;
3) дать ответ на проблемный вопрос.
1. Cтадион «Хартфорд Колизей»: ущерб в 90 млн долларов
18 января 1978 года болельщики чудом избежали смерти на стадионе «Хартфорд Колизей». Через несколько часов после того, как они покинули стадион, его стальная крыша рухнула на трибуны.
Причина случившегося – ошибка в расчетах при проектировании конструкции. Уже в то время для строительного проектирования создавался специальный софт. Программист не учел такие факторы, как мокрый снег и ветер при расчете прочности балок, поддерживающих крышу. Он исходил только из веса самой крыши. В результате одна из опор неожиданно прогнулась под воздействием снега, это вызвало цепную реакцию, которая сложила всю конструкцию вместе с другими участками крыши как костяшки домино.
2. Ракета Ariane 5: ущерб в 8,5 млрд долларов
4 июня 1996 года случился неудачный запуск ракеты-носителя Ariane 5, которая была разработана Европейским космическим агентством. Ракета разрушилась на 39-й секунде полета из-за неверной работы бортового программного обеспечения. Эта история запомнилась, как одна из самых дорогостоящих компьютерных ошибок.
В системе управления полетом новой ракеты Ариан 5 использовались фрагменты программного обеспечения ракеты Ариан 4, в частности системы инерциальной навигации. Однако при переносе этой системы для использования на новой ракете, разработчиками не были учтены все особенности. Из-за другой траектории выведения ракеты на 30-й секунде после запуска значение горизонтальной скорости превысило установленные в программе ограничения и вызвало сбой в работе компьютера.
В результате ракета получила ложную команду на отклонение сопел ускорителей, а позже и основного двигателя. На 39-й секунде полета ракета стала разрушаться под действием аэродинамических сил и самоуничтожилась.
Программное обеспечение, установленное на борту Ariane 5, было разработано для более ранней модели – Ariane 4. Более мощный двигатель Ariane 5 спровоцировал баг, не встречавшийся в предыдущих версиях ПО.
В сущности, программа попыталась записать 64-разрядное число в 16-разрядное пространство. Возникло переполнение, в результате которого отказал и основной, и резервный компьютер (поскольку на обоих компьютерах выполнялись одни и те же программы).
3. Ракета «Маринер-1»: ущерб в 18,5 млн долларов
21 июля 1962 с Мыса Канаверал был произведен запуск ракеты-носителя «Атлас», несущей аппарат «Маринер-1», который должен был отправиться к Венере. Через несколько минут после взлета ракета отклонилась от курса и была подорвана из соображений безопасности.
Инженеры, проанализировавшие записи телеметрии, вскоре обнаружили, что причиной послужили две независимых ошибки. Антенна ведения на „Атласе“ была изготовленна некачественно, с параметрами ниже заявленных. Когда получаемый ракетой сигнал стал слабым и зашумленным, ракета потеряла привязку к сигналу с Земли, посредством которого передавались команды поворота. Такая возможность была предусмотрена; в случае потери сигнала радиоведения бортовой компьютер должен был игнорировать сигналы с неисправной антенны и выполнять собственную программу, которая, возможно, смогла бы обеспечить успешный запуск. Однако, в этот момент проявилась вторая ошибка. Каким-то образом в программе ведения оказался пропущенным дефис, что привело к некорректному управлению ракетой — уходу влево и опусканию носа. Дефис был пропущен и во время предыдущих успешных запусков „Атласа“, но эта часть программы не использовалась, т.к. не происходило разрыва радиосвязи. Таким образом, первая попытка Штатов осуществить межпланетный перелет потерпела крах из-за пропущенного дефиса.
Этого могло и не случиться, если бы антенна аппарата не потеряла связь с наводящей системой на Земле. В результате управление взял на себя бортовой компьютер, программа которого и содержала роковую ошибку.