Fecha: 16 Octubre 2014
OBJETIVO DE CLASE E INTRODUCCIÓN
La clase impartida la fecha mencionada anteriormente estaba basada en exposiciones por parte de mis compañeros, la búsqueda bidireccional era una pequeña parte que estaba compartiendo un compañero. Esta entrada al blog se basara en Ampliar un poco más el concepto teórico y práctico de la búsqueda bidireccional.
MARCO TEÓRICO
- DEFINICIÓN
Buscar bidireccionalmente, es como su nombre lo indica, búsquedas en dos direcciones al mismo tiempo: uno hacia adelante desde el estado inicial y el otro hacia atrás de la parte final. Esto se hace generalmente mediante la expansión de árbol con factor de ramificación b y la distancia desde el principio hasta el objetivo es d. La búsqueda se detiene cuando búsquedas desde ambas direcciones se reúnen en el centro. Búsqueda bidireccional es un algoritmo de búsqueda de fuerza bruta que requiera un estado objetivo explícito en lugar de simplemente una prueba para una condición meta (Robin. 2009)
La idea de una búsqueda bidireccional es reducir el tiempo de búsqueda mediante la búsqueda hacia adelante desde el comienzo y hacia atrás de la estancia simultáneamente. Cuando las dos fronteras de búsqueda se cruzan, el algoritmo puede reconstruir un único camino que se extiende desde el estado de inicio a través de la intersección de frontera a la meta. (Poole. 2010 ) . Una técnica que ha demostrado ser útil en el camino más corto y otra discreta cálculos de optimización ha sido la búsqueda bidireccional. El método tiene sido bien probado en el de dos nodos problema del camino más corto proporciona sustancial ahorros computacionales. Un impulso natural es extender sus beneficios a heurística búsqueda (Thomas. sf )
- ENFOQUES PARA BÚSQUEDA BIDIRECCIONAL
Algoritmos bidireccionales pueden ser ampliamente divididas en tres categorías: Front-to-Front, Front-to-Back (o Front-to-End), y Perímetro de la búsqueda (Kaindl Kainz 1997). Estos se diferencian por la función utilizada para calcular la heurística.
Front-to-Back
Algoritmos de adelante hacia atrás calculan el valor h de un nodo n utilizando la estimación heurística entre n y la raíz de lo contrario árbol de búsqueda. Front-to-Back es el investigado más activamente de las tres categorías. La corriente mejor algoritmo (al menos en el dominio Quince rompecabezas) es la Bimax-BS * F algoritmo, creado por Auer y Kaindl (Auer, Kaindl 2004).
Front-to-Front
Algoritmos de frente a frente calculan el valor h de un nodo n utilizando la estimación heurística entre n y algún subconjunto de OPEN_d ‘. El ejemplo canónico es el de la (algoritmo bidireccional heurístico Front-a-Front) BHFFA (de Champeaux 1977/1983), donde la función h se define como el mínimo de todas las estimaciones heurísticas entre el nodo actual y los nodos en la parte frontal opuesta. O bien, formalmente:
Donde H (n, o) devuelve un (es decir, no sobrestimar) estimación heurística admisible de la distancia entre los nodos n y o. Frente-a-Frente sufre de ser excesivamente exigentes computacionalmente. Cada vez que un nodo n se pone en la lista abierta, se debe calcular su valor f = g + h. Esto implica calcular una estimación heurística de N a cada nodo de lo opuesto al conjunto abierto, como se describió anteriormente. Los conjuntos abiertos aumentan de tamaño de forma exponencial para todos los dominios con b> 1
- EJEMPLO DE UNA BÚSQUEDA BIDIRECCIONAL CON EL ALGORITMO DE DIJSKTRA
Algoritmo de Dijkstra, concebida por el informático Edsger Dijkstra en 1956 y publicado en 1959, es un algoritmo de búsqueda gráfica que resuelve la sola fuente problema del camino más corto para un gráfico con costes de ruta borde no negativos, produciendo una menor árbol de ruta. Este algoritmo se utiliza a menudo en el enrutamiento y como una subrutina en otros algoritmos de grafos.
A continuación Existe un video que explica la aplicación de una búsqueda bidereccional aplicada en el algoritmo de Dijkstra
CONCLUSIÓN
Una búsqueda bidireccional está basado en el criterio exhaustivo de búsqueda, es decir busca su meta en dos direcciones basándose en el concepto de fuerza bruta para llegar a su objetivo. Este algoritmo de búsqueda es muy investigado para encontrar la ruta más corta, algunos aspectos negativos está en los costes que genera en enrutamiento en sus grafos, pero eso es relativo a la velocidad que aplica para llegar a su meta.
BIBLIOGRAFÍAS
Robin, D.2010. Búsqueda Bidireccional .Consultado 10 de Oct .(En línea).Formato HTML. Disponible en : http://intelligence.worldofcomputing.net/ai-search/bidirectional-search.html#.VKgbgiuG8po
Poole, D.2010. Búsqueda Bidireccional .Consultado 10 de Oct .(En línea).Formato HTML. Disponible en : http://artint.info/html/ArtInt_65.html
Thomas, J. sf . Búsqueda Bidireccional .Consultado 10 de Oct .(En línea).Formato PDF. Disponible en : http://aitopics.org/sites/default/files/classic/Machine%20Intelligence%206/MI6-Ch9-Pohl.pdf
Kaindl, H. . networks 2004: 11th International Telecommunications Network Strategy and Planning Symposium, VDE Verlag, 2004, p. 464.