Guerra Infinita, uma análise da Ciência da Computação

Já assistiu Guerra Infinita? Se não, cuidado com pequenos e até insignificantes, spoilers. Este artigo é uma forma lúdica de tratar problemas que se tem ao realizar programas de computador

[ Hits: 10.365 ]

Por: Elgio Schlemer em 04/05/2018 | Blog: https://profelgio.duckdns.org/~elgio


O problema matemático de calcular a metade



A metade de um número PAR será um número inteiro. Porém se a quantidade de seres vivos no universo for um número impar, como a manopla lidaria com 0,5 ser vivo? Seria um crossover com The Walking Dead? (thanks Andressa Sias) Creio que não, pois não tenho notícias de que esta série tenha sido adquirida pela Marvel.

Se a quantidade de seres vivos no universo for armazenada em uma variável inteira, dependendo da linguagem (C por exemplo) ao realizar a divisão por 2 para calcular a metade, a resposta será um número inteiro.

Exemplo: 15/2 não resulta em 7,5 mas apenas em 7 (se for uma divisão inteira). Isso resolveria o problema do 0,5 ser vivo para o caso de quantidade impar de seres vivos no universo. Mas tem-se um problema de imprecisão: 7 é a metade aproximada de 15. Aproximada para menos. O valor 8 seria também uma metade aproximada, porém para mais.

Sendo o Thanos, acredito que adotaria a solução "aproximado para mais" (não tive acesso ao algoritmo, então estou especulando).

Desta forma uma solução para este impasse de quantidade impar, seria:

metade = qtdSeresVivos / 2;
if ((qtdSeresVivos % 2) == 1)  // impar
    metade = metade + 1;

Parece apropriado para o caso do Thanos. Eu assisti apenas uma vez o filme, mas pelo que pude ver, a menos que tenha passado desapercebido, a Marvel não tratou deste problema no filme (Vingadores 4?)

Página anterior     Próxima página

Páginas do artigo
   1. O estalar dos dedos
   2. O problema matemático de calcular a metade
   3. E quanto a seção crítica?
Outros artigos deste autor

Fundamentos da criptografia assimétrica

Mecanismo de firewall e seus conceitos

Parâmetros interessantes do scanf e do printf em C

Criptografia chave simétrica de bloco e de fluxo

Programação com números inteiros gigantes

Leitura recomendada

Transformando seu Linux em live!

Compilando o kernel no Conectiva Linux 10

Compilação do Kernel

Compilação do kernel v3.x no CentOS e Debian

Conheçam a linguagem D (saiu do forno)!

  
Comentários
[1] Comentário enviado por sacioz em 05/05/2018 - 20:49h

Caraca ! Esse cara tá vivo ainda....Putz...ha quanto tempo não havia nada dele por aqui...Talvez eu tome alguma patada pelo comentário , mas é o que penso.

[2] Comentário enviado por elgio em 05/05/2018 - 21:03h


[1] Comentário enviado por sacioz em 05/05/2018 - 20:49h

Caraca ! Esse cara tá vivo ainda....Putz...ha quanto tempo não havia nada dele por aqui...Talvez eu tome alguma patada pelo comentário , mas é o que penso.


E quando volto é para escrever bobagem. Kkkk

[3] Comentário enviado por eduardo em 07/05/2018 - 09:20h

Ótima abordagem para explicar concorrência! Realmente, não havia pensado de forma algoritmica quando vi o filme. Há casos do caso (a), inclusive, que ocorrerão devido ao algoritmo (acidentes de trânsito, um avião caindo pois "o piloto sumiu"...). Me lembrou a série The Leftovers hehehe

[4] Comentário enviado por Nerdiarretado em 07/05/2018 - 12:08h

Edificante. Parabéns!

[5] Comentário enviado por Nerdiarretado em 08/05/2018 - 13:37h

Só não entendi a razão desse crescimento populacional ser uma PG, perguntei ao meu professor de faculdade e ele disse que não fazia o menor sentido esse crescimento ser uma progressão geométrica. Poderia me explicar de onde tirou isso?
Se caso não existisse as guerras, epidemias e desastres naturais, atuando no combate desse crescimento, você não acha que a população teria duplicado a cada 25 anos. Aí sim seria uma PG.

[6] Comentário enviado por Ragen em 10/05/2018 - 14:50h

Penso que quando o personagem começou a ser escrito, não havia muita preocupação do autor com seres em extinção, assim sendo, recorro a lógica da entropia do universo: um kill random.

Além disso se ele tem a gema do tempo, não poderia fazer um bypass em qualquer concorrência, já que manipula o próprio tempo. Seria muito mais um broadcast com um dispatch de kill com um lock para todos os outros eventos. Ainda em tempo: como visto no Dr. Strange, se ele bypassar a própria concorrência do tempo, ele pode entrar em um loop temporal.

[7] Comentário enviado por adrianoh2 em 14/05/2018 - 07:31h

Na boa, fazia tempo que não aparecia um artigo nerd aqui. Todo mundo vai no CTRL+C e CTRL+V.... estava na hora de usarem a manopla para acabar com a mesmice.
Ainda bem que os nerds não foram escolhidos no algoritimo, um tipo de vírus imune ao registro.

[8] Comentário enviado por oseasfr em 20/05/2018 - 01:23h

Foi bem divertida a postagem.

[9] Comentário enviado por rabbit em 28/05/2018 - 17:34h

Excelente artigo mano!

[10] Comentário enviado por osobreira em 30/05/2018 - 20:38h

Parabéns, está divertido, porém foi bem explicativo. Aguardando também a resposta a pergunta do nerdiarretado quanto ao crescimento populacionar ser uma PG.




[11] Comentário enviado por Buckminster em 06/06/2018 - 19:41h

O crescimento populacional não é uma PG. Os dados do texto abaixo são da ONU:

"No ano 10 mil A.C. (antes de Cristo) estima-se que a população mundial estava em torno de 10 milhões de pessoas. No ano 0 (era Cristã) a população mundial estava em torno de 170 milhões de pessoas. No ano 1.000 era de 300 milhões. Em 1.500 era de 425 milhões. No ano de 1.700 a população mundial era de 600 milhões de pessoas. Em 1.800 a população mundial atinge, aproximadamente, o primeiro bilhão de pessoas. Atualmente, em 2017, somos 7 bilhões de pessoas.
Sem querer examinar as causas do crescimento populacional nestes diferentes períodos, salta aos olhos que a partir de 1.700 a população mundial começou a crescer vertiginosamente denotando que neste período aconteceu alguma coisa; e esta coisa poderíamos dizer que foi a revolução industrial. Estimando-se a margem de erro no cálculo populacional mundial em 5% (uma taxa estimada aceitável), para mais ou para menos, daria um total de 350 milhões de pessoas. Contudo, sabe-se que em certos países o censo demográfico não chega nem perto da realidade.
Mesmo com várias doenças, com duas guerras mundiais e vários genocídios que ocorreram a partir de 1.900, causas que sabidamente refreiam o crescimento demográfico, ainda assim a população mundial cresceu e cresce a passos largos, o que não acontecia até meados de 1.700. Em 1963 a média mundial de bebês nascidos era de 5 por mulher, atualmente essa média é de 2,5.
Apesar de que a expectativa de vida subiu e a taxa de mortalidade infantil desceu, vê-se que em 11.700 anos (10.000 a.c. - 1700) a população mundial cresceu 590 milhões de pessoas e, desde o ano de 1.700 até os dias atuais (1700-2017), em 317 anos a população cresceu 6 bilhões e 400 milhões de pessoas. É muita diferença.
Em 11.700 anos a população mundial cresceu 590 milhões de pessoas e em 317 anos cresceu 6 bilhões e 400 milhões de pessoas. É muita diferença. Sem questionar a veracidade desses números, pois não se ousa contestar dados da ONU. Porém, é muita diferença.
Estando certos esses dados, resta uma pergunta: o que houve para que a humanidade começasse a procriar como coelhos? E assim tão de repente?"

E, independentemente dos dados do texto acima, se o crescimento populacional é uma PG, qual é a razão dessa PG?
Alguém, por gentileza, calcule a razão da PG do crescimento populacional terrestre.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts