Sudoku Solver: El robot que resuelve Sudokus

0 Flares Twitter 0 Facebook 0 Google+ 0 Pin It Share 0 Email -- 0 Flares ×

Si eres como yo y tienes problemas para resolver Sudokus complejos, hemos de informarte que ya hay un robot capaz de resolver estos problemas en pocos minutos. El hacker sueco, Hans Andersson, quien se hizo popular por crear un robot que resuelve cubos Rubik, logró hacer que un robot escanee una hoja, entienda los números y escriba la respuesta en los casilleros correctos utilizando una bolígrafo común y corriente. Entra para ver el vídeo.

¿Tienes problemas para resolver un Sudoku?, pues tal vez el robot creado por el hacker sueco, Hans Andersson, te pueda ayudar. Así es, alguien ha creado un robot cuya única tarea en este mundo es resolver este pasatiempo japonés, lo cual es muy impresionante, ya que antes de poder hacer algo, primero debe entender los números sobre la hoja. Al parecer, el peuqeño Sudoku Solver no tiene ningún problema.

Su creador, Hans Andersson, no es extraño a crear robots para resolver puzzles, ya que en el pasado ha hecho uno llamado Twister, cuyo trabajo era resolver cubos Rubik. Ahora es el turno de Sudoku Solver, que a pesar de estar hecho con partes de LEGO, no tiene problemas a la hora de cumplir su objetivo. Para quien no sepa, el Sudoku es un pasatiempo popular japonés, que ganó conocimiento en 1986. El objetivo de este juego es llenar una cuadricula de 9 x 9 celdas con cifras del 1 al 9 partiendo de los números que ya están colocados. El problema es que no se pueden repetir números en una misma fila, columna o subcuadrícula.

Como se puede ver en el vídeo, el Sudoku Solver no tiene ningún problema para entender los números en la hoja impresa, resolver el problema y escribir la solución en los casilleros adecuados con tinta. Esto lo hace siguiendo pasos muy precisos. Inicialmente, escanea la hoja para determinar qué celdas en la hoja están vacías. Luego analiza el resto de las casillas y toma los números colocados. El problema es que la imagen puede salir muy borrosa, es por eso que pasa lo analizado a una imagen binaria, en blanco y negro.

El siguiente paso consiste en eliminar los segmentos de la imagen que no contengan números, así es como detecta el segmento central y el resto son descartados. Una vez que ha detectado el recuadro donde esta el problema, la imagen es convertida en lineas de un pixel mediante un algoritmo especial. Finalmente el robot detecta los diferentes números por valores como el ancho del dígito, cantidad de puntas y posición y dirección de las puntas.

Sudoku Solver: El robot que resuelve Sudokus

Una vez que ha detectado los números, el resto es pan comido. La máquina utiliza el algoritmo Backtracking (Vuelta atrás) para resolver el Sudoku y, aunque hoy no tiene ningún problema, su creador admite que tomó mucho trabajo optimizarlo debido a que el nivel de procesamiento es bastante lento. Verdaderamente un excelente trabajo por parte del inventor sueco, utilizando simples técnicas logró crear un robot con un impresionante y original propósito. Ya ha hecho dos grandes creaciones, no podemos esperar por ver qué es lo que sigue. ¿Un robot que juegue al Tetris? Ahora que lo pienso estaría todo el día sentado en el PC y no me dejaría trabajar. Mejor no, no es una buena idea.


Avatar de Tomás Garcia
Autor: Tomás Garcia
  • albondiga

    Eso esta hecho con el kit de lego o tiene algo mas?, en el liceo tenemos uno de esos pero ni idea como se hace para meterle el programa que resuelva sudokus, muy bueno! :D

    • Ricardo

      tu haces el programa lego next, es bastante nuevo, y creo que viene con software de NI LabVIEW, es puro lenguaje gráfico muy fácil, de hecho, y puedes hacer casi cualquier cosa que entre dentro de las limitantes del robot jejeje.es muy pero muy divertido.

  • Pacco

    Podrá se sencillo como comenta Ricardo. pero eso no le quita lo asombro al robot, de echo me recuerda unos ploters antiguos que tenían en la Volcacional donde estudie, era una especie de mano que le ponías una pluma y el ploter comenzaba (literamente) a dibular el plano, se tardaba, si, pero era muy entretenido verlo dibujar, creo que a todos nos despierta cierta simpatía el hecho de que la máquina haga algo similar a lo que nosotros hacemos (como escribir),

  • Dxz55

    Esta loco el robot, siempre quise conseguir un kit así, nunca lo encontré ahora que me acuerdo voy a seguir intentando.

    Se ve muy divertido ahora que haga otro que resuelva crucigramas por que uno que juega ajedrez ya se hiso.

  • Truko

    Increíble, creo que en los estudios de primaria en todos lo países debería ver introducción al programación de forma sencilla y divertida como con ejemplo ese kit de lego, también con lab de computación con GNU lnux, ya que seguro en su casa tiene es un WIN.

  • luix

    Woooow que exelente, me sorprende la presicion con que funciona,
    hay un programa de lego que funciona como simulador 3D de las piezas,
    trae ese set de lego, es menos divertido pero podria ser una opción economica para intentar hacer algo asi.
    En la univercidad hice un programa en ensamblador para resolver sudokus y la verdad que me costo bastante ya que en ese momento no tenia ni idea de como programar en ensamblador ni de que era backtraking, jeje

  • Pepin

    hey se podria hacer un robot para que te resuelva el examen de matematicas!!!! :O

  • Mr X

    ¡¡¡¡Nooooooo!!!! ¡¡Sudokus no!!
    Que malos recuerdos :S
    Precisamente en el primer año de carrera nos mandaron a hacer un resolvedor de sudokus. ¡Y también por el método de backtracking!

    Afortunadamente el vídeo también me recuerda a otra práctica: Hacer un robot muy similar al que se muestra en el post, hecho con legos, pero que juega al conecta 4 (y gana :D). El tablero también se ponía en horizontal.

    ¡Saludos!

  • GACHAG

    Alguien sabe cuánto tiempo se demoró en terminar el proyecto???

  • HCorte

    Cada día que pasa me sorprendo más de los proyectos que se llegan a hacer con LEGO. Si quereis ver más cosas curiosas hechas con LEGO visitad mi blog sobre LEGO http://www.bricksky.blogspot.com/

  • Harold

    nesesito una cosa