Modellierung von Sudoku Modellierung von Sudoku • Problem: – Gegeben ein Sudoku S – Konstruiere eine aussagenlogische Formel FS , die folgende (noch nicht formal definierte) Eigenschaft erfüllt: • Eine (minimale) zu FS passende Belegung macht FS wahr genau dann, wenn die Belegung die Lösung des Sudokus charakterisiert. Modellierung von Sudoku • Variablen: {XYZ | X,Y,Z 2 {1,…,9} } • Bedeutung von XYZ : auf der Zeile Y, Spalte Z, liegt die Zahl X. • Jede Zahl komm in jeder Zeile vor : 9 9 ^ ^ (XY 1 _ XY 2 _ : : : _ XY 9 ) X=1 Y =1 Modellierung von Sudoku • Jede Zahl komm in jeder Spalte vor : 9 9 ^ ^ (X1Z _ X2Z _ : : : _ X9Z ) X=1 Z=1 • Jede Zahl kommt im ersten Quadrat vor (die Formel n für die andere Quadrate sind analog): 9 ^ X=1 Ã 3 _ 3 _ Y =1 Z=1 XY Z ! Modellierung von Sudoku • Jedes Feld enthält höchstens eine Zahl: 9 ^ 9 9 ^ ^ 9 ^ Y =1 Z=1 X=1 U = 1 U 6= X (:XY Z _ :UY Z ) • Anfangskonfiguration: z.B. 411 Æ 915 Æ … Æ 499 Modellierung von Sudoku • Sei FS die Formel, die aus der Konjunktion aller vorherigen Formel besteht. • In FS kommen 729 (93) atomare Formeln vor. • Sei ¯ eine Belegung aller atomaren Variablen XYZ. ¯ entspricht eine Lösung des Sudokus genau dann, wenn [FS](¯)=1. • Wenn der Sudoku gut formuliert ist, dann hat FS genau eine erfüllende Belegung. Modellierung von Sudoku • Sei ¯s die einzige erfüllende Belegung der Formel FS in einem gut formulierten Sudoku. Wenn die Anfangskonfiguration den Wert von k der 81 Felder bestimmt, dann kennen wir schon den Wert von ¯s(XYZ) für 81k Variablen XYZ. Es bleiben jedoch (729 - 81k) Variablen übrig, immer noch eine große Zahl.