Desde el 2 de agosto de 1990 hasta el 28 de febrero de 1991, nuestro planeta fue testigo de una gran guerra entre 34 países de las Naciones Unidas liderados por Estados Unidos contra la República de Irak. La Guerra del Golfo, como es conocida. Los misiles Scud fueron grandes protagonistas de este conflicto, puesto que Irak los usaba para bombardear objetivos en Israel. Ante esta situación, Estados Unidos dispuso varias baterías de "misiles antimisiles" Patriot a lo largo del territorio que se podría decir que no eran perfectos.
Tanto es así que el 25 de febrero de 1991, los Patriot ignoraron por completo un misil Scud que, finalmente, acabó matando a 28 soldados. El motivo, tal y como explica Julio Mulero, profesor de Matemáticas en la Universidad de Alicante, fue un error de 0,000000095 segundos en su sistema de detección. Como explica Mulero, "los Patriots son misiles tierra-aire de largo alcance y carácter defensivo. Cuando el radar de la batería detectaba un ataque con misiles, los Patriot eran lanzados con el propósito de destruir la amenaza antes de que alcanzara su objetivo", pero ese día el sistema falló.
Una bola de nieve matemática que acaba en desastre

Mulero explica que el funcionamiento de este sistema de defensa era bastante sencillo. Primero, el radar detectaba un objeto extraño, que en este caso era un Scud. Dichos misiles tienen una velocidad de 1,7 km/s, es decir, Mach 5, así que sabiendo la velocidad, el sistema "predecía su posible futura ubicación y comprobaba si el objeto había seguido esa trayectoria". De ser así, el sistema lanzaba los misiles Patriot para explotar la amenaza en el aire.
La empresa fabricante de este sistema es Raytheon, que aseguraba, explica el profesor, un 80% de eficacia. Dicha cifra contrastaba, y mucho, con la de los expertos, que creían que era más bien del 50%. De hecho, en octubre de 1992, un análisis del desempeño de estos misiles dejó ver que la tasa de acierto era de un 9% y que el 45% de los despliegues (158 misiles en total) era contra escombros u objetos falsos. Se necesitaban entre tres y cuatro Patriot para interceptar un Scud, así que de derribarlo, el acierto sí es de 100%, pero la precisión es del 25% o 33,33%, según la cantidad de misiles lanzados.
Siguiendo con la historia, el 25 de febrero de 1991, Irak lanzó un Scud contra un cuartel general a las afueras de Dhahran. Sobre el papel, el sistema Patriot tuvo que haberlo interceptado, pero un desfase en el reloj interno hizo que los misiles no se activasen. "Su sistema había de predecir la trayectoria del misil, punto a punto, en función de dos variables (reales): la velocidad (conocida) y el último momento de tiempo en que fue detectado en el radar", explica Mulero.
La #velocidad de un Scud (conocida) es un número real.
— Julio Mulero (@juliomulero) January 9, 2020
El #tiempo es una magnitud real, pero el sistema la calculaba mediante un reloj interno como una variable entera en décimas de segundo. Tanto mayor cuanto mayor era el entero que representaba el tiempo. pic.twitter.com/iTL3ZKDRCc
La velocidad del Scud era un número real (1,7 km/s), pero el tiempo se "calculaba mediante un reloj interno como una variable entera en décimas de segundo". Es decir, "tanto mayor cuanto mayor era el entero que representaba el tiempo". Los Patriot almacenaban los números reales con 24 bits, por lo que "solo se podían almacenar unos cuantos dígitos que debían estar expresados en el sistema binario".
Inicialmente, el tiempo se expresaba en décimas de segundo, ergo tenía que ser convertido a segundos, por lo que se debía multiplicar por 1/10. El problema es que el número 1/10 expresado en binario es:
0,0001100110011001100110011001100… con cifras infinitas después de la coma.
Como el ordenador solo podía almacenar unos cuantos dígitos, se sustituía el valor real por una aproximación:
0.00011001100110011001100.
Es un error binario equivalente a 0,000000095 segundos, pero el problema está en que los ordenadores llevaban 100 horas funcionando. 100 horas son 3.600.000 décimas de segundo. Si a cada décima le aplicamos un error de 0,000000095 segundos, el error total es de 0,342 segundos. "Dado que un Scud viaja a 1.676 ms/s (aprox.), el desplazamiento adicional del misil en 0,342 segundos fue de 573,192 metros". Más de medio kilómetro, ahí es nada. El sistema entendió que era una falsa alarma, los Patriot no despegaron y el Scud se estrelló contra la base, matando a 28 soldados e hiriendo a 100 personas.
La #velocidad de un Scud (conocida) es un número real.
— Julio Mulero (@juliomulero) January 9, 2020
El #tiempo es una magnitud real, pero el sistema la calculaba mediante un reloj interno como una variable entera en décimas de segundo. Tanto mayor cuanto mayor era el entero que representaba el tiempo. pic.twitter.com/iTL3ZKDRCc
Este problema fue identificado por los expertos israelíes, que informaron al ejército estadounidense en febrero de 1991. La solución temporal era reiniciar el sistema informático, pero los oficiales ignoraron la recomendación. También ignoraron la actualización de software liberada, que llegó el 24 de febrero (un día antes del ataque) y que se instaló en el sistema de defensa un día después después del fatídico impacto del misil.
Mulero explica que no fallaron los algoritmos ni los ordenadores, sino que simplemente "se ignoró un minúsculo error de "0,000000095 segundos". La Guerra del Golfo acabó tres días después de este ataque con la rendición de Irak. 378 soldados de la coalición internacional perdieron la vida y 1.000 fueron heridos, mientras que los iraquíes recibieron entre 25.000 y 30.000 bajas.
Vía | Julio Mulero
Ver 33 comentarios
33 comentarios
palalol
Pues qué queréis que os diga, todos os quejáis de a o b pero este justamente sí me parece un post bastante interesante, de ver como un error que a priori parece minúsculo no lo es tanto y a lo que puede llegar.
biturrizar
Lo que se me hace raro es eso de los 24 bits. Si desde el final de los setenta ya se producía el coprocesador matemático 8087 que trabajaba con reales de punto flotante de 80 bits, en donde el redondeo es en el bit 81. Y no digamos el 80387 que ya existía en esa época.
Algo no cuadra, el tener misiles costosísimos con un sistema matemático muy primitivo.
Trocotronic
Es interesante ver cómo los defectos de implementación que a simple vista son menospreciables pueden acarrear tanta tragedia.
Lo más irónico de todo es que si hubiese sido en coma fija, el error no hubiese existido.
lmdg67
A eso le llamarían daños colaterales y encima les sirvieron para comprobar en vivo y en directo el defecto del sistema, aunque ya lo tenían de antemano previsto con esa actualización que no se llevó a cabo.
Y siguiendo con los errores, corregid por favor el "....matando a 28 soldados y heriendo a 100 personas", porque eso sí que hiere a todos los miembros de la RAE en lo más profundo de su corazón.
csycs
Artículo muy pero que muy interesante y formativo, así da gusto.
nachomartr
Yo si creo que hay un error en el algoritmo. Un algoritmo bien diseñado tiene en cuenta que hay errores de coma flotante o punto fijo, y aunque el error instantaneo de redondeo es inevitable, no acumula error con el paso del tiempo.
sergiocastillo3
No lo sé, dicen que ya sabían del problema, sabrían que la minúscula cifra se acumularía y que en cuestión de tiempo el sistema sería inútil, además yaaa tenían el fix y aún así no quisieron instalarlo sino que lo hicieron hasta después del evento. Me suena a que el sistema no falló sino que lo hicieron fallar... Quien sabe, tal vez ocupaban una muy buena razón para aumentar la motivación y dar el golpe final y masacrar sin que nadie se quejara..
En esto de la guerra nunca se puede creer la versión oficial...
vilapicts
Cuando cogéis un tema tela sois muy pesaditos
sanamarcar
Un error de becario, anda que no podía usar alternativas. Pero el peor error de todos es usar misiles en general, es muy triste. En el futuro seguro que podremos meter misiles del tamaño de un plátano por el culo a casi cualquiera, pero la pregunta es: ¿Es necesario? En fin, al final siempre pagan los pringados, tanto con sus impuestos como con sus vidas.
Aquí haciendo apología de los misiles... Xataka cada vez mas un tebeo.