Cosa facciamo quando risolviamo uno schema? Proviamo a compilare una cella con uno a caso tra i valori consentiti dalla configurazione dello schema e proseguiamo in questo modo. Se arriviamo a un punto morto, dove non è possibile alcuna soluzione, siamo costretti a tornare indietro e scegliere un altro valore. É un percorso algoritmico che può essere insegnato a un computer. Ed è l’algoritmo riportato nel foglio Metodo intelligente del file di Excel che avete scaricato. Innanzi tutto il metodo esegue una prima passata dello schema secondo il primo metodo, per cominciare a compilare le celle sicure. Le celle rimanenti ammettono più di una soluzione. Il programma quindi non fa altro che prendere la prima soluzione possibile per una cella e continuare a risolvere lo schema allo stesso modo. Se giunge a un punto morto torna indietro e modifica la scelta fatta prendendo un’altra tra le soluzioni possibili. La cella scelta per iniziare a testare i valori viene presa tra quelle che ammettono il numero minore di soluzioni, in modo da ridurre il numero di tentativi e aumentare l’efficienza del programma. Il tipo di algoritmo usato si chiama “ricorsivo”. Ogni passaggio nello schema identifica lo “spazio delle soluzioni”, ovvero una griglia a tre dimensioni (o meglio un cubo) dove nelle prime due dimensioni (base e altezza) ci sono le celle del sudoku mentre nella terza dimensione (profondità) ci sono tutte le soluzioni possibili per ciascuna cella. Proseguendo nell’analizi lo spazio delle soluzioni si riduce fino a che la sua profondità diventa uguale a uno: per ogni cella è stata trovata l’unica soluzione possibile. Nel foglio di lavoro “metodo forza bruta” ho aggiunto anche un pratico validatore di sudoku. Una volta risolto uno schema, potete copiarlo su tale foglio. Se appare la scritta Schema risolto allora il gioco è effettivamente corretto, altrimenti compare Schema non risolto. Il sistema di controllo usa alcune formule di Excel nelle celle adiacenti lo schema, quindi non bisogna scrivere nulla in tali celle. | In questo articolo
|