Теорема Бермана — Форчуна — различия между версиями
AndrewD (обсуждение | вклад) |
AndrewD (обсуждение | вклад) |
||
Строка 29: | Строка 29: | ||
|author=Махэни | |author=Махэни | ||
|about=light | |about=light | ||
− | |statement=<tex>coNPC \cap SPARSE | + | |statement=<tex>coNPC \cap SPARSE \ne \varnothing \Rightarrow P = NP</tex> |
|proof=Пусть существует <tex>S \in coNPC \cap SPARSE</tex>. Разрешим <tex>TAUT</tex> за полином. | |proof=Пусть существует <tex>S \in coNPC \cap SPARSE</tex>. Разрешим <tex>TAUT</tex> за полином. | ||
Версия 23:47, 27 апреля 2012
Лемма (1): |
Доказательство: |
Пусть . Тогда и .Рассмотрим произвольный язык лемме). . Тогда . Так как , то , следовательно (поПолучили, что В обратную сторону доказательство аналогично. и . Значит . |
Определение: |
— булева формула . |
Лемма (2): |
Доказательство: |
, то есть . Тогда по лемме (1) . |
Определение: |
полином . |
Теорема (Махэни, light): |
Доказательство: |
Пусть существует . Разрешим за полином.Для начала напишем программу, разрешающую :if return if return 0 if return 1 return Ответом будет .Так как и , то , то есть . Поэтому, если в предыдущей программе заменить все обращения к , на , то полученная программа по-прежнему будет разрешать .Оценим необходимый размер . Можно считать, что , где , а — монотонно возрастающий полином. Тогда . Так как , то , где — полином. Можно считать, что монотонно возрастает. Тогда размер можно оценить сверху: , где — полином.if //(1) return if return 0 if return 1 //(2) if exit return Рассмотрим двоичное дерево, получающееся в результате рекурсивных вызовов данной программы. Рассмотрим произвольный элемент Итого, данная программа разрешает . Заметим, что условие в ходе выполнения программы является ложным при обращении к элементу не более одного раза. Так как всего в не более элементов, то суммарно за все время выполнения программы условие принимает ложное значение не более раз. Отсюда следует, что присваивание выполняется не более раз, а значит в дереве не более внутренних вершин. Значит всего в дереве не более вершин, то есть данная программа работает за полиномиальное время. за полиномиальное время. А так как , то , то есть , откуда . |