Falsche Vereinfachung von DNF?
Hallo,
ich habe folgende DNF: (!x1∧x2∧x3)v(x1∧!x2∧x3)v(x1∧x2∧!x3)v(x1∧x2∧x3)
Ich habe diesen Term vereinfacht in diesen: (!x1∧x2∧x3)v((x1)∧(x2 v x3))
Hier folgt nun die Wertbelegungstabelle:
Meine Vereinfachung des Terms ist falsch, aber ich erkenne den Fehler nicht. Mein Lehrer hat mir auf meine Frage auch nicht so richtig geantwortet, könnte mir bitte jemand erklären was ich falsch gemacht habe?
2 Antworten
Ergänzend zu berndao3 möchte ich anmerken, dass du nicht nur stattdessen den 1. und 2. Term mit dem letzten kombinieren (sprich: kürzen) kannst, sondern sehr wohl alle nacheinander.
Du kannst die letzte Zeile mit jeweils den anderen Zeilen kürzen, die am Ausgang 1 ergeben.
Damit eliminierst du weitere Faktoren für die Schaltungsgleichung:
Die gekürzte Tabelle beinhaltet dann nur noch die Zeilen:
x1 x2 x3 | Qa
X 1 1 | 1 (Zeilen 4 und 8 zusammen gekürzt)
1 X 1 | 1 (Zeilen 6 und 8 zusammen gekürzt)
1 1 X | 1 (Zeilen 7 und 8 zusammen gekürzt)
Daraus ergibt sich eine verkürzte Schaltungsgleichung, die das Gleiche leistet:
Qa = (x2∧x3) ∨ (x1∧x3) ∨ (x1∧x2)
Diese Schaltungsgleichung ist sicher um einiges kürzer als deine ausführliche.
Bedenke: beim Kürzen von 2 Termen dürfen sich diese lediglich in EINER EINZIGEN Eingangsvariablen unterscheiden. Diese Unterscheidungsstelle wird dann eliminiert (zu X - also beliebig).
Übrigens werden die Eingangsvariablen normalerweise in der umgekehrten Richtung aufgeschrieben. Die Tabelle müsste also folgende Variablen-Überschriften haben:
x3 | x2 | x1 || Qa
Warum?
Damit zusätzliche Eingangssignale (bei einer möglichen Erweiterung) problemlos links ergänzt werden können.
Grundsätzlich:
Es gibt das Quine-McCluskey Verfahren, mit dem man bspw. das minimieren kann.
Grundpriunzip ist dass du nur 2 Terme kombinieren kannst wenn sie sich in einem Faktor unterscheiden.
das klappt bei dir nicht, weil die sich alle in mehr als einem Faktor unterscheiden.
du kannst höchstens einen der ersten 3 terme mit dem vierten kombinieren. mehr geht da nicht.
Ich weiß aber was du machen wolltest:
(x1∧!x2∧x3)v(x1∧x2∧!x3)v(x1∧x2∧x3)
wolltest du zu
(x1)∧(x2 v x3)
zusammefassen.
ganz grob hast du dir gedacht:
bei allen termen ist x1=1 und es werden alle kombinationen für x2,x3 durchprobiert.
kein falscher gedanke, aber dein fehler:
hierzu fehlt ein Term, nämlich (x1∧!x2∧!x3).
nur wenn der auch da stünde, könntest du alle 4 zu x1 zusammenfassen.
in der wertetabellen wäre das die zeile 1 0 0 | 0.
da müsste rechts ebenso eine 1 stehen, dann könntest du die 4 letzten zeilen zu x1 zusammenfassen :-)
Aber so lässt sich der ausdruck, der da steht, fasst nicht vereinfachen.
Einziges was du machen kannst:
(!x1∧x2∧x3)v(x1∧!x2∧x3)v(x1∧x2∧!x3)v(x1∧x2∧x3)
=(!x1∧x2∧x3)v(x1∧!x2∧x3)v(x1∧x2)
gleichermassen könntest du stattdessen auch den 1. oder 2. term mit dem 4. kombinieren :-)
kurz: du versuchst du letzten 4 zeilen (alle wo x1=1 ist) zusammenzufassen aber nicht alle 4 zeilen haben auch hinten eine 1!