19/12/2020
Ξεκινάμε με ένα διάσημο "παράδοξο" της θεωρίας πιθανοτήτων.
To monty hall problem έχει ως εξής:
Έχεις μπροστά σου 3 πόρτες: 2 από αυτές κρύβουν ένα κατσίκι 🐐, ενώ μια από αυτές κρύβει ένα🚗 αυτοκίνητο.
Ο παρουσιαστής σε βάζει να διαλέξεις στην τύχη μία από τις 3 πόρτες. Έπειτα σου ανοίγει μια από τις άλλες δύο πόρτες, η οποία κρύβει ένα κατσίκι 🐐 και σου δίνει τις εξής επιλογές:
✅Να κρατήσεις την αρχική σου επιλογή
✅Να αλλάξεις πόρτα.
Τι σε συμφέρει να κάνεις; Πότε είναι μεγαλύτερη η πιθανότητα να κερδίσεις το αυτοκίνητο, αν κρατήσεις την αρχική πόρτα που διάλεξες ή αν αλλάξεις πόρτα;
Ξεκινάμε με ένα διάσημο "παράδοξο" της θεωρίας πιθανοτήτων.
To monty hall problem έχει ως εξής:
Έχεις μπροστά σου 3 πόρτες: 2 από αυτές κρύβουν ένα κατσίκι 🐐, ενώ μια από αυτές κρύβει ένα🚗 αυτοκίνητο.
Ο παρουσιαστής σε βάζει να διαλέξεις στην τύχη μία από τις 3 πόρτες. Έπειτα σου ανοίγει μια από τις άλλες δύο πόρτες, η οποία κρύβει ένα κατσίκι 🐐 και σου δίνει τις εξής επιλογές:
✅Να κρατήσεις την αρχική σου επιλογή
✅Να αλλάξεις πόρτα.
Τι σε συμφέρει να κάνεις; Πότε είναι μεγαλύτερη η πιθανότητα να κερδίσεις το αυτοκίνητο, αν κρατήσεις την αρχική πόρτα που διάλεξες ή αν αλλάξεις πόρτα;
Ο κώδικας δίνεται παρακάτω. Μπορείτε να τον τρέξετε εδώ https://www.programiz.com/python-programming/online-compiler/
Για περισσότερα, μείτετε συντονισμένοι!
Αν έχετε απορίες, με βρίσκετε εδώ: 📧[email protected]
Ο κώδικας:
# τις βαζω οταν θελω τυχαίους αριθμούς
from random import seed
from random import randrange
from datetime import datetime
# otan allaxo porta
portes = ["katsika","katsika","amaxi"]
katsikes = 0
amaxia = 0
for i in range (100000):
x = randrange(0,3)
monty = randrange(0,2)
if x == 0:
y = randrange(1, 3)
if portes[y]=="katsika":
katsikes = katsikes+1
else:
amaxia = amaxia + 1
elif x == 1:
y = randrange(0, 3, 2)
if portes[y]=="katsika":
katsikes = katsikes+1
else:
amaxia = amaxia + 1
print("Αν αλλάξω πόρτα η πιθανότητα να κερδίσω το αμάξι είναι "+ str((amaxia/(amaxia+katsikes))))
print("Αν αλλάξω πόρτα η πιθανότητα να κερδίσω την κατσίκα είναι "+ str((katsikes/(amaxia+katsikes))))
# otan den allaxo porta
amaxiaall = 0
katsikesall = 0
for i in range (100000):
x = randrange(0, 3)
if portes[x]== "katsika":
katsikesall = katsikesall + 1
elif portes[x] == "amaxi":
amaxiaall = amaxiaall + 1
print("Αν ΔΕΝ αλλάξω πόρτα η πιθανότητα να κερδίσω το αμάξι είναι "+ str((amaxiaall/(amaxiaall+katsikesall))))
print("Αν ΔΕΝ αλλάξω πόρτα η πιθανότητα να κερδίσω την κατσίκα είναι "+ str((katsikesall/(amaxiaall+katsikesall))))