| 
Home Forum Giochi Sudoku nuovi algoritmi

nuovi algoritmi

Sudoku e varianti. Parliamone.

Moderatori: alkross, Klaus

1 messaggio • Pagina 1 di 1

nuovi algoritmi

Messaggioda gabriele46 » ven lug 20, 2007 11:04 am

Visto che i forum italiani sono alquanto deserti, sono andato su forum internazionali che, al contrario, sono abbastanza frequentati.
Ed e' li he CAMILLO (il mio programma) si e' demoralizzato.
Ha scoperto decine di nuove tecniche e regolarmente ne nascono di nuove.
Il tutto e' dovuto al fatto che sembra che ci siano degli schemi che i programmatori non sono ancora riusciti a risolvere con la logica, intendendo per logico tutto quello che e' diverso dalla forza bruta.
Camillo, non senza fatica, ha implementato alcuni "Cycles and loops" con il seguente risultato. Cito un mio post sui siti di cui sopra, al quale pero' non ho ancora avuto risposta.

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:


Codice: Seleziona tutto
*--------------------------------------------------------------------*
| 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?
kevin mitnick
gabriele46
Matita
 
Messaggi: 34
Iscritto il: mer mar 07, 2007 12:04 pm
Località: italia

1 messaggio • Pagina 1 di 1

Torna a Sudoku

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron