Överlappning, Kantlogik & 3 Fler Tekniker för Svåra Nonogram
Fem tekniker för pussel som fastnar — den allmänna formen av överlappning, vad kanten verkligen förbjuder, segmentmarginal, att förena och dela, och fallanalys — varje visas i arbete på en fullt specificerad rad.

Den här texten utgår från grunderna: du kan läsa en ledtråd, du kryssar över tomma rutor lika noggrant som du fyller rutor, och du behärskar nybörjarformen av överlappning — en ledtråd på 6 i en rad med tio rutor, skjuten längst åt vänster, skjuten längst åt höger, med de två ytterlägenas gemensamma del kvar. Om det inte är bekant visar vår guide till att lösa nonogram hur det fungerar, och de fem misstagen varje nybörjare gör hör hemma före den. Inget av det upprepas här.
Det som förändras i ett svårt rutnät är inte reglerna, utan ekonomin. Det finns en enda lag: en ruta är tvingad bara om den får samma värde i varje arrangemang som stämmer med ledtråden och med det du redan vet. Varje namngiven teknik är en billig approximation av den lagen, snabb just därför att den är ofullständig, och ett svårt pussel kör fast när lösaren förväxlar approximationen med regeln. En linje löper från vänster till höger: # för en ruta som är känd som fylld, . för en ruta som är känd som tom, ? för en ruta som fortfarande är okänd, med rutorna numrerade från 1 till vänster.
Överlappning på riktigt: varje block har ett fönster
Sluta skjuta en enskild ledtråd fram och tillbaka; packa hela linjen. Pressa varje block så långt åt vänster som reglerna tillåter, och sedan så långt åt höger, med hänsyn till de rutor du redan känner. Nu har varje block ett fönster. Rutor som täcks i båda packningarna av samma block är fyllda; rutor som inget fönster når är tomma. Villkoret om ägande är den del som oftast tappas bort: en ruta som täcks i båda packningarna av två olika block är inte tvingad.
På en tom linje blir detta ren aritmetik. Summera ledtrådarna, lägg till en ruta för varje lucka mellan dem och dra av från linjens längd: det är linjens utrymme. Ett block med längden k tvingar k minus utrymmet rutor, och ingenting när utrymmet är större. Femton rutor med ledtrådarna 4 4 4 har utrymme 1 och ger nio rutor på en gång; femton rutor med ledtråden 5 har utrymme 10 och ger inga. Formeln som brukar stå i guider — dubbla ledtråden minus linjens längd — är bara specialfallet med en enda ledtråd, och om den används på en ledtråd i en linje med flera ledtrådar blir den fel.
Tolv rutor med ledtrådarna 4 3. Som tom är linjen värdelös: utrymmet är fyra, och inget av blocken är större. En korsande kolumn ger nu en fylld ruta på position 9, så linjen är ????????#???. 4 kan inte äga den markeringen — då skulle det sluta vid ruta 9 eller senare, vilket lämnar 3 att börja vid ruta 11 och gå utanför linjen. Alltså äger 3 den, med start på 7, 8 eller 9, vilket lägger ruta 12 utanför varje fönster. 4 måste sluta minst två rutor innan 3 börjar, så det startar någonstans mellan 1 och 4 — och ett block på fyra rutor som startar var som helst där täcker ruta 4. Linjen blir ???#????#??..
Nio arrangemang återstår, och bortsett från den markering som redan var given är de inte överens om något annat än ruta 4 och ruta 12. Lägg märke till var den nya fyllda rutan hamnade: fem rutor till vänster om markeringen som orsakade den, inne i det andra blocket. Överlappning är inte ett öppningsdrag: nästan varje ruta den ger kommer av att du kör packningen på nytt på en linje du trodde var färdig, efter att en markering har kommit från en korsande kolumn.
Vad kanten förbjuder
Väggen är den enda platsen i en linje som ger dig ägande utan kostnad, och ägandet är det dyra steget. Om den första kända fyllda rutan ligger på position j och den första ledtråden är k, då tillhör rutan den första ledtråden så snart inget komplett första block med sin lucka får plats till vänster om den — i praktiken när j inte är större än k plus ett. Rutorna till vänster om det fönster som då uppstår är tomma, de rutor som täcks i varje möjligt läge är fyllda, och blocket kan aldrig sträcka sig förbi j plus k minus ett: ett tak som begränsar resten av linjen.
Namnet kantlogik används om minst tre olika saker: nybörjarregeln för förankring, som bara gäller när markeringen ligger mot väggen; ägandeargumentet ovan; och, bland erfarna lösare, en deduktion som görs över två intilliggande rader längs kanten. Det är den mittersta som ger utdelning i ett svårt rutnät, eftersom kantens räckvidd är k plus ett rutor inåt, inte en.
Tolv rutor med ledtråden 3 2 2, utan något att hämta i blankt skick. Två fyllda rutor dyker upp på positionerna 4 och 5: ???##???????. Om en 2 täckte dem, skulle allt till vänster om den behöva rymma trean plus en lucka — ett block på tre rutor som slutar senast i ruta 2, vilket är omöjligt — alltså äger 3 markeringen. När den täcker båda rutorna börjar den på 3 eller 4: ruta 1 och 2 är tomma, ruta 3 förblir verkligen okänd, och blocket kan aldrig gå förbi ruta 6. Den första 2 börjar därför på 7 eller senare, och eftersom den sista 2 slutar senast i ruta 12 måste den första börja senast på 8 — så den täcker ruta 8 oavsett, och den sista 2, som börjar på 10 eller 11, täcker ruta 11. Linjen blir ..?##??#??#?.
Varje kryss du sätter bygger en ny vägg
Kända tomma rutor delar en linje i segment. Med ledtrådarnas ordning som begränsning avgör du vilken ledtråd som kan ligga var: en serie får plats i ett segment bara om dess summa, tillsammans med de interna luckorna, inte är längre än segmentet. Ett segment som ingen ledtråd kan nå är helt tomt, och om bara ett segment är stort nog för en viss ledtråd ska den ledtråden ligga där. Här stannar det drag som brukar kallas luckanalys. Ta ett steg till: när en ledtråd är låst till ett segment blir segmentet en kort linje, så gör om packningen där inne mot segmentets eget utrymme, som nästan alltid är mycket mindre än linjens.
Tolv rutor med ledtråden 5 3, där ruta 6 och 7 har kryssats över av korsande kolumner: ?????..?????. Före de kryssen hade linjen utrymme 3 och hade bara gett ruta 4 och 5. Nu består den av två segment på fem. Båda ledtrådarna kan inte dela på ett enda — fem, en lucka och tre kräver nio rutor — och ordningen är fast, alltså tar 5 det första segmentet och 3 det andra. Det första segmentet har utrymme noll, vilket ger en enda placering: ruta 1 till 5 fylls. Det andra har utrymme två, så 3 tvingar en ruta, på position 10. Linjen blir #####..??#??. Två kryssade rutor gjorde två tvingade rutor till sex.
Två markeringar med en okänd ruta emellan
När två kända fyllda serier skiljs åt av en enda okänd ruta avgörs den rutan med längdräkning, inte med placering. Dela den när en förening skulle ge en serie som är längre än varje ledtråd som skulle kunna äga den; den halvan kräver inget ytterligare villkor, eftersom en serie bara kan bli längre. Förena den när rutan, om den lämnas tom, skulle stänga en serie som är för kort för varje ledtråd som kan ligga där — men bara när båda serierna redan är avgränsade på sina yttre sidor, av en känd tom ruta eller av kanten, eftersom serien du mäter annars fortfarande kan växa. Båda bygger på något som sällan sägs rakt ut: du får använda dem först när du vet vilka ledtrådar serierna kan tillhöra. Samma regel stänger en serie när alla tänkbara ägare har exakt dess längd — men att rutinmässigt kryssa över rutorna bredvid varje fylld serie är ett annat drag, och ett felaktigt.
Femton rutor med ledtråden 5 2 2, mitt i lösningen: ??##?##???#?#??. Blocket som täcker rutorna 3 och 4 måste vara 5, eftersom en tvåa där skulle göra att femman inte fick plats någonstans. Den börjar på 1, 2 eller 3 — men start på 1 kräver att ruta 6 är tom, och start på 2 kräver att ruta 7 är tom, och båda är fyllda. Alltså är femman exakt rutorna 3 till 7: ruta 5 förenar, och rutorna 1, 2 och 8 är tomma. Tvåorna måste täcka markeringarna i rutorna 11 och 13, som inte ligger intill varandra, så de tar varsin i ordning. Den första täcker rutorna 10 till 11 eller rutorna 11 till 12 — men vid 11 till 12 skulle den andra börja på 14 och missa ruta 13. Alltså är den rutorna 10 till 11, ruta 9 är tom, den sista tvåan är rutorna 13 till 14, och ruta 12 delar. Linjen blir ..#####..##.##., löst direkt.
När du inte kan avgöra, dela upp i fall
Själva regeln är enkel. Skriv upp möjligheterna för det du inte kan avgöra, oftast vilken ledtråd som äger en viss serie. Kasta varje fall som leder till en motsägelse och ta snittet av dem som återstår: allt de är överens om är en deduktion, även om du fortfarande inte vet vilket fall som är sant. När linjer korsar varandra kan du anta ett värde i en ruta och föra följderna genom rad och kolumn; uppstår en motsägelse är det motsatta värdet bevisat.
Tretton rutor med ledtråden 2 2 3: ????##???.???. Packning från båda ändar hittar rutorna 11 till 13 och inget mer; de rutor som betyder något ser den inte. Dela i stället upp efter vem som äger serien i rutorna 5 och 6. Om 3 ägde den skulle blocket börja på 4 eller 5, vilket lämnar de två tvåorna och deras lucka — fem rutor — att rymmas i högst de tre första rutorna. Det är omöjligt. Två fall återstår, ett för varje 2, och i båda har ägaren längden exakt två, så serien är precis rutorna 5 och 6: rutorna 4 och 7 är tomma i vilket fall. 3 ligger då till höger om ruta 7, och med ruta 10 överkryssad har den bara plats i rutorna 8 till 9, för kort, eller i rutorna 11 till 13. Linjen blir ???.##.??.###. Vi får aldrig veta vilken tvåa som ligger i rutorna 5 och 6, och det behövde vi inte heller.
Om metoden sorteras in som en sista utväg, eller glider över i kvalificerad gissning, har man missförstått den: du behåller ett värde därför att dess motsats har bevisats omöjlig, aldrig därför att värdet verkade lovande.
Påståendet att ett välgjort pussel aldrig kräver detta blandar ihop två egenskaper. Ett bra nonogram har exakt en lösning; det betyder inte att det kan lösas färdigt en linje i taget. I Jan Wolter’s undersökning från 2009 av 2,491 människoskapade svartvita pussel hade 81.8 procent en unik lösning som kunde nås linje för linje — linjelösbar, eller simple med Batenburg och Kosters’s term — medan 15.6 procent hade en sådan som ren linjeresonerande aldrig når. Ungefär ett av sex. Att avgöra om en uppsättning ledtrådar tillåter någon lösning alls är NP-komplett; att avgöra om ens en enda ruta kan deduceras, på ett bräde som redan är känt att ha en lösning, är ännu svårare, co-NP-komplett. Svårigheten fanns i ledtrådssystemet hela tiden, ända från det pussel som Non Ishida och Tetsuya Nishio kom fram till oberoende av varandra i slutet av 1980-talet.
Ordningen mellan de fem när rutnätet har kört fast
Att ha kört fast betyder tre saker, inte en: en deduktion på linjenivå som du har missat, en deduktion som ingen enskild linje ger men som två tillsammans ger, eller ett pussel som faktiskt kräver en avgränsad sökning. Gå igenom dem i den ordningen; kostnaden stiger för varje steg.
- Beräkna utrymmet för varje oavslutad linje och angrip den med lägst utrymme, inte den med störst ledtråd.
- Kör om packningen på varje linje som har fått en markering sedan du senast tittade på den. Det är här de flesta rutorna finns.
- Arbeta med de yttersta raderna och kolumnerna, där kanten ger ägande gratis.
- Kryssa över allt du kan, och kör sedan om packningen inne i segmenten som de kryssen just skapade.
- Läs markeringarna snarare än ledtrådarna: enstaka okända rutor mellan serier, och serier där alla ledtrådar som kan äga dem har samma längd.
- Först därefter delar du upp i fall, på den ruta som ger flest följder i korsande linjer. Håll uppdelningen grund; stanna vid första motsägelsen.
Steg två och fyra förstärker varandra, och därför kan en linje som inte gav något i en genomgång ge sex rutor i nästa — och därför kräver svår lösning att man håller så mycket i huvudet på en gång, vilket är där frågan om huruvida pussel tränar minnet blir intressant.
Vanliga frågor
Är det någonsin rätt att gissa?
Nej, och skillnaden är inte hårklyveri. Vid fallanalys behåller vi ett värde därför att alternativet har visats vara omöjligt; vid gissning behåller vi det därför att det såg lovande ut, och sedan får en felaktig ruta följa med i tjugo drag innan motsägelsen visar sig. Om du inte kan ange vilket antagande du just motbevisade, då gissade du.
Varför slutar “börja med de största talen” att fungera?
Därför att den största ledtråden bara är en genväg till den storhet som faktiskt avgör utdelningen, och den genvägen slutar hålla så snart en linje har mer än en ledtråd. Räkna ut utrymmet i stället, och angrip det minsta.
Vad är det egentligen som gör ett nonogram svårt?
Täthet, minst lika mycket som storlek. Studier som mäter en lösares arbete på slumpgenererade rutnät placerar det svåraste området vid en täthet av fyllda rutor på ungefär två femtedelar: under den går det att dra få slutsatser, över den går det att dra nästan alla, och arbetet når sin topp vid övergången.
Gäller de här teknikerna för picross, griddlers och hanjie?
Utan ändringar — det är fyra namn på samma pussel, och logiken hör till ledtrådssystemet, inte till en utgivares husstil. Vår karta över logikpussel visar var familjen ligger i förhållande till sudoku och kakuro.
Var detta kommer ifrån
Råd om lösningar sprids muntligen och plockar upp fel på vägen. Här är vad vi kontrollerade, och var, så att du själv kan bedöma det.
- Jan Wolter, Survey of Paint-by-Number Puzzle Solvers Källan till de linjelösbara siffrorna som nämns i inlägget. Wolter jämförde lösare mot en ögonblicksbild av webpbn.com-databasen tagen den 2 oktober 2009 och publicerade uppdelningen för dess 2 491 svartvita pussel: 81,8 procent unika och linjelösbara, 15,6 procent unika men inte linjelösbara, 2,6 procent med flera lösningar. Hans kontrastuppsättning av 5 000 slumpmässigt genererade 30×30 rutnät visar 97,5 procent med flera lösningar och endast 0,4 procent unika och linjelösbara, vilket är det tydligaste tillgängliga beviset på att ett bra nonogram är en designad artefakt snarare än ett slumpmässigt rutnät. Läs det som en stor samling av användarinlämnade pussel, inte en förlagskatalog. Survey of Paint-by-Number Puzzle Solvers (webpbn).
- Web Paint-by-Number: solving techniques Tekniksidan på Wolters egen webbplats, och enligt vår uppfattning den mest expertmässiga mänskligt skrivna resursen på det öppna webben för detta material. Det är där vokabulären som används av lösare fastställs, inklusive linjelösning och den två-raders kantlogik som konsumentguider har ersatt med nybörjarens förankringsregel. Enkel HTML från 2000-talet utan byline och utan SEO, vilket är en del av varför den sällan dyker upp för dessa frågor; tillskrivningen till Wolter är en slutsats från webbplatsägande snarare än ett erkännande tryckt på sidan. Solving techniques, Web Paint-by-Number.
- Batenburg and Kosters, Solving Nonograms by combining relaxations (2009) Den peer-reviewade algoritmiska referensen, publicerad i Pattern Recognition 42(8), sidorna 1672-1683. Den ger den formella definitionen av per-linje Settle-operationen, faktumet att ordningen i vilken linjer bearbetas inte ändrar resultatet, och termen enkel för vad lösare kallar linjelösbar. Den beskriver också stegen ovanför linjelösning, från enkel till 0-Solvable till 1-Solvable, och noterar ärligt ett 5×5 pussel med en unik lösning som ingen av deras polynommetoder kan avsluta. Den länkade CWI-filen är författarnas preprint snarare än den publicerade versionen; den har ingen tidskriftspaginering. Solving Nonograms by combining relaxations (PDF).
- Foote and Krizanc, Nonogram: Complexity of Inference and Phase Transition Behavior (2025) Källan för två påståenden i inlägget. Sats 2.1 fastställer att avgöra om någon enskild ruta för närvarande är härledbar på ett konsekvent bräde – ett som redan är känt att ha en lösning – är co-NP-komplett, vilket är komplexitetsresultatet som motsvarar vad en fast mänsklig lösare faktiskt står inför. Avsnitt 3 rapporterar den empiriska densitetströskeln på ungefär 0,39 till 0,42, mätt som en SAT-lösares spridningsinsats på slumpmässigt genererade bräden snarare än som mänsklig insats på designade pussel, där arbetet når sin topp vid själva övergången. Preprint, ännu inte publicerad i tidskrift. arXiv:2507.07283.
- Van Rijn, Playing Games (Leiden, 2012) En fulltext, oberoende hämtbar bevisning att lösa nonogram är NP-komplett, genom reduktion från planär begränsad icke-deterministisk logik (Kapitel 7, Sats 7.2.5). Värt att citera eftersom den vanliga referensen, Ueda och Nagaos 1996 Tokyo Institute of Technology tekniska rapport TR96-0008, inte har någon fulltext vi kunde hitta online; oberoende kontrollerbara bevis som detta är det praktiska alternativet. Playing Games: the complexity of Klondike, Mahjong, Nonograms and Animal Chess (PDF).
- Oosterman, Complexity and solvability of Nonogram puzzles (Groningen, 2017) Ett andra oberoende fulltextbevis, användbart eftersom det separerar de tre frågor som rutinmässigt blandas ihop: existens (finns någon lösning), lösning (hur man hittar en), och unikhet (finns det en andra). NP-kompletthet är kopplad till existens, vilket är varför satsen inte säger något direkt om det redan validerade pusslet framför dig. Sats 5.2.2 bevisar dessutom att unikhetsproblemet är NP-komplett. Complexity and solvability of Nonogram puzzles (PDF).
The Logic Atelier publicerar böckerna som visas på den här sidan. Vissa länkar leder till Amazon, där våra titlar säljs.
Ett brev i månaden. Värt att öppna.
Varje ny artikel, pusseltekniker och ateljéanteckningar — direkt till din inkorg.





