Jeder ist berühmt [Monty Hall Problem](http://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3% Kennen Sie 83% BB% E3% 83% 9B% E3% 83% BC% E3% 83% AB% E5% 95% 8F% E9% A1% 8C)?
Ich werde die ausführliche Erklärung dem obigen Link überlassen, aber hier ist eine Übersicht über das Problem.
Es gibt 3 geschlossene Türen
Eine der drei Türen A, B, C enthält ein kostenloses Geschenk (Auto).
Die anderen beiden enthalten einen Verlust (Ziege)
Sie wählen eine Tür
Der Moderator öffnet die verlorene Tür der Türen, die Sie nicht ausgewählt haben
Nun, Sie können die Tür erneut auswählen oder nicht
Ist es zu diesem Zeitpunkt übrigens wahrscheinlicher, dass das Auto gewinnt, wenn die Tür wieder ausgewählt wird? Oder ist die Wahrscheinlichkeit gleich, ohne erneut auswählen zu müssen?
Zuerst wissen Sie nicht, in welcher der drei Türen sich das Auto befindet.
Von den nicht ausgewählten Türen ist der Verlust offen.
In diesem Zustand können Sie die Tür erneut auswählen oder nicht.
(Das Bild ist [Wikipedia](http://en.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%BB% Nachdruck aus E3% 83% 9B% E3% 83% BC% E3% 83% AB% E5% 95% 8F% E9% A1% 8C))
Bitte denken Sie vorerst darüber nach.
Das Guinness-Buch hat den höchsten IQ der Welt [Marilyn Boss Savant](http://en.wikipedia.org/wiki/%E3%83%9E%E3%83%AA%E3%83%AA] % E3% 83% B3% E3% 83% BB% E3% 83% 9C% E3% 82% B9% E3% 83% BB% E3% 82% B5% E3% 83% 90% E3% 83% B3% E3 % 83% 88) war 1990 umstritten und sagte, dass eine erneute Auswahl die Gewinnchancen eines Autos verdoppeln würde, als eine erneute Auswahl nicht.
Als Reaktion darauf wurden die Leser mit 10.000 Kommentaren überflutet, in denen sie sagten, "ihre Antwort ist falsch", von denen 1000 Doktoranden sind, und "selbst wenn Sie die Tür wechseln, beträgt die Wahrscheinlichkeit fünfzig-fünfzig (1/5). Da es 2) ist, kann es nicht auf 2/3 verdoppelt werden. "
Ein Mathematiker, der in seinem Leben 1500 Artikel veröffentlicht hat [Paul Erdesh](http://en.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%83%AB%E3 % 83% BB% E3% 82% A8% E3% 83% AB% E3% 83% 87% E3% 82% B7% E3% 83% A5) ist "unmöglich", Robert von der George Mason University "Als professioneller Mathematiker mache ich mir Sorgen über den Mangel an mathematischen Kenntnissen der Öffentlichkeit. Das Eingestehen meiner Fehler wird die Situation verbessern", sagte Dr. Scott Smith von der University of Florida. Der weltbeste Geheimdienstindexinhaber selbst sollte die Torheit, mathematische Ignoranz sofort in der Welt zu verbreiten, stoppen und die Schande kennen! ", Von anderen prominenten Ärzten nacheinander kritisiert. Umstritten.
Was ist mit der richtigen Antwort?
Dieses Problem wird durch die Monte-Carlo-Methode auf einem Computer simuliert, was beweist, dass Savantos Antwort richtig war. Mit anderen Worten, wenn Sie die Tür erneut auswählen, nachdem der Außenbereich aufgedeckt wurde, verdoppeln sich die Chancen.
Simulieren wir es mit Python.
import sys
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import font_manager
from random import choice
def montyhall(N, doors):
"""Gibt einen Vektor zurück, der angibt, ob Sie das Monty Hall-Problem gelöst und gewonnen haben"""
#Bereiten Sie einen Vektor mit der gleichen Länge wie die Anzahl der Versuche vor
arr_picked = np.zeros(N)
arr_switch = np.zeros(N)
for i in range(N):
car = choice(doors) #Entscheide nach dem Zufallsprinzip für die Tür, in der sich das Auto befindet
picked = choice(doors) #Wählen Sie die Tür, die Ihrer Meinung nach die richtige Antwort ist
#Der Moderator öffnet die Tür mit der Ziege
goat = choice(list(set(doors) - set([picked, car])))
#Neu auswählen
switch = choice(list(set(doors) - set([picked, goat])))
#Speichern Sie das Ergebnis der richtigen Antwort an der entsprechenden Position jedes Vektors
if picked == car:
arr_picked[i] = 1 #1, wenn die Antwort korrekt ist, wenn sie nicht erneut ausgewählt wurde
if switch == car:
arr_switch[i] = 1 #1, wenn die Antwort bei erneuter Auswahl korrekt ist
#Geben Sie zwei Vektoren zurück
return (arr_picked, arr_switch)
def plot(N, arr_picked, arr_switch):
"""Zeichnen Sie die Ergebnisse"""
#Es ist praktisch, die Schriftart entsprechend der Umgebung anzugeben
if sys.platform == "darwin":
font_path = "/Library/Fonts/Osaka.ttf"
else:
font_path = "/usr/share/fonts/truetype/fonts-japanese-gothic.ttf"
prop = font_manager.FontProperties(fname=font_path)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
X = np.arange(N) + 1 #Bringen Sie die Anzahl der Versuche auf die X-Achse
picked_car = arr_picked.cumsum() #Finden Sie die kumulierte Anzahl der richtigen Antworten
switch_car = arr_switch.cumsum()
ax.plot(X, picked_car, label='picked up')
ax.plot(X, switch_car, label='switched car')
ax.set_title('Gesamtzahl der Montyhall-Probleme', fontproperties=prop)
ax.legend(loc='best')
plt.savefig('image.png')
def main(args):
N = 10000 #10000 mal simulieren
doors = np.array([1, 2, 3])
#Lösen Sie das Montyhall-Problem
(arr_picked, arr_switch) = montyhall(N, doors)
#Zeichnen Sie die Ergebnisse
plot(N, arr_picked, arr_switch)
#Berechnen Sie die kumulierte Anzahl der Gewinne
win_picked = arr_picked.sum()
win_switch = arr_switch.sum()
print("Wenn Sie die Tür nicht gewechselt haben: %f %% (%d)" %
(100.0 * win_picked / N, win_picked))
print("Wenn Sie die Tür wechseln: %f %% (%d)" %
(100.0 * win_switch / N, win_switch))
#=>Während 10000 Spielen
#Wenn Sie die Tür nicht gewechselt haben: 33.060000 % (3306)
#Wenn Sie die Tür wechseln: 66.940000 % (6694)
↑ Die korrekte Antwortrate des geschalteten Fahrzeugs (bei erneuter Auswahl) wird deutlich verdoppelt.
Dieses Problem ist die Grundlage der Bayes'schen Statistik hintere Wahrscheinlichkeit Wird oft verwendet, um% 87) zu erklären. Mit anderen Worten, die Wahrscheinlichkeit, dass drei Türen vorhanden sind und sich ein Auto in einer davon befindet, ist die "Vorwahrscheinlichkeit", und die Wahrscheinlichkeit, dass der Moderator die Tür öffnet und die Ziege sieht, ist die "Nachwahrscheinlichkeit". Lassen Sie uns zu einem anderen Zeitpunkt über die Bayes'sche Statistik sprechen.
Sogar Probleme, die vor 20 Jahren von einem bekannten Mathematiker verwechselt wurden, können jetzt mit dem Computer einfach mit freier Software demonstriert werden. Im Extremfall können wir sagen, dass wir Datenanalysefunktionen erworben haben, die selbst Mathematiker vor 20 Jahren noch übertroffen haben. Dies ist natürlich übertrieben, aber es ist sicher, dass die Wahrheit der Dinge enthüllt werden kann, indem man die Hände auf diese Weise bewegt, den Computer bewegt und die Daten tatsächlich analysiert. Erwerben Sie die Fähigkeit zur wissenschaftlichen Überprüfung mit einem Computer, selbst wenn Sie mit echten Problemen konfrontiert sind.