Як довести, що обмежена версія 3SAT, в якій жоден літерал не може виникати більше одного разу, вирішується в поліноміальний час?


10

Я намагаюся розробити завдання (взято з книги « Алгоритми - С. Дасгупта, CH Пападімітріу та УФ Вазірані , гл. 8, проблема 8.6а), і я перефразовуючи те, що в ньому йдеться:

Зважаючи на те, що 3SAT залишається NP-повним навіть тоді, коли обмежується формулами, в яких кожен літерал з’являється максимум двічі, покажіть, що якщо кожен літерал з’являється максимум одночасно, то проблема вирішується в поліноміальний час.

Я спробував це вирішити, розділивши пропозиції на кілька груп:

  1. Статті, які не мали спільної змінної з рештою пунктів
  2. Статті, які мали лише 1 змінну
  3. Статті, які мали дві загальні змінні
  4. Статті, у яких були всі 3 змінні

Мої міркування намагалися зробити так, що # таких груп є кінцевим (через нав'язане обмеження, що жодне буквальне слово не присутнє більше одного разу), і ми могли б спробувати спочатку задовольнити найбільш обмежену групу (група 4), а потім замінити приводять до менш обмежених груп (3, 2 і потім 1), але я зрозумів, що мене це ніде не сприймає, оскільки це не сильно відрізняється від випадку для обмеженої версії 3SAT, в якій може з'являтися кожен літерал максимум удвічі, що було доведено як повне NP.

Я намагався шукати в Інтернеті будь-які підказки / рішення, але все, що я міг отримати, - це посилання , в якому викладений натяк не мав для мене достатнього сенсу, який я відтворюю дослівно тут:

Підказка: Оскільки кожен буквальні з'являється більше одного разу, перетворити цю проблему в проблему 2SAT - значить , поліноміальний час, якщо буквальний з'являється в пункті і комплемент (тобто ) в пункті , побудувати новий пункт пункт .xiCjxixi¯CkCjCk¯

Обидва і три литералов кожен - я не розумію , як я повинен йти про перетворення його в 2SAT роблячи (або , якщо я прочитав це неправильно).CjCkCjCk¯CjCk¯

Буде дуже вдячна будь-яка допомога в розшифровці підказки або в наданні шляху, який я можу дослідити.

Відповіді:


12

Не втрачаючи загальності, можна припустити, що кожна змінна відображається рівно один раз позитивно і рівно один раз негативно (якщо змінна відображається лише один раз, встановіть її значення для задоволення пункту та видалення пункту). Можна також припустити, що змінна не з’являється в пункті більше одного разу (якщо змінна відображається як позитивно, так і негативно в пункті, тоді ця пропозиція задоволена і може бути видалена). Це не змінить задоволеності.

Тепер використовуйте правило роздільної здатності для усунення змінних по черзі (оскільки кожна змінна з'являється рівно один раз позитивно, а один раз негативно, це детермінований процес). Якщо в будь-який момент ми отримаємо порожнє застереження, то набір пропозицій є незадовільним, інакше він задоволений. Це відбувається тому:

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

  • набір пунктів незадовільний, якщо це логічно передбачає порожнє застереження.

Цей алгоритм займе багаточлен, оскільки кожна змінна розв’язана рівно один раз. Зокрема, кожне застосування резолюції зменшить загальну кількість пунктів на одиницю, тому кількість пунктів не збільшується. Наприклад, застосувавши роздільну здатність до вийде , що має менше застережень, ніж до роздільної здатності. На противагу цьому, якщо ви застосували це до формули 3SAT без обмеження кількості виступів кожного літералу, застосування роздільної здатності може призвести до збільшення кількості пропозицій в експоненціальному збільшенні.(xB)(x¯C))(BC)


3
Резюме вікіпедії статті: і означає . (Гаразд, не дуже резюме.)aB¬aCBC
rgrig

1
Також потрібно переконатися, що інваріант все ще застосовується після використання резолюції. Після цього кроку екземпляр SAT (зауважте, це вже не 3SAT) зберігає властивість, що кожен літерал виникає точно один раз позитивно і один раз негативно. Це також показує, що обмеження 3SAT у питанні не було необхідним; роздільна здатність блоку працює для будь-якого екземпляра SAT, що задовольняє обмеження ступеня 2. Якщо коротко: роздільна роздільна здатність вирішує ступінь 2 SAT за лінійним часом.
Андрас Саламон

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