Термин "недетерминированный" неудачный, но он уже стал стандартным.
Класс
Мы дадим несколько определений этого класса. Первое использует понятие недетерминированной машины Тьюринга. Устройство недетерминированной машины (НМТ) такое же, как и обычной (детерминированной), за одним исключением. У
Путь вычисления НМТ определяется выбором одного из возможных переходов на каждом такте работы. Недетерминированность приводит к тому, что путей вычисления для НМТ, работающей на данном входном слове, оказывается много.
Определение 2.1. Предикат $$L$$ принадлежит классу $$NP$$, если существуют НМТ $$M$$ и
$$L(x)=1$$ $$\Longrightarrow$$ существует путь вычисления, дающий ответ "да" за время, не превосходящее $$p(|x|)$$ ;
$$L(x)=0$$ $$\Longrightarrow$$ (1 вариант определения ) нет указанного выше пути; (2 вариант определения ) на любом пути вычисления ответа "да" не получается.
Замечание 2.1. Приведенные варианты определения эквивалентны. Чтобы исключить возможность ответов "да" на
Замечание 2.2. В предыдущем рассуждении допущена одна тонкая ошибка. В определении ничего не сказано о полиноме $$p(n)$$, кроме факта его существования. Если коэффициенты полинома невычислимы, могут возникнуть проблемы с указанным выше способом сведения одного определения к другому (нужно вычислить значение полинома). Чтобы в дальнейшем избегать этой сложности, будем считать, что
Замечание 2.3. Непосредственно из определения 2.1 следует, что $$\P\subseteq\NP$$. Является ли это включение строгим? Довольно интенсивные, хотя и безуспешные, попытки ответить на этот вопрос продолжаются уже почти 30 лет. Недавно С.Смейл включил проблему $$\P\qne\NP$$ в число трех важнейших математических проблем следующего столетия (две другие — гипотеза Римана и гипотеза Пуанкаре).
Второе определение класса
Определение 2.2. Предикат $$L$$ принадлежит классу
Пример 2.1. Пусть $$R(x,y)=$$ " $$y$$ есть
Теорема 2.1. Определения 2.1 и 2.2 эквивалентны.
Опр. 2.1 $$\Longrightarrow$$ опр. 2.2. Пусть есть НМТ $$M$$ и
Чтобы закончить доказательство в этом случае, осталось проверить, что $$R(\cdot,\cdot)\in\P$$. Это почти очевидно. Мы должны проверить протокол некоторой НМТ, работающей за полиномиальное время. Это займет нас примерно на то же время (совершенно незачем смотреть на одну ячейку экспоненциально долго).
Опр. 2.2 $$\Longrightarrow$$ опр. 2.1. Пусть есть $$R,q$$ из определения 2.2. Построим $$M$$ для определения 2.1. Она работает в два этапа.
Вначале $$M$$ недетерминированно пишет $$y$$ (который в силу определения 2.2 существует для любого слова $$x$$, для которого $$L(x)=1$$ ). Говорят еще, что $$M$$ "отгадывает" ("
После завершения первого этапа на ленте, помимо входного слова $$x$$, записано еще и слово $$y$$. Теперь $$M$$ осталось вычислить значение предиката $$R(x,y)$$ за полиномиальное время. Это можно сделать, используя детерминированный алгоритм, существующий в силу определения 2.2.
Еще одно определение класса
Определение 2.3. Имеются два персонажа: король A rthur (Артур), умственные способности которого полиномиально ограничены, и волшебник M erlin (Мерлин), который интеллектуально всемогущ и знает правильные ответы на все вопросы. Король A интересуется некоторым свойством $$L(x)$$ (например, "есть ли у графа
Поэтому они действуют следующим образом. A и M оба смотрят на слово $$x$$, после чего M сообщает некоторую информацию (слово $$y$$ ), которая должна убедить A, что $$L(x)=1$$. Используя эту информацию, A проверяет убедительность аргументов M некоторым полиномиальным способом.
В этих терминах определение класса
$$L(x)=1$$ $$\Longrightarrow$$ у M есть способ убедить A в этом;
$$L(x)=0$$ $$\Longrightarrow$$ как бы M ни изощрялся, A не поверит, что $$L(x)=1$$.
Эквивалентность этого определения определению 2.2 не вызывает сомнений. Действительно, из-за полиномиальной ограниченности короля A, сообщение волшебника M должно иметь полиномиальный размер. В остальном различия между определениями чисто внешние.
Сложность вычисления предикатов можно сравнивать, пользуясь следующим определением.
Определение 2.4. Сводимость по Карпу. Предикат $$L_1$$ сводится к предикату $$L_2$$ (обозначение $$L_1\propto L_2$$ ), если существует такая функция $$f\in\P$$, что $$\forall\, x\:L_1(x)=L_2(f(x))$$.
Сводимость по Карпу также называют полиномиальной сводимостью, а часто — просто сводимостью.
Лемма 2.1. Пусть $$L_1\propto L_2$$. Тогда
Доказательство. Пункт 1 совершенно очевиден — чтобы вычислить значение предиката $$L_1$$, достаточно применить ко входу $$x$$ функцию $$f$$, а к результату ее работы — программу вычисления $$L_2$$.
Пункт 2 следует из пункта 1.
Пункт 3 также прост. Его можно объяснять по-разному. Например, так: Мерлин сообщает Артуру $$f(x)$$ (длина которого ограничена некоторым полиномом $$h$$ от длины $$x$$, поскольку $$f\in\P$$ ) и слово $$y$$, которое убеждает Артура в том, что $$L_2(f(x))=1$$. Артур также может проверить, что ему действительно сообщено $$f(x)$$. Используя определение 2.2, можно написать цепочку эквивалентностей$$L_1(x)\Leftrightarrow L_2(f(x)) \Leftrightarrow \exists\, y\: \big( (|y|<q(|f(x)|))\wedge R(f(x),y)\big)\Leftrightarrow\\\Leftrightarrow\exists\, y\: \big( (|y|<r(|x|))\wedge R(f(x),y)\big).$$
Определение 2.5. Предикат $$L\in\NP$$ называется
Если некоторый
Выполнимость. Задается предикатом
$$SAT(x)$$ $$\Longleftrightarrow$$ $$x$$ есть формула с
Теорема 2.2 (Кук, Левин). 1) $$SAT\in\NP$$ ; 2) $$SAT$$ —
Если $$SAT\in\P$$, то $$\P=\NP$$.
Доказательство (теоремы 2.2). 1) Мерлину достаточно сообщить Артуру значения переменных, входящих в формулу, при которых она истинна. Артур справится с проверкой истинности полученного высказывания.
2) Пусть предикат из
Рассмотрим таблицу вычисления (см. доказательство теоремы 1.2) для МТ, вычисляющей $$R(x,y)$$ (входом является пара $$x\#y$$ ). Будем использовать те же переменные, что и в доказательстве теоремы 1.2 (коды состояний клеток таблицы вычисления). Чтобы таблица вычисления соответствовала правильно проведенному успешному (с ответом "да") вычислению, должны выполняться локальные правила согласования для каждой четверки клеток вида
и результат должен быть "да". Каждое такое правило задается формулой от переменных, отвечающих либо рассматриваемой четверке, либо нулевой ячейке самой нижней строки таблицы. Определим формулу $$\varphi_x$$ как конъюнкцию всех этих формул, в которые подставлены значения переменных, кодирующих вход $$x\# y$$, дополненный символами $$\emptycell$$ до длины $$|x|+1+q(|x|)$$. Значения, соответствующие $$x$$ и $$\#$$, — константы, поэтому переменные, от которых зависит эта формула, отвечают $$y$$ и кодам внутренних ячеек таблицы. Так что можно считать, что формула $$\phi_x$$ зависит от $$y$$ и еще от каких-то переменных, которые мы обозначим $$z$$.
Итак, мы сопоставили слову $$x$$ формулу $$\varphi_x(y,z)$$, которая по построению обладает следующим свойством. Если выполняется $$R(x,y)$$, то найдется такой набор значений $$z(x,y)$$, при котором $$\varphi_x(y,z(x,y))$$ истинна (эти значения описывают работу МТ на входе $$x\# y$$ ). А если $$R(x,y)$$ не выполняется, то $$\varphi_x(y,z)$$ всегда ложна (поскольку по сути утверждает, что вычисление на входе $$(x,y)$$ дает ответ "да"). Таким образом, при $$L(x)=1$$ такая формула иногда (при некоторых значениях $$y$$ ) истинна, при $$L(x)=0$$ — всегда ложна.
Другие примеры
Лемма 2.2. Если $$SAT\propto L$$ и $$L\in\NP$$, то $$L$$ —
Доказательство. Достаточно проверить транзитивность сводимости: если $$L_1\propto L_2$$, $$L_2\propto L_3$$, то $$L_1\propto L_3$$. Она следует из того, что композиция двух полиномиально вычислимых функций полиномиально вычислима.
3-КНФ. Задается предикатом
$$3\text{-}SAT(x)$$ $$\Longleftrightarrow$$ $$x$$ есть 3-КНФ, которая истинна истинна при некоторых значениях переменных. 3-КНФ — это конъюнкция дизъюнкций, каждая из которых содержит три литерала.
$$3\text{-}SAT$$ также
Теорема 2.3. $$SAT\propto 3\text{-}SAT$$.
Доказательство. Сопоставим любой схеме в стандартном базисе такую 3-КНФ, выполнимость которой равносильна тому, что вычисляемая схемой функция не равна тождественно 0. В эту КНФ будут входить все переменные схемы ( $$x_1,\dots,x_n$$ и $$y_1,\dots,y_s$$ — используем те же обозначения, что и в определении схемы). Для этого построим вначале конъюнкцию $$K''$$ условий, означающих, что каждая из вспомогательных переменных $$y_j$$ имеет значение, соответствующее правой части присваивания $$Y_j$$. Есть три типа таких условий (они соответстуют трем базисным функциям), и каждый можно записать в виде 3-КНФ:
$$\begin{align*} \big( y\Leftrightarrow( x_1\vee x_2)\big) = (x_1\vee x_2\vee\neg y)\wedge(\neg x_1\vee x_2\vee y)\wedge (x_1\vee\neg x_2\vee y)\wedge\\ \wedge(\neg x_1\vee\neg x_2\vee y),\\ \big(y\Leftrightarrow(x_{1}\wedge x_2)\big)= (x_1\vee x_2\vee\neg y)\wedge(\neg x_1\vee x_2\vee\neg y)\wedge (x_1\vee\neg x_2\vee\neg y)\wedge\\ \wedge(\neg x_1\vee\neg x_2\vee y),\\ \big(y\Leftrightarrow\neg x\big)= (x\vee y)\wedge(\neg x\vee \neg y). \end{align*}$$Подставляя эти 3-КНФ в $$K''$$, получим 3-КНФ $$K'$$. Искомая 3-КНФ имеет вид $$K=K'\wedge y_s$$. Действительно, истинность $$K$$ равносильна утверждению: все присваивания выполнены правильно и в результате получилась 1 ( $$y_s=1$$ ). Значит, если при каких-то значениях переменных $$x_i$$ схема выдает 1, то $$K$$ выполнима, и наоборот.
Еще один простой пример сведения.
Задача ЦЛП (целочисленного линейного программирования). Дана система линейных неравенств с целыми коэффициентами. Есть ли у нее целочисленное решение? (Другими словами, совместна ли система?)
В этой задаче входом является матрица коэффициентов и вектор правых частей. То, что $$\textsc{ЦЛП}\in \NP$$, не совсем очевидно. Оказывается, что в качестве подсказки Мерлин может сообщить Артуру значения переменных, при которых выполнены все неравенства системы. По определению, длина этого сообщения должна быть также полиномиально ограничена. Можно доказать, что из существования целочисленного решения следует существование целочисленного решения, размер записи которого ограничен полиномом от длины записи системы, см. [14, т. 2, 17.1].
Сведем теперь 3-КНФ к ЦЛП. Построим по 3-КНФ систему линейных неравенств. Целочисленных переменных возьмем столько же, сколько есть булевых переменных. Булевой переменной $$x_i$$ сопоставим выражение $$p_i$$. Отрицанию переменной $$\neg x_i$$ сопоставим выражение $$1-p_i$$. Каждой дизъюнкции $$X_j\vee X_k \vee X_m$$ ( $$X_*$$ — литералы) сопоставим неравенство $$P_j+P_k+P_m\geq1$$, в котором $$P_j$$, $$P_k$$, $$P_m$$ — выражения, сопоставленные литералам дизъюнкции.
Искомая система содержит для всех $$i$$ неравенства $$0\leq p_i\leq 1$$, а также все неравенства, сопоставленные дизъюнкциям из КНФ. Очевидно, что выполнимость 3-КНФ равносильна совместности такой системы.
Замечание 2.4. Если не требовать целочисленности решений, то проверить совместность системы линейных неравенств можно за полиномиальное время. Примеры таких алгоритмов (Хачияна, Кармаркара) также см. в [14, т. 1, 13, 15.1].
Обширный список
3-раскраска. Дан граф. Спрашивается, можно ли раскрасить его вершины в три цвета так, чтобы концы каждого ребра были покрашены в разные цвета. (Аналогичная задача 2-раскраска решается за полиномиальное время.)
Клика. Даны граф и число $$k$$. Спрашивается, есть ли $$k$$ -элементное множество вершин графа, любые две вершины которого соединены ребром.
Постройте
Постройте
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.