Pesquisar

terça-feira, 28 de dezembro de 2010

O problema das três portas

Também referido como o paradoxo de Monty Hall, este problema surgiu a partir de um concurso televisivo nos Estados Unidos, chamado Let’s Make a Deal, exibido na década de 1970.

O jogo consiste no seguinte: Monty Hall (o apresentador) apresentava 3 portas aos concorrentes, sabendo que atrás de uma delas está um prêmio e que as outras não tem prêmio nenhum. O jogo consistia de três etapas, a saber.

1. O concorrente escolhe uma porta (que ainda não é aberta);

2. Em seguida, Monty abre uma das outras duas portas que o concorrente não escolheu, sabendo de saída que o prêmio não se encontra ali;

3. Agora com duas portas apenas para escolher - pois uma delas já se viu, na 2ª etapa, que não tinha o prêmio - e sabendo que o prêmio ainda está atrás de uma delas, o concorrente tem que se decidir se permanece com a porta que escolheu no início do jogo e a abre, ou se muda para a outra porta que ainda está fechada para então a abrir.

A pergunta é: é melhor trocar de porta? Ou é melhor não trocar? Ou é indiferente?

Quando fui apresentado ao problema, imediatamente respondi: “Tanto faz!

Meu raciocínio, que provavelmente será o mesmo seu, caro leitor, é simples. Depois de mostrada uma porta, o meu universo era de duas portas. Uma premiada, outra não. Nesse caso eu teria 50% de chances de acertar, independente de trocar ou não a porta. Simples assim, não?

Ledo engano. Meu e seu, amigo!

O programa abaixo, em java, foi feito de maneira um tanto apressada. Mas dá uma boa evidência de que há diferenças entre as estratégias.

Para executá-lo, tendo o Java em seu computador, basta executar os comandos de compilação (javac Montyhall.java) e de execução (java Montyhall).

O programa basicamente repete o experimento 10.000 vezes, para diferentes estratégias. Numa primeira etapa, jamais trocando de porta; depois, sempre trocando de porta.

Os resultados possivelmente surpreenderão. Mas são esses mesmos, podem repetir. Em média, a estratégia de trocar a porta acerta 66,7% das vezes, enquanto a estratégia de não trocar a porta alcançará 33,3% de acerto.

O que é intrigante, sem dúvidas.

A explicação, porém, é um tanto prosaica. Pensemos em probabilidades: havendo três portas, a chance de a porta correta ser selecionada logo de início é de 33%, contra 67% de chances de iniciarmos com alguma porta errada.

Ora: notem que, se optamos pela estratégia “não trocar”, então certamente permaneceremos com a porta que iniciamos. Que tem 33,3% de chances de ser a correta. Logo, o esperado é efetivamente 33,3% de acerto.

Olhemos agora para o que ocorre quando a estratégia é “trocar”. Se selecionamos a porta correta a princípio, então certamente trocaremos por uma porta errada. Ou seja, erraremos com probabilidade igual à de escolhermos a porta correta, que é de 33%. Por outro lado, se escolhemos uma porta errada, e a outra porta errada é aberta (e não é mais selecionável), então certamente trocaremos uma porta errada pela porta correta. Como a chance de selecionarmos uma porta falsa é de 66,7%, temos que, com esta estratégia, nós acertaremos 2/3 das vezes a porta correta.

Copiem o programa daqui, perdoem os comentários em inglês e o pouco preciososmo na codificação, e divirtam-se com esse problema interessante, que propõe um paradoxo aos nossos cérebros.

--------------------------------

public class Montyhall {
String strategy; int number_of_tries, total_matches;

public Montyhall(String s, int n) {
strategy = s;
number_of_tries = n;
total_matches = 0;
}

public void test() {
System.out.println("Starting with strategy "+strategy);
for (int i=0;i
// monty allways starts by selecting the 0 door
int selected = 0;
// the correct door is randomly chosen between 0 and 2
int correct = (int) ((Math.random() * 3));
// the showed door is always other than the 0 and the correct door
int showed = choose_to_show(0, correct);
if ("change".equals(strategy)) { //in this case the selected door must be other one else than the 0 and the showed door
selected = 3 - showed;
}
if (selected == correct) {
total_matches++;
}
System.out.println("Selected the door "+selected+": correct door "+correct+": matches "+total_matches);
}
System.out.println("Done!");
}

public String result() {
return "Strategy: "+strategy+" Tries: "+number_of_tries+" Matches: " + total_matches+ ": "+ ((total_matches*100) / number_of_tries) + "% of success";
}

int choose_to_show(int i, int j) {
if (i==j) { //the chosen and the selected are equals to 0
return (int) (1+ (Math.random() * 2)); //random selection between 1 or 2
}
return 3 - j; //return 1 if j = 2 or 2 if j = 1
}

public static void main(String args[]){
Montyhall monty1 = new Montyhall("not change", 10000);
Montyhall monty2 = new Montyhall("change", 10000);
monty1.test();
monty2.test();
System.out.println(monty1.result());
System.out.println(monty2.result());
}
}

4 comentários:

  1. Grande Álvaro!
    Por uma coincidência absurda eu tomei conhecimento do problema há 3 semanas, lendo um livro que recomendo fortemente para que gosta de matemática. (http://www.amazon.co.uk/Curious-Incident-Dog-Night-time/dp/0099450259)
    Fiquei horas relendo as duas páginas em que o problema e sua solução eram explicados.
    Muito interessante! Por quebrar o óbvio e pela sensação de achar a pergunta matematicamente ridícula e, minutos depois, a resposta matematicamente surpreendente.

    ResponderExcluir
  2. Uma maneira simples de entender o problema: na primeira escolha, a chance de estar certo é 33% e de estar errado é 67%. Na segunda escolha, a chance de estar certo se mantém, mas ao trocar vc estará acertando sempre que errou na primeira chance, ou seja, 67%.

    ResponderExcluir
  3. Unquestionably imagine that which you stated. Your favorite justification
    appeared to be at the internet the easiest thing to bear in mind of.
    I say to you, I certainly get annoyed while other people consider concerns that they just do
    not know about. You controlled to hit the nail upon
    the top and defined out the whole thing without having side-effects , people can take a signal.

    Will probably be again to get more. Thanks

    Also visit my web site - click here

    ResponderExcluir
  4. Me deparei com este problema quando li O Andar do bebado (recomendo para amantes da matematica)

    https://www.amazon.com.br/Andar-B%C3%AAbado-Edi%C3%A7%C3%A3o-bolso/dp/8537807672

    ResponderExcluir

Comente aqui