Proponho um desafio para os “desenvolvedores”

Antes de chegar ao meu questionamento, eis o desafio:

Construa um programa que jogue o “jogo-da-velha” de forma que um humano (você) jogue contra o computador e, dada a sua habilidade de pensar, o resultado sempre seja um empate…

A possibilidade de você ganhar está excluída porque, ao jogar contra outro humano, a probabilidade de vocẽ ou o seu oponente ganharem é muito pequena (senão, acho, há um sério problema de raciocínio de ambas as partes).

A primeira regra para o desafio é que você não deve consultar estratégias usadas por outros desenvolvedores (ou matemáticos). Ou seja, usar o Google não vale! A solução tem que sair da sua cabeça… A outra regra, óbvia, a medida que você for estudando o problema, é que não vale criar um programa com um caminhão de ifs para testar todas as possibilidades (são 255168 jogadas possíveis!).

A terceira regra é a seguinte: Seu algorítimo tem que valer tanto para o humano começando o jogo quanto para o computador começando…

Proponho esse desafio por dois motivo: Se você encontrar grande dificuldade em concluir a tarefa, como pode esperar desenvolver qualquer sistema complexo?

O segundo motivo: Para desenvolver jogos é interessante que você inicie com os mais simples primeiro. Nada aparentemente mais fácil do que o bom e velho jogo-da-velha, não é? Para aqueles que não estão interessados em desenvolvimento de jogos, este é um bom exercício também…

Ainda, quero demonstrar que os problemas aparentemente simples têm soluções complexas. Como diria H.L. Mencken:

Para todo problema difícil há uma solução simples, fácil, óbvia… e errada!

A sorte está lançada…

Update: As aspas no título do post não é sarcasmo… trata-se apenas da ênfase para qual grupo de pessoas esse desafio é direcionado!

Anúncios

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s