Sudoku, concursos y software

SudokuEl Sudoku está de moda. Tanto El Mundo como El País publican a diario un sudoku, siendo el primero el pionero en España y el que más ha apostado por su difusión con artículos diarios en el que diversas personalidades cantaban las alabanzas de este juego. Además ha comenzado un concurso para los lectores de su edición de papel.

Para el que no lo conozca, el sudoku es un juego que consiste en rellenar un tablero de 9×9 con cifras del 0 1 al 9 sin que ninguna se repita en una fila o columna. Para dificultar el juego, el tablero ya viene con algunas casillas rellenas.

La verdad es que es muy entretenido, todo un juego de agilidad mental, con buenas críticas en la blogosfera incluidas, pero uno no puede evitar verlo desde la deformada perspectiva de un informático.

Y cualquiera que haya cursado una asignatura de Análisis y Diseño de Algoritmos o similar detectará que el sudoku es (perdón por el rollo técnico) un típico problema a resolver mediante la técnica del «backtracking» o «vuelta atrás». En un par de horas no es difícil diseñar un programa que resuelva mediante el uso de la recursividad que irá profundizando en el espacio de soluciones. Muy similar al problema de las «nueve reinas». (fin del rollo técnico).

Por supuesto, si uno no es informático ya tiene a su disposición multitud de soluciones software ya implementadas que resuelven sudokus, como por ejemplo este de Sadman con versión de prueba. Interesante por si algún sudoku se te atraganta y quieres saber cúal es la solución. Aunque claro, usarlo no sería jugar limpio en el concurso ¿verdad?.

Actualización: ya tenemos Sudoku para Palm y PSP.

26 comentarios en “Sudoku, concursos y software

  1. hola que tal yo he programado resolucion del sudoku en MATLAB 7.0 utlizando backtraking sin habe estudiado nada de eso ya que solo me di una idea de lo que debe pasar cunado se tranquea tu progreso de solucion tienes que regresar y rehacer tu desarrollo buscando siempre la mejor solucion bueno yo resolvi el sudoku me ha resuelto todos los sudokus que le he ingresado

    2007/7/12, ego sun quim sun trial <@gmail.com>:
    yoshhhh

    % a=[0 0 7 0 4 0 3 5 6;
    % 4 3 8 2 0 0 0 0 7;
    % 9 0 5 1 0 0 0 4 8;
    % 8 7 9 5 2 0 0 3 0;
    % 0 4 2 0 0 0 8 0 5;
    % 6 0 0 0 7 3 0 2 9;
    % 0 0 3 7 0 9 5 6 4;
    % 0 9 4 3 0 6 0 8 0;
    % 5 0 0 0 8 2 7 0 0]
    % 1 2 7 9 4 8 3 5 6
    % 4 3 8 2 6 5 9 1 7
    % 9 6 5 1 3 7 2 4 8
    % 8 7 9 5 2 4 6 3 1
    % 3 4 2 6 9 1 8 7 5
    % 6 5 1 8 7 3 4 2 9
    % 2 8 3 7 1 9 5 6 4
    % 7 9 4 3 5 6 1 8 2
    % 5 1 6 4 8 2 7 9 3
    aunque esta en matlab el algoritmo y la idea es la misma bueno quisiera que alguien interesado me respondiera tal ves para cooperar en seguir desarrollando el programa ya que estoy pensando traducir al dev C++ y a java

  2. Hola a todos,

    Alguien ha tratado de plantear la solución del Sudokus mediante las 54 ecuaciones que es posible plantear?
    Las variables son 81, luego los grados de libertad son 27. Esto significa, que si al menos asignamos 27 números en toda la cuadrícula, hay una solución inmediata. Por el contrario, si se asignan menos números al inicio, lo que es el común, el problema se reduce a una optimización no lineal restricta.
    Si alguien lo ha intentadom que por favor postee.

    Rodolfo.

  3. Hola a todos, estoy haciendo un proyecto sobre el sudoku y me encuentro atrancado en la fase de implementacion (en Java), enla parte de resolver el sudoku mediante Backtracking, seleccionando primero las casillas con menos opciones (ya que creo que asi será más eficiente)..agradeceria mucho si alguien contestara diciendome algun sitio web donde pueda ver ejemplos, o algo que me sirva para continuar, ya que nose como hacerlo…tengo la idea teorica clara pero a la hora de implementar pero atranco…espero vuestra respuesta, GRACIAS A TODOS…(aqui en el foro omi mail es:superpepe55@yahoo.es)

Los comentarios están cerrados.