Kto ho vyrieši je frajer :).
Keďže nie som úplne normálny v takýchto veciach (poznám celú radu ľudí čo Vám to s radosťou odprisahajú :) ), a keď sa niečo spája s matematikou tak sa pre mňa začína zábava ( predpokladám, že pred chvíľkou spomínaný zoznam sa akurát rozrástol o niekoľko ďalších ľudí :) ). Prvé čo človeka napadne je počet všetkých sudoku plôch. Druhé čo ma pri sudoku trápi :) je nájsť čo najobtiažnejšie sudoku.
Prvý problém - počet sudoku plôch mi ležal v hlave už dlhšie. Pôvodne som ho chcel vyriešiť sám, ale nejak som sa zamotával a výsledok nikde. Tak som si zavolal toho pána s tým čudným menom. Akože sa len volal? Hmm, ahá už to mám - Mr. Google :) Po krátkom hľadaní som našiel veľmi zaujímavý článok "Mathematics of Sudoku I" od Bertram Felgenhauer a Frazer Jarvis. Pokiaľ Vám matematika nevonia a predsa len chcete kliknúť na danú linku, odporúčam najprv zavolať vymetača diabla. V prípade, že ste už klikli na odkaz, odložte všetky ostré predmety a hláste sa na najbližšej psychiatrii :) Ale teraz vážne, v tom článku je postup veľmi podobný tomu v mojej hlave, dokonca aj brute force časť kde treba niečo naprogramovať je tam. Rozdiel je, že v tom článku sa dotiahli veci ďalej ako som ich dotiahol ja. Článok nie je písaný nejakou hroznou matematickou rečou tak pre toho koho to naozaj zaujíma to bude poučné čítanie. Ja už len dodám, že výsledok je
6 670 903 752 021 072 936 960
Pekne veľké číslo :)
A teraz poďme na najťažšie sudoku. Tu si chcem ale vystačiť bez toho pána s tým zvláštnym menom.
Prvé čo je treba je si definovať čo chceme dosiahnuť - najťažšie sudoku je predsa len príliš vágny pojem.
- sudoku musí byť jednoznačné - inak povedané je len jedno riešenie
- definovať funkciu "ťažkosti" - každému sudoku treba vedieť priradiť jednoznačne číslo - váhu, najväčšie číslo bude najťažšie sudoku
- Existuje políčko pre ktoré jednoznačne existuje číslo N - je to jediná možná pozícia pre N v zóne pretože ostatné pozície sú buď už vyplnené alebo ich kryje pozícia ďalšieho N
- Existuje políčko pre ktoré jednoznačne existuje číslo N - existujú prípady keď neplatí prvý prípad ale Nko je ako jediné možné v zóne - všetky ostatné čísla kryjú danú pozíciu
- Neexistuje žiadne jednoznačné číslo - je treba si zvoliť v nejakom políčku jedno číslo z možných čísel pre dané políčko a skúsiť vyriešiť sudoku. Ak neexistuje riešenie tak treba zvoliť ďalšie číslo a opakovať postup pokiaľ sa nenájde riešenie
sudoku = náhodná plocha sudoku
náhodne odoberieme polovicu čísel
počítaj(sudoku)
funkcia počítaj(sudoku)
{
riešime sudoku a zároveň pri riešení zistíme obtiažnosť
ak ( sa nedá jednoznačne vyriešiť)
tak ukonči funkciu
ak ( vypočítaná obtiažnosť je väčšia ako najväčšia obtiažnosť doteraz) tak
aktuálne sudoku je pre teraz najobtiažnejšie sudoku
cyklus (pre všetky zostávajúce čísla)
{
odoberieme dané číslo zo sudoku
počítaj( sudoku)
vrátime dané číslo na svoje miesto
}
}
Výpočtová zložitosť bude poriadna. Predpokladám, že ma čaká veľa optimalizovania :) Dúfam že v blízkej budúcnosti sa tu objaví hrozne ťažké sudoku :)
Konkretne toto zadanie sudoku na obrazku je neriesitelne takze to by bol fakt frajer kto by to vyriesil :D
OdpovedaťOdstrániťtak tak - ono ma to zaujalo hlavne preto, ze som si ho vytlacil zo stranky kde normalne su sudoku ok :)
OdpovedaťOdstrániť:D no ved to maju to asi posahane :D ...
OdpovedaťOdstrániťnemožno to vyriešiť to je dôkaz http://www.sudoku.name/sudoku-solver/sk
OdpovedaťOdstrániťTo ze to nejaky solver ktory len skusa vkladat cisla to nevie vyriesit neznamena ze to nema riesenie :) riesenie to ma :)
OdpovedaťOdstrániťsorry - mas pravdu - je to iny moj prispevok - myslel som ze som v http://hladajuci-muz.blogspot.com/2009/05/je-tu-znova-sudoku.html
OdpovedaťOdstrániťta sudoka co je zadanasa neda riesit- do stvrca c.1- vlavo hore sa neda vsunut cislica 1 --- a ja sa tak tesil na riesenie,,......
OdpovedaťOdstrániťano - neda - to ze sa neda vyriesit - to viem. Ako pisem vyssie - bolo to prekvapenie aj pre mna lebo to bolo zo zdroja kde som riesieval sudoku...
OdpovedaťOdstrániťSkor treba riesit http://hladajuci-muz.blogspot.sk/2009/05/je-tu-znova-sudoku.html - to by nemalo byt az take lahke :)
TOM: A ja som na tom išiel prezentovať program na riešenie sudoku... a že prečo nejde... :-D
OdpovedaťOdstrániťSkus http://sudokuonline.sk/riesitel-sudoku/ ... nechce sa mi to tam prepisovat :D
OdpovedaťOdstrániť