Als ich vor einigen Jahren mein erstes Str8ts-Puzzle lösen wollte, dauerte es eine gewisse Zeit, bis ich die Regeln und die gängigen Lösungswege beherrscht habe. Dabei waren die ersten Puzzles recht einfach. Schritt für Schritt versuchte ich dann, schwerere Puzzles zu lösen. Irgendwann kam der Punkt, an dem ich das Puzzle einfach nicht mehr lösen konnte. In meiner Frustration begann ich eine Software zu entwickeln, die mich bei der Lösung unterstützen sollte. Zuerst konnte diese Software auch nur aus mehreren Prämissen eine Folgerung ableiten, was man auch als deduktive Methode bezeichnet.
Aber gerade die schweren Puzzles, auch als „Extreme“ bezeichnet, lassen sich oftmals mit dieser Methode nicht lösen. Erst durch den Einsatz der Backtracking-Methode waren dann nahezu alle Puzzles lösbar.
Mit meiner App möchte ich allen begeisterten Rätselfreunden eine Möglichkeit geben, sich erst einmal selbst an der Lösung der Puzzles zu versuchen. Und wenn es gar nicht mehr weiter geht, kann man dann den Str8ts-Solver nutzen, der aufzeigt, wie die nächsten Lösungsschritte sind.
„ Erst durch den Einsatz der Backtracking-Methode waren dann nahezu alle Puzzles lösbar.“
Mich würde mal interessieren, welches Str8ts durch Backtracking nicht gelöst werden kann. Das darf es eigentlich nicht geben.
Natürlich müssen durch das Backtracking alle Puzzles lösbar sein. Wir haben im Str8ts-Solver nur ein einstufiges Backtracking implementiert. Jede weitere Stufe würde zu einer exponentiellen Verlängerung der Rechenzeit führen.
Als wir mit den Arbeiten zum Str8ts-Solver begonnen haben, gab es einzelne Puzzles, die wir mit reiner Logik nicht lösen konnten. Somit war es für uns auch interessant einen Algorithmus zu haben, der dieses bestätigt und aufzeigt, wie es mit Backtracking gehen kann.
Ich persönlich finde Puzzles mit Backtracking wenig attraktiv, da sie nur durch gezieltes Raten lösen lassen. Es gibt auch anspruchsvolle Puzzles, die ohne Backtracking auskommen.