Logische Ausdrücke vereinfachen
-
freakC++ schrieb:
Aber das geht doch gar nicht. Ich könnte bei 2+3*5 auch 2+(3*5) schreiben. Es wäre dasselbe.
und wenn du (2+3)*5 schriebst?
-
freakC++ schrieb:
CStoll schrieb:
aber es ist besser Klammern zu setzen als sich durch die fehlenden Klammern verwirren zu lassen
Aber das geht doch gar nicht. Ich könnte bei 2+3*5 auch 2+(3*5) schreiben. Es wäre dasselbe. Wenn ich aber jetzt beim boolschen Ausdruck Klammern setze, dann kommt automatisch etwas anderes raus, wie ich ja gezeigt habe.
Übersehe ich da was?
Ja - eine definierte Rangfolge hat den selben Effekt wie Klammern, deshalb sind bei diesem "Beweis" das ≠ nicht
freakC++ schrieb:
\begin{math} A \vee (B \wedge C) = (A \vee C) \wedge (B \vee C) \neq A \vee B \wedge C \end{math}
die Ausdrücke sind äquivalent, auch wenn sie nicht so aussehen.
(die Operationen in einem Verbund sind gleichberechtigt, in einem Ring nicht)
-
also ist das Ungleich hier falsch? Das bedeutet also, dass man "und" als "mal/geteilt" und "oder" als "plus/minus" ansehen kann?
-
Durch die vordefinierte Rangfolge der Operationen kannst du so tun, als wäre um das BΛC eine Klammer gesetzt
Und mit der Vergleich UND==MAL bzw. ODER==PLUS solltest du vorsichtig sei - wie gesagt gelten in der Booleschen Algebra einige andere Regeln (z.B. gilt das Distributivgesetz bei Zahlen nicht in der Form "a+(b*c) = (a+b)*(a+c)".Vielleicht solltest du dich doch einmal mit den verschiedenen algebraischen Strukturen beschäftigen: Die ganzen Zahlen (mit Addition und Multiplikation) bilden einen Ring, die Boolesche Algebra (mit UND und ODER) einen Verband.
-
Das ist wahrscheinlich keine schlechte Idee. Über Ringe und Verbände habe ich noch was gehört. Ich denke, dass ich es jetzt noch nicht brauche, weil wir das ja nur in der Schule machen. Dennoch danke für die Begrifflichkeiten, denn es ist immer gut zu wissen, wie sowas funzt. Ich meld mich bei weiteren Fragen
Den Vergleich mit UND == Mal wollte ich auch nur auf die Punkt-vor-Strich - Regel anwenden.
lg, freakC++
-
Also ich kann bei Gleichungen mit bis zu 5 Variablen KV Diagramme empfehlen.
Ansonsten gibt es da immer noch das Verfahren nach Quine und McCluskey.
-
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}