So können Sie die exakte gleichmäßige Verteilung aller Sudoku-Rätsel erstellen: Sie können ein 9x9-Raster nur zufällig generieren und dann nur beibehalten, wenn es sich um ein korrektes Sudoku-Raster handelt. Anderenfalls versuchen Sie es erneut.
Dieses Brute-Force - Ansatz garantieren Ihnen eine gleichmäßige Verteilung ist aber eindeutig nicht effizient, da Sie die Wahrscheinlichkeit des Gitters multiplizieren können richtig sein nur durch ein zufälliges 8x8 Gitter zu erzeugen und dann die restlichen zwei Linien füllen. Dies ist immer noch eine zufällige Verteilung, aber immer noch viel zu ineffizient.917
[ 1 , 2 , . . 9 ]9 !
Vielleicht sehen Sie, wohin ich gehe: Wenn Sie dieses Problem auf clevere Weise beantworten, werden Sie sich wahrscheinlich über die zugrunde liegenden Symmetrien von Sudoku-Gittern wundern. In dieser Richtung wurde viel Arbeit geleistet, um die Tatsache zu beweisen, dass 17 die minimale Anzahl von Hinweisen auf ein Sudoku ist ( siehe diesen Artikel ), und Sie können hier die genaue Aufzählung von 5.472.730.538 Klassen von 3.359.232 ähnlichen Gittern sehen, die diese verwenden Symmetrien:
- Permutationen von Ziffern
- Permutationen von Zeilen (die Bänder und die Zeilen in jedem Band)
- Gleiches gilt für Spalten
- Umsetzung
9 ! , 64, 64, 2
BEARBEITEN: Um dies an unvollständige Rätsel anzupassen, können Sie eine Teilmenge Ihres Rasters zufällig auswählen, prüfen, ob die Lösung mit einem Sudoku-Löser eindeutig ist, und es erneut versuchen, wenn nicht. Dies ist keine gleichmäßige Verteilung, da die Anzahl der unvollständigen Rätsel mit einer eindeutigen Lösung für zwei Raster unterschiedlich sein kann. (Ich wäre sonst sehr überrascht)