Проблема не має поліноміального ядра, якщо 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,x∨vi,y∨¬ui)iне є активним ". У початковому призначенні всі вершинні змінні встановлюються на хибні, а всі змінні селектора встановлюються на хибні, так що всі ці пункти задоволені. Щоб побудувати поведінку АБО у композицію, ми збільшимо формулу щоб переконатися, що задовольняюче призначення встановлює принаймні один селектор на істинне, а потім також повинен формувати вершину обкладинки вибраного графіка.ui
Щоб переконатися, що ми можемо зробити цей вибір, зберігаючи відстань фліп невеликою порівняно з кількістю входів , ми використовуємо структуру повного двійкового дерева з листям, що має висоту . Пронумеруйте листя від до і асоціюйте -й лист із змінною яка контролює, чи вхід активний чи ні. Створіть нову змінну для кожного внутрішнього вузла двійкового дерева. Для кожного внутрішнього вузла нехай його відповідна змінна буде а змінні двох її дітей - та . Додати додатокttlogt1tiuiixyz(¬x∨y∨z)до формули, яка фіксує імплікацію , примушуючи, що може бути істинним лише тоді, коли один з його дітей є істинним. Для завершення формули додайте одинарне застереження, яке говорить про те, що змінна кореневого вузла двійкового дерева повинна бути істинною. У початковому призначенні істини значення всіх змінних для внутрішніх вузлів встановлюється як false, що задовольняє всім пунктам формули, за винятком одинарного пункту, що вимагає, щоб кореневий вузол дерева мав свою змінну true.(x→(y∨z))x
Це завершує опис формули та призначення істини. Встановіть параметр задачі FLIP DISTANCE рівним , який відповідним чином обмежений для поперечної композиції. Залишається показати, що ми можемо перевернути змінні, щоб зробити формулу правдивою, якщо деякий вхідний графік має вершину кришки розміром .k′(k+logt+1)k′Gik
У зворотному напрямку, припустимо, що має вершинну кришку розміру . Установіть змінних відповідають вершинам на обкладинці, істинними, перевернувши їх. Встановіть змінну селектора на true, щоб кодувати, що вхід активовано, і переверніть змінні внутрішніх бінарних вузлів дерева на шляху аркуша до кореня до істинного. Неважко переконатися, що це задоволення: наслідки в двійковому дереві задоволені всіма, значення кореневого вузла встановлено на істинне, пункти, які перевіряють краї на залишаються задоволеними тому щоGikkkuiilogtiGi′i′≠iui′ залишається помилковим, тоді як пропозиції для графа задовольняються, оскільки для кожного краю ми встановлюємо принаймні одну кінцеву точку істинної.Gi
Для напрямку вперед, припустимо, що формулу можна задовольнити, перегортаючи щонайбільше змінних. Тоді ми повинні перевернути змінну кореневого вузла в true. Наслідки у двійковому дереві примушують те, що принаймні одна змінна селектора листа встановлена в істинному, скажімо, . Для задоволення наслідків, закодованих у двійковому дереві, всі внутрішні вузли на шляху від до кореня були встановлені в true, що становить flips. Оскільки для встановлено значення true, пропозиції, зроблені для графа , не задовольняються в прямому , тому вони задовольняються, оскільки одна з кінцевих точок кожного краюk+logt+1uiui1+logtuiGi¬uiGiвстановлено на істину. Оскільки принаймні змінні двійкового дерева були перевернуті, щонайбільше вершинних змінних перевернуто на справжнє в цьому рішенні. Це кодує кришку вершини розміром у і доводить, що один із входів є інстанцією YES. Це завершує доказ.1+logtkkGi