Por que a computação é tão complexa? Talvez isso ajude a entender um pouco.

O problema abaixo foi mostrado por Dalton Gerth, que durante muito tempo foi o profissional com a maior quantidade de certificações Microsoft do planeta. Basta ter em mente que lá pra 2001 ele já tinha umas 50. Ele fala sobre o problema do P versus NP, que é um problema da Ciência da Computação.

“Você foi contratado por uma empresa de transportes e precisará traçar a melhor rota entre as cidades, de um caminhão de entregas. O caminhão, passará em 4 cidades, retornando a cidade de Destino. Exemplificando. O caminhão precisará entregar em uma única viagem; as seguintes cidades informadas : São Paulo (onde o caminhão deverá INICIAR e TERMINAR o projeto), Campinas – uma cidade que ele precisará efetuar o transporte, Mogi Mirim – Outra cidade e Osaco – Última cidade. Obtendo a distância entre elas, você deverá realizar um programa, para que ele trace todas as rotas possíveis, para que você consiga extrair do computador, qual é a menor rota que ele deverá fazer.

Neste caso, teríamos algo parecido com isto:

A – Cidade Origem e Destino | B, C, D (Campinas, Mogi Mirim e Osasco)

Como quatro é o número de cidades, sendo que a cidade A, irá iniciar e terminar o trajeto, podemos fazer uma fórmula matemática básica para isto Fatorial de 3 é igual a 6 – 3! = 6

A B C D A

A B D C A

A C B D A

A C D B A

A D B C A

A D C B A

Provavelmente, após criarmos um programa simples, e colocássemos em funcionamento, um computador, resolveria estas sequência em 0,000000000000000001 segundo. Agora, foi pedido para que melhorássemos este mesmo programa. Ao invés do caminhão, seguir por três cidades, ele irá seguir para 5, 10, 15, 20 e finalmente 25 cidades. Então, fazemos o programa, com estas novas variáveis.

E, por nossa supresa, verificamos que… com 15, 20 ou 25 cidades o nosso programa Não funciona !!!!! Ele *trava* (entre aspas). Então, deixamos ele processar com 15 cidades, e vamos almoçar. Percebemos que ele demorou cerca de 20 minutos, mas conseguiu processar. Mas com 20 ou 25 não funciona de jeito nenhum.

Bom, a resposta está no problema…, que não há solução. Caso este computador conseguisse processar cerca de 52 milhões e 42 milhões de rotas por segundo (respectivamente para 20 e 25 cidades), o tempo que iríamos ter a resposta para todos é de :

20 cidades à 73 anos (estaríamos velhos, mas ele iria dar o resultado)

25 cidades à 470 milhões de anos !!! (não está escrito errado !!!)

Ou seja, deveríamos ter deixado este programa ser processado, de acordo com a escala de tempo geológica, no período Fanerozóico.”

E depois todo mundo ainda quer que a informática funcione de maneira exata. :-)

Veja também

<>

Comentários

Topo