Generieren Sie bei einer Münze mit unbekannter Tendenz effizient Variationen aus einer fairen Münze

10

Wie kann ich bei einer Münze mit unbekanntem Bias so effizient wie möglich Variablen erzeugen, die mit einer Wahrscheinlichkeit von 0,5 Bernoulli-verteilt sind? Das heißt, unter Verwendung der Mindestanzahl von Flips pro generierter Variable.p

Neil G.
quelle
3
Eine einfache Lösung besteht darin, die Münze zweimal zu werfen: Wenn es sich um eine Zuordnung zu Köpfen handelt, wenn es sich um eine Zuordnung zu Schwänzen handelt. Andernfalls wiederholen Sie das Experiment, bis eine dieser beiden erreicht ist. T H.HTTH
Kardinal
1
@ Cardinal: Schön! Warum nicht eine Antwort hinzufügen?
Neil G
2
@Glen_b: Okay, aber kannst du es mit der minimalen Anzahl von Flips pro generierter Variable machen?
Neil G
3
@ MichaelLugo: Ich würde sagen, es hängt definitiv von . :-) Wenn , wissen wir, dass wir es in einem Flip schaffen können. Wenn , wissen wir, dass wir es in zwei tun können und wir wissen, dass dies in beiden Fällen optimal ist. Die Antwort sollte sich auf die Entropie beziehen . Wenn wir nichts anderes über wissen als dieses , dann vermute ich, dass ein einfaches spieltheoretisches Ergebnis in meinem ersten Kommentar in angemessener Weise etwas nahe am Schema als "optimal" ergibt. p = 1 / 2 p = 1 / 4 H ( p )pp=1/2p=1/4H(p)p ( 0 , 1 )pp(0,1)
Kardinal
4
Hallo, Giorgio1927, und willkommen auf der Seite! Bitte fügen Sie dieser Frage das Tag "Selbststudium" hinzu, damit die Leute sehen, dass sie Sie zur Antwort führen sollten, anstatt nur eine bereitzustellen.
Jbowman

Antworten:

6

Dies ist ein bekanntes Problem mit mehreren netten Lösungen, die hier und im Stackoverflow besprochen wurden (anscheinend kann ich nicht mehr als einen Link posten, aber eine schnelle Google-Suche bietet Ihnen einige interessante Einträge). Schauen Sie sich den Wikipedia-Eintrag an

http://en.wikipedia.org/wiki/Fair_coin#Fair_results_from_a_biased_coin

Carlos Fuentes
quelle
Entschuldigung, ich habe die Frage so geändert, dass sie nicht so einfach für Google geeignet ist…
Neil G
Wenn Sie über die Beantwortung der Frage nachdenken, beachten Sie, dass diese Antwort für meine bearbeitete Frage nicht optimal ist.
Neil G
3

Dies ist ein klassisches Problem, das meiner Meinung nach ursprünglich von Neumann zugeschrieben wurde. Eine Lösung besteht darin, die Münze paarweise zu werfen, bis die Paare unterschiedlich sind, und dann auf das Ergebnis der ersten Münze im Paar zu verzichten.

Lassen Sie das Ergebnis des , wobei die erste Münze und die zweite Münze ist. Jede Münze hat eine Wahrscheinlichkeit von Köpfen. Dann ist aufgrund der Symmetrie, was impliziert, dass . Um diese Symmetrie explizit zu sehen, beachten Sie, dass impliziert, dass die Ergebnisse oder , die beide aufgrund der Unabhängigkeit gleich wahrscheinlich sind.(Xi,Yi)iXiYipP(Xi=H|XiYi)=P(Xi=T|XiYi)P(Xi=H|XiYi)=1/2 ( H , T ) ( T , H )XiYi(H,T)(T,H)

Empirisch ist die Wartezeit bis zu einem solchen ungleichen Paar

1/P(XY)=11p2(1p)2=12p(1p),

was explodiert, wenn näher an 0 oder 1 kommt (was Sinn macht).p

Alex R.
quelle
2

Ich bin nicht sicher, wie ich die Begriffe effizient zusammenfassen soll, aber wir können aufhören, wenn die Gesamtzahl der Rollen und die Gesamtzahl der Erfolge sind, dass ist, da wir die verschiedenen Partitionen aufteilen können Ordnungen, die wir und in zwei Gruppen gleicher Wahrscheinlichkeit hätten erreichen können, die jeweils einem anderen ausgegebenen Label entsprechen. Wir müssen darauf achten, dass wir für diese Elemente noch nicht angehalten haben, dh dass kein Element ein Präfix der Länge mit Erfolgen hat, so dass ist. Ich bin mir nicht sicher, wie ich daraus eine erwartete Anzahl von Flips machen soll.tnt(nt)ntnt(nt)

Um zu zeigen:

Wir können bei TH oder HT anhalten, da diese die gleiche Wahrscheinlichkeit haben. Wenn wir uns nach Pascals Dreieck bewegen, befinden sich die nächsten geraden Terme in der vierten Reihe: 4, 6, 4. Das bedeutet, dass wir nach dem Würfeln anhalten können, wenn ein Kopf hochgekommen ist, da wir eine zweiteilige Übereinstimmung erstellen können: HHHT mit HHTH und technisch HTHH mit THHH obwohl wir für diese schon aufgehört hätten. In ähnlicher liefert das passende HHTT mit TTHH (den Rest hätten wir bereits gestoppt, bevor wir sie erreicht haben).(42)

Für haben alle Sequenzen Präfixe gestoppt. Bei wird es etwas interessanter, wo wir FFFFTTFT mit FFFFTTTF abgleichen.(52)(83)

Für nach 8 Würfen ist die Wahrscheinlichkeit, nicht gestoppt zu haben, mit einer erwarteten Anzahl von Würfen, wenn wir von gestoppt haben . Für die Lösung, bei der wir Paare so lange rollen, bis sie sich unterscheiden, ist die Wahrscheinlichkeit, nicht gestoppt zu haben, mit einer erwarteten Anzahl von Rollen, wenn wir von 4 gestoppt haben. Durch Rekursion wird eine Obergrenze für die erwarteten Flips festgelegt für den vorgestellten Algorithmus ist . p=12112853161161281275316=424127<4

Ich habe ein Python-Programm geschrieben, um die Haltepunkte auszudrucken:

import scipy.misc
from collections import defaultdict


bins = defaultdict(list)


def go(depth, seq=[], k=0):
    n = len(seq)
    if scipy.misc.comb(n, k, True) % 2 == 0:
        bins[(n,k)].append("".join("T" if x else "F"
                                   for x in seq))
        return
    if n < depth:
        for i in range(2):
            seq.append(i)
            go(depth, seq, k+i)
            seq.pop()

go(8)

for key, value in sorted(bins.items()):
    for i, v in enumerate(value):
        print(v, "->", "F" if i < len(value) // 2 else "T")
    print()

Drucke:

FT -> F
TF -> T

FFFT -> F
FFTF -> T

FFTT -> F
TTFF -> T

TTFT -> F
TTTF -> T

FFFFFT -> F
FFFFTF -> T

TTTTFT -> F
TTTTTF -> T

FFFFFFFT -> F
FFFFFFTF -> T

FFFFFFTT -> F
FFFFTTFF -> T

FFFFTTFT -> F
FFFFTTTF -> T

FFFFTTTT -> F
TTTTFFFF -> T

TTTTFFFT -> F
TTTTFFTF -> T

TTTTFFTT -> F
TTTTTTFF -> T

TTTTTTFT -> F
TTTTTTTF -> T
Neil G.
quelle
Wenn unbekannt ist, muss jede Lösung für Grenzwerte von und . Dies sollte deutlich machen, dass die Lösung von @ Cardinal optimal ist. Die erwartete Anzahl von Flips (angesichts des unbekannten natürlich) beträgt .pp0p1p2/((p(1p))
whuber
@whuber: Ich verstehe nicht, warum es optimal sein sollte. Meine Lösung hört in allen gleichen Fällen auf wie seine. Er wird jedoch zum Beispiel nach dem zehnten weiter rollen, während es möglich ist, anzuhalten.
Neil G
Was ist Ihre Lösung? Ich sehe keinen hier beschriebenen. Ich denke, wir haben möglicherweise unterschiedliche Konzepte für die Lösung von @ Cardinal. Ich verstehe es als "Stopp, wenn die Anzahl der Köpfe der Anzahl der Schwänze entspricht, und ordne dies dem Wert des ersten Ergebnisses in der Sequenz zu."
whuber
@whuber: Du meinst das: "Eine einfache Lösung besteht darin, die Münze zweimal zu werfen: Wenn es sich um eine HT-Zuordnung zu Köpfen handelt, wenn es sich um eine TH-Zuordnung zu Schwänzen handelt. Andernfalls wiederholen Sie das Experiment, bis eine dieser beiden erreicht ist." Dies wird für HHTT nicht aufhören. Es wartet auf ein Paar HT oder TH in einem geraden Index.
Neil G
Meine Lösung besteht darin, eine zweiteilige Übereinstimmung von gleichwahrscheinlichen Präfixen zu finden (von denen keines ein anderes Präfix ist) und jede Hälfte der Übereinstimmung entweder mit Kopf oder Zahl zu verknüpfen.
Neil G