Aussagenlogik

Algorithmen, Sprachunabhängige Diskussionen zu Konzepten, Programmiersprachen-Design
nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Diskussion C:Logik

Beitrag von nufan » Sa Nov 15, 2008 2:27 pm

Kennt sich von euch jemand vertiefend mit Aussagenlogik aus?
Ich hab da ein kleines Problem die KKNF und KDNF eines Ausdrucks mit 3 verschiedenen Literalen zu bilden...
Die KNF und DNF konnte ich selbst ohne Probleme bilden.
Leider kann ich die Ausdrücke nicht posten, da das Forum die Negate nicht darstellen kann.
Deswegen frag ich vorher, bevor ich das .odt uploade.

Sorry, ich weiß dass das nicht hierher gehört, aber das passt sonst nirgends hinein.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Diskussion C:Logik

Beitrag von Xin » Sa Nov 15, 2008 2:44 pm

nufan hat geschrieben:Kennt sich von euch jemand vertiefend mit Aussagenlogik aus?
Ich hab da ein kleines Problem die KKNF und KDNF eines Ausdrucks mit 3 verschiedenen Literalen zu bilden...
Die KNF und DNF konnte ich selbst ohne Probleme bilden.
Leider kann ich die Ausdrücke nicht posten, da das Forum die Negate nicht darstellen kann.
Deswegen frag ich vorher, bevor ich das .odt uploade.

Sorry, ich weiß dass das nicht hierher gehört, aber das passt sonst nirgends hinein.
Ich müsste mich erstmal wieder in die Bedeutung von KKNF und KDNF und so weiter einarbeiten... Logik grundsätzlich sollte ich hoffentlich noch hinbekommen. ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Diskussion C:Logik

Beitrag von nufan » Sa Nov 15, 2008 2:55 pm

Xin hat geschrieben: Ich müsste mich erstmal wieder in die Bedeutung von KKNF und KDNF und so weiter einarbeiten... Logik grundsätzlich sollte ich hoffentlich noch hinbekommen. ;-)
"Sollte" ich auch. ;)

Nunja... Kurzfassung:

Junktor:
So etwas wie ein "Rechenzeichen".

Konjunktion:
Ist ein Junktor, ^
Gleichzusetzen mit "und"

Disjunktion:
Ist ein Junktor, v
Gleichzusetzen mit "oder"

Negat:
Ist ein Junktor [kann hier nicht dargestellt werden]
Kehrt den Wahrheitswert um, wie etwa ein - in der Mathematik.

Literal:
ist eine negierte oder unnegierte Aussagenvariable

Minterm:
ist eine Konjunktion von Literalen

Maxterm:
ist eine Disjunktion von Literalen (Disjunktionsterm)

Basiskonjunktion:
ist ein Minterm, der alle gegebenen Aussagenvariablen genau einmal als Literal – aber weder W noch F – enthält

konjunktive Normalform (KNF):
Gegenstück zu der disjunktiven Normalform: Konjunktionen und Disjunktionen vertauschen ihre Rollen.

disjunktive Normalform (DNF):
Ziel ist es einen Ausdruck in eine äquivalente Disjunktion von Mintermen umzuformen.

kanonische konjunktive Normalform (KKNF):
Eine kanonische konjunktive Normalform KKNF ist eine konjunktive Verknüpfung von Basdisjunktionen, wobei jede Basisdisjunktion höchstens einmal vorkommt.

kanonische disjunktive Normalform (KDNF):
Eine kanonische disjunktive Normalform KDNF ist eine disjunktive Verknüpfung von Basiskonjunktionen, wobei jede Basiskonjunktion höchstens einmal vorkommt.

Also, nochmal dass es alle verstehen:
Um auf KNF zu kommen, müssen alle Junktoren außer Konjunktion und Disjunktion aufgelöst werden. Zum Schluss sollen zwischen den Ausdrücken nur noch Konjunktionen und in den Klammern nur Disjunktionen stehen. Um dann auf die KKNF zu kommen, muss in jedem Ausdruck jedes Literal ein mal vorkommen. Dazu wird anstelle des Literals Falsch eingesetzt und für F wiederum "Literal ^ negiertes Literal"
Bei der DNF ist es genau umgekehrt. Um dann auf die KDNF zu kommen muss mit W erweitert werden. Also "Literal v negiertes Literal".

Ich weiß nicht inwieweit ihr euch da auskennt, ich jedenfalls nicht besonderns :?

Ok... das war der Crashkurs :D Wozu man das können soll ist mir auch nicht ganz klar...

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Diskussion C:Logik

Beitrag von Xin » Sa Nov 15, 2008 3:55 pm

nufan hat geschrieben:
Xin hat geschrieben: Ich müsste mich erstmal wieder in die Bedeutung von KKNF und KDNF und so weiter einarbeiten... Logik grundsätzlich sollte ich hoffentlich noch hinbekommen. ;-)
"Sollte" ich auch. ;)

Nunja... Kurzfassung:
=> Die Kurzfassung bitte ins Wiki.

Also, nochmal dass es alle verstehen:
Um auf KNF zu kommen, müssen alle Junktoren außer Konjunktion und Disjunktion aufgelöst werden. Zum Schluss sollen zwischen den Ausdrücken nur noch Konjunktionen und in den Klammern nur Disjunktionen stehen. Um dann auf die KKNF zu kommen, muss in jedem Ausdruck jedes Literal ein mal vorkommen. [/quote]
Okay...
nufan hat geschrieben:Dazu wird anstelle des Literals Falsch eingesetzt und für F wiederum "Literal ^ negiertes Literal"
Bei der DNF ist es genau umgekehrt. Um dann auf die KDNF zu kommen muss mit W erweitert werden. Also "Literal v negiertes Literal".
Was soll der Blödsinn?
Wenn ich weiß, dass etwas wahr oder falsch ist, dann schreib ich das hin und baue mir nicht eine Kette von überflüssigen Literalen da rein!?
Das ist schwerer lesbar und verbraucht im Computer mehr Rechenzeit. Lernt die Opcodes von Assemblerbefehlen, damit kann man mehr anfangen!?
(Ich vermute, dass hier ein Mißverständnis in der Erklärung vorliegt, weil das würde wirklich keinen Sinn haben)
nufan hat geschrieben:Ich weiß nicht inwieweit ihr euch da auskennt, ich jedenfalls nicht besonderns :?
Lass mal sehen.

Ok... das war der Crashkurs :D Wozu man das können soll ist mir auch nicht ganz klar...[/quote]
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Aussagenlogik

Beitrag von nufan » Sa Nov 15, 2008 4:04 pm

Xin hat geschrieben:=> Die Kurzfassung bitte ins Wiki.
Meinst du das ernst? Du willst die armen Anfänger so quälen? ;)
Xin hat geschrieben:Was soll der Blödsinn?
Wenn ich weiß, dass etwas wahr oder falsch ist, dann schreib ich das hin und baue mir nicht eine Kette von überflüssigen Literalen da rein!?
Es geht darum, dass in jedem Ausdruck jede Aussagevariable vorkommt. --> Basiskonjunktion/Basisdisjunktion
Wenn ich jetzt darüber nachdenke erscheints doch irgendwie logisch :)
Wie bekommt man eine Aussagevariable in einen Ausdruck ohne ihn zu verändern? Bei der KNF stehen "oder" in den Klammern.
Es wird mit F erweitert. "Ausdruck v F" <=> "Ausdruck"
Also ist jetzt die Variable im Term, ohne, dass dessen Wahrheitswert verändert wurde.
Bei der DNF ist das halt mit "und" in den Klammern. "Ausdruck ^ W" <=> "Ausdruck"

Damit es klarer ist, Beispiele zur normalen KNF und DNF:
KNF: (a v b) ^ (b v c) v in den Klammer, ^ zwischen den Termen
DNF: (a ^ b) v (b ^ c) ^ in den Klammern, v zwischen den Termen

Verständlich? :?

Achja, <=> ist äquivalent :)
Was ich noch vergessen habe:

Basisdisjunktion:
ist ein Maxterm, der alle gegebenen Aussagenvariablen genau einmal als Literal – aber weder W noch F – enthält.

Und es geht darum, diese zu bilden.

Ich hoffe ich habe mich verständlich ausgedrückt...
Zuletzt geändert von nufan am Sa Nov 15, 2008 4:16 pm, insgesamt 3-mal geändert.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Aussagenlogik

Beitrag von Dirty Oerti » Sa Nov 15, 2008 4:07 pm

:D
Ich versteh kein Wort^^
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Aussagenlogik

Beitrag von nufan » Sa Nov 15, 2008 4:09 pm

Dirty Oerti hat geschrieben::D
Ich versteh kein Wort^^
Dann bin ich nicht allein :D
Bis zur KNF und DNF hab ich auch alles halbwegs verstanden, aber danach... nunja... :?
Anstatt Assembler machen wir nur so ein shit...
Und vor Assembler kommt noch irgendwas mit Sandalen oder so...

Willst du jetzt noch immer auf meine Schule? ;)

Ok... das File ist angehängt. Ich hab auch schon eine Wahrheitstabelle gemacht und ein bisschen kommentiert was ich so mache...
logik.zip
Frage: Wer von euch hat Logik jemals in dieser Form beim Programmieren verwendet? *gespannt auf Antwort warte* ;)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Aussagenlogik

Beitrag von Dirty Oerti » Sa Nov 15, 2008 4:57 pm

Ok, da sehe ich nun wirklich keinen Sinn, was einem das bringen soll.
Oder steckt da irgendwas sinnvolles dahinter?
nufan hat geschrieben:Frage: Wer von euch hat Logik jemals in dieser Form beim Programmieren verwendet? *gespannt auf Antwort warte* ;)
:D Nie^^ Also zumindest nicht iwie sowas komplikatifiziertes...
Logik heißt für mich: wahr, nicht wahr. ( TRUE , FALSE/NOT)
Und: Beides wahr, eines wahr, nur eines wahr (AND, OR, XOR)
Grob überschlagen^^
:)
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Aussagenlogik

Beitrag von Xin » Sa Nov 15, 2008 5:02 pm

nufan hat geschrieben:
Xin hat geschrieben:=> Die Kurzfassung bitte ins Wiki.
Meinst du das ernst? Du willst die armen Anfänger so quälen? ;)
Du bist doch Anfänger und trotzdem quälst Du Dich damit.
Ziel des Wikis ist für Anfänger zu sein, damit sie nicht Anfänger bleiben.
nufan hat geschrieben:Damit es klarer ist, Beispiele zur normalen KNF und DNF:
KNF: (a v b) ^ (b v c) v in den Klammer, ^ zwischen den Termen
DNF: (a ^ b) v (b ^ c) ^ in den Klammern, v zwischen den Termen

Verständlich? :?
Halbwegs.

Ich selber interessiere mich nur dafür, wie ich die Dinger klein bekomme.
Ob das jetzt DNF oder KNF ist... ist mir dabei ziemlich schnuppe.
nufan hat geschrieben:Anstatt Assembler machen wir nur so ein shit...
Und vor Assembler kommt noch irgendwas mit Sandalen oder so...
FlipFlops :-)

Wenn Du das verstanden hast, beschreibe es ausführlich im Wiki. Ich wollte es auch mal verstehen.
Wir hatten das auch im Studium.
nufan hat geschrieben:Frage: Wer von euch hat Logik jemals in dieser Form beim Programmieren verwendet? *gespannt auf Antwort warte* ;)
Die Logikgesetze (z.B. a^b == !( !a v !b ) brauchst Du beim Proggen durchgehend.
Die Umformungen, die Du derzeit lernst ebenso.

Du benutzt in den Folgerungsoperator in dem OpenDocument?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Aussagenlogik

Beitrag von nufan » Sa Nov 15, 2008 5:11 pm

DirtyOerti hat geschrieben:Nie^^
Hab ich mir fast gedacht :D
DirtyOerti hat geschrieben:Und: Beides wahr, eines wahr, nur eines wahr (AND, OR, XOR)
AND <=> ^
OR <=> v (ist jetzt ein v, da gibts ein eigenes Zeichen, dass aber fast so aussieht)
XOR kenn ich nicht.
NOT <=> Negat (kann im Forum nicht dargestellt werden) sieht so aus: Bild
<=> <=> Äquivalenz
--> <=> Implikation
Antivalenz gibts auch noch (sieht fast aus wie }). Ist wahr, wenn nur einer der beiden Ausdrücke wahr ist.
Dann noch NAND und NOR, aber das ist euch wahrscheinlich bekannt.
Xin hat geschrieben:Du bist doch Anfänger und trotzdem quälst Du Dich damit.
Aber nicht ganz freiwillig. Gut - ich könnte die Schule abbrechen, dann müsste ich es nicht machen, aber wenn ich durchkommen will, brauch ich das.
Xin hat geschrieben:FlipFlops :-)

Wenn Du das verstanden hast, beschreibe es ausführlich im Wiki. Ich wollte es auch mal verstehen.
Wir hatten das auch im Studium.
Ich hoffe ich werde es verstehen :)
Xin hat geschrieben:Die Logikgesetze (z.B. a^b == !( !a v !b )
DeMorgan
Ich hab da eine Liste mit 46 Äquivalenzen... angefangen von
!!a <=> a bis hin zu (a-->(b-->c))-->((a-->b)-->(a-->c)) <=> W
Xin hat geschrieben:Du benutzt in den Folgerungsoperator in dem OpenDocument?
Folgerungsoperator? :?
Meinst du -->? Das ist eine Implikation. Auch so ein Junktor... aber unbedeutend, da ich ihn schon nach der ersten Zeile auflöse.
a-->b <=> !a v b
! ist als Negat gemeint.

Antworten