Schaltalgebra

Hallo loderunner,

vorab: du bist bestimmt nicht gemeint, im Gegenteil, ich kann mich erinnern, dass du hier vor einiger Zeit ganz einfach zugegeben hast, dass du dich geirrt hast. Ich weiss nicht mehr, worum es dabei ging, aber es ist mir gerade deshalb im Gedächtnis geblieben, weil das hier so völlig unüblich ist.

Zur Sache fasse ich mich wegen der absehbaren Hoffnungslosigkeit so kurz wie möglich: generell gilt bei boolscher Algebra der Operator-Vorrang Klammer - Nicht - Und - Oder. Falls die Uni München euch dafür nicht renommiert genug ist, 3 Links aus USA:

http://users.ece.gatech.edu/dva/ece2030/files/lec3.pdf
http://www-inst.eecs.berkeley.edu/~cs61c/resources/d…
http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/CH…

Da steht das überall auch drin, ohne wenn und aber (allerdings auf englisch). Dass es Mathematiker gibt, die das ungern sehen, ist mir bekannt, aber fast alle Unterlagen und alle Programmiersprachen ausser ADA gehen von dieser „operator precedence“ aus.

Uni München:
Laut Uni München ist A + AB = A eine gültige Rechenregel der Boolschen Algebra.
Laut Peter ist das Ergebnis mehrdeutig.
Was ist daran unverständlich? Muss ich dir erklären, was ein Widerspruchsbeweis ist? Einer von beiden hat Unrecht.

Natürlich wird Peter das niemals akzeptieren. Mir tut nur Nicole leid, da der gesamte Thread zu diesem Thema auf Peters falschen Angaben beruht - wenn sie dafür eine schlechte Note kriegt, wascht ihr eure Hände sicher in reinster Unschuld.

Ich hoffe, das Thema ist damit abgeschlossen, bevor noch mehr Lernende auf den falschen Weg geschickt werden.

Gruss Reinhard

Hallo,
habe zwar mit Sicherheit nicht dieses geballte Expertenwissen, das hier aufeinander trifft, aber ich habe dieses Zeug auch mal gelernt.

-)

Habe die Artikel gelesen und bin jetzt auch daran interessiert, was an Peters Aussage falsch ist/sein soll? Finde beim besten Willen keinen Fehler, sprich so haben wir das auch gelernt. Vielleicht kannst du das mal genauer schildern, um meine Neugier zu befriedigen und um Nicoles (vielleicht entstandene) Verwirrung zu lösen.

Hallo Reinhard,

Ich habe die HTML-Tags nicht so drauf. Also habe ich zur Unterscheidung ‚*‘ und ‚UND‘ verwendet.

A + A * B ist eindeutig
A ∨ A ∧ B ist mehrdeutig

Fuchsschwanz ist mehrdeutig
Foxtail ist eindeutig

Genau um diese Problematik ging es in dem Script von Nicole, welches sie verlinkt hat.
Sie wunderte sich wieso bei der Notation
A ∨ A ∧ B
Klammern gesetzt werden müssen.
Nicole hat diese von mir gewählte Notation auch verstanden…

Bei konkreten Programmiersprachen ist es dann nochmals ganz anders:
Ein bestimmter Term ist da zwar eindeutig, aber die Auswertung erfolgt je nach Sprache unterschiedlich.

MfG Peter(TOO)

Hallo loderunner,

vorab: du bist bestimmt nicht gemeint, im Gegenteil, ich kann
mich erinnern, dass du hier vor einiger Zeit ganz einfach
zugegeben hast, dass du dich geirrt hast. Ich weiss nicht
mehr, worum es dabei ging, aber es ist mir gerade deshalb im
Gedächtnis geblieben, weil das hier so völlig unüblich ist.

Danke für das Lob. Ich versuche, das auch weiterhin so zu machen.

Zur Sache fasse ich mich wegen der absehbaren
Hoffnungslosigkeit so kurz wie möglich:

Nu lass doch bitte diese Spitzen. Lieber wollen wir gemeinsam rausfinden, was nun richtig ist und was nicht, da hat dann doch jeder was davon - vor allem auch der Threadstarter.

generell gilt bei
boolscher Algebra der Operator-Vorrang Klammer - Nicht - Und -
Oder.

Das ist auch genau mein Kenntnisstand.

Falls die Uni München euch dafür nicht renommiert genug
ist, 3 Links aus USA:

http://users.ece.gatech.edu/dva/ece2030/files/lec3.pdf
http://www-inst.eecs.berkeley.edu/~cs61c/resources/d…
http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/CH…

Danke für die Links, die bestätigen es ja auch.

Da steht das überall auch drin, ohne wenn und aber (allerdings
auf englisch).

Auf Deutsch habe ich es gestern abend auch ergoogelt, nur leider vergessen zu erwähnen:
http://www.wamister.ch/arbeitsbl/DigiDat/Boolsche_Al…
Rechts auf Seite5 steht das, was uns hier im Thread interessiert.

Dass es Mathematiker gibt, die das ungern sehen, ist mir bekannt,

Da weißt Du mehr als ich, aber ich bin ja auch Techniker und kein Mathematiker.

aber fast alle Unterlagen und alle
Programmiersprachen ausser ADA gehen von dieser „operator
precedence“ aus.

Die imho auch sinnvoll ist.

Uni München:
Laut Uni München ist A + AB = A eine gültige Rechenregel der
Boolschen Algebra.

Sehe ich ganz genauso.

Laut Peter ist das Ergebnis mehrdeutig.

Sorry, ich finde diese Aussage von Peter(too) nirgens.

Aber ich glaube, ich komme langsam hinter das Mißverständnis. Peter(too) hat in seinem ersten Post in diesem Thread (http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…) geschrieben:

Bei der Verwendung von UND und ODER aus der Mengenlehre ist
das anders. Hier gelten per (Mengenlehr)Definition andere
Regeln.

Und darauf folgend dann die beiden Wahrheitstabellen mit unterschiedlichen Ergebnissen je nach Priorität der Rechenregel. DIese Tabellen bezogen sich aber nur auf die Mengenlehre, nicht auf die Boolsche Algebra. Kann hier das Mißverständnis liegen? Oder habe ich das falsch verstanden (Deine Aussage oder Peter(too)s Aussage)?

Oben drüber hat Peter(too) deutlich das gleiche behauptet wie Du (und ich und andere hier):

Bei der Verwendung von „+“ und „*“ gelten die normalen
algebraischen Rechenregeln: Punktrechnung vor Strichrechnung
somit ist:
a * b + c gleich (a * b) + c

Und das ist doch richtig für Boolsche Algebra, oder?

Was ist daran unverständlich?

Ich finde wirklich die von Dir kritisierte Aussage Peter(too)s nicht. Kannst Du mal einen Link auf den entsprechenden Post geben?

Muss ich dir erklären, was ein
Widerspruchsbeweis ist? Einer von beiden hat Unrecht.

Oder es liegt ein Mißverständnis vor und beide haben Recht.

Natürlich wird Peter das niemals akzeptieren.

Warten wir es doch mal ab. Vielleicht klärt es sich ja. Noch bin ich da guter Hoffnung. :wink:

Mir tut nur
Nicole leid, da der gesamte Thread zu diesem Thema auf Peters
falschen Angaben beruht - wenn sie dafür eine schlechte Note
kriegt, wascht ihr eure Hände sicher in reinster Unschuld.

Ich denke, wenn Nicole mal in Deine Links schaut (oder auch in meinen), werden sich ihre Fragen beantworten.
Und ich denke, wenn die Mißverständnisse hier geklärt sind, wird sich das auch hier bei www bestätigen.

Ich hoffe, das Thema ist damit abgeschlossen, bevor noch mehr
Lernende auf den falschen Weg geschickt werden.

Da der ganze Thread später mal im Archibv landet, fände ich es schon besser, wenn Zweideutigkeiten und Mißverständnisse direkt hier aufgeklärt werden. Wer weiß, ob in zwei Jahren die Links noch existieren - da sollte dann schon die richtige Information auch im Thread zu finden sein.
Gruß
loderunner

Da der ganze Thread später mal im Archibv landet, fände ich es
schon besser, wenn Zweideutigkeiten und Mißverständnisse
direkt hier aufgeklärt werden. Wer weiß, ob in zwei Jahren die
Links noch existieren - da sollte dann schon die richtige
Information auch im Thread zu finden sein.
Gruß
loderunner

Hallo loadrunner,

damit wirst du ein Problem haben. Meine Empfehlung wäre, schmeiss den ganzen Thread in den Mülleimer, mehr ist er nicht wert. Ist mir schon klar, dass du dem nicht folgen kannst.

Ich habe mir die Mühe gemacht, alles noch mal durchzulesen, und mein Eindruck ist nach wie vor, dass die Diskussion in eine ganz falsche Richtung gelaufen ist. Im unteren Teil des Threads ist es schwer, überhaupt klare Aussagen zu entnehmen, aber letzlich kommt dann wodi auf Drängen von Peter zu dem Schluss, Vorrangregeln seien „In der Schaltalgebra schlichtweg falsch“, und damit ist Peter dann zufrieden. Das kann es nicht gewesen sein.

Den Teil des Threads, in dem ich Einwände vor gebracht habe, kannst du in sachlicher Hinsicht ja sowieso vergessen - Peter ist einfach auf keinen Einwand eingegangen.

Eine der wenigen klaren Aussagen im ganzen Thread ist die Behauptung Peters, dass es keine Vorrangregeln gibt, wenn man statt „*“ UND schreibt, aber abgesehen davon, dass sich einem als Mathemathiker sowieso der Magen umstülpt, wenn Rechenregeln von den verwendeten Zeichen abhängen sollen, hat ma ja in der Regel überhaupt nicht die Wahl. In den üblichen Programmiersprachen heisst es eben per Definition „AND“, die Vorrangregeln gelten aber trotzdem. Peters Behauptung ist also für einen grossen Teil der Welt falsch. Auch deshalb hinterlässt der Thread einen Eindruck, der den weltweit gültigen Regeln gerade entgegengesetzt ist.

wie gesagt, wegschmeissen das Ganze - besser keine Infos als falsche.

Gruss Reinhard

Anmerkung
Hallo,

Also sagen wir mal so: In der „Praxis“ ist die Reihenfolge der
Operationen durch die Zusammenschaltung der Gatter festgelegt

  • wenn meinetwegen erst ein Und kommt und dann ein Oder, dann
    kann die Schaltung halt nur so „rechnen“. Auf dem Papier kann
    man das natürlich hin und her schieben, wie man will…

Du zäumst das Pferd von hinten auf.
In der ‚Praxis‘ hat man nicht eine Schaltung und dann ist das halt so festgelegt und was man darüber schreibt, ist egal.
In der Praxis hat man ein Problem, stellt eine Wahrheitstabelle auf und versucht, diese Wahrheitstabelle mit möglichst wenig Hardware zu realisieren. Und natürlich ist es dabei wichtig, was in welcher Reihenfolge dabei zusammengeschaltet werden muss.
Und die andere Version der Praxis ist: man hat eine Schaltung und muss herausfinden, wie sie funktioniert. Und natürlich ist es auch dabei nicht egal, wie man das aufschreibt - was soll denn dann dabei rauskommen?
Was Du da oben beschreibst, ist reine Theorie, das gibt es nur an einer Schule. Da wird von der Aufgabenstellung her festgelegt (ggf. aber nicht unbedingt in der Aufgabenstellung angegeben), was wie zu rechnen ist. Und in aller Regel wird sich der Aufgabensteller dabei an allgemeine Normen und Definitionen halten. Nur kommt es dann meist nicht auf das an, was eine danach zusammengelötete Elektronik macht, weil es sie schlicht niemals geben wird.
Gruß
loderunner

Hallo,

Da der ganze Thread später mal im Archibv landet, fände ich es
schon besser, wenn Zweideutigkeiten und Mißverständnisse
direkt hier aufgeklärt werden. …

damit wirst du ein Problem haben.

Ich hoffe nicht. Magst Du nicht Deinen Teil dazu beitragen, indem Du konkrete Links und Zitate nennst?

Meine Empfehlung wäre,
schmeiss den ganzen Thread in den Mülleimer, mehr ist er nicht
wert. Ist mir schon klar, dass du dem nicht folgen kannst.

Nein, das will ich tatsächlich nicht. Natürlich könnte ich das technisch als Mod machen, genau wie Peter(too) auch. Aber davon hat der Threadstarter nichts und die irgendwann mal im Archiv suchenden auch nicht.

Ich habe mir die Mühe gemacht, alles noch mal durchzulesen,
und mein Eindruck ist nach wie vor, dass die Diskussion in
eine ganz falsche Richtung gelaufen ist.

Den Eindruck habe ich auch. Lass uns das doch bitte korrigieren.

Im unteren Teil des Threads ist es schwer, überhaupt klare Aussagen
zu entnehmen,
aber letzlich kommt dann wodi auf Drängen von Peter zu dem
Schluss, Vorrangregeln seien „In der Schaltalgebra schlichtweg
falsch“, und damit ist Peter dann zufrieden. Das kann es nicht
gewesen sein.

Das kann es nicht gewesen sein und das habe ich so auch nicht verstanden.
Wodim hat (vielleicht wie Du auch?) Peter(too)s ersten Post offensichtlich so verstanden, dass alles nach
‚Bei
a UND b ODER c
ist nicht vorgeschrieben ob z.B.‘ sich wieder auf die Boolsche Algebra bezog. Das ist nicht der Fall! Lies bitte nochmal nach: die eigentliche Antwort auf den Ursprungspost steht nur im ersten Satz:
‚Bei der Verwendung von „+“ und „*“ gelten die normalen algebraischen Rechenregeln: Punktrechnung vor Strichrechnung somit ist:
a * b + c gleich (a * b) + c‘
Alles, was danach kommt (bis zu ‚Wie du siehst ergibt die Klammer unterschiedliche Resultate.‘) bezieht sich auf die Mengenlehre!

Den Teil des Threads, in dem ich Einwände vor gebracht habe,
kannst du in sachlicher Hinsicht ja sowieso vergessen - Peter
ist einfach auf keinen Einwand eingegangen.

Weil er ihn (genausowenig wie ich vielleicht) gar nicht verstanden hat. Für ihn und anfangs auch für mich war sein Post eindeutig und richtig. Kannst Du bitte versuchen, diesen ersten Post von Peter(too) nochmal in dieser Weise zu lesen?

Eine der wenigen klaren Aussagen im ganzen Thread ist die
Behauptung Peters, dass es keine Vorrangregeln gibt,

Nein! Das bezog sich NUR auf die Mengenlehre. Wie erklärst Du denn sonst seinen ersten Satz im ersten Post?

wenn man
statt „*“ UND schreibt, aber abgesehen davon, dass sich einem
als Mathemathiker sowieso der Magen umstülpt, wenn
Rechenregeln von den verwendeten Zeichen abhängen sollen, hat
ma ja in der Regel überhaupt nicht die Wahl. In den üblichen
Programmiersprachen heisst es eben per Definition „AND“, die
Vorrangregeln gelten aber trotzdem. Peters Behauptung ist also
für einen grossen Teil der Welt falsch. Auch deshalb
hinterlässt der Thread einen Eindruck, der den weltweit
gültigen Regeln gerade entgegengesetzt ist.

Ist er nicht. Bitte lies nochmal.

wie gesagt, wegschmeissen das Ganze - besser keine Infos als
falsche.

Keine Infos bringen niemand weiter. Lieber falsche Infos und durch Diskussion zu einer Erkenntnis kommen.
Btw., was man falsch gemacht hat, kann man sich viel leichter merken. Und man hat später viel mehr verstanden.
Gruß
loderunner

Hallo Peter,

jetzt noch eine ganz „dumme“ Frage:

A ∨ A ∧ B ist mehrdeutig

Hm, ∧ - welcher Operator ist das?

Ja doch, nu reg’ dich mal nicht uff!

Du zäumst das Pferd von hinten auf.

Das sah nur so aus.

In der ‚Praxis‘ hat man nicht eine Schaltung und dann ist das
halt so festgelegt und was man darüber schreibt, ist egal.

Hab’ ich auch nicht behauptet.

In der Praxis hat man ein Problem, stellt eine
Wahrheitstabelle auf und versucht, diese Wahrheitstabelle mit
möglichst wenig Hardware zu realisieren.

Jojo, da kann ich mich z.B. noch an Karnaugh erinnern - hab’ ich in meiner Diplomarbeit sogar mal angewendet (ist schon ein Weilchen her

Hallo Nicole,

Definition zu „Und“
und „Oder“

Um hier zwischen unterschiedlichen Ansichten zu vermittel, möchte ich die betreffende Stelle aus einem Werk zitieren, dass seit langem als Referenz für Mathematik gilt, den Bronstein. Gut, das Werk ist in die Jahre gekommen, aber gerade bei allgemein anerkannten Standards ändert sich ja gerade in der Mathematik nicht so schnell etwas.
Bronstein, Semendjajew: „Taschenbuch der Mathematik“, Teubner Verlagsgesellschaft, Leipzig 1989, 24. Auflage, Seite 536:
„Sind H_1, H_2 Ausdrücke, so sind auch die Zeichenreihen ~H_1, (H_1 UND H_2), (H_1 ODER H_2), (H_1 -> H_2), (H_1 H_2) Ausdrücke.“(Ich verwende hier eine etwas andere Typographie als im Buch.)
Nach dieser Definition sind also die Klammern vorgeschrieben.
Gleich eine Seite weiter steht:
„Wie bei arithmetischen Ausdrücken führt man auch hier Abkürzungen ein, indem man festlegt:
Jeder Funktor trennt stärker als jeder in der Folge
, ->, ODER, UND, ~
weiter rechts stehende Funktor.“
Das Referenzwerk nennt also beide Möglichkeiten. Die eine als Definition, die andere als Abkürzung.

Viele Grüße
Stefan

Hallo Hartmut & wodim,

jetzt noch eine ganz „dumme“ Frage:

A ∨ A ∧ B ist mehrdeutig

Hm, ∧ - welcher Operator ist das?

∧ = *, AND
∨ = +, OR
http://de.wikipedia.org/wiki/Boolesche_Algebra
(oben rechts)

Das Problem liegt am Kontext:

wenn man ‚+‘ und ‚*‘ verwendet ist die Reihenfolge algebraisch vorgegeben und eindeitig. Egal ob es im Bereich der allgemeinen Algebra oder der Schaltalgebra angewedet wird.

Verwendet man aber ‚∨‘ und ‚∧‘ ist es unklar wie gerechnet werden muss, solange der Kontext nicht explizit festgelegt ist. Da in der Mengenlehre diese beiden Operatoren gleichwertig sind.
Deshalb muss man zu der Formel entweder den Kontext angeben oder halt Klammern setzen.

Genau das war auch auf dem Aufgabenblatt von Nicole die Rechenvorschrift.

Als Techniker denkt man bei Boolscher Algebra immer nur an die Schaltalgebra, welche aber nur eine bestimmte Sonderform der BA ist.

MfG Peter(TOO)

Hallo an dieser Stelle

A ∨ A ∧ B ist mehrdeutig

Hm, ∧ - welcher Operator ist das?

In der Aussagenlogik (Prädikatenlogik) der ‚und‘ Operator
http://de.wikipedia.org/wiki/Aussagenlogik

Wieso ist dieser Term mehrdeutig?

Man setze noch Klammern: (A ∨ A) ∧ B sowie A ∨ (A ∧ B)
und rechne auch für die Originalformel nach :wink:

HTH
mfg M.L.

Hallo,
ich glaube, wir sind eigentlich einer Meinung. Offensichtlich habe ich Dich nur ein wenig falsch verstanden. Liegt vielleicht an zu wenig Schlaf am letzten Wochenende (Flipperturnier), entschuldige bitte.

Vor allem das:

Verstehst du mich jetzt ein bisschen besser, wenn ich sage:
Bei meiner Arbeit als Entwickler trenne ich Theorie und Praxis
nie so streng - also z.B. hilft die Praxis mir auch oft,
tiefer in die Theorie einzudringen - oder besser: Sie zwingt
mich förmlich dazu. Soweit nötig, nicht soweit möglich. Den
Kunden interessiert es letztlich herzlich wenig (Zitat) „ob da
Röhren, Transistoren oder Maikäfer ihre Arbeit verrichten“,
sondern was hinten 'rauskommt, je nachdem, was er vorne
'reingibt.

Die Praxis ist der beste Lehrmeister - und das Kriterium der
Wahrheit sowieso.

kann ich in jeder Weise unterschreiben.

Gruß
loderunner

Hallo Peter,

Bei der Verwendung von „+“ und „*“ gelten die normalen
algebraischen Rechenregeln: Punktrechnung vor Strichrechnung
somit ist:
a * b + c gleich (a * b) + c

So ist es üblicherweise auch in der Boolschen Algebra. In jedem Computerprogramm gilt die Vorrangregel UND vor ODER! So sollte man es auch allgemein handhaben.
Ergänzend wäre hinzuzufügen, dass die Boolschen Algebra in beide Richtungen distributiv ist:
(a * b) + c = (a + c) * (b + c)
Was, wenn man die Schreibweise mit + und * benutzt, vielleicht etwas verwirrend ist.

Gruss
Laika

Verwendet man aber ‚∨‘ und ‚∧‘ ist es unklar wie gerechnet werden
muss, solange der Kontext nicht explizit festgelegt ist. Da in der
Mengenlehre diese beiden Operatoren gleichwertig sind.
Deshalb muss man zu der Formel entweder den Kontext angeben
oder halt Klammern setzen.

Nö! Jetzt macht’s mal nicht so kompliziert:

Wenn die Operatoren gleichwertig sind, ist es auch wurscht, in welcher Reihenfolge man rechnet. Wenn da nicht jedes Mal dasselbe 'rauskommt, sind die Operatoren halt nicht gleichwertig. So einfach ist das.

Das dürfte aber für alle Arten von Algebra, Arithmetik und sonstwas gelten.

Gegenargumente?

Gruß Hartmut

Hallo,

Das Problem liegt am Kontext:

wenn man ‚+‘ und ‚*‘ verwendet ist die Reihenfolge algebraisch
vorgegeben und eindeitig. Egal ob es im Bereich der
allgemeinen Algebra oder der Schaltalgebra angewedet wird.

Nein, liegt es nicht.
Da richtigerweise

∧ = *, AND
∨ = +, OR

ist. Es sei denn, du interpretierst das „=“ als „womöglich“ oder „vielleicht“ oder „es könnte so sein“

Aber die ganze Diskussion ist eh Quark, weil man schon aus Bequemlichkeit kaum die Haken verwendet.