08.09.2009, 21:30
(08.09.2009, 14:00)Realshaggy schrieb: Testest du deine Rätsel eigentlich nur auf Lösbarkeit, oder auch auf "mit logischen Überlegungen knackbar"?
Im Idealfall wird bereits während des Rätselerstellens ein Algorithmus verwendet, der auf logischen Überlegungen basiert. Das ist aber immer sehr aufwändig zu programmieren, weshalb ich das meist erst beim Schwierigkeitsgradtest mit eingebaut habe. In einigen wenigen Fällen habe ich aber bislang nur Brute-Force-Tester (Pfeile, Kropki, Tapa) aus ganz unterschiedlichen Gründen.
Wünschenswert ist meiner Meinung nach folgende Architektur:
a) Ein Solver, der möglichst schlank ist, also frei von komplizierten Schlüssen. Bei vielen Rätsel genügt hier die Brute-Force-Suche mit geeigneten Kriterien für frühzeitigen Abbruch (z. B. zweimal die gleiche Zahl in einer Zeile). Bei Killern oder Japanischen Summen ist das allerdings zu langsam, da muss man härtere Geschütze auffahren.
b) Ein Generator, der Schwierigkeit und Schönheit der Rätsel bereits beim Erstellen berücksichtigt.
Den Solver benutzt man dann, um die Korrektheit und Eindeutigkeit der Lösung zu testen und den Generator um schöne Rätsel zu erstellen.