Вы находитесь на странице: 1из 8

UNIVERSIDAD DE LA SALLE BAJO

ALGORITMOS DE BSQUEDA BEAM SEARCH


luisgsl@yahoo.com MISEC Tercer cuatrimestre Tecnologas Aplicadas de Informacin Mtra. M.I. convazquezl@yahoo.com Len, Gto. a 11 de junio de 2004.

ndice Solucin de problemas con bsquedas Tipos de bsqueda Algoritmo de bsqueda Beam search Anlisis de los algoritmos Fuente de Informacin

2 3 4 6 7

Solucin de problemas con bsquedas


La formulacin de metas es el primer paso en la solucin de problemas. Se considera que las metas son estados del mundo. Las operaciones o acciones son las causantes de la transicin entre un estado y otro. La formulacin de un problema consiste en decidir que acciones y estados son vlidos. El espacio de estados es el conjunto de todos los estados que pueden alcanzarse a partir del estado inicial mediante cualquier secuencia de acciones. La solucin del problema consiste en encontrar una secuencia de acciones posibles que conduzcan a la meta. Al proceso de hallar tal secuencia se conoce como bsqueda.

Representacin:

Un espacio de estados se puede representar con una grfica (ej. rbol) donde los nodos son estados de un problema o soluciones parciales de ste y los arcos son acciones u operaciones que se aplican a los nodos para pasar de un estado a otro. En una grfica con estado inicial y estados finales (o metas), el proceso de bsqueda consiste en encontrar un camino en la grfica que vaya del estado inicial a un estado final. inicial=S

Ejemplo: El agente viajero. Estado Meta o estado final = G

Espacio de estados representado por una grfica

Espacio de estados representado por un rbol 3

Tipos de bsqueda:

Sin informacin (ciega): o depth-first (por profundidad), o breath-first (a lo ancho) Con informacin (heurstica): o hill-climbing o beam search o best-first search Bsquedas ptimas (El mejor camino): o british museum o branch and bound o programacin dinmica o A*

Bsquedas sin informacin Algoritmo de bsqueda por profundidad (depth-first): 1. Crear una lista con el nodo raz 2. Hasta que la lista est vaca o se alcance la meta: 1. Si el primer elemento es la meta entonces termina Sino elimina el primero de la lista y agrega sus hijos al principio de la lista lgoritmo de bsqueda a lo ancho (breath-first): 1. Crear una lista con el nodo raz 2. Hasta que la lista est vaca o se alcance la meta: 1. Si el primer elemento es la meta entonces termina Sino elimina el primero de la lista y agrega sus hijos al final de la lista Anlisis de los algoritmos: n= nmero de niveles d= nmero de niveles hasta la meta b= Nmero de operaciones posibles en un estado (hijos). Factor de arborecencia. Por profundidad:

Mejor caso = d Peor caso ~ bn Es mejor en rboles balanceados

A lo ancho:

Mejor caso ~ bd-1 Peor caso ~ bd Es mejor en rboles desbalanceados y con mucha profundidad

Bsquedas (heursticas)

con

informacin

Algoritmo de bsqueda Hill Climbing: 1. Crear una lista con el nodo raz 2. Hasta que la lista est vaca o se alcance la meta: 1. Si el primer elemento es la meta entonces termina Sino elimina el primero de la lista y agrega sus hijos al final de la lista 2. Ordena los elementos, selecciona el mejor y elimina el resto (heurstica) Desventajas: no es completo, no funciona cuando existen mximos locales, pues no puede llegar a la meta. Algoritmo de bsqueda Best-first: 1. Crear una lista con el nodo raz 2. Hasta que la lista est vaca o se alcance la meta: 1. Si el primer elemento es la meta entonces termina Sino elimina el primero de la lista y agrega sus hijos al final de la lista 2. Ordena los elementos, pero no hace eliminaciones (heurstica) Ventaja: es completo, encuentra siempre la solucin. Algoritmo de bsqueda Beam search: 1. Crear una lista con el nodo raz 2. Hasta que la lista est vaca o se alcance la meta: 1. Si el primer elemento es la meta entonces termina Sino elimina el primero de la lista y agrega sus hijos al final de la lista 2. Ordena los elementos, selecciona los w mejores y elimina el resto (heurstica) Desventaja: no es completo, no garantiza encontrar la solucin. Propiedades de los algoritmos La estrategia de control es sistemtica si: 1. No deja un solo camino sin explorar (completo) 2. No explora un camino ms de una vez (eficiencia) 5

Un algoritmo bsqueda es: 1. Completo: si encuentra una solucin cuando esta existe. 2. Admisible: si garantiza una solucin ptima cuando sta existe. 3. Dominante. Un algoritmo A1 domina a otro algoritmo A2 si cada nodo expandido de A2 puede ser expandido por A1. 4. ptimo: Si domina a todos los algoritmos que hacen la misma tarea. Bsquedas ptimas Algoritmo British museum Hace una bsqueda exhaustiva para encontrar todas las soluciones (con depthfirst o breath-first), compara las soluciones y selecciona la mejor. Desventaja: El espacio de bsqueda puede crecer considerablemente. Algoritmo Branch and Bound 1. Crear una lista con el nodo raz 2. Hasta que la lista est vaca o se alcance la meta: 1. Si el primer elemento es la meta entonces ve al paso 3 Sino elimina el primero de la lista y agrega sus hijos sumando el costo acumulado del padre 2. Ordena los elementos de acuerdo al costo (heurstica) 3. Expande todos los nodos con costo menor que el nodo meta. Ventaja: La primer trayectoria encontrada es la solucin ptima. Una mejora a Branch and bound es utilizar programacin dinmica. Esta tcnica considera que se puede llegar a un mismo nodo por diferentes rutas, su heurstica es ordenar los elementos, seleccionar el de menos costo y eliminar los elementos repetidos (con mayor costo). Algoritmo A* (A estrella) Es una clase de algoritmo que utiliza programacin dinmica y una funcin heurstica (h), que ayuda a que la bsqueda sea ms eficiente. Ejemplo de una heurstica: h(n)= costo subestimado del nodo n hasta la meta. La restriccin consiste en escoger una heurstica admisible (que nunca sobreestima el costo de llegar a la meta). El costo total estimado, f(n), es la suma del costo acumulado, g(n), ms la funcin heurstica, h(n): f(n) = g(n) + h(n) Algoritmo A* 1. Crear una lista con el nodo raz 2. Hasta que la lista est vaca o se alcance la meta: 1. Si el primer elemento es la meta entonces ve al paso 3 Sino elimina el primero de la lista y agrega sus hijos sumando g + h (heurstica 1) 6

2. Ordena los elementos de acuerdo al costo y elimina los repetidos de costo mayor (heurstica 2) 3. Expande todos los nodos con costo menor que el nodo meta. Anlisis de los algoritmos:

British museum es mejor si el espacio de estados es pequeo. Branch and Bound con programacin dinmica es mejor si hay muchas rutas para llegar a la meta. A* se puede usar slo cuando es posible estimar h(n). En los dems casos es mejor Branch and Bound.

Fuente de Informacin http://leibniz.iimas.unam.mx/~euraga/ia/busqueda.html http://lorien.die.upm.es/~juancho/pfcs/aga/dos.txt

Вам также может понравиться