Вот еще одно интуитивное и простенькое объяснение в соответствии с ответом М.Гвинн.
С -SAT вы можете выразить только значения вида , где и - литералы. Точнее, каждый пункт можно понимать как пару значений: и . Если установить истинно, должно быть истинным , а также. Если вы установите в false, должно быть false. Такие последствия просты: нет выбора, у вас есть только2a⇒bab2l1∨l2¬l1⇒l2¬l2⇒l1abba1Возможно, нет места для умножения регистра. Вы можете просто проследить каждую возможную цепочку импликации и посмотреть, извлекаете ли вы когда-либо из и из : если вы делаете для некоторого , то формула 2-SAT неудовлетворительная, в противном случае она выполнима. Это тот случай, когда число возможных цепочек импликации ограничено полиномиальным размером входной формулы.¬lll¬ll
С помощью -SAT вы можете выразить значения в виде , где , и - литералы. Теперь вы в беде: если вы установите истину, то либо или должно быть истинными, но один? Вы должны сделать выбор: у вас есть 2 возможности. Вот где становится возможным умножение падежа и где возникает комбинаторный взрыв.3a⇒b∨cabcabc
Другими словами, -SAT способен выразить наличие более чем одной возможности, в то время как -SAT не имеет такой возможности. Именно такое наличие более чем одной возможности ( возможности в случае -SAT, возможностей в случае -SAT) вызывает типичный комбинаторный взрыв NP-полных задач.3223k−1k