You are on page 1of 15

Bsqueda de soluciones

Soluciones no Informadas (cont.)

Tipos de bsquedas no informadas


Breadth-first search
Uniform-cost search
Depth-first search
Depth-limited search
Iterative deepening search

Generar vs expandir un nodo


Generacin de un nodo:
Un nodo n se genera cuando se crea la estructura de
datos que representa su contenido, es decir cuando se lo
ubica en la memoria.
Expansin de un nodo:
Un nodo n se expande cuando todos sus hijos son
generados.

Uniform-cost search
Breadth-first search es ptima cuando todos los pasos tienen
el mismo costo.

Qu pasa si los pasos no tienen el mismo


costo?
Se modifica bfs para guardar una cola prioritaria ordenada por
costo g(n).

Uniform-cost search
Adems de ordenar la cola por el costo del camino, hay dos
otras diferencias significativas de la bsqueda en anchura:
1. La primera es que la prueba de objetivo se aplica a un nodo
cuando es seleccionado para expansin y no cuando se
genera al principio.
2. La segunda diferencia es que la prueba se aade en caso de
que se encuentre un mejor camino hacia un nodo en la
frontera.
Bfs es lo mismo que ucs con g(n)=depth(n)

Ejemplo para ilustrar uniform-cost search


El espacio de estados
muestra el costo por
paso (a).
Se presenta la
progresin de la
bsqueda, cada nodo
tiene la etiqueta de
g(n). En el siguiente
paso se seleccionar
g=10 (b).

Propiedades de Uniform-cost search


Expande el nodo no expandido con menor costo.
Implementacin: frontera = cola ordenada desde el de menor costo
Completo: Si, si el costo de cada paso es menor que un valor
Tiempo: # de nodos con g <= costo de la solucin ptima
Espacio: # de nodos con g <= costo de la solucin ptima
ptimo: Si, los nodos se expanden en orden de acuerdo a g(n)

Depth-first search
Siempre expande uno de los nodos del nivel ms profundo del rbol. Solo
cuando la bsqueda llega a un nodo que no puede expandirse la bsqueda
regresa y expande nodos en niveles ms superficiales.
Implementacin: cola LIFO (pila) con sucesores al inicio.
Es trivial la implementacin modificando el algoritmo de General-Search:

DFS

Propiedades dfs
Completo: No porque falla en espacios de profundidad infinita,
espacios con lazos.
Si evita estados repetidos es completo en espacios finitos.
Tiempo: O(bm) si m es mayor que d es terrible. Si no es as es ms
rpido que bfs. Todava tiene que visitar cada nodo (inevitable para
mtodos no informados)
Espacio: O(bm) ya no es exponencial sino lineal. Solo tiene que
guardar un camino desde la raz del rbol hasta el nodo.
ptimo: No.
https://visualgo.net/dfsbfs

Evolucin de la pila
Proporcione el
orden de
generacin y el
orden de
expansin para
este ejemplo.

Ldfs e Idfs Combinando las buenas


propiedades de bfs y dfs
Limited-depth dfs: Igual a dfs pero nunca va a una mayor profundidad que
un lmite d.
Iterative deepening dfs:

Llamar limited depth dfs con profundidad 0;


Si no tiene xito, llamar con profundidad 1;
Si no tiene xito, llamar con profundidad 2;
Etc.

Completo, encuentra la solucin ms superficial.


Tiene el mismo requerimiento de espacio que dfs.
Requerimiento de espacio tiene un costo extra porque genera los niveles
superiores en forma repetida
N(IDS) = db + (d-1)b2 + + lbd

IDFS

Ejercicios
Defina el estado inicial, objetivo, funcin sucesor y funcin costo para
cada uno de los siguientes casos. Escoja una formulacin que sea
suficientemente precisa para ser implementada:
Coloree un mapa plano utilizando solo cuatro colores, de tal modo que dos
regiones adyacentes no tengan el mismo color.
Un mono de tres pies de alto est en una habitacin en donde algunos
pltanos estn suspendidos del techo de ocho pies de alto. Le gustara
conseguir los pltanos. La habitacin contiene dos cajas apilables mviles y
escalables de tres pies de alto.
Tiene un programa que da como salida el mensaje registro de entrada ilegal
cuando introducimos un cierto archivo de registros de entrada. Sabe que el
tratamiento de cada registro es independiente de otros registros. Quiere
descubrir qu es ilegal.

Ejercicios
Considere un espacio de estados donde el estado comienzo es el
nmero 1 y la funcin sucesor para el estado n devuelve 2 estados,
los nmeros 2n y 2n+1.
Dibuje la seccin del espacio de estados para los estados del 1 al 15.
Suponga que el estado objetivo es el 22. Enumere el orden en el que sern
visitados los nodos para la bsqueda primero en anchura, bsqueda primero
en profundidad con lmite tres y la bsqueda en profundidad iterativa.

Implemente dfs e Idfs en Matlab.

You might also like