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.
texto por Tiago Charters de Azevedo
E assim se aprende matemática vista pelos "olhos" de uma máquina.
Sem comentários:
Enviar um comentário