1. Búsqueda en amplitud Búsqueda en Profundidad Búsqueda Bidireccional
C
A
R
A
C
T
E
R
I
S
T
I
C
A
S
- Procedimientos de búsqueda nivel a
nivel.
- Para cada uno de los nodos de un nivel
se aplican todos los posibles
operadores.
- No se expande ningún nodo de un
nivel antes de haber expandido todos
los del nivel anterior.
- Se implementa con una estructura
FIFO.
- La búsqueda se realiza por una sola rama del árbol
hasta encontrar una solución o hasta que se tome la
decisión de terminar la búsqueda por esa dirección.
- Terminar la búsqueda por una dirección se debe a no
haber posibles operadores que aplicar sobre el nodo hoja
o por haber alcanzado un nivel de profundidad muy
grande.
- Si esto ocurre se produce una vuelta atrás (backtracking)
y se sigue por otra rama hasta visitar todas las ramas del
árbol si es necesario
- Se llevan a la vez dos búsquedas: una
descendente desde el nodo inicial y otra
ascendente desde el nodo meta.
- Al menos una de estas dos búsquedas debe ser en
anchura para que el recorrido ascendente y
descendente puedan encontrarse en algún
momento.
- Cuando se llegue a un nodo que ya había sido
explorado con el otro tipo de búsqueda, el
algoritmo acaba.
- El camino solución es la suma de los caminos
hallados por cada búsqueda desde el nodo
mencionado hasta el nodo inicial y hasta el nodo
meta.
Ventajas - Si existe la solución, la encuentra en la
menor profundidad posible.
- Tiene menor complejidad espacial que búsqueda en
amplitud.
-Búsqueda en dos direcciones al mismo tiempo
-Es una técnica que ha demostrado ser útil en el
camino mas corto.
-Proporciona sustancial ahorro computacional.
Desventajas - Explosión combinatoria aparece
frecuentemente debido a la alta
complejidad espacial y temporal de esta
técnica.
- Se pueden encontrar soluciones que están mas alejadas
de la raíz que otras.
- Existe el riesgo de presencia de bucles infinitos.
-Algoritmo de fuerza bruta.
-Requiere un estado objetivo explicito en lugar de
simplemente una prueba para una condición meta.
Definición Es un algoritmo de búsqueda no
informada utilizado para recorrer o
buscar elementos en un grafo (usado
frecuentemente sobre arboles).
Es un algoritmo de búsqueda no informada utilizado para
recorrer todos los nodos de un grafo o árbol de manera
ordenada, pero no uniforme.
Buscar bidireccionalmente, es como su nombre lo
indica búsquedas en dos direcciones al mismo
tiempo: uno hacia adelante y el otro hacia atrás de
la parte final.
Búsqueda a Ciegas
Sólo utiliza información acerca de si un estado es o no objetivo para guiar su proceso de búsqueda