Компютър унищожава сондата "Mars Polar Lander"

грешка

Миналия декември всички ние скърбихме за загубата на космическата сонда на НАСА "Марс Полярен десант". Чакахме сигнал от сондата. Отговор обаче нямаше. Изгубена е завинаги. Комисия, председателствана от Джон Казани, бивш главен инженер на Лабораторията за реактивно задвижване (JPL), отговарящ за контрола на сондата, идентифицира лицето, отговорно за инцидента: грешка в програмирането. Новата философия на НАСА, тъй като Даниел Голдин ръководи „по-добри, по-бързи и по-евтини“ мисии, отново се провали.

Космическите сонди, които кацат на планета, използват парашути, за да омекотят кацането. За да спести тегло и насипно състояние на парашутите, „Марс Полярният спускател“ използва ретро населена система за кацане. Ретропопулсорите са били използвани в лунните мисии на Аполон под човешки контрол, но на тази сонда те са били в ръцете на компютърна програма. Компютърната програма каза, че парашутите се премахват, ретропопуларите се освобождават и активират и когато сензорите на кораба "усетят" твърда земя, краката на сондата се отстраняват и тя се приземява. Комитетът, председателстван от Джон Казани, обаче е проверил, че ако сензорите "усетят" силен удар при навлизане в атмосферата, подобно на кацането, краката се активират и компютърната програма "забравя" да активира ретро-тласкачите, причинявайки сондата да се блъсне в земята.

Не за първи път грешка в програмирането унищожава космическа сонда на НАСА. Всички си спомняме неотдавнашната загуба на сондата "Марс климатичен орбитър" за объркване на километри с километри. Може би по-малко известна е загубата през 1962 г. на сондата Mariner 1, която ще изследва планетата Венера, поради заместването на "," с ". в програма, или загуба на сондата "Вояджър 2" поради неправилна оценка на масата на планетата Уран, или пожар от ракетен ускорител на Лунната програма през 1994 г. поради неизправност на компютъра, или загуба на "Марс пристигащ" през 1997 г. поради рестартиране на програма в неподходящо време. Но също така Европейската космическа агенция загуби Ariane 5, която експлодира през 1996 г. поради проблем с преобразуването на номера, или руската марсианска сонда Фобос 1, експлодира през 1988 г., защото компютърът я завъртя там, където не трябваше.

Но не само космическите агенции имат проблеми с планирането, през 1991 г., по време на войната в Персийския залив, грешка при закръгляването накара ракета Patriot-Scud да убие невинни, през 1988 г. въздушен автобус падна там, където не би трябвало в конфликта в Иран, заради проблем с разпознаването на изображения програми, от 1975 до 1987 г. рентгеновият апарат Therac-25, облъчен с опасни дози на голям брой пациенти, индексите на чантата във Ванкувър са били грешни през 1983 г. поради грешка в закръгляването, ядрен реактор е спрян през 1979 г. поради числено проблем, влак спря да се движи през 1995 г. в Германия поради липса на памет в компютъра и т.н.

Накратко, „софтуер“, компютърните програми са най-сложното човешко изобретение в цялата история. Избягването на грешки в компютърна програма е практически невъзможно. Смята се, че нормалната програма има около 25 грешки на 1000 реда и че критичната програма трябва да има по-малко от една грешка на 10 000 реда код. Мобилният телефон има програма от над 200 000 линии, след което ще има около 600 грешки. Windows 95 има повече от 10 милиона реда, след това има повече от 200 000 грешки. Не е изненадващо, че при представянето на Windows 98 компютърът се срина на самия Бил Гейтс, който ще остане в историята, за да убеди нас потребителите, че е нормално компютърната програма да се провали.

Франсиско Р. Вилаторо (професор в Университета в Малага)