Складність топологічного сортування із обмеженими положеннями


15

Мені дано як вхід DAG G з n вершин, де кожна вершина x додатково позначена деяким S(x){1,,n} .

Топологічний різновид G - бієкція f від вершин G до {1,,n} така, що для всіх x , y , якщо в G є шлях від x до тоді f ( x ) f ( y ) . Я хочу вирішити, чи існує топологічний різновид G такий, що для всіх x , f ( x ) S ( xyGf(x)f(y)Gxf(x)S(x) .

У чому складність цієї проблеми рішення?

[Примітки: Зрозуміло, це в НП. Якщо ви подивитеся на графік дозволених пар вершин / позицій, з непрямими краями між парами, які конфліктують через те, що вони порушують порядок, ви отримаєте графік невід'ємних кліків, де ви хочете вибрати максимум одну пару на кліку, максимум одну пару на кожну позиція і щонайбільше одна пара на вершину - це здається пов'язаним із тривимірним узгодженням, але я не можу зрозуміти, чи все ще важко з додатковою структурою цієї конкретної проблеми.]

Відповіді:


9

Я думаю, що ця проблема є надзвичайно важкою. Я намагаюся накреслити зменшення від MinSAT. У проблемі MinSAT нам надається CNF, і наша мета - мінімізувати кількість задоволених пропозицій. Ця проблема є важкою для NP, див., Наприклад, http://epubs.siam.org/doi/abs/10.1137/S0895480191220836?journalCode=sjdmec

Розділіть вершини на дві групи - одні представлятимуть буквальні, інші - так, де v - кількість змінних CNF (звичайно позначається n ), а c - кількість пропозицій. Напряміть край від кожної буквальної вершини до вершини пропозиції, де вона відбувається. Визначте S для прямолінійної вершини, яка представляє x i як { i , i + v + k } = i і f ( ˉ x i ) = in=2v+cvncSxi{i,i+v+k} (де - довільний параметр), тому або f ( x i )kf(xi)=i або f ( ˉ x i ) = i і f ( x i ) = i + v + k . Для кожного пункту-вершини нехай S = { v + 1 , , v + k , 2 v + k + 1 , f(x¯i)=i+v+kf(x¯i)=if(xi)=i+v+k , так k клаузових вершин є `` малими ''.S={v+1,,v+k,2v+k+1,,n}k

Тепер CNF має завдання, де принаймні пункти є хибними тоді і лише тоді, коли вашу проблему можна вирішити для вищевказаного примірника. Проблема MinSAT полягає саме в тому, щоб перевірити, чи має формула CNF φ призначення, що робить принаймні k пункти помилковими, тому це показує, що ваша проблема є NP-жорсткою.kφk

Щоб зрозуміти це зменшення, ось інтуїція: маленькі мітки ( ) відповідають значенню істини False, а великі мітки ( v + k + 1 , , 2 v + k ) відповідають Правда. Обмеження для буквально-вершин забезпечують, що кожне x i є істинним, або хибним, і ¯ x i1,2,,v+kv+k+1,,2v+kxixi¯має протилежне значення істини. Краї гарантують, що якщо будь-який літерал є Істинним, то всі пункти-вершини, що містять його, також присвоюються True. (На відміну від цього, якщо всі літерали в пункті присвоєні False, то ця структура графа дозволяє присвоїти вершині clause або False або True. Нарешті, вибір гарантує, що k для вершин clause буде присвоєно False та c - k з них присвоєно True. Отже, якщо є дійсний топологічний сорт цього графіка, то присвоюється змінним, що складає принаймні k із пунктів φkkckkφfalse (усі пункти-вершини, яким було присвоєно False, плюс, можливо, деякі з них, яким було призначено True). І навпаки, якщо є присвоєння змінним, що робить принаймні застереженнями φ помилковими, то існує дійсний топологічний вид цього графа (ми заповнюємо мітки для прямолінійних вершин очевидним чином; і для кожне застереження φ, що є істинним, ми надаємо його відповідній вершині пропозицій мітку, яка відповідає True; інші вершини пропозицій можуть отримувати мітки, що відповідають умовному значенню істини).kφφ


Дякую за вашу відповідь! Я намагаюся зрозуміти твій ескіз. Ви не проти пояснити, що таке ? k
a3nm

1
@ a3nm: k - параметр, який задається для входу MinSAT.
домоторп

1
@Marzio: SAT не еквівалентний MinSAT з , як і в останній проблемі, ми вимагаємо, щоб усі пропозиції були помилковими. У вашого ϕ не вказано помилкове призначення всіх пунктів. Звичайно, це не доводить, що моє зменшення є правильним ...k=|c|ϕ
domotorp

Це чудове скорочення! @ a3nm, я запропонував редагувати відповідь, щоб більш детально пояснити елегантне скорочення domotorp; якщо його буде схвалено, сподіваємось, це допоможе зрозуміти ідеї більш чітко.
DW

@domotorp: ви праві, я повністю пропустив, що таке MinSAT. Приємне зменшення !!!
Марціо Де Біасі

2

Зауважте, що якщо ви розслабите проблему, дозволяючи бути довільним (не обов'язково біективним), воно стає багаточленом. Алгоритм протікає аналогічно топологічному сортуванню: ви нумеруєте вершини одна за одною, зберігаючи набір U ненумерованих вершин, внутрішні сусіди яких пронумеровані. Коли це можливо, ви вибираєте вершину x U і нумеруєте її найменшим елементом S ( x ), більшим, ніж числа його сусідів. Не важко побачити, що екземпляр ( G , S ) має рішення, якщо попередній алгоритм запускається ( S )fUxUS(x)(G,S)(G,S) закінчується усіма вершинами, пронумерованими.


Справедливо кажучи, ця релаксація означає, що жадібна евристика працює, і це навіть у тому випадку, коли - не кількість вершин, а довільне значення. Чи погоджуємось ми з тим, що в останньому випадку, коли інжективність та сюрєктивність вже не є рівнозначними, вам потрібно буде розслабитися як (а не лише один), щоб жадібний евристик працював? n
a3nm

2

Тривіальне спостереження - це якщо для всіх x , тоді ця задача вирішується в поліноміальний час шляхом зменшення до 2SAT.|S(x)|2x

Ось як. Введіть змінну для кожної вершини x і кожної i такою, що i S ( x ) . Для кожної пари x , y вершин, якщо є шлях від x до y , ми отримуємо деякі обмеження: якщо i S ( x ) , j S ( y ) і i > j , то отримуємо обмеження ¬ v x , ivx,ixiiS(x)x,yxyiS(x)jS(y)i>j . Білогічність дає нам ще один набір обмежень: для кожної пари x , y вершин з x y , якщо i S ( x ) та i S ( y ) , додаємо ¬ v x , i¬ v y , i . Нарешті, вимога, що кожній вершині має бути присвоєна мітка, дає нам ще один набір обмежень: для кожного x , якщо S (¬vx,i¬vy,jx,yxyiS(x)iS(y)¬vx,i¬vy,ix , отримуємо обмеження v x , iv x , j . (Зверніть увагу, що лише останній набір обмежень використовує обіцянку, що | S ( x ) |2 для кожного x .)S(x)={i,j}vx,ivx,j|S(x)|2x

Я розумію, що це спостереження не допоможе тобі у вашій конкретній ситуації. Вибач за це.

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