Disjunktivní normální forma

Disjunktivní normální forma ( DNF ) v booleovské logice je normální forma , ve které má booleovská formule formu disjunkce konjunkcí literálů . Jakýkoli booleovský vzorec lze převést na DNF. [1] K tomu můžete použít zákon dvojí negace , de Morganův zákon , zákon distributivity . Disjunktivní normální forma je vhodná pro automatické dokazování věty .

Příklady

Vzorce v DNF :

Vzorce , které nejsou v DNF :

Ale poslední dva vzorce jsou ekvivalentní následujícím vzorcům v DNF:

Budování DNF

Algoritmus pro konstrukci DNF

1) Zbavte se všech logických operací obsažených ve vzorci a nahraďte je těmi hlavními: konjunkce, disjunkce, negace. To lze provést pomocí ekvivalentních vzorců:

2) Nahraďte znaménko negace odkazující na celý výraz za znaménko negace odkazující na jednotlivé výroky proměnných na základě vzorců:

3) Zbavte se dvojitých negativních znamének.

4) Aplikujte, je-li to nutné, na operace konjunkce a disjunkce vlastnosti vzorců distributivity a absorpce.

Příklad konstrukce DNF

Zredukujeme vzorec na DNF

Vyjádříme logickou operaci → skrz

Ve výsledném vzorci převedeme negaci na proměnné a snížíme dvojité negace:

Pomocí zákona distributivity dostaneme:

Pomocí idempotence konjunkce získáme DNF:

k -disjunktivní normální tvar

K -disjunktivní normální forma je disjunktivní normální forma, ve které každá spojka obsahuje přesně k literálů .

Například následující vzorec je napsán v 2-DNF:

Přechod z DNF na SDNF

Pokud v nějaké jednoduché spojce chybí proměnná, například Z, vložíme výraz do ní

,

za kterým otevřeme závorky (zároveň nepíšeme opakující se disjunktní členy, protože podle zákona idempotence ). Například:

Z DNF jsme tedy dostali SDNF .

Formální gramatika popisující DNF

Následující formální gramatika popisuje všechny vzorce redukované na DNF:

<DNF> → <konjunkce> <DNF> → <DNF> ∨ <konjunkce> <konjunkce> → <doslova> <spojka> → (<spojka> ∧ <doslova>) <doslovný> → <termín> <doslovný> → ¬<termín>

kde <term> označuje libovolnou booleovskou proměnnou.

Vlastnosti zápisu

Je třeba poznamenat, že pro usnadnění vnímání jsou symboly aritmetického násobení a sčítání často používány jako označení pro konjunkci a disjunkci, zatímco symbol násobení je často vynechán. V tomto případě vzorce Booleovské algebry vypadají jako algebraické polynomy, což je oku známější, ale někdy to může vést k nedorozuměním.

Například následující položky jsou ekvivalentní:

Z tohoto důvodu se DNF v ruskojazyčné literatuře někdy nazývá „součet produktů“, což je pauzovací papír z anglického termínu „součet produktů“.

Viz také

Poznámky

  1. Pozdnyakov S.N., Rybin S.V. Diskrétní matematika. - S. 303.

Literatura

Odkazy