SYSTEM ATLASЗагрузка материала

Теорема Кука-Левина

Cook–Levin Theorem

SAT является NP-полной задачей.

Простыми словами

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

Формальное определение

Булева выполнимость SAT принадлежит NP и является NP-трудной относительно полиномиальных сведений; следовательно, SAT NP-полна.

Механизм действия

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

Пример в работе

Нерабочий подход

Решение принимают без учета механизма «Теорема Кука-Левина», оценивая только ближайший эффект.

Системный подход

Перед изменением проверяют, как «Теорема Кука-Левина» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

NP-полнота SAT относится к полиномиальным сведениям и худшему случаю; она не утверждает, что каждое практическое SAT-задание трудно.

Источник

Stephen A. Cook, “The Complexity of Theorem-Proving Procedures”, 1971.

Первоисточник