Sudoku Mi az a Sudoku Szm alap kombinatorikus
Sudoku
Mi az a Sudoku? • Szám alapú kombinatorikus rejtvény • A cél kitölteni egy 9 x 9 -es rácsot • • Minden cellában [1, 9] értékek Adott sorban minden érték különböző Adott oszlopban minden érték különböző Az egyes 3 x 3 -as régiókban minden érték különböző • Kiindulásnak néhány cella már ki van töltve https: //en. wikipedia. org/wiki/Sudoku
Minimális Sudoku •
Megoldási stratégiák • Backtracking: • Ez van implementálva a példa kódban. • • Keresünk egy üres cellát Keresünk egy számot, amely beírható a cellába Az így kapott új táblát megpróbáljuk megoldani Amennyiben nem írható be szám a cellába, akkor visszalépünk a korábbi állapotba és megpróbálunk másik megfelelő számot keresni.
Megoldási stratégiák • Sztochasztikus keresés • Véletlen alapú keresés • Véletlenszerűen töltsük ki az üres cellákat • Keressük meg a hibákat a táblán • Variáljuk át a hibás pozíciókban levő számokat • Amennyiben a hibák száma nulla, akkor megoldottuk. • Szimulált lehűtés, genetikus algoritmusok, tabu keresés, stb.
Megoldási stratégiák • További lehetséges megoldások • Kényszer alapú megoldások • Papír-ceruza módszer (humanistic) • Több egyszerű módszer kombinációja
Feladat • Hatékony Sudoku megoldó készítése • Minimum: • normál 9 x 9 -es tábla megoldása • amennyiben nincs megoldás az algoritmus ezt jelezze • amennyiben több megoldás is van, akkor az algoritmus adja meg a lehetséges megoldásokat • Az algoritmus legyen képes nagyobb táblák megoldására is. • Az algoritmus legyen képes Sudoku tábla generálására is.
- Slides: 7