Kapitel 4: Sudokus erzeugen

Inhaltsverzeichnis


Bewertung und Schwierigkeitsstufen

HoDoKus Bewertungssystem ist haupts�chlich als Tool zum Ausfiltern bestimmter Sudokutypen gedacht. Anders als die Bewertungssysteme vieler anderer Sudokuprogramme ist es frei konfigurierbar und kann daher auch kein absolutes Ma� f�r die Schwierigkeit eines Sudokus geben (falls das �berhaupt m�glich ist). F�r konstante Bewertungen sind viele andere Programme frei verf�gbar (z.B. Sudoku Explainer).

Screenshot: Solver step attributes

Jede L�sungstechnik hat in HoDoKu zwei Eigenschaften:

Der "Level" ordnet die Technik einer der f�nf Schwierigkeitsgrade in HoDoKu zu (Leicht, Mittel, Schwer, Unfair, Extrem). Der Schwierigkeitsgrad eines Sudokus kann nicht kleiner sein als der Schwierigkeitsgrad des schwersten in der L�sung enthaltenen Schrittes (er kann allerdings gr��er sein, siehe unten). Der "Score" aller Schritte in der L�sung wird einfach zusammengez�hlt und ergibt den Score des gesamten Sudokus.

Um die Eigenschaften einer Technik �ndern zu k�nnen muss man auf die entsprechende Zeile in der Liste klicken. Der Bereich "Eigenschaften L�sungsschritt" wird dann mit den passenden Daten gef�llt, die nun ge�ndert werden k�nnen. �nderungen der Eigenschaften von L�sungstechniken k�nnen nat�rlich die Bewertung aller Sudokus ver�ndern, die diese Techniken enthalten.

Screenshot: Level step attributes

Schwierigkeitsgrade haben einen minimalen und einen maximalen Score zugewiesen (der minimale Score ist um eins gr��er als der maximale Score des n�chstniedrigeren Grades). Der Eingabedialog unter "Bearbeiten|Einstellungen|Allgemein" kann zum Setzen der Maximalscores f�r die einzelnen Grade verwendet werden (Der Maximalscore f�r "Extrem" ist unendlich, "Unvollst�ndig" ist kein Score zugewiesen). Die Scores der Schwierigkeitsgrade werden beim Bewerten eines Sudokus ber�cksichtigt. Wie das geschieht, h�ngt davon ab, ob ein neues Sudoku erzeugt oder ein bestehendes bewertet werden soll:

Die Farben der einzelnen Schwierigkeitsgrade (siehe Screenshot) werden bei der Darstellung der L�sungsschritte in den Bereichen "Zusammenfassung" und "L�sungsweg" verwendet, sie k�nnen beliebig angepasst werden.


Erzeugen von Sudokus im Lern- oder �bungsmodus

Die Spielmodi "Lernen" und "�ben" (siehe Spielmodi) sind ideale Instrumente zum Erzeugen von Sudokus, die bestimmte Techniken enthalten. "Modus|Lernen..." oder "Modus|�ben..." im Men� w�hlen, eine Technik ausw�hlen und ein neues Sudoku erzeugen. In beiden Modi wird das neue Sudoku mindestens eine Instanz einer der gew�hlten Techniken enthalten. Im Modus "Lernen" wird das Sudoku automatisch so weit gel�st, dass der Schritt direkt ausgef�hrt werden kann.


Sudokus mit bestimmten L�sungstechniken erzeugen

Mit Hilfe des konfigurierbaren Bewertungssystems kann man leicht Sudokus erzeugen, die bestimmte L�sungstechniken ben�tigen (diese Funktion ist haupts�chlich f�r Techniken mit Schwierigkeitsgrad "Schwer" oder h�her gedacht). Will man zum Beispiel ein Sudoku erzeugen, das eine AIC enth�lt, kann man nat�rlich einfach zuf�llig Sudokus mit Schwierigkeitsgrad "Unfair" (dem Standard f�r AICs) erzeugen und in der Zusammenfassung kontrollieren, ob eine AIC vorkommt oder nicht.

Einfacher geht es folgenderma�en:

Warum funktioniert das? Es ist einfach unm�glich ein Sudoku zu erzeugen, das mit den "normalen" mittleren Techniken auf einen Score von mehr als 5000 kommt ("Mittel" enth�lt Singles, Locked Candidates, Paare und Trippel und ergibt normalerweise Scores zwischen ungef�hr 600 und 1200). Wenn das Sudoku eine schwere Technik au�er AIC (der jetzt ja als "Mittel" gilt) enth�lt, wird es als zu schwer verworfen. Die einzigen Sudokus die "Mittel" sind und einen Score von mehr als 5000 haben, sind solche, die mindestens eine AIC enthalten.

Es ist nat�rlich auch m�glich, die Eigenschaften von mehr als einer Technik zu ver�ndern. Jedes neu erzeugte Sudoku wird dann mindestens eine dieser Techniken enthalten.

Achtung: Die Strategie des Solvers wird durch die oben beschriebenen �nderungen nicht beeinflusst. Wenn die gesuchte Technik in der Hierarchie weit unten steht, ist die Wahrscheinlichkeit gro�, dass ein an und f�r sich passendes Sudoku eine andere nicht triviale Technik enth�lt und daher verworfen wird. Es wird daher empfohlen, die gesuchten Techniken weiter nach oben zu verschieben.


Sudokus im Batchbetrieb erzeugen

HoDoKu kann auch im Batchbetrieb ausgef�hrt werden (siehe Kommandozeilenoptionen). Der Batchbetrieb kann unter anderem dazu verwendet werden, um Sudokus mit bestimmten L�sungstechniken oder Schwierigkeitsstufen zu erzeugen. Die daf�r relevanten Optionen sind /s /sc bzw. /s /sl.

/s weist HoDoKu an nach Sudokus zu suchen, /sc bestimmt, nach welchen Techniken gesucht werden soll. Das Argument von /sc ist eine Reihe von Bezeichnern. Jeder Bezeichner enth�lt den Namen einer Technik (die verwendeten Abk�rzungen k�nnen mit /lt aufgelistet werden), einen Sudoku-Typ und die gew�nschte Menge an Eliminierungen (die letzten beiden Angaben sind optional).

Der Sudoku-Typ gibt an, wie die gesuchte Technik in der L�sung angeordnet sein soll:

SSTS steht f�r "Simple Sudoku Technique Set" und enth�lt Singles, Locked Candidates, Hidden/Naked/Locked Subsets, X-Wing, Swordfish, Jellyfish, XY-Wing, Simple Colors und Multi Colors (dieses Set an Techniken wird oft in Foren verwendet um Sudokus bis zu dem Punkt zu l�sen, an dem der Spa� beginnt).

Die gew�nschte Anzahl an Eliminierungen muss mit einem '+' starten. Das '+' wird gefolgt von einem Operator ('e' f�r gleich - "equals", 'l' f�r kleiner als - "less than" oder 'g' f�r gr��er als - "greater than").

Obwohl eine beliebige Menge an Technik-Bezeichnern in einem Batchlauf angegeben werden kann, wird jedes erzeugte Sudoku nur eine dieser Techniken enthalten (ausgenommen SSTS-Techniken, die nat�rlich in den SSTS-Teilen beliebig oft vorkommen k�nnen).

Die Kommandozeile f�r einen Batchlauf, der Sudokus, die Swordfishes enthalten, erzeugen soll, w�re:

java -Xmx512m -jar hodoku.jar /s /sc bf3

oder

hodoku.exe /s /sc bf3

Die Kommandozeile f�r einen Batchlauf, der nur schwere Sudokus erzeugen soll, w�re:

java -Xmx512m -jar hodoku.jar /s /sl 2

oder

hodoku.exe /s /sl 2

/o kann benutzt werden um eine Ausgabedatei anzugeben, /f um die Optionen aus einer Datei zu lesen und /c um eine beliebige Konfigurationsdatei zu verwenden (siehe Konfigurationen und Sudokus speichern/laden). Mehr Optionen sind in der Referenz beschrieben.


Quellen f�r Sudokus

Wenn man sich das Erzeugen von Sudokus ersparen will, gibt es jede Menge guter Sudoku-Sammlungen im Internet (die meisten spezialisieren sich allerdings auf schwere Sudokus). Einige Beispiele:

http://mapleta.maths.uwa.edu.au/~gordon/sudokumin.php
Gordon Royle's Sudokus mit nur 17 anf�nglich gesetzten Zellen (siehe auch Links). Die meisten Sudokus sind nicht sehr schwer.
http://www.setbb.com/sudoku/viewtopic.php?t=1432&mforum=sudoku
Wapati's schwere Sudokus (k�nnen ohne Chains gel�st werden).
http://forum.enjoysudoku.com/viewtopic.php?t=6291
Patterns Game Results: Enth�lt sehr viele Sudokus mit ganz unterschiedlichen Schwierigkeitstufen, die jeweils alle gleich aussehen. Die letzte Zahl auf jeder Zeile ist die Bewertung von Sudoku Explainer.
http://www.setbb.com/sudoku/viewtopic.php?t=1480&mforum=sudoku
Tarek's "Pearly6000" (sehr schwer).
http://www.sudocue.net/top10000.sdm
Eine Untermenge der top50000 (enth�lt nur die schwersten Sudokus aus der gr��eren Liste).
http://magictour.free.fr/top1465
Die top1465, eine andere sehr gute Sammlung mit schweren Sudokus.

Copyright © 2008-12 by Bernhard Hobiger
Alles Material auf dieser Site unterliegt der GNU FDLv1.3.