Logische Ausdrücke vereinfachen
-
freakC++ schrieb:
also ist das Ungleich hier falsch? Das bedeutet also, dass man "und" als "mal/geteilt" und "oder" als "plus/minus" ansehen kann?
Ich denke du solltest nicht versuchen boolsche Logik und das Rechnen mit reelen Zahlen zu vermischen. Das sind zwei verschiedene Dinge!
Schau es dir mal von einer anderen Seite an: Du hast einige Regeln vorgegeben, die dir sagen, sie du mit logischen Ausdrücken umgehen kannst. Z.B.\begin{math} A \vee B = B \vee A\end{math}
\begin{math} A \wedge (B \wedge C) = (A \wedge\wedge C\end{math}
\begin{math} A \vee \bar A = 1\end{math}Einige Axiome gelten auch beim Rechnen mit reelen Zahlen... andere aber nicht. Wenn du jetzt einen Ausdruck vereinfachst / umformst, machst du nichts anderes als diese Axiome anzuwenden. Das hat erst mal nichts mit dem + und * zu tun, was du kennst.
Du kannst nicht sagen: $$\vee$$ hat Ähnlichkeiten mit + und $$\wedge$$ hat Ähnlichkeiten mit *, deshalb darf ich auch ausmultiplizieren wie ich es mir gewohnt bin.Ich persönlich schreibe normalerweise "A+B" für A OR B und "AB" für A AND B, wenn ich logische Ausdrücke vereinfache. Mir fällt es dann leichter, weil ich intuitiv die Priorität der Operatoren richtig verwende. Das ist aber nur eine Notation... auch wenn der Ausdruck so geschrieben ist lese ich "AB+CD" als "A UND B ODER C UND D" und nicht etwa mit MAL und PLUS.
Hoffentlich habe ich dich jetzt nicht mehr verwirrt als du schon bist ;).
-
+ ist bei mir xor.
-
knivil schrieb:
+ ist bei mir xor.
Hier haste ein paar Kringel zum Ausschneiden. Die kannste dann immer ums + machen:
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO~(Ja, ich weiß, daß man zum Beispiel in der Codierungstheorie gerne den Kringel wegläßt.)~
-
Ist das hier richtig?
\begin{math}(\bar B \wedge C) \wedge (\bar A \vee C) = ((\bar B \wedge C)) \wedge \bar A) \vee C = (\bar B \wedge C \wedge \bar A) \vee C = C \end{math}
danke
-
Nein. Der linke Ausdruck impliziert B=false, der rechte offensichtlich nicht. Wie ist deine Begründung für das erste Gleichheitszeichen?
-
freakC++ schrieb:
Ist das hier richtig?
\begin{math}(\bar B \wedge C) \wedge (\bar A \vee C) = ((\bar B \wedge C)) \wedge \bar A) \vee C = (\bar B \wedge C \wedge \bar A) \vee C = C \end{math}
danke
Du kannst nicht einfach Klammern wegnehmen und setzen wie du gerade Lust hast!
Und bindet stärker als oder:
\begin{math}(\bar B \wedge C) \wedge (\bar A \vee C) = \bar B \wedge C \wedge (\bar A \vee C) \end{math}
Du kennst ja das Absorbtionsgesetz (diesmal in der anderen Version), das kannst du einfach anwenden:
\begin{math}\bar B \wedge \underbrace{C \wedge (\bar A \vee C)}_{=C} = \bar B \wedge C \end{math}Um zu überprüfen, ob deine Rechnungen stimmen, kannst du ja einfach alle möglichen Kombinationen von A,B,C überprüfen (ich nehme an die sind alle 0 oder 1):
A B C (not B v C) (not A ^ C) (not B v C) v (not A ^ C) 0 0 0 0 1 0 0 0 1 ... ... ... 0 1 0 0 1 1 ... 1 1 1 0 1 0
Das sind nur 8 Kombinationen, wenn das nicht stimmt, kannst deine Lösung nicht stimmen!
-
ich dachte an das Assoziativgesetz.
-
Ich schreibe am besten mal die ganze Aufgabe hin: Man sollte folgenden Term vereinfachen:
\begin{math}\overline{B \vee (A \oplus B)} \wedge \overline{A \wedge (A \oplus B)}\end{math}
\begin{math} = (\bar B \wedge \overline{A \oplus B}) \wedge (\bar A \vee \overline{A \oplus B})\end{math}
\begin{math} C = \overline{A \oplus B}\end{math}
\begin{math} = (\bar B \wedge C) \wedge (\bar A \vee C) \end{math}
\begin{math} = \bar B \wedge C = \bar B \wedge (A \oplus
= \bar B \wedge ((A \wedge
\vee (\bar A \wedge \bar B))\end{math}
Und nun? Irgendwie komme ich auf keine Vereinfachung.
Vielen Dank
lg, freakC++
-
freakC++ schrieb:
ich dachte an das Assoziativgesetz.
Das gilt nur zwischen gleichen Operatoren.
Irgendwie komme ich auf keine Vereinfachung.
Distributivgesetz (aka "Ausmultiplizieren"). Dann sollten einige Terme wegfallen.
-
Kann ich hier das B_quer auf beide "Summanden" in der Klammer anwenden? Also zweimal das Distributivgesetz verwenden?
Ich habe mir mal eine Wahrheitstabelle gemacht:
A B Term
0 0 1
1 0 0
0 1 0
1 1 0
-
\begin{math} \bar B \wedge ((A \wedge\vee (\bar A \wedge \bar B)) = (\bar B \wedge (A \wedge B)) \vee (\bar B \wedge (\bar A \wedge \bar B)) = (\bar A \wedge \bar
\end{math}
(der erste Teilausdruck wird durch Komplementärgesetz und neutralem Element eliminiert, beim zweiten kannst du die beiden ‾B zusammenfassen)
*nachsieht* das passt zu deiner Wertetabelle
-
jupp! Darauf bin ich jetzt auch gekommen. Danke.
Wie komme ich aber von
auf
Ist das das Azzosiativgesetz? Warum geht dann aber nicht das hier:
\begin{math}((\bar B \wedge C)) \wedge \bar A) \vee C \end{math}
Liegt das am UND? Ich habe doch das stäker bindende UND zusammengefasst?!
Gute Nacht
lg, freakC++
-
freakC++ schrieb:
jupp! Darauf bin ich jetzt auch gekommen. Danke.
Wie komme ich aber von
auf
Ist das das Azzosiativgesetz?
Ja, das ist es
Warum geht dann aber nicht das hier:
\begin{math}((\bar B \wedge C)) \wedge \bar A) \vee C \end{math}
Liegt das am UND? Ich habe doch das stäker bindende UND zusammengefasst?!
Nein, das liegt nicht am UND - das liegt einfach nur daran, daß das Assoziativgesetz nur für gleiche Operatoren gilt. Bei diesem Ausdruck stehen aber zwei verschiedene Operatoren nebeneinander - die müsstest du mit dem Distribtivgesetz aufdröseln.
-
freakC++ schrieb:
Warum geht dann aber nicht das hier:
\begin{math}((\bar B \wedge C)) \wedge \bar A) \vee C \end{math}
Liegt das am UND? Ich habe doch das stäker bindende UND zusammengefasst?!
Gute Nacht
lg, freakC++Überleg dir nochmal mit reelen Zahlen, was "stärker bindend" heisst:
a*(b+c)
* bindet stärker als +.
Deine Aussage "Ich habe doch das stärker bindende zusammengefasst" macht überhaupt keinen Sinn. Es ist eher das Gegenteil von dem was korrekt ist:
a*(b+c) ist NICHT gleich (a*b)+c. Das entspricht aber so in etwa der Logik, die du beim zusammenfassen angewandt hast.\begin{math}(\bar B \wedge C) \wedge (\bar A \vee C) \end{math}
Assoziativgesetz: Klammern zwischen gleichen Operatoren nicht nötig:
\begin{math}\bar B \wedge C \wedge (\bar A \vee C) \end{math}
Assoziativgesetz heisst natürlich auch: Zusätzliche Klammern zwischen gleichen Operatoren dürfen eingefügt werden:
\begin{math}\bar B \wedge (C \wedge (\bar A \vee C)) \end{math}
-
freakC++ schrieb:
Liegt das am UND? Ich habe doch das stäker bindende UND zusammengefasst?!
Der Knackpunkt ist, dass du um das tun zu können die klammern, die ja schon da waren ignoriert hast. Du darfst aber nicht einfach klammern weglassen und dann auf basis der bindungsregeln neue erfinden. wenn schon welche da sind, dann mußt du die auch nehmen und mit ihnen leben.
-
Ich glaube, ich habe es verstanden. Das Assoziativgesetz gilt nur bei gleichen Operatoren. Da kann man eigentlich Klammern setzen wie man will. Ich habe es aber zwischen zwei unterschiedlichen Operatoren angewendet, weshalb es zu einem Fehler kam.
-
gelöscht
-
Ich habe mich nochmal an einem anderen Term versucht, wo auch das Assoziativgesetz vorkam. Bist jetzt habe ich alles richtig gemacht. Nun bin ich an einer Stelle angekommen, von der ich denke, dass keine weiteren Vereinfachungen möglich sind. Seht ihr das auch so?
A \wedge B \wedge \bar C) \vee (\bar A \wedge B \wedge \bar C)$$
-
Nein.
Geh doch mal nicht stur nach Regeln vor, sondern bekomme ein Verständnis für die Terme. Dann siehst du sofort, was man vereinfachen kann.
-
freakC++ schrieb:
keine weiteren Vereinfachungen möglich sind. Seht ihr das auch so?
A \wedge B \wedge \bar C) \vee (\bar A \wedge B \wedge \bar C)$$
Nein. Ich finde, er bettelt um Vereinfachung.