Forma normală disjunctivă

Forma normală disjunctivă ( DNF ) în logica booleană este o formă normală în care o formulă booleană are forma unei disjuncții de conjuncții de literali . Orice formulă booleană poate fi convertită într-un DNF. [1] Pentru a face acest lucru, puteți folosi legea dublei negații , legea lui de Morgan , legea distributivității . Forma normală disjunctivă este convenabilă pentru demonstrarea automată a teoremei .

Exemple

Formule în DNF :

Formule care nu sunt în DNF :

Dar ultimele două formule sunt echivalente cu următoarele formule din DNF:

Construirea unui DNF

Algoritm pentru construirea unui DNF

1) Scăpați de toate operațiile logice conținute în formulă, înlocuindu-le cu cele principale: conjuncție, disjuncție, negație. Acest lucru se poate face folosind formule echivalente:

2) Înlocuiți semnul de negație, referitor la întreaga expresie, cu semne de negație, referitor la declarații de variabile individuale, pe baza formulelor:

3) Scapa de semnele negative duble.

4) Aplicați, dacă este necesar, la operațiile de conjuncție și disjuncție proprietățile formulelor de distributivitate și absorbție.

Un exemplu de construire a unui DNF

Să reducem formula la DNF

Exprimăm operația logică → prin

În formula rezultată, transferăm negația la variabile și reducem negațiile duble:

Folosind legea distributivității obținem:

Folosind idempotenta conjuncției, obținem un DNF:

k -forma normală disjunctivă

O formă normală k -disjunctivă este o formă normală disjunctivă în care fiecare conjuncție conține exact k literale .

De exemplu, următoarea formulă este scrisă în 2-DNF:

Trecerea de la DNF la SDNF

Dacă o variabilă, de exemplu, Z, lipsește într-o conjuncție simplă, inserăm expresia în ea

,

după care deschidem parantezele (în același timp, nu scriem termenii disjuncți care se repetă, deoarece conform legii idempotității ). De exemplu:

Astfel, de la DNF am primit SDNF .

Gramatică formală care descrie DNF

Următoarea gramatică formală descrie toate formulele reduse la DNF:

<DNF> → <conjuncție> <DNF> → <DNF> ∨ <conjuncție> <conjuncție> → <literal> <conjuncție> → (<conjuncție> ∧ <literal>) <literal> → <termen> <literal> → ¬<termen>

unde <term> denotă o variabilă booleană arbitrară.

Caracteristici de notație

Trebuie remarcat faptul că, pentru comoditatea percepției, simbolurile înmulțirii și adunării aritmetice sunt adesea folosite ca desemnare pentru conjuncție și disjuncție, în timp ce simbolul înmulțire este adesea omis. În acest caz, formulele de algebră booleană arată ca polinoame algebrice, ceea ce este mai familiar pentru ochi, dar poate duce uneori la neînțelegeri.

De exemplu, următoarele intrări sunt echivalente:

Din acest motiv, DNF în literatura de limbă rusă este uneori numit „sum of products”, care este o hârtie de calc din termenul englez „sum of products”.

Vezi și

Note

  1. Pozdnyakov S.N., Rybin S.V. Matematică discretă. - S. 303.

Literatură

Link -uri