Un pattern di linea valido è una disposizione completa di caselle piene e vuote di una riga o colonna che soddisfa gli indizi e tutti gli stati di casella attualmente confermati.
Quando le tecniche più semplici non producono più deduzioni, ragionare sui pattern sopravvissuti offre un modo completo per chiedere che cosa la linea consente ancora.
Esempio: ridurre una linea 2 2 a due pattern
Prendi una linea di sette caselle con indizi 2 2. Supponiamo che la casella 3 sia piena e la 5 vuota:
??■?×??
Solo due pattern completi soddisfano tutti i vincoli:
.##..##
..##.##
Confrontali casella per casella:
- la casella 3 è piena in entrambi;
- le caselle 6 e 7 sono piene in entrambi;
- le caselle 1 e 5 sono vuote in entrambi;
- le caselle 2 e 4 differiscono.
Quindi 3, 6 e 7 sono forzatamente piene; 1 e 5 sono forzatamente vuote; 2 e 4 restano indeterminate.
Le caselle forzate sono accordo tra tutti i pattern validi
Possiamo formulare una definizione precisa:
una casella è forzata quando ogni pattern di linea valido le assegna lo stesso stato.
Se ogni pattern la riempie, segnala piena.
Se ogni pattern la lascia vuota, segnala con X.
Se almeno un pattern la riempie e un altro la lascia vuota, quella linea da sola non decide ancora la casella.
Come costruire pattern validi a mano
Raramente serve scrivere ogni pattern di una linea grande, ma il processo mentale è utile:
- colloca i blocchi nell'ordine richiesto;
- lascia almeno una casella vuota tra blocchi monocromatici consecutivi;
- elimina collocazioni che attraversano X confermate;
- elimina collocazioni che non coprono caselle piene confermate;
- elimina collocazioni che lasciano un frammento pieno senza alcun blocco capace di coprirlo;
- confronta ciò che rimane.
Questo è il modello generale dietro incastro esatto, sovrapposizione, portata, assegnazione ai segmenti e limiti di collocazione.
Le tecniche semplici sono scorciatoie nello stesso spazio di possibilità
Molte deduzioni note possono essere viste come modi efficienti per evitare l'enumerazione esplicita:
- incastro esatto → esiste un solo pattern valido;
- sovrapposizione → un blocco copre le stesse caselle in tutte le sue collocazioni legali;
- caselle irraggiungibili → nessun pattern valido le riempie;
- limiti di collocazione → rappresentazione compatta di dove può apparire ogni blocco ordinato.
Il ragionamento per pattern le unifica senza sostituire le tecniche più rapide.
Perché i pattern validi contano nelle linee difficili
Le sole collocazioni estreme sinistra/destra possono perdere deduzioni in linee complesse e parzialmente risolte. Un controllo completo considera ogni disposizione compatibile con lo stato corrente, non soltanto due estremi.
I solver informatici usano spesso algoritmi specializzati per ottenere lo stesso risultato senza memorizzare letteralmente ogni pattern, perché il numero di combinazioni può crescere rapidamente.
Esempio svolto: quattro pattern sopravvissuti forzano comunque sei stati
Prendi una linea di 10 caselle con indizi 3 2, con casella 2 piena, casella 5 vuota e casella 9 piena:
?■??×???■?
Restano solo quattro pattern completi:
###....##.
###.....##
.###...##.
.###....##
Dal confronto risulta che:
- le caselle 2, 3 e 9 sono piene in tutti e quattro;
- le caselle 5, 6 e 7 sono vuote in tutti e quattro;
- le caselle 1, 4, 8 e 10 restano variabili.
Una linea non deve quindi essere vicina a un'unica soluzione finale perché il confronto dei pattern sia utile. Più possibilità possono sopravvivere e tuttavia concordare su molte caselle.
Le famiglie di pattern possono essere più utili dei singoli pattern
Su una linea grande, enumerare tutto può essere poco pratico. Spesso puoi raggruppare i pattern in base a una scelta significativa:
- quale segmento riceve un indizio;
- se due frammenti si uniscono o restano separati;
- se un blocco inizia prima o dopo un confine creato da una X;
- quale di due identità di indizio copre un frammento pieno.
Poi confronta le conseguenze condivise dall'intera famiglia.
Se ogni pattern di ogni famiglia sopravvissuta riempie una casella, quella casella è forzata. Non serve scrivere migliaia di disposizioni una per una.
Questa visione per famiglie è il ponte tra il ragionamento completo su una linea e l'analisi di casi multilinea.
Zero pattern è uno stato diagnostico
L'analisi dei pattern non trova soltanto caselle forzate. Può dimostrare che lo stato corrente della linea è impossibile.
Se dopo il filtraggio restano zero pattern validi, almeno un segno confermato che alimenta la linea è sbagliato oppure, all'interno di un ramo provvisorio, l'ipotesi testata ha creato una contraddizione.
La distinzione è importante:
- zero pattern sulla griglia reale → risali a un segno precedente non supportato e correggilo;
- zero pattern in un ramo provvisorio → il ramo è impossibile e può essere rifiutato.
Il numero di pattern può crollare improvvisamente
Una deduzione proveniente dalla linea perpendicolare può trasformare una casella da indeterminata a X. Una sola X può invalidare molti pattern della linea contemporaneamente.
Dopo il filtraggio, caselle prima variabili possono assumere lo stesso stato in ogni pattern sopravvissuto, generando nuove certezze che a loro volta influenzano linee perpendicolari.
Questo è il ponte tra analisi dei pattern e propagazione dei vincoli.
Ragionamento passo passo sui pattern
- concentrati su una linea irrisolta;
- genera o prova mentalmente tutte le collocazioni compatibili con indizi e caselle note;
- scarta ogni pattern che viola anche un solo stato confermato;
- confronta i pattern rimasti casella per casella;
- marca gli stati su cui tutti concordano;
- lascia irrisolte le caselle su cui differiscono;
- propaga i nuovi stati nella griglia.
Errori comuni
Conservare pattern che rispettano gli indizi ma contraddicono caselle note
Un pattern valido deve rispettare sia la sequenza degli indizi sia lo stato corrente della linea.
Forzare una casella perché “la maggioranza” dei pattern concorda
I Nonogrammi sono puzzle logici deterministici. La maggioranza non è una prova: devono concordare tutti i pattern validi.
Trattare indizi della stessa lunghezza come intercambiabili
I pattern conservano ordine e identità dei blocchi.
Enumerare l'intero puzzle invece di una singola linea
Questa guida riguarda ancora l'analisi di una linea. L'analisi di casi sull'intera griglia appartiene al ragionamento per contraddizione e alle tecniche simili alla ricerca.
Che cosa imparare dopo
Una volta compresi i pattern, le tecniche incrociate diventano più facili da formalizzare: un nuovo stato filtra i pattern della linea perpendicolare, che può forzare un'altra casella, e così via.
FAQ
Devo elencare ogni pattern su carta?
Di solito no. Il concetto è più importante dell'elenco letterale. Su segmenti brevi e difficili può essere utile scrivere alcune possibilità.
Una casella è forzata se 9 pattern su 10 la riempiono?
No. Basta un singolo pattern valido con lo stato opposto per mantenerla irrisolta.
Una linea può avere zero pattern validi?
Sì, ma in un puzzle valido e giocato correttamente questo significa che lo stato attualmente assunto o segnato è incoerente. Il concetto diventa centrale nel ragionamento per contraddizione.