Generowanie dokładnego równomiernego rozkładu wszystkich łamigłówek sudoku można zrobić w ten sposób: możesz po prostu losowo wygenerować siatkę 9x9, a następnie zachować ją tylko, jeśli jest to poprawna siatka sudoku, w przeciwnym razie spróbuj ponownie.
917
[ 1 , 2 , . . 9 ]9 !
Może widzisz, dokąd zmierzam: sprytne rozwiązanie tego problemu prawdopodobnie doprowadzi cię do zastanowienia się nad podstawowymi symetriami siatek sudoku. Dużo pracy wykonano w tym kierunku, aby udowodnić fakt, że 17 to minimalna liczba wskazówek do sudoku ( zobacz ten artykuł ) i możesz przejść tutaj, aby zobaczyć dokładne wyliczenie 5 472 730 538 klas 3 359 233 podobnych siatek, które wykorzystują te symetrie:
- Permutacje cyfr
- Permutacje rzędów (pasma i rzędy wewnątrz każdego pasma)
- To samo dotyczy kolumn
- Transpozycja
9 ! , 64, 64, 2
EDYCJA: aby dostosować to do niekompletnych łamigłówek, możesz losowo wybrać podzbiór swojej siatki, sprawdzić, czy rozwiązanie jest unikalne dzięki rozwiązaniu sudoku i spróbować ponownie, jeśli nie. To nie jest jednolity rozkład, ponieważ liczba niekompletnych łamigłówek z unikalnym rozwiązaniem może być różna dla dwóch siatek. (Inaczej byłbym bardzo zaskoczony)