На удовлетворительных экземплярах решатели SAT на основе DPLL будут обеспечивать удовлетворительное назначение за линейное время.пЧАСп
Чтобы понять почему, посмотрите, как кодирование CNF неудовлетворительного экземпляра с дырами и голубями синтаксически идентично экземпляру раскраски графов, где входной граф представляет собой клику из вершин.n n + 1пЧАСпNn + 1n + 1k = nn + 1
Точно так же кодирование CNF выполнимого экземпляра с дырами и голубями синтаксически идентично экземпляру раскраски графов, где входной граф представляет собой клику из вершин. n nпЧАСпNNnk = nN
Теперь раскрасить клику из вершин с помощью цветов просто: отсканируйте вершины и назначьте каждому из них один из оставшихся цветов (уже назначенные цвета автоматически исключаются кликой графа, используя распространение единиц) , Какой бы из оставшихся цветов вы ни выбрали, это будет хорошо и приведет вас к удовлетворительному заданию.нNN
С точки зрения решателя DPLL: каждый раз, когда он будет пытаться угадать логическое значение переменной , такое значение будет правильным (каким бы оно ни было), потому что, безусловно, будет удовлетворительное присваивание, в котором переменная имеет предполагаемое значение. , Распространение модулей выполнит остальную часть работы, направляя решатель вдоль удовлетворительного пути (другими словами: предотвращая угадывание неправильных значений).V Ivяvя
Поиск затем продолжается одна переменная за другой, линейно, каждый раз делая правильное предположение.