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

6.3. Целочисленное линейное программирование (ЦЛП)

Теперь разберем задачу из примера 2, т. е. разрешимость системы линейных диофантовых уравнений в неотрицательных числах.

Замечание 4.   Название "линейное программирование" относится к задачам минимизации линейной функции на множестве решений системы линейных неравенств. Слово "целочисленное" указывает, что учитываются только те решения, для которых значения всех переменных - целые. С точностью до полиномиальных сводимостей задача разрешимости системы (4) эквивалентна задаче ЦЛП. Доказательство этого оставляется читателю в качестве упражнения.

Теорема 3.   Задача проверки разрешимости системы линейных уравнений в неотрицательных целых числах \ensuremath{\mathrm {NP}}-полна.

Как и в предыдущих случаях, нам необходимо доказать два утверждения: что эта задача принадлежит классу \ensuremath{\mathrm {NP}} и что к ней сводятся все задачи из \ensuremath{\mathrm {NP}}. Но теперь нетривиальны оба утверждения. Естественно пытаться доказывать принадлежность \ensuremath{\mathrm {NP}} следующим образом: пусть Советник сообщит решение, а Исполнитель его проверит. Но тогда решение должно состоять из не слишком больших чисел, чтобы Исполнитель мог проверить выполнение равенств (4) за полиномиальное время.

Оказывается, что так оно и есть: из разрешимости системы (4) следует существование не слишком длинных решений. Опишем кратко идею доказательства.

Основная используемая оценка - это оценка величины определителя матрицы через длину ее описания. Обозначим длину записи матрицы $A$ (кодировка указана в примере 1) через $s$. Тогда
\begin{displaymath}
\vert\det A\vert\leq\prod_{i,j=1}^{n}(1+\vert a_{ij}\vert)\leq 2^s.
\end{displaymath} (10)

Первое неравенство следует непосредственно из определения $\det A$, второе - из того, что запись числа $a$ требует не менее $1+\log\vert a\vert\geq\log(1+\vert a\vert)$ битов.

Множество вещественных решений системы (4) является полиэдром - пересечением конечного числа полупространств. Хорошо известная теорема выпуклой геометрии утверждает, что любая точка полиэдра является выпуклой комбинацией его крайних точек и точек на его крайних лучах. Крайние точки полиэдра, задаваемого системой (4), являются решениями систем линейных уравнений вида
\begin{displaymath}
\left\{
\begin{aligned}
Ax&=b, [3pt]
x_i&=0, \quad i\in S,
\end{aligned}\right.
\end{displaymath} (11)

для каких-то подмножеств $S\subseteq \{1,\dots, n\}$. Координаты этих точек по правилу Крамера являются отношениями миноров расширенной матрицы этой системы. В силу оценки (10) они не превосходят $2^{s+n^2+n}$ (в показателе написана максимально возможная длина описания минора расширенной матрицы).

Направляющие векторы крайних лучей - ненулевые (без ограничения общности, целочисленные) решения однородных систем вида
\begin{displaymath}
\left\{
\begin{aligned}
Ax&=0,\\
x_i&=0, \quad i\in S,  [3pt]
\end{aligned}\right.
\end{displaymath} (12)

поэтому можно считать, что для их координат выполняются те же неравенства.

Обозначим крайние точки полиэдра $x^{(1)},\dots,x^{(N)}$, направляющие векторы крайних лучей $y^{(1)},\dots,y^{(M)}$. Пусть у системы (4) есть целочисленное решение $x$. Тогда его можно записать в виде
\begin{displaymath}
x= \sum_{i=1}^{N}\lambda_i x^{(i)}+\sum_{j=1}^{M} \mu_jy^{(j...
...\sum_{j=1}^{M} (\mu_j-\lfloor \mu_j\rfloor)y^{(j)}+
y^{(\mu)},
\end{displaymath} (13)

где $\lambda_i,\mu_j\geq0$, $\sum_{i=1}^{N}\lambda_i=1$, все координаты вектора $x^{(\lambda)}$ ограничены $2^{s+n^2+n}$, а вектор $y^{(\mu)}$ - целочисленный. Но тогда и вектор $x-y^{(\mu)}$ является целочисленным решением системы (4), а его координаты не превосходят $(M+1)2^{s+n^2+n}$. Заметим, что $M$ заведомо не превосходит $2^n$ (а если вспомнить теорему Каратеодори, то $M\leq n$).

Итак, мы доказали, что для разрешимой в неотрицательных целых числах системы найдется и такое решение, длина записи которого $O(s^3)$ (мы грубо оценили $n$ как $s$). Отсюда следует принадлежность этой задачи классу $\ensuremath{\mathrm {NP}}$.

Для доказательства \ensuremath{\mathrm {NP}}-полноты задачи разрешимости системы линейных уравнений в неотрицательных целых числах сведем к ней задачу 3-КНФ. Построим по 3-КНФ систему линейных уравнений в неотрицательных целых числах. Булевой переменной $x_i$ из 3-КНФ сопоставим целочисленную неотрицательную переменную $p_i$, отрицанию переменной $x_i$ - $n_i$, дизъюнкции $D$ - переменную $q_D$. Каждой дизъюнкции $D= X_j\vee X_k
\vee X_m$ ($X_*$ - литералы) сопоставим также уравнение $P_j+P_k+P_m-q_D=1$, в котором $P_j$, $P_k$, $P_m$ - переменные, сопоставленные литералам дизъюнкции.

Искомая система содержит для всех $i$ уравнения $p_i+n_i=1$, а также все уравнения, сопоставленные дизъюнкциям из КНФ. Очевидно, что выполнимость 3-КНФ равносильна совместности такой системы.


Next: 6.4. 3-раскраска Up: 6. Примеры NP-полных задач Previous: 6.2. Разрешимость системы уравнений Contents: Содержание


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