Dies ist eine Frage, die ich bei Glassdoor gefunden habe : Wie erzeugt man mit einer Münze mit einem 7 Ganzzahlen mit gleicher Wahrscheinlichkeit ?
Grundsätzlich haben Sie eine Münze, die fair sein kann oder nicht, und dies ist der einzige Zufallsgenerierungsprozess, den Sie haben. Aus diesem Grund haben Sie einen Zufallsgenerator, der Ganzzahlen von 1 bis 7 ausgibt, bei denen die Wahrscheinlichkeit besteht, jede dieser Ganzzahlen zu erhalten ist 1/7.
Die Effizienz der Daten erzeugt Prozessangelegenheiten.
probability
binomial
random-generation
Amazonisch
quelle
quelle
Antworten:
Wirf die Münze zweimal um. Wenn es landet
HH
oderTT
, ignoriere es und drehe es noch zweimal um.Nun hat die Münze die gleiche Wahrscheinlichkeit aufzutauchen
HT
oderTH
. Wenn es auftauchtHT
, ruf das anH1
. Wenn es auftauchtTH
, ruf das anT1
.Erhalten Sie weiter
H1
oderT1
bis Sie drei in einer Reihe haben. Diese drei Ergebnisse geben Ihnen eine Zahl basierend auf der folgenden Tabelle:Ich behaupte, dass dies perfekt funktionieren würde, obwohl Sie dabei eine Menge vergeudeter Würfe hätten!
quelle
Angenommen, .p∈(0,1)
Schritt 1: . Wirf die Münze 5 Mal.
Wenn das Ergebnis ist
1(H,H,H,T,T) , geben Sie und halten Sie an.1
2(H,H,T,T,H) , kehre zu und halte an.2
3(H,T,T,H,H) , kehre zu und halte an.3
4(T,T,H,H,H) , kehre zu und halte an.4
7(H,T,H,T,H) , kehren Sie zu und halten Sie an.7
Schritt 2: . Wenn das Ergebnis keines der oben genannten ist, wiederholen Sie Schritt 1.
Es ist zu beachten, dass unabhängig vom Wert von jedes der oben aufgeführten sieben Ergebnisse eine Wahrscheinlichkeit und die erwartete Anzahl von Münzwürfen . Der Toster muss den Wert von nicht kennen (außer dass und ); Es ist garantiert, dass die sieben ganzen Zahlen bei Beendigung des Experiments mit gleicher Wahrscheinlichkeit zurückgegeben werden (und es ist garantiert, dass es mit Wahrscheinlichkeit endet ).q = p 3 ( 1 - p ) 2p∈(0,1) q=p3(1−p)2 pp≤0p≤1157q p p≠0 p≠1 1
quelle
Verallgemeinerung des von Dilip Sarwate beschriebenen Falls
Einige der in den anderen Antworten beschriebenen Methoden verwenden ein Schema, in dem Sie eine Folge vonn Münzen in einer "Runde" und je nach Ergebnis eine Zahl zwischen 1 oder 7 wählen oder die Runde verwerfen und erneut werfen.
Der Trick besteht darin, bei der Erweiterung der Möglichkeiten ein Vielfaches von 7 Ergebnissen mit der gleichen Wahrscheinlichkeitpk(1−p)n−k und diese gegeneinander abzugleichen.
Da es sich bei der Gesamtzahl der Ergebnisse nicht um ein Vielfaches von 7 handelt, haben wir einige Ergebnisse, die wir keiner Zahl zuordnen können, und es besteht eine gewisse Wahrscheinlichkeit, dass wir die Ergebnisse verwerfen und neu beginnen müssen.
Der Fall der Verwendung von 7 Münzwürfen pro Umdrehung
Intuitiv könnte man sagen, dass es sehr interessant wäre, sieben Mal zu würfeln. Da müssen wir nur 2 von den27 Möglichkeiten rausschmeißen. Das heißt, die 7-fachen Köpfe und die 0-fachen Köpfe.
Für alle anderen27−2 Möglichkeiten gibt es immer ein Vielfaches von 7 Fällen mit der gleichen Anzahl von Köpfen. Nämlich 7 Fälle mit 1 Kopf, 21 Fälle mit 2 Köpfen, 35 Fälle mit 3 Köpfen, 35 Fälle mit 4 Köpfen, 21 Fälle mit 5 Köpfen und 7 Fälle mit 6 Köpfen.
Wenn Sie also die Zahl berechnen (0 Köpfe und 7 Köpfe verwerfen), istX=∑k=17(k−1)⋅Ck
mitCk Bernoulli verteilten Variablen (Wert 0 oder 1) ist X modulo 7 eine einheitliche Variable mit sieben möglichen Ergebnissen.
Vergleich der Anzahl der Münzwürfe pro Spielzug
Es bleibt die Frage, wie viele Rollen pro Umdrehung optimal sind. Das Werfen von mehr Würfeln pro Spielzug kostet Sie mehr, aber Sie verringern die Wahrscheinlichkeit, dass Sie erneut würfeln müssen.
Das Bild unten zeigt eine manuelle Berechnung für die ersten paar Münzwürfe pro Umdrehung. (Möglicherweise gibt es eine analytische Lösung, aber ich glaube, es ist sicher zu sagen, dass ein System mit 7 Münzwürfen die beste Methode hinsichtlich des Erwartungswerts für die erforderliche Anzahl von Münzwürfen darstellt.)
Verwenden einer Regel zum vorzeitigen Anhalten
Hinweis: Die folgenden Berechnungen für den Erwartungswert der Anzahl der Flips beziehen sich auf eine faire Münzep=0.5 . Es wäre ein Durcheinander, dies für ein anderes p zu tun , aber das Prinzip bleibt dasselbe (obwohl unterschiedliche Buchführung des Fälle werden benötigt)
Mit 5 Münzwürfen haben wir für die sechs möglichen ungeordneten Sätze Kopf und Zahl:
1 + 5 + 10 + 10 + 5 + 1 bestellte Sätze
Und wir können die Gruppen mit zehn Fällen (das ist die Gruppe mit zwei Köpfen oder die Gruppe mit zwei Schwänzen) verwenden, um (mit gleicher Wahrscheinlichkeit) eine Zahl zu wählen. Dies tritt in 14 von 2 ^ 5 = 32 Fällen auf. Dies lässt uns mit:
1 + 5 + 3 + 3 + 5 + 1 bestellte Sätze
Mit einem zusätzlichen (6.) Münzwurf haben wir für die sieben möglichen ungeordneten Sätze von Kopf und Zahl:
1 + 6 + 8 + 6 + 8 + 6 + 1 bestellte Sätze
Und wir können die Gruppen mit acht Fällen (das ist die Gruppe mit drei Köpfen oder die Gruppe mit drei Schwänzen) verwenden, um (mit gleicher Wahrscheinlichkeit) eine Zahl zu wählen. Dies tritt in 14 von 2 * (2 ^ 5-14) = 36 Fällen auf. Dies lässt uns mit:
1 + 6 + 1 + 6 + 1 + 6 + 1 bestellte Sätze
Mit einem weiteren (7.) zusätzlichen Münzwurf haben wir für die acht möglichen ungeordneten Sätze von Kopf und Zahl:
1 + 7 + 7 + 7 + 7 + 7 + 7 + 1 bestellte Sätze
Und wir können die Gruppen mit sieben Fällen (alle mit Ausnahme der Fälle mit allen Schwänzen und allen Köpfen) verwenden, um (mit gleicher Wahrscheinlichkeit) eine Zahl zu wählen. Dies kommt in 42 von 44 Fällen vor. Dies lässt uns mit:
1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 geordnete Sätze
(Wir könnten dies fortsetzen, aber nur im 49. Schritt verschafft uns dies einen Vorteil.)
Also die wahrscheinlichkeit eine nummer zu wählen
Dies macht den Erwartungswert für die Anzahl der Flips in einer Runde von Erfolg und p = 0,5 abhängig:
Der Erwartungswert für die Gesamtzahl der Flips (bis ein Erfolg vorliegt), unter der Bedingung, dass p = 0,5, wird zu:
Die Antwort von NcAdams basiert auf einer Variante dieser Stoppregelstrategie (jedes Mal mit zwei neuen Münzwürfen), wählt jedoch nicht alle Würfe optimal aus.
Die Antwort von Clid könnte auch ähnlich sein, obwohl es eine ungerade Auswahlregel geben könnte, dass bei jedem zweiten Münzwurf eine Zahl gewählt werden könnte, jedoch nicht unbedingt mit gleicher Wahrscheinlichkeit (eine Diskrepanz, die während späterer Münzwürfe repariert wird).
Vergleich mit anderen Methoden
Andere Methoden, die ein ähnliches Prinzip verwenden, sind die von NcAdams und AdamO.
Dies wird durch das folgende Bild und die Simulation demonstriert:
Vergrößern Sie die in diesem Beitrag beschriebenen Vergleichsmethoden und Kommentare
Das "bedingte Überspringen des 7. Schritts" ist eine leichte Verbesserung gegenüber der Regel des vorzeitigen Stopps. In diesem Fall wählen Sie nach dem 6. Flip nicht Gruppen mit gleichen Wahrscheinlichkeiten aus. Sie haben 6 Gruppen mit gleichen Wahrscheinlichkeiten und 1 Gruppe mit leicht unterschiedlicher Wahrscheinlichkeit (für diese letzte Gruppe müssen Sie noch einmal umdrehen, wenn Sie 6 Köpfe oder Schwänze haben, und weil Sie die 7 Köpfe oder 7 Schwänze wegwerfen, werden Sie enden immerhin mit der gleichen Wahrscheinlichkeit)
Geschrieben von StackExchangeStrike
quelle
Teilen Sie ein Kästchen in sieben gleich große Bereiche, die jeweils mit einer Ganzzahl gekennzeichnet sind. Werfen Sie die Münze so in die Schachtel, dass sie mit gleicher Wahrscheinlichkeit in jeder Region landet.
quelle
0
und wenn der zweite Wurf weiter geht, ist es ein1
BEARBEITEN: basierend auf dem Feedback anderer.
Hier ist ein interessanter Gedanke:
setze die Liste von {1,2,3,4,5,6,7}. Wirf die Münze nacheinander für jedes Element in der Liste. Wenn es für ein bestimmtes Element kopfüber angezeigt wird, entfernen Sie die Nummer aus der Liste. Wenn alle Zahlen aus einer bestimmten Iteration der Liste entfernt wurden, wiederholen Sie die Stichprobe. Tun Sie dies, bis nur noch eine Nummer übrig ist.
gibt mir eine annähernd gleichmäßige verteilung
Bewertung des Erwartungswertes für die Anzahl der Münzwürfe
Lösung mit wxMaxima gefunden
Berechnungen in R
quelle
p <- 0.99
die Ausgabe einstelle, bekomme ich0.89 0.02 0.02 0.02 0.02 0.02 0.02
Die Frage ist ein bisschen mehrdeutig, lautet die Frage "Generiere eine zufällige Ganzzahl gleich oder kleiner als 7 mit gleicher Wahrscheinlichkeit" oder lautet die Frage "Generiere 7 zufällige Ganzzahlen mit gleicher Wahrscheinlichkeit"? - aber was ist der Raum von ganzen Zahlen?!?
Ich nehme an, es ist das erstere, aber die gleiche Logik, die ich anwende, kann auch auf den letzteren Fall ausgedehnt werden, sobald dieses Problem geklärt ist.
Mit einer voreingenommenen Münze können Sie eine faire Münze wie folgt produzieren: https://en.wikipedia.org/wiki/Fair_coin#Fair_results_from_a_biased_coin
Eine Zahl von 7 oder weniger kann als dreistellige {0,1} Zahl binär geschrieben werden. Alles, was Sie tun müssen, ist das obige Verfahren dreimal auszuführen und die erzeugte Binärzahl in eine Dezimalzahl umzuwandeln.
quelle
Eine Lösung, die niemals Flips verschwendet, was für sehr voreingenommene Münzen sehr hilfreich ist.
Der Nachteil dieses Algorithmus (zumindest wie geschrieben) ist, dass er Arithmetik mit willkürlicher Genauigkeit verwendet. In der Praxis möchten Sie dies wahrscheinlich verwenden, bis eine Ganzzahl überläuft, und es erst dann wegwerfen und von vorne beginnen.
Außerdem müssen Sie wissen, wie stark die Abweichung ist ... was Sie vielleicht nicht sagen, wenn sie wie die meisten physikalischen Phänomene temperaturabhängig ist.
Angenommen, die Chance von Köpfen liegt bei 30%.
[1, 8)
.[1, 3.1)
. Andernfalls verwenden Sie die richtigen 70%, damit Ihre neue Reichweite ist[3.1, 8)
.Vollständiger Code:
quelle
diff *= 7
ich denke ... in der Tat gibt es keine besondere Notwendigkeit, für jeden Versuch dieselbe Basis zu verwenden.Wie in früheren Kommentaren erwähnt, bezieht sich dieses Rätsel auf John von Neumanns 1951 erschienene Arbeit "Various Techniques Used in Connection With Random Digits" im Research Journal des National Bureau of Standards:
quelle
Wir wandeln zuerst die (möglicherweise) unfaire Münze in eine faire Münze um .
H1
T1
0.
H1 H1 T1
quelle
Inspiriert von der Antwort von AdamO ist hier eine Python-Lösung, die Verzerrungen vermeidet:
Hier gibt es zwei wesentliche Änderungen: Die wichtigste besteht darin, dass die Runde wiederholt wird, wenn alle Zahlen in einer Runde verworfen wurden. Auch ich drehe die Wahl, ob Kopf oder Zahl bedeutet, jedes Mal zu verwerfen. Dies reduziert die Anzahl der benötigten Flips in Fällen, in denen p nahe 0 oder 1 liegt, um ~ 70%, wenn p = 0,999
quelle
Es scheint, dass wir die Zuordnung des Ergebnisses jedes Flip jedes Mal ändern dürfen, wenn wir flippen . Aus Bequemlichkeitsgründen geben wir unter Verwendung der ersten sieben positiven ganzen Zahlen die folgenden Befehle ein:
usw
Die Anzahl der nutzlosen Flips wird hier tendenziell steigen
quelle