9.10.05

ponga un sudoku en su vida

Últimamente mire donde mire suele aparecer un sudoku. Antes los estudiantes universitarios resolvían el cruzigrama de la mañana en la media hora anterior a la clase (y los mas avispados intentaban canjearlo por un café al camarero tonto de turno). Ahora se tiran toda una mañana pare resolver un sudoku... y luego no la consideran malgastada.

Algunos igual se preguntan, "¿que es un sudoku?". A estos lectores solo les diré dos cosas.
La primera es que salgan de debajo de las piedras pq tamos literalmente rodeados por sudokus.
La segunda es que se trata de un juego que, aunque lleva inventado desde el 79 ha tenido un auge espectacular este año en todo el mundo (menos en Japón... no por raros, sino pq ya se lo conocían).

La versión más usual de este juego consiste en una matriz cuadrada de 9 x 9 elementos en la que hay unos numeros colocados "al azar"* del 1 al 9.
Esta matriz a su vez está dividida en submatrices de 3x3 elementos. El objetivo del juego es rellenar el resto de casillas de manera que:

1- En cada fila y en cada columna estén todos los números del 1 al 9 sin repetición alguna
2- En cada submatrix de 3x3 estén los numeros de 1 al 9 sin repeticiones.

Por mucho que lo parezca, o lo digan tus amigos o tu te lo creas NO es un juego de números, porque lo mismo da utilizar colores, letras o símbolos: es un juego de lógica... así que es probable que no valgas para esto. Si se usan numeros es por comodidad mas que otra cosa...

Y así como el que no quiere la cosa te engancha. Hay varios tipos mas de sudokus: por ejemplo la editorial Dell y la editorial Nikoli publican regularmente sus sudokus de 16x16 y 25x25 respectivamente. Pero no solo se puede aumentar su complejidad aumentando el tamaño de la matriz.

Uno que se está haciendo famoso aquí en España es el "Samurai", que se trata de 5 matrices de 9x9 conectadas por 4 submatrices de 3x3. Los objetivos, aparte de los 2 de los Sudoku normales, es que además, las filas y columnas largas de 18 elementos tengan 2 veces los numeros del 1 al 9 sin repeticiones. Claramente es mucho más complicado que el normal.

Pero para mi, como futuro informático, veo mas complicado el programar un generador de Sudokus o un "resuelve-sudokus". Corre el rumor de que los Sudokus de la revista 'Dell Number Places' (que por cierto es el nombre que tiene el jueguecito de marras en EEUU) está generado por ordenador, más concretamente que está programado en Visual C++.

Consultando un poco mas, creo que no debería ser demasiado complicado hacer un programa que lo resuelva mediante Backtracking (para los no informáticos, se trata de que resuelve el problema analizando absolutamente todas las soluciones posibles, lo cual es una burrada para un problemilla así. En realidad, aplicar Backtracking suele ser una burrada por si mismo en casi todos los casos...¬¬).
He leido algo de aplicar un tipo de programación que se basa en especificar los limites y propiedades que ha de tener una solución en vez de tenerlos en cuenta a la hora de dar los pasos para alcanzar la solución. Habrá que investigar más...

Pero para que lo haga una persona normal may varios métodos: el escaneo, el marcaje y el análisis son algunos de ellos. Es muy posible que los useis sin daros cuenta.


Pues eso, yo tengo una tía que resuelve Sudokus normales en 10 minutos de reloj, en cambio yo...**
Aunque lo cierto es que la gente se está interesando un poco mas por Japón solo por esta tontería. Aunque de Japonés el juego solo tenga el nombre (
数独, sūdoku) y que es allí donde hizo fama a partir del 86. Ahora muchos programadores (como yo pienso ser), se estan rompiendo la sesera para hacer programas para resolverlos rápidamente.

Lo cierto es que estoy un poco harto de tanto sudoku d estos, pero si ayuda a traer mas manga, cultura japonesa y ceremonia del te, por mi estupendo...

Para saber más, al pozo de conocimiento humano: Wiki
, Wiki-es

Post Scriptum: Y como se ponga de moda el va a ser la caña...
Post Post Scriptum: ¿Cómo reaccionarán los informáticos frente a un desafío tan singular como el ? ¿Y la gente como reaccionará a un juego tan japonés como el ?



----------------
*(Evidentemente no están colocados al azar, si fuera así podríamos tener repeticiones en una linea o burradas de ese estilo. Digamos que nos lo dan a m
edio completar...)
**(La verdad es que nunca he intentado resolver uno :P)