3-cnf-sat с неожиданным вопросом

Если вы измените задачу 3-cnf-sat следующим образом:
Для каждого ci, ci = -xi1 ИЛИ -xi2 ИЛИ xi3 означает, что ровно одна из переменных появляется без отрицания.
Вам также присваиваются значения (0 или 1) для некоторых (или всех ) из x.
Вы должны быть в состоянии решить задачу (найти значения x, которые удовлетворяют задаче или доказывают ее невыполнимость) за полиномиальное время.

  1. Какой алгоритм с полиномиальным временем выполнения решает эту задачу?
  2. Докажите, что оно выполняется за полиномиальное время.

Подсказка: покажите, что ci = -xi1 ИЛИ -xi2 ИЛИ xi3 равно к c = (xi1 AND -xi2) -> xi3


person Madcapslaugh    schedule 09.06.2010    source источник
comment
Этот вопрос был бы идеальным для предстоящего обмена стеками информатики. Итак, если вы хотите иметь место для вопросов, подобных этому, пожалуйста, помогите этому предложению взлететь!   -  person Raphael    schedule 03.12.2011


Ответы (1)


Формулы, которые вы описываете, являются подмножеством формул Хорна. Таким образом, проблема выполнимости не сложнее, чем выполнимость Хорна, и допускает такое же решение с линейным временем.

person Kyle Jones    schedule 03.01.2012