Теорема Карпа-Липтона
Формулировка
Теорема Карпа-Липтона
то
Доказательство
Пусть есть логические схемы для
(для любой задачи из NP). Зафиксируем любую задачу из . Например пусть разрешается логическими схемами ( с одним битом разрешается логической схемой , с двумя переменными логической схемой и т.д.).
Что значит "разрешается логической схемой"?
Это значит что если на вход логической схеме подать каким-то логичным образом закодированную формулу, то на выходе получется логичным образом в виде 0 и 1 закодированный ответ - имеется разложение или нет. И причем размер этой логической схемы
, где - какой-то полином.Здесь не утверждается, что эти логические схемы можно как-то конструктивно построить. Если бы их было возможно построить за полином, то это бы означало, что
и значит .Итак, получается, что если зафиксировать
, то для этого фиксированного будет, где - вход длины
Рассмотрим язык
. Это означает, что
Что такое ?
Обозначим пары
, для которых такой существует как какой нибудь язык .
.
Заметим что
по определениюТаким образом получается, что
Требуется доказать, что
Если
то с помощью , т.е.
Что такое " "?
для некоторого набора логических схем это означает выполнимость всего этого набора. Если предположить, что набор этих схем известен, то получится, что
,
где
- длина входа .Требуется откуда то взять этот набор. Его можно угадать, используя квантор "
" снаружи.существует по предположению, что т.е.
решает и
Что такое Cn Решает SAT?
Запишем это используя квантор "
".решает если
Воспользуемся самосведением
:
,
где -
набор логических схем для .Внутри будем проверять используемый набор
Вот когда подставим x1=0 нужно будет использовать(получится более короткая формула) и используем для проверки логическую схему более короткую . Если она выдает 1 то мы опять подставляем либо 0 либо 1 и так далее. Это правильная проверка причем за полином
Если
решает то все хорошо. Если нет, то зафиксируем формулу , которую он не решает. Если на этой формуле выдаст 0, а должна выдать 1, то получается что не удовлетворяет первую часть предыдущего выражения и, значит, не будет работать. Если наоборот выдаст 1 а на самом деле формула не удавлетворима то обе скобки не выполнятся и опять формула работать не будет.Рассмотрим минимальную неправильную схему. Тогда на той формуле, на которой эта схема неправильна, по предположению, что все более короткие формулы правильны,эта формула распознается схемами с меньшим числом входов. Поэтому обе скобки будут 0 и мы не узнаем набор схем. Развернем формулу до конца.
иначе
И рекурсивно вызываемся от того из них которое равно 1. Ту же самую формулу но записываем от того из них которое равно 1 (это же предикат но для того из них фи при х1= для которого труе) Второй вариант был угадать не только будевы схемы для сат но и те которые выдают нам правильные значения
Получаем что
Теорема доказана