Com o inicio das aulas já na próxima segunda feira tenho andado, como de costume, á procura de exemplos, mais ou menos aplicados, que sirvam de motivação ao estudo dos vários capítulos de uma disciplina de métodos numéricos. Assim resolvi este semestre explicar, como exemplo de motivação para o estudo da representação dos números reais em vírgula flutuante, os erros de arredondamento existentes no software dos misseis Patriot durante a guerra do Golfo (1990) e as suas consequências não numéricas. O assunto é bem conhecido mas muito instrutivo, do ponto de vista matemático, pedagógico e até político (procure-se os comentário de Bush na altura contrapondo com os dos seus militares e Israel).
No início dos anos 90 durante a guerra do Golfo foi usado um sistema de defesa das tropas americanas denominado de sistema de defesa com misseis aéreos Patriot. Na noite de 25 de Fevereiro de 1991 este sistema de defesa e detecção de ataques inimigos falhou, não conseguindo intersectar um míssil Scud lançado pela Arábia Saudita. O míssil iraquiano matou 28 militares americanos e feriu outros 98.
Esta falha grave no sistema de defesa deveu-se a erro no radar do sistema Patriot e no software que o suportava, reduzindo-se no fim, a um erro de arredondamento no cálculo e na medição do tempo.
O algoritmo usado pelo radar necessitava de representar a velocidade do míssil
atacante e do tempo que vai passando por números reais. O valor da velocidade
era guardado num número com uma parte inteira e uma parte decimal e a variável
tempo, instantes sucessivos de funcionamento do sistema de defesa, como um outro
número real com as mesmas características. No entanto o computador do míssil Patriot, na sua representação
interna, usava um conjunto de 24 bits. Como a unidade de tempo usada para
incrementar o relógio era de 1/10 segundos, número que não tem uma representação em base
2 finita, o sistema usava uma aproximação ao número 1/10 dada por
truncando a expansão em base 2 de 1/10 ao vigésimo quarto dígito.
Claro que para tempos pequenos de funcionamento o erro acumulado na variável
tempo é pequeno mas ao fim de 100 horas de funcionamento o erro final acumulado
é da ordem de
que corresponde a um deslocamento na posição da região de procura do radar da
ordem de 687 metros o que conduziu à não detecção do míssil Scud iraquiano.
Created: NaN
Last updated: 23-01-2025 [00:04]
For attribution, please cite this page as:
Charters, T., "Erros de arredondamento": https://nexp.pt/patriot.html (23-01-2025 [00:04])
(cc-by-sa) Tiago Charters - tiagocharters@nexp.pt