Я думаю, що ця проблема є надзвичайно важкою. Я намагаюся накреслити зменшення від 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 із пунктів φkkc−kkφfalse (усі пункти-вершини, яким було присвоєно False, плюс, можливо, деякі з них, яким було призначено True). І навпаки, якщо є присвоєння змінним, що робить принаймні застереженнями φ помилковими, то існує дійсний топологічний вид цього графа (ми заповнюємо мітки для прямолінійних вершин очевидним чином; і для кожне застереження φ, що є істинним, ми надаємо його відповідній вершині пропозицій мітку, яка відповідає True; інші вершини пропозицій можуть отримувати мітки, що відповідають умовному значенню істини).kφφ