Logikminimierung < Technische Inform. < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:16 Do 23.08.2007 | Autor: | RalU |
Aufgabe | Hallo!
Es geht mum Logikminimierung. Und zwar soll folgender Ausdruck miminiert werden.
[mm] g=\neg(a\wedge\neg b\wedge d)\wedge [/mm] d [mm] \vee \neg(a \wedge [/mm] b [mm] \wedge [/mm] c [mm] \wedge \neg [/mm] d) [mm] \wedge [/mm] c [mm] \wedge \neg [/mm] d [mm] \wedge \neg [/mm] a [mm] \wedge \neg [/mm] b [mm] \wedge \neg [/mm] c [mm] \wedge \neg [/mm] d |
Wie lässt sich das umformen, um es in ein KV-Diagramm eintragen zu können und dann zu minimieren. Die Minimierung mit dem KV-Diagramm selbst ist nicht das Problem.
Wie wandle ich z.B. [mm] \neg(a\wedge\neg b\wedge [/mm] d) um?
Wenn ich da De Morgan anwenden würde, käme ich doch zunächst auf [mm] (\neg [/mm] a [mm] \vee [/mm] b) [mm] \wedge [/mm] d und dann müsste ich wohl nochmal DeMorgan anwenden oder wie geht das mit dem DeMorgan, wenn mehr als 2 Variablen vorliegen?
Oder sollte man alles erst in DNF umformen (wenn sowas geht)?
Also z.B. für die erste Klammer in g oben wäre das dann:
[mm] \neg(a\wedge\neg b\wedge d)=\neg [/mm] a [mm] \vee [/mm] b [mm] \vee \neg [/mm] d
Vielen Dank für eure Hilfe...
|
|
|
|
Hallo RalU!
> Es geht mum Logikminimierung. Und zwar soll folgender
> Ausdruck miminiert werden.
>
> [mm]g=\neg(a\wedge\neg b\wedge d)\wedge[/mm] d [mm]\vee \neg(a \wedge[/mm] b
> [mm]\wedge[/mm] c [mm]\wedge \neg[/mm] d) [mm]\wedge[/mm] c [mm]\wedge \neg[/mm] d [mm]\wedge \neg[/mm]
> a [mm]\wedge \neg[/mm] b [mm]\wedge \neg[/mm] c [mm]\wedge \neg[/mm] d
Also bei diesem Ausdruck ansich lässt sich doch schon einiges rausschmeißen. Z. B. kommt [mm] $\neg [/mm] d$ gleich zweimal vor, und [mm] $c\wedge\neg [/mm] c$ kann ja gar nicht wahr werden. Bist du sicher, dass das der richtige Ausdruck ist?
> Wie lässt sich das umformen, um es in ein KV-Diagramm
> eintragen zu können und dann zu minimieren. Die Minimierung
> mit dem KV-Diagramm selbst ist nicht das Problem.
Braucht man, um es in ein KV-Diagramm eintragen zu können, nicht die DNF? Ist schon ein bisschen her bei mir, deswegen bin ich mir nicht sicher...
> Wie wandle ich z.B. [mm]\neg(a\wedge\neg b\wedge[/mm] d) um?
> Wenn ich da De Morgan anwenden würde, käme ich doch
> zunächst auf [mm](\neg[/mm] a [mm]\vee[/mm] b) [mm]\wedge[/mm] d und dann müsste ich
> wohl nochmal DeMorgan anwenden oder wie geht das mit dem
> DeMorgan, wenn mehr als 2 Variablen vorliegen?
Es gilt doch allgemein:
[mm] $(a\wedge b\wedge c)=((a\wedge b)\wedge [/mm] c)$
Und darauf kannst du wunderbar DeMorgan anwenden:
[mm] $\neg(a\wedge b\wedge c)=\neg((a\wedge b)\wedge c)=\neg(a\wedge b)\vee\neg [/mm] c$
und dann direkt noch einmal:
[mm] $=\neg a\vee\neg b\vee \neg [/mm] c$
> Also z.B. für die erste Klammer in g oben wäre das dann:
> [mm]\neg(a\wedge\neg b\wedge d)=\neg[/mm] a [mm]\vee[/mm] b [mm]\vee \neg[/mm] d
Ja, genau. Kommst du nun alleine klar? Ist schon irgendwie ne komische Aufgabe...
Viele Grüße
Bastiane
|
|
|
|
|
Hallo RalU,
> Es geht mum Logikminimierung. Und zwar soll folgender
> Ausdruck miminiert werden.
>
> [mm]g=\neg(a\wedge\neg b\wedge d)\wedge[/mm] d [mm]\vee \neg(a \wedge[/mm] b
> [mm]\wedge[/mm] c [mm]\wedge \neg[/mm] d) [mm]\wedge[/mm] c [mm]\wedge \neg[/mm] d [mm]\wedge \neg[/mm]
> a [mm]\wedge \neg[/mm] b [mm]\wedge \neg[/mm] c [mm]\wedge \neg[/mm] d
> Wie lässt sich das umformen, um es in ein KV-Diagramm
> eintragen zu können und dann zu minimieren.
Wozu willst du diesen Ausdruck weiter durch Boolesche Algebra vereinfachen (und dabei mögliche Fehler riskieren), wenn du ihn danach sowieso durch KV minimieren willst (*)? Dann setze doch gleich alle möglichen Werte für a,b,c,d ein (hier 16 Werte) und schreibe die Ergebnisse sogleich ins KV-Diagramm. Danach kannst du sofort minimieren.
Viele Grüße
Karl
[P.S. (*) KV benutzt natürlich auch die Boolesche Algebra, ist jedoch unter Umständen einfacher. ]
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 07:48 Fr 24.08.2007 | Autor: | RalU |
Aufgabe | Ok, aber wie bringe ich denn z.B. den Teil [mm] \neg(a\wedge\neg b\wedge [/mm] d) ins KV ein? Such ich mir dann [mm] (a\wedge\neg b\wedge [/mm] d) im KV raus und schreibe dann aber eine 0 rein, weil das ganze negiert wird???
Ich hab ein Problem damit, die Funktion so wie sie dort steht in ein KV einzutragen.
Oder dann den Teil hinter der zweiten Klammer. Da taucht dann irgendwo [mm] ...\wedge [/mm] c auf und später [mm] ...\wedge \neg [/mm] c. Wie lässt sich denn sowas eintragen? |
Ich denke auch, dass die Funktion als Konjungierte Form vorliegt. Macht es vielleicht Sinn sie erstmal als disjunktive Form umzuwandeln, bevor ich sie ins KV bringe?
Nochmal vielen Dank für Euere Hilfe...
Gruß, Ralf
|
|
|
|
|
Hallo RalU,
> Ok, aber wie bringe ich denn z.B. den Teil [mm]\neg(a\wedge\neg b\wedge[/mm]
> d) ins KV ein? Such ich mir dann [mm](a\wedge\neg b\wedge[/mm] d) im
> KV raus und schreibe dann aber eine 0 rein, weil das ganze
> negiert wird???
Was ich meinte, ist das Einsetzen aller möglichen Werte in die Formel, also z.B. [mm]\overline{0\bar{0}0} = 1,\overline{0\bar{0}1}=1,\dotsc[/mm] u.s.w. und das Einsetzen der Ergebnisse ins KV. "Fehlt" nun eine Variable in der Formel (hier z.B. c, so heißt das, daß du in der Tabelle aller möglichen Werte für die Formel den Wert für c ignorieren kannst.)
Viele Grüße
Karl
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:27 Fr 24.08.2007 | Autor: | RalU |
Aufgabe | Also Du meinst im Prinzip eigentlich eine Wertetabelle (da stehen ja dann alle möglichen Kombinationen drin).
Aber wird das nicht zu komplex? (bei 4 Variablen (a,b,c,d) wären das ja [mm] 2^{4}=16 [/mm] Zeilen. |
...Klar, machbar ist das in jedem Fall...
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:20 Fr 24.08.2007 | Autor: | Karl_Pech |
> Also Du meinst im Prinzip eigentlich eine Wertetabelle (da
> stehen ja dann alle möglichen Kombinationen drin).
> Aber wird das nicht zu komplex? (bei 4 Variablen (a,b,c,d)
> wären das ja [mm]2^{4}=16[/mm] Zeilen.
> ...Klar, machbar ist das in jedem Fall...
Solange es nicht zu viele Variablen sind, kannst du das problemlos per Hand machen (z.B. in Notepad ). Ich denke bei Ausdrücken bis zu 5 Variablen ist das vertretbar, wobei ich bei 5 Variablen in einer Klausuraufgabe dann doch darauf verzichten würde, weil es zu lange dauert. Aufgaben mit mehr als 5 Variablen werden, so vermute ich, nur selten gestellt, weil die KV-Diagramme dann unhandlich werden.
Viele Grüße
Karl
|
|
|
|