Ringsummennormalform

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Die Ringsummennormalform (kurz RSNF oder RNF) (auch: Algebraische Normalform (kurz ANF), Reed-Muller-Entwicklung, Ringsummenexpansion oder Schegalkinsches Polynom) ist eine Darstellungsform einer Booleschen Funktion. Diese Normalform verwendet ausschließlich die Operatoren XOR (Kontravalenz) und UND (Konjunktion).

Die beiden Operatoren Kontravalenz und Konjunktion { , , 1 } {\displaystyle \{\oplus ,\wedge ,1\}} {\displaystyle \{\oplus ,\wedge ,1\}} bilden eine vollständige Basis der booleschen Funktionen. Damit wird die folgende Definition möglich.

Eine Formel ist in Ringsummennormalform, wenn sie eine Kontravalenz ( {\displaystyle \oplus } {\displaystyle \oplus }) von Konjunktionen ( {\displaystyle \wedge } {\displaystyle \wedge }) der Eingabevariablen x 1 , , x n {\displaystyle x_{1},\dots ,x_{n}} {\displaystyle x_{1},\dots ,x_{n}} und der Konstanten 0 , 1 {\displaystyle 0,1} {\displaystyle 0,1} ist. Eine Formel in RSNF hat folgende Form:

T { 1 , , n } ( a T i T x i ) {\displaystyle \bigoplus _{T\subseteq \{1,\dots ,n\}}(a_{T}\wedge \bigwedge _{i\in T}x_{i})} {\displaystyle \bigoplus _{T\subseteq \{1,\dots ,n\}}(a_{T}\wedge \bigwedge _{i\in T}x_{i})},

wobei a T { 0 , 1 } {\displaystyle a_{T}\in \{0,1\}} {\displaystyle a_{T}\in \{0,1\}} für jede Teilmenge T {\displaystyle T} {\displaystyle T} ist.

Berechnung der RSNF

[Bearbeiten | Quelltext bearbeiten ]

Man geht von einer orthogonalen disjunktiven Normalform (also einer disjunktiven Normalform, deren Konjunktionen alle gegenseitig disjunkt sind, d. h. 0 ergeben) aus. Das kann z. B. auch die kanonisch disjunktive Normalform sein. In dieser ersetzt man den Disjunktionsoperator durch den Antivalenzoperator (Ringsumme), was aufgrund der Orthogonalität möglich ist. Danach schreibt man die Negationen in die (geklammerte) Antivalenz mit 1 um. Anschließend „multipliziert" man unter besonderer Beachtung der Rechenregel für die Antivalenz x x = 0 {\displaystyle x\oplus x=0} {\displaystyle x\oplus x=0} aus.

Die disjunktive Normalform A B A ¯ B ¯ A C ¯ {\displaystyle AB\vee {\bar {A}}{\bar {B}}\vee A{\bar {C}}} {\displaystyle AB\vee {\bar {A}}{\bar {B}}\vee A{\bar {C}}} kann wie folgt in ihre RSNF umgeformt werden:

Orthogonalisierung (z. B. mit Hilfe eines Karnaugh-Planes): A B A ¯ B ¯ A B ¯ C ¯ {\displaystyle AB\vee {\bar {A}}{\bar {B}}\vee A{\bar {B}}{\bar {C}}} {\displaystyle AB\vee {\bar {A}}{\bar {B}}\vee A{\bar {B}}{\bar {C}}}

Ersetzen der Disjunktion durch die Antivalenz: A B A ¯ B ¯ A B ¯ C ¯ {\displaystyle AB\oplus {\bar {A}}{\bar {B}}\oplus A{\bar {B}}{\bar {C}}} {\displaystyle AB\oplus {\bar {A}}{\bar {B}}\oplus A{\bar {B}}{\bar {C}}}

Umschreiben der Negation: A B ( A 1 ) ( B 1 ) A ( B 1 ) ( C 1 ) {\displaystyle AB\oplus (A\oplus 1)(B\oplus 1)\oplus A(B\oplus 1)(C\oplus 1)} {\displaystyle AB\oplus (A\oplus 1)(B\oplus 1)\oplus A(B\oplus 1)(C\oplus 1)}

Ausmultiplizieren: A B A B A B 1 A B C A C A B A {\displaystyle AB\oplus AB\oplus A\oplus B\oplus 1\oplus ABC\oplus AC\oplus AB\oplus A} {\displaystyle AB\oplus AB\oplus A\oplus B\oplus 1\oplus ABC\oplus AC\oplus AB\oplus A}

Durch „Wegstreichen" von jeweils zwei gleichen Termen erhält man nach dem Umsortieren schließlich:

1 B A B A C A B C {\displaystyle 1\oplus B\oplus AB\oplus AC\oplus ABC} {\displaystyle 1\oplus B\oplus AB\oplus AC\oplus ABC}
  • Jede beliebige boolesche Funktion kann in Ringsummennormalform überführt werden.
  • Die Ringsummennormalform einer booleschen Funktion ist (bis auf die Reihenfolge) eindeutig.
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Ringsummennormalform&oldid=204615246"