
Historia lubi wielkie słowa: wojny, rewolucje, ideologie. Ale bardzo często jej bieg zależał od czegoś znacznie mniej spektakularnego. Od źle przeliczonej liczby, pomylonej jednostki, wadliwego algorytmu albo danych, którym ktoś zaufał bardziej niż własnemu rozsądkowi.
Czytaj też: Ewolucja człowieka jednak nadal pełna nieścisłości. Badacze wytknęli poważne błędy
W tych dziesięciu historiach nie ma spisków ani science fiction. Są za to prawdziwe systemy wojskowe, rakiety, giełdy, mosty i komputery, które na moment wymknęły się spod kontroli. I tylko przypadek, refleks albo szybka reakcja ludzi sprawiły, że świat nie skręcił w bardzo ciemną stronę.
Rakieta Ariane 5, która sama się zniszczyła
W 1996 r. Europa chciała pokazać światu nową, potężniejszą rakietę nośną. Ariane 5 wystartowała… i po 37 sekundach zamieniła się w kulę ognia. Przyczyna? Jedna linijka kodu, która nigdy nie powinna znaleźć się w nowym systemie.
System nawigacyjny próbował zapisać zbyt dużą liczbę w zbyt małym “pojemniku” pamięci. W starszej rakiecie Ariane 4 ten fragment działał bez problemu, bo parametry lotu były inne. W Ariane 5 doszło do przepełnienia zmiennej, program się zawiesił, a komputer uznał poprawne dane za błąd. Rakieta zaczęła gwałtownie zmieniać kurs, po czym automatyczny system bezpieczeństwa ją zniszczył. Śledztwo ESA wykazało, że problemem nie była sama matematyka, ale ślepa wiara w “sprawdzony kod” i brak testów dla nowych warunków lotu.
Sonda NASA, która zginęła przez mile zamiast kilometrów
Mars Climate Orbiter miał badać atmosferę Marsa i przygotować grunt pod kolejne misje. Zamiast tego… zniknął. Najprawdopodobniej spłonął w atmosferze planety, bo wszedł na orbitę zbyt nisko.
Przyczyna była wręcz banalna. Jedna część zespołu używała jednostek imperialnych, druga metrycznych. Siła ciągu była liczona w funtach, a system nawigacji oczekiwał niutonów. Różnica narastała stopniowo i przez długi czas pozostawała niewidoczna. Dopiero przy manewrze wejścia na orbitę okazało się, że sonda znajduje się kilkadziesiąt kilometrów niżej, niż powinna. NASA później przyznała, że problemem nie był brak wiedzy, lecz brak wspólnych standardów i kontroli na styku zespołów.
Komputer, który “zobaczył” amerykański atak nuklearny
Wrzesień 1983 roku. Zimna wojna jest w punkcie wrzenia. Radziecki system wczesnego ostrzegania informuje: Stany Zjednoczone wystrzeliły rakiety balistyczne.
Alarm był fałszywy. Satelity źle zinterpretowały odbicia światła słonecznego od wysokich chmur nad Ameryką Północną. Algorytm zrobił dokładnie to, do czego został zaprojektowany – przeliczył sygnały i wskazał atak. Problem w tym, że rzeczywistość nie mieściła się w modelu matematycznym. Oficer dyżurny, Stanisław Pietrow, miał kilka minut na decyzję. Zamiast zaufać komputerowi, zaufał zdrowemu rozsądkowi. Uznał, że prawdziwy atak nuklearny nie wyglądałby jak seria pojedynczych startów. Dzięki temu nie uruchomiono procedury odwetu.
System Patriot “zgubił” rakietę
Podczas wojny w Zatoce Perskiej amerykański system obrony Patriot nie przechwycił irackiej rakiety Scud. Pocisk uderzył w koszary w Arabii Saudyjskiej, zabijając 28 żołnierzy.
Przyczyną był błąd narastający w czasie. System obliczał pozycję celu na podstawie czasu zapisanego w postaci ułamków dziesiętnych. Każda kolejna godzina pracy wprowadzała mikroskopijne przesunięcie. Po kilkunastu godzinach błąd wynosił już setki metrów. Radar “widział” rakietę, ale system celował w miejsce, w którym Scuda już nie było. To jeden z najbardziej znanych przykładów, jak drobny błąd numeryczny może mieć śmiertelne skutki.
Most, który rozkołysał się na śmierć
Most Tacoma Narrows w USA nie runął pod ciężarem samochodów ani z powodu słabych materiałów. Runął, bo zaczął się kołysać.
Projektanci bardzo dobrze policzyli wytrzymałość statyczną konstrukcji, ale nie przewidzieli, jak wiatr może wzbudzić drgania skrętne. Gdy most wszedł w rezonans, amplituda drgań rosła z każdą minutą. Konstrukcja nie była w stanie się “uspokoić”. Katastrofa z 1940 roku stała się przełomem w inżynierii. Od tego momentu mosty zaczęto liczyć nie tylko pod kątem wytrzymałości, ale też zachowania w dynamicznych warunkach atmosferycznych.
Algorytmy, które przyspieszyły giełdową panikę
19 października 1987 roku, w tzw. czarny poniedziałek, giełdy na całym świecie zanotowały historyczne spadki. Jednym z kluczowych czynników były algorytmy handlowe, które miały ograniczać straty inwestorów.
Modele matematyczne zakładały, że przy spadkach cen należy automatycznie sprzedawać akcje. Problem polegał na tym, że bardzo wiele instytucji korzystało z podobnych strategii. Gdy rynek zaczął spadać, algorytmy uruchomiły masową sprzedaż, która tylko pogłębiła panikę. Matematyka była poprawna, ale nie uwzględniała zbiorowego efektu stadnego.
Platforma wiertnicza, która zatonęła przed startem
Norweska platforma Sleipner A zatonęła w 1991 r. podczas testów, zanim rozpoczęła wydobycie. Winny był błąd w komputerowym modelu konstrukcji.
Program źle oszacował naprężenia w betonowych ścianach zbiorników balastowych. Różnica sięgała kilkudziesięciu procent. Gdy podczas testu ciśnienie wzrosło, ściany pękły niemal natychmiast. Katastrofa kosztowała około 700 mln dolarów, ale przyniosła też ważną lekcję: nawet zaawansowane symulacje są bezwartościowe, jeśli ktoś źle wprowadzi dane.
Y2K, czyli strach przed rokiem 1900
Przez dekady programiści zapisywali rok jako dwie cyfry, oszczędzając pamięć. Gdy zbliżał się rok 2000, okazało się, że wiele systemów może “cofnąć się” do 1900 roku.
Problem dotyczył banków, elektrowni, systemów lotniczych i infrastruktury krytycznej. Globalnej katastrofy nie było tylko dlatego, że w ostatnich latach XX wieku rozpoczęto masową akcję poprawiania kodu. To jeden z nielicznych błędów obliczeniowych, który nie wybuchł wyłącznie dlatego, że wszyscy bali się go wystarczająco mocno.
Aparat do leczenia raka, który liczył źle
Therac-25 był nowoczesnym aparatem do radioterapii. W praktyce okazał się śmiertelnie niebezpieczny.
Błędy w oprogramowaniu sprawiały, że przy określonych sekwencjach działań operatora pacjenci otrzymywali dawki promieniowania setki razy wyższe od terapeutycznych. System zakładał, że takie kombinacje są “niemożliwe”. Były możliwe – i nikt tego wcześniej nie przetestował. Seria wypadków doprowadziła do gruntownej zmiany podejścia do certyfikacji sprzętu medycznego i oprogramowania.
Symulacja, która prawie wywołała wojnę nuklearną
W 1979 roku system NORAD poinformował o masowym ataku nuklearnym ZSRR na USA. Na ekranach pojawiły się setki nadlatujących rakiet.
Problem polegał na tym, że były to dane z symulacji szkoleniowej, które przez błąd trafiły do systemu operacyjnego. Myśliwce zostały poderwane, załogi bombowców postawione w stan gotowości. Dopiero ręczna weryfikacja wykazała, że “atak” istniał tylko w komputerze. Kilka źle podłączonych danych niemal uruchomiło mechanizm, którego nie da się cofnąć.