Spójna forma normalna - Conjunctive normal form

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:

  1. Konwertuj na postać normalną negacji .
    1. Wyeliminować implikacji i równoważności: wielokrotnie zastąpić z ; wymienić z . Ostatecznie wyeliminuje to wszystkie wystąpienia i .
    2. 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.
  2. Standaryzuj zmienne
    1. 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 .
  3. Skolemizuj oświadczenie
    1. 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 .
    2. 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.
  4. Usuń wszystkie uniwersalne kwantyfikatory.
  5. 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

  1. ^ Peter B. Andrews, Wprowadzenie do logiki matematycznej i teorii typów , 2013, ISBN  9401599343 , s. 48
  2. ^ a b Sztuczna inteligencja: nowoczesne podejście zarchiwizowane 31.08.2017 w Wayback Machine [1995...] Russell i Norvig
  3. ^ Ceitin (1968)
  4. ^ Jackson i Sheridan (2004)
  5. ^ ponieważ jednym ze sposobów sprawdzenia CNF pod kątem spełnialności jest przekształcenie go w DNF , którego spełnialność można sprawdzić w czasie liniowym

Zobacz też

Bibliografia

Zewnętrzne linki