You are on page 1of 11

NT 2

Bsqueda de Soluciones


Resolver Problemas Mediante Bsqueda

Se hace mediante bsqueda a travs del


espacio de estados.
Este tipo de bsqueda se caracteriza por usar
tcnicas que utilizan un rbol de bsqueda
explicita generado por el estado inicial y la
funcin sucesor, definiendo as el espacio de
estados.
El estado a expandir est determinado por la
estrategia de bsqueda.

Bsqueda de Soluciones


Ejemplo: rbol de bsqueda parcial para ruta


que vaya de Arad hasta Bucarest.

Bsqueda de Soluciones


Es importante distinguir entre el espacio de


estados y rbol de bsqueda:


Por ejemplo:


Para el problema de bsqueda de una ruta (mapa


Rumana), hay solamente 20 estados en el espacio de
estados (uno por cada ciudad). Pero hay un nmero
infinito de caminos en este espacio de estados, as que
el rbol tiene infinitos nodos.

Bsqueda de Soluciones


Estructura de datos para los rboles de


bsqueda:


Estado: El estado del espacio de estados al que corresponde un


nodo.

Nodo Padre: El nodo en el rbol de bsqueda que ha generado


este nodo.

Operador: El operador que se aplic para generar el nodo actual.

Profundidad: El nmero de pasos a lo largo del camino desde el


estado inicial.

Costo del Camino: El costo tradicionalmente denotado por g(n), de


un camino desde el estado inicial al nodo, indicado por los
punteros a los padres.

Bsqueda de Soluciones


Estructura de datos para los rboles de


bsqueda:

Bsqueda de Soluciones

Bsqueda de Soluciones


Medidas para evaluar el rendimiento de una


estrategia de bsqueda


Completitud:


Est garantizado que el algoritmo encuentre una


solucin cuando esta exista?
Encuentra siempre la solucin si existe?

Optimizacin:


Encuentra la estrategia la solucin ptima?

Encuentra siempre la mejor solucin?

Bsqueda de Soluciones


Medidas para evaluar el rendimiento de una


estrategia de bsqueda


Complejidad en Tiempo:


Bsqueda de Soluciones

b: El factor de ramificacin o el mximo nmero de


sucesores de cualquier nodo.

d: La profundidad del nodo objetivo ms superficial.

m: La longitud mxima de cualquier camino en el


espacio de estados.

Cunto tarda en encontrar un solucin?

Complejidad en el Espacio:


La complejidad de tiempo y espacio se expresa


en trminos de 3 cantidades:

Cunta memoria se necesita para el funcionamiento de


la bsqueda?

Bsqueda de Soluciones


El tiempo a menudo se mide en trminos de


nmero de nodos generados durante la
bsqueda.
El espacio se mide en trminos del mximo
nmero de nodos que se almacenan en
memoria.

Estrategias de Bsqueda


Estrategias de Bsqueda no Informada:




Bsqueda Preferente por Anchura.

Bsqueda de Costo Uniforme.

Bsqueda Preferente por Profundidad.

Bsqueda Limitada por Profundidad.

Bsqueda de Profundidad Iterativa.

Bsqueda Bidireccional.

Estrategias de Bsqueda


Estrategias de Bsqueda no Informada:




Bsqueda Preferente por Anchura.

Bsqueda de Costo Uniforme.

Bsqueda Preferente por Profundidad.

Bsqueda Limitada por Profundidad.

Bsqueda de Profundidad Iterativa.

Bsqueda Bidireccional.

Estrategias de Bsqueda


Bsqueda Preferente por Anchura:




Estrategias de Bsqueda


Bsqueda Preferente por Anchura:

Es una estrategia sencilla en la que se expande


primero el nodo raz, a continuacin se expanden
todos los sucesores de ste, despus sus
sucesores, y as sucesivamente.

Estrategias de Bsqueda


Bsqueda Preferente por Anchura:




Se puede implementar mediante una cola (FIFO),


asegurando que los nodos visitados sern los
primeros expandidos.

Implantacin con el algoritmo de BSQUEDAGENERAL con una funcin de lista de espera


FIFO.

Cmo sera?

Estrategias de Bsqueda


Bsqueda Preferente por Anchura:




Completa? S, si factor de ramificacin b es finito.

ptima? S, si costo de cada paso es 1.

Complejidad Temporal: 1+b2+b3++bd O(bd)




Estrategias de Bsqueda


Bsqueda Preferente por Anchura:




es la cantidad de nodos
expandidos, antes de encontrar una solucin.

Tiene un pequeo problema...




Considere factor de ramificacin b = 10.

1000 nodos/segundo.

100 byte/nodo.

1+b2+b3++bd

Complejidad Espacial:


O(bd): Exponencial, hay que guardar todos los nodos en


memoria. Porque o es parte de la frontera o es un
antepasado de un nodo de la frontera.

Estrategias de Bsqueda


Estrategias de Bsqueda no Informada:




Bsqueda Preferente por Anchura.

Bsqueda de Costo Uniforme.

Bsqueda Preferente por Profundidad.

Bsqueda Limitada por Profundidad.

Bsqueda de Profundidad Iterativa.

Bsqueda Bidireccional.

Estrategias de Bsqueda


Bsqueda con Costo Uniforme:




La diferencia con el anterior es que aqu se


expanden los nodos con menor costo de operador
g(n).

Una restriccin es que el costo g(n) no vaya


disminuyendo a medida que se genere una
siguiente expansin.


g(Sucesor(n))>=g(n), para todo n.

Estrategias de Bsqueda


Bsqueda con Costo Uniforme:




Estrategias de Bsqueda


Ejemplo:

Bsqueda con Costo Uniforme:




Completa?: S, si b es finito, si los costos son >=e


para e positivo.

Complejidad Temporal: O(bd).

Complejidad Espacial: O(bd).

ptima: S.

Estrategias de Bsqueda


Estrategias de Bsqueda no Informada:




Bsqueda Preferente por Anchura.

Bsqueda de Costo Uniforme.

Bsqueda Preferente por Profundidad.

Bsqueda Limitada por Profundidad.

Bsqueda de Profundidad Iterativa.

Bsqueda Bidireccional.

Estrategias de Bsqueda


Bsqueda Preferente por Profundidad:




Se basa en elegir un camino en el rbol y seguirlo


hasta el final.

Si no se encuentra la solucin se retrocede


(backtraking) y se prueba por otro camino.

Estrategias de Bsqueda


Bsqueda Preferente por Profundidad:

Estrategias de Bsqueda


Bsqueda Preferente por Profundidad:




Esta estrategia puede implementarse con una pila


(LIFO).

Implantacin con el algoritmo de BSQUEDAGENERAL con una funcin de lista de espera LIFO.

Cmo sera?
Estrategias de Bsqueda


Bsqueda Preferente por Profundidad:




Completa?:


No, falla si hay espacios de profundidad infinita o bucles.

S, en espacios finitos.

Complejidad Temporal: O(bm), donde m puede ser mucho


mayor que d en la bsqueda preferente por anchura.

Complejidad Espacial: O(bm), lineal.

Optimo: No, en espacios de profundidad infinito.

Para d=12, slo se necesitan 12[KB] en vez de 111[TB], (un


factor 10.000 millones de veces menor) en una Bsqueda
Preferente por Anchura.

Estrategias de Bsqueda


Bsqueda Preferente por Profundidad:




En Conclusin:


Cuando hay rboles con prolongadas o infinitas


profundidades mximas, se debe evitar el empleo de
esta estrategia.

Estrategias de Bsqueda


Estrategias de Bsqueda no Informada:




Bsqueda Preferente por Anchura.

Bsqueda de Costo Uniforme.

Bsqueda Preferente por Profundidad.

Bsqueda Limitada por Profundidad.

Bsqueda de Profundidad Iterativa.

Bsqueda Bidireccional.

Estrategias de Bsqueda


Bsqueda Limitada por Profundidad:




Es decir, los rboles de profundidad ilimitada se


pueden limitar a una profundidad predeterminada l.

Es decir, los nodos a profundidad l se tratan como


si no tuvieran ningn sucesor.

Estrategias de Bsqueda


Bsqueda Limitada por Profundidad:


 





 

    
   
 
  

Estrategias de Bsqueda


Bsqueda Limitada por Profundidad:




Completa?: No, falla si l es pequeo.

Complejidad Temporal: O(bl).

Complejidad Espacial: O(bl).

ptima?: No.




 


 



 



 




 


Estrategias de Bsqueda


Estrategias de Bsqueda no Informada:




Bsqueda Preferente por Anchura.

Bsqueda de Costo Uniforme.

Bsqueda Preferente por Profundidad.

Bsqueda Limitada por Profundidad.

Bsqueda de Profundidad Iterativa.

Bsqueda Bidireccional.

Estrategias de Bsqueda


Bsqueda de Profundidad Iterativa:




Es una combinacin con la bsqueda primero en


profundidad, la cual encuentra el mejor lmite de
profundidad.

Esto se hace aumentando gradualmente el lmite


(primero 0, despus 1, despus 2, etc.) hasta que
encontramos el objetivo, que ocurrir cuando el
lmite alcance d, que es la profundidad del nodo
objetivo.

Estrategias de Bsqueda


Bsqueda de Profundidad Iterativa:

Estrategias de Bsqueda


Bsqueda de Profundidad Iterativa:




Completa?: S, si b es finito.

Complejidad Temporal: O(bd).

Complejidad Espacial: O(bd).

ptima?: S, si los costos son >= para positivo,


siendo una constante pequea que garantiza un
incremento en el costo de ir de un camino a otro.

Estrategias de Bsqueda


Estrategias de Bsqueda no Informada:




Bsqueda Preferente por Anchura.

Bsqueda de Costo Uniforme.

Bsqueda Preferente por Profundidad.

Bsqueda Limitada por Profundidad.

Bsqueda de Profundidad Iterativa.

Bsqueda Bidireccional.

Estrategias de Bsqueda


Bsqueda Bidireccional:


Estrategias de Bsqueda


Bsqueda Bidireccional:


No sirve para todos los problemas:




Los operadores deben ser reversibles.

Problema si hay varias soluciones.

Debe haber comprobacin eficiente de encuentro.

Busca simultneamente desde el estado inicial y el


final.

Estrategias de Bsqueda


Bsqueda Bidireccional:


Completa?: S.

Complejidad Temporal: O(bd/2).

Complejidad Espacial: O(bd/2).

Optimo?: S, con costo 1. Se puede modificar paro


costo uniforme.

Estrategias de Bsqueda


Resumen de Costos de Estrategias de


Bsqueda No Informadas:

Tarea


Resolver el Sudoku con alguna de las


estrategias vistas.


NT 2

Continuar...

Slo se deber realizar la presentacin:




Breve explicacin de su solucin.

Demostracin del algoritmo en accin.

Grupos de 3 personas.