Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.nature.web.ru/db/msg.html?mid=1161983&uri=node13.html
Дата изменения: Unknown
Дата индексирования: Mon Apr 11 14:09:01 2016
Кодировка: Windows-1251
Научная Сеть >> М.Н. Вялый "Сложность вычислительных задач"
Rambler's Top100 Service
Поиск   
 
Обратите внимание!   Обратите внимание!
 
  Наука >> Математика >> Математическое образование | Популярные статьи
 Написать комментарий  Добавить новое сообщение
Next: 5. Набросок доказательства теоремы Up: 4. Как различать сложные Previous: 4.1. Полиномиальная сводимость Contents: Содержание

4.2. Класс

Прежде всего заметим, что этот класс включает в себя только характеристические функции (напомним, что задачи, соответствующие таким функциям, состоят в проверке некоторого свойства входного слова).

Теперь дадим неформальное описание этого класса задач. У нас появляется новый персонаж - Советник. От Исполнителя Советник отличается двумя чертами: он интеллектуально всемогущ и пристрастен (это означает, что Советник хочет, чтобы у рассматриваемого объекта было признано наличие исследуемого свойства, безотносительно к истинному положению дел). Последняя особенность не позволяет Исполнителю слепо опираться на мнение Советника: оно всегда одинаково. Исполнитель может задавать Советнику вопросы и действовать, исходя из полученных ответов. Каждый вопрос-ответ считается одним действием. Решение о значении функции принимает Исполнитель.

Замечание 1.   В литературе по теории сложности Исполнитель (несколько более сильный - снабженный монеткой для подбрасывания) именуется Артуром, а Советник - Мерлином.

Функция (характеристическая) $f(x)$ принадлежит классу \ensuremath{\mathrm {NP}}, если существует алгоритм для пары (Исполнитель, Советник), который всегда (при любых возможных вариантах диалога между Исполнителем и Советником) заканчивается за полиномиальное от длины входа время и результат работы которого удовлетворяет следующему условию: если $f(x)=1$, то существует такой вариант диалога между Исполнителем и Советником, что результат равен 1; если же $f(x)=0$, то при любом варианте диалога результат равен 0.

Замечание 2.   Из данного выше неформального определения ясно, что $\P\subseteq\ensuremath{\mathrm {NP}}$ (Исполнитель может ничего не спрашивать). Является ли это включение строгим? Довольно интенсивные, хотя и безуспешные, попытки ответить на этот вопрос продолжаются уже почти 30 лет. С. Смейл включил проблему $\P\stackrel{\scriptscriptstyle ?}{\ne}\ensuremath{\mathrm {NP}}$ в число трех важнейших математических проблем следующего столетия (две другие - гипотеза Римана и гипотеза Пуанкаре), см. [10].

Прежде чем давать формальное определение класса \ensuremath{\mathrm {NP}}, заметим следующее. Исполнитель работает вполне определенным образом, а Советник - всеведущ. Поэтому, посмотрев на вход, Советник может сразу сообщить Исполнителю весь их диалог, а Исполнитель - убедиться, что Советник не соврал; Исполнителю на это потребуется время, полиномиально зависящее от длины диалога.

Определение 5.   Функция $f$ (со значениями в множестве $\{0,1\}$) принадлежит классу \ensuremath{\mathrm {NP}}, если она представима в форме

\begin{displaymath}f(x)=\exists  y\:\big( (\vert y\vert<q(\vert x\vert))\:\wedge\: R(x,y)\big),\end{displaymath}

где $q(\cdot)$ - полином, $R(\cdot,\cdot)\in\P $, а $\vert\cdot\vert$ - длина слова.

Здесь (и всюду далее) мы отождествляем логические значения "ложь" и "истина" с 0 и 1 соответственно.

В духе предыдущего неформального обсуждения это определение нужно понимать так: $y$ - это сообщение Советника Исполнителю, а $R(\cdot,\cdot)$ - алгоритм проверки, который осуществляет Исполнитель.

Замечание 3.   Приведем еще несколько неформальных интерпретаций класса \ensuremath{\mathrm {NP}}. Слово $y$ в данном выше определении можно понимать как "подсказку" Исполнителю, воспользовавшись которой он может проверить выполнение \ensuremath{\mathrm {NP}}-свойства. Другими словами, у \ensuremath{\mathrm {NP}}-задачи есть ответ, который, быть может, трудно найти, но проверить правильность ответа - легко. Популярно также представление о слове $y$ как о "доказательстве наличия свойства" (подразумевается, что изучение доказательства занимает полиномиальное от его длины время).

Лемма 1.   Пусть $f_1\propto f_2$. Тогда а) $ f_1\not\in\P\Rightarrow f_2\not\in\P $; б) $ f_2\in\ensuremath{\mathrm {NP}}\Rightarrow f_1\in\ensuremath{\mathrm {NP}}$.

Доказательство. Пункт а) фактически доказан выше.

Докажем пункт б), привлекая неформальных персонажей из предыдущего обсуждения. Советник сообщает Исполнителю $f(x)$ (длина которого ограничена некоторым полиномом $h$ от длины $x$, поскольку $f\in\P $) и слово $y$, которое убеждает Исполнителя в том, что $f_2(f(x))=1$. Исполнитель может проверить, что ему действительно сообщено $f(x)$. $ \qedsymbol$

Определение 6.   Функция $f\in\ensuremath{\mathrm {NP}}$ называется \ensuremath{\mathrm {NP}}-полной, если любая функция из $\ensuremath{\mathrm {NP}}$ к ней сводится4.

Если некоторую \ensuremath{\mathrm {NP}}-полную функцию $f$ можно вычислять за время $T(n)$, то любую функцию $g$ из \ensuremath{\mathrm {NP}} можно вычислять за время $T(n^c)$, где число $c$ зависит от $g$, но не от входа.

\ensuremath{\mathrm {NP}}-полные функции существуют, например, функция задающая предикат выполнимость для булевых формул:

\begin{displaymath}
SAT(x)=\left\{\begin{split}
&1, \text{ если } \exists  t_1,...
...s,t_k)=1,\\
&0 \text{ в противном случае.}
\end{split}\right.
\end{displaymath}

В первой строчке предполагается, что $x$ есть запись логической формулы с булевыми переменными $t_1,\dots, t_k$ и пропозициональными связками $(\neg,  \vee,  \wedge)$.

Теорема 1. (Кук, Левин)   1) $ SAT\in\ensuremath{\mathrm {NP}}$;     2) $ SAT$ - \ensuremath{\mathrm {NP}}-полна.

Следствие .   Если $SAT\in\P $, то $ \P =\ensuremath{\mathrm {NP}}$.

Эскиз доказательства теоремы Кука-Левина будет приведен в следующем разделе.

А пока заметим, что большая часть доказательств \ensuremath{\mathrm {NP}}-полноты использует полиномиальную сводимость и следующую лемму.

Лемма 2.   Если $SAT\propto L $ и $L\in\ensuremath{\mathrm {NP}}$, то $L $ - \ensuremath{\mathrm {NP}}-полная. И вообще, если $L_1 $ - \ensuremath{\mathrm {NP}}-полная, $L_1\propto L_2 $ и $L_2\in\ensuremath{\mathrm {NP}}$, то $L_2$ - \ensuremath{\mathrm {NP}}-полная.

Доказательство. Достаточно проверить транзитивность сводимости: если $L_1\propto L_2 $, $L_2\propto L_3 $, то $L_1\propto L_3 $. Она следует из того, что композиция двух полиномиально вычислимых функций полиномиально вычислима. $ \qedsymbol$


Next: 5. Набросок доказательства теоремы Up: 4. Как различать сложные Previous: 4.1. Полиномиальная сводимость Contents: Содержание


Написать комментарий
 Copyright © 2000-2015, РОО "Мир Науки и Культуры". ISSN 1684-9876 Rambler's Top100 Яндекс цитирования