O Gandhi nuclear

Mahatma Gandhi, o líder indiano conhecido mundialmente pela filosofia da não-violência, torna-se um crápula sanguinário, detonador de bombas atômicas, no jogo Civilization. Seria isso um erro de código?

O jogo “Civilization” tem o objetivo de evoluir civilizações. Infelizmente, nunca joguei o mesmo para comprovar ou não a veracidade, mas diz a lenda que o líder indiano Gandhi começa pacífico nas primeiras fases, e depois que a Índia desenvolve bombas atômicas, ele se torna agressivo a ponto de usar e abusar das mesmas!

Uma explicação possível envolve um erro de código: um overflow.

A agressividade dos líderes seria um número de 1 a 10, e Gandhi começa com o menor número possível, 1. A variável com a agressividade é armazenada num tipo inteiro sem sinal, com um byte (8 bits).

Um inteiro sem sinal com 8 bits armazena inteiros de 0 a 255 (equivale a 2⁸ − 1).

Quando as civilizações atingem a era democrática, todos os jogadores têm decréscimo de dois pontos na agressividade. Opa. Se Gandhi começa com 1, ele ficaria com -1 no final. Só que, na aritmética computacional, ocorre um overflow (ou melhor, um underflow), e o -1 equivale ao valor 255.

Ou seja, o pacífico Gandhi se tornaria 25 vezes mais terrível do que o mais terrível dos outros líderes!

Tal caso é ensinado em escolas de computação, como exemplo de overflow.

O que dizem os criadores?

Há várias investigações sobre o tema. Em resumo, eles negam que a lenda acima seja verdade. Gandhi teria um comportamento tão igual quanto o esperado. Talvez pela Índia ter mais chance de desenvolver bombas atômicas, pode ser que pareça que Gandhi tenha esse comportamento.

De qualquer forma, é uma situação tão inusitada que os criadores incorporaram de propósito esse comportamento bizarro a Gandhi, a partir de Civilization V, como uma piada e um easter egg.

Recomendo os links abaixo para maiores detalhes técnicos.

Sei que esse episódio gerou uma série de memes engraçados.

Algumas fontes:

https://en.wikipedia.org/wiki/Nuclear_Gandhi

Livro Humble Pi — Matt Parker

Originally published at https://ideiasesquecidas.com on November 20, 2022.

--

--

Publicação sobre projetos, ideias e fundações de Advanced Analytics: Excel. Matemática. Simulação. Computação quântica.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Arnaldo Gunzi

Project Manager - Advanced Analytics, AI and Quantum Computing. Sensei of Analytics.