Теорема Карпа-Липтона — различия между версиями
Строка 11: | Строка 11: | ||
<tex> \exists{C_n} \forall{\varphi{}} (\forall{x} формулы длины n \varphi{(x)}=0 \Leftrightarrow C_n(\varphi{})=0)</tex>. | <tex> \exists{C_n} \forall{\varphi{}} (\forall{x} формулы длины n \varphi{(x)}=0 \Leftrightarrow C_n(\varphi{})=0)</tex>. | ||
+ | |||
+ | Рассмотрим язык <tex>L\in \Pi_2</tex>. Это означает, что <tex>x\in L \Leftrightarrow \forall{y} \exists{z}: \psi{(x,y,x)}</tex> | ||
+ | Что такое существует z что пси от х игрик z? Обозначим пары <x,y>, для которых такой z существует как какой нибудь язык L1 Рассмотрим <tex>L_1 = \{<x,y>|\exists{z}: \psi{(x,y,z)}\}</tex>. Заметим что <tex>L_1 \in NP</tex> по определению <tex>NP</tex> | ||
+ | Итого L это множество слов <tex>L={x|\forall{y} <x,y>\in{L_1}}</tex> | ||
+ | Нужно доказать что <tex>L\in \Sigma_1</tex> | ||
+ | |||
+ | Что такое <x,y> \in L1 ? | ||
+ | Если <tex>L_1\in{} NP \Rightarrow тоL_1 \le{}_m SAT</tex> по карпу с помощью <tex>f</tex>, т.е. <tex>L=\{x|\forall{y} f(<x,y>)\in{SAT}\}</tex> | ||
+ | |||
+ | Что такое f(<x,y>)\in SAT ? | ||
+ | <tex>f(<x,y>)\in{SAT}</tex> - это значит, что для некоторого набора булевых(логических) схем, выполнимость всего этого набора, если предположить, что набор этих схем нам известен то получится что <tex>L=\{x|\forall{y} C_n(f(<x,y>))=1\}</tex> где n- длина входа <x,y> | ||
+ | Нам надо откуда то взять этот набор. Мы можем его угадать используя квантор существует снаружи. | ||
+ | Cn он существует по предположению что NP входит в P/poly т.е. | ||
+ | <tex>L=\{x|\exists{C_n}: C_n решает SAT и \forall{y} C_n(f(<x,y>))=1\}</tex> | ||
+ | |||
+ | Что такое Cn Решает SAT? Нам разрешается использовать только квантор для любого. | ||
+ | <tex>C_n</tex> решает <tex>SAT</tex> <tex>\Leftrightarrow</tex> если <tex>\forall{\varphi} \forall{x} (fi(x)=1 \Rightarrow C_n(fi)=1)</tex> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Строка 30: | Строка 56: | ||
Рассмотрим <tex>L_1 = \{<x,y>|\exists{z}: \psi{(x,y,z)}\}</tex> | Рассмотрим <tex>L_1 = \{<x,y>|\exists{z}: \psi{(x,y,z)}\}</tex> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
Но надо откуда-то взять этот набор. Можно его угадать, используя квантор существует. Добавим его. | Но надо откуда-то взять этот набор. Можно его угадать, используя квантор существует. Добавим его. | ||
Строка 45: | Строка 66: | ||
Что означает <tex>C_n</tex> решает <tex>SAT</tex>? Нужно переписать с квантором для любого. | Что означает <tex>C_n</tex> решает <tex>SAT</tex>? Нужно переписать с квантором для любого. | ||
− | + | ||
Воспользуемся самосведением <tex>SAT</tex>: <tex>L=\{x|\exists{C1,C2,..,Cn} - набор логических схем для SAT и\forall{y} C_n(f(<x,y>))=1\}</tex> | Воспользуемся самосведением <tex>SAT</tex>: <tex>L=\{x|\exists{C1,C2,..,Cn} - набор логических схем для SAT и\forall{y} C_n(f(<x,y>))=1\}</tex> |
Версия 22:26, 2 июня 2010
Формулировка
Теорема Карпа-Липтона
то
Доказательство
Пусть есть логические схемы для
(любой задаче из NP).Например зафиксируем любую из NP например пусть сат разрешает логическими схемами , сат который поддерживается с одним битом разрешается логической схемой с1 сат с двумя переменными логической схемой с2...Что значит разрешается? Это значит что логическая схема, в инпуте которой который каким то логичным образом закодирована формула, а на выходе логичным образом в вмде 0 и один закодировано есть ли доказательство(разложение) или нет. И причем размер этой логической схемы не больше чем какой то полином от n. Но мы не утверждаем, что можем как то конструктивно их построить. Если бы мы могли за полином их построить, то это бы означало, что сат2=п2, что P=NP. Итак, что это означает, рассмотрим, это означает на самом деле что для любого n (зафиксируем n)Это означает что для фиксированного
такая логическая схема , что.
Рассмотрим язык
. Это означает, что Что такое существует z что пси от х игрик z? Обозначим пары <x,y>, для которых такой z существует как какой нибудь язык L1 Рассмотрим . Заметим что по определению Итого L это множество слов Нужно доказать чтоЧто такое <x,y> \in L1 ? Если
по карпу с помощью , т.е.Что такое f(<x,y>)\in SAT ?
- это значит, что для некоторого набора булевых(логических) схем, выполнимость всего этого набора, если предположить, что набор этих схем нам известен то получится что где n- длина входа <x,y> Нам надо откуда то взять этот набор. Мы можем его угадать используя квантор существует снаружи. Cn он существует по предположению что NP входит в P/poly т.е.Что такое Cn Решает SAT? Нам разрешается использовать только квантор для любого.
решает если
кодируетсимволов, разрешимых логической схемой . Размер .
Это означает что для фиксированного
такая логическая схема , что.
Рассмотрим язык
. Это означает, чтоРассмотрим
Но надо откуда-то взять этот набор. Можно его угадать, используя квантор существует. Добавим его.
Так как то
Что означает
решает ? Нужно переписать с квантором для любого.
Воспользуемся самосведением :
Внутри будем проверять используемый набор
Если
решает то все хорошо, если нет то зафиксируем формулу на которой не решает. Если выдаст 0 а должна выдать 1 то первую не удолветворяет, если наоборот то обе не удовлетворяет.
Получаем что
Теорема доказана