You are on page 1of 105

Tema 2: Mtodos de bsqueda heurstica

Serafn Moral (Antonio Gonzlez)


Universidad de Granada

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Tema 2: Mtodos de Bsqueda Heurstica

Contenido Bsqueda sin informacin Mtodos de escalada Bsqueda primero el mejor Descomposicin de problemas Heursticas sobre el proceso de bsqueda

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda sin informacin

Bsqueda en anchura Bsqueda en profundidad Bsqueda con costos Bsqueda en grafos Problemas descomponibles

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Sistemas de Bsqueda

Operadores

Base de Datos

Estrategia de Control

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Representacin de un problema

7 5 8

4 6

5 1 4 7

2 5 8
Goal State

3 6

3
Start State

estados?, estados inicial?, acciones?, modelo de transiciones? objetivo?, coste?

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Procedimiento de Bsqueda Genrico

DATOS base de datos inicial 2: while DATOS no satisface la condicin de terminacin do 3: Selecciona alguna regla R en el conjunto de reglas que pueda ser aplicada a DATOS 4: DATOS resultado de aplicar R a DATOS
1:

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Problema de las 8 Reinas

Estados: Cualquier combinacin de 0 a 8 reinas en el tablero sin que ninguna se amenace Estado Inicial: Ninguna reina en el tablero Funcin sucesor: Aadir una reina a una casilla vaca Estado objetivo: Ninguna reina puede atrapar otra reina Existe una formulacin alternativa que sea ms adecuada?

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Formulaciones alternativas

Estados: Hay ocho reinas en el tablero, aunque se pueden amenazar. Espacio de bsqueda demasiado grande Estados: Hay ocho reinas en el tablero, una por columna. Se pueden amenazar. Mejor espacio de bsqueda, ya que es ms reducido y nos podemos mover con la funcin sucesor: mover una reina de una columna a otra la dentro de la misma columna. Estados: Hay ocho reinas en el tablero, una por columna y una por la. Se pueden amenazar. Es demasiado reducido. Lo difcil es denir una funcin sucesor para moverse de forma eciente en este espacio.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Caractersticas de los Procedimientos de Bsqueda


Completitud Una estrategia es completa cuando encuentra la solucin, siempre que sta exista. Optimalidad Una estrategia es ptima si esta garantizado que encuentra la solucin de mnimo coste. Complejidad en tiempo Es lo que tarda en encontrar la solucin en funcin del tamao del problema. Complejidad en espacio Es el espacio que necesita para funcionar.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Problemas de bsqueda reales (Russell, Norvig)

Bsqueda de rutas Rutas tursticas Problema del viajante de comercio Diseo de circuitos VLSI Navegacin de un robot Secuenciacin para ensamblaje automtico Diseo de protenas Bsqueda en Internet

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Grafos: Nodos Visitados


A B C D C A B C C B C

Se guardan los nodos visitados? Guardar los nodos visitados implica ms espacio: lista de nodos CERRADOS (nodos visitados y analizados). En general, hace los algoritmos ms ecientes (no repetimos bsquedas) y garantizan la completitud (encuentran la solucin si existe) en espacios nitos Pero necesitan ms espacio Cuando los guardamos decimos que realizamos bsqueda en grafos y cuando no bsqueda en rboles En la bsqueda retroactiva, aunque no se guarden todos los visitados, s se comprueba si el nodo actual nos ha salido en el camino que estemos analizando.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Profundidad Retroactiva

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Grafos

Imposibilidad de representar el problema mediante un grafo explcito Problema del 8-puzzle:

El conjunto de nodos del grado de estados para esta representacin del 8-puzzle es 9!=362.880

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Modelo de estrategia retroactiva


Bsqueda de rboles con lmite en la profundidad de la bsqueda
BACKTRACK(LISTABD) 1: DATOS PRIMER(LISTABD) 2: if MIEMBRO(DATOS,SUPR(LISTABD)) then 3: return FALLO 4: if TERM(DATOS) then 5: return NADA 6: if SINSALIDA(DATOS) then 7: return FALLO 8: if LONGITUD(LISTABD) > LIMITE then 9: return FALLO 10: REGLAS APLIREGL(DATOS) 11: repeat 12: if NOHAY(REGLAS) then 13: return FALLO 14: R PRIMER(REGLAS) 15: REGLAS SUPR(REGLAS) 16: RDATOS R(DATOS) 17: RLISTABD CONS(RDATOS,LISTABD) 18: CAMINO BACKTRACK(RLISTABD) 19: until CAMINO = FALLO 20: return CONS(R,CAMINO)
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Profundidad: Propiedades


Si no se hace bsqueda en grafos, necesita muy poca memoria: slo un camino desde el nodo inicial al nodo actual. Si el nmero de estados es nito y se controla que no se repita ningn estado en el camino actual, entonces es completo: encuentra la solucin (sin limitar la profundidad de los caminos). Si termina cuando encuentra una solucin no es ptimo: no tiene garanta de encontrar la de mnimo coste. En la versin del algoritmo que hemos visto existe un lmite a la profundidad de los caminos que se analizan. En ese caso, ya no hay garanta de que sea completo. En este caso, la complejidad en tiempo es O(bl ) y en espacio O(l). Si se hace bsqueda en grafos, entonces hay que conservar una lista de todos los nodos analizados y se pierde la ventaja de espacio de este algoritmo.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Anchura
Crear una variable llamada LISTA NODOS y asignarle el estado inicial if E es un estado objetivo then return E while LISTA NODOS no vaca do Eliminar el primer elemento de LISTA NODOS y llamarlo E for cada regla que se empareje con el estado E do Aplicar la regla para generar un nuevo estado F if F es un estado objetivo then return F else aadir el nuevo estado al nal de LISTA NODO

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Anchura

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Anchura

A B D E F C G

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Anchura

A B D E F C G

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Anchura

A B D E F C G

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Anchura

A B D E F C G

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda con costes

La bsqueda en anchura es ptima si los costes de cada accin son iguales. Si los costes de cada opcin son distintos, entonces para la optimalidad tenemos que expandir siempre el nodo de mnimo coste (la suma de los costes desde el estado inicial al estado actual). Tiene el problema de gestionar una lista ordenada por costes.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda con Costes


Poner el nodo inicial s en una lista, llamada ABIERTOS, de nodos no expandidos. 2: Crear una lista, llamada CERRADOS, de nodos expandidos, inicialmente vaca. 3: while ABIERTOS no es vaca do 4: Suprimir de ABIERTOS el nodo i con mnima g(i) y colocarlo en CERRADOS. 5: if i es un nodo objetivo then 6: return Solucin Encontrada 7: else 8: expandir el nodo i 9: for caca nodo sucesor j del nodo i do 10: insertar j correctamente en ABIERTOS, asignando g(j) = g(i) + c(i, j) 11: return No solucin Es realmente necesaria la lista de CERRADOS? En este caso NO.
1:
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Bsqueda con Costes


Poner el nodo inicial s en una lista, llamada ABIERTOS, de nodos no expandidos. 2: Crear una lista, llamada CERRADOS, de nodos expandidos, inicialmente vaca. 3: while ABIERTOS no es vaca do 4: Suprimir de ABIERTOS el nodo i con mnima g(i) y colocarlo en CERRADOS. 5: if i es un nodo objetivo then 6: return Solucin Encontrada 7: else 8: expandir el nodo i 9: for caca nodo sucesor j del nodo i do 10: insertar j correctamente en ABIERTOS, asignando g(j) = g(i) + c(i, j) 11: return No solucin Es realmente necesaria la lista de CERRADOS? En este caso NO.
1:
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Descenso Iterativo

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Descenso Iterativo
Limit = 0
A A

Limit = 1
B

A C B

A C B

A C B

A C

Limit = 2
B D E

A C F G D B E

A C F G D B E

A C F G D B E

A C F G

A B D E F C G D B E

A C F G D B E

A C F G D B E

A C F G

Limit = 3
B D H I J E K

A C F L M N G O H D I J B E K

A C F L M N G O H D I J B E K

A C F L M N G O H D I J B E K

A C F L M N G O

A B D H I J E K L F M N C G O H D I J B E K

A C F L M N G O H D I J B E K

A C F L M N G O H D I J B E K

A C F L M N G O

A B D H I J E K L F M N C G O H D I J B E K

A C F L M N G O H D I J B E K

A C F L M N G O H D I J B E K

A C F L M N G O

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Descenso Iterativo: Propiedades

Complejidad en espacio como bsqueda en profundidad: slo un camino desde la raz a la solucin. Tiene garanta de obtener la solucin ptima (bajo costes constantes). Tiene ms complejidad en tiempo que la bsqueda en profundidad y la bsqueda en anchura, ya que analiza el mismo nodo varias veces.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda Direccional
Estrategia Se realizan dos bsquedas simultneas, una hacia adelante desde el nodo inicial y otra desde el nodo objetivo hacia atrs. Cuando los dos espacios de bsqueda tienen interseccin no vaca, entonces tenemos un camino desde el nodo inicial hasta el nodo objetivo. Para que se pueda aplicar tenemos que tener la posibilidad de calcular, dado un estado, todos los estados desde los que se puede alcanzar este estado, para poder implementar la bsqueda inversa. Como la complejidad de las bsquedas anteriores es exponencial en funcin del camino ms largo: O(bl ), esta estragia logra reducir esta complejidad a O(bl/2 + bl/2 ). Bajo qu condiciones una bsqueda en anchura bidireccional es ptima? Tiene que generar, al menos, uno de los niveles de la bsqueda de forma completa. Si los dos niveles se han generado de forma parcial y hay interseccin en los espacios de bsqueda, puede que la solucin encontrada no sea ptima.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Problemas Descomponibles

Base de datos inicial (C, B, Z ) Operadores


R1: R2: R3: R4: C (D, L) C (B, M) B (M, M) Z (B, B, M)

Objetivo (M, . . . , M)

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Problemas Descomponibles

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Problemas Descomponibles

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en Grafos Y/O

Descomposicin de problemas: arcos Y Resolucin de problemas: arcos O Solucin: la solucin se puede construir a partir de las soluciones de los problemas parciales

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Problemas Descomponibles

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Mtodos de Escalada

Algoritmo de escalada simple Algoritmo de escalada por la mxima pendiente Algunas variaciones estocsticas Algoritmos genticos

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Algoritmos de Mejora Iterativa


En muchos casos el espacio de estados contiene soluciones parciales (un camino sin ciclos en el problema del viajante de comercio) y en otras contiene soluciones completas (ciclos completos en el problema del viajante de comercio. Estos algoritmos de mejora iterativa trabajan cuando el espacio de estados viene dado por soluciones completas. En este caso, el coste no depende del camino que se ha seguido desde el nodo inicial. Se trata de buscar una solucin ptima o que verique un conjunto de restricciones. En ese caso, los algoritmos de mejora iterativa pueden ser apropiados: comienzan con una solucin y tratan de ir mejorndola. Utilizan espacio constante y pueden terminar en cualquier tiempo ( anytime ).
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Ejemplo: Problema del Viajante de Comercio

Comenzar con un ciclo completo y realizar cambios de parejas.

Variantes de este enfoque alcanzan ciclos con menos del 1 % de sobrecoste respecto al circuito ptimo.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Propiedades del Clculo de Vecinos

Los vecinos de un nodo se pueden calcular de muchas formas distintas (pequeos cambios o cambios ms notables). Si n es un nodo y n es su vecino, el coste de n se debe de poder calcular a partir del coste de n y los cambios que se han realizado (no es necesario calcularlo de nuevo desde el principio). Es importante que desde cualquier nodo y movindose por los vecinos de los nodos generados se pueda llegar a todo el espacio de bsqueda.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo: n-reinas
Denin del problema Poner n reinas en un tablero n n de tal forma que no haya dos damas en la misma la, columna o diagonal. Mover una dama que reduzca el nmero de conictos.

h=5

h=2

h=0

Este mtodo casi resuelve los problema de las n-reinas de forma casi instantnea para n muy grande, por ejemplo, n igual a 1 milln.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Mtodo Escalada Simple

Como subir al Everest con una niebla espesa y amnesia Escalada Simple 1: actual NodoInicial 2: Lista Vecinos(actual) 3: while Lista no vaca do 4: vecino primer elemento Lista 5: Eliminar vecino de Lista 6: if valor(vecino) > valor(actual) then 7: actual = vecino 8: Lista Vecinos(actual) 9: return actual

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ascensin de Colinas (subida por mximo gradiente)

Como subir al Everest con una niebla espesa y amnesia Hill-Climbing 1: actual NodoInicial 2: loop 3: vecino mejor sucesor de actual 4: if valor(vecino) valor(actual) then 5: return actual 6: actual vecino

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ascensin de Colinas
En general, es muy til estudiar el aspecto del espacio de estados.
objective function

global maximum

shoulder local maximum "flat" local maximum

current state

state space

La ascensin de colinas con varios inicios aleatorios elimina el problema de los mximos locales y es completo (encuentra la solucin si existe). Los movimientos aleatorios aleatorios planos se escapan de mesetas intermedias pero pueden ciclar en mximos planos.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Enfriamiento simulado
Idea: espacar de un mximo local permitiendo movimientos malos pero gradualmente se estos movimientos decrecen en tamao y frecuencia Enfriamiento Simulado 1: actual NodoInicial 2: for i = 1 to iteraciones do 3: vecino vecino aleatoria de actual 4: ENERGIA valor(vecino) valor(actual) 5: if ENERGIA > 0 then 6: actual = vecino 7: else 8: actual = vecino con probabilidad proporcional a
ENERGIA

e kT (i) 9: return actual T (i) debe de empezar siendo alta y decrecer lentamente hasta aproximarse a 0.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Propiedades del Enfriamiento Simulado


A una temperatura ja T , la probabilidad de cada estado se puede calcular con la distribucin de Boltzmann p(x) = e
E(x ) kT

Si la temperatura T decrece lentamente = siempre se alcanza el mejor estado x ya qye e kT /e pequeos.


E(x ) E(x ) kT

=e

E(x )E(x ) kT

1 para valores de T muy

Diseado por Metropolis et al., 1953, para modelizar procesos fsicos Ampliamente usado (diseo VLSI, rutas de trco areo, etc.)
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Algoritmos genticos

Novedad fundamental: Se generan los estados sucesores combinado dos estados padres Se inicia el proceso partiendo de k estados generados aleatoriamente (poblacin) Un estado (individuo) se representa como una cadena sobre un alfabeto nito (a menudo cadenas de 0s y 1s) En la funcin de evaluacin (tness function) se asignan valores altos para los mejores estados La siguiente generacin se produce mediante las operaciones de seleccin, cruce y mutacin.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Algoritmos genticos

24748552 32752411 24415124 32543213

24 31% 23 29% 20 26% 11 14%

32752411 24748552 32752411 24415124


Pairs

32748552 24752411 32752124 24415411


CrossOver Mutation

32748152 24752411 32252124 24415417

Fitness

Selection

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Algoritmos Genticos
El cruce ayuda si las subcadenas tienen subcomponentes signicativas Funcin de evaluacin (8 reinas) = nmero de pares de reinas no atacadas 28 para una solucin

GAs = evolucin: los genes reales codican la forma de replicarse


Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Bsqueda Primero el Mejor

Algoritmo A Bsqueda conducida mediante agendas Bsqueda dirigida Descenso iterativo A Bsqueda primero el mejor recursiva A con memoria acotada

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Algoritmo A
1: ABIERTOS contiene el nodo inicial 2: CERRADOS esta vaco 3: while solucin no encontrada y ABIERTOS no vaco do 4: Seleccionar el mejor nodo de ABIERTOS 5: if el nodo seleccionado es un nodo objetivo then 6: return nodo seleccionado 7: else 8: expandir dicho nodo 9: for all N nodo sucesor do 10: if N est en ABIERTOS then 11: insertarlo manteniendo la informacin del mejor padre 12: else if N est en CERRADOS then 13: insertarlo manteniendo la informacin del mejor padre 14: 15:

y actualizar la informacin de los descendientes else Insertarlo como un nodo nuevo en ABIERTOS

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda A
Idea Trata de evitar expandir caminos que son caros Funcin de evaluacin: f (n) = g(n) + h(n) g(n) = coste hasta el nodo n h(n) = coste estimado desde n hasta el objetivo f (n) = coste total del camino que pasa por n hasta el objetivo La bsqueda A usa una heurstica admisible h(n) h (n) donde h (n) es el coste verdadero desde n. (tambin se requiere que h(n) 0, as que h(G) = 0 para cualquier objetivo G.)

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Distintas Versiones

Podemos hacerlo: Bsqueda en rboles: No controlamos si se repiten nodos. Si un nodo aparece varias veces se generan varias veces los vecinos. No hay lista CERRADOS. Bsqueda en grafos: El que acabamos de ver. No se duplican los nodos que hay que ya han salido. Cada nodo tiene un enlace a su mejor padre. Mtodos mixtos: Controlan si han salido los nodos anteriormente, pero mantienen una estructura de rbol. Si un nodo se ha obtenido por un mejor camino se vuelven a generar de nuevo todos sus sucesores.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo de bsqueda A en rboles

Distancias en Rumana en km
Oradea Neamt

71

75
Arad

Zerind

151

87
Iasi

140
Sibiu

92 99
Fagaras Vaslui Rimnicu Vilcea

118 80
Timisoara

111 70

Lugoj

97 146

Pitesti

211

142 98

Mehadia

101 138

85

Hirsova

Urziceni

75
Dobreta

86
Bucharest

120
Craiova

90
Giurgiu Eforie

Straightline distance to Bucharest Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo de bsqueda A

Arad 366=0+366

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo de bsqueda A

Arad

Sibiu 393=140+253

Timisoara 447=118+329

Zerind 449=75+374

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo de bsqueda A

Arad

Sibiu

Timisoara 447=118+329

Zerind 449=75+374

Arad

Fagaras

Oradea

Rimnicu Vilcea

646=280+366 415=239+176 671=291+380 413=220+193

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo de bsqueda A

Arad

Sibiu

Timisoara 447=118+329

Zerind 449=75+374

Arad

Fagaras

Oradea

Rimnicu Vilcea

646=280+366 415=239+176 671=291+380 Craiova Pitesti Sibiu

526=366+160 417=317+100 553=300+253

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo de bsqueda A

Arad

Sibiu

Timisoara 447=118+329

Zerind 449=75+374

Arad 646=280+366 Sibiu

Fagaras

Oradea 671=291+380

Rimnicu Vilcea

Bucharest 450=450+0

Craiova

Pitesti

Sibiu

591=338+253

526=366+160 417=317+100 553=300+253

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo de bsqueda A

Arad

Sibiu

Timisoara 447=118+329

Zerind 449=75+374

Arad 646=280+366 Sibiu

Fagaras

Oradea 671=291+380

Rimnicu Vilcea

Bucharest 450=450+0

Craiova 526=366+160 Bucharest 418=418+0

Pitesti

Sibiu 553=300+253

591=338+253

Craiova

Rimnicu Vilcea

615=455+160 607=414+193

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

A en grafos
El control de los nodos repetidos no es simple. Si generamos los nodos en el siguiente orden (y se supone que el coste de cada movimiento es 1): 1 2 4 3 5 6

El ltimo camino hacia el nodo 4 podra ignorarse, porque tiene un mayor coste, pero no se hace.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

A en grafos: problemas de ignorar los caminos


Si ignoramos los caminos nos podemos encontrar con situaciones como la siguiente: 1 2 4 5 6 7 8 3

Si olvidamos que desde el nodo 7 podemos llegar al 6, y luego resulta que 7 es sucesor de 3, entonces el camino 1 3 7 6 8 no se considerara y es ms corto que 1 2 4 5 6 8.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Manteniendo un enlace al mejor padre


1

2 4 5 6 7

Serafn Moral (Antonio Gonzlez)

10

9
8


11
Tema 2: Mtodos de bsqueda heurstica

Manteniendo un enlace al mejor padre


1

2 4 5 6 7

Serafn Moral (Antonio Gonzlez)

10

9 8


11

Tema 2: Mtodos de bsqueda heurstica

Manteniendo un enlace al mejor padre


1

2 4 5 6 7

Serafn Moral (Antonio Gonzlez)

10

9 8


11

Tema 2: Mtodos de bsqueda heurstica

Actualizacin de Descendientes

Regla Bsica Si un nodo se obtiene por un mejor camino, entonces hay que actualizar el puntero desde ese nodo a su mejor padre. Si disminuye la funcin de evaluacin de un nodo que estaba cerrado, entonces hay que actualizar la informacin de evaluacin de todos sus hijos y de forma recursiva con todos sus descendientes.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo
Aplicar el algoritmo A suponiendo que el grafo de estados del problema es el siguiente: EI A 1 B C 2 D 1 0 E EF

El nmero sobre el nodo es el valor de la funcin de evaluacin h. Se supone que el coste es de 1 por cada arco. En caso de empate entre los ABIERTOS se escoge el ltimo nodo generado. EI es el estado inicial y EF es un estado nal u objetivo.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Ejercicio
Aplicar el algoritmo A al siguiente grafo A 2 B 1 D E 1 F EF 0 G
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

EI 3 C

Ejercicio
el algoritmo A al siguiente grafo A 1 B 1 E F 1 G 10 K L 1 J 0 2 I 5 H C 3 D 2 EI 2

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

El Mtodo de Pearl
Pearl mantiene slo un rbol en la aplicacin de A : A C A C

B B Tipo Nilsson Tipo Pearl Pero en la aplicacin de Pearl, si un nodo se obtiene por un camino de menos coste que anteriormente, entonces hay que pasar el nodo al conjunto de ABIERTOS para generar sus descendientes de nuevo.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Algoritmos de Bsqueda

Bsqueda en grafos Primero el mejor

Profundidad

A h h h = 0 Anchura

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda dirigida mediante agendas


El programa AM Un programa para generar conceptos importantes en Matemticas. Tuvo xito y generaba cosas como el concepto de nmero primo o la conjetura de Golbach. Aplicaba reglas heursticas como Los casos extremos de un concepto son con frecuencia los ms interesantes. Si un concepto se obtena por ms de un camino, eso reforzaba su inters. Agenda Una agenda es una lista de las tareas que un sistema puede realizar. Una tarea lleva dos objetos asociados: una lista de razones por las que se propone esa tarea (justicaciones) y un valor que represente el peso total de la tarea.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Bsqueda dirigida mediante agendas


1: while Objetivo no encontrado y agenda no vaca do 2: Elegir el mejor estado de la agenda 3: Expandir el nodo 4: for Cada sucesor do 5: if Es un nodo objetivo then 6: Terminar 7: Introducirlo en la agenda, actualizando sus justicaciones y

valor Las agendas pueden contener todos los nodos ordenados por valor. Pero, a veces slo se mantiene el rden entre los 5-10 primeros y el resto se inserta en la cola. A veces la evidencia es negativa. Son apropiadas para tareas complejas con interaccin de diversas fuentes. Hay dominios no-montonos en los que no son apropriadas.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Descenso Iterativo A
Descenso iterativo A : DIA Intentan resolver los problemas de memoria del algoritmo A , siguiendo un algoritmo de descenso interativo (bsqueda en profundidad) Se comienza realizando un algoritmo en profundidad, pero dejando de expandir un nodo n si su coste total f (n) es mayor que una cota que, inicialmente se ja a f (n0 ) = g(n0 ) + h(n0 ) = h(n0 ), es decir el coste esperado a la solucin desde el nodo raz. Si se encuentra una solucin, entonces es la solucin ptima. Si no, se calcula el mnimo de f (n) para todos los nodos visitados, pero no expandidos Se repite una bsqueda en profundidad desde el nodo raz
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Bsqueda Primero el Mejor Recursiva


Trata de combinar las bondades de la bsqueda A (rapidez) con las de la bsqueda en profundidad (usa poco espacio). Mantiene una lista de nodos ABIERTOS (por expandir) y otra de CERRADOS (nodos expandidos). Para usar poca memoria, la lista de cerrados es siempre una cadena (una estructura lineal de nodos). Si tenemos que expandir un nodo (mejor heurstica) que destruye la estructura de cadena, entonces los nodos cerrados que son descendientes del padre se eliminan, excepto el nodo hermano del expandido que se mantiene como abierto con una heurstica igual al mnimo de las heursticas de sus descendientes hojas. Se contina hasta que se encuentre un dodo objetivo que es ptimo.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Ejemplo
11

17

11

15

14

16

11

11

19

16

15

20

18

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo
11

17

11

15

14

16

11

11

19

16

15

20

18

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo
11

17

11

15

14

16

11

11

19

16

15

20

18

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo
11

17

11

15

14

16

15

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo
11

17

11

15

14

16

15

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Algoritmo A con Memoria Limitada


A MS: A con memoria limitada simplicado Funciona igual que A , pero con un lmite al nmero de nodos que contiene en memoria. Cuando se alcanza el lmite mximo de nodos, cada vez que se aade un nodo, tiene que eliminar otro. Siempre se elimina el nodo hoja con un valor mayor de la heurstica (la peor hoja) y el valor de esta heurstica se propaga al padre, que pasa a ser un nodo abierto. El padre se expandir cuando todos los nodos mejores que l que se han borrado, se han analizado. Entonces, volver a expandirse el nodo antes retrado, aadiendo todos los hijos que se hayan borrado anteriormente.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Descomposicin de problemas
Hasta ahora la bsqueda heurstica se ha realizado sobre grafos O Ya hemos visto que cuando un problema se puede descomponer en subproblemas, entonces la bsqueda se puede realizar sobre un grafo Y/O En lo que sigue vamos a ver el algoritmo Y/O , que se ejecuta sobre un grafo Y/O Obj:Adquirir TV Obj:Robar TV Obj:Adquirir TV

Obj:Ganar dinero

Obj:Comprar TV
Tema 2: Mtodos de bsqueda heurstica

Serafn Moral (Antonio Gonzlez)

algoritmo Y/O
GRAFO contiene el nodo de inicio. Comienza un ciclo que se repite hasta que el nodo inicial quede resuelto o hasta que supere un valor MAXIMO Trazar el mejor camino actual desde inicio Seleccionar un nodo Generar los sucesores del nodo e incluirlos en el GRAFO Si no tiene sucesores al nodo se le asigna el valor MAXIMO A cada sucesor se le asigna el valor de h Si el nodo es una solucin a un subproblema etiquetarlo como RESUELTO con h(n) = 0. Propagar la informacin obtenida hacia arriba en el GRAFO En un nodo O, se elige el mnimo de los valores cada hijo ms el coste de llegar a l. Est RESUELTO si un hijo est RESUELTO En un nodo Y, se elige la de los valores de los hijos ms los costes para llegar a cada uno de ellos. Est RESUELTO si todos sus hijos estn RESUELTO
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Ejemplo
A 5

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo
A 5 B 7 A 7

C 6

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo
A 5 B 7 A 7

A 8

C 6

B 7 D 4

C 10 E 4

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo
A 5 B 7 A 7

A 8

C 6

B 7 D

C 10 E 4

A 10 C 10 D 4 E 4

B 9 F 3 G 4

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Ejemplo
A 10 C 10 D 4 E 4

B 9 F 3 G 4

Las echas indican el mejor camino en los nodos O. En los nodos AND (hay que seguir todas las opciones) o los nodos con un hijo no son necesarias. En los nodos Y hay que seguir todos los caminos.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Ejemplo
A 10 C 10 D 4 E 4

B 9 F 3 G 4

A 11 B 12 F 6 I 7 G 4 D 4 C 10 E 4

H 5

Las echas indican el mejor camino en los nodos O. En los nodos AND (hay que seguir todas las opciones) o los nodos con un hijo no son necesarias. En los nodos Y hay que seguir todos los caminos.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Varios Caminos a un Nodo


Cuando se llega a un mismo nodo por distintos caminos, conviene tener todos los caminos activos. Incluso un camino ms largo y costoso hasta un mismo nodo, puede formar parte de la solucin en detrimento de otro camino ms corto (que despus ha de combinarse con otros caminos cuyo coste puede ser muy grande. A

E Irresoluble

H
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Condicin de optimalidad

Admisibilidad La funcin h es admisible si siempre es menor o igual que el valor real del coste hasta el objetivo h : h h . Optimalidad Si la funcin h es admisible, si el nodo raz se etiqueta como resuelto, el mejor camino desde este nodo constituye un subgrafo solucin del problema.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Descomposicin de Problemas
El algoritmo AO se basa en que el problema global puede resolverse mediante la resolucin de subproblemas de forma independiente. Sin embargo, no siempre es as (variables que tienen que ser iguales en ambos subproblemas Encontrar griego falible Encontrar alguien falible Encontrar alguien humano Turing es humano

Encontrar alguien griego

Scrates es griego

Scrates es humano

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Subobjetivos Interactivos
En este problema no encontrar la solucin ptima: no se da cuenta que para obtener D es mejor hacerlo a travs de C que ya es necesario para A. A

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Propagacin a Ascendientes
En general, cuando un nodo es resuelto o cambia su valoracin hay que propagar esta modicacin a todos sus ascendientes. Una heurstica es montona si: Si un nodo A es un nodo O tiene como descencientes a nodos B1 , . . . , Bk , entonces h(A) h(Bi ) + c(A, Bi ), i k , donde c(A, Bi ) es el coste de ir de A a Bi . Si un nodo A es un nodo Y tiene como descencientes a nodos B1 , . . . , Bk , entonces k h(A) i=1 h(Bi ) + c(A, B1 , . . . , Bk ), donde c(A, B1 , . . . , bk ) es el coste de la descomposicin. En heursticas montonas, slo hay que propagar el cambio de valor a los nodos ascendientes C tales que el subgrafo ptimo con raz en C contiene el nodo que ha cambiado de valor. El subgrafo ptimo es el que se obtiene partiendo de un nodo y eligiendo el mejor hijo en los nodos O y todos los hijos en los nodos Y.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Ejemplo (heurstica no admisible y no montona)


A 1 1 B 2 D O 0 3 E G 2 4 H I 3 P J 2 Q 1 R 0 N 0 S
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

C 8

F 1 K 3 L 2 M 1

Ejercicio (nodo sin sucesores)

A 1 4 B 3 D H 0 J 2 2 E F 4 I 3 C 5 G 1 K 0

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Heursticas sobre el proceso de bsqueda (Rich)

Arquitecturas combinadas de percepcin y planicacin Bsqueda orientada a subobjetivos Bsqueda jerrquica Bsqueda con horizonte

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Planicacin basada en bsqueda


La resolucin de problemas de planicacin basada en bsqueda tiene algunos problemas: Los procesos de percepcin no siempre pueden obtener la informacin necesaria acerca del estado del entorno Las acciones pueden no disponer siempre de modelos de sus efectos Pueden haber otros procesos fsicos, u otros agentes, en el mundo En el tiempo que transcurre desde la construccin de un plan, el mundo puede cambiar de tal manera que el plan ya no sea adecuado Podra suceder que se le requiriese al agente actuar antes de que pudiese completar una bsqueda de un estado objetivo Aunque el agente dispusiera de tiempo suciente, sus recursos de memoria podran no permitirle realizar la bsqueda de un estado objetivo
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Enfoques para resolver estos problemas

Mtodos basados en probabilidades. El resultado de una accin es una distribucin de probabilidad sobre el conjunto de sus posibles resultados. Problemas de decisin de Markov (total o parcialmente observables) . Mtodos aproximados. Un ejemplo es la arquitectura de percepcin/planicacin/actuacin El agente calcula una secuencia de acciones, ejecuta la primera, mide la situacin del entorno, recalcula el estado de inicio, y recalcula. Esto permite paliar los efectos de la incertidumbre si la percepcin y la actuacin son precisas.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

El ciclo percepcin/planicacin/actuacin

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Modicaciones del Proceso de Bsqueda

A veces no tenemos sucientes recursos (tiempo o espacio) para resolver un problema de bsqueda, entonces podemos relajar la condicin de obtener un camino ptimo y conformarmos con una solucin del problema, aunque no sea ptima o slo una solucin parcial que no consiga el objetivo. Se podra usar A , pero con una heurstica no admisible. Se podra parar la bsqueda antes de llegar al objetivo (Algoritmo anytime).

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda orientada a subobjetivos

Bases En la bsqueda orientada a subobjetivos, el conocimiento heurstico sobre el dominio del problema para establecer un conjunto de subobjetivos en el espacio de bsqueda, a travs de los cuales se espera obtener la secuencia total hacia el objetivo global. Ejemplo En una bsqueda de caminos en terrenos dicultosos, esta secuencia de subobjetivos se prodra corresponder con pasos de montaa, que se resuelven de forma secuencial.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda orientada a subobjetivos

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda jerrquica

Bases Es parecida a la bsqueda por subobjetivos, slo que ahora no hay un conjunto explcito de subobjetivos. Se trata de hacer la bsqueda a varios niveles. Primero se considera un nivel de alta abstraccin: Un estado puede ser un conjunto de estados del nivel inferior y una accin tiene una gran potencia y realiza grandes modicaciones del espacio. Una vez que se resuelve el problema en el nivel superior, se completan las acciones elementales del nivel inferior. Esto, a su vez, puede conllevar la resolucin de nuevos problemas de bsqueda.

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda jerrquica

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda jerrquica

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

Bsqueda con horizonte


Bases Se trata de realizar una bsqueda del mejor nodo al que podemos llegar dentro de los lmites de tiempo de que disponemos. Horizonte Si d es la profundidad a la que podemos llegar con el tiempo disponible, entonces el horizonte H es el conjunto de nodos que se encuentrar a dicha profundidad Objetivo Encontrar n que sea el mnimo de f en el horizonte dado: n = arg min f (n)
nH

Mtodo minimin.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica

Bsqueda con horizonte


Implementacin Se realiza una bsqueda primero en profundidad hasta profundidad d . Bajo ciertas condiciones (monotona), si pasamos por un nodo n1 a profundidad d , entonces podemos descartar cualquier nodo con n con valor f (n) > f (n1 ). Esto da lugar a un mtodo de ramicacin y poda . Caso lmite d = 1, se realizara la accin que lleva a un estado con menor valor de f . Si (n0 , a) es el estado al que llegamos desde n0 despus de ejecutar a, entonces seleccionamos a = arg min f ((n0 , a)) = arg min [c(a) + h((n0 , a))]
a a

Serafn Moral (Antonio Gonzlez)

Tema 2: Mtodos de bsqueda heurstica

You might also like