Les erreurs d'arrondis en informatique peuvent causer des drames. En 1991, 28 soldats américains furent tués à cause d'un problème de ce type durant la guerre du Golfe : un système antimissile américain échoua à intercepter un missile irakien du fait d'une accumulation d'erreurs d'arrondis conduisant à un décalage de 0,34 seconde sur le calcul de la trajectoire du missile. Peu de temps, mais suffisamment pour que l'anti-missile rate sa cible de 500 mètres.
Commentaires préférés (3)
Et moi en géométrie au college qui me disait "allez c'est qu'un petit millimètre"
C'est étonnant qu'un système supposé être quand même assez fiable, disons, puisse faire autant d'arrondis pour un calcul nécessitant une telle précision.
Ça me fait un peu penser à la coopération entre les états-unis et je ne sais plus qui pour une mission spatiale sur mars, il me semble.
Il y avait eu confusion entre les mesures faites dans le système métrique et impériale, ce qui a causé le crash de l'engin à piloter.
Oups!!!!!Chef j'ai oublié la retenu!!!!!
Tous les commentaires (57)
Et moi en géométrie au college qui me disait "allez c'est qu'un petit millimètre"
Faut etre bon au calcul les américains !!
C'est étonnant qu'un système supposé être quand même assez fiable, disons, puisse faire autant d'arrondis pour un calcul nécessitant une telle précision.
Ça me fait un peu penser à la coopération entre les états-unis et je ne sais plus qui pour une mission spatiale sur mars, il me semble.
Il y avait eu confusion entre les mesures faites dans le système métrique et impériale, ce qui a causé le crash de l'engin à piloter.
Oups!!!!!Chef j'ai oublié la retenu!!!!!
En 91 ils savaient déjà utiliser des systèmes informatiques aussi poussé pour les missiles d'interception ?! Faut que j'arrête de confondre progrès militaire et progrès "public" ... Vraiment intéressant, merci pour l'anecdote.
Il y a une chose que je ne comprend pas. Il semble évident qu'un calcule imprécis ait des conséquences gigantesques pour les manoeuvres spatiales par exemple. Or il s'agit d'un manque de précision dans le calcule. Quand on arrondit, il me semble qu'on simplifie volontairement le résultat en le rendant légèrement moins précis. Par exemple 1,09 -> 1,1. Alors quel intérêt d'arrondir en sachant les conséquence? Pourquoi ne gardaient-ils pas le résultat brute?
Quand on pense qu'une demi seconde a des conséquences vitales pour 28 personnes ....
Les sources ne disent pas que l'antimissile est passé à 500 mètres, seulement qu'un missile fait 500 mètres en 0,34s. Bref très différent quand même !!
500 m en 0.34 s, avec un peu de chance ils auraient intercepter le missiles suivant
Il y a aussi le "zéro machine", qui correspond à la limite en deça de laquelle l'ordi considère un zéro. Par exemple si le zéro machine est 0.01, alors 0.009 correspond à 0.
Ça me fait penser à la fusée Ariane 5 qui avait explosé au décollage à cause d'un problème d'allocation mémoire si je me souviens bien.
Ils avaient connaissance du problème et avaient tenté d'y remédier par quelques manipulations non abouties. Ce qui est terrible pour ces 28 soldats du centre de commandement du 14e détachement de l'armée des États-Unis, c'est que le concepteur du PATRIOT MIM104 travaillait sur une mise à jour qui sera terminée le lendemain du drame.
Patriot est l'abréviation de Phased Array TRacking to Intercept Of Target, ce qui veut dire"Poursuite à antenne active pour l'interception de cible"
À savoir aussi que la dernière version de ce missile, le MIM104 PAC3 (~3 millions de dollars) est déployée sur de nombreux théâtres d'opérations actuels.
L'erreur en question est due à l'équipe qui a calculé les données en unités anglo-saxonne (livres-forces-seconde) et qui les a transmise tel quel a l'équipe de navigation qui les attendais en unités du système international (Newton-seconde).
Un beaux gâchis au final!
Il y a également une anecdote qui parle d'un problème similaire, un avion n'a reçu que la moitié du carburant dont il avait besoin et a faillit se cracher, car le plein a été fait en livres et pas en kilo, heureusement, il n'y a pas eut de victimes si je me souviens bien.
Je tiens à preciser que ce decalage est du à la representation des réels en informatique. En realité certains ne sont même pas representable ! Et pas le peine de chercher des nombres compliqués, par exemple, 0.1 n'existe pas en informatique, du moins il existe une approximation (assez precise, mais suffisante pour créer un decalage).
Bonne journée !
C'est un "al Hussein " qui devait être intercepté. Voici une photo du missile et une autre de la caserne américaine détruite.
fr.m.wikipedia.org/wiki/Al_Hussein
En informatique, il y a deux façons de caractériser un chiffre : int et float. Les premiers sont des entiers relatifs (...,-3,-2,-1,0,1,2...) et ont une précision infinie, cad 1+1+4=6 pile poil. Les seconds sont des décimaux, pas très précis puisque par exemple 1/2 n'existe pas, ce n'est pas 0,5 mais 0,500000... Au final, la précision sur les float et de 5.5511151231257827e-017. Ainsi 0,1+0,5+0,4≠0.
La technologie militaire est une association assez étrange d'éléments de pointe (avec 10 à 20 ans d'avance sur le grand public) et de technologies totalement "obsolètes" depuis 10 ou 20 ans, mais qui ont fait leurs preuves de fiabilité sur la durée. L'étrangeté réside en l'association de deux technologies pouvant avoir plus de 20 ans d'écart !
Tu peux par exemple trouver de vieilles consoles d'armement, utilisant des connexions (logicielles et matérielles) vieilles de 20 ans ou même plus, couplées (via des cartes de type PCI/PCIe développées spécifiquement) à des ordinateurs de pointe. L'ordinateur se charge des calculs de visée et de contre-mesures (ce que l'on appelle la guerre électronique), et finit par envoyer l'ordre de tir et les paramètres de tir à la console d'armement, certes obsolète mais fiable à 99.99999%.
Si l'on utilisait des consoles de tir "modernes", notamment gavés d'électronique et très complexes, la probabilité qu'elles tombent en panne au moment critique serait nettement plus élevée, et elles seraient également plus chères !
Alors que les "vieux" systèmes, contenant peu d'électronique complexe, sont totalement fiables et ne tombent quasiment jamais en panne. Ils ont l'inconvénient de ne pas être "autonomes" et de requérir un ordinateur tactique derrière, mais de toutes façons, aucun humain ne pourrait réagir assez vite pour effectuer un tir (offensif ou défensif) avant d'être détruit par l'ennemi. Car en général, le temps de réaction après détection d'une menace est de l'ordre de 5 secondes, pendant lesquelles il faut à la fois balancer les contre-mesures ET déclencher le tir offensif, et les deux requièrent des calculs relativement complexes.