Sovrapposizione, Logica dei Bordi e Altre 3 Tecniche per Nonogrammi Difficili

Cinque tecniche per i rompicapi che bloccano: la forma generale della sovrapposizione, cosa vieta davvero il bordo, la flessibilità dei segmenti, unire e dividere, e l’analisi dei casi, ciascuna mostrata in azione su una linea completamente specificata.

Condividi
Una singola riga di un nonogramma mostrata due volte, una volta con i suoi blocchi spinti completamente a sinistra e una volta spinti completamente a destra, con le poche celle che rimangono riempite in entrambe le posizioni che si distinguono come quadrati solidi.

Questa sezione dà per acquisiti i fondamentali: sai leggere un indizio, barri le caselle vuote con la stessa cura con cui riempi quelle piene, e conosci la forma elementare della sovrapposizione — un indizio di 6 in una riga di dieci caselle, spinto tutto a sinistra, poi tutto a destra, e l’intersezione dei due estremi. Se non ti è familiare, la nostra guida alla soluzione dei nonogrammi la spiega, mentre i cinque errori che fa ogni principiante è il capitolo precedente. Qui non riprendiamo né l’una né l’altro.

In una griglia difficile non cambiano le regole, cambia l’economia del ragionamento. La legge è una sola: una casella è forzata soltanto se assume lo stesso valore in ogni disposizione compatibile con l’indizio e con ciò che sai già. Ogni tecnica con un nome è un’approssimazione economica di quella legge: è rapida perché è incompleta, e un rompicapo difficile si blocca quando chi risolve scambia l’approssimazione per la regola. Una linea si legge da sinistra a destra: # indica una casella nota come piena, . una nota come vuota, ? una ancora ignota; le caselle sono numerate da 1 a partire da sinistra.

Sovrapposizione, correttamente: ogni blocco ha una finestra

Smetti di far scorrere avanti e indietro un solo indizio; impacchetta l’intera linea. Spingi ogni blocco il più a sinistra possibile, poi il più a destra possibile, rispettando le caselle che conosci già. A questo punto ogni blocco ha una finestra. Le caselle coperte in entrambi gli impacchettamenti dallo stesso blocco sono piene; le caselle che non ricadono in nessuna finestra sono vuote. La condizione di appartenenza è proprio la parte che di solito si trascura: una casella coperta in entrambi gli impacchettamenti da due blocchi diversi non è forzata.

Su una linea vuota tutto si riduce all’aritmetica. Somma gli indizi, aggiungi una casella per ogni spazio tra due indizi, sottrai il risultato dalla lunghezza della linea: ottieni il margine della linea. Un blocco di lunghezza k forza k meno il margine caselle, e non forza nulla quando il margine è più grande. Quindici caselle con indizi 4 4 4 hanno margine 1 e cedono nove caselle in un colpo solo; quindici caselle con indizio 5 hanno margine 10 e non cedono nulla. La formula che trovi nelle guide — due volte l’indizio meno la lunghezza della linea — è soltanto il caso a indizio singolo di questo ragionamento, e applicarla a un indizio isolato dentro una linea con più indizi è sbagliato.

Dodici caselle con indizi 4 3. Da vuota, la linea non dà nulla: margine quattro, nessuno dei due blocchi è più grande. Ora una colonna incrociata fornisce una casella piena in posizione 9, quindi la linea è ????????#???. Il 4 non può possedere quel segno — finirebbe alla casella 9 o più avanti, lasciando il 3 a partire dalla casella 11 e a uscire oltre la fine. Dunque quel segno appartiene al 3, che può partire da 7, 8 o 9; perciò la casella 12 resta fuori da ogni finestra. Il 4 deve terminare almeno due caselle prima che inizi il 3, quindi parte tra 1 e 4 — e un blocco di quattro caselle che parta in qualunque punto di quell’intervallo copre la casella 4. La linea diventa ???#????#??..

Restano nove disposizioni possibili e, oltre al segno già dato, concordano soltanto sulla casella 4 e sulla casella 12. Nota dove è caduta la nuova casella piena: cinque caselle a sinistra del segno che l’ha provocata, dentro l’altro blocco. La sovrapposizione non è una mossa d’apertura: quasi tutte le caselle che produce arrivano quando ripeti l’impacchettamento su una linea che credevi conclusa, dopo che un segno è arrivato da una colonna incrociata.

Che cosa vieta il bordo

Il muro è il solo punto di una linea in cui l’appartenenza arriva gratis, e l’appartenenza è il passaggio costoso. Se la prima casella piena già nota si trova in posizione j e il primo indizio è k, allora, ogni volta che alla sua sinistra non ci sta il primo blocco completo con il suo spazio — in pratica quando j non supera k più uno — quella casella appartiene al primo indizio. Le caselle a sinistra della finestra che ne risulta sono vuote, quelle coperte in ogni possibile posizione sono piene, e il blocco non può mai oltrepassare j più k meno uno: un tetto che abbassa tutto il resto della linea.

Il nome edge logic viene applicato ad almeno tre cose diverse: la regola elementare di ancoraggio, che scatta solo quando il segno sta sul muro; il ragionamento di appartenenza appena descritto; e, fra i solutori esperti, una deduzione condotta su due righe adiacenti lungo il bordo. Su una griglia difficile, quella che rende è la seconda, perché la portata del bordo è di k + 1 caselle verso l’interno, non di una sola.

Dodici caselle con indizi 3 2 2, senza alcuna vuota utile. Arrivano due caselle piene alle posizioni 4 e 5: ???##???????. Se a coprirle fosse un 2, tutto ciò che sta a sinistra dovrebbe contenere il tre più uno spazio — un blocco di tre caselle che termina entro la casella 2, impossibile — quindi il segno appartiene al 3. Per coprirle entrambe, quel blocco parte da 3 oppure da 4: le caselle 1 e 2 sono vuote, la casella 3 resta davvero incerta, e il blocco non può mai andare oltre la casella 6. Il primo 2 parte dunque da 7 o più avanti; poiché l’ultimo 2 deve finire entro la casella 12, il primo deve partire al più tardi da 8. In entrambi i casi copre la casella 8, e l’ultimo 2, partendo da 10 o da 11, copre la casella 11. La linea diventa ..?##??#??#?.

Ogni X che scrivi alza un nuovo muro

Le caselle vuote già note dividono una linea in segmenti. Rispettando l’ordine degli indizi, stabilisci quale indizio possa entrare in quale segmento: un gruppo ci sta solo se la sua somma, più gli spazi interni, non supera la lunghezza del segmento. Un segmento che nessun indizio può raggiungere è tutto vuoto; se invece un certo indizio ha un solo segmento abbastanza grande da accoglierlo, quell’indizio deve andare lì. Di solito l’analisi degli spazi si ferma a questo punto. Vale la pena fare un passo in più: quando un indizio resta vincolato a un segmento, quel segmento diventa una piccola linea autonoma, e puoi rifare l’impacchettamento al suo interno usando il margine del segmento, quasi sempre molto più ridotto di quello della linea intera.

Dodici caselle con indizi 5 3, e le caselle 6 e 7 barrate dalle colonne che le incrociano: ?????..?????. Prima di quelle barrature la linea aveva margine 3 e aveva forzato soltanto le caselle 4 e 5. Ora invece hai due segmenti di cinque caselle. I due indizi non possono stare nello stesso segmento: cinque, uno spazio e tre richiedono nove caselle. Poiché l’ordine è fisso, il 5 occupa il primo segmento e il 3 il secondo. Il primo segmento ha margine zero, quindi ammette una sola disposizione: caselle da 1 a 5 piene. Il secondo ha margine due, perciò il 3 forza una casella, in posizione 10. La linea diventa #####..??#??. Due caselle barrate hanno trasformato due caselle forzate in sei.

Due segni, una sola casella ignota fra loro

Quando due sequenze piene già note sono separate da una sola casella ignota, quella casella si decide con il conto delle lunghezze, non con il piazzamento. Separala se unirla produrrebbe una sequenza più lunga di qualunque indizio che potrebbe contenerla; questa metà del ragionamento non richiede altre condizioni, perché una sequenza può soltanto allungarsi. Uniscila se lasciarla vuota chiuderebbe una sequenza troppo corta per qualunque indizio che potrebbe stare lì — ma solo quando entrambe le sequenze sono già limitate sui lati esterni, da una casella vuota nota o dal bordo, perché altrimenti la sequenza che stai misurando potrebbe ancora crescere. Entrambe le mosse si appoggiano a un presupposto che si esplicita di rado: puoi applicarle solo dopo aver stabilito quali indizi potrebbero appartenere a quelle sequenze. La stessa regola chiude una sequenza quando tutti i suoi possibili indizi proprietari hanno esattamente quella lunghezza — ma barrare automaticamente le caselle ai lati di qualunque sequenza piena è un’altra mossa, ed è sbagliata.

Quindici caselle con indizi 5 2 2, a metà soluzione: ??##?##???#?#??. Il blocco che copre le caselle 3 e 4 deve essere il 5, perché un due in quella posizione non lascerebbe più spazio al cinque. Può partire da 1, da 2 o da 3 — ma se partisse da 1 servirebbe la casella 6 vuota, e se partisse da 2 servirebbe la casella 7 vuota; invece sono entrambe piene. Dunque il cinque è esattamente nelle caselle da 3 a 7: la casella 5 unisce, e le caselle 1, 2 e 8 sono vuote. I due devono coprire i segni nelle caselle 11 e 13, che non sono adiacenti, quindi ciascuno ne prende uno, nell’ordine. Il primo copre le caselle da 10 a 11 oppure da 11 a 12 — ma, se fosse da 11 a 12, il secondo partirebbe da 14 e mancherebbe la casella 13. Quindi è nelle caselle da 10 a 11, la casella 9 è vuota, l’ultimo due è nelle caselle da 13 a 14, e la casella 12 separa. La linea diventa ..#####..##.##., risolta direttamente.

Quando non puoi decidere, separa i casi

Ecco la regola. Elenca le possibilità per ciò che non riesci a stabilire, di solito quale indizio possieda una certa sequenza. Scarta ogni caso che porta a una contraddizione e conserva l’intersezione dei casi sopravvissuti: tutto ciò su cui concordano è una deduzione, anche se non sai ancora quale caso sia quello vero. Sulle linee incrociate, assumere il valore di una casella e propagarlo lungo riga e colonna dimostra il valore opposto quando compare una contraddizione.

Tredici caselle con indizi 2 2 3: ????##???.???. L’impacchettamento da entrambe le estremità individua le caselle da 11 a 13 e nient’altro; proprio le caselle decisive restano fuori dalla sua portata. Separiamo invece i casi secondo l’appartenenza della sequenza alle caselle 5 e 6. Se appartenesse al 3, quel blocco inizierebbe in 4 o in 5, lasciando i due indizi da due e il loro spazio — cinque caselle — da sistemare al massimo nelle prime tre caselle. Caso escluso. Restano due casi, uno per ciascun 2, e in entrambi l’indizio proprietario ha lunghezza esattamente due, quindi occupa precisamente le caselle 5 e 6: le caselle 4 e 7 sono vuote in ogni caso. Il 3 sta allora a destra della casella 7 e, con la casella 10 barrata, ha spazio solo nelle caselle da 8 a 9, troppo poche, oppure nelle caselle da 11 a 13. La linea diventa ???.##.??.###. Non sapremo mai quale dei due indizi da due occupi le caselle 5 e 6, e non ci serviva saperlo.

Lo si archivia come ultima risorsa, oppure lo si fa scivolare nel territorio del tentativo ragionato, ma non è né l’una né l’altra cosa: conservi un valore perché il suo opposto è stato dimostrato impossibile, non perché sembrava promettente.

L’idea rassicurante che un rompicapo ben costruito non lo richieda mai confonde due proprietà diverse. Un buon nonogramma ha esattamente una soluzione; questo non implica che possa essere risolto una linea alla volta. Nell’indagine del 2009 di Jan Wolter su 2,491 rompicapo in bianco e nero progettati da autori umani, l’81.8 per cento aveva una soluzione unica raggiungibile linea per linea — line-solvable, o simple nel termine di Batenburg e Kosters — mentre il 15.6 per cento ne aveva una che il solo ragionamento sulle linee non raggiunge mai. Circa uno su sei. Stabilire se un insieme di indizi ammetta una soluzione è NP-completo; stabilire se anche una sola casella sia deducibile, su una griglia di cui si sa già che ha una soluzione, è ancora più difficile, co-NP-completo. La difficoltà era nel sistema degli indizi fin dall’inizio, dal rompicapo a cui Non Ishida e Tetsuya Nishio arrivarono indipendentemente alla fine degli anni 1980.

Mettere in sequenza il 5 su una griglia bloccata

Quando ti blocchi, le possibilità sono tre, non una: c’è una deduzione su una singola linea che ti è sfuggita; c’è una deduzione che nessuna linea produce da sola, ma che emerge combinandone due; oppure il rompicapo richiede davvero una ricerca limitata. Procedi in quest’ordine: a ogni passo il costo aumenta.

  1. Calcola il margine per ogni linea incompleta e comincia da quello più basso, non dall’indizio più grande.
  2. Ripeti l’impacchettamento su ogni linea che ha ricevuto un segno dall’ultima volta in cui l’hai esaminata. La maggior parte delle caselle è qui.
  3. Lavora sulle righe e sulle colonne più esterne, dove il bordo assegna gratis l’appartenenza.
  4. Barra tutto ciò che puoi, poi ripeti l’impacchettamento dentro i segmenti appena creati da quelle barre.
  5. Leggi i segni più che gli indizi: singole caselle ignote tra sequenze, e sequenze i cui proprietari candidati hanno tutti la stessa lunghezza.
  6. Solo a questo punto dividi in casi, scegliendo la casella con il maggior numero di conseguenze incrociate. Mantieni la divisione superficiale; fermati alla prima contraddizione.

Il secondo e il quarto passo si moltiplicano a vicenda: per questo una linea che in un passaggio non vale nulla può valere sei caselle nel successivo — e per questo la soluzione di un nonogramma difficile tiene insieme così tante cose nella mente, proprio il punto in cui diventa interessante la domanda se i rompicapo allenino la memoria.

Domande frequenti

È mai corretto tirare a indovinare?

No, e la distinzione non è pignoleria. Nell’analisi per casi conservi un valore perché hai dimostrato impossibile l’alternativa; quando tiri a indovinare, lo conservi perché sembrava promettente, poi trascini una casella errata per venti mosse prima che emerga la contraddizione. Se non sai nominare l’ipotesi che hai confutato, hai tirato a indovinare.

Perché “comincia dai numeri più grandi” smette di funzionare?

Perché l’indizio più grande è solo un surrogato della quantità che determina il rendimento, e quel surrogato cede appena una linea contiene più di un indizio. Calcola invece il margine, e affronta il più piccolo.

Che cosa rende davvero difficile un nonogramma?

La densità, almeno quanto la dimensione. Gli studi che misurano lo sforzo di un solutore su griglie generate casualmente collocano la zona più difficile a una densità di caselle piene pari a circa due quinti: al di sotto si deduce poco, al di sopra si deduce quasi tutto, e lo sforzo raggiunge il massimo nel punto di transizione.

Queste tecniche valgono anche per picross, griddlers e hanjie?

Senza modifiche — sono quattro nomi per lo stesso rompicapo, e la logica appartiene al sistema degli indizi, non allo stile editoriale di un editore. La nostra mappa dei rompicapo di logica mostra dove si colloca questa famiglia accanto a sudoku e kakuro.

Fonti

Da dove proviene

I consigli per risolvere viaggiano di bocca in bocca, e lungo il percorso raccolgono errori. Ecco cosa abbiamo verificato, e dove, così puoi valutarlo tu stesso.

  1. Jan Wolter, Survey of Paint-by-Number Puzzle Solvers La fonte delle cifre risolvibili per linea citate nel post. Wolter ha valutato i risolutori rispetto a un’istantanea del database webpbn.com presa il 2 ottobre 2009, e ha pubblicato la suddivisione per i suoi 2.491 rompicapi in bianco e nero: 81.8 per cento unici e risolvibili per linea, 15.6 per cento unici ma non risolvibili per linea, 2.6 per cento con soluzioni multiple. Il suo set di contrasto di 5,000 griglie generate casualmente 30×30 mostra il 97.5 per cento con soluzioni multiple e solo lo 0.4 per cento unici e risolvibili per linea, che è la prova più chiara disponibile che un buon nonogramma è un artefatto progettato piuttosto che una griglia casuale. Leggilo come una grande raccolta di rompicapi inviati dagli utenti, non come un catalogo di un editore. Survey of Paint-by-Number Puzzle Solvers (webpbn).
  2. Web Paint-by-Number: solving techniques La pagina delle tecniche sul sito di Wolter, e a nostro avviso la risorsa scritta da esperti più autorevole sul web aperto per questo materiale. È qui che il vocabolario utilizzato dai risolutori viene fissato, inclusa la risoluzione per linea e il senso a due righe della logica dei bordi che le guide per i consumatori hanno sostituito con la regola di ancoraggio per principianti. HTML semplice degli anni 2000 senza firma e senza SEO, il che è parte del motivo per cui raramente emerge per queste query; l’attribuzione a Wolter è un’inferenza dalla proprietà del sito piuttosto che un credito stampato sulla pagina. Solving techniques, Web Paint-by-Number.
  3. Batenburg and Kosters, Solving Nonograms by combining relaxations (2009) Il riferimento algoritmico peer-reviewed, pubblicato in Pattern Recognition 42(8), pagine 1672-1683. Fornisce la definizione formale dell’operazione Settle per linea, il fatto che l’ordine in cui le linee vengono elaborate non cambia il risultato, e il termine semplice per ciò che i risolutori chiamano risolvibile per linea. Stabilisce anche la scala sopra la risoluzione per linea, da semplice a 0-Solvable a 1-Solvable, e registra onestamente un rompicapo 5×5 con una soluzione unica che nessuno dei loro metodi polinomiali può completare. Il file CWI collegato è il preprint degli autori piuttosto che la versione pubblicata; non porta la paginazione del giornale. Solving Nonograms by combining relaxations (PDF).
  4. Foote and Krizanc, Nonogram: Complexity of Inference and Phase Transition Behavior (2025) La fonte per due affermazioni nel post. Il Teorema 2.1 stabilisce che decidere se una qualsiasi singola casella è attualmente deducibile su una tavola coerente – già nota per avere una soluzione – è co-NP-completo, che è il risultato di complessità che si mappa su ciò che un risolutore umano bloccato effettivamente affronta. La Sezione 3 riporta la soglia di densità empirica di circa 0.39 a 0.42, misurata come sforzo di propagazione di un risolutore SAT su tavole generate casualmente piuttosto che come sforzo umano su rompicapi progettati, con il lavoro che raggiunge il picco nella transizione stessa. Preprint, non ancora pubblicato su rivista. arXiv:2507.07283.
  5. Van Rijn, Playing Games (Leiden, 2012) Una prova a testo completo, indipendentemente reperibile, che risolvere i nonogrammi è NP-completo, per riduzione dalla logica dei vincoli non deterministica limitata planare (Capitolo 7, Teorema 7.2.5). Vale la pena citarlo perché il riferimento usuale, il rapporto tecnico TR96-0008 di Ueda e Nagao del 1996 del Tokyo Institute of Technology, non ha testo completo che siamo riusciti a trovare online; prove indipendentemente verificabili come questa sono l’alternativa pratica. Playing Games: the complexity of Klondike, Mahjong, Nonograms and Animal Chess (PDF).
  6. Oosterman, Complexity and solvability of Nonogram puzzles (Groningen, 2017) Una seconda prova a testo completo indipendente, utile perché separa le tre domande che sono regolarmente confuse: esistenza (esiste una soluzione), risoluzione (come trovarne una), e unicità (ce n’è una seconda). L’NP-completezza si applica all’esistenza, motivo per cui il teorema non dice nulla direttamente sul rompicapo già validato davanti a te. Il Teorema 5.2.2 dimostra inoltre che il problema dell’unicità è NP-completo. Complexity and solvability of Nonogram puzzles (PDF).

The Logic Atelier pubblica i libri presentati su questo sito. Alcuni link portano ad Amazon, dove sono venduti i nostri titoli.

Maximiliano Leyton Gaggioli
Sull’autore

Maximiliano Leyton Gaggioli

Fondatore, editore e designer di The Logic Atelier. Formatosi come architetto, disegna le griglie, testa ogni puzzle, disegna la pixel-art e risponde alla posta — l’atelier è piccolo di proposito.

Scopri di più sulla casa editrice →
Dall’atelier

Quattro libri. Un solo sistema.

450+ Nonogram Puzzle Book — blue volume300+ Nonogram Puzzle Book — green volume150+ Nonogram Puzzle Book — red volumeTravel-size Nonogram Puzzle Book
Vedi la collezione →
The Logic Letter

Una lettera al mese. Merita di essere aperta.

Ogni nuovo articolo, tecniche di risoluzione e note dall’atelier — direttamente nella tua casella di posta.

✓  Fatto. Controlla la tua posta per confermare.