Довести, що діагностика спрямованої графіки є важкою для NP


11

У мене є домашнє завдання, яке я певний час бив головою, і буду вдячний за будь-які підказки. Йдеться про вибір відомої проблеми, NP-повнота якої доведена, а також побудова зведення від цієї проблеми до наступної проблеми, яку я називаю DGD (спрямований графік діагностики).

Проблема

Екземпляр DGD складається з вершин , спрямованих ребер та додатного цілого . Є три типи вершин: вершини, тільки входять ребра , вершини тільки з йдуть краями і вершинами з вхідним і вихідними ребрами . Нехай , крім того .V = I . виведення . B E k I O B D = O × I(V,E,k)V=I.O.BEkIOBD=O×I

Тепер проблема полягає в тому, чи можемо ми охопити всі вузли максимум елементами , тобтоDkD

SD,|S|к. vV. (v1,v2)S. v1vv2

де означає, що існує спрямований шлях від до .a bабаб


Я думаю, що проблема домінантного набору - це те, від кого я повинен зменшитись, тому що це теж стурбовано охопленням підмножини вузлів іншим підмножиною. Я спробував створити екземпляр DGD, спершу створивши два вузли для кожного елемента домінуючого набору, скопіювавши всі ребра, а потім встановив для екземпляра DGD, рівний тому, що застосовується для екземпляра DS.к

Припустимо простий екземпляр DS з вузлами , та та ребрами та . Це екземпляр так з ; домінуючий набір у цьому випадку складається лише з вузла . Скорочення за допомогою тільки що описаного методу призвело б до появи екземпляра DGD з двома шляхами та ; щоб охопити всі вузли, достатньо було б лише однієї пари . Це спрацювало б чудово, якби не той факт, що домінуючий набір DS-екземпляра, звичайно, не може бути визначений у поліноміальний час, що тут є вимогою.123(1,2)(1,3)к=11(121')(131')(1,1')

Я виявив , що є багато хороших перспективних способів перетворення краю і вершини , коли восстановителей, але моя проблема як - то висловити ДСР в з точки зору DS . Домінуючий набір здавався придатною проблемою для зменшення з, але через це я думаю, що, можливо, я повинен спробувати зменшити проблему, яка не має такого ?ккк


Ласкаво просимо! Я намагався уточнити постановку проблеми; це як ви це мали на увазі? До речі, ви можете вибрати більш впізнаване ім’я користувача, ніж "user8879". :)
Рафаель

Так, дякую, це справді більш компактна версія.
user8879

Відповіді:


9

Натомість зменшіть NP-комплект SET-COVER .

Нехай з k N - екземпляр кришки множини. Визначте екземпляр ( V , E , k ) DGD таким чином:S1,,Sм{1,,н}кN(V,Е,к')

  • V={s1,,sm,o1,,om,e1,,en,o}
  • E={(si,oi)i=1,,n}{(si,ej)jSi}{(ej,o)j=1,,n}
  • k=m+k

Неважко помітити, що сконструйований екземпляр DGD має позитивну відповідь тоді і лише тоді, коли заданий екземпляр обкладинки має позитивну відповідь. Зокрема, всі пари ( s i , o i ) повинні вибиратися незалежно від того, щоб охопити всі o i ; то k з m пар ( s i , o ) повинні охоплювати всі e j , і перші компоненти обраних рішень - це екземпляр SET-COVER. Якщо такий вибір неможливий, екземпляр SET-COVER також не має рішення.m(si,oi)oikm(si,o)ej

Оскільки конструкція можлива в поліноміальний час, це доводить SET-COVER DGD.p


Як приклад, розглянемо приклад обкладинки набору прикладів, наведений у Вікіпедії , а саме та множини S = { { 1 , 2 , 3 } , { 2 , 4 } , { 3 , 4 } , { 4 , 5 } } . Це перекладається на такий графік:{1,2,3,4,5}S={{1,2,3},{2,4},{3,4},{4,5}}

приклад
[ джерело ]


1
Це майже правильно, оскільки я і B справді повністю охоплені, але O це не так. Екземпляр набору кришок є екземпляром так для k = 2, але в екземплярі DGD k = 2 залишає s2 і s3 неприкритими. Я думаю, що це, ймовірно, можна вирішити, автоматично додаючи край від кожного вузла в O до o .
user8879

(si,o)siS

Зрозумів зараз: створіть додатковий вузол у B для кожного вузла в O , а потім зв’яжіть його з відповідним вузлом в O і to o . У цьому прикладі ви отримуєте чотири додаткові шляхи (s1 -> s1 '-> o тощо). Нарешті, після збільшення k з чотирма воно повинно бути повним.
user8879

si
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.