Disjunktiv normalform

Disjunktiv normalform ( DNF ) i boolsk logik er en normal form , hvor en boolsk formel har form af en disjunktion af konjunktioner af bogstaver . Enhver boolsk formel kan konverteres til en DNF. [1] For at gøre dette kan du bruge loven om dobbelt negation , de Morgans lov , loven om distributivitet . Den disjunktive normalform er praktisk til automatisk sætningsbevis .

Eksempler

Formler i DNF :

Formler ikke i DNF :

Men de sidste to formler svarer til følgende formler i DNF:

Opbygning af en DNF

Algoritme til at konstruere en DNF

1) Slip af med alle de logiske operationer, der er indeholdt i formlen, og erstat dem med de vigtigste: konjunktion, disjunktion, negation. Dette kan gøres ved hjælp af tilsvarende formler:

2) Erstat negationstegnet, der refererer til hele udtrykket, med negationstegn, der henviser til individuelle variable udsagn, baseret på formlerne:

3) Slip af med dobbelte negative fortegn.

4) Anvend om nødvendigt fordelings- og absorptionsformlernes egenskaber på operationerne af konjunktion og disjunktion .

Et eksempel på at konstruere en DNF

Lad os reducere formlen til DNF

Vi udtrykker den logiske operation → gennem

I den resulterende formel overfører vi negationen til variablerne og reducerer de dobbelte negationer:

Ved at bruge distributionsloven får vi:

Ved at bruge konjunktionens idempotens opnår vi en DNF:

k -disjunktiv normalform

En k -disjunktiv normalform er en disjunktiv normalform, hvor hver konjunktion indeholder nøjagtigt k literaler .

For eksempel er følgende formel skrevet i 2-DNF:

Overgang fra DNF til SDNF

Hvis en variabel, for eksempel Z, mangler i en simpel konjunktion, indsætter vi udtrykket i den

,

hvorefter vi åbner parenteserne (samtidigt skriver vi ikke de gentagne disjunkte udtryk, da ifølge loven om idempotens ). For eksempel:

Således fik vi SDNF fra DNF .

Formel grammatik, der beskriver DNF

Følgende formelle grammatik beskriver alle formler reduceret til DNF:

<DNF> → <konjunkt> <DNF> → <DNF> ∨ <konjunkt> <konjunkt> → <bogstavelig> <konjunkt> → (<konjunkt> ∧ <bogstaveligt>) <bogstavelig> → <term> <bogstavelig> → ¬<term>

hvor <term> angiver en vilkårlig boolesk variabel.

Notationsfunktioner

Det skal bemærkes, at for at lette opfattelsen, bruges symbolerne for aritmetisk multiplikation og addition ofte som en betegnelse for konjunktion og disjunktion, mens multiplikationssymbolet ofte udelades. I dette tilfælde ligner boolske algebraformler algebraiske polynomier, som er mere velkendte for øjet, men nogle gange kan føre til misforståelser.

For eksempel er følgende poster tilsvarende:

Af denne grund kaldes DNF i russisksproget litteratur undertiden "sum of products", som er et sporingspapir fra det engelske udtryk "sum of products".

Se også

Noter

  1. Pozdnyakov S.N., Rybin S.V. Diskret matematik. - S. 303.

Litteratur

Links