Comunidad de diseño web y desarrollo en internet online

Algoritmo del Sudoku

Citar            
MensajeEscrito el 25 Sep 2006 06:21 pm
Hola.

Tengo que programar un sudoku empleando flash para un website. El caso es que debería generar juegos infinitos (generando partidas aleatorias, según dificultad), pero ahora mismo no se me ocurre ninguna manera que no sea utilizando la "fuerza bruta" hasta encontrar un tablero jugable (con el tiempo de carga que ello supondría).

Así que... si teneis idea de cual sería la mejor manera de programarlo, sería de agradecer que lo comentarais.

Un saludo ^^

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 26 Sep 2006 10:19 am
Yo lo tenía que hacer en visual .net para un curso y, luego de mirar (no demasiado porque solo queria quitarme el currillo de encima ¬¬ ¬¬) decidí que hacia una base de datos con sudokus y bueno, da el pego bastante bien si tienes unos 20 o 25 añadidos... la verdad nunca más busqué el algoritmo, si encuentras uno me avisas :lol: :lol:

Por Yranac

421 de clabLevel



Genero:Masculino  

Lugo, Galicia

firefox
Citar            
MensajeEscrito el 26 Sep 2006 04:07 pm
fuerza bruta

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 26 Sep 2006 05:20 pm

_CONEJO escribió:

fuerza bruta


que específico :roll:

Seguro que con fuerza bruta, con eso solucionás todos los problemas de tu vida.

Por el_itur

142 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 26 Sep 2006 05:33 pm
Interesante tema...

_CONEJO escribió:

fuerza bruta

¿Y así cómo consigues que se haga según niveles de dificultad, ya que no sólo influye el número de casillas mostradas?

el_itur, la fuerza bruta es un concepto que existe en computación, y sin el cuál habría cierta cantidad de problemas (infinitos) que serían irresolubles.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 26 Sep 2006 05:37 pm

el_itur escribió:

_CONEJO escribió:

fuerza bruta


que específico :roll:

Seguro que con fuerza bruta con eso solucionás todos los problemas de tu vida.


No siempre, a veces con amenazarles sirve.


Para generar un sudoku tienes dos caminos :
A.- Fuerza bruta + backtraking
B.- Simetría

Opción A :
Tenemos un grib 9x9 solucionado, vamos quitando elementos y comprobando si la solución es única o no (oye, lo puedes dejar con solución múltiple!) El resultado es un sudoku que se puede hacer, aunque puede que no sea muy fácil

Opción B :
Usando simetría, el problema es que el sudoku resultante suele ser muy sencillo de resolver.

Según la Wikipedia escribió:


Construction

Building a Sudoku puzzle can be performed by pre-determining the locations of the givens and assigning them values only as needed to make deductive progress. This technique gives the constructor greater control over the flow of puzzle solving, leading the solver along the same path the compiler used in building the puzzle. Great caution is required, however, as failing to recognize where a number can be logically deduced at any point in construction—regardless of how tortuous that logic may be—can result in an unsolvable puzzle when defining a future given contradicts what has already been built. Building a Sudoku with symmetrical givens is a simple matter of placing the undefined givens in a symmetrical pattern to begin with.

Nikoli Sudoku are hand-constructed, with the author being credited; the givens are always found in a symmetrical pattern.[2] Dell Number Place Challenger (see Variants below) puzzles also list authors. The Sudoku puzzles printed in most UK newspapers are apparently computer-generated but employ symmetrical givens; The Guardian famously claimed that because they were hand-constructed, their puzzles would contain "imperceptible witticisms" that would be very unlikely in computer-generated Sudoku.


En resumen, en la mayoría de periódicos suelen utilizar ordenadores, en las revistas especializadas los hacen a mano. Flash no suele tener la potencia para manejar muchos cálculos y podría colgarse con un backtraking.

Mi consejo, usa una base de datos de sudoku's (lo hace la nintendo DS!)

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 27 Sep 2006 12:57 am

zah escribió:


el_itur, la fuerza bruta es un concepto que existe en computación, y sin el cuál habría cierta cantidad de problemas (infinitos) que serían irresolubles.


Sii, y para saber las pass de las páginas de pr0n. :lol: :lol: :lol: :lol: .

Sé lo que es fuerza bruta estaba siendo irónico.

Conejo: Me haz dejado pazmado de nuevo :lol: .

[Sheer]: como vas con el desarrollo, posteá alguito como para ir viendo. Es un caso de uso muy interesante.

Por el_itur

142 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 27 Sep 2006 04:23 am
Todavía no he empezado a picar código; aunque he visto un par de documentos muy interesantes que intentaré aplicar utilizando actionscript.

Sudoku backtracking

y

[url=http://es.wikipedia.org/wiki/Sudoku_ramificación_y_poda]Sudoku ramificación y poda[/url]


Cuando haya sacado alguna conclusión ya comentaré los resultados.

Un saludo ^^

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 27 Sep 2006 05:09 pm
Solucionado, pasar a la siguiente respuesta :wink:

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  



Ultima edición por [Sheer] el 28 Sep 2006 04:17 am, editado 1 vez

Barcelona

opera
Citar            
MensajeEscrito el 28 Sep 2006 02:29 am
Edit:

Por fin!

Ya he conseguido terminar el código para resolver sudokus (me ha robado toda la noche), empleando backtracking y guiándome con el documento anterior.

Mañana haré una clase para tenerlo algo más organizado y la subo.

Un saludo ^^

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  



Ultima edición por [Sheer] el 28 Sep 2006 04:43 am, editado 3 veces

Barcelona

opera
Citar            
MensajeEscrito el 28 Sep 2006 04:38 am
Es algo así como el juego del ahorcado pero con matriz, eso creo. :lol:

Por Rafeo

650 de clabLevel

3 tutoriales
1 articulo

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Sep 2006 11:41 pm
He posteado el resultado en Aportes, exactamente aquí, por si a alguien le interesa.

Un saludo ^^

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.