Scandire un Nonogramma significa rivedere sistematicamente righe e colonne alla ricerca di nuove conseguenze. Ma una buona scansione non consiste nel leggere l'intera griglia nello stesso ordine all'infinito.
Il metodo più efficiente è guidato dai cambiamenti: quando una linea cambia, controlla prima le linee perpendicolari toccate da quelle caselle.
Perché la scansione funziona
Ogni casella collega due sistemi di vincoli: una riga e una colonna.
Una nuova casella piena può limitare quale blocco attraversa una colonna. Una nuova X può dividere quella colonna in segmenti. La colonna può quindi produrre un'altra deduzione che torna a modificare una riga.
Questo scambio continuo è il motore del puzzle.
Non scandire tutte le linee allo stesso modo
Una linea che non è cambiata e che in precedenza non produceva nulla probabilmente non merita subito un'altra analisi completa.
Dai priorità a:
- linee appena modificate;
- linee con poco margine;
- linee con blocchi quasi completati;
- linee divise in nuovi segmenti;
- linee con pochi pattern rimasti.
Usa un ciclo guidato dai cambiamenti
Un flusso pratico è:
- fai una deduzione in una linea;
- identifica le caselle cambiate;
- metti in priorità le linee perpendicolari corrispondenti;
- analizzale;
- se cambiano altre caselle, continua la cascata;
- quando non cambia più nulla, torna a una scansione più ampia.
Durante la scansione cerca più delle caselle piene
Posso riempire qualche casella?
Controlla incastro, sovrapposizione, estensione e pattern validi.
Posso segnare qualche casella vuota?
Cerca caselle fuori dalla portata, separatori, spazi troppo piccoli e linee esaurite.
Un blocco è diventato identificabile?
Un frammento pieno può ora appartenere a un solo indizio. Questa informazione restringe fortemente il suo intervallo.
Lo spazio utilizzabile è cambiato?
Una nuova X può creare segmenti o cambiare il margine disponibile.
Righe e colonne sono simmetriche
La logica non privilegia una direzione.
Se una tecnica funziona su una riga, funziona nello stesso modo su una colonna. Non esiste una ragione generale per “finire prima le orizzontali”.
Quando fare una scansione completa della griglia?
È utile:
- all'inizio;
- quando una cascata locale si esaurisce;
- dopo aver applicato una tecnica profonda;
- quando sospetti di aver saltato una conseguenza semplice;
- prima di passare a contraddizione o ricerca.
Una scansione completa serve a trovare nuove regioni attive, non a sostituire la propagazione locale.
Una scansione di recupero in due passaggi
Passaggio 1: completamenti e vuoti
Controlla:
- blocchi completati;
- separatori mancanti;
- linee con tutti gli indizi soddisfatti;
- spazi che nessun blocco può usare.
Passaggio 2: pressione sulle posizioni
Controlla:
- sovrapposizioni aggiornate;
- portata dei blocchi;
- segmenti;
- limiti di posizione;
- pattern validi.
Tieni traccia di ciò che è cambiato
Su griglie grandi è facile dimenticare perché hai riaperto una linea.
Puoi usare:
- evidenziazione della riga/colonna attiva;
- coordinate;
- una coda mentale delle linee modificate;
- divisori ogni cinque caselle.
Questi strumenti non aggiungono logica, ma riducono il lavoro ripetuto.
Evita le scansioni infinite
Se continui a controllare le stesse linee senza produrre cambiamenti, hai raggiunto un punto fisso rispetto al livello di logica che stai usando.
A quel punto devi:
- cercare una linea più vincolata;
- usare una tecnica più forte;
- verificare la coerenza;
- oppure passare a un livello di ragionamento superiore.
Un flusso compatto di scansione
cambia una casella → controlla l'incrocio → propaga → continua finché cambia qualcosa → fai una nuova scansione globale solo quando la cascata finisce
FAQ
È meglio scandire prima righe o colonne?
No. Inizia dalle linee più informative, indipendentemente dalla direzione.
Devo tornare su una linea dopo ogni singola casella?
Se la casella modifica significativamente i suoi vincoli, sì. Su interfacce grandi puoi raggruppare modifiche vicine, ma non rimandare tanto da perdere la catena di propagazione.
Perché continuo a controllare linee che non danno nulla?
Probabilmente stai usando una scansione per ordine fisso invece di una scansione guidata dai cambiamenti. Dai priorità a ciò che è stato appena ristretto.