Un patrón de línea válido es una disposición completa de casillas rellenas y vacías para una fila o columna que satisface sus pistas y todos los estados ya confirmados.
Cuando las técnicas más simples dejan de producir deducciones, razonar con los patrones supervivientes ofrece una forma completa de preguntar qué sigue permitiendo esa línea.
Ejemplo: filtrar una línea 2 2 hasta dejar dos patrones
Toma una línea de siete casillas con pistas 2 2. Supón que la casilla 3 está rellena y la 5 vacía:
??■?×??
Solo existen dos patrones completos que satisfacen todas esas restricciones:
.##..##
..##.##
Compáralos casilla a casilla:
- la casilla 3 está rellena en ambos;
- las casillas 6 y 7 están rellenas en ambos;
- las casillas 1 y 5 están vacías en ambos;
- las casillas 2 y 4 cambian.
Por tanto, 3, 6 y 7 son rellenos forzados; 1 y 5 son vacíos forzados; 2 y 4 siguen desconocidas.
Una casilla está forzada cuando todos los patrones coinciden
La definición precisa es:
una casilla está forzada cuando todos los patrones de línea válidos le asignan el mismo estado.
Si todos la rellenan, márcala rellena.
Si todos la dejan vacía, marca X.
Si al menos un patrón la rellena y otro la deja vacía, esa línea por sí sola todavía no decide su estado.
Cómo construir patrones válidos a mano
Rara vez necesitarás escribir todos los patrones de una línea grande, pero el proceso mental es útil:
- coloca los bloques en el orden de las pistas;
- conserva al menos una casilla vacía entre bloques monocromos consecutivos;
- descarta colocaciones que atraviesen X confirmadas;
- descarta colocaciones que no cubran rellenos confirmados;
- descarta patrones que dejen algún fragmento relleno sin poder pertenecer a una pista;
- compara lo que queda.
Este es el modelo general que subyace al encaje exacto, solapamiento, alcance, asignación de segmentos y límites de colocación.
Las técnicas simples son atajos sobre el mismo espacio de posibilidades
Muchas deducciones conocidas pueden entenderse como formas eficientes de evitar la enumeración explícita:
- encaje exacto → solo queda un patrón válido;
- solapamiento → un bloque cubre las mismas casillas en todas sus colocaciones;
- casillas inalcanzables → ningún patrón válido las rellena;
- límites de colocación → representación compacta de dónde puede aparecer cada bloque ordenado.
El análisis de patrones las unifica, pero no sustituye a esos atajos cuando son más rápidos.
Por qué los patrones válidos importan en líneas difíciles
Las colocaciones extrema izquierda/derecha pueden perder deducciones en líneas parcialmente resueltas y complejas. Un filtrado completo considera todas las disposiciones compatibles con el estado actual, no solo dos extremos.
Los solvers informáticos suelen usar algoritmos especializados para obtener el mismo resultado sin almacenar literalmente todos los patrones, porque el número de combinaciones puede crecer con rapidez.
Ejemplo trabajado: cuatro patrones supervivientes fuerzan seis estados
Toma una línea de 10 casillas con pistas 3 2, la casilla 2 rellena, la 5 vacía y la 9 rellena:
?■??×???■?
Solo sobreviven cuatro patrones completos:
###....##.
###.....##
.###...##.
.###....##
Al compararlos vemos que:
- las casillas 2, 3 y 9 están rellenas en los cuatro;
- las casillas 5, 6 y 7 están vacías en los cuatro;
- las casillas 1, 4, 8 y 10 siguen variando.
Una línea no necesita estar cerca de una única solución para que comparar patrones sea útil. Pueden sobrevivir varias disposiciones y, aun así, compartir muchos estados.
Las familias de patrones pueden ser más útiles que los patrones individuales
En una línea grande, enumerarlo todo puede ser poco práctico. A menudo puedes agrupar patrones por una decisión significativa:
- qué segmento recibe una pista;
- si dos fragmentos se unen o se separan;
- si un bloque empieza antes o después de una frontera con X;
- cuál de dos identidades de pista cubre un fragmento.
Después comparas las consecuencias comunes a toda la familia.
Si todos los patrones de todas las familias supervivientes rellenan una casilla, esa casilla está forzada. No hace falta escribir miles de disposiciones.
Esta visión por familias es el puente entre el análisis completo de una línea y el razonamiento multilínea por casos.
Cero patrones es un estado de diagnóstico
El análisis de patrones no solo encuentra casillas forzadas. También puede demostrar que el estado actual de una línea es imposible.
Si el filtrado deja cero patrones válidos, al menos una marca confirmada que llega a esa línea es incorrecta o, dentro de una rama temporal, la suposición probada ha generado una contradicción.
La diferencia importa:
- cero patrones en el tablero real → localiza y corrige una marca anterior no demostrada;
- cero patrones dentro de una rama provisional → la rama es imposible y puede rechazarse.
El número de patrones puede caer de golpe
Una deducción procedente de una línea cruzada puede cambiar una única casilla de desconocida a X. Esa marca puede invalidar muchas posibilidades simultáneamente.
Después del filtrado, casillas que antes variaban pueden quedar iguales en todos los patrones y convertirse en nuevos estados forzados. Esos estados afectan a su vez a líneas perpendiculares.
Ese es el puente entre el análisis de patrones y la propagación de restricciones.
Razonamiento paso a paso
- céntrate en una línea sin resolver;
- genera o prueba mentalmente todas las colocaciones compatibles con sus pistas y casillas conocidas;
- descarta cualquier patrón que viole una sola restricción confirmada;
- compara los patrones supervivientes casilla a casilla;
- marca las casillas que coinciden en todos ellos;
- deja sin resolver las que varían;
- propaga los nuevos estados por la cuadrícula.
Errores frecuentes
Conservar patrones que cumplen las pistas pero contradicen casillas conocidas
Un patrón válido debe satisfacer tanto la secuencia de pistas como el estado actual de la línea.
Forzar una casilla porque «la mayoría» de patrones coincide
Los nonogramas son puzles deterministas. Una mayoría no demuestra nada. Todos los patrones válidos deben coincidir.
Tratar dos pistas de la misma longitud como intercambiables
Los patrones preservan el orden y la identidad de los bloques.
Enumerar todo el puzle en vez de una línea
Esta técnica sigue siendo análisis de línea. El razonamiento por casos a escala de cuadrícula pertenece al razonamiento multilínea y a la contradicción.
Qué aprender después
Cuando entiendes los patrones de línea, las técnicas cruzadas se formalizan mejor: un nuevo estado filtra los patrones de la línea perpendicular, ese filtrado puede forzar otra casilla y la cadena continúa.
Preguntas frecuentes
¿Tengo que escribir todos los patrones en papel?
Normalmente no. El concepto es más importante que la lista literal. En segmentos cortos y difíciles puede ser útil anotar unas pocas posibilidades.
¿Una casilla está forzada si 9 de 10 patrones la rellenan?
No. Un solo patrón válido superviviente con el estado contrario basta para mantenerla sin resolver.
¿Puede una línea tener cero patrones válidos?
Sí, pero en un puzle válido correctamente jugado eso indica que el estado marcado o supuesto es inconsistente. Esa idea es central en el razonamiento por contradicción.