Sono un programmatore dilettante.
Ho sviluppato un risolutore che usa oltre alle tecniche di base i colori, le catene forzate (qualunque sia il valore assegnato ad una cella, il risultato di un'altra cella non varia) ed una sorta di trial & error.
Ho sviluppato, seguendo gli esempi del forum un algoritmo per cicli e loops.
Mi sembra che l'introduzione di queste tecniche porti ad una complicazione delle risoluzioni.
Un esempio:
*--------------------------------------------------------------------*
| 3479 5 37 | 2367 27 1 | 3467 8 469 |
| 379 1 8 | 3567 4 567 | 367 2 369 |
| 347 2 6 | 378 9 78 | 1 5 34 |
|----------------------+----------------------+----------------------|
| 2 7 9 | 1 6 3 | 5 4 8 |
| 8 6 4 | 257 257 257 | 9 3 1 |
| 5 3 1 | 9 8 4 | 2 6 7 |
|----------------------+----------------------+----------------------|
| 367 4 2 | 567 1 567 | 8 9 356 |
| 67 9 57 | 245678 3 25678 | 46 1 2456 |
| 1 8 35 | 2456 25 9 | 346 7 23456 |
*--------------------------------------------------------------------*
e' risolto da Sudoku Explainer 1.2:
1 x X-Wing
1 x Hidden Pair
1 x XYZ-Wing
3 x XY-Wing
1 x Bidirectional Y-Cycle
1 x Turbot Fish
2 x Bidirectional Cycle
3 x Forcing Chain (qui la definizione di forcing chain e' differente dalla mia)
Il mio nuovo algoritmo risolve con with 3 loops:
LOOP, se r5c5=2 allora r9c5 = 5, r9c3 = 3,r1c3 = 7,r1c5 = 2
IMPOSSIBLE, 2 gia' in r5c5
LOOP, se r5c6=7 allora r8c6 = 2, r9c5 = 5, r5c5 = 7
IMPOSSIBLE, 7 gia' in r5c6
LOOP, se r9c5=5 then r7c9 = 5, r7c1 = 3, r9c3 = 5
IMPOSSIBLE, 5 gia' in r9c5
uso il nome "LOOP" perche' non conosco iltermine esatto da dare alla tecnica (qualcuno mi puo' aiutare a dare la corretta definizione?)
Il mio vecchio risolutore se la cavava con un solo passaggio:
se r1c5= 2 allorar5c5 = 7, r9c5 = 5,r9c3 = 9 , r8c3 = 5, r7c9 = 5,
r7c1 = 3 - IMPOSSIBLE, anche r9c3 = 3, (o, se preferite, 3 non piu' possibile nella riga 7)
allora r1c5 = 7
il dubbio che ho: puo' il mio trial & error essere considerato logico?
Qual'e' il giusto nome da assegnare alla tecnica utilizzata?
Visitano il forum: Nessuno e 1 ospite