Kann echte Zufälligkeit (nachweislich) durch Kolmogorov-Zufälligkeit für RP ersetzt werden?


10

Gab es irgendwelche Versuche zu zeigen, dass Kolmogorov Zufälligkeit für RP ausreichen würde ? Wäre die Wahrscheinlichkeit, die in der Aussage "Wenn die richtige Antwort JA lautet, dann gibt sie (die probabilistische Turing-Maschine) mit Wahrscheinlichkeit JA zurück ..." in diesem Fall immer gut definiert? Oder würde es für diese Wahrscheinlichkeit nur Ober- und Untergrenzen geben? Oder würde es nur immer eine probabilistische Turing-Maschine geben, für die die Wahrscheinlichkeiten gut definiert wären (oder zumindest die Untergrenze, die größer als 1/2 sein sollte)?

Die Klasse RP ist hier relativ willkürlich, und man könnte diese Frage auch für schwächere Vorstellungen von (Pseudo-) Zufälligkeit stellen als Kolmogorov-Zufälligkeit. Aber Kolmogorov Zufälligkeit scheint ein guter Ausgangspunkt zu sein.


Das Wort "Wahrscheinlichkeit" zu verstehen, wäre Teil eines Versuchs zu zeigen, dass Kolmogorov-Zufälligkeit für RP funktioniert. Lassen Sie mich jedoch versuchen, einen möglichen Ansatz zu beschreiben, um zu klären, was dies bedeuten könnte und warum ich über Ober- und Untergrenzen gesprochen habe:

Sei s eine (Kolmogorov zufällige) Zeichenfolge. Sei A eine gegebene probabilistische Turingmaschine, die einer Sprache von RP entspricht. Führen Sie n- mal Amit s als Quelle für zufällige Bits aus und verbrauchen Sie weiterhin nicht verbrauchte Bits von s nacheinander.ns

Für pns:=#YES result in first n runs of A on sn , seip+s:=lim supnpnsundps:=lim infnpns. Beachten Sie, dassp+sundpsfür eine bestimmte Zeichenfolgesgut definiert sinds, auch wenn dies nicht zufällig wäre. Man kann sich aber fragen, obp+s=psfür den Fall, dasssKolmogorov zufällig ist, oder obps1=ps2für zwei beliebige Kolmogorov-Zufallszeichenfolgens1unds2. Oder ob es einp1/2so dassppsfür eine beliebige Kolmogorov-Zufallszeichenfolges.


2
Ich verstehe die Frage nicht. Was meinst du mit "<Konzept der Zufälligkeit> ist ausreichend für <Komplexitätsklasse>"? RP kann in Polynomzeit mit einem Orakel für eine Kolmogorov-Zufallszeichenfolge derandomisiert werden, wenn Sie dies wünschen.
Emil Jeřábek

2
Ich verstehe nicht, was Sie damit meinen, dass RP "funktionieren" würde, und ich verstehe Ihren letzten Kommentar nicht (RP-Maschinen stoppen immer nach polynomiell vielen Schritten, entweder per Definition oder ohne Verlust der Allgemeinheit, wenn Sie eine unbequeme verwenden Definition).
Emil Jeřábek

2
In der Frage selbst verstehe ich auch nicht, was Sie unter „Wahrscheinlichkeit“ verstehen, wenn Sie über zufällige Kolomogorov-Zeichenfolgen sprechen. Im Gegensatz zu üblichen „Zufallszeichenfolgen“, die aus einer Zufallsverteilung gezogen werden, ist Kolmogorov zufällig eine tatsächliche Ja-Nein-Eigenschaft, die eine bestimmte Zeichenfolge hat oder nicht hat. Ob ein solcher String einen Algorithmus akzeptiert, ist also keine Zufallsvariable, und als solche ist es bedeutungslos, nach seiner Wahrscheinlichkeit zu fragen.
Emil Jeřábek

1
Ein vernünftiger Ansatz hierfür ist die "konstruktive Martingales" -Perspektive algorithmisch zufälliger Zeichenfolgen. Man könnte Insbesondere hoffen , dass , wenn täuschen nicht , dann ist diese in einen „next-Bit - Prädiktor“ übersetzen würde für , und dann in eine Wett - Strategie zeigt , dass nicht zufällig ist. Ich weiß nicht, ob dieser Ansatz, selbst wenn er funktioniert, sinnvolle Konvergenzraten für und ; Anscheinend gibt es jedoch einen älteren Ansatz zum Studium von Komplexitätsklassen (Stichwörter: "ressourcengebundenes Maß"), der diese Idee verwendet, sodass einige Hoffnung besteht. A s s p + p -sAssp+p
Andrew Morgan

1
Relevante Wikipedia-Links (mit weiteren Referenzen) für meinen vorherigen Kommentar: konstruktive Martingale (siehe dritte Definition) und ressourcengebundene Maßnahme
Andrew Morgan

Antworten:


13

Ich denke, die Frage, die hier gestellt wird, lautet ungefähr: " Gibt es einen Sinn, in dem wir die Folge von Zufallsbits in einem Algorithmus durch Bits ersetzen können, die deterministisch aus einer entsprechend langen Kolmogorov-Zufallszeichenfolge gezogen wurden? " Dies ist zumindest die Frage, die ich versuchen werde Antworten! (Die kurze Antwort lautet "Ja, aber nur, wenn Sie zuerst die Fehlerwahrscheinlichkeit erhöhen")


Ja...

Wir können hier sicherlich etwas sagen. Sei eine Sprache und sei ein Algorithmus, der als Eingabe und eine zufällige Zeichenkette (die gleichmäßige Verteilung über ) st . Mit anderen Worten, ist ein Algorithmus, der höchstens mit Wahrscheinlichkeit fehlerhaft ist .A x r U f ( | x | ) { 0 , 1 } f ( | x | ) Pr [ A ( x , r ) = L ( x ) ] > 1 - ϵ ( x ) A ϵ ( )LAxrUf(|x|){0,1}f(|x|)Pr[A(x,r)=L(x)]>1ϵ(x)Aϵ()

Beachten Sie nun, dass wenn die falsche Antwort auf dh , dies uns ein Mittel zur Beschreibung von , insbesondere können wir es als -te Zeichenfolge, die bewirkt, dass auf fehlerhaft istDazu machen wir einfach die Maschine, die , , und ein Bit fest codiert hat , und einfach die Auswahl von aus bis es die te Wahl von so dass .( x , r ) A ( x , r ) L ( x ) r i A x . x A i b = 1A(x,r)A(x,r)L(x)riAx.xAir ' { 0 , 1 } f ( | x | ) i r ' A ( x , r ' ) bb=1xLr{0,1}f(|x|)irA(x,r)b

Nachdem wir nun wissen, dass wir eine schlechte Wahl einer zufälligen Zeichenfolge in eine Beschreibung umsetzen können, wollen wir einige Bedingungen beobachten, die ausreichen, um unsere Beschreibung von in eine Komprimierung umzuwandeln. Um zu beschreiben , benötigen wir genügend Bits, um , , und dann den Code für unsere Prozedur (den Code für und die von uns beschriebene Routine) zu beschreiben, wobei die Länger x i b A | x | + | i | + O ( 1 ) = | x | + log 2 ( 2 f ( | x | ) ϵ ( x ) ) + O ( 1 ) = | x | + f ( | x | ) - log ( 1 / ϵ (rrxibA

|x|+|i|+O(1)=|x|+log2(2f(|x|)ϵ(x))+O(1)=|x|+f(|x|)log(1/ϵ(x))+O(1).

Denken Sie daran, dass die Länge ist. Dies ist also eine Komprimierung von wenn z. B. wenn .f ( | x | ) r log ( 1 / ϵ ( x ) ) = | x | + Ω ( 1 ) , ε ( x ) = 1 / 2 2 | x |rf(|x|)r

log(1/ϵ(x))=|x|+ω(1),
ϵ(x)=1/22|x|

Beachten Sie schließlich, dass wenn eine Kolmogorov-Zufallszeichenfolge wäre, wir keine solche Komprimierung haben könnten. Solange die Fehlerwahrscheinlichkeit von ausreichend klein ist, bewirkt eine Kolmogorov-Zufallszeichenfolge anstelle der Folge von Zufallsbits, dass antwortet korrekt!A A.rAA

Beachten Sie, dass das einzige, was wir an , die geringe Fehlerwahrscheinlichkeit ist. Es ist uns egal, ob eine extrem lange Laufzeit hat oder ob einen ein- oder zweiseitigen Fehler hat.A A.AAA

Wenn wir dies auf die Frage von (oder oder ) , heißt es, dass wir, solange wir die Fehlerwahrscheinlichkeit unserer Algorithmen , Kolmogorov-Zufallszeichenfolgen anstelle ihrer Zufallsbits verwenden können.c o R P B P P.RPcoRPBPP


... aber nur wenn wir zuerst verstärken.

Eine Folgefrage könnte lauten: "Kann ich dies tun, ohne die Fehlerwahrscheinlichkeit zu erhöhen?" Betrachten Sie den folgenden Algorithmus der und eine Fehlerwahrscheinlichkeit von 1/2 .{ 0 , 1 } * 1 / 2 nA{0,1}1/2n

Bei Eingabe :x

  • Generieren Sie eine Zeichenfolger{0,1}n
  • Wenn , ablehnen.r=x
  • Akzeptieren.

Beachten Sie, dass es für jede Wahl von eine Auswahl von so dass auf fehlerhaft ist , nämlich die Wahl von , die , so dass wir die zufällige Folge von Bits, die von verwendet werden, nicht durch eine Kolmogorov-Zufallszeichenfolge ersetzen können, ohne sie zu verstärken es ist Fehlerwahrscheinlichkeit!x A x r x A.rxAxr xA


Ein Hinweis zur Quelle: Ich bin mir nicht sicher, ob dies neu ist, aber ich habe das erste Argument in meine Beschreibung für meine Eignungsprüfung aufgenommen, die nach Abschluss der Überarbeitung online verfügbar sein wird.


Mein Freund Preetum wies darauf hin, wie albern es ist, die Maschine codieren und wann wir stattdessen nur ein Bit codieren können, das besagt, ob oder nicht . Ich werde die Antwort bearbeiten, um dies widerzuspiegeln. M ( x ) x L.MM(x)xL
Dylan McKay

1
Mike Sipser verwendete eine ähnliche Art von Komprimierungsargument in seinem coolen Artikel sciencedirect.com/science/article/pii/0022000088900359 (beachten Sie, dass die von ihm benötigten Expander-Diagramme tatsächlich explizit erstellt wurden: dl.acm.org/citation.cfm?id=273915 )
Ryan Williams
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.