Excel - Hexadecimal Sudoku - Sudoku 16x16 Logic Solver & Report Builder

Sudoku 16x16 Logic Solver

 

 

 

In tutte le versioni risolutore con generatore di report passo passo, grafico e formato testo, di soluzione per schemi "classici" (no diagonali) → vai alla pagina della guida al pannello di controllo del foglio "Classic Grid".

DOWNLOAD → Sudoku 16x16 Logic Solver & Report Builder --- v 2017 02 04 --- Excel 2000-2003

Versione per Excel 2000 e 2003 nel vecchio (.xls) formato di file; il download è in formato .zip di 1.280 kb.

DOWNLOAD → Sudoku 16x16 Logic Solver & Report Builder --- v 2017 02 04 --- Excel 2007-2016 32 bit

Versione per Excel 2007, 2010, 2013 e 2016 nel nuovo (.xlsm) formato di file; il download è in formato .zip di 1.392 kb. È consigliabile far "girare" il risolutore solo nelle versioni a 32 bit di Excel (installate in qualsiasi versione di Windows a 32 o 64 bit). Nelle versioni a 64 bit di Excel i calcoli sono comunque esatti ma il tutto gira più lentamente che nelle versioni a 32 bit (a volte veramente molto più lentamente e con qualche possibilità di blocco di Excel - comunque si può tentare, dipende molto dalla scheda grafica). In questo link → http://technet.microsoft.com/it-it/library/ee681792%28v=office.15%29.aspx#compat2 ← c'è una spiegazione dei problemi di grafica delle versioni 64 bit di Excel.

La griglia dello schema da risolvere, su cui digitare o importare i candidati, si presenta in questo modo (seguire questo link, invece, per le immagini della UserForm del risolutore) →

../../images/Sudoku16x16_LogicSolver/Sudoku16x16_EsempioFoglioClassicGrid_SchemaDaRisolvere.png 

Questo risolutore "non standard" non si limita a fornire semplicemente lo schema iniziale risolto, ma genera un report grafico e uno in formato testo con tutti i passi logici seguiti per arrivare alla soluzione; a differenza del Logic Solver 9x9 inserisce nei report anche i passi non logici quando lo schema è troppo complicato per gli algoritmi logici implementati; i candidati fissi iniziali sono evidenziati in colore viola, quelli inseriti successivamente con metodi logici in colore nero e quelli inseriti con metodi non logici in colore rosso - vedi immagine seguente ridotta al 50% circa rispetto alle dimensioni che assume nel Report Grafico →

../../images/Sudoku16x16_LogicSolver/Sudoku16x16_EsempioColorazioneCandidatiFissiInseritiDefinitivi.png 

I due report sono generati su due fogli di lavoro distinti nominati "Report Grafico" e "Report TXT" e creati ex-novo ad ogni elaborazione eliminando i precedenti se ancora presenti.

Chi vuole conservare i report deve, quindi, o rinominare i fogli di lavoro dei report o spostarli/copiarli in un'altra cartella di lavoro; "Report TXT" però conviene spostarlo, perché a volte si generano stringhe con più di 1024 caratteri che potrebbero essere troncate con un'azione di copia foglio nelle versioni più vecchie di Excel (si può anche eventualmente fare un semplice copia/incolla dati su un nuovo foglio vergine).

Se si sceglie la rinomina dei fogli nella stessa cartella di lavoro del risolutore bisogna tenere presente le dimensioni che può assumere il file: i due fogli report di uno schema sudoku abbastanza semplice raggiungono comunque una dimensione di varie centinaia di kb che può aumentare parecchio per schemi molto difficili; i nuovi formati .xlsx e .xlsm introdotti a partire da Excel 2007 comprimono già di default i dati quasi al livello di un file .zip, ma le dimensioni non sono comunque trascurabili.

PRESTARE MOLTA ATTENZIONE ALLE CARATTERISTICHE VIDEO NECESSARIE PER UNA CORRETTA VISIONE:

Il risolutore (a partire dalla versione "v 2017 02 04") ricerca, nell'ordine e ciclicamente, per gli inserimenti fissi o le eliminazioni:

  1. Candidati singoli in cella (Naked Singles)
  2. Candidati singoli in riga colonna riquadro (Hidden Singles)
  3. Candidati bloccati in riga colonna riquadro (Locked Candidates)
  4. Candidati con doppio blocco in riga colonna riquadro (Locked Candidates Pair)
  5. Naked subsets (pair triple quad quint sixfold sevenfold) anche del tipo Line-Box (pair triple quad)
  6. Hidden subsets (pair triple quad quint sixfold sevenfold) anche del tipo Line-Box (pair triple quad)
  7. Basic Fishes (X-Wing Swordfish Jellyfish Squirmbag Whale Leviathan)
  8. Finned e Finned & Sashimi Fishes (X-Wing Swordfish Jellyfish Squirmbag Whale Leviathan) anche del tipo Siamese Fishes
  9. Franken & Mutant Fishes (X-Wing Swordfish Jellyfish Squirmbag Whale Leviathan) anche del tipo Siamese Fishes
  10. Alternating Inference Chains

Quando un algoritmo esce dal suo ciclo senza eliminazioni si passa alla tecnica superiore, se invece trova anche una sola eliminazione si riprende dal passo uno. Gli algoritmi di eliminazione candidati escono dal loro ciclo in due casi: ovviamente quando non trovano più possibili eliminazioni, oppure anticipatamente quando, in seguito ad una eliminazione, rimane in qualche cella/riga/colonna/riquadro un Naked o Hidden Single. Per questi motivi può capitare di osservare, nei report, eliminazioni eseguite con una determinata tecnica quando erano possibili con un'altra tecnica di livello inferiore.

L'algoritmo di individuazione subsets "lavora in parallelo" i Naked e gli Hidden, quindi il ciclo di elaborazione dei punti 5 e 6 dell'elenco algoritmi logici è: Naked & Hidden Pair, Naked & Hidden Triple, Naked & Hidden Quad ecc.: l'uscita dal ciclo è prevista alla prima dimensione Subsets con eliminazioni trovate.

Anche per i punti 7, 8 e 9 dell'elenco algoritmi logici l'uscita dai cicli è prevista alla prima dimensione con eliminazioni trovate partendo dalla più piccola - cioè X-Wing, o dimensione 2 che dir si voglia, in questi casi.

A fine elaborazione, se sarà trovata una soluzione valida, comparirà una UserForm con il tempo di elaborazione e generazione report, più alcune statistiche e un punteggio di valutazione della difficoltà dello schema; il totale candidati inseriti sarà sempre pari a 256 (cioè al numero di celle dello schema 16x16) e il totale di candidati eliminati sarà sempre 3.840 (pari ai 4.096 candidati totali di uno schema  - cioè 256 celle per 16 candidati ciascuna - meno i 256 inseriti fissi che rappresentano la soluzione).

Alla fine del foglio "Report Grafico" saranno riportate delle statistiche di elaborazione un po' più dettagliate.

 


 

Esempio di UserForm finale di uno schema risolto interamente con metodi logici; il tempo di soluzione di circa 13 secondi è stato ottenuto con un PC "ben dotato" - a partire dal processore Intel i7 - ma non nella combinazione software migliore per velocità: Windows 10 Pro + Excel 2016 64 bit (vedi problemi segnalati sopra per le versioni 64 bit); con Windows 2000 Pro + Excel 2000 Pro in ambiente virtualizzato VMware (che un po' rallenta di suo) i tempi si ridocono alla metà.

Per lo stesso schema, il risolutore standard "Sudoku 16x16 Solver --- v 2007 07 27 --- Excel 97" (che non genera report) impiega fra i 2 e i 3 decimi di secondo sempre con Windows 10 Pro + Excel 2016 64 bit e ancora meno con Windows 2000 Pro + Excel 2000 Pro; i tempi, quindi, dipendono molto più dall'esposizione grafica delle tecniche di soluzione che dai calcoli veri e propri, e anche dalla combinazione sistema operativo + versione Excel.

Per un confronto, di seguito la stringa dello schema a cui si riferisce la UserForm:

. . . . . . 6 . 7 E . 2 . . . . 7 2 . 9 E . . . B . 6 . . . F G . 6 . B 2 3 . . 9 . 8 . . 7 . . G 5 . . 9 1 . . . D . 4 . . 8 . . . 3 4 . . . . . . B . . 2 D . E . 2 1 4 C . D . . 9 . 7 . G . . 7 . . 3 F 5 . . . . . . . C E . . B F . . . . . . G C . . A 1 2 1 . . B 6 . . . . . . G 3 . . B F . . . . . . . 6 C 3 . . 2 . . G . 8 . 4 . . 5 . E 9 C 1 . F . 3 A . . 8 . . . . . . E 5 . . . 9 . . 5 . 4 . . . F 6 . . 7 D . . D . . 2 . F . . 4 A 8 . 3 . 8 A . . . E . B . . . 7 6 . 4 2 . . . . C . 8 G . B . . . . . . 

../../images/Sudoku16x16_LogicSolver/Sudoku16x16_EsempioUserFormRiepilogoFinale_SoloMetodiLogici_v20170204.png 

 


 

Esempio di UserForm finale di uno schema risolto anche per tentativi; in questo caso era impostata anche l'opzione di controllo soluzioni multiple che, però, ha richiesto poco tempo (ma potrebbe essere anche parecchio "dispendiosa").

Il tempo di poco più di 23 secondi è ottenuto sempre con Windows 10 Pro + Excel 2016 64 bit, con le opzioni Franken & Mutant Fishes impostate su ricerca base e dimensione max Jellyfish, e con le opzioni per Alternating Inference Chains con dimensione massima di ricerca impostata a 5 Strong Links; con ricerca avanzata e dimensione libera Special Fishes i secondi diventano circa 27; con ricerca migliore e dimensione libera Special Fishes i secondi diventano circa 32; a questo punto, portando le Alternating Inference Chains con dimensione massima di ricerca impostata a 7 Strong Links i secondi diventano circa 52 (e in tutti questi casi i report finali non cambiano perché questo schema non genera Franken & Mutant Fishes o ulteriori Alternating Inference Chains rispetto all'unica di 3 Strong Links tipo XY-Wing trovata con le opzioni meno avanzate).

Per un confronto, di seguito la stringa dello schema a cui si riferisce la UserForm:

. . B 9 . 2 . . E . 7 . . 1 . 6 . . . . . C . 6 . . 3 5 . . 4 D E . C . . 9 . . . B F . . 8 . . A 2 . . . F . . . . . . . . . B . A . . C . F E 6 . . . . . 7 . . . 3 8 1 . 5 . D . . . . A . . 7 C 5 . . 3 2 . . . A . 9 F . . . . . . . . . . . . . . . D C E 0 . . 4 7 . . . . . . D . . . . . . . 5 . . . . . . . . . 9 . 4 3 . D 2 . . . . . 0 . . A 5 6 . . 8 . . 6 B . A . . . 1 E 3 . 2 C . . F . . 3 0 . 9 B . . 2 8 . . . . A . . . D 5 . . F . . . . . . 9 . 5 6 . . . . 0 E . . F . . . 7 . . . B . A . . C 5 4 . . 

../../images/Sudoku16x16_LogicSolver/Sudoku16x16_EsempioUserFormRiepilogoFinale_ConTentativi_v20170204.png 

Le immagini sopra riportate della UserForm Riepilogo Finale, sono ricavate dalla versione Excel 2016 (da Office 365 ProPlus) installata su Windows 10 Pro; pertanto possono avere forme dei bordi e colori diversi nelle altre versioni Office e/o Windows.

 

NOTE SULLE VERSIONI: