Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Наиболее убедительным аргументом в пользу того, что классы P и NP различны, является существование так называемых NP -полных задач.
NP -полные языки являются самыми «трудными» в классе NP. При этом трудность языков можно сравнивать, сводя один язык к другому.

Полиномиальная сводимость

Определение. Язык L 1 за полиномиальное время к языку L 2
(обозначение: L 1pL 2 или L 1 L 2), если существует такая функция
f: {0, 1}*, вычислимая за полиномиальное время, что для любого слова
х Î{0, 1}*: x Î L 1 Û f (xL 2 (х является индивидуальной задачей L 1 тогда и только тогда, когда f (x) является индивидуальной задачей L 2).

Функцию f называют сводящей функцией, а полиномиальный алгоритм Af, вычисляющий функцию f, – сводящим алгоритмом.

" x Î L 1 ® f (xL 2

" x Ï L 1 ® f (xL 2

Лемма 1. Если язык L 1Í{0, 1}* сводится за полиномиальное время к языку L 2Í{0, 1}* и L 2 принадлежит классу P, то L 1 также принадлежит классу Р (если L1 L2 и L2ÎP, то L1ÎР).

Доказательство

1) L 1 L 2, следовательно, существует полиномиальный сводящий алгоритм А;

2) L 2Î P, следовательно, существует полиномиальный алгоритм распознавания языка L 2.

Возьмем произвольное слово х Î L 1 и с помощью алгоритма А сведем его к слову А (хL 2, а затем определим, принимается или отвергается слово А (х) полиномиальным алгоритмом . Из определения полиномиальной сводимости следует, что слово А (х) допускается алгоритмом тогда и только тогда, когда слово x допускается алгоритмом, распознающим язык L 1. Таким образом, последовательное выполнение алгоритмов А и дает алгоритм распознавания языка L 1, и этот алгоритм полиномиален (сумма полиномов есть полином), т. е. L 1Î P.

Лемма 2. Отношение полиномиальной сводимости транзитивно
(если L1 L2 и L2 L3, то L1 L3).

Определение. Языки L 1 и L 2 полиномиально эквивалентны, если сводятся друг к другу.

Понятие полиномиальной сводимости позволяет произвести классификацию языков по степени их «трудности». Запись L 1 L 2 можно интерпретировать так: сложность языка L 2 не более чем полиномиально превосходит сложность языка L 1. Наиболее трудные в этом смысле – NP -полные языки.

Определение. Язык L Í{0, 1}* называется NP -полным:

1) если L Î NP;

2) L L для любого языка L ’Î NP.

Обозначение класса NP -полных языков – NPC.

Лемма 3. Если языки L 1 и L 2 принадлежат классу NP, L 1 – это NP -полный язык и L 1 полиномиально сводится к L 2, то L 2 также NP -полный язык (если L1ÎNP, L2ÎNP, L1ÎNPC и L1 L2, то L2ÎNPС).

Доказательство. Так как L 2Î NP, то, согласно определению, достаточно доказать, что любой язык L ’Î NP полиномиально сводится к языку L 2 (L L 2).

По условию леммы L 1Î NPC, следовательно, любой язык L ’Î NP сводится к языку L 1 (" L ’Î NP: L L 1), а язык L 1 сводится к языку L 2 (по условию леммы L 1 L 2). По свойству транзитивности полиномиальной сводимости (лемма 2) " L ’Î NP: L L 1, L 1 L 2, следовательно, " L ’Î : L L 2, т.е язык L 2Î NPC.

Основное свойство NP-полных языков: если некоторый NP -полный язык разрешим за полиномиальное время, то классы P и NP эквивалентны (P=NP), т. е. если в классе NPС существует язык разрешимый за полиномиальное время, то все языки класса NPC разрешимы за полиномиальное время.

Доказательство. Пусть LNP -полный язык, который одновременно оказался разрешимым за полиномиальное время (L Î NPC и L Î P). По определению NP -полного языка справедливо утверждение: любой язык L ’, проверяемый за полиномиальное время, полиномиально сводится к языку L (" L ’Î NP: L L). Таким образом, " L ’Î NP: L L и L Î P, значит, по лемме 1 следует, что " L ’Î NP разрешима за полиномиальное время (" L ’Î NP: L ’Î P), т. е. классы P и NP совпадают.





Дата публикования: 2015-07-22; Прочитано: 2241 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...