Informatik

Karnaugh-Veitch-Diagramm einfach erklärt

Karnaugh-Veitch-Diagramm einfach erklärt
Karnaugh-Veitch-Diagramm einfach erklärt
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

Ein Karnaugh-Veitch-Diagramm, kurz KV-Diagramm, ordnet die Werte einer Wahrheitstabelle so an, dass du benachbarte Einsen oder Nullen zusammenfassen kannst. Dadurch verschwinden veränderliche Variablen aus dem booleschen Ausdruck.

Du lernst, ein KV-Diagramm auszufüllen, gültige Gruppen zu erkennen und daraus eine vereinfachte Funktion abzulesen.

Deine Lernziele

Hake ab, was du schon kannst — und komm am Ende hierher zurück!

Warum verschwinden Variablen?

Zwei benachbarte Felder unterscheiden sich in genau einer Variable. Ist die Funktion in beiden Feldern 1, spielt diese wechselnde Variable für das Ergebnis keine Rolle mehr.

Beispiel

Die beiden Terme $A\land B$ und $A\land\neg B$ unterscheiden sich nur in $B$:

$$(A\land B)\lor(A\land\neg B)=A$$

$A$ bleibt immer wahr. Ob $B$ wahr oder falsch ist, ändert das Ergebnis nicht. Deshalb entfällt $B$.

Merke

Eine Gruppe mit $2^k$ Feldern entfernt genau $k$ Variablen. In einem Diagramm mit $n$ Variablen bleiben also $n-k$ Literale übrig.

GruppengrößeEntfallende Variablen
10
21
42
83
Teste dich
Frage 1 von 1LeichtWarum darf eine Variable beim Zusammenfassen zweier Nachbarfelder entfallen?
Lösung: Sie besitzt in den beiden Feldern beide möglichen Werte, während die anderen Variablen gleich bleiben. — Entscheidend ist nicht der Wert 0, sondern der Wechsel zwischen 0 und 1 innerhalb einer gültigen Gruppe.
Wie ist ein KV-Diagramm aufgebaut?

Bei $n$ Eingangsvariablen besitzt das Diagramm $2^n$ Felder. Vier Variablen ergeben daher $2^4=16$ Felder.

Jedes Feld steht für genau eine Eingabekombination. Die Zeilen und Spalten folgen einer Gray-Code-Reihenfolge, zum Beispiel:

$00, 01, 11, 10$

Dadurch unterscheiden sich benachbarte Beschriftungen stets in genau einem Bit. Auch der erste und der letzte Eintrag dieser Reihenfolge sind benachbart.

Gegenüberliegende Ränder des Diagramms berühren sich gedanklich:

  • links ist mit rechts benachbart;
  • oben ist mit unten benachbart;
  • bei vier Variablen bilden dadurch auch die vier Eckfelder gemeinsam eine gültige Vierergruppe;
  • diagonal angrenzende Felder sind nicht benachbart.
Teste dich
Frage 1 von 1LeichtWelche Reihenfolge eignet sich für zwei Bits am Rand eines KV-Diagramms?
Lösung: $00, 01, 11, 10$ — Eine gültige Reihenfolge sorgt an jedem Übergang – einschließlich des Randübergangs – für genau einen Bitwechsel.
Wie überträgst du eine Wahrheitstabelle?

Gehe für eine disjunktive Normalform, kurz DNF, so vor:

  1. Lege für jede Eingabekombination das zugehörige KV-Feld fest.
  2. Trage dort eine 1 ein, wenn die Funktion den Wert 1 besitzt.
  3. Trage sonst eine 0 ein.
  4. Prüfe die Zuordnung nochmals anhand der Gray-Code-Beschriftung.

Ein Minterm beschreibt genau eine Eingabekombination, für die die Funktion 1 ist. In seiner vollständigen Form enthält er jede Eingangsvariable entweder negiert oder nicht negiert.

Beispiel

Für drei Variablen $x_2,x_1,x_0$ verwenden wir die Zeilenvariable $x_2$ und die Spaltenfolge $x_1x_0=00,01,11,10$.

Die Funktion sei bei den binären Eingaben mit den Indizes $0,1,4,5,6,7$ gleich 1. Der Index ist dabei der Binärwert von $x_2x_1x_0$.

$x_2$ / $x_1x_0$00011110
01100
11111

Beispielsweise gehört der Index 6 zur Eingabe $110$. Er steht deshalb in der Zeile $x_2=1$ und in der Spalte $x_1x_0=10$.

Teste dich
Frage 1 von 1MittelWo wird die Eingabe $x_2x_1x_0=111$ eingetragen?
Lösung: In der Zeile $x_2=1$ und der Spalte $x_1x_0=11$. — Trenne die Eingabe entsprechend der Randbeschriftung: $x_2$ bestimmt die Zeile, $x_1x_0$ bestimmt die Spalte.
Welche Gruppen sind gültig?

Bei der Minterm-Methode überdeckst du alle Einsen mit möglichst großen rechteckigen Gruppen.

Eine gültige Gruppe erfüllt diese Regeln:

  • Sie enthält $1,2,4,8,\ldots$ Felder.
  • Ihre Höhe und Breite sind Zweierpotenzen.
  • Sie enthält keine 0.
  • Ihre Felder sind waagerecht oder senkrecht benachbart, gegebenenfalls über einen Rand hinweg.
  • Gruppen dürfen sich überlappen; eine 1 darf mehrfach verwendet werden.
  • Alle Einsen müssen am Ende abgedeckt sein.
  • Eine Gruppe soll nicht vollständig in einer größeren gültigen Gruppe liegen.

Ein Dreierblock ist nicht erlaubt. Drei nebeneinanderliegende Einsen kannst du stattdessen mit zwei überlappenden Zweiergruppen abdecken.

Merke

Suche zuerst die größten Gruppen. Große Gruppen liefern Ausdrücke mit weniger Literalen. Danach deckst du noch unberücksichtigte Einsen mit möglichst wenigen weiteren Gruppen ab.

Teste dich
Frage 1 von 2MittelDrei Einsen liegen waagerecht nebeneinander. Wie darfst du sie abdecken?
Lösung: Mit zwei Zweiergruppen, die sich in einer Eins überlappen. — Überlappungen sind erlaubt. Zwei Zweiergruppen sind hier günstiger als drei Einergruppen.
Frage 2 von 2SchwerWelche Vierergruppe ist zulässig?
Lösung: Vier Einsen in den vier Ecken eines Vier-Variablen-Diagramms. — Die Ecken bilden wegen der Nachbarschaft von linkem und rechtem sowie oberem und unterem Rand eine gültige Vierergruppe.
Wie liest du den vereinfachten Ausdruck ab?

Betrachte jede gewählte Gruppe einzeln:

  1. Prüfe für jede Variable, ob ihr Wert innerhalb der gesamten Gruppe konstant bleibt.
  2. Streiche jede Variable, die zwischen 0 und 1 wechselt.
  3. Schreibe konstante Variablen mit Wert 1 nicht negiert auf.
  4. Schreibe konstante Variablen mit Wert 0 negiert auf.
  5. Verbinde die Literale einer Gruppe mit UND.
  6. Verbinde die Terme aller Gruppen mit ODER.
Beispiel

Wir verwenden erneut das Diagramm mit Einsen bei $0,1,4,5,6,7$.

Die gesamte untere Zeile ist eine Vierergruppe. Dort gilt stets $x_2=1$, während $x_1$ und $x_0$ wechseln. Ihr Term ist daher $x_2$.

Die ersten beiden Spalten bilden über beide Zeilen hinweg eine weitere Vierergruppe. Dort gilt stets $x_1=0$, während $x_2$ und $x_0$ wechseln. Ihr Term ist daher $\neg x_1$.

Die vereinfachte Funktion lautet:

$$F=\neg x_1\lor x_2$$

Kontrolle: Für $x_2=1$ ist die ganze untere Zeile 1. Für $x_2=0$ wird die Funktion nur dann 1, wenn $x_1=0$ ist. Das stimmt mit dem Diagramm überein.

Teste dich
Frage 1 von 2MittelIn einer Gruppe bleibt $A=0$ und $C=1$, während $B$ und $D$ wechseln. Welcher Term entsteht?
Lösung: $\neg A\land C$ — Nur die konstanten Variablen bleiben erhalten. Deshalb verschwinden $B$ und $D$.
Frage 2 von 2SchwerEine Lösung verwendet viele kleine Gruppen, obwohl dieselben Einsen mit größeren Gruppen abgedeckt werden können. Was solltest du ändern?
Lösung: Die größeren gültigen Gruppen wählen und danach prüfen, ob noch alle Einsen abgedeckt sind. — Größere Gruppen lassen mehr Variablen entfallen. Keine gewählte Einsgruppe darf jedoch eine 0 enthalten.
Was ändert sich bei Nullen und Don’t-Cares?

Sind nur wenige Nullen vorhanden, kannst du statt der Einsen die Nullen gruppieren. Jeder Nullblock liefert einen ODER-Term; die Blockterme werden anschließend mit UND verbunden. Das Ergebnis ist eine vereinfachte konjunktive Normalform, kurz KNF.

Beim Ablesen eines Nullblocks gilt gegenüber der Einsgruppen-Methode:

  • Eine konstant 0 gesetzte Variable erscheint nicht negiert.
  • Eine konstant 1 gesetzte Variable erscheint negiert.
  • Innerhalb des Blocks wechselnde Variablen entfallen.

Ein Don’t-Care wird mit $X$ markiert. Für diese Eingabekombination ist der Ausgang nicht festgelegt. Du darfst das Feld wie eine 0 oder eine 1 verwenden, wenn dadurch eine größere Gruppe entsteht. Bringt es keinen Vorteil, lässt du es unbenutzt. Ein Don’t-Care muss nicht abgedeckt werden.

Gut zu wissen

Für jeden Ausgang einer Schaltung brauchst du eine eigene boolesche Funktion und damit ein eigenes KV-Diagramm. Das Verfahren ist besonders übersichtlich bis vier Variablen. Bei mehr Variablen werden Nachbarschaften und gültige Gruppen deutlich schwerer erkennbar.

Teste dich
Frage 1 von 2LeichtWozu dient ein Don’t-Care im KV-Diagramm?
Lösung: Es darf passend als 0 oder 1 genutzt werden, um eine günstigere Gruppe zu bilden. — Don’t-Cares sind Hilfsmöglichkeiten, keine Pflichtfelder: Nutze sie nur, wenn sie die Vereinfachung verbessern.
Frage 2 von 2MittelWas entsteht, wenn du Nullen gruppierst?
Lösung: Eine vereinfachte KNF, deren Blockterme mit UND verbunden werden. — Nullgruppen beschreiben Bedingungen, unter denen die Funktion 0 wird. Daraus werden ODER-Terme einer KNF.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • Karnaugh-Veitch-Diagramm
    • Wahrheitstabelle in $2^n$ Gray-Code-Felder übertragen
    • Einsen für eine vereinfachte DNF gruppieren
    • Nullen für eine vereinfachte KNF gruppieren
    • Gruppen nur in Zweierpotenzgrößen bilden
    • Gegenüberliegende Ränder als benachbart behandeln
    • Wechselnde Variablen aus dem Blockterm streichen
    • Große Gruppen und wenige Terme anstreben
    • Don’t-Cares nur bei einem Vereinfachungsvorteil nutzen
Abschluss-Check
Teste dich
Frage 1 von 3LeichtWelche Aussage über KV-Gruppen stimmt?
Lösung: Gruppen dürfen sich überlappen und über gegenüberliegende Ränder reichen. — Entscheidend sind gültige Nachbarschaft, Zweierpotenzgröße und das Verbot, eine 0 in eine Einsgruppe aufzunehmen.
Frage 2 von 3MittelEine Achtergruppe liegt in einem Diagramm mit vier Variablen. Wie viele Literale bleiben in ihrem Term?
Lösung: Ein Literal — Eine $2^3$-Gruppe entfernt drei Variablen. Von vier Variablen bleibt genau eine übrig.
Frage 3 von 3SchwerDu hast alle Einsen abgedeckt. Eine Zweiergruppe lässt sich durch Hinzunahme zweier passender Einsen zu einer Vierergruppe erweitern. Was ist sinnvoll?
Lösung: Die Vierergruppe verwenden, weil dadurch eine weitere Variable entfällt. — Eine Vierergruppe entfernt zwei Variablen, eine Zweiergruppe nur eine. Prüfe anschließend, ob alle echten Einsen weiterhin abgedeckt sind.

Kannst du den Weg nun selbst beschreiben? Werte übertragen, große gültige Gruppen bilden, wechselnde Variablen streichen und die verbleibenden Blockterme verbinden.

Passend dazu