Ich untersuche ein Problem, das für die Klasse der quantifizierten Booleschen Formeln mit einer logarithmischen Anzahl von Quantifiziererwechseln schwierig ist. Ein Problem in dieser Klasse würde so aussehen:
Dabei ist und eine Boolesche Formel der Variablen .
Diese Klasse enthält eindeutig und ist in A P = P S P A C E enthalten . Gibt es einen Namen für diese Klasse? Gibt es etwas mehr darüber bekannt?
Antworten:
Aufbauend auf Michael Wehar Antwort, so scheint es , dass man leicht nachweisen kann , dass Berechnungen codiert werden kann in Polygrßenverteilung solche QBFs: Sie verwenden O ( log n ) Abwechslungen, jedes von p o l y ( n ) Bits und tun ein Argument ähnlich wie Satz von Savitch. Alle zwei Wechsel wird die Laufzeit der Berechnung dividieren durch einen p o l y ( nNTISP(nlogn,poly(n)) O(logn) poly(n) Faktor.poly( n)
Ich würde die Klasse nach der Notation in Fortnows "Time-Space Tradeoffs for Satisfiability" bezeichnen, die auch für das im vorherigen Absatz skizzierte Argument angeführt werden könnte (siehe jedoch das Papier für frühere Verweise).ΣO (logn )P
quelle
(1) Was wir bereits wissen:
Wie Sie bereits ausgeführt haben, ist QBF mit -Änderungen von Quantifizierern für jede Ebene der Polynomhierarchie schwierig.Log( n )
(2) Ich denke, dass wir auch Folgendes beweisen können:
Das Problem ist -hart.NSPEINCE( l o g2(n))
(3) Hier ist meine informelle Begründung für die vorhergehende Behauptung:
Wenn ein raumgebundenes NTM und eine Eingabezeichenfolge gegeben sind, müssen wir feststellen, ob für die gegebene Eingabezeichenfolge eine akzeptierende Berechnung existiert.log2(n)
Jede Konfiguration in der Berechnung kann im Wesentlichen durch dargestellt werden Bits dargestellt werden. Mit anderen Worten, wir können eine Konfiguration durch eine Gruppe von log 2 ( n ) -Variablen darstellen.log2(n) log2(n)
Die Idee ist, dass wir eine Startkonfiguration und eine Endkonfiguration haben und die Berechnung erraten müssen, die dazwischen stattfindet. Wir erraten rekursiv die "mittleren" Konfigurationen mit existierenden Quantifizierern und verifizieren erneut, dass die "linke" Konfiguration für alle Quantifizierer in die "mittlere" und die "mittlere" Konfiguration in die "rechte" geht.
Damit dies funktioniert, müssen wir statt einer "mittleren" Konfiguration eine Gruppe von "Zwischen" -Konfigurationen mit gleichem Abstand zwischen der "linken" und der "rechten" Konfiguration auswählen. Insbesondere könnten wir √ erraten "Zwischen" -Konfigurationen mit gleichem Abstand unter Verwendung vorhandener Quantifizierer mit √n−−√ Variablen und dann für alle Quantifizierer mit ungefähr log ( n ) Variablenauf jede Lücke zwischen Konfigurationen zurückgreifen.n−−√∗log2(n) log(n)
Die Rekursion muss nur bis zur Tiefe fortgesetzt werden werden, um eine Berechnung der Länge √ abdecken zu können2∗log(n) wobei jede Konfiguration höchstens log 2 (n)viele Bits hat.n−−√2∗log(n)=nlog(n)=2log2(n) log2(n)
Da die Rekursion die Tiefe , haben wir nur O ( log ( n ) ) Gruppen von Variablen, dh Alternationen. Da jede Gruppe von Quantifizierern nur √ hatO(log(n)) O(log(n)) Variablen, insgesamt haben wirO( √n−−√∗log2(n) Variablen.O(n−−√∗log3(n))
Fühlen Sie sich frei, Feedback oder Korrekturen anzubieten. Vielen Dank und ich hoffe das hilft ein bisschen.
(4) Eine allgemeinere Behauptung, wie sie in Ryans Antwort vorgeschlagen wird:
Sie sollten in der Lage sein, die vorhergehende Konstruktion allgemeiner auszuführen. Folgendes berücksichtigen:
Teilen Sie bei jedem Schritt der Rekursion mit c in Gruppen von "Zwischen" -Konfigurationen aufg(n) Bits pro Konfiguration auf. Führen Sie dann die Rekursion zur Tiefe d ( n ) durch .c(n) d(n)
Solange wir nicht zu viele Variablen und zu viele Wechsel haben, scheint dies gut zu funktionieren. Um zufrieden zu sein, müssen wir ungefähr Folgendes tun:
Unser verallgemeinerter Ansatz wird verwendet, um nicht deterministische Turing-Maschinen zu simulieren, die unter Verwendung von c ( n ) Speicherbits für Schritte laufen .g(n)d(n) c(n)
Insbesondere wählen wir Folgendes aus:
Die vorhergehenden Ungleichungen sind erfüllt und wir können die Konstruktion durchführen, um nicht deterministische Turing-Maschinen zu simulieren, die mit √ für ungefähr Schritte laufen2log2(n) Bits an Speicher.n√2∗log2n
Mit anderen Worten, wir haben ein besseres Härteergebnis als zuvor. Insbesondere ist das Problem für N T I S P ( 2 log 2 ( n ) , √ schwer.NTISP(2log2(n),n√2∗log2n)
(5) Weitere Verallgemeinerungen:
In der vorangegangenen Verallgemeinerung haben wir nicht deterministische zeit- und raumbegrenzte Turing-Maschinen simuliert. Es kann jedoch auch möglich sein, zeit- und ortsgebundene Turing-Maschinen zu simulieren.
In this case, we could simulate alternating Turing machines that havelog(n)−−−−−√ alternations with sublinear witness lengths, run for 2log32(n) steps, and use n√2∗log2n bits of memory.
In other words, the problem is hard forAltTimeSpace(log(n)−−−−−√,2log32(n),n√2∗log2n) with sublinear witness lengths. Alternatively, this class could be written using the STA notation mentioned in the comments above.
Thank you for the comments and feel free to offer any further corrections or clarifications. :)
quelle
A shorter answer.
See my longer answer for more details on the trade-offs betweena(n) , t(n) , and s(n) .
Note: In the above, when I say encode computations, I mean encode the computation without blowing up the instance size too much. That is, if we blow-up fromn size Turing machine input to poly(n) size formula, then I think that although the blow-up is polynomial, it is good to pay close attention to the degree of the polynomial. The reason for the semi-fine-grained perspective is to try and slightly better recognize how the different complexity measures a(n) , t(n) , and s(n) depend on each other.
quelle