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:
- Konvertálás tagadás normál formába .
- 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 .
- 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ő.
- Standardizálja a változókat
- 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 .
-
Skolemize a kijelentést
- 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 .
- 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.
- Dobja el az összes univerzális mennyiségi mutatót.
- 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
Lásd még
Hivatkozások
-
J. Eldon Whitesitt (2012. május 24.). Logikai algebra és alkalmazásai . Courier Corporation. ISBN 978-0-486-15816-7.
-
Hans Kleine Büning; Theodor Lettmann (1999. augusztus 28.). Propozíciós logika: levonás és algoritmusok . Cambridge University Press. ISBN 978-0-521-63017-7.
- Paul Jackson, Daniel Sheridan: Záradékforma konverziók a Boolean Circuits számára . In: Holger H. Hoos, David G. Mitchell (szerk.): Theory and Applications of Satisfiability Testing, 7. nemzetközi konferencia, SAT 2004, Vancouver, BC, Kanada, 2004. május 10–13, Revised Selected Papers. Előadások a számítástechnikából 3542, Springer 2005, 183–198
- GS Cseitin: A deriváció összetettségéről a propozíciós számításban . In: Slisenko, AO (szerk.) Structures in Constructive Mathematics and Mathematical Logic, II. Rész, Seminars in Mathematics (oroszból fordítva), 115–125. Steklov Matematikai Intézet (1968)
Külső linkek