(Von Neumann gab einen Algorithmus an, der eine faire Münze simuliert, wenn der Zugang zu identischen voreingenommenen Münzen gegeben ist. Der Algorithmus erfordert möglicherweise eine unendliche Anzahl von Münzen (obwohl erwartungsgemäß endlich viele ausreichen). Diese Frage betrifft den Fall, wenn die Anzahl der erlaubten Münzwürfe beträgt begrenzt.)
Angenommen, wir haben identische Münzen mit Bias . Ziel ist es, einen einzelnen Münzwurf zu simulieren und gleichzeitig die Verzerrung zu minimieren.
Die Simulation muss in folgendem Sinne effizient sein: Ein Algorithmus, der in polynomialer Zeit abläuft, betrachtet zufällige Bits und gibt ein einzelnes Bit aus. Die Vorspannung des Algorithmus ist definiert alswobei die Erwartung die durch iid Bits definierte Verteilung übernimmt so dass .B i a s ( A ) = | E [ A = 0 ] - E [ A = 1 ] | n x 1 , ... , x n P R o b [ x i = 1 ] - P R o b [ x i = 0 ] = δ
Welcher Algorithmus , der in Polynomzeit läuft, hat die geringste Vorspannung ?B i a s ( A )
Diese Frage erscheint mir sehr natürlich und es ist sehr wahrscheinlich, dass sie schon einmal in Betracht gezogen wurde.
Was ist über dieses Problem bekannt? Ist etwas bekannt, wenn eine schwächere Klasse (in usw.) von Algorithmen berücksichtigt wird?
Sie sagen nicht, ob die Tendenz bekannt oder unbekannt ist. Die Magie von Neumanns Algorithmus ist, dass er in beiden Fällen funktioniert.
Angenommen, es ist bekannt. Die beste Antwort hängt dann entscheidend von den zahlentheoretischen Merkmalen des Bias ab. Nehmen wir p = 2/3. Wirf die Münze zweimal und ordne HH 0 und TH und HT 1 zu. Wiederhole das Experiment, wenn das Ergebnis TT ist. Dann sind 0 und 1 gleich wahrscheinlich und die Wahrscheinlichkeit einer Wiederholung beträgt bei von Neumanns Algorithmus nur 1/9 statt 5/9. Oder, um es in Ihren Begriffen auszudrücken, Sie verzerren eines der Ergebnisse nur um 1/9, wenn Ihr Iterationslimit 2 beträgt.
Dies alles hängt eng mit der Informationstheorie und der Codierungstheorie zusammen. Wenn p ein Bruchteil mit einem komplizierteren Zähler und Nenner ist, erfordert der beste Algorithmus eine längere Blocklänge als 2. Sie können ein Existenzargument nach Shannon-Art verwenden, um zu zeigen, dass es für eine gegebene Verzerrung eine Prozedur gibt, die so optimal wie ist Sie möchten, aber die Blocklänge kann sehr groß werden.
Peres in seiner Arbeit Iterating Von Neumanns Procedure for Extracting Random Bits beweist, dass eine Version von Neumanns Algorithmus willkürlich gut an die Shannon-Grenze heranreichen kann. Ein Großteil der Arbeit in diesem Bereich scheint von Informationstheoretikern und Statistikern geleistet worden zu sein, daher kann ich mir keine Arbeit mit einer komplexitätstheoretischen Ausrichtung vorstellen, die Ihnen eine direkte Antwort auf Ihre Frage geben würde.
Es gibt ein mit Spaß verbundenes Problem, das das Gegenteil fragt: Wenn Sie eine Quelle für faire Bits haben, wie können Sie effizient eine gleichmäßige Verteilung über eine Nicht-Zweierpotenz-Menge erzeugen? Die iterationsbegrenzte Version des Problems, die Ihrer Frage ähnelt, fordert Sie auf, die Entropie mit n Würfen einer fairen Münze zu maximieren (dh die Verteilung so gleichmäßig wie möglich zu gestalten).
quelle
Ich ziehe es vor, an die Frage in der folgenden verallgemeinerten Form zu denken: Wir haben einen vollständigen binären Baum der Höhe n, wobei jedem Knoten eine Zahl zugeordnet ist. Die Summe der Zahlen ist 1. Können wir die Blätter in zwei Mengen der Summen von teilen? Zahlen sind sie nah?
Wenn wir die Münze mit dem Parameter und q = 1 - p voreingenommen haben , haben die Knoten die Werte p i q n - i .p q=1−p piqn−i
Wie in anderen Antworten angemerkt, ist es für die meisten Piratenzwecke gut, die Parität der Bits zu nehmen. Die Abweichung ist .∑i(ni)parity(x)piqn−i=∑i(ni)(−p)iqn−i=(q−p)n
Wenn wir über genügend Rechenressourcen verfügen (z. B. in Anzahl der Zufallsbits), können wir die Knoten im Allgemeinen partitionieren.PSpace
BEARBEITEN "Dies ist im Grunde das Shannon-Codierungsproblem." (Dank an Per Vognsen.) ENDE DER BEARBEITUNG
Wenn wir dagegen nur , ist es nicht schwer zu zeigen, dass wir aufgrund des Lemmawechsels nicht viel erreichen können. Die Schaltung wird von einem CNF exponentiell gut angenähert, und es ist nicht schwer zu zeigen, dass ein CNF keine Antwort mit einer guten Vorspannung berechnen kann.AC0
(Diese Antwort kann Fehler enthalten, ich habe die Details nicht überprüft.)
quelle
Sie können auch viele zufällige Bits aus voreingenommenen Münzen ziehen. Weitere Informationen finden Sie in Gabizons Artikel Derandomisierungsalgorithmen unter Produktverteilungen (http://sites.google.com/site/arielgabizon1/).
quelle
Verwandte Frage, andere Seite: Bleichen einer zufälligen Bitfolge
quelle
Wenn Sie möchten, dass eine gerade Anzahl von Münzwürfen unabhängig von einer voreingenommenen Münze ist, können Sie die Voreingenommenheit auf einfache Weise beseitigen, indem Sie das Ergebnis jedes anderen Wurfs umkehren.
quelle