Теорема Ладнера — различия между версиями
Assaron (обсуждение | вклад) (→Доказательство: часть доказательства) |
Assaron (обсуждение | вклад) м (→Иллюстрация: \phi -> \varphi) |
||
Строка 12: | Строка 12: | ||
<math>\left[1,10^{10}\right), | <math>\left[1,10^{10}\right), | ||
\left[\underbrace{10^{10^{\cdot^{\cdot^{10}}}}}_4, \underbrace{10^{10^{\cdot^{\cdot^{10}}}}}_6\right), \dots</math> | \left[\underbrace{10^{10^{\cdot^{\cdot^{10}}}}}_4, \underbrace{10^{10^{\cdot^{\cdot^{10}}}}}_6\right), \dots</math> | ||
− | Далее будем обозначать <math>\underbrace{a^{a^{\cdot^{\cdot^{a}}}}}_n</math> как <math>^{n}a</math>. | + | Далее будем обозначать <math>\underbrace{a^{a^{\cdot^{\cdot^{a}}}}}_n</math>www как <math>^{n}a</math>. |
Рассмотрим язык <math>SAT</math>. Логично предположить, что как в <math>A</math>, | Рассмотрим язык <math>SAT</math>. Логично предположить, что как в <math>A</math>, | ||
Строка 22: | Строка 22: | ||
к <math>SAT \cap A</math>. | к <math>SAT \cap A</math>. | ||
− | Возьмем формулу <math>\ | + | Возьмем формулу <math>\varphi</math> длиной <math>^{2k+1}10</math>. Она не лежит в <math>A</math> и, |
− | следовательно, в <math>SAT \cap A</math>. Функция <math>f</math> не может перевести <math>\ | + | следовательно, в <math>SAT \cap A</math>. Функция <math>f</math> не может перевести <math>\varphi</math> |
− | в промежуток <math>\left[^{2k+2}10, ^{2k+4}10\right)</math> или дальше, так как размер выхода | + | в промежуток <math>\left[^{2k+2}10, ^{2k+4}10\right)</math> или дальше, так как размер выхода полиномиальной функции не может быть экспоненциально больше длинны входа. Значит <math>\varphi</math> отображается в меньший промежуток, но в этом случае размер выхода экспоненциально меньше длины входа. Добавляя к этому то, что проверку на принадлежность <math>f(\varphi)</math> <math>SAT \cap A</math> можно осуществить за <math>O(2^{poly})</math> (это следует из принадлежности <math>NP</math>), получаем программу разрешающую <math>\varphi</math> за полином. |
− | полиномиальной функции не может быть экспоненциально больше длинны входа. Значит <math>\ | ||
− | отображается в меньший промежуток, но в этом случае размер выхода экспоненциально меньше длины входа. | ||
− | Добавляя к этому то, что проверку на принадлежность <math>f(\ | ||
− | за <math>O(2^{poly})</math> (это следует из принадлежности <math>NP</math>), получаем программу разрешающую | ||
− | <math>\ | ||
==Доказательство== | ==Доказательство== |
Версия 12:38, 5 марта 2010
Формулировка
Теорема Ладнера (Ladner's Theorem) утверждает, что если
, то существует язык , принадлежащий .Иллюстрация
Определим язык
как множество таких формул , что чётно. Иными словами, — это язык формул с длинами, лежащими в промежутках Далее будем обозначать www как .Рассмотрим язык
. Логично предположить, что как в , так и в лежит бесконечное множество элементов из . Из и следует, что .Предположим, что
является NP-полным. Из NP-полноты следует, что существует полиномиальная функция f сводящая по Карпу к .Возьмем формулу
длиной . Она не лежит в и, следовательно, в . Функция не может перевести в промежуток или дальше, так как размер выхода полиномиальной функции не может быть экспоненциально больше длинны входа. Значит отображается в меньший промежуток, но в этом случае размер выхода экспоненциально меньше длины входа. Добавляя к этому то, что проверку на принадлежность можно осуществить за (это следует из принадлежности ), получаем программу разрешающую за полином.Доказательство
Определим
:- Случай 1:
- Если существует , такой что и , то , иначе
.
- Случай 2:
- Если существует , такой что и , то , иначе
.