Problema de las 8 Reinas Algoritmos Computacionales      Esteban González http://esteban-gzz.blogspot.             com/
Problema de las 8 Reinas  El problema de las ocho reinas se trata de un acertijo en el que se colocan ocho reinas sin que ...
Planteamiento      Las reinas en el ajedrez se pueden atacar    horizontalmente, verticalmente y en diagonal.  Se busca en...
Planteamiento Algoritmo: - Colocar la reina n en la primera casilla válida de la fila n - Si una reina no puede llegar a c...
Problema de las n Reinas El problema de las ocho Reinas es generalizado por el              problema de las n Reinas. El p...
AlgoritmoEsta es la función recursiva para encontrar el orden paraacomodar a las Reinas. Vemos que cuando se llama a simis...
Algoritmo Del código anterior tenemos una condición antes de la llamada recursiva que es "comprobar". Lo que hace esverifi...
Ejemplo   En el ejemplo de corrida cuando colocamos comoargumento el valor de 8, que es tomado como el numero     de reina...
EjemploAsí quedaría nuestro tablero para el caso clásico de las 8                         reinas.Comprobamos visualmente q...
Existe forma iterativa La recursión puede evitarse si pensamos en la estrategiade backtracking como una búsqueda en profun...
Bibliografíahttp://en.wikipedia.org/wiki/Eight_queens_puzzlehttp://www.slideshare.net/mejiaff/vuelta-atrashttp://es.wikipe...
Próxima SlideShare
Cargando en…5
×

Problema de las 8 reinas

19.520 visualizaciones

Publicado el

Presentación para la tarea tres de la clase de Algoritmos Computacionales.

Publicado en: Educación, Viajes, Tecnología
3 comentarios
11 recomendaciones
Estadísticas
Notas
Sin descargas
Visualizaciones
Visualizaciones totales
19.520
En SlideShare
0
De insertados
0
Número de insertados
2.243
Acciones
Compartido
0
Descargas
0
Comentarios
3
Recomendaciones
11
Insertados 0
No insertados

No hay notas en la diapositiva.

Problema de las 8 reinas

  1. 1. Problema de las 8 Reinas Algoritmos Computacionales Esteban González http://esteban-gzz.blogspot. com/
  2. 2. Problema de las 8 Reinas El problema de las ocho reinas se trata de un acertijo en el que se colocan ocho reinas sin que se amenacen. Fue propuesto por el ajedrecista alemán Max Bezzel en 1848. En el juego de ajedrez la reina amenaza a aquellas fichas que se encuentren en su misma fila, columna o diagonal. Las 8 reinas consiste en colocar sobre un tablero de ajedrez ocho reinas sin que estas se den jaques entre ellas.
  3. 3. Planteamiento Las reinas en el ajedrez se pueden atacar horizontalmente, verticalmente y en diagonal. Se busca encontrar el acomodo de 8 reinas en un tablero de 8 por 8, donde ninguna reina de jaque a otra.
  4. 4. Planteamiento Algoritmo: - Colocar la reina n en la primera casilla válida de la fila n - Si una reina no puede llegar a colocarse en ninguna casilla, se vuelve atrás y se cambia la posición de la reina n-1 - Intentar colocar las reinas restantes en las filas que quedan
  5. 5. Problema de las n Reinas El problema de las ocho Reinas es generalizado por el problema de las n Reinas. El problema consiste en colocar n Reinas en un tablero de ajedrez de de tal manera que ninguna de las Reinas quede atacando a otra. El tamaño del tablero de ajedrez para este problema es de tamaño n*n. Existe un algoritmo que resuelve este problema generalizado usando la recursión.
  6. 6. AlgoritmoEsta es la función recursiva para encontrar el orden paraacomodar a las Reinas. Vemos que cuando se llama a simisma se tiene que incrementar el número de la fila en 1.
  7. 7. Algoritmo Del código anterior tenemos una condición antes de la llamada recursiva que es "comprobar". Lo que hace esverificar si ya hay alguna colocada en la fila, la columna y su diagonal.
  8. 8. Ejemplo En el ejemplo de corrida cuando colocamos comoargumento el valor de 8, que es tomado como el numero de reinas, nos imprime como queda la tabla.
  9. 9. EjemploAsí quedaría nuestro tablero para el caso clásico de las 8 reinas.Comprobamos visualmente que ninguna da jaque a otra.
  10. 10. Existe forma iterativa La recursión puede evitarse si pensamos en la estrategiade backtracking como una búsqueda en profundidad en unárbol implícito en el que cada nodo interno es un arreglo A con una asignación parcial de valores para k variables. El parámetro k es el nivel de cada nodo y los nodos hojaconsisten en asignaciones completas de variables para A, esto es k = n = length[A].Una búsqueda iterativa puede hacerse bajando a través de los nodos siempre que sean prometedores, si nostopamos con uno que no sea prometedor subimos de nivel restando uno a k.
  11. 11. Bibliografíahttp://en.wikipedia.org/wiki/Eight_queens_puzzlehttp://www.slideshare.net/mejiaff/vuelta-atrashttp://es.wikipedia.org/wiki/Problema_de_las_ocho_reinasCódigo del algoritmo:http://elvex.ugr.es/decsai/c/#problemas

×