Я намагаюся розробити завдання (взято з книги « Алгоритми - С. Дасгупта, CH Пападімітріу та УФ Вазірані , гл. 8, проблема 8.6а), і я перефразовуючи те, що в ньому йдеться:
Зважаючи на те, що 3SAT залишається NP-повним навіть тоді, коли обмежується формулами, в яких кожен літерал з’являється максимум двічі, покажіть, що якщо кожен літерал з’являється максимум одночасно, то проблема вирішується в поліноміальний час.
Я спробував це вирішити, розділивши пропозиції на кілька груп:
- Статті, які не мали спільної змінної з рештою пунктів
- Статті, які мали лише 1 змінну
- Статті, які мали дві загальні змінні
- Статті, у яких були всі 3 змінні
Мої міркування намагалися зробити так, що # таких груп є кінцевим (через нав'язане обмеження, що жодне буквальне слово не присутнє більше одного разу), і ми могли б спробувати спочатку задовольнити найбільш обмежену групу (група 4), а потім замінити приводять до менш обмежених груп (3, 2 і потім 1), але я зрозумів, що мене це ніде не сприймає, оскільки це не сильно відрізняється від випадку для обмеженої версії 3SAT, в якій може з'являтися кожен літерал максимум удвічі, що було доведено як повне NP.
Я намагався шукати в Інтернеті будь-які підказки / рішення, але все, що я міг отримати, - це посилання , в якому викладений натяк не мав для мене достатнього сенсу, який я відтворюю дослівно тут:
Підказка: Оскільки кожен буквальні з'являється більше одного разу, перетворити цю проблему в проблему 2SAT - значить , поліноміальний час, якщо буквальний з'являється в пункті і комплемент (тобто ) в пункті , побудувати новий пункт пункт .
Обидва і три литералов кожен - я не розумію , як я повинен йти про перетворення його в 2SAT роблячи (або , якщо я прочитав це неправильно).
Буде дуже вдячна будь-яка допомога в розшифровці підказки або в наданні шляху, який я можу дослідити.