220 likes | 627 Views
Основные понятия теории NP- полноты. P NP? Задача тысячелетия… Vinay Deolalikar … http://tc.nsu.ru/index.php/interestly/show/6. Задачи распознавания свойств. Класс задач распознавания свойств (ЗРС) – множество проблем, решением которых является ответ «Да» или «Нет».
E N D
Основные понятия теории NP-полноты PNP? Задача тысячелетия… VinayDeolalikar… http://tc.nsu.ru/index.php/interestly/show/6
Задачи распознавания свойств Класс задач распознавания свойств (ЗРС) – множество проблем, решением которых является ответ «Да» или «Нет». ГАМИЛЬТОНОВ ЦИКЛ (ГЦ). Задан граф G = (V, E). Спрашивается, содержит ли G гамильтонов цикл? Opt задаче max{f(x) : x D}соответствует ЗРС: « ли решение x D: f(x) Q?», где Q – заданное число. КОММИВОЯЖЕР (КМ). Дано: N – список городов; cij – расстояния между городами i,j N; B R. ли гамильтонов контур, длина которого B?
Задачи Под общей (массовой) задачей (проблемой) P понимается некоторый общий вопрос, требующий ответа. Общая задача, как правило, содержит некоторые параметры. В задаче КМ, например, это расстояния между городами. Если все параметры общей задачи принимают конкретные значения, то такую задачу называют индивидуальной.
Трудоёмкостьалгоритма Количество символов в стандартном (двоичном) представлении данных инд. задачи XP наз.длиной входа и обозначим L(X). Пусть алг. A решает проблему P и tA(X) количество элементарных операций, выполняемых алгоритмом A при решении инд. задачи XP. Тогда функция наз. трудоемкостью алг.A. Алг. A наз. полиномиальным, если его трудоемкость , где d – целое положительное число Алг., трудоемкость которого не ограничена полиномом от длины входа, наз. экспоненциальным.
Трудоёмкостьалгоритма Пусть 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. Полиномиальные алгоритмы – эффективные! Экспоненциальные алгоритмы – не эффективны!
Класс NP При анализе задачи важно знать ли полиномиальный алг. ее решения. Частично на этот ? отвечает теория NP-полноты. Класс NP – это мн. ЗРС, у кот. проверка ответа «Да» для заданного решения осуществляется за полиномиальное время. ЗРС, соответствующие ЗР, КМ, ГЦ, … NP.
Классы P и NPC Класс P NP – это мн. задач, для которых полиномиальные алг. решения. Пусть задачи P,QNP. Если по любой инд. задаче XP можно построить за полиномиальное число операций некоторую инд. задачу Y Q, и по opt решению задачи Y полиномиально строится opt решение задачи X, то говорят, что P полиномиально сводится (п.с.) к Q. Класс NP-полных проблем (обозначим его NPC) – это подмн. задач PNP, обладающих свойством : задачаиз NPп.с. к P. Задачи из NPC принято считать сложными. Ни для одной из них не известен полиномиальный алг.
Класс NPC Первой задачей, NP-полнота кот. была доказана Куком С.А. (Cook S. A.) в 1970 г., является задача ВЫПОЛНИМОСТЬ.Задано мн. N, и 2m его подмн. {Ci} и {Di}, i = 1, ..., m. ли вектор x Bn, удовлетворяющий всем неравенствам Пример:N = {1, 2},C1 = {1}, D1 = {2}, C2 = {2}, D2 = {1} m = 2, Нет!
Лемма о сводимости Лемма (О сводимости). Пусть задачи 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.
Доказательство NP-полноты Лемма о сводимости дает удобный способ доказательства 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. И, наоборот, если для ГЦ не полиномиального алг., то и КМ не разрешима за полиномиальное время.
Классы P и NP Отношения классов P и NP является открытой проблемой в теории NP- полноты. Однако тот факт, что ни для одной NP-полной задачи не найдено полиномиального алгоритма, косвенно подтверждает гипотезу строгого включения PNP, т.е. PNP. NPC P NP
Задача о камнях РАЗБИЕНИЕ. («Задача о камнях»). Задано: мн. A = {a1, …, an}; вес s(ai) Z+; –четное. ли разбиение множества A на 2 подмножества одинакового веса, т.е. ли А А: = +
Алгоритм Введем • Табл. значений 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.
Псевдополиномиальные алгоритмы N(X) - maxчисло среди входных данных инд. задачи XP. Алгоритм, строящий решение задачи P, наз. псевдополиномиальным, если инд. задачи XP трудоемкость построения решения ограничена полиномом от 2 аргументов: входной длины L(X) и значения max числового параметра N(X). Инд. задача, у кот. величина N(X) ограничена полиномом от L(X), и для кот. псевдополиномиальный алг., является полиномиально разрешимой.
NP-полнота в сильном смысле Задачу PNP называют NP-полной в сильномсмысле (с.с.), если для ее решения не псевдополиномиального алгоритма. К NP-полным в с.с. проблемам относятся все NP-полные задачи без числ. параметров, а также нек. хорошо известные задачи с числ. параметрами (например, задача КМ). Задача о ранце является примером проблемы, кот. может быть решена псевдополиномиальным алг. она не является NP-полной в с.с.
NP-трудные задачи Оптимизационная (экстремальная) задача, для кот. соотв. ей ЗРС NP-полна, является NP-трудной. При решении NP-полной (трудной) проблемы часто применяют полиномиальные приближенные алг. При этом строится доп. решение, и чем оно ближе (по функционалу) к opt решению, тем оно лучше. Теория NP-полноты иногда позволяет очертить возможности приближенных алгоритмов…
Задача о ранце Теорема. Если PNP, то не полиномиального алг. 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. А(I)=(Q+1)OPT(I)=OPT(I).
Задача коммивояжёра Теорема. Если P NP, то не полиномиального алг. A решения задачи КМ с относительной погрешностью ограниченной const. Т.е. не constK: IКМ (*) Доказательство. Предположим, что const K > 0: IКМсправ. (*). Покажем, что тогда задача ГЦ полиномиально разрешима. Пусть инд. задача ГЦ задана графом G=(V, E), n=|V|. Построим инд. задачу IКМ след. образом. Пусть V – мн. городов, а расстояние: Применим алг. A к I. Если в G гам. цикл, то OPT(I)=n. В пр. сл. OPT(I)>Kn. неравенство A(I) Kn в G гам. цикл. из полиномиального алг. А, с описанными выше свойствами, полиномиальная разрешимость ГЦ…