domingo, mayo 28, 2006

LA LOCURA DEL SUDOKU, HAY LAS PUSE TECNICAS Y HISTORIA

Sudoku

(en japonés: 数独, sūdoku) es un rompecabezas matemático de colocación que se popularizó en Japón en 1986 y se dio a conocer en el ámbito internacional en 2005. El objetivo es rellenar una cuadrícula de 9×9 celdas (81 casillas) dividida en subcuadrículas de 3×3 (también llamadas "cajas" o "regiones") con las cifras del 1 al 9 partiendo de algunos números ya dispuestos en algunas de las celdas. No se debe repetir ninguna cifra en una misma fila, columna o subcuadrícula. Un sudoku está bien planteado si la solución es única. La resolución del problema requiere paciencia y ciertas dotes lógicas.

Ejemplo de sudoku.
Aumentar
Ejemplo de sudoku.

En realidad, no es estrictamente necesario utilizar números, sino que se pueden utilizar letras, formas o colores sin alterar las reglas, pero se utilizan números por comodidad. La cuadrícula más común es de 9x9 con regiones de 3×3, pero también se utilizan otros tamaños. Además, las regiones no tienen por qué ser cuadradas, aunque generalmente lo son.

Historia

Este rompecabezas numérico puede haberse originado en Nueva York en 1979. Entonces, la empresa Dell Magazines publicó este juego, ideado por Howard Garns, bajo el nombre de Number Place (el lugar de los números).

Es muy probable que el Sudoku se crease a partir de los trabajos de Leonhard Euler, famoso matemático suizo del siglo XVIII. Dicho matemático no creó el juego en sí, sino que utilizó el sistema llamado del cuadrado latino para realizar cálculos de probabilidades.

Posteriormente, la editorial Nikoli lo exportó a Japón, publicándolo en el periódico Monthly Nikolist en abril de 1984 bajo el título "Sūji wa dokushin ni kagiru" (数字は独身に限る), que se puede traducir como "los números deben estar solos" (独身 significa literalmente "célibe, soltero"). Fue Kaji Maki (鍜治 真起), presidente de Nikoli, quien le puso el nombre. Posteriormente, el nombre se abrevió a Sūdoku (数独; sū = número, doku = solo); ya que es práctica común en japonés tomar el primer kanji de palabras compuestas para abreviarlas.

En 1986, Nikoli introdujo dos innovaciones que garantizarían la popularidad del rompecabezas: el número de cifras que venían dadas estaría restringida a un máximo de 30 y sería "simétrico" (es decir, las celdas con cifras dadas estarían dispuestas de forma rotacionalmente simétrica). Esto no siempre se cumple en los sudokus actuales. En 1997 Wayne Gould preparó algunos sudokus para el diario The Times, que los publicó bastante más tarde, en diciembre de 2004. Tres días después, The Daily Mail publicó sus sudokus con el nombre codenumber. En 2005 muchos otros periódicos de todo el mundo empezaron a incluir sudokus a diario en sus páginas.

En el año 2005, la ICPC (International College Programming Contest) incluyó entre sus 9 problemas el Sudoku.


¿Por qué es tan adictivo?

La escritora Carol Vorderman, en su libro Carol Vorderman's How To Do Sudoku explica por qué ella y muchas otras personas disfrutan resolviendo Sudokus.

Simplicidad de las reglas del juego
Esto lo hace fácil para los principiantes. Por ejemplo, el Sudoku no necesita aritmética mental, por lo que uno no tiene por qué ser bueno en matemáticas para lograr ser bueno resolviendo Sudokus.
La satisfacción de completar un rompecabezas
Los rompecabezas Sudoku son compulsivos, desafiantes y absorbentes.
Rápida mejora de las habilidades
Completando unos pocos rompezabezas de principiantes, uno puede mejorar sus habilidades resolviendo Sudokus, y resolver más tarde rompecabezas más complejos.
Fácil de guardar y continuar
Se puede empezar un rompecabezas un día y continuarlo y acabarlo cualquier otro día.
Fácil de llevar consigo
Se puede recortar un Sudoku de un periódico y afrontarlo en cualquier momento.

Reglas y terminología

El Sudoku se presenta normalmente como una tabla de 9×9, compuesta por subtablas de 3×3 denominadas "regiones" (también se le llaman "cajas", o "bloques"). Algunas celdas ya contienen números, conocidos como "números dados" (o a veces "pistas"): El objetivo es rellenar las celdas vacías, con un número en cada una de ellas, de tal forma que cada columna, fila y región contenga los números 1–9 sólo una vez. Además, cada número de la solución aparece sólo una vez en cada una de las tres "direcciones", de ahí el "los números deben estar solos" que evoca el nombre del juego.


Métodos de resolución

La región 3x3 de la esquina superior izquierda debe contener un 7. Rastreando a lo largo y ancho los sietes localizados en cualquier lugar de la rejilla, el jugador puede eliminar todas las celdas vacías de la esquina superior izquierda que no pueden contener un 7. Esto deja sólo una celda posible (remarcada en verde).
Aumentar
La región 3x3 de la esquina superior izquierda debe contener un 7. Rastreando a lo largo y ancho los sietes localizados en cualquier lugar de la rejilla, el jugador puede eliminar todas las celdas vacías de la esquina superior izquierda que no pueden contener un 7. Esto deja sólo una celda posible (remarcada en verde).

La estrategia para resolver este rompecabezas se puede considerar como la combinación de tres procesos: escaneo, marcado y análisis.

Escaneo

El escaneo se realiza desde el principio y periódicamente, durante toda la resolución. El escaneo puede tener que ser ejecutado varias veces entre periodos de análisis. El escaneo consta de dos técnicas básicas: trama cruzada y recuento, que pueden usarse alternativamente.

  • Trama cruzada, se trata del escaneo de filas (o columnas) para identificar qué línea en una región particular puede contener un número determinado mediante un proceso de eliminación. Este proceso se repite entonces con las columnas (o filas). Para obtener resultados más rápidos, los números son escaneados de forma ordenada, según su frecuencia de aparición. Es importante realizar este proceso sistemáticamente, comprobando todos los dígitos del 1 al 9.
  • Recuento 1-9 por regiones, filas y columnas para identificar números perdidos. El recuento basado en el último número descubierto puede aumentar la velocidad de la búsqueda. También puede ser el caso (es típico en los más difíciles) que el valor de una celda individual pueda ser determinado mediante un recuento inverso, esto es, escaneando su región, fila o columna para valores que no pueden ser, para ver cuál es el que falta.

Los resolutores avanzados buscan "contingencias" mientras escanean, esto es, acotan la ubicación de un número en una fila, columna o región o dos o tres celdas. Cuando esas celdas descansan todas en la misma fila (o columna) y región, pueden usarse con un propósito de eliminación durante la trama cruzada y el recuento (Ejemplos de contingencias en Puzzle Japan). Puzzles particularmente desafiantes pueden requerir el reconocimiento de múltiples contingencias, quizás en múltiples direcciones o incluso intersecciones - relegando la mayoría de los resolutores al marcado (como se describe más abajo). Los Sudokus que pueden ser resueltos sólo mediante escaneo, sin requerir la detección de contingencias se clasifican como "fáciles"; otros más difíciles, por definición, no pueden resolverse únicamente mediante escaneo.

Marcado

El escaneo viene a interrumpirse cuando no pueden descubrirse nuevos números. En este punto es necesario centrarse en algún análisis lógico. La mayoría encuentra útil guiar este análisis mediante el marcado de números candidatos en las celdas vacías. Hay dos notaciones populares: subíndices y puntos. En la notación de subíndice, los números candidatos se escriben en pequeño en las celdas. La desventaja es que los puzles originales se publican en periódicos que habitualmente no dejan demasiado espacio para acomodar más que unos pocos dígitos. Si se usa esta notación, los resolutores crean, a menudo, una copia más grande del puzle y emplean un lápiz afilado. La segunda notación es un patrón de puntos con un punto en la esquina superior izquierda representando un 1 y un punto en la esquina inferior derecha representando un 9. Esta notación tiene como ventaja que puede usarse en el puzle original. Se requiere destreza para el emplazamiento de los puntos, porque la existencia de puntos desplazados o marcas inadvertidas lleva, inevitablemente, a confusión y no son fáciles de borrar sin añadir más confusión.


Análisis

Hay dos aproximaciones principales - eliminación y "y-si".

  • En eliminación, el progreso se realiza mediante la sucesiva eliminación de números candidatos para una o más celdas, hasta dejar sólo una elección. Después de lograr cada respuesta, debe realizarse un nuevo escaneo (habitualmente comprobando el efecto del último número). Hay una serie de tácticas de eliminación. Una de las más comunes es el "borrado del candidato no coincidente". Las celdas con idéntica configuración de números candidatos se dice que coinciden si la cantidad de números candidatos en cada una es igual al número de celdas que los contienen. Por ejemplo, se dice que celdas coinciden con una particular fila, columna o región si dos celdas contienen el mismo par de números candidatos (p, q) y no otros, o si tres celdas contienen el mismo triplete de números candidatos (p, q, r) y no otros. Estas son, esencialmente, contingencias coincidentes. Estos números (p, q, r) que aparecen como candidatos en cualquier lugar en la misma fila, columna o región en celdas no coincidentes, pueden ser borrados.
  • En la aproximación "y-si", se selecciona una celda con sólo dos números candidatos y se realiza una conjetura. Las etapas de arriba se repiten a menos que se encuentre una duplicación, en cuyo caso el candidato alternativo es la solución. En términos lógicos este método se conoce como reducción al absurdo. Nishio es una forma limitada de esta aproximación: para cada candidato para una celda, la cuestión que se plantea: ¿entrará un número particular de una configuración en otro emplazamiento? Si la respuesta es sí, entonces ese candidato puede ser eliminado. La aproximación "y-si" requiere un lápiz y una goma. Esta aproximación puede ser desaprobada por puristas lógicos por demasiado ensayo y error pero puede llegar a soluciones clara y rápidamente.

Idealmente, se necesita encontrar una combinación de técnicas que eviten alguno de los inconvenientes de los elementos de arriba. El recuento de regiones, filas y columnas puede resultar aburrido. Escribir números candidatos en celdas vacías puede consumir demasiado tiempo. La aproximación "y-si" puede ser confusa a menos que seas bien organizado. El quid de la cuestión es encontrar una técnica que minimice el recuento, el marcado y el borrado.


Resolución por ordenador

Para los programadores es relativamente sencillo construir una búsqueda por el método de backtracking o "vuelta atrás". Ésta asignaría, típicamente, un valor (supongamos que 1, o el más cercano a 1 disponible) a la primera celda disponible (supongamos que la superior izquierda) y entonces continuar asignando el siguiente valor disponible (supongamos que 2) a la siguiente celda disponible. Esto continuaría hasta que se descubriera una duplicación, en cuyo caso, el siguiente valor alternativo se colocaría en el primer campo alterado. En el caso de que ningún valor cumpliera la restricción se retrocedería hasta la casilla anterior y se probarían los siguientes números.

Aunque lejos de la eficiencia computacional, este método encontrará la solución si se permite el suficiente tiempo de computación. Un programa más eficiente podría dejar una huella de valores potenciales para las celdas, eliminando valores imposibles hasta que sólo un valor quedase para una celda determinada. Entonces se rellenaría esa celda y se usaría esa información para más eliminaciones y así, sucesivamente hasta el final. Esto emularía más exactamente lo que un resolutor humano haría sin el método de ensayo y error.

Codificar la búsqueda para imposibilidades basadas en contingencias e incluso múltiples contingencias (como sería requerido para los Sudoku más difíciles) es bastante complejo de construir a mano. De cualquier modo, tales complicaciones son innecesarias si todo lo que el programador desea hacer es encontrar una solución eficientemente. Una forma más eficiente de construir soluciones involucra herramientas de programación más avanzadas.

Algunos programas así construidos, que emulan la resolución humana, permiten estimar la dificultad que tendrá un humano para encontrar la solución.

Variantes

Un Sudoku nonomino
Aumentar
Un Sudoku nonomino

Aunque los Sudokus de 9×9 con regiones de 3×3 son, por mucho, los más comunes, abundan numerosas variaciones. Por ejemplo, hay Sudokus de tablas de 4×4 con regiones de 2×2; se han publicado bajo el nombre de Logi-5 tablas de 5×5 con regiones pentomino; el World Puzzle Championship ha realizado previamente una tabla de 6×6 con regiones de 2×3 y una tabla de 7×7 con seis regiones heptomino y una región disjunta; Daily SuDoku ofrece Sudokus de 4×4, 6×6, y 9×9 sencillos cada día bajo el nombre de Daily SuDoku for Kids [1]. Incluso el Sudoku de 9×9 no es siempre estándar, y Ebb publica regularmente algunos de ellos con regiones nonomino; los U.S. Puzzle Championship de 2005 tenían un Sudoku con regiones de paralelogramos dispuestas alrededor del borde externo del rompecabezas, como si la tabla fuese toroidal. También se pueden realizar Sudokus más grandes, como el Monster SuDoku de 12×12 de Daily SuDoku [2], los Number Place Challenger de 16×16 que publica Dell regularmente y el desafiante Sudoku el Gigante behemoths de Nikoli de 25×25.

Otra variante común consiste en establecer restricciones adicionales para forzar la posición de los números más allá de los habituales requisitos en cuanto a fila, columna y región. A menudo, las restricciones toman la forma de una "dimensión" extra; la más común es que se cumpla el requisito de que los números de las diagonales principales también sean únicos. Los mencionados Sudokus Number Place Challenger forman parte de esta variante, así como lo son los Sudoku XDaily Mail, que utiliza rejillas de 6×6. El Daily Mail también publica el Super Sudoku X en su revista Weekend: una rejilla de 8×8 en la que las filas, columnas, diagonales principales, bloques de 2×4 y bloques de 4×2 contienen cada número una sola vez. Otra variante consiste en emplear dígitos con la misma posición relativa dentro de sus respectivas regiones; dichos rompecabezas se imprimen a menudo en color, de forma que cada grupo disjunto comparte un color para mayor claridad. del

Otras clases de restricciones extra pueden ser matemáticas, como requerir que los números en segmentos delineados de la rejilla tengan sumas específicas o productos (un ejemplo de lo anterior sería el Killer Su Doku en The Times). También son frecuentes los rompecabezas construidos a partir de múltiples Sudokus. Las rejillas de 9×9 que se superponen en las regiones de las esquinas en forma de un quincuncio son concidas en Japón como Sudoku Gattai 5 (mezcla de cinco), pero también reciben el nombre de Super Sudoku. En The Times y The Sydney Morning Herald a este tipo de Sudokus les llaman Samurai SuDoku (Sudoku Samurái en español). Sudokus con 20 ó más regiones que se superponen son comunes en algunas publicaciones japonesas. A menudo, no se ofrecen números dados en las regiones solapadas. También se publican rejillas secuenciales, en contraposición a las solapadas, con valores en lugares específicos en las rejillas que necesitan ser transferidos a otras.

También han emergido variaciones alfabéticas, que utilizan letras en lugar de números. Por supuesto, no hay diferencia funcional en el rompecabezas salvo que las letras deletreen algo. Las variantes recientes inciden en esto, a menudo haciendo que aparezca una palabra en una de las diagonales principales una vez solucionado el Sudoku; la determinación de la palabra se puede ver como una ayuda por adelantado para llegar a la solución. El Code Doku [3] ideado por Steve Schaefer tiene una oración entera encajada en el rompecabezas; el Super Wordoku [4] de Top Notch representa dos palabras de 9 letras, una en cada diagonal. Es discutible si éstos son verdaderos Sudokus: aunque presumiblemente tienen una sola solución válida lingüísticamente, no tienen por qué tener que ser solucionados basándose únicamente en la lógica, necesitando que el que lo resuelva determine cuáles son las palabras incrustadas. Top Notch alega que ésta es una característica que se diseñó para derrotar a los programas de resolución de Sudokus.

A continuación, algunas de las variaciones únicas más importantes:

  • Un Sudoku tridimensional fue inventado por Dion Church y publicado en el Daily Telegraph en mayo de 2005.
  • El U.S. Puzzle Championship de 2005 incluye una variante denominada Digital Number Place: en lugar de números dados, la mayoría de las celdas contienen un número parcial—un segmento de un número, con los números escritos como si formaran parte de un display de siete segmentos.
  • Wei-Hwa Huang creó un meta-Sudoku, donde el objetivo es acabar dibujando los bordes de una región pentomino de una rejilla de 5×5 para dejar un rompecabezas único resoluble con regiones sin una forma idéntica.
FUENTE:
http://es.wikipedia.org/wiki/Sudoku

1 comentario:

Pedro Font dijo...

Desarrollé un algoritmo que genera y resuelve sudokus, y me gustaría presentársela a Uds.
https://pfont.eu/gadgets/sudokus.html