Основные понятия теории Основные понятия теории NP-NP-полнотыполноты
PPNP?NP?
Задача тысячелетия…
Vinay Deolalikar…
http://tc.nsu.ru/index.php/interestly/show/6
Задачи распознавания свойствЗадачи распознавания свойств
Класс задач распознавания свойств (ЗРС) – множество проблем, решением которых является ответ «Да» или «Нет».
ГАМИЛЬТОНОВ ЦИКЛ (ГЦ). Задан граф G = (V, E). Спрашивается, содержит ли G гамильтонов цикл?
Opt задаче max{max{ff((xx) :) : x x DD}} соответствует ЗРС: « ли решение ли решение x x DD: : ff((xx) ) QQ??», где Q – заданное число.
КОММИВОЯЖЕР (КМ). Дано:N – список городов;cij – расстояния между городами i,j N; B R. ли гамильтонов контур, длина которого B?
ЗадачиЗадачи
Под общей (массовой) задачей (проблемой) P понимается некоторый общий вопрос, требующий ответа.
Общая задача, как правило, содержит некоторые параметры. В задаче КМ, например, это расстояния между городами.
Если все параметры общей задачи принимают конкретные значения, то такую задачу называют индивидуальной.
ТрудоёмкостьТрудоёмкость алгоритмаалгоритма
Количество символов в стандартном (двоичном) представлении данных инд. задачи XP наз. длиной входа и обозначим L(X).
})(:)({sup)( nXLXtnT APX
A
наз. трудоемкостью алг. A.
)()( dA nOnT , где d – целое положительное число
Алг., трудоемкость которого не ограничена полиномом от длины входа, наз. экспоненциальным.
Пусть алг. A решает проблему P и tA(X) количество элементарных операций, выполняемых алгоритмом A при решении инд. задачи XP. Тогда функция
Алг. A наз. полиномиальным, если его трудоемкость
ТрудоёмкостьТрудоёмкость алгоритмаалгоритма
Пусть n – входная длина. Алг. A1 решает задачу P с трудоемкостью O(n5).Алг. A2 имеет трудоемкость O(2n) решения задачи P. ЭВМ - 1 млн. опер./сек. Тогда при n = 60 алг. A1 будет работать около 13 минут, а алг. A2 – более 300 столетий!
Предположим, что A2 строит решение задачи размерности D на вышеупомянутом компьютере за 1 час. Если взять компьютер, выполняющий в 1000 раз больше операций в секунду, то размерность задачи, которая решается алг. A2 на таком компьютере в течение 1 часа, будет всего D + 9.97.
Полиномиальные алгоритмы – эффективные! Экспоненциальные алгоритмы – не эффективны!
Класс Класс NPNP
При анализе задачи важно знать ли полиномиальный алг. ее решения. Частично на этот ? отвечает теория NP-полноты.
Класс NP – это мн. ЗРС, у кот. проверка ответа «Да» для заданного решения осуществляется за полиномиальное время.
ЗРС, соответствующие ЗР, КМ, ГЦ, … NP.
Классы Классы PP и и NPCNPC
Класс P NP – это мн. задач, для которых полиномиальные алг. решения.
Пусть задачи P,QNP. Если по любой инд. задаче XP можно построить за полиномиальное число операций некоторую инд. задачу Y Q, и по opt решению задачи Y полиномиально строится opt решение задачи X, то говорят, что P полиномиально сводится (п.с.) к Q.
Класс NP-полных проблем (обозначим его NPC) – это подмн. задач PNP, обладающих свойством : задача из NP п.с. к P.
Задачи из NPC принято считать сложными. Ни для одной из них не известен полиномиальный алг.
Класс Класс NPCNPC
Первой задачей, NP-полнота кот. была доказана Куком С.А. (Cook S. A.) в 1970 г., является задача
ВЫПОЛНИМОСТЬ. Задано мн. N, и 2m его подмн. {Ci} и {Di}, i = 1, ..., m. ли вектор x Bn, удовлетворяющий всем неравенствам
(1 ) 1, 1, ..., ?i i
j jj C j D
x x i m
Пример: N = {1, 2}, C1 = {1}, D1 = {2}, C2 = {2}, D2 = {1} m = 2,
?1)1(&1)1( 1221 xxxx )(&)( 2121 xxxx
)(&)(&)( 12121 xxxxx Нет!
Лемма о сводимостиЛемма о сводимости
Лемма (О сводимости). Пусть задачи P,QNP. Тогда:1) Если QP и задача P п.с. к Q, то PP.2) Если PNPC и задача P п.с. к Q, то QNPC.Доказательство. Утверждение 1) очевидно. Докажем 2). Возьмем произвольную задачу RNP. Т.к. PNPC, то R п.с. к P. Однако P п.с. к Q, и, следовательно, R п.с. к Q. Так как это имеет место задачи RNP, значит QNPC.
Следствие. Если PNPC, то P=NP.Доказательство. Пусть задача QPNPC, а задача RNP. По утв. 2) Леммы, если QNPC, то R п.с. к Q. Согласно утв. 1) Леммы, т.к. QP и R п.с. к Q, то RP. Значит, задача из NP может быть решена за полиномиальное время, т.е. NPP. Но по определению PNP и P=NP.
Доказательство Доказательство NPNP-полноты-полноты
Лемма о сводимости дает удобный способ доказательства NP-полноты задач. Для доказательства принадлежности задачи PNP классу NPC достаточно найти некоторую NP-полную задачу Q и полиномиально свести ее к задаче P.
Пример. ГЦNPC. Покажем, что КМNPC. Для этого по заданному графу G=(V,E), |V|=m, построим задачу КМ, в которой N=V, cij=1, (i,j)E и cij=2, (i,j)E и B=m.
Если в КМ цикл длины ≤ B («да»), то в G гам. цикл. Если же значение ц.ф. КМ всегда > B («нет»), то в G нет гамильтонова цикла. Очевидно, данное сведение является полиномиальным. если КМ полиномиально разрешима, то и ГЦP. И, наоборот, если для ГЦ не полиномиального алг., то и КМ не разрешима за полиномиальное время.
Классы Классы PP и и NPNP
Отношения классов P и NP является открытой проблемой в теории NP- полноты. Однако тот факт, что ни для одной NP-полной задачи не найдено полиномиального алгоритма, косвенно подтверждает гипотезу строгого включения PNP, т.е. PNP.
PNPC
NP
Задача о камняхЗадача о камнях
РАЗБИЕНИЕ. («Задача о камнях»). Задано:мн. A = {a1, …, an};вес s(ai) Z+;
ли разбиение множества A на 2 подмножества одинакового веса,
Aa
asB )( – четное.
?)()(\
AAaAa
asasт.е. ли А А:
= +
АлгоритмАлгоритм
Введем
иначе.,
;)(:},...,{if,),(
1
F
jasaaAATjit ik Aa
kiii
Табл. значений t(i,j) заполняется построчно слева направо:• t(1,j)=T, когда j=0, или j=s(a1);• в строках i=2,…,n для 0 j B/2 значение t(i,j)=T, только в случаях, когда t(i1,j)=T, или s(ai) j и t(i1,js(ai))=T.
Пример. n=5, s(a1)=1, s(a2)=9, s(a3)=5, s(a4)=3, s(a5)=8; B=26.
j 0 1 2 3 4 5 6 7 8 9 10 11 12 13
i
1 T T
2 T T T T
3 T T T T T T
4 T T T T T T T T T T T
5 T T T T T T T T T T T T
Псевдополиномиальные алгоритмыПсевдополиномиальные алгоритмы
N(X) - max число среди входных данных инд. задачи XP.
Алгоритм, строящий решение задачи P, наз. псевдополиномиальным, если инд. задачи XP трудоемкость построения решения ограничена полиномом от 2 аргументов: входной длины L(X) и значения max числового параметра N(X).
Инд. задача, у кот. величина N(X) ограничена полиномом от L(X), и для кот. псевдополиномиальный алг., является полиномиально разрешимой.
NPNP-полнота в сильном смысле-полнота в сильном смысле
Задачу PNP называют NP-полной в сильном смысле (с.с.), если для ее решения не псевдополиномиального алгоритма.
К NP-полным в с.с. проблемам относятся все NP-полные задачи без числ. параметров, а также нек. хорошо известные задачи с числ. параметрами (например, задача КМ).
Задача о ранце является примером проблемы, кот. может быть решена псевдополиномиальным алг. она не является NP-полной в с.с.
NPNP-трудные задачи-трудные задачи
Оптимизационная (экстремальная) задача, для кот. соотв. ей ЗРС NP-полна, является NP-трудной.
При решении NP-полной (трудной) проблемы часто применяют полиномиальные приближенные алг. При этом строится доп. решение, и чем оно ближе (по функционалу) к opt решению, тем оно лучше. Теория NP-полноты иногда позволяет очертить возможности приближенных алгоритмов…
Задача о ранцеЗадача о ранце
Теорема. Если PNP, то не полиномиального алг. A для решения булевой задачи о ранце (ЗР):
;max1
nBx
n
kkk xc
1
;n
k kk
a x A
с целочисленными неотрицательными параметрами ck и ak, кот. строит решение любой инд. задачи IЗР с ограниченной const абс. погрешностью: |A(I) – OPT(I)| Q = const. (*)
Доказательство теоремыДоказательство теоремы
Предположим противное: полиномиальный алг. A и целое число Q : что инд. задачи IЗР |A(I) – OPT(I)|Q. Покажем, что тогда алг. А можно использовать для построения оптимального решения ЗР, кот. NP-трудна, что противоречит условию PNP.
Каждую инд. з. I можно свести к задаче I заменой параметров ck на (Q+1)ck. Применим алг. A к задаче I. Очевидно, выполнение следующих свойств:– величина А(I ) кратна (Q+1);– OPT(I )=(Q+1)OPT(I).
Т.к. при сделанном предположении неравенство (*) вып. инд. задачи, то |А(I ) – OPT(I )|Q. |А(I ) – OPT(I )|=|А(I ) – (Q+1)OPT(I)|Q.
.11
)(1
)(
Q
QIOPT
Q
IA А(I )=(Q+1)OPT(I)=OPT(I ).
Задача коммивояжёраЗадача коммивояжёра
Теорема. Если P NP, то не полиномиального алг. A решения задачи КМ с относительной погрешностью ограниченной const. Т.е. не const K: IКМ
KIOPTIA )(/)(
Доказательство. Предположим, что const K > 0: IКМ справ. (*). Покажем, что тогда задача ГЦ полиномиально разрешима. Пусть инд. задача ГЦ задана графом G=(V, E), n=|V|. Построим инд. задачу IКМ след. образом. Пусть V – мн. городов, а расстояние:
(*)
.),(,
;),(,1
EjiKn
Ejicij
Применим алг. A к I. Если в G гам. цикл, то OPT(I)=n. В пр. сл. OPT(I)>Kn. неравенство A(I) Kn в G гам. цикл. из полиномиального алг. А, с описанными выше свойствами, полиномиальная разрешимость ГЦ…