Das Zebrarätsel ist ein berühmtes Logikrätsel mit fünf Häusern, von denen jedes in einer anderen Farbe gestrichen ist. Die Häuser haben verschiedene Bewohner, die unterschiedliche Nationalitäten haben, unterschiedliche Haustiere halten, unterschiedliche Getränke trinken und unterschiedliche Zigarettenmarken rauchen.
Um dir beim Lösen des Rätsels zu helfen, bekommst du 15 Aussagen, die die Lösung beschreiben. Doch nur wenn du die Informationen aus allen Aussagen kombinierst, findest du die Lösung des Rätsels.
Das Zebrarätsel ist ein Constraint-Satisfaction-Problem (CSP). Bei so einem Problem hast du eine Menge möglicher Werte und eine Menge von Bedingungen, die einschränken, welche Werte gültig sind. Ein weiteres bekanntes CSP ist Sudoku.
Deine Aufgabe ist es, das Zebra-Rätsel zu lösen und die Antworten auf diese beiden Fragen zu finden:
Die folgenden 15 Aussagen sind alle bekanntermaßen wahr:
Außerdem ist jedes der fünf Häuser in einer anderen Farbe gestrichen, und ihre Bewohner haben unterschiedliche Nationalitäten, halten unterschiedliche Haustiere, trinken unterschiedliche Getränke und rauchen unterschiedliche Zigarettenmarken.
Es gibt 24 Milliarden (5!⁵ = 24.883.200.000) mögliche Lösungen, also versuch, so viele Lösungen wie möglich auszuschließen.
Melde dich bei Exercism an, um Nim mit 70 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.
Entdecke 8 verschiedene Wege, die Lösung des Zebra-Rätsels aus 24 Milliarden möglichen Lösungen zu finden, darunter das möglichst frühe Verwerfen ungültiger Permutationen, der AC-3-Algorithmus, eine sehr kompakte logikbasierte Lösung und sogar ein genetischer Algorithmus!