Wie bereits erwähnt, widerlegt das Beispiel von Tardos den Beweis eindeutig. es gibt eine monotone Funktion, die mit CLIQUE auf T0 und T1 übereinstimmt, aber in P liegt. Dies wäre nicht möglich, wenn der Beweis korrekt wäre, da der Beweis auch für diesen Fall gilt. Können wir den Fehler jedoch lokalisieren? Aus einem Beitrag im Blog von Lipton geht hervor, an welcher Stelle der Beweis fehlschlägt:
Der einzelne Fehler ist ein subtiler Punkt im Beweis von Satz 6, nämlich in Schritt 1, auf Seite 31 (und auch 33, wo der doppelte Fall erörtert wird) - eine anscheinend offensichtliche Behauptung, dass alle entsprechenden Klauseln enthält, die in enthalten sind etc, scheint falsch. C N F ' ( g )C′gCNF′(g)
Um dies näher zu erläutern, müssen wir auf die Beweis- und Approximationsmethode von Berg und Ulfberg eingehen, die den ursprünglichen Beweis von Razborov für die exponentielle monotone Komplexität für CLIQUE in Form von DNF / CNF-Schaltern wiedergibt. So sehe ich es:
Zu jedem Knoten / Gate eine Logikschaltung (enthaltende binäre OR / AND - Gatter nur), eine konjunktiven Normalform , eine disjunktive Normalform und Approximatoren und sind angebracht. und sind einfach die entsprechenden disjunktiven und konjunktiven Normalformen des Gate-Ausgangs. und sind ebenfalls disjunktive und konjunktive Formen, jedoch von einigen anderen Funktionen, die die Gate-Ausgabe "approximieren". Sie müssen jedoch eine begrenzte Anzahl von Variablen in jedem Monom fürβ C N F ( g ) D N F ( g ) C k g D R g C N F D N F D R g C k g D R g C k ggβCNF(g)DNF(g)CkgDrgCNFDNFDrgCkgDrg(kleiner als eine Konstante r) und in jeder Klausel für (kleiner als eine Konstante k).Ckg
Mit dieser Annäherung wird der Begriff "Fehler" eingeführt. Wie wird dieser Fehler berechnet? Wir interessieren uns nur für eine Menge T0 von Eingängen, für die unsere Gesamtfunktion den Wert 0 annimmt, und T1 von Eingängen, für die unsere Gesamtfunktion den Wert 1 annimmt (ein "Versprechen"). Nun betrachten wir bei jedem Gate nur die Eingänge von T0 und T1, die korrekt berechnet wurden (sowohl von als auch von , die die gleiche Funktion repräsentieren - Ausgang von Gate in ) am Gate-Ausgang , und schauen Sie, wie viele Fehler / Fehler für undC N F ( g ) g β C k g D R g C k g D R g C k g C k g D r gDNF(g)CNF(g)gβCkgDrgim Vergleich dazu. Wenn das Gatter eine Konjunktion ist, berechnet der Gatterausgang möglicherweise mehr Eingaben von T0 korrekt (die korrekt berechneten Eingaben von T1 werden jedoch möglicherweise verringert). Für , das als einfache Konjunktion definiert ist, gibt es jedoch bei all diesen Eingaben keine neuen Fehler. Nun ist als ein CNF / DNF-Schalter von , so dass möglicherweise eine Reihe neuer Fehler auf T0 auftreten, die von diesem Schalter ausgehen. Auf T1 gibt es auch keine neuen Fehler auf - jeder Fehler muss an einem der Gate-Eingänge vorhanden sein, und in ähnlicher Weise führt der Schalter auf keine neuen Fehler auf T1 ein. Die Analyse für das ODER-Gatter ist dual.CkgDrgCkgCkgDrg
Die Anzahl der Fehler für die endgültigen Approximatoren ist also durch die Anzahl der Gatter in , multipliziert mit der maximal möglichen Anzahl der Fehler, die von einem CNF / DNF-Schalter (für T0) oder von einem DNF / CNF-Schalter (für T1) eingeführt werden. Die Gesamtzahl der Fehler muss jedoch in mindestens einem Fall "groß" sein (T0 oder T1), da dies eine Eigenschaft von positiven konjunktiven Normalformen mit Klauseln ist, die durch begrenzt sind , was die Schlüsselerkenntnis von Rasborows ursprünglichem Beweis (Lemma) war 5 in der Zeitung von Blum).kβk
Also, was hat Blum getan, um mit Negationen umzugehen (die auf die Ebene der Eingänge gedrückt werden, sodass die Schaltung immer noch nur binäre ODER / UND-Gatter enthält)?β
Seine Idee ist es, CNF / DNF- und DNF / CNF-Schalter nur dann restriktiv vorzubereiten, wenn alle Variablen positiv sind. Dann würden die Schalter genau wie bei Berg und Ulfberg funktionieren und die gleiche Menge an Fehlern verursachen. Es stellt sich heraus, dass dies der einzige Fall ist, der berücksichtigt werden muss.
So folgt er mit einigen Unterscheidungen den Linien von Berg und Ulfberg. Anstatt an jedes Gate der Schaltung , , und , hängt er seine Modifikationen , , und , dh die von ihm definierten "reduzierten" disjunktiven und konjunktiven Normalformen, die sich von undD N F ( g ) C k g D r g g β C N F ' ( g ) D N F ' ( g ) C ' k g D ' R g C N F ( g ) D N F ( g ) C ' r g D ' rCNF(g)DNF(g)CkgDrggβCNF′(g)DNF′(g)C′kgD′rgCNF(g)DNF(g)durch "Absorptionsregel", Entfernen negierter Variablen aus allen gemischten Monomen / Klauseln (er verwendet zu diesem Zweck auch die mit R bezeichnete Operation, wobei einige Monome / Klauseln vollständig entfernt werden; wie wir zuvor besprochen haben, ist seine etwas informelle Definition von R nicht wirklich das Problem , R kann so präzise gemacht werden, dass es an jedem Gatter angelegt wird, aber was entfernt wird, hängt nicht nur von den vorherigen zwei Eingängen ab, sondern von der gesamten Schaltung, die zu diesem Gatter führt, und ihren Approximatoren und , das hat er auch vorgestellt.C′rgD′rg
In Satz 5 gelangt er zu dem Schluss, dass für eine monotone Funktion reduzierte und in Mengen T1 und T0 am Wurzelknoten (dessen Ausgabe die Ausgabe der gesamten Funktion in ) tatsächlich 1 und 0 berechnen . Dieser Satz ist meines Erachtens richtig. D N F ' g 0 βCNF′DNF′g0β
Nun kommt das Zählen von Fehlern. Ich glaube, die Fehler an jedem Knoten sollen durch Vergleichen von reduziertem und (die jetzt möglicherweise zwei verschiedene Funktionen sind) mit und wie er sie definierte. Die Definitionen von Approximatoren sind die Papageiendefinitionen von und (Schritt 1), wenn er Variablen mit negierten mischt, aber wenn er sich mit positiven Variablen befasst, verwendet er den Schalter wie im Fall von Berg und Ulfberg (Schritt 2). Und tatsächlich wird er in Schritt 2 die gleiche Anzahl möglicher Fehler wie zuvor einführen (es ist der gleiche Schalter, und alle beteiligten Variablen sind positiv).D N F ' ( g ) C ' r g D ' k g C N F ' D N F 'CNF′(g)DNF′(g)C′rgD′kgCNF′DNF′
Aber der Beweis in Schritt 1 ist falsch. Ich denke, Blum verwechselt , , die tatsächlich, wie er sie definiert hat, von früheren Approximatoren (für Tore , ) mit positiven Teilen von und . Es gibt einen Unterschied, und daher die Aussage " enthält noch alle in enthaltenen Klauseln vor der Approximation des Gatters g, die eine Klausel in oder " verwenden im Allgemeinen falsch.γ 2 h 1 h 2 C N F ' β ( h 1 ) C N F ' β ( h 2 ) C ' g C N F ' β ( g ) γ ' 1 γ ' 2γ1γ2h1h2CNF′β(h1)CNF′β(h2)C′gCNF′β(g)γ′1γ′2