Está en la página 1de 34

Inteligencia Artificial

Algoritmos de Busqueda
Informada
Hernan Gomez E.

Tematica

Busqueda primero mejor


Busqueda primero mejor avara
Busqueda A*
Heuristicas
Algoritmos de busqueda local
Busqueda ascenso a colina

Busqueda primero es mejor


Idea: por cada nodo emplea una funcion de evaluacion
f(n).
La funcion determina la deseabilidad del nodo para
expandir. El nodo a expandir tiene que no haber sido
expandido con anterioridad.

Mapa de Rumania

Heurstica, H(n): distancia en lnea recta desde una ciudad(Estado actual) a


Bucarest(Estado final). EJ. H(fagaras)=176. Distancia de fagaras en lnea
recta a bucarest.
4

El Primero es Mejor Avaro


Funcion de evaluacion f(n) = h(n)
(heuristica); estima el costo desde n al
objetivo.
Ejemplo: h(n) , distancia en linea recta
desde n a Bucarest
El algoritmo primero es mejor avaro,
expande el nodo que sea mas cercano al
objetivo
5

Ejemplo primero mejor avaro

Ejemplo primero mejor avaro

Ejemplo primero mejor Avaro

Ejemplo primero mejor avaro

Propiedades de la busqueda
primero mejor
Completo? No puede quedar en un
ciclo. Ejemplo: Iasi Neamt Iasi
Neamt
Temporalidad? O(bm). La mejora depende
de la Heuristica.
espacio? O(bm)
Optimo? No

10

Busqueda A*
Idea: Evita expandir rutas ya expandidas
Funcion de evaluacion f(n) = g(n) + h(n)
g(n) = costo para alcanzar n desde el
nodo origen
h(n) = calculo del nodo n al nodo meta
f(n) = calculo total de la ruta del nodo n al
nodo meta.
11

Ejemplo de Algoritmo A*

12

Ejemplo de Algoritmo A*

13

Ejemplo de Algoritmo A*

14

Ejemplo de Algoritmo A*

15

Ejemplo de Algoritmo A*

16

Ejemplo de Algoritmo A*

17

Propiedades A*
Completitud. Si
Complejidad Temporal: exponencial
Complejidad Espacial: mantiene todos los
nodos en memoria.
Optimo: Si

18

Heuristicas Admisibles
Una huristica h(n) es admisible si para cada
nodo n, h(n) h*(n), donde h*(n) es el costo
verdadero de alcanzar el nodo meta desde n
Una heuristica admissible nunca sobreestima el
costo de alcalzar el nodo meta.
Ejemplo: h(n) (nunca sobre estima la distancia
del camino actual)
Teorema: Si h(n) es admisible, A* es optimo

19

Heuristicas Admisibles
Ejemplo de 8 Puzzle:
h1(n) = Numero de fichas mal situadas.
h2(n) = Distancias Manhattan de las fichas

h1(S) = ?
h2(S) = ?
20

Admissible heuristics
Ejemplo de 8 puzzle:
h1(n) = Numero de fichas mal situadas.
h2(n) = Distancias Manhattan de las fichas

h1(S) = ? 8
h2(S) = ? 3+1+2+2+2+3+3+2 = 18
21

Dominante
Si h2(n) h1(n) para todo nodo n (ambas admisibles)
Luego h2 domina a h1
h2 es una heurstica mejor para la bsqueda
Costo de bsqueda (Numero de nodos promedios
expandidos):
d=12
IDS(profundidad) = 3,644,035 nodos
A*(h1) = 227 nodos
A*(h2) = 73 nodos
d=24
IDS = muchos nodos
A*(h1) = 39,135 nodos
A*(h2) = 1,641 nodos
22

Ascenso a colinas
Escalada simple Se busca cualquier
operacin que suponga una mejora respecto
al padre.
Escalada por mxima pendiente (steepestascent hill climbing, gradient search) Se
selecciona el mejor movimiento (no el
primero de ellos) que suponga mejora
respecto al estado actual
23

Ascenso a colinas

24

Slo se consideran los descendientes cuya


funcin de estimacin es mejor que la del
padre (poda del espacio de bsqueda).
Se puede usar una pila y guardar los hijos
mejores que el padre para
hacer
backtracking, pero por lo general es
prohibitivo.
Es posible que el algoritmo no encuentre
una solucin aunque la haya.
25

Ascenso a colinas
Las caractersticas de la funcin heurstica y la solucin
inicial determinan el xito y rapidez de la bsqueda
La estrategia del algoritmo hace que la bsqueda
pueda acabar en un punto donde la solucin slo sea
la ptima aparentemente
Problemas
Mximo local: Ningn vecino tiene mejor coste
Meseta: Todos los vecinos son iguales
Cresta: La pendiente de la funcin sube y baja (efecto
escaln)
26

Ascenso a colinas

Solucin: Cualquier combinacin de objetos en la mochila


Solucin Inicial: Mochila vaca
Operadores: Meter y sacar objetos de la mochila
Funcin heurstica: max Valori o max Valor i /Pesoi

27

Ascenso a colinas

28

Ascenso a colinas

29

Ascenso a colinas

30

Simulated annealing
Es un algoritmo de Hill-Climbing estocstico (elegimos
un sucesor de entre todos los posibles segn una
distribucin de probabilidad, el sucesor podra ser peor)
Hacemos paseos aleatorios por el espacio de soluciones
Inspirado en el proceso fsico de enfriamiento controlado
(cristalizacin, templado de metales)
Se calienta un metal/disolucin a alta temperatura y se
enfra progresivamente de manera controlada Si el
enfriamiento es adecuado se obtiene la estructura de
menor energa (mnimo global).
31

Simulated annealing
Debemos identificar los elementos del problema con los del
problema fsico.
Temperatura, parmetro de control
Energa, calidad de la solucin f (n)
Funcin de aceptacin, permite decidir si escoger un nodo
sucesor
F(f ,T), funcin de la temperatura y la diferencia de calidad entre la
solucin actual y la solucin candidata
A menor temperatura menor probabilidad de elegir sucesores peores

Estrategia de enfriamiento, nmero de iteraciones a realizar,


como bajar la temperatura y cuantos sucesores explorar para
cada paso de temperatura
32

Simulated annealing

33

Ascenso a colinas vs
Simulated annealing

34