Лемма о соотношении coNP и IP — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Новая страница: «{{Определение |definition= <tex>\#SAT=\{\langle \varphi, k \rangle | \varphi</tex> имеет ровно <tex>k</tex> удовлетворяющих н...»)
 
м
Строка 3: Строка 3:
 
<tex>\#SAT=\{\langle \varphi, k \rangle | \varphi</tex> имеет ровно <tex>k</tex> удовлетворяющих наборов <tex>\}</tex>.
 
<tex>\#SAT=\{\langle \varphi, k \rangle | \varphi</tex> имеет ровно <tex>k</tex> удовлетворяющих наборов <tex>\}</tex>.
 
}}
 
}}
 +
 +
Введём понятие арифмитизации булевых формул. Пусть нам дана формула <tex>\phi(x_1 \ldots x_n)</tex>. Сделаем следующие преобразования и получим формулу <tex>A_\phi(x_1, x_2, \ldots, x_n)</tex>:
 +
# <tex> x_i \to x_i</tex>;
 +
# <tex> \lnot x \to 1 - x</tex>;
 +
# <tex>\Phi \land \Psi \to A_\Phi \cdot A_\Psi</tex>;
 +
# <tex>\Phi \lor \Psi \to 1 - (1 - A_\Phi) \cdot (1 - A_\Psi)</tex>.
  
 
{{Лемма
 
{{Лемма
 
|about=1
 
|about=1
 +
|statement=<tex>\phi(x_1 \ldots x_n) = A_\phi(x_1, \ldots, x_n)</tex>.
 +
|proof=
 +
}}
 +
 +
{{Лемма
 +
|about=2
 +
|statement=<tex>\sum\limits_{x_1,\ldots, x_n} A_\phi(x_1, \ldots, x_n)=k \iff \langle\phi,k\rangle \in \#SAT</tex>.
 +
|proof=Следует из леммы (1).
 +
}}
 +
 +
 +
{{Лемма
 +
|about=3
 
|statement=<tex>\#SAT \in \mathrm{IP}</tex>.
 
|statement=<tex>\#SAT \in \mathrm{IP}</tex>.
 
|proof=
 
|proof=
Строка 11: Строка 30:
  
 
{{Лемма
 
{{Лемма
|about=2
+
|about=4
 
|statement=<tex>\mathrm{coNP} \subset \mathrm{IP}</tex>.
 
|statement=<tex>\mathrm{coNP} \subset \mathrm{IP}</tex>.
 
|proof=
 
|proof=
Строка 18: Строка 37:
 
Очевидно, что <tex>\phi \in TAUT \iff \langle \phi, 2^k \rangle \in \#SAT</tex>.
 
Очевидно, что <tex>\phi \in TAUT \iff \langle \phi, 2^k \rangle \in \#SAT</tex>.
  
По лемме (1) <tex>\#SAT \in \mathrm{IP}</tex>. Тогда <tex>TAUT \in \mathrm{IP}</tex>. Так как <tex>TAUT \in \mathrm{coNPC}</tex>, то <tex>\mathrm{coNP} \subset \mathrm{IP}</tex>.
+
По лемме (3) <tex>\#SAT \in \mathrm{IP}</tex>. Тогда <tex>TAUT \in \mathrm{IP}</tex>. Так как <tex>TAUT \in \mathrm{coNPC}</tex>, то <tex>\mathrm{coNP} \subset \mathrm{IP}</tex>.
 
}}
 
}}
  
 
[[Категория: Теория сложности]]
 
[[Категория: Теория сложности]]

Версия 12:58, 1 июня 2012

Определение:
[math]\#SAT=\{\langle \varphi, k \rangle | \varphi[/math] имеет ровно [math]k[/math] удовлетворяющих наборов [math]\}[/math].


Введём понятие арифмитизации булевых формул. Пусть нам дана формула [math]\phi(x_1 \ldots x_n)[/math]. Сделаем следующие преобразования и получим формулу [math]A_\phi(x_1, x_2, \ldots, x_n)[/math]:

  1. [math] x_i \to x_i[/math];
  2. [math] \lnot x \to 1 - x[/math];
  3. [math]\Phi \land \Psi \to A_\Phi \cdot A_\Psi[/math];
  4. [math]\Phi \lor \Psi \to 1 - (1 - A_\Phi) \cdot (1 - A_\Psi)[/math].
Лемма (1):
[math]\phi(x_1 \ldots x_n) = A_\phi(x_1, \ldots, x_n)[/math].
Лемма (2):
[math]\sum\limits_{x_1,\ldots, x_n} A_\phi(x_1, \ldots, x_n)=k \iff \langle\phi,k\rangle \in \#SAT[/math].
Доказательство:
[math]\triangleright[/math]
Следует из леммы (1).
[math]\triangleleft[/math]


Лемма (3):
[math]\#SAT \in \mathrm{IP}[/math].
Лемма (4):
[math]\mathrm{coNP} \subset \mathrm{IP}[/math].
Доказательство:
[math]\triangleright[/math]

Сведём язык [math]TAUT[/math] к языку [math]\#SAT[/math] следующим образом: [math]\phi \mapsto \langle \phi, 2^k \rangle [/math], где [math]k[/math] — количество различных переменных в формуле [math]\phi[/math].

Очевидно, что [math]\phi \in TAUT \iff \langle \phi, 2^k \rangle \in \#SAT[/math].

По лемме (3) [math]\#SAT \in \mathrm{IP}[/math]. Тогда [math]TAUT \in \mathrm{IP}[/math]. Так как [math]TAUT \in \mathrm{coNPC}[/math], то [math]\mathrm{coNP} \subset \mathrm{IP}[/math].
[math]\triangleleft[/math]