stringtranslate.com

Проблема выполнимости схемы

Схема слева выполнима, а схема справа — нет.

В теоретической информатике проблема выполнимости схемы ( также известная как CIRCUIT-SAT , CircuitSAT , CSAT и т. д.) — это проблема принятия решения о том, имеет ли данная булева схема назначение входов, которое делает выход истинным. [1] Другими словами, она спрашивает, могут ли входы данной булевой схемы быть последовательно установлены в 1 или 0 так, чтобы схема выдавала 1. Если это так, схема называется выполнимой . В противном случае схема называется невыполнимой. На рисунке справа левая схема может быть удовлетворена, установив оба входа равными 1 , но правая схема невыполнима.

CircuitSAT тесно связана с задачей булевой выполнимости (SAT) и, как было доказано, является NP-полной . [2] Это прототипическая NP-полная задача; теорема Кука–Левина иногда доказывается на CircuitSAT вместо SAT, и тогда CircuitSAT можно свести к другим задачам выполнимости, чтобы доказать их NP-полноту. [1] [3] Выполнимость схемы, содержащей произвольные двоичные вентили, может быть определена со временем . [4]

Доказательство NP-полноты

При наличии схемы и удовлетворяющего набора входов можно вычислить выход каждого вентиля за постоянное время. Следовательно, выход схемы проверяем за полиномиальное время. Таким образом, Circuit SAT принадлежит к классу сложности NP. Чтобы показать NP-трудность , можно построить сокращение от 3SAT до Circuit SAT.

Предположим, что исходная формула 3SAT имеет переменные и операторы (AND, OR, NOT) . Разработайте схему так, чтобы она имела вход, соответствующий каждой переменной, и вентиль, соответствующий каждому оператору. Соедините вентили в соответствии с формулой 3SAT. Например, если формула 3SAT — схема будет иметь 3 входа, один вентиль AND, один вентиль OR и один вентиль NOT. Вход, соответствующий будет инвертирован перед отправкой на вентиль AND с помощью , а выход вентиля AND будет отправлен на вентиль OR с помощью

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

Это завершает доказательство того, что схема SAT является NP-полной.

Ограниченные варианты и связанные с ними проблемы

Плоская схема SAT

Предположим, что нам дана планарная булева схема (т. е. булева схема, базовый граф которой является планарным ), содержащая только вентили NAND с ровно двумя входами. Плоская схема SAT — это задача принятия решения о том, имеет ли эта схема назначение входов, которое делает выход истинным. Эта задача является NP-полной. Более того, если ограничения изменяются так, что любой вентиль в схеме становится вентилем NOR , то результирующая задача остается NP-полной. [5]

Цепь UNSAT

Circuit UNSAT — это задача принятия решения о том, выдает ли данная булева схема false для всех возможных назначений ее входов. Это дополнение к задаче Circuit SAT, и поэтому является Co-NP-полной .

Скидка от CircuitSAT

Сокращение от CircuitSAT или его вариантов может быть использовано для демонстрации NP-трудности некоторых проблем и предоставляет нам альтернативу сокращениям с двойными шинами и двоичной логикой. Гаджеты, которые необходимо построить для такого сокращения, следующие:

Проблема вывода сапёра

В этой задаче спрашивается, возможно ли обнаружить все бомбы, имея доску Minesweeper . Было доказано, что она является CoNP-полной с помощью сокращения из задачи Circuit UNSAT. [6] Гаджеты, построенные для этого сокращения, это: провод, разделение, вентили AND и NOT и терминатор. [7] Есть три важных замечания относительно этих гаджетов. Во-первых, раздельный гаджет также может использоваться как гаджет NOT и гаджет turn. Во-вторых, достаточно построить гаджеты AND и NOT, потому что вместе они могут имитировать универсальный вентиль NAND. Наконец, поскольку три NAND могут быть составлены без пересечений для реализации XOR, и поскольку XOR достаточно для построения кроссовера, [8] это дает нам необходимый гаджет кроссовера.

Преобразование Цейтина

Преобразование Цейтина представляет собой прямое сокращение от Circuit-SAT до SAT . Преобразование легко описать, если схема полностью построена из 2-входовых вентилей NAND ( функционально полный набор булевых операторов): назначим каждой сети в схеме переменную, затем для каждого вентиля NAND построим предложения конъюнктивной нормальной формы ( v 1v 3 ) ∧ ( v 2v 3 ) ∧ (¬ v 1 ∨ ¬ v 2 ∨ ¬ v 3 ), где v 1 и v 2 являются входами вентиля NAND, а v 3 является выходом. Эти предложения полностью описывают связь между тремя переменными. Объединение предложений из всех вентилей с дополнительным предложением, ограничивающим выходную переменную схемы, чтобы она была истинной, завершает сокращение; назначение переменных, удовлетворяющее всем ограничениям, существует тогда и только тогда, когда исходная схема выполнима, и любое решение является решением исходной задачи нахождения входов, которые делают выход схемы равным 1. [1] [9] Обратное утверждение — что SAT сводится к Circuit-SAT — следует тривиально, если переписать булеву формулу в виде схемы и решить ее.

Смотрите также

Ссылки

  1. ^ abc Дэвид Микс Баррингтон и Алексис Масиэль (5 июля 2000 г.). "Лекция 7: NP-полные задачи" (PDF) .
  2. ^ Luca Trevisan (29 ноября 2001 г.). "Notes for Lecture 23: NP-completeness of Circuit-SAT" (PDF) . Архивировано из оригинала (PDF) 26 декабря 2011 г. . Получено 4 февраля 2012 г. .
  3. ^ См. также, например, неформальное доказательство, приведенное в конспектах лекций Скотта Ааронсона из его курса «Квантовые вычисления со времен Демокрита» .
  4. Сергей Нурк (1 декабря 2009 г.). «Верхняя граница O(2^{0.4058m} для Circuit SAT».
  5. ^ «Алгоритмические нижние границы: развлечения с доказательствами сложности в Массачусетском технологическом институте» (PDF) .
  6. ^ Скотт, Аллан; Стеге, Ульрике; ван Рой, Айрис (01.12.2011). «Minesweeper May Not Be NP-Complete but Is Hard Nonetheless». The Mathematical Intelligencer . 33 (4): 5–17. doi :10.1007/s00283-011-9256-x. ISSN  1866-7414. S2CID  122506352.
  7. ^ Кей, Ричард (март 2000 г.). «Minesweeper is NP-complete» (PDF) . The Mathematical Intelligencer . 22 (2): 9–15. doi :10.1007/BF03025367. S2CID  122435790.
  8. ^ см . Файл:Crossover xor.gif и Файл:Crossover nand.pdf
  9. ^ Marques-Silva, João P. и Luís Guerra e Silva (1999). "Алгоритмы выполнимости в комбинационных схемах на основе поиска с возвратом и рекурсивного обучения" (PDF) . Архивировано из оригинала (PDF) 2022-07-02.