El 25 de febrero de 1991, durante la Guerra del Golfo, una batería de misiles Patriot estadounidenses en Dharan (Arabia Saudita) no logró interceptar un misil Scud iraquí. Murieron 28 soldados estadounidenses. La causa: un error de 0.000000095. Los Patriot eran (son) misiles tierra–aire de largo alcance y carácter defensivo. Cuando el radar de la batería detectaba un ataque enemigo con misiles, los Patriot eran lanzados con el propósito de destruir el objetivo antes de que llegara a su objetivo. ¿Qué ocurrió?
|
etiquetas: guerra , error , guerra del golfo , error informático
Como lo es, poner una frase Bonita para terminar u relato de dolor y muerte de un puñado de ángeles y casi cien arcángeles que estaban alli.
Aqui dejo [ kutt.it/UEcgoE ] un link con el trabajo de estos querubines . Ah.. que casi se me olvida.: Si quieres la paz, no hables con tus amigos, sino con tus enemigos M.Dyan
Sin embargo, al contrario de lo expuesto por #4 y #5, me inclino por señalar a los militares, por un lado - que no siguieron las indiciaciones dadas. Que era un coñazo hacer un reset? Que era un coñazo hacer un update del sistema?... las recomendaciones del fabricante, mire usted.
Por otro lado, me imagino que un sistema de estos no ve la luz por las buenas - que se hunda manteca para que salga adelante; y se arreglan a posterior los "errores" que pueda haber. (congresistas, lobbys...vaya usted a saber)
Pequeña reflexión filosófica: el ser humano es imperfecto, por lo que sus creaciones siempre lo serán. Las matemáticas ayudan a reducirlas, pero nunca a acabar con ellas.
tantos
.gif
inútiles?
Es la sensación que me da ver un gif que escibe una frase o una formula de manera lenta.
Impresionante la de vidas que se pierden en las guerras...y ahi se ve un minimo pero claro ejemplo.
Cameron Highlanders.
Ah, y el principio que citas trata de una proposición contradictoria, no errónea, así que ojo con utilizarlo indiscriminadamente...
Para calcular la posicion de los misiles SCUD el valor absoluto de la hora no deberia ser relevante. Al restar dos posiciones del misil el error acumulado se cancelaria y solo quedaria el error introducido en el momento, que seria de 0.0001%, muy pequeño. Como explican en el articulo de mas abajo, el problema es que se añadio una nueva funcion para calcular el tiempo de forma mas precisa. El problema es que en mucho sitios no se corrigio la nueva funcion, por lo cual se hacian operaciones en las que se restaba el valor no corregido con el valor corregido, de esta forma aparecía el error acumulado.
w3.ual.es/~plopez/docencia/itis/patriot.htm
"The software used had been written in assembly language 20 years ago. When Patriot systems were brought into the Gulf conflict, the software was modified (several times) to cope with the high speed of ballistic missiles, for which the system was not originally designed."
porque
han
fusilado
un
hilo
de
twitter
(lo pone al principio)
Mis respetos a los programadores de C
En todas las guerras, los únicos que pierden son los que pierden su vida por la prepotencia de unos líderes que se dedican a beber cognac y fumar puros mientras unos pobres diablos son mutilados y masacrados en el frente. Pierden los que pierden a sus seres queridos y el sustento de sus familias. Y de esos hay en todos los bandos.
Como mucho, la única forma en la que una fuerza combatiente pierde es en recursos humanos y económicos, porque al final, para un Estado, los ciudadanos no son más que fuerza de trabajo y poder militar, y se tiene que gastar una pasta ingente en sostener una guerra. Aparte de eso, no el Estado no pierde nada. Quienes pierden son los ciudadanos sometidos al poder del Estado que los manda a la guerra.
No entendía nada de nada hasta que he leido en tu enlace:
At least one of these software modifications was the introduction of a subroutine for converting clock-time more accurately into floating-point. This calculation was needed in about half a dozen places in the program, but the call to the subroutine was not inserted at every point where it was needed. Hence, with a less accurate truncated time of one radar pulse being subtracted from a more accurate time of another radar pulse, the error no longer cancelled.
El error se dió al comparar un valor corregido con un valor por corregir.
Estaba flipando entre que más daba restar 234356.5 de 234356.7 que 78.5 de 78.7 en 224 hay más de 16 millones de valores (24h son 86.400 segundos)... luego he pensado que era un error con multiplicar esos números, pero eso habría sido un problema de tamaño del registro (y un 248 no te lo acabas) luego he pensado que la representación variaba con los bits dedicados a la parte decimal según incremantaba la parte entera y eso llevaba a perder precisión... vamos, que no entendia nada de nada...
Gracias otra vez!
Me alegro que te haya molado la explicacion. Estaria bien saber que operacion habian hecho exactamente para hacer mas precisa la medida y en que operaciones se producia el error.