Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Полиномиальная сводимость. NP-полные задачи

Одна и та же математическая задача распознавания может быть фор­мализована с использованием разных алфавитов и разных способов кодирования. Тем не менее, если речь, например, идет о некото­рой арифметической задаче, то можно ожидать, что основание q е N, q ^ 2, выбранной позиционной системы счисления не будет влиять на принадлежность соответствующего предиката классу Р, так как размеры [log„ (n + l)l, [log„ (п + 1)1 записей числа п в двух разных системах счисления являются величинами одного порядка, и сам пе­реход от одной записи к другой может быть выполнен за время, огра­ниченное полиномом от размера входа.

Такого рода связь может существовать и между совершенно раз­ными задачами распознавания, формализованными с помощью пре­дикатов на словах.

Определение 32.1. Пусть v и v —предикаты на словах в алфавитах Л, Л. Говорят, что v полиномиально сводится к v, и пишут v ^р v, если существует такая функция /еР, /: Л*—>Л*, что v (x) = v (/(x)).

Из того, что для / е Р длина слова /(х) как функция от дли­ны слова х полиномиально ограничена, а также из того, что ком­позиция двух полиномов р3(£) = Pi(P2(0) вновь является полиномом (при этом если p i(t), p 2(0 имеют неотрицательные коэффициенты, то и р3(£) тоже), мы получаем, что отношение ^р транзитивно и что

v eP => v eP

при v ^р V.

В 70-х годах прошлого столетия С. Кук доказал замечательную тео­рему о существовании в NP таких предикатов на словах, к каждому из которых полиномиально сводится любой предикат из NP. Приня­тая терминология такова:

Определение 32.2. Предикат и е NP называется №-полным, если v ^р и для каждого v е NP.


§ 32. Полиномиальная сводимость. NP-полные задачи



Перед формулировкой теоремы Кука напомним, что любую булеву формулу от xъx2,...,xn можно задать в конъюнктивной нормальной форме (КНФ):

D1AD2A...ADm, Di = (li 1v li 2V...v l g ki )J i = l,2,...,m, (32.1)

при этом lij является литералом, т. е. некоторой переменной xs или переменной с отрицанием ­ xs. Каждую формулу, заданную в КНФ, можно изобразить словом из Л*, как обсуждалось в примере 30.1. Предикат, принимающий значение 1 на тех и только тех словах из Л*, которые являются кодами КНФ выполнимых формул, назовем Sat (от английского слова satisfiability, одно из значений которого —вы­полнимость).

Теорему Кука мы приводим без доказательства1:

Теорема Кука. Предикат Sat является NP-полным.

Если показано, что некоторый предикат u является NP-полным, и при этом для некоторого другого предиката v е NP установлено, что u ^p v, то из этого, очевидно, следует, что v тоже NP-полный.

Пример 32.1. Прямым следствием теоремы Кука является то, что рассмотренный в примере 30.1 предикат выполнимости произволь­ной, не обязательно заданной в КНФ, формулы является NP-полным. Полиномиальная сводимость предиката Sat к этому предикату оче­видна: в качестве функции f, фигурирующей в определении 32.1, можно взять функцию, которая преобразует слово x из Л* в скобку «)» или еще в какой-нибудь символ, не являющийся кодом какой-ли­бо булевой формулы, всякий раз, когда слово x не является кодом какой-либо КНФ, и преобразует x в x в противном случае (можно описать принадлежащий Р алгоритм вычисления f (x)).

Когда говорят о принадлежащих классам Р и NP задачах распо­знавания и о NP-полных задачах, а не о предикатах и языках, то при этом предполагают, что способ кодирования входных данных ясен из

1 Мы опускаем доказательство этой теоремы, называемой в некоторых источниках также теоремой Кука—Левина, из-за того, что оно требует привлечения специфиче­ской техники доказательств утверждений о машинах Тьюринга; такого рода доказа­тельства выглядят естественно в определенном контексте, который отличается от кон­текста этого курса. Отчасти это послужило и причиной того, что в § 31 мы оставили без доказательства теорему Фишера—Рабина. Доказательство теоремы Кука имеется, на­пример, в [13], [4], [23]. Прозрачное изложение идей доказательства принадлежности классу NP предиката, распознающего выполнимость произвольной булевой формулы, и полиномиальной сводимости такого предиката к Sat можно найти в [10].



Глава 7. Сводимость


контекста и определен, по крайней мере, с точностью до полино­миальной сводимости. Обсуждая в дальнейшем задачи из примеров предыдущего параграфа, мы будем иметь в виду рассмотренные там способы кодирования.

Пример 32.2. Покажем сводимость задачи выполнимости КНФ к задаче о клике с указанным числом вершин (пример 30.3). Пусть КНФ F имеет вид (32.1). Построим граф GF с kг + k2 +... + km верши­нами, для которых используем обозначения

lij, i = l,2, ...,m, j = l,2,...,kh

при этом вершины lij и lvw соединяем ребром, если и только если выполнены два условия:

i # v,

• конкретные литералы, скрывающиеся в (32.1) за обозначениями lij и lvw, не являются отрицанием друг друга (скажем, если lij —это ­ xъ а lvw это xъ то эти две вершины ребром не соединяются).

Построение матрицы смежности графа GF может быть выполнено за полиномиально ограниченное время.

Из определения клики и способа построения графа GF следует, что клика из m вершин в этом графе существует, если и только если формула (32.1) выполнима. В самом деле, при наличии такой клики полагаем xs = 0, когда литерал ­ xs соответствует одной из вершин клики, а в остальных случаях xs = l. В результате каждое Di в (32.1) равно 1.

Наоборот, если заданная формула (32.1) выполнима, то при со­ответствующих значениях всех переменных xъx2, ■■■,xn для каждого i^m можно выбрать j такое, что lij —это литерал со значением 1. Сделав такой выбор, мы получаем набор вершин, образующий клику с m вершинами.

Если исходная КНФ имеет вид

(- x 1v- x 2)A(x 2)A(x 1V x 2),

то мы получаем граф GF с пятью вершинами (рис. 25), в котором обнаруживается клика C l n, l 2i, l 32D с тремя вершинами. Это соответ­ствует тому, что исходная формула принимает значение 1 при xг = 0, x 2 = 1.

Задача распознавания существования в графе клики с заданным числом вершин является NP-полной.


г31

§ 32. Полиномиальная сводимость. NP-полные задачи
* 2 i г21

а)

б)

.hi
h2*
<== предыдущая лекция | следующая лекция ==>
Существование задач распознавания, не принадлежащихР. Связь моделей МТ и РАМ | Основные алгоритмы сортировки и поиска
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 1522; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.