In
questa pagina presento un terzo risolutore di Sudoku sviluppato da
Giancarlo Stella. Devo dire che il risolutore è ECCEZIONALE: risolve
gli schemi in un secondo.
Riporto qui
alcuni estratti del suo testo che troverete nel nel file in download:
________________________________________________
A: Terzaghi.it
Da: G. Stella Data: 16/12/2009
Oggetto: Sudoku
Pochi giorni fa ho inviato a codesto indirizzo
un mio risolutore di Sudoku per l'eventuale presentazione nel sito Terzaghi
Excell ed eventuali segnalazioni sulle sue prestazioni. ________________________________________________ A: G. Stella Da: Terzaghi.it Data: 17/12/2009 Oggetto: Sudoku: gentile signor Stella, sono sempre più impressionato dal suo
lavoro. ho provato alcuni schemi differenti e sembra funzionare tutto. Devo
dire che ha davvero fatto un lavoro eccezionale. Io sono alcuni anni che non mi occupo più del tema: ho
pubblicato la mia pagina del sudoku circa 3 giorni dopo l'uscita dello stesso
per la prima volta sul "Corriere" credo nel 2005. Credo davvero, anche vedendo il suo lavoro, che ci sia dietro un bel
po' di teoria e di matematica da esplorare. ________________________________________________Di seguito il testo del genitlissimo Signor Stella che potete scaricare:
Egregio Terzaghi,
mi complimento
per il tuo sito dedicato ad Excel che ho trovato molto ben fatto, interessante
e utile.
E’ stato proprio visitandolo
che mi sono incuriosito sul gioco del Sudoku al punto da mettermi alla prova anch’io,
sulla scia tua e d’altri provetti programmatori, nella creazione di un
“risolutore”.
Convengo che tale
idea non ha nulla di originale, ma, considerato che quando mi è venuta, circa
un paio di mesi fa, il VB era per me solo
un lontano ricordo (sono della classe 1933) e che Excel non lo avevo mai usato
prima, se non per compilare qualche elenco o prospetto numerico, mi pare che
nel mio caso qualcosa d’inusuale ci sia.
A parte tutto
ciò, il mio fondamentale problema era l’impossibilità di scrivere un programma
senza avere la più pallida idea di cosa fargli fare, dato che non intendevo
ovviamente attingere da altri programmi della specie.
Così, per tentare
di risolvere tale problema e per impratichirmi nel contempo col VBA e con Excel, ho pensato di confezionarmi un programmino “di
servizio” che mi consentisse di compilare da tastiera un predeterminato schema
Sudoku e che, applicando pedissequamente le regole del gioco, mi mostrasse
subito l’effetto prodotto da ogni singola immissione.
Grazie a questo tipo di sperimentazione, procedendo
più con l’intuito che con la ragione, sono riuscito ad individuare, in tempi
sorprendentemente brevi, un meccanismo basato su otto particolari processi
iterativi i quali, introdotti in sequenza (se fallisce il primo subentra il
secondo, ecc.), sembrano in grado di completare correttamente e rapidamente qualsiasi
tipo di schema.
Uso l’espressione
“sembra” perché, purtroppo, non sono riuscito a teorizzare compiutamente tale
procedimento, data la difficoltà di analizzare il complesso meccanismo col
quale opera.
Il programma che ho realizzato applicandolo mi
pare buono. Ma proprio perché non ho individuato con precisione la legge che lo
presiede, resta sempre il dubbio che un in determinate situazioni esso non
funzioni.
D’altro canto, finora
l’ho collaudato soltanto con una quarantina di schemi e sarà quindi la prova
con molti altri a dare una risposta più precisa in merito.
Comunque, l’eventualità
che il programma non funzioni al cento per cento (se non risolve il gioco né da
segnalazione) non sminuisce il mio piacere di averlo realizzato, perché, in
tale eventualità, si tratterebbe solo di apportare qualche ritocco.
Infatti, sono dell’opinione
che, in tale evenienza, il difetto sarebbe da ricercare non nel procedimento,
ma nel codice, il quale è certamente migliorabile anche perché scritto senza
sottilizzare su alcune ridondanze che andrebbero eliminate.
Se avrai la
compiacenza di ospitare il mio lavoro nel tuo sito e se qualcuno scoprirà
l’esistenza di schemi non funzionanti sarò lieto se potrà farmelo sapere
tramite il sito stesso o via e-mail
(ste.gian@libero.it).
Intanto ti rinnovo
i complimenti, ti ringrazio anticipatamente per l’attenzione e ti porgo i miei
migliori saluti.
Giancarlo
Stella
Buon download e buon divertimento!
|