# Nonogram

Een nonogram is een beeldpuzzel. De oplossing is een tekening van gekleurde blokjes of pixels. De lengte en breedte kunnen variëren van 10 tot 200 en meer. Het aantal kleuren kan variëren van twee (zwart en wit) tot tien of meer (waaronder wit).
De gekleurde pixels vormen horizontaal en verticaal blokken van meerdere aaneengesloten pixels met een enkele kleur.
De opgave is een leeg diagram. Getallen boven en links van het diagram geven aan hoe lang de blokken zijn en welke kleur ze hebben. De witte blokken worden niet aangegeven. Elk getal staat voor één of meer aaneengesloten blokken van een bepaalde kleur in de betreffende kolom of op de betreffende regel. Door deze blokken kloppend in te kleuren, vormt zich een afbeelding in het diagram: de oplossing van de puzzel.

## Oorsprong

De Japanse taal biedt (net als bijvoorbeeld het Chinees) weinig mogelijkheden voor het maken van kruiswoordpuzzels die erg populair zijn in de talen met een alfabet met een beperkt aantal letters. Toch zijn er wel kruiswoordpuzzels in het hiragana.
Om toch te voldoen aan de behoefte om te puzzelen, zijn de puzzelbedenkers in Japan buitengewoon creatief in het ontwikkelen van puzzels die niet opgebouwd zijn uit letters en woorden, maar uit plaatjes en getallen.
Spreekt men van een Japanse puzzel, wordt meestal een nonogram bedoeld. Zo worden er puzzelboeken met nonogrammen verkocht onder de noemer 'Japanse Puzzel'. Toch verdienen ook andere puzzels, zoals de sudoku, die naam.

## Eenvoudige voorbeelden

Een nonogram kan zwart-wit zijn, met alleen zwarte en witte pixels, of gekleurd zijn met maximaal circa tien kleuren, waaronder wit.

### Zwart-wit

De getallen boven de puzzel geven aan hoeveel aaneengesloten zwarte pixels in de kolom onder elk getal te vinden zijn. De getallen links van de puzzel geven aan hoeveel aaneengesloten zwarte pixels op de regel rechts van elk getal te vinden zijn.

### Gekleurd

De getallen boven en links geven aan hoe lang de blokken zijn en welke kleur ze hebben. Twee blokken van dezelfde kleur moeten altijd door minstens één witte pixel gescheiden zijn. Blokken van verschillende kleuren kunnen direct aan elkaar grenzen.
De getallen slaan steeds op de bijbehorende kleuren: rood en groen in het voorbeeld. De witte pixels worden nooit door getallen aangegeven.
Bij de grotere nonogrammen kan het een heel gezoek zijn voordat de blokken goed ingekleurd zijn. Maar de getallen kloppen precies met het aantal aaneengesloten gekleurde blokken, dus is het een kwestie van goed kijken en logisch nadenken.
Een gekleurd nonogram heeft soms maar weinig witte pixels. In dat geval is het oplossen weinig meer dan een eenvoudige invuloefening.

## Werkwijze

Meestal begint men met het zoeken van regels en kolommen die vrijwel geheel gevuld zijn. Bijvoorbeeld, de puzzel is 20 pixels breed en op een regel komen blokken van 5, 8, 5, alle drie met dezelfde kleur. Er zijn tussen de drie blokken twee witte tussenruimtes. De speelruimte is dan 20-(5+8+5)-2=0. Die regel kan dan meteen ingevuld worden.
Lastiger is het als de speelruimte groter is. Zijn de blokken bijvoorbeeld 1, 7, 6, dan is er een speelruimte van 20-(1+7+6)-2=4 pixels. Van de blokken die groter zijn dan de speelruimte, kan een deel al worden ingevuld. Hebben de blokken verschillende kleuren, dan is de speelruimte nog groter, want dan zijn er geen witte tussenruimtes.
De moeilijkheid van een Japanse puzzel stijgt snel met de grootte. Een puzzel van 10 bij 10 is nog vrij snel op te lossen, een puzzel van 20 bij 20 al een heel stuk lastiger. Een puzzel van 40 bij 40 wordt door velen als praktisch onoplosbaar beschouwd. Een foutje is namelijk snel gemaakt. Wordt zo'n fout niet direct opgemerkt, dan werkt hij door in de rest van de puzzel en is de schade moeilijk te herstellen zonder opnieuw te beginnen. Daarom is het in dat geval aan te raden om de puzzel eerst met potlood in te vullen. De puzzel kan dan als een fout niet meteen is opgemerkt, direct helemaal worden uitgegumd, zodat er makkelijk opnieuw kan worden begonnen.
Een ander probleem is dat het zoeken naar aanknopingspunten in een grote puzzel zeer tijdrovend is. Men zal dan ook vaak het bijltje erbij neergooien hoewel er geen fout is gemaakt.

## Ontwerp

Het lijkt eenvoudig om een Japanse puzzel te ontwerpen. Men neemt een plaatje, maakt er een patroon van pixels van en telt de lengte van de aangesloten zwarte of gekleurde blokken. Uiterste nauwkeurigheid is echter geboden: een enkel telfoutje en de puzzel wordt onbruikbaar. Het gebruik van een computer wordt dan ook aanbevolen.
| | 1 | 1 |
| 1 | | |
| 1 | | |
Een probleem is echter dat niet elk patroon geschikt is om er een Japanse puzzel van te maken. Dat is aantoonbaar met het voorbeeld hiernaast: deze puzzel heeft geen unieke oplossing. Is de maker zich bewust van dit probleem, dan kan hij de puzzel oplosbaar maken door alvast een paar pixels in te kleuren (wat echter niet als elegant geldt).
Hieruit volgt dat een Japanse puzzel niet alleen moeilijk op te lossen is, maar ook moeilijk te maken. Het zou een vergissing zijn om een willekeurig plaatje van gekleurde pixels te nemen en daarvan een puzzel te maken: de kans is zeer groot dat de puzzel geen unieke oplossing heeft. De manier om te weten te komen of een puzzel een unieke oplossing heeft, is zelf te proberen de puzzel op te lossen.
Natuurlijk kan men een computerprogramma gebruiken om een puzzel te maken en op correctheid te controleren. Aan de andere kant is het mogelijk een Japanse puzzel met een computerprogramma op te lossen en het is niet onwaarschijnlijk dat er al programma's met dat doel in het internet circuleren. Zo'n programma lost een puzzel in enkele seconden op. Een nonogram is (zoals veel Japanse puzzels) daarom niet geschikt als prijspuzzel.