Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyTeoretické základy informatiky Výroková logika DNF, KNF

Logo Matematická biologie

DNF, KNF

Tak jako se matematika snaží vyjádřit složité výrazy v nějaké přehlednější formě (například číslo 0,000 000 3 je přehlednější ve tvaru 3 ×10-7 ), podobně i v logice se formule pro speciální účely vyjadřují v tzv. normálních formách. Pro tyto speciální formy formule je charakteristické, že využívají jen spojek .

Každou pravdivostní n-ární funkci f  lze reprezentovat formulí výrokové logiky, která obsahuje pouze spojky negace a konjunkce, resp. disjunkce, . Učiňme dohodu, že výrazem konjunkce, resp. disjunkce, rozumíme formuli, která spojuje spojkou konjunkce, resp. disjunkce, n atomických formulí.

Literály jsou atomické formule a negace atomických formulí.

Formule A je disjunktivní normální formou (DNF) nad atomickými formulemi , je-li A tvaru disjunkce, jejíž každý člen je konjunkcí nějakých literálů z nebo literálem. Úplná disjunktivní normální forma formule A je její disjunktivní normální forma, v níž každý disjunkt obsahuje literály všech výrokových proměnných vyskytujících se ve formuli A.

Příkladem formule v DNF je .

Formule A je konjunktivní normální formou (KNF) nad atomickými formulemi , je-li A tvaru konjunkce, jejíž každý člen je disjunkcí nějakých literálů z nebo literálem. Úplná konjunktivní normální forma formule A je její konjunktivní normální forma, v níž každý konjunkt obsahuje literály všech výrokových proměnných vyskytujících se ve formuli A.

Příkladem formule v CNF je .

Ke každé formuli A výrokové logiky, která není tautologií (kontradikcí), lze najít formuli B, která je ve tvaru DNF (KNF) a je ekvivalentní s A (DNF nelze zkonstruovat pro kontradikce a KNF tedy nelze zkonstruovat pro tautologie).

Příklad:

Najděte úplnou NDF formule .

Vyjdeme z pravdivostní tabulky této formule:

 

 

 

 

 

 

0

0

0

1

1

1

0

0

0

0

1

0

0

1

0

1

0

1

0

1

1

0

0

0

0

1

1

0

1

0

0

0

1

0

0

1

1

1

1

1

1

0

1

0

0

1

1

1

1

1

0

1

1

0

0

0

1

1

1

0

1

0

0

0

 

Víme, že každý řádek pravdivostní tabulky odpovídá jednomu pravdivostnímu ohodnocení proměnných a příslušné hodnotě formule pro toto ohodnocení.

Aby tato tabulka byla pravdivostní tabulkou hledané formule A´ekvivalentní s A, musí být formule A´pravdivá ve všech ohodnoceních, kde má formule A v daném řádku hodnotu 1 a nepravdivá ve všech ostatních ohodnoceních.

Je zřejmé, že hodnota uvedené formule A je rovna 1 v jednom z těchto případů:

1.
2.
3.

Totéž musí platit i o formuli A´. Toho dosáhneme tak, že formule A´ bude disjunkcí (má nastat alespoň jedna z možností ) formulí, které přesně popisují situaci řádku tabulky, kde má formule A hodnotu 1 (což jsou případy 1. až 3., které jsme získali z 2., 5., a 6. řádku ). První případ odpovídá ohodnocení, kdy proměnné a, b jsou nepravdivé a proměnná c je pravdivá - to popíšeme formulí . Druhý případ odpovídá ohodnocení, kdy proměnná a je pravdivá a proměnné b, c jsou nepravdivé - tuto situaci popisuje formule

Zjistili jsme tedy, že přesně tentýž průběh hodnot jako formule   má v závislosti na ohodnocení proměnných formule . Jedná se tedy o úplnou disjunktivní normální formu logicky ekvivalentní s původní formulí.

 

Příklad:

Najděte KNF formule .

Vyjdeme opět z pravdivostní tabulky této formule:

 

 

 

 

 

0

0

0

1

0

1

0

0

1

0

0

0

1

1

1

0

1

0

0

1

0

1

0

1

0

1

0

0

1

0

0

1

1

1

1

0

1

1

1

0

1

0

0

0

1

1

1

0

0

1

1

0

1

0

1

0

1

0

0

1

1

1

0

0

1

1

1

1

1

0

1

1

1

0

1

0

1

1

1

0

 

Podle výše uvedeného postupu je prvním krokem vytvoření negace formule A, ta je vytvořena v posledním sloupci tabulky . Druhým krokem je vytvoření úplné disjunktivní normální formy formule . Formule

je úplnou disjunktivní normální formou negace původní formule. Další negací a s využitím De Morganova pravidla lze pak tuto formuli převést do úplné konjunktivní normální formy formule původní:

V tomto případě je úplná konjunktivní normální forma konjunkcí tří klauzulí. Vhodnými úpravami pomocí ekvivalencí lze tuto formuli značně zjednodušit (na úkor její úplnosti).

                    

 

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity