000
25.03.2006, 23:33 Uhr
virtual
Sexiest Bit alive (Operator)
|
Hallo,
Sudoku ist ja grade ziemlich hipp und deshalb habe ich dazu ein Programm geschrieben, welches Sudokus erstellt und löst. Beim erstellen von Sudokus geht man ganz gerne hin und erstellt eine Rangliste hinsichtlich der Schwierigkeit: "einfach, mittel, schwer, ekelhaft". Mein Ansatz dazu ist, die potentielle Lösung eines Sudokus nicht durch simples Backtracking zu bestimmen, sondern einfach algorithmen anzuwenden und diese mit einem Rating zu versehen. zB ist wohl die Einfachste Aufgabenstellung, nur eine fehlende Zahl in einer Zeile, Spalte oder Quadrat zu ergänzen. Dh wenn ich ein Soduku mit meinem Programm löse, möchte ich zum Auffinden einer Zahl auch stets wissen, wie ich auf diese Lösung gekommen bin, und diese irgendwie beurteilen.
Derzeit ist es so, daß ich als finale Lösungstrategie (wenn nix anderes klappt) "raten" nehme. Dh ich habe öfters die Situation, wo mein Programm weiß, daß ein Problem eindeutig lösbar ist, aber es kommt nur durch raten zu dieser Lösung.
Zur Zeit ist es so, daß ich bei knapp 30% der Sudoku mindestens einmal "raten" muß. Mir wäre seh geholfen, wenn mir jemand sagen kann, ob er bei folgenden Sudokus ein Lösung ohne raten findet und mir in Worten beschreiben kann, wie er die Zahl gefunden hat:
Folgendes sind bespiele, wo mein Programm im nächsten Schritt raten würde:
Code: |
+-------+-------+-------+ | 1 2 8 | 3 5 7 | 9 6 4 | | 3 5 9 | 6 8 4 | 2 7 1 | | 4 7 6 | 9 1 2 | 5 8 3 | +-------+-------+-------+ | _ 1 _ | 2 _ 8 | _ 5 6 | | _ _ _ | _ _ 5 | _ _ _ | | 2 8 5 | 7 6 _ | 4 _ 9 | +-------+-------+-------+ | _ _ _ | _ 7 _ | _ _ 5 | | 5 _ _ | _ _ _ | _ _ 7 | | _ 3 _ | 5 _ 6 | _ 9 _ | +-------+-------+-------+
|
Code: |
+-------+-------+-------+ | 9 2 8 | _ _ _ | 5 6 4 | | 1 5 7 | 6 8 4 | 3 2 9 | | 4 6 3 | 9 5 2 | _ 1 _ | +-------+-------+-------+ | _ 7 _ | _ _ 5 | _ 9 _ | | _ _ 5 | _ 9 _ | 4 _ _ | | 3 _ 9 | _ 7 6 | _ 8 5 | +-------+-------+-------+ | _ 9 _ | _ 6 _ | _ 5 _ | | 5 _ 1 | _ _ 9 | 6 _ _ | | _ _ _ | 5 _ 8 | 9 _ _ | +-------+-------+-------+
|
Code: |
+-------+-------+-------+ | 4 1 7 | 8 5 9 | 6 3 2 | | 3 5 2 | 4 6 7 | 9 8 1 | | 8 9 6 | 3 2 1 | 7 4 5 | +-------+-------+-------+ | 6 _ 1 | 5 _ _ | 2 9 7 | | _ _ _ | 2 9 6 | _ 1 _ | | 2 _ 9 | 1 7 _ | 5 6 3 | +-------+-------+-------+ | _ 6 _ | 7 _ 2 | _ 5 _ | | _ _ 4 | 6 1 5 | 3 2 _ | | _ 2 _ | 9 8 _ | _ 7 6 | +-------+-------+-------+
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |