studyklar
MG · Übungsblatt 1 · Aufgabe 7

Formel zu einer Schaltung finden

Hier ist es umgekehrt als sonst: Die Wahrheitstafel ist gegeben, die Formel wird gesucht. Das Rezept dafür heißt Konstruktion der kanonischen disjunktiven Normalform. Es funktioniert für jede Tafel. Der ganze Lösungsweg steht offen da, die Erklärung gehört jeweils zum aktuellen Schritt. Mit Weiter geht es Schritt für Schritt voran. Ein Klick auf einen Schritt springt direkt dorthin.

Die Aufgabe

Die Wahrheitstafel einer Schaltung sei wie folgt gegeben:

Gegebene Tafel
pq?001010100111\begin{array}{cc|c} p & q & ? \\ \hline 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ 1 & 1 & 1 \end{array}

Geben Sie einen logischen Ausdruck für diese Schaltung nur mit ¬\neg, ∧\land und ∨\lor an.

Eine Schaltung hat hier zwei Eingänge pp und qq und einen Ausgang. Jeder Eingang ist 0 (aus) oder 1 (an). Eine Belegung ist eine Kombination von Werten für pp und qq, also eine Zeile der Tafel. Die Tafel sagt für alle vier Belegungen, was am Ausgang herauskommt. Diese Spalte heißt ?, weil die Formel dazu fehlt.

Gesucht ist ein Ausdruck aus pp und qq, der genau diese Spalte liefert. Erlaubt sind nur drei Zeichen: ¬\neg (nicht), ∧\land (und) und ∨\lor (oder).

So gehen wir vor:

  1. Die Begriffe klären: Literal, Konjunktionsterm, disjunktive Normalform.
  2. Die Zeilen suchen, in denen die Schaltung 1 ausgibt.
  3. Für jede dieser Zeilen einen Term bauen, der nur dort 1 ist.
  4. Die Terme mit Oder verbinden und mit einer Tafel prüfen.
  5. Ergänzung: kürzerer Name p ⇔ q und ein zweiter Weg (KNF).
Merke: Eine Formel zu einer Tafel baut man aus den Zeilen mit 1. Jede solche Zeile wird ein Term, der nur dort 1 ist. Die Terme werden mit Oder verbunden.

Literal, Konjunktionsterm, disjunktive Normalform

Aufbau einer DNF
(Literal∧Literal)∨(Literal∧Literal)∨…(\text{Literal} \land \text{Literal}) \lor (\text{Literal} \land \text{Literal}) \lor \ldots
Aus Aufgabe 1 („Wahrheitstafeln aufstellen“): ¬\neg (Negation) dreht den Wert um. ∧\land (Konjunktion, Und) ist nur 1, wenn beide Teile 1 sind; ∨\lor (Disjunktion, Oder) ist 1, sobald ein Teil 1 ist. Zeile 1 bis 4 sind p qp\,q = 0 0, 0 1, 1 0, 1 1.

Das Rezept braucht drei Wörter aus der Vorlesung:

  • Ein Literal ist eine Variable, ihre Verneinung oder eine der Konstanten 0 und 1. Hier brauchen wir nur pp, ¬p\neg p, qq und ¬q\neg q.
  • Ein Konjunktionsterm (kurz: Und-Term) verbindet Literale mit Und, zum Beispiel ¬p∧q\neg p \land q. Er ist nur 1, wenn alle seine Literale 1 sind.
  • Eine disjunktive Normalform (kurz DNF) verbindet solche Terme mit Oder. Disjunktiv heißt: mit Oder verbunden. Sie ist 1, sobald einer der Terme 1 ist.

Eine DNF benutzt also nur ¬\neg, ∧\land und ∨\lor. Genau das verlangt die Aufgabe.

Die Zeilen mit 1 suchen

Zeilen mit Ausgabe 1
(p,q)=(0,0)(p,q)=(1,1)(p, q) = (0, 0) \qquad (p, q) = (1, 1)

Die gesuchte Formel soll genau dann 1 sein, wenn die Schaltung 1 ausgibt. Also schaut man nur auf die Zeilen, in denen in der Spalte ? eine 1 steht.

  • Zeile 1: p=0p = 0, q=0q = 0.
  • Zeile 4: p=1p = 1, q=1q = 1.

In den Zeilen 2 und 3 steht 0. Für sie braucht man keinen Term.

Noch 6 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Tafel der Schaltung

D = (¬p ∧ ¬q) ∨ (p ∧ q), K = (p ∨ ¬q) ∧ (¬p ∨ q)

Abbildung 1Tafel der Schaltung

D = (¬p ∧ ¬q) ∨ (p ∧ q), K = (p ∨ ¬q) ∧ (¬p ∨ q)

Zeileppqq?¬p\neg p¬q\neg q¬p∧¬q\neg p \land \neg qp∧qp \land qDDp⇔qp \Leftrightarrow qKK
10011110111
20101000000
31000100000
41110001111
Legendegerade ausgewertetdie Zelle, auf die es ankommtDie gegebene Spalte ? und die gefundenen Formeln, für alle vier Belegungen.