Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » En Comunidad » Proyectos » Algoritmo para SudoKus Responder al tema
Nuevo tema


Página 1 de 1  [ 8 mensajes ] 
 
Nota Sab Ene 09, 2010 11:47 am
Avatar de Usuario
Administrador
Registrado: Dom Jul 24, 2005 6:12 pm
Ubicación: Valladolid, España
Mensajes: 9492
Algoritmo para SudoKus
Buenas... necesito ayuda.

Necesito encontrar un algoritmo o fuente de programación que genere Sudokus de tamaño 16x16, con la máxima dificultad o menor número de pistas, y, -lo más complicado-, que se garantice que la solución sea única.

Es un asunto bastante complicado, y no he encontrado soluciones...

_________________
JF^D Perl programming


Nota Sab Ene 09, 2010 3:07 pm
Avatar de Usuario
Creador de Perl en Español
Registrado: Mié Oct 15, 2003 4:52 pm
Ubicación: México
Mensajes: 1163
Re: Algoritmo para SudoKus
Hola Joaquín,

Interesante tema. ¿Le has echado un vistazo al proyecto de GNOME Sudoku?
http://sourceforge.net/projects/gnome-sudoku/

Por ahí alguien hizo un script que lo usa pero hace el output a PDF:
http://www.opensky.ca/~jdhildeb/software/sudokugen/

Acabo de encontrar otro:
http://sourceforge.net/projects/sudoku-perl/

No sé por donde has andado así que te voy poniendo lo que voy encontrando ;)

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota Sab Ene 09, 2010 5:36 pm
Avatar de Usuario
Vive para Perl en Español
Registrado: Jue Feb 23, 2006 4:17 pm
Ubicación: Frente al monitor
Mensajes: 591
Re: Algoritmo para SudoKus
Supongo que necesitas dos algoritmos, el primero para resolverlo y el segundo sólo tienes que colocar números aleatoriamente :wink:

_________________
Expect the worst, is it the least you can do?


Nota Sab Ene 09, 2010 6:27 pm
Avatar de Usuario
Administrador
Registrado: Dom Jul 24, 2005 6:12 pm
Ubicación: Valladolid, España
Mensajes: 9492
Re: Algoritmo para SudoKus
No, creating021, necesito generarlos.

De hecho, he visto que la generación de Sudokus, en su estado más complicado, requiere de la resolución a cada paso de la generación, para comprobar que la solución es única. Por ello, hacer un Sudoku de nivel muy alto, puede llevar mucho tiempo de cálculo. Y más si es de 16x16.

Para mi, lo primordial es saber que se genera una solución única.

_________________
JF^D Perl programming


Nota Sab Ene 09, 2010 9:05 pm
Avatar de Usuario
Vive para Perl en Español
Registrado: Jue Feb 23, 2006 4:17 pm
Ubicación: Frente al monitor
Mensajes: 591
Re: Algoritmo para SudoKus
Ese era el punto :lol: (tengo que trabajar en mis respuestas).

Puede que no sea la mejor solución pero lo que puedes hacer es generar miles de sudokus que tengan las características de ser difícil (esto definido por reglas básicas, como el número de números usados en una fila), lo guardas en una base de datos y compruebas con uno de esos algoritmos de Wikipedia. Si el sudoku tiene más de una respuesta... lo borras.

Hmmm... aunque en el último enlace que Uriel pone dice:
Citar:
Sudoku player that offers a board, assistance and finding more than 1 solution using a (text based) ANSI screen.Added is also a sudoku generator, producing the single solution sudoku type

¡Y está hecho en Perl!

_________________
Expect the worst, is it the least you can do?


Nota Sab Ene 09, 2010 9:18 pm
Avatar de Usuario
Administrador
Registrado: Dom Jul 24, 2005 6:12 pm
Ubicación: Valladolid, España
Mensajes: 9492
Re: Algoritmo para SudoKus
Sí, ya he visto los enlaces de Uriel. El de Perl no me vale porque está ajustado a un tamaño de 9x9.

Si no veo nada en tamaños de 16x16, entonces buscaré en tamaños de 4x4.

He encontrado algo interesante: http://www.a-kat.com/Sudoku.xhtml

Mirando su código veo que sí, que utiliza la técnica de jugar cada posición, para comprobar que la solución es única.

_________________
JF^D Perl programming


Nota Lun Ene 11, 2010 1:54 pm
Avatar de Usuario
Administrador
Registrado: Dom Jul 24, 2005 6:12 pm
Ubicación: Valladolid, España
Mensajes: 9492
Re: Algoritmo para SudoKus
Los dos módulos Perl que he encontrado que son capaces de generar Sudokus de varios tamaños son: Games::Sudoku::Component y Games::Sudoku::General. Veremos a ver...

_________________
JF^D Perl programming


Nota Lun Ene 11, 2010 6:04 pm
Avatar de Usuario
Creador de Perl en Español
Registrado: Mié Oct 15, 2003 4:52 pm
Ubicación: México
Mensajes: 1163
Re: Algoritmo para SudoKus
Interesantes los módulos, por la documentación me parece que el segundo podría estar más cercano, pero sería cuestión de probar.

A ver que tal salen tus pruebas... ;)

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Responder al tema  [ 8 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO