Как отмечалось здесь ранее, пример Тардоса явно опровергает доказательства; он дает монотонную функцию, которая согласуется с CLIQUE на T0 и T1, но которая лежит в P. Это было бы невозможно, если бы доказательство было правильным, поскольку доказательство применимо и к этому случаю. Однако можем ли мы точно определить ошибку? Вот из поста в блоге Липтона, что, кажется, место, где доказательство не удается:
Единственная ошибка - это одна тонкая точка в доказательстве теоремы 6, а именно на шаге 1, на странице 31 (а также 33, где обсуждается двойственный случай) - кажущееся очевидным утверждение, что содержит все соответствующие пункты, содержащиеся в т. Д., Кажется неправильным. C N F ′ ( г )С'граммСNF'( г)
Чтобы объяснить это более подробно, нам нужно перейти к методу доказательства и аппроксимации Берга и Ульфберга, который повторяет первоначальное доказательство Разборовым экспоненциальной монотонной сложности для CLIQUE в терминах переключателей DNF / CNF. Вот как я это вижу:
Для каждого узла / логического элемента логической схемы (содержащей только двоичные логические элементы OR / AND) конъюнктивная нормальная форма , дизъюнктивная нормальная форма и аппроксиматоры и имеют вид прилагается. и - это просто соответствующие дизъюнктивные и конъюнктивные нормальные формы выходного сигнала. и также являются дизъюнктивными и конъюнктивными формами, но некоторых других функций «аппроксимируют» выходные данные гейта. Однако они должны иметь ограниченное количество переменных в каждом мономе дляβ 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 gграммβСNF( г)Д НF( г)СКграммDрграммCNFDNFDrgCkgDrg(меньше константы r) и в каждом пункте для (меньше константы k).Ckg
Существует понятие «ошибка», введенная в этом приближении. Как вычисляется эта ошибка? Нас интересует только некоторый набор входов T0, для которого наша общая функция принимает значение 0, и входы T1, для которых наша общая функция принимает значение 1 («обещание»). Теперь в каждом вентиле мы смотрим только на те входы от T0 и T1, которые правильно вычисляются (как и , которые представляют одну и ту же функцию - вывод гейта в ) на выходе вентиля и посмотрите, сколько ошибок / ошибок для иC 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βCkgDrgпо сравнению с этим. Если вентиль является соединением, то выход вентиля может правильно рассчитать больше входных данных из T0 (но правильно вычисленные входные данные из T1 могут быть уменьшены). Для , который определяется как простое соединение, нет новых ошибок, однако на всех этих входах. Теперь определен как переключатель CNF / DNF для , поэтому на T0 может возникнуть ряд новых ошибок, связанных с этим переключателем. На T1 также нет новых ошибок на - каждая ошибка должна присутствовать на любом из входов гейта, и аналогично на , коммутатор не вводит новые ошибки на T1. Анализ для ИЛИ ворота является двойным.CkgDrgCkgCkgDrg
Таким образом, число ошибок для конечных аппроксиматоров ограничено числом вентилей в , умноженным на максимально возможное количество ошибок, вносимых переключателем CNF / DNF (для T0) или переключателем DNF / CNF (для T1). Но общее количество ошибок должно быть «большим», по крайней мере, в одном случае (T0 или T1), поскольку это свойство положительных конъюнктивных нормальных форм с предложениями, ограниченными , что было ключевым понятием исходного доказательства Разборова (лемма 5 в статье Блюма).kβk
Так что же сделал Блюм, чтобы справиться с отрицаниями (которые доводятся до уровня входов, поэтому схема по-прежнему содержит только двоичные вентили ИЛИ / И)?β
Его идея состоит в том, чтобы предварительно ограничить переключатели CNF / DNF и DNF / CNF, только когда все переменные положительны. Тогда коммутаторы будут работать ТОЧНО, как в случае с Бергом и Ульфбергом, с одинаковым количеством ошибок. Оказывается, это единственный случай, который необходимо рассмотреть.
Таким образом, он следует по линии Берга и Ульфберга с некоторыми отличиями. Вместо того, чтобы прикреплять , , и к каждому схемы , он присоединяет свои модификации: , , и , то есть «сокращенные» дизъюнктивные и конъюнктивные нормальные формы, которые, как он определил, отличаются от иD 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)«правилом поглощения», удаляющим отрицательные переменные из всех смешанных одночленов / предложений (он также использует для этой цели операцию, обозначаемую R, полностью удаляя некоторые одночлены / предложения; как мы уже обсуждали ранее, его несколько неформальное определение R на самом деле не является проблемой , R может быть точным, поэтому он применяется к каждому вентилю, но то, что удаляется, зависит не только от предыдущих двух входов, но и от всей цепи, ведущей к этому вентилю), и их аппроксиматорам и , что он также представил.C′rgD′rg
В теореме 5 он заключает, что для монотонной функции редуцированные и будут действительно вычислять 1 и 0 на множествах T1 и T0 в корневом узле (выход которого является выходом всей функции в ). Эта теорема, я считаю, верна. D N F ′ g 0 βCNF′DNF′g0β
Теперь идет подсчет ошибок. Я полагаю, что ошибки в каждом узле должны быть рассчитаны путем сравнения уменьшенных и (которые теперь, возможно, две разные функции) с и как он их определил. Определения аппроксиматоров повторяют определения и (Шаг 1) при смешивании переменных с отрицательными, но когда он имеет дело с положительными переменными, он использует переключатель, как в случае с Бергом и Ульфбергом (Шаг 2). И действительно, на шаге 2 он представит такое же количество возможных ошибок, как и раньше (это тот же переключатель, и все задействованные переменные положительны).D N F ′ ( g ) C ′ r g D ′ k g C N F ′ D N F ′CNF′(g)DNF′(g)C′rgD′kgCNF′DNF′
Но доказательство неверно в Шаге 1. Я думаю, что Блум путает , , которые действительно, как он их определил, приходят от предыдущих аппроксиматоров (для ворот , ) с положительными частями и . Существует различие, и, следовательно, утверждение « прежнему содержит все предложения, содержащиеся в до аппроксимации гейта g, в котором используется выражение в или " в общем неправильно.γ 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