Normalformen

Normalformen beschreiben beliebige Funktionen in einheitlicher Form. In der Boole’schen Algebra sind zwei Normalformen gebräuchlich: die disjunktive Normalform (DNF) und konjunktive Normalform (KNF).

Beispiel 1: Zur Trinkwasserversorgung eines Hochhauses ist auf dem Dach ein Vorratsbehälter installiert. Das Wasser wird durch eine Hauptpumpe bzw. bei deren versagen durch eine Reservepumpe in den Vorratsbehälter gepumpt. Zur automatischen Steuerung der Pumpen sind an diesen und an dem Behälter Sensoren angebracht, die melden, wenn dieser nicht mehr ausreichend gefüllt ist bzw. die Pumpen defekt sind. Es ist ein Schaltnetz zur Steuerung der Pumpen zu entwickeln; es soll ein Alarmsignal ausgegeben werden, wenn beide Pumpen defekt sind.

1. Aufstellen der Wahrheitstabelle der gesuchten Schaltung
Die Eingangsvariable a steht für den Vorratsbehälter (0 = leer, 1 = gefüllt), b für die Hauptpumpe (0 = defekt, 1 = in Ordnung) und c für die Reservepumpe (0 = defekt, 1 = in Ordnung). Die Ausgangsvariable h steht für die eingeschaltete Hauptpumpe (h = 1), r für die eingeschaltete Reservepumpe (r = 1) und s für Alarm ( s = 1). Die Tabelle sieht dann wie folgt aus:

a b c h r s
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 1 0 0
0 1 1 1 0 0
1 0 0 0 0 1
1 0 1 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0


2. Die Schaltfunktionen

Für r lässt sich leicht ablesen, dass r den Wert 1 hat, wenn a=0, b=0 und c=1 ist. Bei einer UND-Verknüpfung müssen alle Variablen den Wert 1 haben, damit die Verknüpfung ebenfalls den Wert 1 hat. Es gilt also: r = ¬a ∧ ¬b ∧ c. Für h gibt es zwei Terme: h = t1 ∨ t2. t1 = ¬a ∧ b ∧ ¬c und t2 = ¬a ∧ b ∧ c. Für h ergibt sich damit der folgende Term: h = (¬a ∧ b ∧ ¬c) ∨ (¬a ∧ b ∧ c). Nach dem Distributivgesetz gilt a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c) bzw. (a ∨ b) ∧ (a ∨ c) = a ∨ (b ∧ c). Der Ausdruck ¬a ∧ b lässt sich ausklammern. Man erhält dann h = (¬a ∧ b) ∨ (c ∧ ¬c). Da c ∧ ¬c = 0 (Komplement) gilt h = (¬a ∧ b) ∨ 0. Nach dem Null-Theorem ergibt sich daraus h = ¬a ∧ b.
Für s lassen sich ebenfalls zwei Terme bestimmen: s = t1 ∨ t2 = (¬a ∧ ¬b ∧ ¬c) ∨ (a ∧ ¬b ∧ ¬c). Daraus ergibt sich analog der oberen Rechnung für s = ¬b ∧ ¬c.

3. Die Schaltung

Bild

Beispiel 2: Aufzugssteuerung

In einem Gebäude mit acht Stockwerken gibt es mehrere Aufzüge. Einer davon soll die Eingangshalle und die Stockwerke 4 – 7 miteinander verbinden. Die Stockwerkszahl steht als dreistellige Dualziffer zur Verfügung.

1. Schaltwerttabelle:
Die Stockwerke werden von durch drei Dualziffern a, b und c gekennzeichnet. s ist das gesuchte Stockwerk.

a b c s
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

2. Schaltfunktionen

Wie in Beispiel 1 könnte man jetzt alle Terme, für die s = 1 ist, disjunktiv verknüpfen. Man kann aber alle Terme benutzen, für die s = 0 ist. Für s gilt dann s = t1 ∧ t2 ∧ t3. Die Terme werden konjunktiv verknüpft. Damit t1 den Wert 0 annimmt, gilt t1 = a ∨b ∨¬c; für t2 gilt t2 = a ∨¬b ∨c und für t3 gilt t3 = a ∨ ¬b ∨¬c.
Für s ergibt sich dann die folgende Funktion:
s = (a ∨ b ∨ ¬c) ∧ (a ∨ ¬b ∨ c) ∧ (a ∨ ¬b ∨ ¬c)
= a ∨ [( (b ∨ ¬c) ∧ (¬b ∨ c) ∧ (¬b ∨ ¬c)]
= a ∨ [( (b ∨¬c) ∧ ¬b]
= a ∨ [( b ∧ ¬b)∨ ¬c ∧ ¬b)]
= a ∨ (¬b ∧ ¬c).

3. Die Schaltung

Bild

Das folgende Verfahren liefert also die Schaltungssynthese:

1. Aufstellen der Wahrheitstabelle der gesuchten Schaltung
2. Ablesen einer Normalform: Treten als Werte weniger Einsen als Nullen auf, nehme man die disjunktive (DNF), andernfalls die konjunktive (KNF) Normalform.
2.1 DNF: Man bildet zu allen Zeilen der Wertetabelle, denen eine 1 zugeordnet ist, die Vollkonjunktion; dabei treten die mit 0 belegten Variablen negiert auf. Diese Vollkonjunktionen werden disjunktiv verknüpft.
2.2 KNF: Man bildet zu allen Zeilen der Wertetabelle, denen eine 0 zugeordnet ist, die Volldisjunktion; dabei treten die mit 1 belegten Variablen negiert auf. Diese Vollkonjunktionen werden konjunktiv verknüpft.
3. Vereinfachung mittels Boole’scher Algebra.

Beispiel 3:Dual-Dezimal-Umsetzer
Eine vierstellige Dualzahl soll in die entsprechende Dezimalzahl umgesetzt werden. Dazu geht auf vier Leitungen die Dualdarstellung einer Zahl in die Schaltung ein, während fünf von der Schaltung ausgehende Leitungen eine zweistellige Dezimalanzeige steuern. Für die Zehnerziffer Z genügt ein Bit, da aufgrund der vierstelligen Dualzahl Dezimalzahlen von 0 bis 15 darstellbar sind; d.h., die Zehnerziffer kann den Wert 0 oder 1 annehmen

d3 d2 d1 d0 Z e3 e2 e1 e0
0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 1
0 0 1 0 0 0 0 1 0
0 0 1 1 0 0 0 1 1
0 1 0 0 0 0 1 0 0
0 1 0 1 0 0 1 0 1
0 1 1 0 0 0 1 1 0
0 1 1 1 0 0 1 1 1
1 0 0 0 0 1 0 0 0
1 0 0 1 0 1 0 0 1
1 0 1 0 1 0 0 0 0
1 0 1 1 1 0 0 0 1
1 1 0 0 1 0 0 1 0
1 1 0 1 1 0 0 1 1
1 1 1 0 1 0 1 0 0
1 1 1 1 1 0 1 0 1

Für Z = 1 stehen 6 Terme zur Verfügung. Es gilt also:
Z = (d3 ∧¬d2 ∧d1 ∧¬d0) ∨ (d3 ∧¬d2 ∧d1 ∧d0)∨ (d3 ∧d2 ∧¬d1 ∧¬d0) ∨ (d3 ∧d2 ∧¬d1 ∧d0) ∨ (d3 ∧d2 ∧d1 ∧¬d0)∨ (d3 ∧d2 ∧d1 ∧d0)
= d3 ∧ [(¬d2 ∧d1 ∧¬d0) ∨ (¬d2 ∧d1 ∧d0)∨ (d2 ∧¬d1 ∧¬d0) ∨ (d2 ∧¬d1 ∧d0) ∨ (d2 ∧d1 ∧¬d0)∨ (d2 ∧d1 ∧d0)]
= d3 ∧ [[(¬d2 ∧d1 ∧¬d0) ∨ (¬d2 ∧d1 ∧d0)]∨ [(d2 ∧¬d1 ∧¬d0) ∨ (d2 ∧¬d1 ∧d0)] ∨ [(d2 ∧d1 ∧¬d0)∨ (d2 ∧d1 ∧d0)]]
= d3 ∧ [[(¬d2 ∧d1) ∧ (¬d0 ∨d0)]∨ [(d2 ∧¬d1)∧ (¬d0 ∨d0)] ∨ [(d2 ∧d1) )∧ (¬d0 ∨d0)]]
= d3 ∧ [[(¬d2 ∧d1) ∧ 1]∨ [(d2 ∧¬d1)∧ 1] ∨ [(d2 ∧d1)∧ 1]]
= d3 ∧ [(¬d2 ∧d1) ∨ (d2 ∧¬d1) ∨ (d2 ∧d1)]
= d3 ∧ [(¬d2 ∧d1) ∨ [(d2 ∧d1)∨ (d2 ∧ ¬d1)]]
= d3 ∧ [(¬d2 ∧d1) ∨ [d2 ∧(d1 ∨¬d1)]]
= d3 ∧ [(¬d2 ∧d1) ∨ (d2 ∧1)]
= d3 ∧ [(¬d2 ∧d1) ∨ d2]
= d3 ∧ [(¬d2∨ d2) ∧ d1 ∨ d2)]
= d3 ∧ [1 ∧ d1 ∨ d2)]
= d3 ∧ (d1 ∨ d2)
Der Rechenaufwand, der hier betrieben wurde, ist sehr aufwändig. Wie Boole’sche Funktionen recht einfach minimiert werden können, zeigt der nächste Abschnitt. Die Funktionen für die anderen Werte können mit etwas Überlegung aus der Wahrheitswertetabelle ermittelt werden:
e0: Da die Werte für e0 und d0 identisch sind, gilt e0=d0.
e1: Solange Z=0 ist, entsprechen sich die Werte von d1 und e1. Wenn Z=1 ist, haben d3 und d2 den Wert 1 und d1 den Wert 0. e1 ist also e1=1, wenn Z=0 und d1 = 1 ist oder wenn Z=0 und d3=1, d2=1 und d1=0 sind. Die Funktion lautet dann:
e1=( ¬Z ∧d1)∨ (Z ∧d3 ∧d2 ∧ ¬d1).
e2: Für e2 gelten ähnliche Überlegungen. Die Funktion für e2 lautet:
e2 = ( ¬Z ∧ d2) ∨ (Z ∧ d3 ∧ d2 ∧ d1).
e3: Diese Funktion soll noch einmal algebraisch hergeleitet werden.
e3 = (d3 ∧ ¬d2 ∧ ¬d1 ∧ ¬d0) ∨ (d3 ∧ ¬d2 ∧ ¬d1 ∧ d0)
= (d3 ∧ ¬d2 ∧ ¬d1) ∧ (¬d0 ∨ d0)
= (d3 ∧ ¬d2 ∧ ¬d1)∧ 1
= d3 ∧ ¬d2 ∧ ¬d1.

Bild

 

Verfahren von Quine und McCluskey

Die algebraische Ermittlung der Funktionen kann sehr aufwändig sein. Das im Folgenden vorgestellte Verfahren erleichtert die Bestimmung von komplexen Funktionen.
1. Ermittlung aller Minterme (Wert der Zielvariablen gleich 1) der Funktionen.
2. Zusammenfassung der Minterme in Gruppen mit gleicher Anzahl negativer Eingangsvariablen (gleicher Anzahl von Nullen).
3. Wenn es möglich ist, werden Terme benachbarter Gruppen paarweise zusammengefasst. Terme, die zusammengefasst werden, werden gekennzeichnet.
4. Schritt 3 wird solange wiederholt, bis keine Vereinfachung mehr möglich ist.
5. Ermittlung der Kernimplikanten aus den gefundenen Priminplikanten. Die Kernimplikanten gehören auf jeden Fall zur gesuchten Funktion.
6. Hinzufügen von Kernimplikanten zur Funktion, bis alle Minterme berücksichtigt sind.
7. Erstellen der Primtermtabelle
8. Dominanzprüfung (Spaltendominanz- und Zeilendominanz)
Das Verfahren wird anhand des Beispiels 3 näher erläutert. Die Funktion für Z wurde oben algebraisch berechnet. Das Ergebnis war Z = d3 ∧ (d1 ∨ d2). Zu demselben Ergebnis sollte auch das Verfahren von Quine und McCluskey kommen. Die folgende Tabelle stellt einen Ausschnitt aus der Wahrheitstabelle ergänzt um die Spalten Minterm und Gruppe dar. Die Punkte 7 und 8 kommen hier nicht zur Anwendung, da das Ergebnis bereits vorher klar ist. In einem weiteren Beispiel werden sie aber berücksichtigt.

d3 d2 d1 d0 Z MinTerm Gruppe
0 0 0 0 0    
0 0 0 1 0    
0 0 1 0 0    
0 0 1 1 0    
0 1 0 0 0    
0 1 0 1 0    
0 1 1 0 0    
0 1 1 1 0    
1 0 0 0 0    
1 0 0 1 0    
1 0 1 0 1 m10 2
1 0 1 1 1 m11 1
1 1 0 0 1 m12 2
1 1 0 1 1 m13 1
1 1 1 0 1 m14  1
1 1 1 1 1 m15 0

Die Minterme ergeben sich aus der konjunktiven Verknüpfung. Zur Erläuterung und zum einfacheren Bearbeiten sind die entsprechenden Dualzahlen unterhalb der Minterme aufgeführt. Da vier Eingangswerte vorliegen, wird eine vierstellige Dualzahl benutzt. In der 1. Vereinfachung werden Minterme paarweise zusammengefasst. Dazu müssen die Minterme in mindestens drei Positionen identisch sein. Die vierte Stelle fällt weg (In den Dualzahlen taucht dafür ein Strich auf.). In der zweiten Vereinfachung werden die Ergebnisse der 1. Vereinfachung auch wieder paarweise bearbeitet. Eine weitere Vereinfachung ist dem vorgegebenen Beispiel nicht möglich. Alle Terme, die nicht zur Vereinfachung benutzt wurden bzw. nicht mehr weiter vereinfacht werden können, werden konjunktiv zusammengefasst.

Minterme   1. Vereinfachung   2. Vereinfachung
Gruppe 0

m15=d3 ∧ d2 ∧ d1 ∧ d0
1111

x I1,0=m15 ∨ m14
= d3 ∧ d2 ∧ d1
1111
1110
111-
I1,1=m15 ∨ m13
= d3 ∧ d2 ∧ d0
1111
1101
11-1
I1,2=m15 ∨ m11
= d3 ∧ d1 ∧ d0
1111
1011
1-11
x




x




x
I2,0=I1,0 ∨ I1,5
= d3 ∧ d2
111-
110-
11--
I2,1=I1,0 ∨ I1,6
= d3 ∧ d1
111-
101-
1-1-
I2,2=I1,1 ∨ I1,3
= d3 ∧ d2
11-1
11-0
11--
I2,3=I1,2 ∨ I1,4
= d3 ∧ d1
1-11
1-10
1-1-
Gruppe 1
m14=d3 ∧ d2 ∧ d1 ∧ ¬d0
1110
m13=d3 ∧ d2 ∧ ¬d1 ∧ d0
1101
m11=d3 ∧ ¬d2 ∧ d1 ∧ d0
1011
x

x

x
I1,3=m14 ∨ m12
= d3 ∧ d2 ∧ ¬d0
1110
1100
11-0
I1,4=m14 ∨ m10
= d3 ∧ d1 ∧ ¬d0
1110
1010
1-10
I1,5=m13 ∨ m12
= d3 ∧ d2 ∧ ¬d1
1101
1100
110-
I1,6=m11 ∨ m10
= d3 ∧ ¬d2 ∧ d1
1011
1010
101-
x




x




x




x
 
Gruppe 2
m12=d3 ∧ d2 ∧ ¬d1 ∧ ¬d0
1100
m10=d3 ∧ ¬d2 ∧ d1 ∧ ¬d0
1010
x

x
     

I2,0 und I2,2 bzw. I2,1 und I2,3 sind identisch. Deshalb werden I2,2 und I2,3 nicht berücksichtigt. Z berechnet sich aus den nicht mit x versehenen Termen.
Z =(d3 ∧ d2) ∨ (d3 ∧ d1) = d3 ∧ (d2 ∨ d1).

Es sollen nun auch die Werte für e2 und e1 mit Hilfe des Verfahrens bestimmt werden. Im Beispiel wurde das Ergebnis durch etwas Überlegung abgeleitet.

d3 d2 d1 d0 e2 MinTerm Gruppe
0 0 0 0 0    
0 0 0 1 0    
0 0 1 0 0    
0 0 1 1 0    
0 1 0 0 1 m4 3
0 1 0 1 1 m5 2
0 1 1 0 1 m6 2
0 1 1 1 1 m7 1
1 0 0 0 0    
1 0 0 1 0    
1 0 1 0 0    
1 0 1 1 0
1 1 0 0 0    
1 1 0 1 0    
1 1 1 0 1 m14 1
1 1 1 1 1 m15 0

 

Minterme   1. Vereinfachung   2. Vereinfachung
Gruppe 0

m15
1111

x I1,0 = m15 ∨ m14
1111
1110
111-
I1,1 m15 ∨ m7
1111
0111
-111
x



x

I2,0 = I1,0 ∨ I1,3
111 -
011 -
- 11 -
I2,1= I1,1 ∨ I1,2
- 111
- 110
- 11 -
Gruppe 1
m14
1110

m7
0111
x


x
I1,2 = m14 ∨ m6
1110
0110
-110
I1,3 = m7 ∨ m6
0111
0110
011-
I1,4 = m7 ∨ m5
0111
0101
01-1
x



x



x
I2,2= I1,3 ∨ I1,6
011-
010-
01--
I2,3 = I1,4 ∨ I1,5
01-1
01-0
01--
Gruppe 2
m6
0110
m5
0101
x


x
I1,5 m6 ∨ m4
0110
0100
01-0
I1,6 m5 ∨ m4
0101
0100
010-
x



x
 
Gruppe 3
m4
0100
x      

e2 = (d2 ∧ d1) ∨ (¬d3 ∧ d2) = d2 ∧ (d1 ∨ ¬d3)

Diese Lösung ist noch eleganter als die Überlegungen aus dem oberen Teil, unterscheidet sich aber von der vorherigen Lösung. Sie führt aber, wie nachher aus der Schaltung ersichtlich wird, zum selben Ergebnis.

d3 d2 d1 d0 e1 MinTerm Gruppe
0 0 0 0 0    
0 0 0 1 0    
0 0 1 0 1 m2 3
0 0 1 1 1 m3 2
0 1 0 0 0    
0 1 0 1 0    
0 1 1 0 1 m6 2
0 1 1 1 1 m7 1
1 0 0 0 0    
1 0 0 1 0    
1 0 1 0 0    
1 0 1 1 0
1 1 0 0 1 m12 2
1 1 0 1 1 m13 1
1 1 1 0 0    
1 1 1 1 0    

 

Minterme   1. Vereinfachung   2. Vereinfachung
Gruppe 1

m13
1101
m7
0111

x


x
I1,0 =m13 ∨ m12
1101
1100
110 -
I1,1 = m7 ∨ m6
0111
0110
011 -
I1,2 = m7 ∨ m3
0111
0011
0 -11



x



x

I2,0 = I1,1 Ú I1,4
011 -
001 –
0 -1 -
I2,1 = I1,2 Ú I1,3
0 -11
0 -10
0 -1 -
Gruppe 2
m12
1100
m6
0110
m3
0011
x

x

x
I1,3 = m6 ∨ m2
0110
0010
0-10
I1,4 = m3 ∨ m2
0011
0010
001-
x



x
 
Gruppe 3
m2
0010
x
     

Da I1,0 nicht weiter benutzt wurde, muss dieser Term Bestandteil der endgültigen Funktion sein. I2,0 und I2,1 sind identisch.
e1 = (d3 ∧ d2 ∧ ¬d1) ∨ (¬d3 ∧ d1)

Bild

 

Ein weiteres Beispiel

1. Ermitteln der Minterme

d3 d2 d1 d0 Y MinTerm Gruppe
0 0 0 0 1 m0 4
0 0 0 1 1 m1 3
0 0 1 0 0    
0 0 1 1 0    
0 1 0 0 1 m4 3
0 1 0 1 1 m5 2
0 1 1 0 1 m6 2
0 1 1 1 1 m7 1
1 0 0 0 1 m8 3
1 0 0 1 1 m9 2
1 0 1 0 0    
1 0 1 1 0
1 1 0 0 0 m11 2
1 1 0 1 0    
1 1 1 0 0    
1 1 1 1 1 m15 0

Ermitteln der Primterme

Minterme   1. Vereinfachung   2. Vereinfachung
Gruppe 0

m15=d3 ∧ d2 ∧ d1 ∧ d0
1111

x I1,0=m15 ∨ m11
= d3 ∧ d1 ∧ d0
1111
1011
1-11

I1,1=m15 ∨ m7
= d2 ∧ d1 ∧ d0
1111
0111
-111
P1





P2





Gruppe 1
m7=¬d3 ∧ d2 ∧ d1 ∧ d0
0111

m11=d3 ∧ ¬d2 ∧ d1 ∧ d0
1011
x


x

I1,2=m5 ∨ m7
= ¬d3 ∧ d2 ∧ d0
0101
0111
01-1
I1,3=m6 ∨ m7
= ¬d3 ∧ d2 ∧ d1
0110
0111
011-
I1,4=m9 ∨ m11
= d3 ∧ ¬d2 ∧ d0
1001
1011
10-1
x




x




P3




I2,0=I1,2 ∨ I1,7     P4
= ¬d3 ∧ d2
01-1
01-0
01--
I2,1=I1,3 ∨ I1,8
= ¬d3 ∧ d2
011-
010-
01--
Gruppe 2
m5=¬d3 ∧ d2 ∧ ¬d1 ∧ d0
0101
m6=¬d3 ∧ d2 ∧ d1 ∧ ¬d0
0110
m9=d3 ∧ ¬d2 ∧ ¬d1 ∧ d0
1001
x

x

x
I1,5=m1 ∨ m5
= ¬d3 ∧ ¬d1 ∧ d0
0001
0101
0-01
I1,6=m1 ∨ m9
= ¬d2 ∧¬ d1 ∧ d0
0001
1001
-001
I1,7=m4 ∨ m6
= ¬d3 ∧ d2 ∧ ¬d0
0100
0110
01-0
I1,8=m4 ∨ m5
= ¬d3 ∧ d2 ∧ ¬d1
0100
0101
010-
1,9=m8 ∨ m9
= d3 ∧ ¬d2 ∧ ¬d1
1000
1001
100-
x




x




x




x




x
I2,2=I1,5 ∨ I1,11
= ¬d3 ∧ ¬d1
0-01
0-00
0-0-
I2,3=I1,6 ∨ I1,12
= ¬d2 ∧ ¬d1
-001
-000
-00-
I2,4=I1,10 ∨ I1,8     P5
= ¬d3 ∧ ¬d1
000-
010-
0-0-
I2,5=I1,10 ∨ I1,9    P6
= ¬d2 ∧ ¬d1
000-
100-
-00-
Gruppe 3
m1=¬d3 ∧ ¬d2 ∧ ¬d1 ∧ d0
0001
m4=¬d3 ∧ d2 ∧ ¬d1 ∧ ¬d0
0100
m8=d3 ∧ ¬d2 ∧ ¬d1 ∧ ¬d0
1000
x

x

x
I1,10=m0 ∨ m1
= ¬d3 ∧ ¬d2 ∧ ¬d1
0000
0001
000-
I1,11=m0 ∨ m4
= ¬d3 ∧ ¬d1 ∧ ¬d0
0000
0100
0-00
I1,12=m0 ∨ m8
= ¬d2 ∧ ¬d1 ∧ ¬d0
0000
1000
-000
x




x




x
 
Gruppe 4
m5´0=¬d3 ∧ ¬d2 ∧ ¬d1 ∧ ¬d0
0000
x      

Es ergeben sich sechs Primterme. Anhand dieser Terme wird eine Primtermtabelle erstellt

  m0 m1 m4 m5 m6 m7 m8 m9 m11 m15
P1                 x x
P2           x       x
P3               x x  
P4     x x x x        
P5 x x x x            
P6 x x         x x    

Dominanzprüfung

Als erstes wird eine Spaltendominazprüfung durchgeführt. Die Spalten werden paarweise darauf verglichen, ob nicht eine Spalte existiert, in der die markierten Primterme eine Teilmenge der markierten Primterme der anderen Spalte sind. Ist dies der Fall, kann die Spalte mit der Obermege gestrichen werden. In der folgenden Zeilendominanzprüfung werden die Zeilen paarweise miteinander verglichen. Existiert eine Zeile, in denen die Minterme einer Teilmenge der Minterme der anderen Zeile sind, so wird sie gestrichen. Die Relation ist also umgekehrt zur Spaltendominanzprüfung. Die erste Spaltendominanzprüfung ergibt, dass m0, m1 und m9 wegen m8 und m4, m5 und m7 wegen m6 gestrichen werden können. Danach sieht die Tabelle wie folgt aus:

  m6 m8 m11 m15
P1     x x
P2       x
P3     x  
P4 x      
P5        
P6   x    

Die Zeilendominanzprüfung ergibt, das P5 (leer), P2 (wegen P1) und P3 (wegen P1) gestrichen werden können.

  m6 m8 m11 m15
P1     x x
P4 x      
P6   x    

Eine zweite Spaltendominanzprüfung führt zum Streichen von m15 wegen m11. Das Ergebnis ist

  m6 m8 m11
P1     x
P4 x    
P6   x  
Die gesuchte Zielfunktion lautet damit:
Y = (d3 ∧ d1 ∧ d0)  ∨ (¬d3 ∧ d2)  ∨  (¬d2 ∧ ¬d1)