Материал из Викиконспекты
Лемма: |
[math]L \in coNPC \Leftrightarrow \overline L \in NPC[/math] |
Доказательство: |
[math]\triangleright[/math] |
Пусть [math]L \in coNPC[/math]. Тогда [math]L \in coNP[/math] и [math]\overline L \in NP[/math].
Рассмотрим произвольный язык [math]L_1 \in NP[/math]. Тогда [math]\overline {L_1} \in coNP[/math]. Так как [math]L \in coNPC[/math], то [math]\overline {L_1} \le_f L[/math], следовательно [math]L_1 \le_f \overline L[/math].
Получили, что [math]\overline L \in NP[/math] и [math]\forall L_1 \in NP \, L_1 \le_f \overline L[/math]. Значит [math]\overline L \in NPC[/math].
В обратную сторону доказательство аналогично. |
[math]\triangleleft[/math] |
Определение: |
[math]TAUT = \{\phi | \forall x \, \phi(x)=1\}[/math]. |
Определение: |
[math]SPARSE = \{L | \exists[/math] полином [math]p: \forall n \, |L \cap \Sigma^n| \le p(n)\}[/math]. |
Теорема (Махэни, light): |
[math]coNPC \cap SPARSE = \varnothing \Rightarrow P = NP[/math] |