Anda di halaman 1dari 46

6.

Tcnicas de Bsqueda Heurstica


Bsquedas Informadas

2.2 Bsqueda Heurstica

Tcnicas de Bsqueda Heurstica


1. BSQUEDA PRIMERO EL MEJOR Algoritmo A* Mejoras al Algoritmo A* 2. FUNCIONES HEURSTICAS Propiedades 3. BSQUEDA LOCAL Bsqueda en escalada o Gradiente Hill-climbing
(Gradient descent)

(Best-First Search)

Bsqueda Voraz o Avara (Greedy search)

Simulated annealing
2

Haz Local

2.2 Bsqueda Heurstica

Objetivos
Al finalizar este tema el alumno deber ser capaz de: 1. Definir funciones heursticas apropiadas a los problemas planteados. 2. Aplicar los algoritmos de b. heurstica. 3. Aplicar los algoritmos de b. local 4. Evaluar las ventajas de cada mtodo. 5. Seleccionar la mejor estrategia de acuerdo a las caractersticas del problema.

2.2 Bsqueda Heurstica

Introduccin Funcin Heurstica h(n)


HEURSTICA Manera de buscar la solucin de un problema mediante mtodos no rigurosos, como por tanteo, reglas empricas, etc (RAE, 2001) Proceso que puede resolver un problema dado, pero que no ofrece ninguna garanta de que lo har (Newell, Shaw y Simon, 1963). FUNCIN HEURSTICA Estima el coste de elegir una ruta para llegar al objetivo Utiliza informacin del dominio especfico del problema No garantiza el xito, pero suele ser mejor que la bsqueda a ciegas

2.2 Bsqueda Heurstica

Introduccin Heursticas para el 8-puzle


2 1 8 7 6 3 4 5 1 8 7 6 2 3 4 5

h1 = n de piezas mal colocadas h1(x) = fichas(1,2,6,7,8)=5 h2 = suma de las distancias de Manhattan de las posiciones a sus objetivos. La distancia de Manhattan es el n de filas y columnas que restan de la posicin actual de una pieza a su posicin final. Por ejemplo, la distancia Manhattan de la pieza 2 sera de 1, de la pieza 5 sera 0, etc.
5

h2(x) = 1+1+0+0+0+2+1+1=6

2.2 Bsqueda Heurstica

Introduccin Funcin de Evaluacin f(n)


La decisin final de expandir un nodo se basa en la funcin de evaluacin

f(n)

Evaluar si el estado-actual es el mejor estado para seguir expandiendo el rbol o grafo de bsqueda Normalmente se establece el criterio de elegir el nodo con la f(n) ms baja, de tal manera que la funcin heurstica cumpla: h(objetivo) = 0

2.2 Bsqueda Heurstica

Introduccin Funcin de Evaluacin f(n)


Una funcin de evaluacin describe la conveniencia de expandir el nodo n B
D E A

f(B) C

f(C)

h(B)

h(C)

Una funcin heurstica estima el coste de alcanzar el objetivo desde un estado n

Objetivo

2.2 Bsqueda Heurstica

Tcnicas de Bsqueda Heurstica


1. BSQUEDA PRIMERO EL MEJOR
Search) (Best-First

Bsqueda Voraz o Avara (Greedy search) Algoritmo A* Mejoras al Algoritmo A* 2. FUNCIONES HEURSTICAS Propiedades 3. BSQUEDA LOCAL Bsqueda en escalada o Gradiente Hill-climbing
(Gradient descent)

Simulated annealing
8

Haz Local

2.2 Bsqueda Heurstica

Bsquedas Primero el Mejor


(Avara y A*) Busca el nodo que parece ser el mejor (segn la funcin de evaluacin) Ordena la lista ABIERTOS por los valores asociados a cada nodo en funcin de f(n). Combina las ventajas de la Bsqueda en Profundidad Sigue un nico camino, sin necesidad de generar todos los caminos posibles Y la Bsqueda en Anchura: No se queda en bucles infinitos o caminos sin salida

2.2 Bsqueda Heurstica

Bsqueda Avara (Voraz) 1 el Mejor


Greedy Search

Trata de expandir el nodo ms cercano al objetivo minimizar el coste estimado para alcanzar el estado final Funcin Heurstica h(n) estima el coste del camino del nodo n al estado final Selecciona de la lista ABIERTOS el nodo con el menor valor de

f(n)

10

2.2 Bsqueda Heurstica

Distancia entre ciudades rumanas

Realizar una estimacin del camino ms barato desde Arad a Bucarest

11

h(n) : distancia en lnea recta de una ciudad a Bucarest

2.2 Bsqueda Heurstica

h(n) realiza una estimacin del camino ms barato a Bucarest desdede Bsqueda Avara Ejemplo Arad: distancia en lnea recta Total recorrido=140+99+211 = 450

12

2.2 Bsqueda Heurstica

Algoritmo A*
La funcin de evaluacin f(n) calcula el coste estimado ms barato a travs del nodo n a la solucin:

f(n) = g(n) + h(n)


g(n): coste de recorrer el camino desde el estado inicial hasta n. h(n): coste estimado de ir del estado n hasta el
13

objetivo.

2.2 Bsqueda Heurstica

Bsquedas Primero el Mejor

Greedy Search (Bsqueda Avara):

f(n) = h(n)

Algoritmo A*

f(n) = g(n) + h(n)

14

2.2 Bsqueda Heurstica

Funcin de evaluacin en A*
A

g(B)
B

g(C)
C

f(B) = g(B) + h(B)


h(B)

f(C) = g(C) + h(C)


h(C)

Objetivo

15

2.2 Bsqueda Heurstica

g(n) : distancia del origen a un nodo Ejemplo A* h(n) : distancia en lnea recta de una ciudad a Bucarest

16 Total Recorrido = 140 + 80 + 97 + 101 = 428

ES MEJOR !

2.2 Bsqueda Heurstica

Algoritmo A*
1. ABIERTOS:=(nodoinicial) 2. CERRADOS:=NIL 3.

4. FIN
17

2.2 Bsqueda Heurstica

Algoritmo A*
1. ABIERTOS:=(nodoinicial) 2. CERRADOS:=NIL 3. Mientras (ABIERTOS Nil Y First(ABIERTOS) Objetivo) a) actual:= First(ABIERTOS) b) CERRADOS:= {CERRADOS + actual} c) Nuevos:= Expandir(actual) aplica operadores y calcula f(n)=g(n)+h(n) para cada nuevo nodo generado d) ABIERTOS:=Insertar(ABIERTOS, Nuevos, f(n)) en orden creciente de f(n) Fin_Mientras 4. Si (First(ABIERTOS)==Objetivo) entonces Devolver Solucin si_no Devolver Fallo FIN

18

2.2 Bsqueda Heurstica

Algoritmo A*
1. ABIERTOS:=(nodoinicial) 2. CERRADOS:=NIL 3. Mientras (ABIERTOS Nil Y First(ABIERTOS) Objetivo) a) actual:= First(ABIERTOS) b) CERRADOS:= {CERRADOS + actual} c) Nuevos:= Expandir(actual) aplica operadores y calcula f(n)=g(n)+h(n) para cada nuevo nodo generado d) ABIERTOS:=Insertar(ABIERTOS, Nuevos, f(n)) en orden creciente de f(n) Fin_Mientras 4. Si (First(Abiertos)==Objetivo) entonces Devolver Solucin si_no Devolver Fallo FIN

19

2.2 Bsqueda Heurstica

Algoritmo A*
1. ABIERTOS:=(nodoinicial) 2. CERRADOS:=NIL 3. Mientras (ABIERTOS Nil Y First(ABIERTOS) Objetivo) a) actual:= First(ABIERTOS) b) CERRADOS:= {CERRADOS + actual} c) Nuevos:= Expandir(actual) aplica operadores y calcula f(n)=g(n)+h(n) para cada nuevo nodo generado d) ABIERTOS:=Insertar(ABIERTOS, Nuevos, f(n)) en orden creciente de f(n) Fin_Mientras 4. Si (First(Abiertos)==Objetivo) entonces Devolver Solucin si_no Devolver Fallo FIN

20

2.2 Bsqueda Heurstica

Algoritmo A*
1. ABIERTOS:=(nodoinicial) 2. CERRADOS:=NIL 3. Mientras (ABIERTOS Nil Y First(ABIERTOS) Objetivo) a) actual:= First(ABIERTOS) b) CERRADOS:= {CERRADOS + actual} c) Nuevos:= Expandir(actual) aplica operadores y calcula f(n)=g(n)+h(n) para cada nuevo nodo generado d) ABIERTOS:=Insertar(ABIERTOS, Nuevos, f(n)) en orden creciente de f(n) Fin_Mientras 4. Si (First(Abiertos)==Objetivo) entonces Devolver Solucin si_no Devolver Fallo FIN

21

2.2 Bsqueda Heurstica

Algoritmo A*
1. ABIERTOS:=(nodoinicial) 2. CERRADOS:=NIL 3. Mientras (ABIERTOS Nil Y First(ABIERTOS) Objetivo) a) actual:= First(ABIERTOS) b) CERRADOS:= {CERRADOS + actual} c) Nuevos:= Expandir(actual) aplica operadores y calcula f(n)=g(n)+h(n) para cada nuevo nodo generado d) ABIERTOS:=Insertar(ABIERTOS, Nuevos, f(n)) en orden creciente de f(n) Fin_Mientras 4. Si (First(Abiertos)==Objetivo) entonces Devolver Solucin si_no Devolver Fallo FIN

22

2.2 Bsqueda Heurstica

Ejercicio Genrico
Aplica B. Voraz y A* g(nodo)=valores en los arcos h(nodo)=valores dentro del nodo

23

2.2 Bsqueda Heurstica

Bsqueda Voraz 1 el Mejor


No es ptima No es completa Complejidad en tiempo: n de nodos generados O(bm) Complejidad en espacio: longitud mxima que puede alcanzar la lista de estados almacenada en memoria O(bm) b: factor de ramificacin y m profundidad mxima

24

2.2 Bsqueda Heurstica

Rendimiento de A*
Completo: cuando elimina los estados repetidos ptimo: cuando h es admisible (h nunca sobreestima el coste real de alcanzar la meta) Complejidad en tiempo: n de nodos generados O(bm) Complejidad en espacio: longitud mxima que puede alcanzar la lista de estados almacenada en memoria O(bm)

25

b: factor de ramificacin y m profundidad mxima

2.2 Bsqueda Heurstica

Mejoras del Algoritmo A*


La principal desventaja de A* es que mantiene todos los nodos generados en memoria (crecimiento exponencial) A* de Profundidad Iterativa Utiliza como criterio de corte el f-valor: Expadir nodo slo si f(nodo) <= f-valor Actualizar f-valor = Mn{ f(nodo)>f-valor }
mnimo valor que supere el lmite establecido en la iteracin anterior

Sufre una regeneracin excesiva de nodos

26

2.2 Bsqueda Heurstica

Derivaciones del Algoritmo A*


A* BRPM: Bsqueda Recursiva 1 el Mejor Mantiene la pista del f-valor del mejor camino alternativo disponible desde cualquier antepasado del nodo actual. Si el nodo actual excede este lmite, vuelve al camino alternativo con mejor f-valor. Actualiza todos los nodos hacia atrs, y no descarta volver por un camino olvidado si el f-valor vuelve a ser mejor. Regeneracin excesiva de los nodos. ptimo si h es admisible Complejidad en espacio: O(bd)

27

2.2 Bsqueda Heurstica

Derivaciones del Algoritmo A*


A* con Memoria Acotada Simplificada Avanza como A* hasta que la memoria est llena. A*MS retira el peor nodo hoja (mayor f-valor) y expande la mejor hoja Completo si d es menor que el tamao de la memoria. No es eficiente en problemas grandes porque la limitacin de memoria puede hacer que un problema sea intratable desde el punto de vista de tiempo de clculo

28

2.2 Bsqueda Heurstica

Tcnicas de Bsqueda Heurstica


1. BSQUEDA PRIMERO EL MEJOR
Search) (Best-First

Bsqueda Voraz o Avara (Greedy search) Algoritmo A* Mejoras al Algoritmo A* 2. FUNCIONES HEURSTICAS Propiedades 3. BSQUEDA LOCAL Bsqueda en escalada o Gradiente Hill-climbing
(Gradient descent)

Simulated annealing
29

Haz Local

2.2 Bsqueda Heurstica

Admisibilidad
Admisibilidad: Una heurstica admisible es una funcin que nunca sobrestima el coste real de alcanzar el estado final. P.ej. Distancia en lnea recta Optimalidad: Si la funcin heurstica h es admisible, el algoritmo de bsqueda encontrar el camino ms barato hacia la solucin en el mnimo de pasos. A* es ptimo si h es admisible (con rboles de bsqueda): porque f(n)=g(n)+h(n) nunca sobrestima el coste actual de la mejor solucin hacia n

30

2.2 Bsqueda Heurstica

Demostracin A* es ptimo
G1: objetivo ptimo
h(G1) =0 f(G1)=g(G1)+h(n) C* C* Coste Mnimo
A

G2: objetivo subptimo


f(G2)=g(G2)+0> C* h(G2) = 0 g(G2) MAYOR que C*

f(n)

n B

f(G2)
G2 G2
Objetivo Subptimo

G1 Objetivo G1
ptimo

31

n es un nodo en el camino de la solucin ptima f(n) MENOR O IGUAL que C* f(n)=g(n)+h(n) <= C* h admisible A* nunca seleccionar el nodo G2 porque f(n) C* < f(G2)

2.2 Bsqueda Heurstica

Consistencia
Optimalidad en Grafos Desechar camino ms caro Asegurar que se sigue el camino ptimo a cualquier estado repetido. Una funcin heurstica es consistente:

n c(n,m) h(n) m h(m) G

h(n) <= h(m)+c(n,m), (n,m)


f(n) es no decreciente Si h(n) es consistente A* encuentra el camino ptimo

32

2.2 Bsqueda Heurstica

Consistencia en las ciudades rumanas


Heurstica: distancia en lnea recta Sibiu h(Sibiu)= 253 c(Sibiu,Fagaras)=99 Fagaras h(Fagaras)= 178
h(n) m h(m) G n c(n,m)

Bucarest

h(Sibiu) <= h(Fagaras) + c(Sibiu,Fagaras)


33

2.2 Bsqueda Heurstica

Eficiencia en las Funciones Heursticas


Factor de Ramificacin Efectivo b* que debera tener un rbol equilibrado de profundidad d para contener N+1 nodos: N +1 = 1+ b* + b*2 . + b*d Mejor heurstica cuanto ms cercano a 1 sea b* Funciones Heursticas Dominantes h2(n) h1(n) h2 nunca generar ms nodos que h1 Diseo de heursticas: h(n)=max{(h1(n), h2(n), , hp(n)} Aprender h(n) mediante la solucin de muchos problemas (nodo, costo) Combinacin de caractersticas : h(n) = c1x1(n) + c2x2(n)

34

2.2 Bsqueda Heurstica

Relajacin de Precondiciones
Una ficha puede moverse del cuadrado A al cuadrado B si: A y B son adyacentes B est vaca Problemas relajados: Si no son adyacentes cualquier ficha del tablero puede moverse al hueco
h1 = n de piezas mal colocadas

Una ficha se puede mover a una ficha adyacente que no est vaca
h2 = distancias de Manhattan de las posiciones a sus objetivos
35

2.2 Bsqueda Heurstica

Heursticas para el 8-puzle


2 1 8 7 6 3 4 5 1 8 7 6 2 3 4 5

h1 = n de piezas mal colocadas h1(x) = fichas(1,2,6,7,8)=5 h2 = suma de las distancias de Manhattan de las posiciones a sus objetivos. La distancia de Manhattan es el n de filas y columnas que restan de la posicin actual de una pieza a su posicin final. Por ejemplo, la distancia Manhattan de la pieza 2 sera de 1, de la pieza 5 sera 0, etc.
36

h2(x) = 1+1+0+0+0+2+1+1=6

2.2 Bsqueda Heurstica

Tcnicas de Bsqueda Heurstica


Bsqueda Primero el Mejor
(Best-First Search)

Bsqueda Voraz (Greedy search) Algoritmo A* Algoritmos Iterativos o de Bsqueda Local Bsqueda en escalada o Gradiente
(Hill-climbing or Gradient ascent/descent)

Haz Local Temple Simulado Simulated annealing


37

2.2 Bsqueda Heurstica

Algoritmos de Bsqueda Local


Cuando el camino a la solucin es irrelevante: Guardan slo un estado en memoria: el estado actual Se mueven slo a los nodos vecinos del nodo actual No son sistemticos en la bsqueda Utilizan poca memoria Pueden encontrar soluciones razonables en espacios de estados grandes o infinitos Pueden quedar atrapados en mximos/mnimos locales

38

2.2 Bsqueda Heurstica

Bsqueda Local Algoritmos de Escalada (Hill-Climbing)


Bucle que continuamente se mueve en la direccin del valor: creciente (si se trata de maximizar una funcin objetivo) decreciente (si se trata de minimizar la funcin de coste)

39

2.2 Bsqueda Heurstica

Bsqueda en Escalada
Se generan los sucesores de un estado n y sea m, el de mayor f(m). Si f(m)>f(n) devuelve m como expansin. Sigue el recorrido a travs de los nodos en los que el valor de dicha funcin sea mximo (cuesta arriba). No mantiene un rbol de bsqueda, tan solo una estructura con el estado y el valor de la funcin objetivo. La B. en Escalada slo mira a los vecinos inmediatos al estado actual. Termina cuando alcanza un pico donde ningn vecino tiene un valor ms alto.

40

2.2 Bsqueda Heurstica

Algoritmo B. en Escalada
La lista de ABIERTOS slo mantendra un nico estado despus de aplicar los operadores a actual
vecino:=sucesor de actual con f mayor si f(vecino) f(actual) entonces ABIERTOS:= actual si no ABIERTOS:= vecino

41

2.2 Bsqueda Heurstica

Problemas
llanura Mximo global

Mximo local Meseta

42

2.2 Bsqueda Heurstica

Bsqueda por Haz Local


Guarda la pista de k estados. Comienza con estados generados aleatoriamente En cada paso, se generan todos los sucesores de los k estados. Si alguno es un objetivo, finaliza. Si no, se seleccionan los k mejores sucesores de la lista completa y se repite el proceso

43

2.2 Bsqueda Heurstica

Colocar n reinas sobre un tablero de n x n, sin que queden dos reinas en la misma columna, o diagonal Mover una reina para reducir el nmero de conflictos

44

2.2 Bsqueda Heurstica

Referencias
Russell & Norvig : Captulo 3 Realiza un repaso a las tcnicas de bsqueda no informada, analizando el rendimiento de cada solucin y planteando alternativas menos costosas. Adems plantea el tratamiento de los estados repetidos, el cual se puede aplicar a cualquier estrategia seleccionada.

45

2.2 Bsqueda Heurstica

Referencias Bibliogrficas
Inteligencia Artificial: Un Enfoque Moderno. S. Russell y P. Norvig, 2005 Problemas Resueltos de IA Aplicada. Bsqueda y Representacin. Fernndez et al. (2003)

Aspectos bsicos de la Inteligencia Artificial. Mira et al. , 2003

46

Anda mungkin juga menyukai