Am besten, du ersetzt die logischen Operatoren mal durch die (fast) gleichwertigen mathematischen Operatoren. Dann erschließt sich die Sache mit Hilfe der üblichen Schulmathematik gleich viel einfacher.
(-A + B) * A ausmultiplizieren->
(-A * A) + (B * A) zweimal das Kommutativgesetz anwenden->
(A * -A) + (A * B)
Jetzt ersetzt du die mathematischen Operatoren wieder durch die logischen
(A v /A) ^ (A v B)
et voíla
Wir lernen: Boole'sche Algebra ist nicht mehr als die Anwendung der allgemeingültigen mathematischen Gesetze auf Zahlen mit auf 0 und 1 eingeschränkten Wertebereich.
Allerdings auch nicht weniger, das muß man bei sowas immer im Hinterkopf behalten. Als Beispiel dafür kann gleich der Ausdruck (A v /A) bzw. (A *
-A) aus obiger Rechnung dienen. Mit den allgemeinen mathematischen Gesetzen würde man (A * -A) zu A² vereinfachen. In der Boole'schen Algebra ist eine andere Vereinfachung möglich, nämlich (A v /A)=1. Daß diese Vereinfachung zulässig ist, läßt sich durch eine Wertetabelle aller möglichen Operanden sehr einfach beweisen:
0 v /0 = 0 v 1 = 1
1 v /1 = 1 v 0 = 1
Somit bleibt vom obigen Umfomungsergebnis noch über:
Meine Aufgabe war ja aber ( /A ^ B ) v A also somit ( -A * B ) + A oder lieg ich da falsch? Dann geht die Sache mit den normalen Rechenregeln ja nimmer so einfach.....wobei man ja bei boolescher Algebra auch dieses Ausmultiplizieren kann....?!?!
Nein. Ich habe da ganz elegant v und ^ durcheinandergebracht. Peinlich, peinlich. Aber immerhin konsequent bis zum Ende des Postings durchgehalten. ;o)
Das kann man wohl sagen. Bist du sicher, daß das Ergebnis stimmt?
Außer dem Distributivgesetz braucht man noch die Relation:
(A^B) = /(/A v /B) bzw. (AvB) = /(/A^/B)
Dann dreht man erst das "oder" um, damit man das Distributivgesetz nehmen kann:
(/A ^ B) v A = /( /(/A ^ B) ^ /A ) die Negation der linken Hälfte stört noch == /( /(/A ^ //B) ^ /A) = /( (A v /B) ^ /A) jetzt "ausmultiplizieren" = /( (A ^ /A) v (/B ^ /A) ) das "oder" in der Mitte weg = /(A ^ /A) ^ /(/B ^ /A) die äußeren Negationen weg = (/A v //A) ^ (//B v //A) == (/A v A) ^ (B v A) qed.
Sorry, aber das ist ziemlicher Quatsch. Was du hier zeigst ist zwar prinzipiell korrekt, aber unnötig kompliziert. Die von dir durchgeführte zweifache Anwendung des De Morgan'schen Gesetz ist aber unnötig, da in einem booleschen Verband sowohl das Infimum (^, "UND"), als auch das Supremum (v, "ODER") distributiv sind. Eine Einschränkung auf nur eine Operation wie bei den reellen Zahlen gibt es hier nicht.
Dazu müßte aber eine Variable doch wirklich in allen 4 Teilen der Gleichung gleich sein...aber jede Variable ist ja 2 mal "normal" und 2 mal "negiert" ?
der Lösungsweg und der Hinweis auf Distributivität kam schon, vielleicht nochmal eine verbale Erklärung dieses einfachen Beispiels, der sogenannte scharfe Blick - häufig angewendet selten verstanden. :)
Denn wenn A gilt, ist die Gesamtheit des Ausdrucks A. Gilt A nicht gilt B. (Sieht man mit dem scharfen Blick sehr schön an der ODER verknüpfung in denen die gleiche Variable einfach und negiert vorkommt.) Daraus folgt logisch, daß die Funktion A v B abbildet.
Um den scharfen Blick zu üben kannst mal ganz scharf auf Folgendes gucken: (/A ^ B) v (A ^ 1), (/A ^ B) v (A ^ 0), (/A ^ B) v (A ^ C)
Und falls jemand ^ & v immer wieder durcheinander haut:
U^D die Bewegung beim Schreiben ist der eines n ähnlich Uhrzeigersinn) vDER die Bewegung beim Schreiben geht in die andere Richtung.
Und auch hier gilt wieder: Man braucht sich nur eins zu merken. ;)
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.