Sie sind auf Seite 1von 2

Implementacin de la solucion al problema

computacional de las N reinas mediante la tecnica de


busqueda por profundidad.
Paul Andres Quito Naula
Universidad Politcnica Salesiana
Estudiante
Ecuador, Cuenca
pquito@est.ups.edu.ec

Abstract The present work is a research project based on the


different search techniques, focusing on the search by depth. We A. Diseo
try to show the basic structure of a search by depth using the El diseo del algoritmo est enfocado en la bsqueda de la
Backtracking technique, presenting the possible solutions to each mejor combinacin posible, por este motivo se le llama
case. bsqueda en profundidad, si mientras se realiza la bsqueda y
hay una incorrecta, la bsqueda retrocede y toma la siguiente
alternativa, en caso de no encontrar la solucin la bsqueda ser
I. INTRODUCCION considerada como fallida, de esta forma se crea un rbol en la
cual cada nodo es un estado de la solucin.
Fue propuesto por el ajedrecista alemn Max Para esta bsqueda se utiliza el mtodo de recursividad, de esta
Bezzel en 1848, En 1874, S. Gnther propuso un mtodo para manera se hace una llamada al procedimiento y se toma las
hallar las soluciones usando determinantes, y J.W.L. nuevas variables para su anlisis.
Glaisher redefini su aproximacin. [1] Edsger Dijkstra us
este problema en 1972 para ilustrar el poder de la Esta solucin ser desarrollada bajo el lenguaje de
llamada programacin estructurada. Public una descripcin programacin de c++.
muy detallada del desarrollo del algoritmo de backtracking,
"depth-first". El problema de las N reinas consiste en situar N
reinas en un tablero de ajedrez de NxN sin que se amenacen B. Pruebas
entre ellas. [2]
Las pruebas que se realizaran a este algoritmo estan basados
en los tiempos de respuesta para cada valor que sea asiganado
En este documento se va a desarrollar una solucion al a n, al finalizar la busqueda nos mostrara un archivo con las
problema de las n reinas utilizando el metodo de back tracking. varias soluciones que sean generadas.

II. MARCO TERICO


El termino backtraking hace referencia a una bsqueda
profunda dentro de un grafo que por lo general es un rbol, su
objetivo es la de encontrar posibles soluciones para ciertos
problemas, esto se consigue al construir las posibles soluciones
en cada regin hasta encontrar una solucin completa, este
algoritmo bien puede detenerse al encontrar una solucin o
seguir en bsqueda de ms soluciones, se considera una
bsqueda fallido cuando la solucin parcial no satisface a la Figura 1 Resultados con un tamao de 7.
solucin total, para ese caso el algoritmo da un paso atrs,
eliminando esa opcion y analizando el siguiente nodo. [3].
Figura 2 Archivo resultante.

C. Resultados
Al realizar cada una de las pruebas en las bsquedas
podemos observar los resultados que se han generado y
obteniendo los resultados de manera favorable en la
bsqueda.

Para este problema la complejidad del algoritmo est en la


variable n, la que hace que el nmero de soluciones
posibles vaya creciendo.

III. CONCLUSIONES
Con la culminacin de este proyecto esperamos incursionar
en el mtodo de bsqueda por profundidad. Adems, se pudo
observar la eficiencia del algoritmo a comparacin de una
bsqueda que utiliza bsquedas aleatorias
A pesar de los inconvenientes que tuvimos al momento de
desarrollar el algoritmo, podemos decir que este proyecto es un
gran avance en nuestros conocimientos ya que pudimos ver la
gran funcionalidad de una bsqueda por profundidad y como
aplicarla para casos ms complejos.
IV. BIBLIOGRAFA

V. REFERENCIAS

[1] . N. Richard Neapolitan, Foundations of Algorithms,


2010.
[2] S. S. Skiena, The Algorithm Design Manual, 2009.
[3] A.A.Puntambekar, Analysis And Design Of Algorithms,
2009.

Das könnte Ihnen auch gefallen