Ta dalsza odpowiedź ma stanowić informację zwrotną do komentarza dividebyzero do mojej poprzedniej odpowiedzi.
Jak mówi dividebyzero, z pewnością prawdą jest, że CNF i DNF są dwiema stronami tej samej monety.
Kiedy musisz znaleźć satysfakcjonujące zadanie, DNF jest jawne, ponieważ w sposób oczywisty pokazuje ci swoje zadowalające zadania (satysfakcja DNF należy do ), podczas gdy CNF jest niejawna, ponieważ owija się i zwija, aby ukryć swoje zadowalające zadania przed twoimi oczami (satysfakcja CNF wynosi N P - c o m p l e t e ). Nie znamy żadnej procedury, która byłaby w stanie rozpakować i rozwinąć dowolną formułę CNF w jakąś równoważną formułę DNF, która nie ma wykładniczego rozmiaru. To był punkt mojej poprzedniej odpowiedzi (której przykład miał na celu pokazanie gwałtownego wybuchu, chociaż wprawdzie taki przykład nie był najlepszym możliwym wyborem).PNP−complete
PNP−complete ). Nie znamy żadnej procedury, która byłaby w stanie rozpakować i rozwinąć dowolną formułę DNF w jakąś równoważną formułę CNF, która nie ma wykładniczego rozmiaru.
Na jednym krańcu mamy sprzeczności, tj. Niezadowalające formuły. Na przeciwległym krańcu mamy Tautologie, czyli formuły niefalsyfikowalne. W środku mamy formuły, które są zarówno satysfakcjonujące, jak i falsyfikowalne.
nk2n−k przypisań fałszujących.
nk2n−k spełniających przypisania.
Formuła CNF bez klauzul jest tautologią, ponieważ nie ma żadnego przypisania fałszującego. Formuła CNF zawierająca pustą klauzulę (która obejmuje każdą inną klauzulę) jest sprzecznością, ponieważ pusta klauzula (która mak = 0) wskazuje, że wszystkie 2)nzadania są sfałszowane. Każda inna formuła CNF jest Sprzecznością lub jedną z tych formuł w środku (i tak jestNP−complete to distinguish between these 2 cases).
A DNF formula without terms is a Contradiction, because it does not have any satisfying assignment. A DNF formula containing the empty term (which subsumes every other term) is a Tautology, because the empty term (which has k=0) indicates that all the 2n assignments are satisfying. Any other DNF formula is either a Tautology or one of those formulas in the middle (and it is NP−complete to distinguish between these 2 cases).
With a CNF formula, distinguishing between the 2 cases above means being able to tell whether all the falsifying assignments collectively brought by the presence of clauses overlap in such a way to cover all the 2n assignments (in which case the formula is a Contradiction, otherwise it is satisfiable).
With a DNF formula, distinguishing between the 2 cases above means being able to tell whether all the satisfying assignments collectively brought by the presence of terms overlap in such a way to cover all the 2n assignments (in which case the formula is a Tautology, otherwise it is falsifiable).
W tym świetle staje się jasne, dlaczego satysfakcjonowanie CNF i falsyfikowalność DNF są równoważne pod względem twardości obliczeniowej. Ponieważ w rzeczywistości stanowią one ten sam problem, ponieważ podstawowe zadanie jest dokładnie takie samo: powiedzieć, czy połączenie kilku zbiorów jest równe przestrzeni wszystkich możliwości . Takie zadanie prowadzi nas do szerszego królestwa liczenia, które moim skromnym zdaniem jest jedną z tych możliwości, które należy żarliwie zbadać, aby mieć nadzieję na dokonanie pewnego niemałego postępu w zakresie tych problemów (wątpię, aby dalsze badania nad rozwiązaniami opartymi na rozdzielczości może w końcu przynieść przełomowe osiągnięcia teoretyczne, podczas gdy z pewnością nadal przynosi zaskakujące postępy praktyczne).
Trudność takiego zadania polega na tym, że zestawy te nakładają się dziko, w sposób włączający - wyłączający.
The presence of such overlapping is precisely where the hardness of counting resides. Moreover, the fact that we let those sets overlap is the very reason that allows us to have compact formulas whose solution space is nevertheless exponentially large.