Поліномне ядро ​​для -FLIP SAT за формулами -CNF


10

Параметризована задача k-FLIP SAT визначається як:

Вхідні дані: формула 3-CNF з змінними та присвоєнням істини Параметр: Питання: чи можемо ми перетворити призначення в задаюче завдання для гортаючи значення істинності не більше змінних?φnσ:[n]{0,1}
k
σσφ k

Проблема чітко в FPT ( Stefan Szeider: Параметризована складність локального пошуку k-Flip для SAT та MAX SAT. Дискретна оптимізація 8 (1): 139-145 (2011) )

Чи визнає ядро ​​полінома? (за розумних припущень складності)

Останні методи перехресного складу (див. Ганс Л. Бодлендер, депутат Барта Янсен, Стефан Кратч, "Кернелізація нижніх меж перехресним складом" ) здаються невикористаними для цієї проблеми. І вони також здаються невикористаними для подібних проблем, які запитують, чи можна знайти заданий вирішення важкої для NP задачі в певному екземплярі місцевим пошуком (обмеження пошуку сусідами даного екземпляра, за допомогою певного природного вимірювання відстані).


Класно, але чому ця проблема явно FPT? Якщо ви робите це 2-CNF з точно k змінними фліпками замість максимум, тоді я вважаю, що проблема є fpt-еквівалентною k-clique. Я працював над документом, який містить деякі результати щодо точних проблем з перевіркою.
Michael Wehar

Я думаю, що сказати, що це у FPT, означає, що це вирішимо у час. f(k)nO(1)
Майкл Вехар

Я думаю, що сказати, що це в XP означає, що це вирішимо за час. nf(k)
Майкл Вехар

Я не знаю зв’язку між проблемою точного-k-flip та проблемою atmost-k-flip. Я спочатку думав, що ти говориш, що проблема atmost-k-flip легша в тому сенсі, що atmost-k-flip - це FPT. Я кажу простіше, тому що точний-k-flip не може бути FPT, якщо ETH неправдивий. Причина цього полягає в тому, що він еквівалентний k-clique і відомо, що алгоритми часу для k-кліки означають, що ETH помилковий. f(k)nO(1)
Майкл Вехар

1
@MichaelWehar: ops, ти маєш рацію (я видаляю невірний коментар дурня), питання потрібно відполірувати (я визначив проблему як "максимум k FLIPS"). Якнайшвидше я погляну на статті (однією з них має бути Стефан Шейдер, "Параметризована складність локального пошуку k-Flip для SAT і MAX SAT"), в якій сказано, що k-FLIP SAT - це FPT для пропозицій із обмеженим розміром.
Марціо Де Біасі

Відповіді:


12

Проблема не має поліноміального ядра, якщо NP не знаходиться в coNP / poly. Техніка перехресної композиції з нашої роботи застосовується нетривіально.

Дозвольте мені показати, як класична проблема вершинного покриття OR-крос-композиція перетворюється на проблему k-FLIP-SAT; за результатами цитованої роботи цього достатньо. Конкретніше, ми будуємо алгоритм поліноміального часу, вхідним якого є послідовність екземплярів вершинного покриття які всі мають однакове значення і всі мають точно вершин. Вихід - це екземпляр -FLIP SAT зі значенням параметра , яке є достатньо малим для перехресної композиції, так що екземпляр -FLIP SAT має відповідь "так", якщо один із входів графіки мають вершинну кришку розміром(G1,k),(G2,k),,(Gt,k)knkO(k+logt)kk. Дублюючи один вхід (що не змінює значення АБО), ми можемо переконатися, що кількість входів є потужністю два.t

Склад протікає наступним чином. вершини у графі кожного вхідного графіка як . Зробіть відповідну змінну в екземплярі FLIP-SAT для кожної вершини кожного вхідного графіка. Додатково зробіть змінну селектора для кожного номера вхідного екземпляра . Для кожного вхідного графіка до формули додаємо деякі пропозиції. Для кожного ребра графа , додати пункт до формула, яка буде кодувати "або одна з кінцевих точок цього краю встановлена ​​в true, або екземплярGivi,1,vi,2,,vi,nuii[t]Gi{vi,x,vi,y}Gi(vi,xvi,y¬ui)iне є активним ". У початковому призначенні всі вершинні змінні встановлюються на хибні, а всі змінні селектора встановлюються на хибні, так що всі ці пункти задоволені. Щоб побудувати поведінку АБО у композицію, ми збільшимо формулу щоб переконатися, що задовольняюче призначення встановлює принаймні один селектор на істинне, а потім також повинен формувати вершину обкладинки вибраного графіка.ui

Щоб переконатися, що ми можемо зробити цей вибір, зберігаючи відстань фліп невеликою порівняно з кількістю входів , ми використовуємо структуру повного двійкового дерева з листям, що має висоту . Пронумеруйте листя від до і асоціюйте -й лист із змінною яка контролює, чи вхід активний чи ні. Створіть нову змінну для кожного внутрішнього вузла двійкового дерева. Для кожного внутрішнього вузла нехай його відповідна змінна буде а змінні двох її дітей - та . Додати додатокttlogt1tiuiixyz(¬xyz)до формули, яка фіксує імплікацію , примушуючи, що може бути істинним лише тоді, коли один з його дітей є істинним. Для завершення формули додайте одинарне застереження, яке говорить про те, що змінна кореневого вузла двійкового дерева повинна бути істинною. У початковому призначенні істини значення всіх змінних для внутрішніх вузлів встановлюється як false, що задовольняє всім пунктам формули, за винятком одинарного пункту, що вимагає, щоб кореневий вузол дерева мав свою змінну true.(x(yz))x

Це завершує опис формули та призначення істини. Встановіть параметр задачі FLIP DISTANCE рівним , який відповідним чином обмежений для поперечної композиції. Залишається показати, що ми можемо перевернути змінні, щоб зробити формулу правдивою, якщо деякий вхідний графік має вершину кришки розміром .k(k+logt+1)kGik

У зворотному напрямку, припустимо, що має вершинну кришку розміру . Установіть змінних відповідають вершинам на обкладинці, істинними, перевернувши їх. Встановіть змінну селектора на true, щоб кодувати, що вхід активовано, і переверніть змінні внутрішніх бінарних вузлів дерева на шляху аркуша до кореня до істинного. Неважко переконатися, що це задоволення: наслідки в двійковому дереві задоволені всіма, значення кореневого вузла встановлено на істинне, пункти, які перевіряють краї на залишаються задоволеними тому щоGikkkuiilogtiGiiiui залишається помилковим, тоді як пропозиції для графа задовольняються, оскільки для кожного краю ми встановлюємо принаймні одну кінцеву точку істинної.Gi

Для напрямку вперед, припустимо, що формулу можна задовольнити, перегортаючи щонайбільше змінних. Тоді ми повинні перевернути змінну кореневого вузла в true. Наслідки у двійковому дереві примушують те, що принаймні одна змінна селектора листа встановлена ​​в істинному, скажімо, . Для задоволення наслідків, закодованих у двійковому дереві, всі внутрішні вузли на шляху від до кореня були встановлені в true, що становить flips. Оскільки для встановлено значення true, пропозиції, зроблені для графа , не задовольняються в прямому , тому вони задовольняються, оскільки одна з кінцевих точок кожного краюk+logt+1uiui1+logtuiGi¬uiGiвстановлено на істину. Оскільки принаймні змінні двійкового дерева були перевернуті, щонайбільше вершинних змінних перевернуто на справжнє в цьому рішенні. Це кодує кришку вершини розміром у і доводить, що один із входів є інстанцією YES. Це завершує доказ.1+logtkkGi


1
Цей документ дає сильніші наслідки від такого стиснення.

Дякую!!! (Я негайно видалив "та ін." З посилання ;-). Чудовий доказ (IMO ви повинні опублікувати його в документі).
Марціо Де Біасі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.