W operacji logicznych , A wzór jest spojówek postaci normalnej ( CNF ) lub clausal postaci normalnej , jeśli jest to połączenie jednej lub większej liczby klauzul , w którym punkt JeSt alternatywą z literałach ; inaczej mówiąc, jest to iloczyn sum lub AND z OR . Jako kanoniczna forma normalna jest użyteczna w automatycznym dowodzeniu twierdzeń i teorii obwodów .
Wszystkie koniunkcje literałów i wszystkie alternatywy literałów są w CNF, ponieważ można je postrzegać odpowiednio jako koniunkcje klauzul jednoliterowych i koniunkcje pojedynczej klauzuli. Podobnie jak w dysjunktywnej postaci normalnej (DNF), jedynymi spójnikami zdaniowymi, które może zawierać formuła w CNF, są i , lub , i nie . Operator not może być używany tylko jako część literału, co oznacza, że może poprzedzać tylko zmienną zdaniową lub symbol predykatu .
W automatycznym dowodzeniu twierdzeń pojęcie „ klauzalna forma normalna ” jest często używane w węższym znaczeniu, oznaczającym konkretną reprezentację formuły CNF jako zbiór zbiorów literałów.
Przykłady i nieprzykłady
Wszystkie poniższe formuły w zmiennych , i są w spójnej postaci normalnej:
Dla jasności zdania rozłączne są napisane w nawiasach powyżej. W rozłącznej formie normalnej ze zdaniami łączącymi w nawiasach, ostatni przypadek jest taki sam, ale przedostatni to . Stałe prawda i fałsz są oznaczone pustą koniunkcją i jedną klauzulą składającą się z pustej koniunkcji, ale zwykle są napisane wprost.
Poniższe formuły nie są połączone w normalnej postaci:
-
, ponieważ OR jest zagnieżdżony w NOT
-
, ponieważ AND jest zagnieżdżony w OR
Każdą formułę można równoważnie zapisać jako formułę w postaci normalnej. Trzy nieprzykłady w CNF to:
Konwersja do CNF
Każdą formułę zdaniową można przekształcić w równoważną formułę, która jest w CNF. Przekształcenie to opiera się na regułach dotyczących równoważności logicznych : eliminacji podwójnej negacji , prawach De Morgana i prawie dystrybutywnym .
Ponieważ wszystkie formuły zdaniowe mogą być przekształcone w równoważne formuły w spójnej formie normalnej, dowody często opierają się na założeniu, że wszystkie formuły są CNF. Jednak w niektórych przypadkach ta konwersja do CNF może prowadzić do wykładniczej eksplozji formuły. Na przykład przetłumaczenie następującej formuły innej niż CNF na CNF daje formułę z klauzulami:
W szczególności wygenerowana formuła to:
Ta formuła zawiera klauzule; każda klauzula zawiera albo albo dla każdego .
Istnieją przekształcenia w CNF, które unikają wykładniczego wzrostu rozmiaru poprzez zachowanie spełnialności, a nie równoważności . Te przekształcenia gwarantują tylko liniowy wzrost rozmiaru formuły, ale wprowadzają nowe zmienne. Na przykład powyższy wzór można przekształcić w CNF, dodając zmienne w następujący sposób:
Interpretacja spełnia ten wzór tylko wtedy, gdy co najmniej jeden z nowych zmiennych jest prawdą. Jeśli ta zmienna to , to oba i również są prawdziwe. Oznacza to, że każdy model, który spełnia tę formułę, spełnia również wymagania oryginalnego. Z drugiej strony, tylko niektóre modele oryginalnej formuły spełniają ten warunek: ponieważ nie są one wymienione w oryginalnej formule, ich wartości są nieistotne dla jej spełnienia , co nie ma miejsca w ostatniej formule. Oznacza to, że oryginalna formuła i wynik tłumaczenia są równoważne, ale nie równoważne .
Alternatywne tłumaczenie, transformacja Tseitina , zawiera również klauzule . Z tych klauzul formuła implikuje ; ta formuła jest często uważana za „definicję” jako nazwę dla .
Logika pierwszego rzędu
W logice pierwszego rzędu, spójna forma normalna może być dalej rozwijana, aby uzyskać klasyczną formę normalną formuły logicznej, która może być następnie użyta do wykonania rozwiązania pierwszego rzędu . W automatycznym dowodzeniu twierdzeń w oparciu o rozdzielczość, formuła CNF
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, z literałami, jest powszechnie reprezentowany jako zbiór zbiorów
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.
|
Zobacz poniżej przykład.
Złożoność obliczeniowa
Ważny zestaw problemów związanych ze złożonością obliczeniową polega na znalezieniu przypisań do zmiennych formuły logicznej wyrażonej w Spójnej Formie Normalnej, tak aby formuła była prawdziwa. Problem k- SAT polega na znalezieniu satysfakcjonującego przypisania do formuły logicznej wyrażonej w CNF, w której każda alternatywa zawiera co najwyżej k zmiennych. 3-SAT jest NP-zupełny (jak inne k problemu -sat z k > 2) w czasie 2-SAT jest znane są rozwiązania, w czasie wielomianowym . W konsekwencji zadanie przekształcenia formuły w DNF z zachowaniem spełnialności jest NP-trudne ; podwójnie konwersja do CNF z zachowaniem ważności jest również NP-trudna; stąd konwersja z zachowaniem równoważności do DNF lub CNF jest znowu NP-trudna.
Typowe problemy w tym przypadku dotyczą formuł w „3CNF”: spójna postać normalna z nie więcej niż trzema zmiennymi na spójnik. Przykłady takich formuł spotykanych w praktyce mogą być bardzo duże, na przykład ze 100 000 zmiennych i 1 000 000 koniunkcji.
Formuła z nanowłókien można przekształcić w equisatisfiable wzorze, w „ k CNF” (dla k ≥3) zastępując co koniunkcji z więcej niż k zmiennych dwóch conjuncts i z Z nowej zmiennej i powtarzając tak często, jak to konieczne.
Konwersja z logiki pierwszego rzędu
Aby przekonwertować logikę pierwszego rzędu na CNF:
- Konwertuj na postać normalną negacji .
- Wyeliminować implikacji i równoważności: wielokrotnie zastąpić z ; wymienić z . Ostatecznie wyeliminuje to wszystkie wystąpienia i .
- Przenieś NIE do wewnątrz, wielokrotnie stosując Prawo De Morgana . W szczególności należy wymienić w ; zastąpić z ; i wymienić z ; zastąpić z ; z . Po tym, a może wystąpić tylko bezpośrednio przed symbolem predykatu.
- Standaryzuj zmienne
- W przypadku zdań, które używają tej samej nazwy zmiennej dwukrotnie, zmień nazwę jednej ze zmiennych. Pozwala to uniknąć późniejszych nieporozumień podczas upuszczania kwantyfikatorów. Na przykład zmieniono nazwę na .
-
Skolemizuj oświadczenie
- Poruszać kwantyfikatorów zewnątrz: niejednokrotnie zastąpić z ; zastąpić z ; zastąpić z ; wymienić z . Te zastąpienia zachowują równoważność, ponieważ poprzedni krok standaryzacji zmiennej zapewniał, że nie występuje w . Po tych wymian kwantyfikator może występować tylko w początkowej prefiksu wzoru, ale nie Wewnątrz , lub .
- Wielokrotnie zastąpić z , gdzie jest to nowy symbol funkcja -ary, tak zwany „ funkcja Skolem ”. To jedyny krok, który zachowuje tylko satysfakcję, a nie równoważność. Eliminuje wszystkie kwantyfikatory egzystencjalne.
- Usuń wszystkie uniwersalne kwantyfikatory.
- Rozpowszechniać RNO do wewnątrz nad AND: wielokrotnie zastąpić z .
Na przykład formuła mówiąca „Każdy, kto kocha wszystkie zwierzęta, jest z kolei kochany przez kogoś” jest przekształcana w CNF (a następnie w formę klauzuli w ostatnim wierszu) w następujący sposób (podkreślając przekształcenia reguły zastępowania w ):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 1,1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 1,1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 1,2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 1,2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 1,2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 3,1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 3,1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 3.2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o 5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( reprezentacja klauzuli )
|
Nieformalnie, funkcja Skolema może być traktowana jako oddanie osoby, przez którą jest kochana, a jednocześnie oddanie zwierzęcia (jeśli w ogóle), które nie kocha. Trzecia linijka od dołu brzmi " nie kocha zwierzęcia , albo jest kochany przez " .
Druga ostatnia linia od góry , to CNF.
Uwagi
Zobacz też
Bibliografia
-
J. Eldon Whitesitt (24 maja 2012). Algebra Boole'a i jej zastosowania . Korporacja kurierska. Numer ISBN 978-0-486-15816-7.
-
Hansa Kleine Buninga; Theodor Lettmann (28 sierpnia 1999). Logika zdań: dedukcja i algorytmy . Wydawnictwo Uniwersytetu Cambridge. Numer ISBN 978-0-521-63017-7.
- Paul Jackson, Daniel Sheridan: Konwersje formularzy klauzul dla obwodów logicznych . W: Holger H. Hoos, David G. Mitchell (red.): Theory and Applications of Satisfiability Testing, 7. Międzynarodowa Konferencja, SAT 2004, Vancouver, BC, Kanada, 10–13 maja 2004, Revised Selected Papers. Notatki z wykładu z informatyki 3542, Springer 2005, s. 183–198
- GS Tseitin: O złożoności wyprowadzania w rachunku zdań . W: Slisenko, AO (red.) Structures in Constructive Mathematics and Mathematical Logic, część II, Seminaria z matematyki (przetłumaczone z rosyjskiego), s. 115–125. Instytut Matematyczny Steklov (1968)
Zewnętrzne linki