Kleines Logik-Spiel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RushDen.

    Kleines Logik-Spiel

    Hallo:

    Es spielen drei Kinder im Sandkasten und bauen eine Sandburg.
    Eines dieser Kinder macht die Burg des anderen kaputt.

    Alle drei Kinder beteuern ihre Unschuld, es steht aber auf jeden Fall fest, dass genau einer gelogen hat.

    Nennen wir die Kinder Hans, Müller, Rofl.

    Eines der Elternpaare - ein Logiker - konstatiert (und er hat auf jeden Fall recht):
    Entweder Hans sagt die Wahrheit und Müller lügt, oder aber wenn Müller die Wahrheit sagt, lügt Rofl.

    So mein Ansatz:
    Auf den ersten Blick sieht man, dass es notwendig ist zu beweisen, dass wenn einer recht hat, zwei lügen. Das würde nämlich mit der Bedingung, dass genau einer lügt, kollidieren.

    Einzig Müller kommt deswegen infrage: Wenn er recht hat, lügen dann sowohl Rofl als auch Hans.
    Denn wenn Müller recht hat, dann muss Rofl lügen; wenn aber Rofl lügt, dann muss Müller recht haben, und wenn Müller recht hat, dann muss Hans lügen.
    Widerspruch zur Bedingung...

    Wenn nun Hans recht hat, lügt Müller, aber rofl lügt nicht.
    Wenn Rofl nicht lügt, dann lügt Müller, und Hans hat recht.

    Also auf jeden Fall lügt Müller.

    Was sagt ihr?
    Ich hätte folgenden Ausdruck vorgeschlagen:
    (A ∧ ¬B) ∧ (¬(A ∧ ¬B) => ¬C)

    Wobei A Hans, B Müller und C Rofl ist.

    Gruß.

    _
    Und Gott alleine weiß alles am allerbesten und besser.

    φConst schrieb:

    Wobei A Hans, B Müller und C Rofl ist.
    Du meinst sicher A ist "Hans sagt die Wahreit" usw. ;)

    Also ich hab mir jetzt noch keinen genauen Ansatz überlegt, würde aber gerne eher auf Deinen eingehen:

    φConst schrieb:

    Wenn nun Hans recht hat, lügt Müller, aber rofl lügt nicht.
    Ich würde sagen, wir können aufgrund der Implikation für den Fall wegen ex falso quodlibet nichts über Rofl aussagen.

    φConst schrieb:

    Wenn Rofl nicht lügt, dann lügt Müller, und Hans hat recht.
    Das wäre der Schluss über die Kontraposition, was mir logisch scheint.

    Bei beiden Sätzen kommt mir im ersten Moment aber das exklusive Oder etwas in die Quere und stellt für mich intuitiv ein Problem dar. Daher bin ich mir auch bei Deiner Formel gerade nicht ganz sicher, ob die das passend umsetzt. Kannst Du da Deinen Gedankengang erläutern? Hast Du mal versucht, das wirklich genau auszuformulieren mit der Form (A und nicht B) oder (nicht A und B)?
    Sobald man einen Ausdruck gefunden hat, der den Sachverhalt genau ausdrückt, könnte man diesen auch einfach negieren und eine erfüllende Belegung aus der Wahrheitstafel herausziehen. Da wir hier 3 Atome haben, hält sich das ja noch in Grenzen und gewisse Zeilen fallen ja eh weg, da wir annehmen, dass die Formel stimmt. Wäre btw auch ganz interessant, passende Aussagen mit den Atomen dann im Hilbert-Kalkül herzueleiten, wenn wir die Formel aufgrund ihrer angegebenen Richtigkeit als Axiom ansehen. :D
    Den metalogischen Ansatz habe ich jetzt nicht weiter verfolgt. Er klingt zunächst plausibel vom Ansatz her, allerdings habe ich hier auch intuitiv die Vermutung, dass es ja mehrere Möglichkeiten geben könnte.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Was genau ist denn jetzt die Fragestellung?

    Soll man herausfinden wer die Sandburg zerstört hat?

    Wenn ja:

    X = X hat die Sandburg zerstört

    Es gelten folgende Formeln:

    F1 = (H UND -R UND -M) ODER (-H UND R UND -M) ODER (-H UND -R UND M) // Genau einer von den Dreien hat die Sandburg zerstört
    F2 = (-H UND -R UND M) XOR (-M -> R) // Aussage des Logikers

    A XOR B = (A UND -B) ODER (-A UND B)

    F1 UND F2 auswerten (dauert zulange hier jetzt aufzuschreiben, habs aber gemacht)
    -> Müller hat die Sandburg kaputt gemacht.
    @RushDen Definiere „auswerten“. Einfach Belegungen suchen, die beides erfüllen oder kann man da durch Konjunktion und Umformungen was machen?

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    Ich würde sagen, wir können aufgrund der Implikation für den Fall wegen ex falso quodlibet nichts über Rofl aussagen.

    Doch: Wir wissen nämlich, dass genau einer lügt. Demnach sagt jeder grundsätzlich die Wahrheit - auch Rofl, selbst wenn über ihn keinerlei Aussagen bekannt wären.
    Wenn nun Hans die Wahrheit sagt, dann lügt genau einer - und zwar Müller -, und die beiden anderen sagen die Wahrheit.

    Trade schrieb:

    Daher bin ich mir auch bei Deiner Formel gerade nicht ganz sicher, ob die das passend umsetzt. Kannst Du da Deinen Gedankengang erläutern?


    (A ∧ ¬B) ∧ (¬(A ∧ ¬B) => ¬C)
    Soll heißen:

    Wenn Hans die Wahrheit sagt (und somit Müller lügt), und wenn Hans lügt (und Müller somit recht hat), folgt für dies insgesamt, dass Rofl lügt.
    Die dazugehörige Wahrheitstabelle:

    (Berechnet mit: erpelstolz.at/gateway/formular-zentral.html)

    Wie man sieht ist sie überall falsch, wenn Müller die Wahrheit sagt.

    Hatte die Formel auch nur so auf die Schnelle geschrieben gehabt.
    Vermutlich war das aber mein Gedanke.
    (Sie ist aber nicht ganz richtig: Wenn nur Hans die Wahrheit sagt, ist sie trotzdem richtig, kollidiert aber mit der Bedingung P:)

    @RushDen
    Lieben Dank für deine Mühe. Kannst du meine Argumentation nachvollziehen( und ja: Es geht darum, wer die Sandburg zerstört hat: Derjenige der lügt, hat kaputtgemacht)?

    Grüße
    Und Gott alleine weiß alles am allerbesten und besser.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „φConst“ ()

    @Trade

    Auswerten = Wahrheitstabelle oder umformen bis man sieht, dass M=1, H=0, R=0 einziges Modell der Formel ist.

    @φConst

    Ich kann deinen Gedankengang auch nicht so ganz verstehen.
    Kannst du Stück für Stück erklären wie du auf deine Formel gekommen bist?

    Im Übrigen finde ich die sprachliche Beschreibung der Aussage des Logikers zweideutig:

    1. Bedeutung: Der "Oder"-Teil gilt immer dann, wenn Müller die Wahrheit sagt (dann folgt direkt, dass Rofl lügt).
    2. Bedeutung: Der "Oder"-Teil sagt nur etwas über die Beziehung zwischen der Aussage von Müller und der Aussage von Rofl aus. (Ob der "Oder"-Teil gilt hängt nicht von Müllers Aussage ab).