Está en la página 1de 8

Búsqueda no informada

recursiva
• BFS y DFS utilizan una lista para almacenar los nodos frontera (sus
vecinos no explorados).
• Esto acción se hace para que estos algoritmos puedan ser utilizados
tanto en arboles (grafo dirigido) como grafos (puede contener ciclos).
• Si el espacio de búsqueda puede ser descrito por un árbol y no por un
grafo, se puede prescindir de la lista de nodos frontera.
• Si DFS se utiliza un árbol entonces el consumo de memoria se reduce a
O(bm), consumo inferior al de BSF.
• En DFS cuando se explora una rama, sus nodos quedan eliminados de la
lista de nodos frontera.
• Mientras en BFS es necesario mantener almacenados los nodos frontera
de todas las ramas a la vez.
• Por las características propias de DFS es posible utilizar recursividad.

• Algoritmo recursivo es un algoritmo que se llama a mismo


repetidamente, procurando en cada llamada reducir el problema.

• En DFS es posible utilizar recursividad, mediante únicamente el uso


de la lista de nodos visitados.
Pseudocódigo
DFS recursivo
DFS limitada

Si espacio de estados es muy


grande, el algoritmo puede no
entregar una solución.

Se puede limitar la profunidad


de búsqueda.
Búsqueda de coste uniforme (Uniform-Cost Search)

• Se asigna un costo a cada nodo.


• Se define una función de costo g(n), que representa el costo de
recorrer el camino del nodo inicial al nodo meta.
• Cuando se tiene que decir el nodo por expandir se elige el que tiene
menor costo.
• Debe de existir más de una ruta de nodo inicial a nodo meta.
• Es una modificación de BFS, solo cambia de cola FIFO a
FIFO con prioridad
Utilizando BFS se puede utilizar en arboles como en grafos.
Pseudocódigo
BCU o UCS

También podría gustarte