Jak zauważono tutaj wcześniej, przykład Tardosa wyraźnie obala dowód; daje funkcję monotoniczną, która jest zgodna z CLIQUE dla T0 i T1, ale która leży w P. Nie byłoby to możliwe, gdyby dowód był poprawny, ponieważ dowód dotyczy również tego przypadku. Czy jednak możemy wskazać błąd? Oto, z postu na blogu Liptona, to, co wydaje się być miejscem, w którym dowód się nie udaje:
Pojedynczy błąd stanowi jeden subtelny punkt w dowodzie Twierdzenia 6, mianowicie w kroku 1 na stronie 31 (a także 33, gdzie omawiany jest przypadek podwójny) - pozornie oczywiste twierdzenie, że zawiera wszystkie odpowiednie klauzule zawarte w itp. Wydaje się błędny. C N F ′ ( g )C′gCNF′(g)
Aby wyjaśnić to bardziej szczegółowo, musimy przejść do metody dowodu i aproksymacji Berga i Ulfberga, która potwierdza oryginalny dowód Razborowa na wykładniczą złożoność monotoniczną dla CLIQUE pod względem przełączników DNF / CNF. Tak to widzę:
Do każdego węzła / bramki obwodu logicznego (zawierającego tylko binarne bramki OR / AND), postać normalna , dwuzłączna postać normalna oraz aproksymatory i są przywiązany. i są po prostu odpowiednimi rozłącznymi i łączącymi normalnymi formami wyjścia bramki. i są również formami rozłącznymi i , ale niektórych innych funkcji, „przybliżających” wyjście bramki. Wymagane są jednak ograniczenia liczby zmiennych w każdym monomialnym dlaβ 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(mniej niż stała r) oraz w każdej klauzuli dla (mniej niż stała k).Ckg
Przy takim przybliżeniu pojawia się pojęcie „błędu”. Jak obliczany jest ten błąd? Interesuje nas tylko pewien zestaw T0 wejść, na których nasza funkcja całkowita przyjmuje wartość 0, i T1 wejść, na których nasza funkcja całkowita przyjmuje wartość 1 („obietnica”). Teraz przy każdej bramce patrzymy tylko na te dane wejściowe z T0 i T1, które są poprawnie obliczone (zarówno przez i , które reprezentują tę samą funkcję - wyjście bramki w ) na wyjściu bramki i sprawdź, ile błędów / błędów występuje dla iC 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βCkgDrgw porównaniu z tym. Jeśli bramka jest koniunkcją, wówczas wyjście bramki może poprawnie obliczyć więcej danych wejściowych z T0 (ale poprawnie obliczone dane wejściowe z T1 są prawdopodobnie zmniejszone). Dla , który jest zdefiniowany jako prosta koniunkcja, nie ma jednak nowych błędów na wszystkich tych wejściach. Teraz jest zdefiniowane jako przełącznik CNF / DNF w , więc może być wiele nowych błędów na T0, pochodzących z tego przełącznika. Również na T1 nie ma żadnych nowych błędów na - każdy błąd musi być obecny na każdym z wejść bramki, i podobnie na przełącznik nie wprowadza nowych błędów na T1. Analiza dla bramki OR jest podwójna.CkgDrgCkgCkgDrg
Tak więc liczba błędów dla końcowych aproksymatorów jest ograniczona liczbą bramek w , pomnożoną przez maksymalną możliwą liczbę błędów wprowadzonych przez przełącznik CNF / DNF (dla T0) lub przełącznik DNF / CNF (dla T1). Ale całkowita liczba błędów musi być „duża” w co najmniej jednym przypadku (T0 lub T1), ponieważ jest to właściwość pozytywnych spójnych form normalnych z klauzulami ograniczonymi przez , co było kluczowym wglądem w oryginalny dowód Razborova (Lemma 5 w pracy Bluma).kβk
Co więc zrobił Blum, aby poradzić sobie z negacjami (które są spychane do poziomu danych wejściowych, więc obwód nadal zawiera tylko binarne bramki OR / AND)?β
Jego pomysłem jest restrykcyjne przełączanie przełączników CNF / DNF i DNF / CNF, tylko gdy wszystkie zmienne są dodatnie. Wtedy przełączniki działałyby DOKŁADNIE tak, jak w przypadku Berga i Ulfberga, wprowadzając taką samą liczbę błędów. Okazuje się, że jest to jedyny przypadek, który należy wziąć pod uwagę.
Podąża więc za Bergiem i Ulfbergiem, z kilkoma wyróżnieniami. Zamiast dołączać , , i do każdej bramki obwodu , dołącza swoje modyfikacje, , , i , tj. „zredukowane” normalne formy rozłączne i , które według niego różnią się od iD N F ( g ) C k g D r g g β C N 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)„regułą absorpcji”, usuwając zanegowane zmienne ze wszystkich mieszanych monomialów / klauzul (używa on również w tym celu operacji oznaczonej przez R, usuwając całkowicie niektóre monomialy / klauzule; jak już mówiliśmy wcześniej, jego nieco nieformalna definicja R nie jest tak naprawdę problemem , R można sprecyzować, aby było stosowane do każdej bramki, ale to, co jest usuwane, zależy nie tylko od dwóch poprzednich wejść, ale od całego obwodu prowadzącego do tej bramki) i ich aproksymatorów i , który również wprowadził.C′rgD′rg
Stwierdza on w Twierdzeniu 5, że dla funkcji monotonicznej zredukowane i naprawdę obliczą 1 i 0 na zbiorach T1 i T0 w węźle głównym (którego wyjście jest wyjściem całej funkcji w ). To twierdzenie jest, jak sądzę, poprawne. D N F ′ g 0 βCNF′DNF′g0β
Teraz przychodzi zliczanie błędów. Uważam, że błędy w każdym węźle powinny być obliczane przez porównanie zredukowanego i (które obecnie są prawdopodobnie dwiema różnymi funkcjami), do i jak je zdefiniował. Definicje aproksymatorów papuzie definicje i (krok 1) podczas mieszania zmiennych z negacjami, ale gdy ma do czynienia ze zmiennymi dodatnimi, używa przełącznika jak w przypadku Berga i Ulfberga (krok 2). I rzeczywiście, w kroku 2 wprowadzi taką samą liczbę możliwych błędów jak poprzednio (jest to ten sam przełącznik, a wszystkie zaangażowane zmienne są dodatnie).D N F ' ( g ) C ' r g D ' k g C N F ' D N F 'CNF′(g)DNF′(g)C′rgD′kgCNF′DNF′
Ale dowód jest błędny w kroku 1. Myślę, że Blum myli , , które naprawdę pochodzą, tak jak je zdefiniował, z poprzednich aproksymatorów (dla bramek , ), z dodatnimi częściami i . Istnieje różnica, dlatego stwierdzenie „ zawiera nadal wszystkie klauzule zawarte w przed przybliżeniem bramki g, które używają klauzuli w lub ” wydaje się być ogólnie źle.γ 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