Konjunktív normál forma - Conjunctive normal form

A Boole-logika , egy általános képletű van konjunktív normál forma ( CNF ) vagy clausal normál forma , ha ez egy együtt egy vagy több kikötések , ahol egy kikötés egy diszjunkcióját a literálok ; másképp fogalmazva, összegek vagy a legkülső régiók ÉS terméke . Ennek kanonikus normál formában , ez hasznos automatizált tételbizonyítás és áramköri elmélet .

A literálok összes kötőszava és a literálok minden disjunkciója a CNF-ben található, mivel tekinthetők az egy-literális záradékok kötőszóinak, illetve egyetlen záradék kötőszóinak. Ahogy a diszjunktív normál forma (DNF), az egyetlen propozicionális konnektívumokban található képlet CNF tartalmazhatnak vannak , és , vagy , és nem . A not operátor csak literál részeként használható, ami azt jelenti, hogy csak egy propozíciós változót vagy egy predikátum szimbólumot előzhet meg .

Az automatizált tételbizonyításban a " clausal normal forma " fogalmat gyakran szűkebb értelemben használják, ami a CNF képletnek a literálok halmazaként meghatározott ábrázolását jelenti.

Példák és nem példák

Az összes következő képlet a változókban , és konjunktív normál formában van:

Az egyértelműség kedvéért a szétválasztó záradékok a fenti zárójelbe vannak írva. A diszjunktív normál forma a zárójelbe konjunktív feltételek, az utolsó esetben ugyanaz, de a mellette utoljára . Az igaz és hamis állandókat az üres kötőszó és az üres diszjunktumból álló záradék jelöli, de általában kifejezetten írják.

A következő képletek nem konjunktív normál formában vannak:

  • , mivel a VAGY egy NOT -ban van beágyazva
  • , mivel egy ÉS beágyazódik egy VAGY -ba

Minden képlet egyenértékűen írható képletként konjunktív normál formában. A CNF három nem példája:

Átalakítás CNF -re

Minden propozíciós képlet átalakítható egy egyenértékű képletre, amely CNF -ben van. Ez az átalakítás a logikai egyenértékűségekre vonatkozó szabályokon alapul : kettős tagadás megszüntetése , De Morgan törvényei és az elosztási törvény .

Mivel minden állítási képlet átalakítható ekvivalens formulává konjunktív normál formában, a bizonyítások gyakran azon a feltételezésen alapulnak, hogy minden képlet CNF. Bizonyos esetekben azonban ez a CNF -re való átalakítás a képlet exponenciális robbanásához vezethet. Például, ha a következő, nem CNF képletet CNF-re fordítja, akkor egy képletet kap, amely záradékokkal rendelkezik:

Különösen a generált képlet a következő:

Ez a képlet záradékokat tartalmaz ; valamennyi szakasza tartalmaz sem , vagy az egyes .

Léteznek olyan átalakulások CNF -vé, amelyek elkerülik a méret exponenciális növekedését azáltal, hogy megőrzik az elégedettséget, nem pedig az egyenértékűséget . Ezek az átalakítások garantáltan csak lineárisan növelik a képlet méretét, de új változókat vezetnek be. Például a fenti képlet átalakítható CNF -be a következő változók hozzáadásával :

Egy értelmezés csak akkor elégíti ki ezt a képletet, ha az új változók közül legalább az egyik igaz. Ha ez a változó , akkor mindkettő és igaz is. Ez azt jelenti, hogy minden modell, amely megfelel ennek a képletnek, kielégíti az eredetit is. Másrészt az eredeti képletnek csak néhány modellje felel meg ennek: mivel a nem szerepel az eredeti képletben, értékeik irrelevánsak annak kielégítése szempontjából, ami az utolsó képletben nem így van. Ez azt jelenti, hogy az eredeti képlet és a fordítás eredménye egyenlő, de nem egyenértékű .

Egy alternatív fordítás, a Tseitin transzformáció , tartalmazza a záradékokat is . Ezekkel a záradékokkal a képlet azt sugallja ; ezt a képletet gyakran úgy tekintik, hogy "definiálja" annak nevét .

Elsőrendű logika

Az elsőrendű logikában a konjunktív normál formát tovább lehet vinni , hogy logikai képlet clausal normál formáját kapjuk, amelyet aztán fel lehet használni az elsőrendű felbontás végrehajtására . Felbontáson alapuló automatizált tétel-bizonyításban CNF képlet

, literálokkal, általában halmazok halmazaként ábrázolják
.

Lásd az alábbi példát.

Számítási komplexitás

A számítási komplexitás egyik fontos problémaköre magában foglalja a konjunktív normál formában kifejezett logikai képlet változóinak hozzárendeléseit, így a képlet igaz. A k -SAT probléma a CNF -ben kifejezett logikai képlet kielégítő hozzárendelésének megkeresése, amelyben minden diszjunkció legfeljebb k változót tartalmaz. 3-SAT jelentése NP-teljes (mint bármely más k -SAT probléma k > 2), míg 2-vel ismert, hogy a megoldások a polinomiális időben . Következésképpen a képlet DNF- vé alakítása , a kielégíthetőség megőrzése NP-nehéz feladat ; kettős , a CNF-re történő átalakítás, az érvényesség megőrzése szintén NP-kemény; ezért az egyenértékűséget megőrző átalakítás DNF-re vagy CNF-re ismét NP-kemény.

A tipikus problémák ebben az esetben a "3CNF" képleteket foglalják magukban: kötőszövegű normál forma, kötőszámonként legfeljebb három változóval. A gyakorlatban előforduló ilyen képletek példái nagyon nagyok lehetnek, például 100 000 változóval és 1 000 000 kötőszóval.

A képlet CNF lehet alakítani egy equisatisfiable képlet „ k CNF” (a k ≥3) helyett az egyes összekapcsolt több mint k változót a két conjuncts és a Z egy új változó, és megismételjük a szükséges gyakorisággal.

Konvertálás elsőrendű logikából

Az elsőrendű logika konvertálása CNF-re:

  1. Konvertálás tagadás normál formába .
    1. Távolítsuk következményeit és ekvivalencia: többször cserélni a ; cserélni a . Végül ez megszünteti a és minden előfordulását .
    2. Mozgassa a NOT -t befelé a De Morgan -törvény ismételt alkalmazásával . Pontosabban, cserélje ki ; cserélje a ; és cserélje a ; cserélje a ; -val . Ezt követően az a csak közvetlenül egy predikátum szimbólum előtt fordulhat elő.
  2. Standardizálja a változókat
    1. Az olyan mondatok esetében, amelyek kétszer használják ugyanazt a változónevet, módosítsa az egyik változó nevét. Ezzel elkerülhető a későbbi zűrzavar a kvantorok ejtésekor. Például át van nevezve erre .
  3. Skolemize a kijelentést
    1. Mozgassa a kvantorokat kifelé: többször cserélje ki ; cserélje a ; cserélje a ; cserélni a . Ezek a cserék megőrzik az egyenértékűséget, mivel az előző változó szabványosítási lépés biztosította, hogy ne forduljon elő . Miután ezek a helyettesítések, a kvantor előfordulhat csak a kezdeti előtag általános képletű, de soha nem belsejében egy , vagy .
    2. Ismételten cserélje le , ahol egy új -ar függvény szimbólum található, egy úgynevezett " Skolem függvény ". Ez az egyetlen lépés, amely csak az elégedettséget őrzi meg, nem pedig az egyenértékűséget. Megszünteti az összes létező kvantorokat.
  4. Dobja el az összes univerzális mennyiségi mutatót.
  5. A legkülső részek elosztása befelé az ÉS -ek felett: többször cserélje ki a -ra .

Példaként a képlet azt mondja : „Aki szereti az összes állatot, viszont szereti valaki” átalakul CNF (és később esetleg záradék formájában az utolsó sorban) a következő (kiemelve csere szabály redexes in ):

1.1
1.1
1.2 -vel
1.2 -vel
1.2 -vel
2 -vel
3.1
3.1
3.2
4 által
5 által
( záradékábrázolás )

Informálisan a Skolem függvény úgy tekinthető, hogy megadja azt a személyt, akit szeret, míg az állatot (ha van), aki nem szeret. A harmadik utolsó sor alulról így hangzik: " nem szereti az állatot , különben szereti " .

A második utolsó sor felülről,, a CNF.

Megjegyzések

  1. ^ Peter B. Andrews, Bevezetés a matematikai logikába és típuselméletbe ,2013, ISBN  9401599343 , p. 48
  2. ^ a b Mesterséges intelligencia: modern megközelítés archiválva 2017-08-31 a Wayback Machine-nél [1995 ...] Russell és Norvig
  3. ^ Tseitin (1968)
  4. ^ Jackson és Sheridan (2004)
  5. ^ mivel a CNF kielégíthetőségének egyik módja annak DNF -re történő átalakítása, amelynek kielégíthetősége lineáris idő alatt ellenőrizhető

Lásd még

Hivatkozások

Külső linkek