19
сновные понятия теории сновные понятия теории NP- NP- полно полно P P NP? NP? Задача тысячелетия… Vinay Deolalikar… http://tc.nsu.ru/index.php/interestly/show/6

Основные понятия теории NP- полноты

  • Upload
    jadyn

  • View
    114

  • Download
    6

Embed Size (px)

DESCRIPTION

Основные понятия теории NP- полноты. P  NP? Задача тысячелетия… Vinay Deolalikar … http://tc.nsu.ru/index.php/interestly/show/6. Задачи распознавания свойств. Класс задач распознавания свойств (ЗРС) – множество проблем, решением которых является ответ «Да» или «Нет». - PowerPoint PPT Presentation

Citation preview

Page 1: Основные понятия теории  NP- полноты

Основные понятия теории Основные понятия теории NP-NP-полнотыполноты

PPNP?NP?

Задача тысячелетия…

Vinay Deolalikar…

http://tc.nsu.ru/index.php/interestly/show/6

Page 2: Основные понятия теории  NP- полноты

Задачи распознавания свойствЗадачи распознавания свойств

Класс задач распознавания свойств (ЗРС) – множество проблем, решением которых является ответ «Да» или «Нет».

ГАМИЛЬТОНОВ ЦИКЛ (ГЦ). Задан граф 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?

Page 3: Основные понятия теории  NP- полноты

ЗадачиЗадачи

Под общей (массовой) задачей (проблемой) P понимается некоторый общий вопрос, требующий ответа.

Общая задача, как правило, содержит некоторые параметры. В задаче КМ, например, это расстояния между городами.

Если все параметры общей задачи принимают конкретные значения, то такую задачу называют индивидуальной.

Page 4: Основные понятия теории  NP- полноты

ТрудоёмкостьТрудоёмкость алгоритмаалгоритма

Количество символов в стандартном (двоичном) представлении данных инд. задачи XP наз. длиной входа и обозначим L(X).

})(:)({sup)( nXLXtnT APX

A

наз. трудоемкостью алг. A.

)()( dA nOnT , где d – целое положительное число

Алг., трудоемкость которого не ограничена полиномом от длины входа, наз. экспоненциальным.

Пусть алг. A решает проблему P и tA(X) количество элементарных операций, выполняемых алгоритмом A при решении инд. задачи XP. Тогда функция

Алг. A наз. полиномиальным, если его трудоемкость

Page 5: Основные понятия теории  NP- полноты

ТрудоёмкостьТрудоёмкость алгоритмаалгоритма

Пусть 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.

Полиномиальные алгоритмы – эффективные! Экспоненциальные алгоритмы – не эффективны!

Page 6: Основные понятия теории  NP- полноты

Класс Класс NPNP

При анализе задачи важно знать ли полиномиальный алг. ее решения. Частично на этот ? отвечает теория NP-полноты.

Класс NP – это мн. ЗРС, у кот. проверка ответа «Да» для заданного решения осуществляется за полиномиальное время.

ЗРС, соответствующие ЗР, КМ, ГЦ, … NP.

Page 7: Основные понятия теории  NP- полноты

Классы Классы PP и и NPCNPC

Класс P NP – это мн. задач, для которых полиномиальные алг. решения.

Пусть задачи P,QNP. Если по любой инд. задаче XP можно построить за полиномиальное число операций некоторую инд. задачу Y Q, и по opt решению задачи Y полиномиально строится opt решение задачи X, то говорят, что P полиномиально сводится (п.с.) к Q.

Класс NP-полных проблем (обозначим его NPC) – это подмн. задач PNP, обладающих свойством : задача из NP п.с. к P.

Задачи из NPC принято считать сложными. Ни для одной из них не известен полиномиальный алг.

Page 8: Основные понятия теории  NP- полноты

Класс Класс 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 Нет!

Page 9: Основные понятия теории  NP- полноты

Лемма о сводимостиЛемма о сводимости

Лемма (О сводимости). Пусть задачи 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.

Page 10: Основные понятия теории  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. И, наоборот, если для ГЦ не полиномиального алг., то и КМ не разрешима за полиномиальное время.

Page 11: Основные понятия теории  NP- полноты

Классы Классы PP и и NPNP

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

PNPC

NP

Page 12: Основные понятия теории  NP- полноты

Задача о камняхЗадача о камнях

РАЗБИЕНИЕ. («Задача о камнях»). Задано:мн. A = {a1, …, an};вес s(ai) Z+;

ли разбиение множества A на 2 подмножества одинакового веса,

Aa

asB )( – четное.

?)()(\

AAaAa

asasт.е. ли А А:

= +

Page 13: Основные понятия теории  NP- полноты

АлгоритмАлгоритм

Введем

иначе.,

;)(:},...,{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

Page 14: Основные понятия теории  NP- полноты

Псевдополиномиальные алгоритмыПсевдополиномиальные алгоритмы

N(X) - max число среди входных данных инд. задачи XP.

Алгоритм, строящий решение задачи P, наз. псевдополиномиальным, если инд. задачи XP трудоемкость построения решения ограничена полиномом от 2 аргументов: входной длины L(X) и значения max числового параметра N(X).

Инд. задача, у кот. величина N(X) ограничена полиномом от L(X), и для кот. псевдополиномиальный алг., является полиномиально разрешимой.

Page 15: Основные понятия теории  NP- полноты

NPNP-полнота в сильном смысле-полнота в сильном смысле

Задачу PNP называют NP-полной в сильном смысле (с.с.), если для ее решения не псевдополиномиального алгоритма.

К NP-полным в с.с. проблемам относятся все NP-полные задачи без числ. параметров, а также нек. хорошо известные задачи с числ. параметрами (например, задача КМ).

Задача о ранце является примером проблемы, кот. может быть решена псевдополиномиальным алг. она не является NP-полной в с.с.

Page 16: Основные понятия теории  NP- полноты

NPNP-трудные задачи-трудные задачи

Оптимизационная (экстремальная) задача, для кот. соотв. ей ЗРС NP-полна, является NP-трудной.

При решении NP-полной (трудной) проблемы часто применяют полиномиальные приближенные алг. При этом строится доп. решение, и чем оно ближе (по функционалу) к opt решению, тем оно лучше. Теория NP-полноты иногда позволяет очертить возможности приближенных алгоритмов…

Page 17: Основные понятия теории  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. (*)

Page 18: Основные понятия теории  NP- полноты

Доказательство теоремыДоказательство теоремы

Предположим противное: полиномиальный алг. 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 ).

Page 19: Основные понятия теории  NP- полноты

Задача коммивояжёраЗадача коммивояжёра

Теорема. Если 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 гам. цикл. из полиномиального алг. А, с описанными выше свойствами, полиномиальная разрешимость ГЦ…