quarta-feira, 6 de maio de 2015

O número que pode levar à catástrofes mundiais


O número que pode levar à catástrofes mundiais

O número que pode levar à catástrofe! Porque é que o número 2,147,483,647 é tão importante?

Um bug surpreendentemente simples aflige computadores que controlam aviões, naves espaciais e mais - eles ficam confusos com números grandes.

Terça-feira de junho 4, 1996 será para sempre lembrado como um dia negro para a Agência Espacial Europeia (ESA). O primeiro vôo do crewless foguete Ariane 5, levando consigo quatro satélites científicos muito caros, terminou depois de 39 segundo em uma bola de profana fumaça e fogo. Estima-se que a explosão resultou em uma perda de 370 milhões de dólares.

O que aconteceu? Não foi uma falha mecânica ou um ato de sabotagem. Não, o lançamento acabou em desastre graças a um bug de software simples. Um computador recebendo em uma matemática errada - essencialmente ficou sobrecarregado por um número maior do que o esperado.

Como é possível que os computadores se confundem com números dessa maneira? Acontece que tais erros são responsáveis ​​por uma série de desastres e acidentes nos últimos anos, destruindo foguetes, fazendo com que as sondas espaciais falhem, e façam mísseis enviar foguetes no alvo errado. Então, quais são esses bugs, e por que eles acontecem?

Imagine tentar representar um valor de, digamos, 105.350 milhas em um conta-quilómetros que tem um valor máximo de 99.999. O contador vai "rolar" a 00 mil e, em seguida, contar até 5350, o valor restante. Esta é a mesma espécie de imprecisão que condenou o lançamento em 1996 do Ariane 5. Mais tecnicamente, é chamado de "transbordamento de número inteiro", essencialmente, o que significa que os números são grandes demais para ser armazenado em um sistema de computador, e às vezes isso pode causar mau funcionamento.

Failure to Launch

A investigação completa do incidente Ariane descobriu que um processo que sobraram de software na geração anterior de foguetes, Ariane 4, tinha capturado uma leitura inesperadamente alta para a velocidade lateral do veículo mais novo e mais rápido. A seqüência de autodestruição foi iniciado. Alguns segundos depois, o foguete era história.

Tais falhas surgem com freqüência surpreendente. Suspeita-se que a razão pela qual a Nasa perdeu contato com a sonda espacial Deep Impact em 2013 foi um limite de número inteiro que foi alcançado.

O Matemático Douglas Arnold, da Universidade de Minnesota inclui o incidente com o Ariane 5 em uma página web, intitulado "Alguns desastres atribuíveis a má computação numérica". Arnold também observa que em 1991 o caso de um míssil Patriot, que não conseguiu interceptar um ataque Scud iraquiano em um quartel do Exército dos EUA durante a Guerra do Golfo.

Como resultado, o Scud bateu no quartel, matou 28 soldados e feriu mais 98 pessoas. Os detalhes completos do bug de computador, neste caso, são bastante complicado, mas o engenheiro de software Andrew Lum na Universidade de Sydney postou uma explicação útil do que aconteceu, inclusive diagramas do sistema Patriot.

Parece que não importa o que fazemos, certos números e cálculos sempre confundem computadores, causando mau funcionamento - ou pior.


INSCREVA-SE NA NEWSLETTER!