O problema de Monty Hall


O artigo do MIT Technology Review, intitulado "O problema de Monty Hall: probabilidade condicional" (https://mittechreview.com.br/o-problema-de-monty-hall/?utm_source=chatgpt.com) explica como o problema ilustra a probabilidade condicional. Em um programa de TV, você escolhe uma de 3 portas. Atrás de uma tem um prêmio, atrás das outras, bodes. O apresentador, que sabe onde está o prêmio, abre uma porta com um bode e te dá a chance de trocar. Intuitivamente, parece que não faz diferença, mas na verdade, trocar dobra as chances de ganhar.
A chave está na probabilidade condicional (Teorema de Bayes). Inicialmente, nossa chance de escolher o prêmio é de 1/3 e de escolher um bode é 2/3. Quando o apresentador abre uma porta com um bode, ele não escolhe aleatoriamente (ele sempre revela um bode). Isso muda as probabilidades. Se sua escolha inicial foi errada (2/3 de chance), então o prêmio está na outra porta fechada. Ao trocar, você aproveita essa probabilidade maior (2/3) e dobra suas chances de ganhar. Não é nem um pouco intuitivo mesmo.
Neste artigo, demonstro como esse problema pode ser observado no dia a dia das empresas por meio de uma simulação e, por fim, resolveremos os cálculos teóricos utilizando o Teorema de Bayes.
Como o problema pode ser aplicado em um contexto empresarial?
Vamos imaginar que nossa empresa precisa escolher entre três mercados para expandir. Um deles é selecionado (ainda não iniciamos a operação), mas depois descobrimos que um dos outros mercados (não selecionado) é inviável. E agora? Mantemos a escolha inicial ou reconsideramos?
Abaixo, escrevi uma simulação com 10 mil decisões. Resultados:
✅ Manter a escolha inicial → 34% de sucesso
✅ Trocar para o outro mercado → 66% de sucesso
Apesar de ser apenas uma simplificação, isenta de muitas variáveis reais, o resultado acima evidencia que insistir na escolha inicial pode ser um erro. A seguir vamos detalhar o código da simulação e por fim, aplicar o teorema de bayes para obter os mesmos resultados da simulação.
Figura 1 - Simulando a expansão de negócios | Parte 1
Função utilizada: np.random.choice() → seleciona elementos aleatórios de uma lista.
n_simulacoes=10000 → Quantidade de vezes que a simulação será repetida.
trocar=True → Define se haverá troca de escolha depois da revelação de um mercado inviável.
mercados = ['A', 'B', 'C'] → Lista dos mercados disponíveis.
sucesso = 0 → Contador para armazenar quantas vezes acertamos o mercado correto.
for in range(nsimulacoes): → Repete o processo n_simulacoes vezes (10 mil).
mercado_certo → Sorteia aleatoriamente qual dos mercados (A, B ou C) é o correto.
escolha_inicial → Simula a escolha inicial (também aleatória).
Se já acertou (escolha_inicial == mercado_certo): O mercado inviável revelado é um dos outros dois mercados (aleatoriamente).
Se errou (escolha_inicial != mercado_certo): O mercado inviável revelado não pode ser o correto nem o escolhido.
Se trocar=True (troca de mercado) Ocorre a troca para o único mercado restante que não foi a escolha inicial (m != escolha_inicial).
Figura 2 - Simulando a expansão de negócios | Parte 2
Portanto, trocar de mercado após a nova informação dobrou as chances de sucesso (66% contra 34%):
Cálculo teórico
Agora que já testamos os resultados na prática e concluímos, vamos para a parte menos adorada... Obter os mesmos resultados pelo Teorema de Bayes:
- Hipóteses (H): Qual mercado é o correto?
H₁: A é o correto
H₂: B é o correto
H₃: C é o correto
Evidência (E): Para este exemplo fictício, vamos supor o sistema revelando que B é inviável (tanto faz a letra, só precisamos partir de um exemplo para calcular as probabilidades finais de A e C que nos restaram).
Probabilidades iniciais (antes da revelação): P(H₁) = P(H₂) = P(H₃) = 1/3 ≈ 33%. Simples essa parte, antes de qualquer informação, todas as chances são iguais.
Teorema de Bayes:
P(H∣E): Probabilidade após ver a evidência (o que queremos descobrir aqui).
P(E∣H): Probabilidade da evidência **se a hipótese for verdadeira (**50% ou 100%, vamos detalhar logo abaixo os casos possíveis, desde que B seja revelado como inviável).
P(H): Probabilidade inicial da hipótese (1/3) (talvez a única resposta intuitiva da questão).
P(E): Probabilidade total da evidência ocorrer (Será nosso último cálculo, pois precisamos das outras variáveis calculadas antes)
Agora vamos supor que escolhemos a porta A, o apresentador revelou B dando certeza que B não é a correta. Portanto, nos resta dois possíveis casos, vamos chamar de 1 e 2.
Caso 1: Se A for o correto (H₁)
P(H₁): 1/3 (A já era o certo, aqui não muda nem no caso 2 abaixo).
P(E|H₁): Se A é o certo, o sistema pode revelar B ou C aleatoriamente. Probabilidade de revelar B: 1/2 (50%)
Caso 2: Se C for o correto (H₃)
P(H₃): 1/3 (C é o certo).
P(E|H₃): Se C é o certo, o sistema só pode revelar B (pois escolhemos A). Probabilidade de revelar B: 1 (100%).
Agora que já definimos as variáveis acima, podemos calcular P(E) a partir destas:
Por fim temos que:
Manter A: 33% de chance (não muda, a revelação de B não afeta A).
Trocar para C: 66% (herda a probabilidade de B, que foi descartado).
Conclusão
Dessa forma, confirmamos que os resultados obtidos por meio da aplicação do Teorema de Bayes são consistentes com aqueles observados na simulação inicial, validando nossa abordagem. Embora se trate de um exemplo simplificado, ele é impactante, por desafiar a intuição e demonstrar como a reavaliação estratégica pode otimizar decisões.
Subscribe to my newsletter
Read articles from Bernardo Ribeiro de Moura directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Bernardo Ribeiro de Moura
Bernardo Ribeiro de Moura
Analista de dados sênior na Unimed Rio Preto, explorando modelos preditivos, otimização de custos e tomadas de decisão baseadas em dados. Bacharel em Química (UNESP), em transição para Ciência de Dados (UNIVESP), combinando ciência e tecnologia para resolver problemas do mundo real. Especializações em Google Data Analytics e Data Science pela HarvardX. Escrevo sobre análises preditivas, visualização de dados e modelagem estatística. Vamos trocar ideias sobre Python, SQL e o impacto dos dados no dia a dia?