Une erreur d'arrondis payée par des vies humaines

Proposé par
le

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!!!!!

Posté le

android

(363)

Répondre


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 !!

Posté le

android

(2)

Répondre

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!!!!!

Posté le

android

(363)

Répondre

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.

Posté le

android

(60)

Répondre

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 !!

a écrit : 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? Afficher tout Ils ont simplifié car il n'avait sûrement pas le choix. Un ordinateur a un nombre maximal de chiffres, au bout d'une dizaine de calcul, voir plus, même en arrondissant très peu, ce sera énormément changer

Posté le

android

(31)

Répondre

500 m en 0.34 s, avec un peu de chance ils auraient intercepter le missiles suivant

Posté le

android

(23)

Répondre

a écrit : 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? Afficher tout Ils ne font pas des arrondis sur les premières décimales, mais un calculateur a une certaine limite et doit donc pratiquer l'arrondi pour pouvoir calculer. Augmenter le nombre de décimales fait partie des objectifs de progression,

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.

Posté le

android

(10)

Répondre

a écrit : 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 !! Beh si un missile fait 500m en 0,34s, et que l'anti-missile a fait une erreur de 0,34s alors oui il l'a loupé de 500m. Juste la phrase tournée différemment.

Posté le

android

(51)

Répondre

a écrit : 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 !! Ce qui revient au même dans l'anecdote puisque ça a causé un décalage de 0.34 seconde et que l'anti missile était donc a 500 mètres de sa cible

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.

a écrit : 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. <
br /> 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. Afficher tout
Tu doit parler de Mars climat orbiter, qui s'est cracher sur mars alors quelle devait rester en orbite à 150 km de la surface.

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 !

Posté le

windowsphone

(16)

Répondre

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.

Posté le

android

(11)

Répondre

a écrit : 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. Tu n'as même pas idée à quel point...

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.