Aparentemente, algunas agencias gubernamentales de países como los Estados Unidos o el Reino Unido, les gusta poner enigmas a los programadores y geeks que rondan el mundo. Puede haber varios motivos para ello: tal vez buscan reclutar a aquellos que demuestren ciertas habilidades para este tipo de problemas o bien, buscan «medirle el agua a los camotes», es decir, ver si sus esquemas criptográficos, por ejemplo, son seguros o no.
Este año, en el Reino Unido, la agencias de comunicaciones GCHQ ha mandado su tarjeta «tradicional» de navidad, que incluye un acertijo. Si usted puede resolver este enigma, esto lo llevará a otros acertijos: «Una vez que todas las etapas sean decodificadas, los que lo logren podrán mandar su respuesta al correo electrónico de GCHQ hasta el 31 de enero del 2016. Los ganadores entrarán en una rifa y serán notificados a la brevedad».
La tarjeta, la cual sirve para pedir donativos para los niños del Reino Unido en la fundación caritativa NSPCC, ha sido enviada a la lista definida por el director de GCHQ, pero cualquiera puede acceder a ella vía el sitio web. El problema es interesante y en alguna medida es como la reconstrucción de una tomografía de forma inversa. A este tipo de acertijos se les llama Nonogramas, Hanjie, Picross o Griddlers.
La idea básica es que se tiene una malla en dos dimensiones, con columnas y filas que son una lista de números, que muestran cuantas corridas de cada longitud hay en una fila y columna. Por ejemplo, una fila con 2, 4, 5 seguidos tiene tres corridas, una consistiendo en una de 2, una corrida de 3 y una corrida de 5 de celdas negras. Obviamente una sola columna o fila no especifica donde están las corridas pero si se da la información de todas las filas y columnas se puede ver que hay una sola solución que satisfaga todas las limitaciones impuestas. Si no hay una sola solución, entonces se puede intentar dar una, fijando algunos de los valores iniciales.
Nótese que esto es similar al problema inverso hallado en la tomografía, en donde uno puede medir la absorsción de un rayo, usualmente de rayos-X, en un rango de posiciones por lo que se tiene que trabajar en el arreglo bidimensional de absorción que produce el patrón. Este es el problema navideño:
Antes de empear se puede evaluar el problema manualmente. Ya de entrada pueden hallarse algunos enfoques por demás obvios al problema de programación, pero esto seguro ya quienes han entendido el problema lo saben. Cuando se logra resolver, la imagen es entonces un código QR que lo lleva a la segunda parte, el cual es una secuencia de preguntas de elección múltiple. Así que en estos días de asueto los programadores ya tienen en qué entretenerse.
Referencias: