Note sulle versioni del "Sudoku 9x9 Logic Solver & Report Builder"
- v 2015 05 28 - Versione con due aggiornamenti importanti:
- Inserito un algoritmo dedicato di ricerca "Mutant Fishes" e
"Finned Mutant Fishes" (X-Wing, Swordfish, Jellyfish, Squirmbag,
Whale e Leviathan); come
sequenza di ricerca è stato posizionato fra "Finned Franken
Fishes" e "Alternating Inference Chains". Con lo stesso
algoritmo sono stati implementati anche gli "Special Franken
Fishes" con Endo Fins, più riquadri e dimensione Squirmbag.
- Modificato il report grafico dei "Locked Candidates" per
evidenziare quando dipendono contemporaneamente da un "blocco di
riquadro" e un "blocco di riga o colonna". Questa situazione si presenta quando,
all'interno delle righe/colonne di un gruppo di tre riquadri in linea,
c'è già un candidato inserito fisso uguale a quelli in eliminazione; ora sono evidenziate tutte e due le possibilità di blocco:
non cambia nulla come numero e sequenza di eliminazioni, ma è più chiara
la doppia origine delle stesse.
- v 2015 02 21 - Versione con svariati aggiornamenti:
- Inserito un algoritmo dedicato di ricerca "Franken Fishes" e
"Finned Franken Fishes" (X-Wing, Swordfish e Jellyfish) anche
nella versione "Siamese" e "Subsets di più candidati"; come
sequenza di ricerca è stato posizionato fra "Finned & Sashimi
Fishes" e "Alternating Inference Chains".
- Modificato il report grafico degli "Hidden Singles" per
evidenziare quando sono individuabili da più settori
contemporaneamente - non cambia affatto la sequenza di
eliminazioni ma prima si indicava solamente il primo settore
trovato di un particolare "Hidden Single" anche se c'erano più
possibilità per arrivare allo stesso risultato.
- Modificato il report grafico dei "Naked e Hidden Pair &
Triple" per evidenziare se sono individuabili da più settori
contemporaneamente quando le due/tre celle del subset sono
disposte in linea all'interno di un riquadro; nel caso dei
"Naled Pair & Triple" la modifica non è solo estetica - e di
maggior chiarezza di individuazione - ma può raggruppare in un
solo passaggio eliminazioni che prima richiedevano due passaggi.
- Inserita un'opzione di uscita dal ciclo delle "Alternating
Inference Chains" non solo in presenza - dopo una eliminazione -
di "Naked e Hidden Singles" ma di qualsiasi tecnica più facile.
- v 2015 02 02 - Sistemato un problema di disallineamento nei
grafici "Alternating Inference Chains" e "Forcing Chains" che si
presentava applicando uno zoom a livello di sistema operativo con
'"Modifica le dimensioni di tutti gli elementi" da "Pannello di
controllo\Aspetto e personalizzazione\Schermo" in Windows 7 e 8.
Impostando questo tipo di zoom, con effetti su tutte le applicazioni
e non solo su Excel, il rapporto tra "punti" (nel senso dell'unità
di misura con cui Microsoft definisce altezza e larghezza righe e
colonne) e "pixel video" poteva subire - rispetto alla resa delle
impostazioni della scheda grafica - dei leggeri arrotondamenti
causando, appunto, dei tracciati disallineati di linee e altre forme
(oggetti "Shapes" nel linguaggio VBA).
- v 2015 01 22 - Parificate le due versioni per
Excel 2000-2003 e Excel 2007-2010-2013 32 bit. In particolare, anche
nella versione Excel 2000-2003 il Message Box finale è stato
sotituito da una UserForm. Inoltre, il pannello di controllo - con
comandi disegnati direttamente sul foglio di lavoro "Classic Grid" -
è stato sotituito da una UserForm per problemi di compatibilità con
le installazioni Office in ambiente di virtualizzazione VMware.
- v 2014 11 26 - Corretto un piccolo bug che, solo
nei report grafici della versione 2007 di Excel, oscurava in nero i
candidati cerchiati nelle Alternating Inference Chains e Forcing
Chains. Inoltre il risolutore è stato "sdoppiato" nelle versioni
2000-2003 (.xls) e 2007-2010-2013 (.xlsm) 32 bit. Nella versione
.xlsm il Message Box finale è stato sostituito da una UserForm. È
sempre e comunque consigliabile far "girare" le due versioni del
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, se si sceglie
l'opzione di generare i report grafici, il tutto gira più lentamente
che nelle versioni a 32 bit e con disallineamenti che rendono
incomprensibili i report negli schemi più difficili che prevedono,
per la soluzione, le Alternating Inference Chains o le Forcing
Chains. 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.
- v 2013 12 03 - Apportate altre modifiche mantenendo gli stessi
nomi di versione nei files .zip e cambiando i sottostanti
.xls. In questo caso le modifiche erano necessarie per consentire al
codice di funzionare correttamente sia nelle installazioni Winodws 32
Bit che 64 Bit. L'incompatibilità con l'ambiente 64 Bit era causata
dalla dichiarazione della funzione API di Windows "timeGetTime"
necessaria, in base alle scelte di progetto del codice, al calcolo
del tempo di risoluzione degli schemi. Come da sintassi raccomandata
in
http://msdn.microsoft.com/en-us/library/office/gg278581.aspx è
stato implementato, nel relativo modulo di classe, il seguente
codice:
#If VBA7 Then
Private Declare PtrSafe Function timeGetTime Lib "winmm.dll" () As
Long
#Else
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
#End If
- v 2013 11 28 - Apportate modifiche ai
colori di alcuni controlli Active X delle UserForm dei due Logic
Solver disponibili per il download, mantenendo tuttavia gli stessi
nomi di versione nei files .zip (cambiando invece i sottostanti
.xls). La modifica si è resa necessaria perché alcuni colori di
sistema erano visualizzati in modo illeggibile nelle più recenti
versioni di Excel e sono stati, per questo motivo, sostituiti con
colori da tavolozza.
- v 2013 03 09 - Inserito un algoritmo dedicato di ricerca "Finned
Fishes" e "Finned Sashimi Fishes" (X-Wing, Swordfish e Jellyfish)
anche nella versione "Siamese Fishes". I relativi report grafici
prevedono, oltre al solito copia-incolla del Worksheet "Candidati",
una serie di mini-schemi con, per meglio comprendere la logica
sottostante a queste tecniche, la rappresentazione grafica delle
aree "Basic Fish" (o "Base Set"), "Copertura Basic Fish" (o "Cover
Set"), "Eliminazioni Basic Fish", "Visibilità comune Fin(s)" e
"Eliminazioni Finned (Sashimi) Fish". Anche i report dei "Basic
Fishes" veri e propri sono stati modificati con questa logica
limitandola alle loro caratteristiche. Nel "Pannello di controllo
schemi classici" sono stati aggiunti due OptionButtons "Riga" e
"Colonna", di scelta "Orientamento Preferenziale Fishes", che
ricalcano la logica della
complementarietà delle dimensioni di un "Fish". Pertanto, a un determinato stato di avanzamento dello schema in
elaborazione, il risolutore proporrà comunque il "Fish" più piccolo
possibile indipendentemente dalla scelta effettuata con i due
OptionButtons, e solo a parità di dimensioni possibili fra "Riga" e
"Colonna" seguirà le indicazioni da pannello di controllo.
- v 2013 02 11 - Inserito, in coda alla gestione delle Alternating
Inference Chains e prima delle Forcing Chains, un algoritmo di
rilevazione dei "Subsets Loops", altrimenti detti anche "Naked
Double Loops". Per una spiegazione completa della logica di questo
particolare tipo di catene, si rimanda alla
pagina 7 della "GUIDA
ALLE TECNICHE DI SOLUZIONE".
- v 2013 01 28 - Stesse modifiche, per le stesse motivazioni,
apportate alla versione "v 2008 03 21 release 2013 01 28" rispetto a
quelle precedenti. Qui, però, viste la maggiori funzioni di
interfaccia implementate, la gestione di memorizzazione, attraverso
gli oggetti "Name" dell'insieme "Names", comprende anche svariati
parametri collegati all'utilizzo del "Pannello di controllo" del
foglio "Pencilmark grid".
- v 2008 12 31 - Implementazione completa degli "Almost Locked
Set" di dimensione due ("Almost Naked Pair" e "Almost Hidden Pair").
Finora gli "Almost Hidden Pair" potevano stare solo a inizio catena,
mentre gli "Almost Naked Pair" a centro catena potevano essere
collegati con inferenza debole ("weak link") solo a coppie di
candidati "uguali al pair" e non a candidati singoli. Il report
grafico dei "Basic Fishes" è ora basato sui colori della palette
standard di Excel per evitare effetti cromatici indesiderati in caso
di spostamento o copia dei report in altro file.
- v 2008 04 01 - Inserito un nuovo foglio, denominato "Pencilmark Grid"
nel quale si possono importare, e poi eventualmente risolvere, schemi
"tipo pencilmark" che contengono, oltre ai candidati inseriti fissi
iniziali, anche i candidati residui nelle altre celle (vai
alla pagina dedicata con le spiegazioni sulle possibilità di
importazione di schemi "tipo pencilmark"). E' possibile importare e
risolvere anche i "Sukaku"
(altrimenti detti "No-given Sudoku" - "Pencilmark Sudoku" - "Suuji
Kakure") dove non ci sono candidati inseriti
fissi iniziali ma solo candidati residui di cella. In questo foglio è
stata introdotta una UserForm "Pannello di controllo" con una serie
completa di comandi e aiuti per giocare e risolvere manualmente i Sudoku
(vai
alla pagina dedicata con la guida ai comandi e aiuti di gioco). Il
solito foglio di inserimento, importazione e risoluzione schemi classici
è stato ridenominato "Classic Grid" con qualche modifica e aggiunta al
suo pannello di controllo (vai
alla pagina della guida al pannello di controllo del foglio "Classic
Grid"). Modifiche e ottimizzazioni minori all'algoritmo di analisi
delle Alternating Inference Chains fra cui il rilevamento di catene con
un'unica inferenza forte (che corrispondono ai Locked Candidates).
- v 2008 03 21 release 2013 01 28 - Cambiato il sistema di
memorizzazione, sia durante l'utilizzo del file che dopo la
chiusura, degli ultimi schemi sia risolti che importati dagli
appunti di Windows. Fino alla versione precedente, per evitare di
utilizzare fogli di lavoro di appoggio, si utilizzava un sistema
combinato di variabili "Static" e scrittura dati su un modulo
dedicato all'interno del "VBAProject" del file. A volte, però, a
seconda delle impostazioni di Excel, alla fine dell'elaborazione
poteva comparire il seguente messaggio di errore abbinato al numero
1004: "L'accesso a livello di programmazione al Progetto Visual
Basic non è attendibile" (errore riferito solo alla memorizzazione
dello schema appena risolto e non alla sua corretta elaborazione).
In questa release la memorizzazione degli schemi avviene utilizzando
i nomi, ovvero l'oggetto "Name" dell'insieme "Names". Questi nomi di
memorizzazione, con relativi dati, sono perfettamente visibili da
menù della cartella di lavoro poiché gli oggetti "Name" sono creati
con proprietà "Visible = True". Questa versione è ancora disponibile
per il download (605 kb .zip), trattandosi dell'ultima prima dell'introduzione
delle funzioni di soluzione e gioco abbinate agli schemi "tipo
Pencilmark".
DOWNLOAD → Sudoku 9x9 Logic Solver & Report Builder --- v 2008 03 21
release 2013 01 28 ---
Excel 2000
- v 2008 03 21 - Inserito un algoritmo dedicato di ricerca "Basic Fishes"
(X-Wing, Swordfish e Jellyfish) e relativa reportistica. Nella ricerca
ciclica, per gli inserimenti fissi o le eliminazioni, questo algoritmo è
stato posizionato fra i Subsets e le Alternating Inference Chains.
Ottimizzato l'algoritmo di analisi delle Alternating Inference Chains
con "Almost Locked Pair" (Naked e Hidden). Con queste variazioni di
algoritmi cambiano, per gli schemi difficili, l'aspetto dei report e i
punteggi di valutazione logica. Inserito un pannello di controllo che
raggruppa i 4 comandi possibili in altrettanti CommandButton.
- v 2008 03 11 - Alternating Inference Chains: modificato il tratteggio
delle linee di unione in riquadro fra candidati singoli e blocchi di
candidati uguali; modificato allo stesso modo il tratteggio delle linee
di unione fra "Almost Naked Pair" e coppia di candidati abbinata nello
stesso settore. Nelle Alternating Inference Chains con sovrapposizione
di vertici di inferenza (sia forte che debole), il cerchio che circonda
il vertice di inferenza sovrastante è di maggiori dimensioni per meglio
evidenziare il percorso della catena. Nelle Alternating Inference Chains
circolari bidirezionali, le linee di unione fra vertici di inferenze
hanno la punta ad entrambe le estremità per meglio evidenziare il
doppio senso di scorrimento della catena.
- v 2007 11 22 - Modificato l'algoritmo di rilevamento subsets
all'interno di righe/colonne/riquadri: ora l'ordine di ricerca è naked
pair, hidden pair, naked triple, hidden triple, naked quad e hidden quad
(cambiano leggermente, quindi, anche i punteggi di valutazione
difficoltà logica). Nuova modifica alla macro di importazione in Excel
di schemi proposti in formato testo per renderla compatibile con altri
modelli di schema. Corrette due imprecisioni nel report grafico per
forcing chains: non sempre era segnalato il livello corretto di
annidamento e, per le contradiction chains, si bloccava il disegno delle
linee in caso di eliminazioni multiple (quest'ultimo è un evento
piuttosto raro che comunque non pregiudicava la correttezza
dell'avanzamento di soluzione dello schema). Anche le modifiche sulle
forcing chains comportano, rispetto alle versioni precedenti, un leggero
cambiamento sui punteggi di valutazione difficoltà logica.
- v 2007 10 28 - Modificata la valutazione di difficoltà logica per dare
maggior peso agli schemi che richiedono, per la soluzione, almeno le Alternating Inference Chains. Modificato l'algoritmo di disegno delle
linee interne agli "Almost Naked Pair".
- v 2007 09 30 - Aggiunta la valutazione di difficoltà di soluzione
logica. Nel message box finale, e nel foglio con il report grafico,
compare la distinta dei candidati inseriti ed eliminati per tecnica
logica di soluzione. Il punteggio finale di valutazione è ovviamente
soggettivo e riferito ai particolari metodi logici e alla loro sequenza
di implementazione nel "Sudoku 9x9 Logic Solver & Report Builder". Gli
schemi non risolti esclusivamente con metodi logici, e quindi anche
tutti quelli con più soluzioni, non avranno valutazione di difficoltà.
- v 2007 08 28 - Modificato l'algoritmo di disegno delle linee da/per "Almost
Naked Pair" all'interno di "Alternating Inference Chains". Da questa
versione può cambiare leggermente il report grafico di alcuni schemi
rispetto alle versioni precedenti. Non cambia però la sequenza dei passi
logici visto che gli algoritmi di soluzione sono invariati.
- v 2007 08 18 - Modificata la macro di importazione in Excel di schemi
proposti in formato testo introdotta nella versione precedente: ora è
compatibile con un maggior numero di modelli di schema.
- v 2007 08 13 - Aggiunta una macro, da lanciare con apposito pulsante,
che facilita l'importazione in Excel di schemi proposti in formato testo
precedentemente copiati negli appunti di Windows (vai
alla pagina con le spiegazioni dettagliate sulle caratteristiche di
funzionamento di questa macro).
- v 2007 05 24 - Versione iniziale che risolve in modo logico gli schemi
con difficoltà massima fino a "Forcing Chains con Alternating Inference
Chains (Forbidding Chains) annidate".