Boolesche Algebra - Rechenregeln
lima-city → Forum → Sonstiges → Schule, Uni und Ausbildung
algebra
anwenden
aufgabe
bedingung
beispiel
dank
digitaltechnik
ergebnis
gleichung
hinteren teil
http
letzte schritt
mathe
not
problem
richtige ergebnis
schritt
stand
term
uni
-
Also das Problem ist, dass ich nicht si ganz klar komme mit der Booleschen Algebra, zwar verstehe ich die einzelnen Rechenregeln, kann sie leider aber nicht anwenden.
Es wäre net, wenn man mir mal Schritt für Schritt zeigen könnte wie das geht. Zum Beispiel an dieser Funktion: (! für NOT, v für OR, ^ oder eben nichts für AND)
S = !a!b!c v !a!bc v !abc v a!bc v abc
..vereinfacht soll die Lösung S= c v !a!b sein
Ich verstehe ja wie man das ohne diese algebra löst.. aber wäre hilfreich wenn ich das mit könnte -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Habe das ehrlich gesagt noch nie gemacht, aber ich würde es mir so erklären. Man kann eine Bedingung duplizieren.
S = !a!b!c v !a!bc v !abc v a!bc v abc
<=> s= !a!b!c v !a!bc v !a!bc v !abc v a!bc v abc
<=> s= !a!b (!c v c) v c (!a!b v !ab v a!b v ab)
------------c egal--------------a und b egal
<=> s= !a!b v c -
erst mal danke. also vom verständnis her, dass das richtig ist hab ich keine probleme, sondern mit den rechenschritten. und da versteh ich deine leider auch nicht.
-
Hi
Du musst einfach nur ganz konsequent die einzelnen Regeln anwenden. Ich nehm jetzt mal die Schreibweise:
OR = +
AND = * oder eben nichts
NOT = ! vor der Variablen
Die wichtigsten Vereinfachungen sind diese hier:
http://de.wikipedia.org/wiki/Boolesche_Algebra#Definition
Du musst versuchen mit den Gesetzen (deMorgan, Distributiv, Assoziativ, etc.) so umzuformen das du Vereinfachungen wie \"A + 0 = A\" oder \"A * !A = 0\" hinbekommst.
Also Beispiel für deine Gleichung:
S = !a * !b * !c + !a *!b * c + !a * b * c + a * !b + c + a * b * c
In den ersten Termen (die klammer ich mal ein), dann kannst du das Distributivgesetz anwenden, ich ersetz übersichtshalb !a * !b = x:
S = (!a * !b * !c + !a *!b * c) + !a * b * c + a * !b + c + a * b * c
= (x * !c + x * c) + !a * b * c + a * !b + c + a * b * c
= x * (!c + c) + !a * b * c + a * !b + c + a * b * c
Jetzt schaust (oderüberlegst du dir) wie sich c! + c vereinfacht (gibt logischerweise 1, kannst du dir aber nochmal klar machen wieso das so ist).
Also ersetzen wir das mal:
S = x * (!c + c) + !a * b * c + a * !b + c + a * b * c
= x * 1 + !a * b * c + a * !b + c + a * b * c
Dann der nächste Term x * 1. Der gibt natürlich immer x (vielleicht auch einmal klar machen, selbst wenn es so trivial einfach ist). mit x = !a * !b, erhälst du dann:
S = x * 1 + !a * b * c + a * !b + c + a * b * c
= !a * !b + !a * b * c + a * !b + c + a * b * c
Ist doch shconmal wesentlich kürzer als die Ausgangsgleichung. Weils soviel Spaß macht könnt ich das jetzt bfertig machen, aber ich denke das unterstützt den Lernprozess nicht wirklich. Ein Tipp jedoch noch: Das Ganze schreit förmlich nach dem Distributivgesetz
Du kannst das ganze ja mal weiterspinnen und bei Problemen einfach nochmal nachfragen. Noch als kleine Motivation: Wenn du 5-10 Aufgaben dieser Art gemacht hast kannst du das hinterher im Schlaf, das garantier ich dir förmlich! :)
Alles reine Übungssache
Gruß Tobi -
Hmm, dann versuch ichs mal ein wenig zu beschreiben^^
Unsere Ausganggleichung ist:
S = !a!b!c v !a!bc v !abc v a!bc v abc
Da die ersten beiden Bedingungen in !a und !b übereinstimmen, kann man ausklammern:
s= !a!b (!c v c) v !abc v a!bc v abc
Dadurch zeigt sich, dass es egal ist, ob ich c nun erfülle oder nicht, es muss nur !a und !b erfüllt sein. Daraus folgt, dass das in Klammern stehende sich gegenseitig auslöscht
s= !a!b v !abc v a!bc v abc
Jetzt können wir den hinteren Teil zusammenfassen und c ausklammern:
s= !a!b v c (!ab v a!b v ab)
Um den hinteren Teil nicht zu erfüllen, müsste !a!b sein. Dies wird aber durch die erste Bedingung erfüllt. Damit gilt automatisch auch:
s= !a!b v c
---------------------------------------------------
Falls der letzte Schritt nicht 100%ig richtig formuliert ist, gibt es noch einen anderen weg, den ich eben gegangen bin:
Man dupliziert sich die Bedingung !a!bc und erhält als Gleichung:
S = !a!b!c v !a!bc v !a!bc v !abc v a!bc v abc
Wieder ausklammern etc.
s= !a!b (!c v c) v c (!ab v a!b v ab v !a!b)
s= !a!b v c
Schöne Grüße
Die Schnarchnase :=) -
@ttobsen: danke. genau das was ich wollte. habs verstanden und der letzte schritt war auch dann relativ einfach.man musst sozusagen nur das c \"ausklammern\" un dann stand da noch was mit (c * (!ab v a!b v ab))
und da die \"innere\" klammer ja alle möglichkeiten beinhaltet kann ich da auch 1 hinschreiben und somit kommt man aufs ergebnis. danke
@scharchnase: auch danke. musste es aber so mit den umformungsregeln haben;) -
werktags schrieb:
un dann stand da noch was mit (c * (!ab v a!b v ab))
und da die \\\'innere\\\' klammer ja alle möglichkeiten beinhaltet kann ich da auch 1 hinschreiben und somit kommt man aufs ergebnis.
Das kann nicht ganz sein. Mit b = a = 0 wäre (!ab v a!b v ab) = 0
Denn:
!ab v a!b v ab = !ab v ab v a!b = b (!a v a) v a!b = b v a!b = (b v a) * (b v !b) = b v a
Gibt daher mit S:
S = !a * !b + !a * b * c + a * !b + c + a * b * c
= !a * !b + c * (!ab + a!b + ab)
= !a * !b + c * (a + b)
mit De Morgan ergibt sich:
S = !a * !b + c * (a + b) = !(a + b) + c * (a + b)
Anschließend nochmal Distributivgesetz:
S = !(a + b) + c * (a + b) = (!(a + b) + c) * (!(a + b) + (a + b))
Ersetzt man auf der Rechten Seite a + b = x steht da: !x + x und dies ist immer 1.Somit ergbt sich:
S = (!(a + b) + c) * (!(a + b) + (a + b)) = !(a + b) + c) * 1 = !(a + b) + c)
De Morgan nochmal und du hast das Ergebnis:
S = !(a + b) + c) = !a * !b + c
Logische Schlußfolgerungen wie oben
und da die \\\'innere\\\' klammer ja alle möglichkeiten beinhaltet kann ich da auch 1 hinschreiben\"
sind prinzipiell immer gut (in diesem Fall war sie aber falsch, sie ist erst korrekt wenn man den kompleten Term von S betrachtet) trotzdem würd ich sie nicht zum Rechnen verwenden (aber als Hilfe um das Ergebnis zu prüfen!). Mit den Rechenregeln der Boolechen Algebra bekommst du ALLES hin. Manchmal vielleicht umständlich, aber bei konsequenter und korrekter Anwendung bkommt man immer das richtige Ergebnis.
Gruß Tobi
Beitrag geändert: 8.4.2008 0:27:01 von ttobsen -
hm. ja, hab gemerkt, dass es falsch war. leider! bräuchte da echt übung... naja jetzt ist die kursarbeit vorbei^^
wäre aber wahrscheinlich auch nie dadrauf gekommen de Morgan anzuwenden, obwohl das ganze prinzipiell nichts anderes ist wie mathe auch.
nochmal danke -
werktags schrieb:
obwohl das ganze prinzipiell nichts anderes ist wie mathe auch
So ist es :)
Wenn du an die Uni gehst und deine erste Mathevorlesungen hast musst du genau das gleiche machen, nur mit Mengen. Das ganze hilft wirklich viel, nichtnur in Digitaltechnik, mit der Zeit wirst du allgemein besser (und vor allem schneller) im Schlussfolgerungen schließen.
Falls du noch ein paar Aufgaben brauchst:
http://www.imtek.de/micro-optics/content/upload/vorlesung/2007/uebungsblatt-11_1.pdf
Das ist also schon alles Uni Niveau was du machst
Gruß Tobi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage