O livro “The Drunkards Walk” 1 trata de como a aleatoriedade influencia nossas vidas e das dificuldades que as pessoas têm em entender probabilidade.
Em uma das passagens, para ilustrar esse último ponto, o autor traz o seguinte problema:
Imagine que é lhe dada uma escolha entre 3 portas, atrás de uma das portas há um prêmio e nas outras 2 nada.
Depois que você fez a escolha uma das portas onde não há nada é aberta e é lhe dada a escolha de trocar ou não de porta.
O que é mais vantajoso? Trocar ou não trocar? Ou não faz diferença?
Meu primeiro instinto, como o da maioria das pessoas segundo o autor, é que não importa se eu trocar ou não, agora nós temos apenas duas portas e minha probabilidade de ganhar é 1/2.
Mas isso não é verdade, a probabilidade de ganhar se eu trocar de porta é 2/3! Enquanto que se eu não trocar, continuo com a probabilidade inicial de 1/3.
Por quê? Link para o cabeçalho
Pois quando foi me revelada uma das portas, eu possuo uma informação adicional e meu espaço de possibilidades mudou. Antes era a escolha aleatória entre as 3 portas, agora é a escolha entre trocar ou não de porta. São duas escolhas DIFERENTES.
A segunda escolha pode ser feita respondendo a seguinte pergunta: qual a probabilidade de escolher a porta errada? É 2/3. Dessa forma, 2/3 das vezes será escolhida a porta errada e nessas vezes será vantajoso trocar de porta.
Podemos experimentar com o problema usando o seguinte algoritmo:
- Gerar uma lista aleatória, digamos que
0
são as portas vazias e1
é o prêmio; - Escolhemos uma porta (um índice da lista) de maneira aleatória;
- Removemos uma das portas vazias (um
0
qualquer); - Trocamos nossa escolha;
- Repetimos
n
vezes sempre somando oresultado
de nossa escolha aos anteriores; - Dividimos a soma por
n
.
Isso nos dará a proporção de sucessos. Em python
podemos escrever o código abaixo. Iterando 1 milhão de vezes, a proporção é muito próxima a 2/3: 0,667355.
import random
n = 1000000
resultado = 0
for i in range(1, n):
lista = [0,0,1]
# embaralhar a lista
random.shuffle(lista)
# escolher uma porta
escolha = random.choice(lista)
# remover 1 zero (porta sem o prêmio)
lista.remove(0)
# trocar a escolha
indice = lista.index(escolha)
if indice == 0:
indice = 1
else: indice = 0
# salvar o resultado
resultado = resultado + lista[indice]
# calcular a proporção de sucessos
prop = resultado/n
print("#######################")
print("")
print("Proporção de sucessos = ", prop)
print("")
print("#######################")
Referências Link para o cabeçalho
-
Mlodinow, Leonard, 1954-. The Drunkard’s Walk : How Randomness Rules Our Lives. New York :Pantheon Books, 2008. ↩︎