Простыми словами
Любую задачу из класса NP можно за полиномиальное время преобразовать в задачу выполнимости булевой формулы. Поэтому быстрый общий алгоритм для SAT дал бы быстрые алгоритмы для всех задач NP. Это не означает, что каждый конкретный экземпляр SAT труден, - многие практические случаи решаются быстро.
Формальное определение
Булева выполнимость SAT принадлежит NP и является NP-трудной относительно полиномиальных сведений; следовательно, SAT NP-полна.
Механизм действия
Вычисление недетерминированной машины кодируют булевыми переменными и ограничениями, описывающими состояние, переходы и принятие. Формула выполнима тогда и только тогда, когда существует принимающее вычисление.
Пример в работе
Решение принимают без учета механизма «Теорема Кука-Левина», оценивая только ближайший эффект.
Перед изменением проверяют, как «Теорема Кука-Левина» влияет на ограничения, стимулы, зависимости и вторичные последствия.
Ограничения
NP-полнота SAT относится к полиномиальным сведениям и худшему случаю; она не утверждает, что каждое практическое SAT-задание трудно.
Источник
Stephen A. Cook, “The Complexity of Theorem-Proving Procedures”, 1971.