Как доказать, что ограниченная версия 3SAT, в которой никакие литералы не могут встречаться более одного раза, разрешима за полиномиальное время?

10

Я пытаюсь разработать задание (взятое из книги « Алгоритмы» С. Дасгупты, К. Х. Пападимитриу и У. В. Вазирани , глава 8, проблема 8.6а), и я перефразирую то, что в нем говорится:

Учитывая, что 3SAT остается NP-завершенным, даже если он ограничен формулами, в которых каждый литерал появляется не более двух раз, покажите, что если каждый литерал появляется не более одного раза, то проблема разрешима за полиномиальное время.

Я попытался решить эту проблему, разделив предложения на несколько групп:

  1. Пункты, которые не имеют никакой общей переменной с остальными пунктами
  2. Пункты, которые имели только одну общую переменную
  3. Пункты, которые имели 2 общие переменные
  4. Пункты, которые имели все 3 переменные вместе

Мои рассуждения были предприняты в том же духе, что число таких групп конечно (из-за наложенного ограничения на отсутствие литерала более одного раза), и мы могли бы сначала попытаться удовлетворить наиболее ограниченную группу (группа 4), а затем заменить в результате я получил меньшие ограниченные группы (3, 2, а затем 1), но я понял, что это никуда меня не привело, так как это мало чем отличается от случая с ограниченной версией 3SAT, в которой может появляться каждый литерал максимум дважды, что доказано как NP-полный.

Я пытался найти в Интернете какие-либо подсказки / решения, но все, что я мог получить, это ссылка , в которой указанная подсказка не имела для меня достаточного смысла, которую я дословно воспроизвожу здесь:

Подсказка: Поскольку каждый буквальные появляется более одного раза, превратить эту проблему в проблему 2SAT - значит , полиномиальное время, если буквальный появляюсь в пункте C J и дополнение х я (т.е. ¯ х я ) в пункте C к , построить новый пункт пункт C J¯ С к .ИксяСJИксяИкся¯СКСJСК¯

Оба и C к трем литералов каждый - я не понимаю , как я должен идти о преобразовании его в 2SAT, делая C J¯ C K (или ¯ C JC K , если я прочитал это неправильно).СJСКСJСК¯СJСК¯

Буду очень признателен за любую помощь в расшифровке подсказки или в поиске пути, который я смогу исследовать.

TCSGrad
источник

Ответы:

12

Без ограничения общности можно предположить, что каждая переменная появляется ровно один раз положительно и ровно один раз отрицательно (если переменная появляется только один раз, задайте ее значение, чтобы удовлетворить предложению и удалить предложение). Мы также можем предположить, что переменная не появляется в предложении более одного раза (если переменная появляется в предложении как положительно, так и отрицательно, предложение удовлетворяется и может быть удалено). Это не изменит удовлетворенности.

Теперь используйте правило разрешения, чтобы исключить переменные одну за другой (поскольку каждая переменная появляется ровно один раз положительно, а один раз отрицательно - это детерминированный процесс). Если в какой-то момент мы получим пустое предложение, то множество предложений будет неудовлетворительным, в противном случае оно выполнимо. Это потому что:

  • разрешение - это полная система доказательства предложения (т. е. если предложение логически подразумевается набором предложений, то оно выводится из набора предложений с использованием только правила разрешения),

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

(ИксВ)(Икс¯С)...)(ВС)..., который имеет на один пункт меньше, чем до резолюции. Напротив, если вы применили это к формуле 3SAT без ограничения количества появлений каждого литерала, применение разрешения может привести к экспоненциальному увеличению числа предложений.

Кава
источник
3
aВ¬aСВС
1
Также необходимо убедиться, что инвариант все еще применяется после использования разрешения. После этого шага экземпляр SAT (обратите внимание, он больше не является 3SAT) сохраняет свойство, что каждый литерал встречается ровно один раз положительно и один раз отрицательно. Это также показывает, что ограничение 3SAT в вопросе не было необходимости; единичное разрешение работает для любого экземпляра SAT, удовлетворяющего ограничению степени 2. Вкратце: единичное разрешение решает SAT степени-2 за линейное время.
Андрас Саламон
Я не понимаю последнюю часть. Почему пункты будут увеличиваться экспоненциально в обычном 3SAT?
Парт