Shannonschen Normalform?

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Shannonschen Normalform?
Tag

kann mir mal wer sagen was die Shannonschen Normalform sein soll?? im script stehn da lustige formeln, aber was das genau ist … ka , derweil ich bis jetzt auch ohne die zurecht gekommen bin (war nur ne prüfungsfrage, wie das mit obbds zusammenhängt oder so :slight_smile: )

danke

Drager


hi,

wuerde mich auch mal interessieren. was ich bis jetzt weiss, ist, dass man diese shannonform durch den entwicklungssatz herausbekommt. was davon der vorteil sein soll und genaueres, waere gut zu wissen :).


Mit dem Entwicklungssatz kann man einen Ausdruck jeweils um eine Variable reduzieren, indem man explizit einmal 0 und einmal 1 einsetzt und dann beide Terme mit OR verknüpft.

Beispiel:
f(X,Y,Z) = XYZ + ¬X¬YZ + Y¬Z

fX=1 = YZ + Y¬Z
fX=0 = ¬YZ + Y¬Z

f(X,Y,Z) = X · fX=1 + ¬X · fX=0
= X · (¬YZ + Y¬Z) + ¬X · (YZ + Y¬Z)

Soweit ist’s wohl klar. Man erreicht die Shannon’sche Normalform jetzt, indem man das Spiel für jede Variable wiederholt, bis die f’s den Wert 0 oder 1 annehmen.
f(X,Y) = X · fX=1 + ¬X · fX=0
= X · (Y · f[X=1,Y=1] + ¬Y · f[X=1,Y=0]) + ¬X · (Y · f[X=0,Y=1] + ¬Y · f[X=0,Y=0])

Nehmen wir mal an, wir haben folgende Wertetafel für eine Funktion f(X,Y,Z):

X Y Z │ f ──────┼─── 0 0 0 │ 1 0 0 1 │ 0 0 1 0 │ 0 0 1 1 │ 1 1 0 0 │ 1 1 0 1 │ 1 1 1 0 │ 0 1 1 1 │ 1

Dann sieht die SNF folgendermaßen aus:

f = X·( Y·( 1Z + 0¬Z ) + ¬Y·( 1Z + 1¬Z ) ) + ¬X·( Y·( 1Z + 0¬Z ) + ¬Y·( 0Z + 1¬Z ) )


hmm, thx erstmal fuer die erklaerung, ich weiss jetzt auf jeden fall, wie ich drauf komme. aber was bringt diese tolle form fuer einen vorteil gegenueber der ursprungsform und z. b. der dmf? und muss mal die nuller mitreinschreiben?