Теорема Махэни — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м
м
Строка 7: Строка 7:
 
|statement=<tex>LSAT \in NPC</tex>.
 
|statement=<tex>LSAT \in NPC</tex>.
 
|proof=
 
|proof=
 +
#Очевидно, что <tex>LSAT \in NP</tex>.
 +
#Сведём <tex>SAT</tex> к <tex>LSAT</tex>. Для этого рассмотрим отображение <tex>\phi \mapsto \langle \phi, 1^m\rangle</tex>, где <tex>m</tex> — количество различных аргументов в формуле <tex>\phi</tex>. Ясно, что данное преобразование можно сделать за полиномиальное время. Теперь докажем, что сведение верное.
 +
#*Если <tex>\phi \in SAT</tex>, то формула <tex>\phi</tex> удовлетворима, а значит <tex>\exists x: x <_{lex} 1^m, \phi(x)=1</tex>. Следовательно, <tex>\langle \phi, 1^m\rangle \in LSAT</tex>.
 +
#*Если <tex>\langle \phi, 1^m\rangle \in LSAT</tex>, то <tex>\exists x: x <_{lex} 1^m, \phi(x)=1</tex>. Значит формула <tex>\phi</tex> удовлетворима, и <tex>\phi \in SAT</tex>.
 +
:Таким образом, <tex>SAT \le LSAT</tex>. Но <tex>SAT \in NPC</tex>, а значит <tex>\forall L \in NP \; L \le SAT</tex>. Тогда в силу транзитивности <tex>\forall L \in NP \; L \le LSAT</tex>, то есть <tex>LSAT \in NPH</tex>.
 +
Итого мы доказали, что <tex>LSAT \in NPH</tex> и <tex>LSAT \in NP</tex>. Тогда по определению <tex>LSAT \in NPC</tex>.
 
}}
 
}}
  
 
{{Лемма
 
{{Лемма
 
|statement=<tex>\langle\phi,y\rangle \in LSAT, y<_{lex}z</tex>. Тогда <tex>\langle\phi,z\rangle \in LSAT</tex>.
 
|statement=<tex>\langle\phi,y\rangle \in LSAT, y<_{lex}z</tex>. Тогда <tex>\langle\phi,z\rangle \in LSAT</tex>.
|proof=<tex>\langle\phi,y\rangle \in LSAT \Rightarrow \exists x: x<_{lex}y, \phi(x) = 1</tex>. Так как <tex>y<_{lex}z</tex>, то <tex>\exists x: x<_{lex}z, \phi(x) = 1</tex>, следовательно, <tex>\langle\phi,z\rangle \in LSAT</tex>.
+
|proof=<tex>\langle\phi,y\rangle \in LSAT</tex>. Тогда <tex>\exists x: x<_{lex}y, \phi(x) = 1</tex>. Так как <tex>y<_{lex}z</tex>, то <tex>\exists x: x<_{lex}z, \phi(x) = 1</tex>, следовательно <tex>\langle\phi,z\rangle \in LSAT</tex>.
 
}}
 
}}
  

Версия 14:51, 2 апреля 2012

Определение:
[math]LSAT=\{\langle\phi,y\rangle | \exists x: x\lt _{lex}y, \phi(x) = 1\}[/math].


Лемма:
[math]LSAT \in NPC[/math].
Доказательство:
[math]\triangleright[/math]
  1. Очевидно, что [math]LSAT \in NP[/math].
  2. Сведём [math]SAT[/math] к [math]LSAT[/math]. Для этого рассмотрим отображение [math]\phi \mapsto \langle \phi, 1^m\rangle[/math], где [math]m[/math] — количество различных аргументов в формуле [math]\phi[/math]. Ясно, что данное преобразование можно сделать за полиномиальное время. Теперь докажем, что сведение верное.
    • Если [math]\phi \in SAT[/math], то формула [math]\phi[/math] удовлетворима, а значит [math]\exists x: x \lt _{lex} 1^m, \phi(x)=1[/math]. Следовательно, [math]\langle \phi, 1^m\rangle \in LSAT[/math].
    • Если [math]\langle \phi, 1^m\rangle \in LSAT[/math], то [math]\exists x: x \lt _{lex} 1^m, \phi(x)=1[/math]. Значит формула [math]\phi[/math] удовлетворима, и [math]\phi \in SAT[/math].
Таким образом, [math]SAT \le LSAT[/math]. Но [math]SAT \in NPC[/math], а значит [math]\forall L \in NP \; L \le SAT[/math]. Тогда в силу транзитивности [math]\forall L \in NP \; L \le LSAT[/math], то есть [math]LSAT \in NPH[/math].
Итого мы доказали, что [math]LSAT \in NPH[/math] и [math]LSAT \in NP[/math]. Тогда по определению [math]LSAT \in NPC[/math].
[math]\triangleleft[/math]
Лемма:
[math]\langle\phi,y\rangle \in LSAT, y\lt _{lex}z[/math]. Тогда [math]\langle\phi,z\rangle \in LSAT[/math].
Доказательство:
[math]\triangleright[/math]
[math]\langle\phi,y\rangle \in LSAT[/math]. Тогда [math]\exists x: x\lt _{lex}y, \phi(x) = 1[/math]. Так как [math]y\lt _{lex}z[/math], то [math]\exists x: x\lt _{lex}z, \phi(x) = 1[/math], следовательно [math]\langle\phi,z\rangle \in LSAT[/math].
[math]\triangleleft[/math]


Теорема (Махэни):
[math]NPC \cap SPARCE \ne \varnothing \Rightarrow P=NP[/math].