Ein Rätsel: Wer lügt, wer sagt die Wahrheit?
Im Rahmen meines Info Studium haben wir folgendes Rätsel als Zusatzaufgabe:
Die Enterprise fliegt zum Planeten Warlög. Dort gibt es drei Stämme: die Xurs ( die immer die Wahrheit sagen), die Yzys (die Lügen oder die Wahrheit sagen) und die Polits (die immer Lügen). Picard trifft auf 3 Einwohner:
Picard: Von welchem Stamm seid ihr?
Einwohner 1: Der dritte ist ein Polit. Einwohner 2: Der Der erste ist ein Xur. Einwohner 3: Ich bin ein Yzy.
Welcher Einwohner stammt von welchem Stamm?
Das Thema ist Aussagenlogik, aber ich weiß nicht, wie ich an die Aufgabe heran gehen soll.
8 Antworten
Das kann man noch mit Einsetzen aller möglichen Kombinationen lösen - 3 * 3 * 3 = 27 ist noch nicht so sehr viel.
Vermutlich geht es nicht darum, das Rätsel selbst auf dem Papier zu lösen, sondern dem Computer beizubringen, es zu lösen.
Dazu 3 ineinander geschachtelte Schleifen für die Stammesangehörigkeiten der 3 Leute.
Für jede Stammeszugehörigkeitskombination: für jeden der 3: Ist die Aussage wahr? Passt der Wahrheitsgehalt der Aussage zur Stammeszugehörigkeit?
Falls für jeden der 3 der Wahrheitsgehalt zur Stammeszugehörigkeit passt: Stammeszugehörigkeitskombination in Lösungsmenge aufnehmen.
Ich kriege da 8 Lösungen.
(Unter der - in der von dir genannten Aufgabenstellung nicht genannten - Zusatzannahme, dass jeder Stamm genau einmal vertregen ist, gibt es genau eine Lösung.)
Was wäre wenn alle vom Selben Stamm wären, dann gehen Stamm 1 und 3 nicht und es wären alle Yzy. Hoffe das ist als Lösung nicht vorgesehen, wurde aber nicht ausgeschlossen.
Weiter bin ich grad noch nicht.
Möglichkeit 1:
Einwohner 1 ist ein Xur -> sagt die Wahrheit
Dann wäre Einwohner 3 ein Polit -> lügt
Dann wäre Einwohner 2 ein Yzy ->egal, was er sagt
Okay, das ist jetzt Zufall, dass Möglichkeit 1 richtig ist, aber ich zeige dir noch Möglichkeit 2 und 3 und 4...
Möglichkeit 2:
Einwohner 1 ist ein Yzy-> Er hilft uns nicht weiter, deswegen fangen wir mit Einwohner 2 an:
Einwohner 2 ist ein Xur -> sagt die Wahrheit (kann nicht sein, weil wenn er die Wahrheit sagen würde, wäre Einwohner 1 ein Xur)
Möglichkeit 3:
Einwohner 1 ist ein Yzy-> Er hilft uns nicht weiter, deswegen fangen wir mit Einwohner 2 an:
Einwohner 2 ist ein Polit-> lügt
Dann müsste Einwohner 3 ein Xur sein (kann nicht sein, weil wenn er die Wahrheit sagen würde, wäre er ein Yzy)
Möglichkeit 4:
Einwohner 1 ist ein Polit -> lügt
Einwohner 2 lügt in diesem Fall, müsste also ein Yzy sein
Einwohner 3 lügt aber auch und es dürfen nicht alle drei lügen.
Einfach immer alle Methoden durchprobieren, dann kriegt man die Lösung.
Du musst einfach probieren. War wäre, wenn Einwohner 1 dieser Stamm wäre. Dann gehst du das weiter durch, und wenn es dann nicht sein kann, probierst du die nächste Möglichkeit.
1 Xurs (sagt die Wahrheit)
2 Yzy (sagt die Wahrheit)
3 Polit (3 Lügt)
geht das wirklich nur durch reines probieren? Ich dachte in Informatik muss man jeden Kleinkram irgendwie beweisen bzw. alles komplizierter machen ...