Sunteți pe pagina 1din 96

Inteligencia Artificial 1

Parte II
Cap 4
Bsqueda Heurstica

Marvin Minsky (AI Magazine - 1991)


En pequeos dominios, podemos intentar aplicar todos
nuestros mtodos de mindless search...pero no es prctico
porque la bsqueda se vuelve enorme...(CAP 3)
Para reducir la extensin de la bsqueda desinformada
debemos incorporarle tipos adicionales de conocimiento lo
que, bajo determinadas condiciones, facilita la tarea de
resolucin de problemas (CAP 4)

Repaso
Russell y Norvig han definido con elegancia un algoritmo general
para resolver problemas de bsqueda. Este algoritmo puede ser
usado para expresar diferentes estrategias especficas de
bsquedas.
Un problema se representa como una estructura con componentes:

ESTADO
NODO PADRE
OPERADOR
PROFUNDIDAD
COSTO DE RUTA.

Conceptos Generales
Una estrategia se define como una forma de darle un orden de
prioridades a la expansin de nodos.
Hacer uso de la informacin con respecto al espacio de estados
una FUNCION DE EVALUACION que describa la deseabilidad de
expandir un nodo
usar conocimiento especfico del problema
encontrar soluciones con mayor eficiencia

Temas importantes

Bsqueda Primero el Mejor


Bsqueda A* (A estrella)
Heurstica
Escalada (Ascenso a la Cima)
Forjado Simulado

4.1

4.1
Bsqueda
primero el mejor

Algoritmos de bsqueda informada


(Bsqueda inteligente)
Bsqueda Heurstica
Estrategias de Bsqueda Avara
A*

Bsqueda Heurstica
Usar informacin heuristica para adivinar qu nodo
expandir

la heurstica aparece bajo la forma de una funcin de evaluacin basada en la informacin


especfica para el dominio o contexto relacionada con el problema
el problema de bsqueda se puede considerar como la maximizacin o minimizacin de una
funcin, como es del todo general.
La funcin de evaluacin nos proporciona una manera de evaluar un nodo localmente
basado en una estimacin del costo de llegar desde el nodo al nodo meta.

Problemas con la Heurstica

la heurstica suele ser poco certera - problema abierto


valor de la actividad a un meta-nivel - problema abierto
puede no encontrar la mejor respuesta - superado por algoritmo A*

4.1 Bsqueda Primero lo Mejor


La IDEA ===>
usar una funcin de evaluacin para cada nodo
- estimar la deseabilidad
==> EXPANDIR EL NODO MS DESEABLE ENTRE LOS NO EXPANDIDOS

IMPLEMENTACION ===>
FUNCIN_EMBRETAR_COLA = QUEUINGFN = insertar sucesores en orden
decreciente de idoneidad, quedando en el tope el mejor
CASOS ESPECIALES
Bsqueda avara
A*

Bsqueda Primero lo Mejor


Ordenar los nodos de tal forma que el nodo de mejor evaluacin
sea el primero en ser expandido
la funcin de evaluacin no es omnisciente - provee una medida
estimada de la deseabilidad de usar cierta ruta hacia el estado meta
la medida debe incorporar cierto estimado de costo de la ruta
desde un estado hacia el estado meta ms cercano a l.

10

BPM - Bsqueda primero lo mejor


Idea bsica expandir el nodo que maximiza o minimiza la funcin
de evaluacin f(n)
Estrategia Avara: f(n) = h(n), donde h(n) estima el costo de llegar desde el
nodo n hacia la meta
Qu sucede si a cada paso tratamos de acercarnos al nodo meta?

En
Eneste
estecaso
casoelelmtodo
mtodoseguir
seguirlalaruta
rutams
ms
larga,
larga,alalempezar
empezaraamoverse
moversehacia
haciadelante
delante
segn
segnlalareceta
receta

Escalada tiene este


mismo defecto
11

BPM
Objetivo de la familia de bsquedas llamada Bsqueda Primero lo
Mejor encontrar velozmente la meta
expandimos el nodo ms cercano al nodo meta
para merecer optimalidad, queremos encontrar rapidamente la meta ms chata
(esto es, ms cercana al origen)
el objetivo es distinto al de la bsqueda de costo uniforme - vista previamente (la
nica bsqueda ciega interesada en costos) - que no est dirigida a la meta sino hacia
emplear el costo de ruta, ya recorrida, g, para decidir qu nodo expandir en costo
uniforme la lista se ordena para obtener la solucin ms barata en base a datos
experimentados.

12

Bsqueda Avara
La funcin de evaluacin muestra la siguiente heurstica:
h(n) = costo estimado entre n y la meta
por ejemplo
hDLR(n) = distancia en lnea recta desde n hasta Bucarest

La bsqueda avara expande el nodo que pareciera estar ms


cerca de la meta.

13

Bsqueda Avara
Una de las bsquedas Primero lo Mejor ms sencillas - MIN costo
estimado para llegar a la meta (2 sumando de f = g + h f =
h)
ese costo se puede estimar pero no determinar con exactitud; la
buena heurstica ayuda.
la funcin heurstica h es una funcin que calcula dichos estimados
de costo
h(n) = costo estimado de la ruta ms barata desde el estado en n
hasta el estado meta.

14

Bsqueda Avara
El nodo con valor h mnimo es el que se va a expandir: cola con
privilegios
h puede ser cualquier funcin, siempre que valga cero en la meta, pero
la calidad cambia mucho
las funciones heursticas son problema -intensivas (son problema especficas)
en problemas de bsqueda de ruta una buena h es hDLR , donde DLR es
distancia en lnea recta
una ruta de A a B suele ir en la direccin correcta

15

Bsqueda Avara
Adoptar la primera seleccin con una visin inmediata, sin
preocuparse si ha de ser la mejor con una perspectiva a largas
vistas.
La bsqueda halla soluciones en forma rpida, que no siempre son
las ptimas
susceptible a falsas largadas o pasos en falso (Iasi Fagaras) que
va hacia Neamt, ruta muerta sin salida
hay que cuidarse de los estados repetidos
oscilaciones entre Neamt y Iasi

16

Bsqueda Avara
Parecida a BPP, prefiriendo seguir una ruta singular hacia la meta,
aunque recula (backtracking o reversiva) al chocar con una ruta muerta
sufre del mismo defecto ni es ptima, ni es completa (con una ruta
posiblemente infinita)
su complejidad temporal en el peor de los casos es O(b^m), siendo m la
profundidad mxima del espacio de bsqueda
complejidad espacial igual a la temporal (guarda todos los nodos en
memoria)
una buena h reduce fuertemente la complejidad

17

AVARA- Minimizar el Costo Estimado


Funcin de evaluacin heurstica:

h(n) = costo estimado de la ruta entre el nodo n al nodo meta


h(n) = 0, si n es el nodo meta

tabla de distancias lineales a Bucarest =>

18

Ejemplo de Bsqueda Avara

En el mapa ya visto anotamos Arad==>Bucarest = 366 km


h(n) = distancia en lnea recta
- Zerind 374
-Sibiu 253 <==
-Timisoara 329

19

Ejemplo de Bsqueda Avara

Arad Oradea -

Fagaras

366
380
.. 178

Rimnicu Vicea - 193

20

Ejemplo de Bsqueda Avara

Sibiiu
Bucarest

253
0 <====

21

AVARA- Minimizar el Costo Estimado


Arad

h(n) = 253

Sibiu

178

366
Arad

253
Sibiu

h(n) = 329 Timisoara

h(n) = 374

Zerind

193

380

Fagaras

h(n) = 366

Oradea

Rimnicu

h(n) = 0
Bucharest

verdadera ruta ptima es: Arad

Sibiu Rimnicu Pitesti Bucharest


22

Propiedades de la bsqueda avara


Completa?

No - puede colgarse en algn bucle

p.ej., Iasi Neamt Iasi Neamt


Pasa a ser completa en espacio finito si se sujeta a una verificacin de estado repetido

Complejidad Temporal:

En el peor caso: O(bm)


pero una buena heurstica provoca mejoras dramticas

Complejidad Espacial:

En el peor caso: O(bm)


mantiene todos los nodos en memoria

Optima?

No

23

Minimizar el costo de ruta total


La bsqueda avara minimiza el costo estimado hasta la meta h(n)
poda fuertemente el costo de bsqueda
ni ptima ni completa

la bsqueda de costo uniforme minimiza el costo hasta ese


momento, g(n)
ptima y completa
podra ser muy ineficiente

f(n) = g(n) + h(n) = costo estimado de la solucin ms barata pasando


por (n)

24

Minimizar el costo de ruta total


Observaciones
Supongamos que tenemos un nodo n a una profundidad d en el rbol de
bsqueda y que adivinamos que ese nodo se halla a una distancia h(n) de la meta
ms cercana a l.
La meta estara entonces a la profundidad d + h(n) en el espacio de problema
En lugar de elegir para la expansin el nodo de mnimo h(n) (distancia esperada
hacia la meta), elegimos el nodo de

MIN d + h(n)

La profundidad se mide con la funcin de costo de la ruta g(n)


Queda

MIN g(n) + h(n)

25

Bsqueda A*

Idea no expandir trayectos que ya se sabe que son caros


Funcin de evaluacin

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


g(n) = costo hasta llegar a n
h(n) = costo estimado hasta la meta desde n
f(n) = costo total de ruta pasando por n hasta la meta
A* usa una heurstica admisible - no hay sobreestimacin de distancia
Teorema - A* es ptimo

Aproximacin lase h como heurstico, pues es funcn fuerte de


la heurstica elegida

26

Optimalidad de A*
Definir f* - el costo de la solucin ptima para la ruta
A* expande todos los nodos con f(n)<f*
A* podra expandir algunos de los nodos a la derecha del contorno de la meta, para los
cuales f(n) = f*, antes de seleccionar el estado meta.

La primera solucin encontrada debe ser la ptima, dado que los nodos
de todos los contornos subsiguientes tendrn un costo f ms alto y con
ello un costo g ms alto (todos los estados meta tienen h(n) = 0)

27

Forma til de ver la


optimalidad de A*
Lema A* expande nodos en el orden de valores crecientes de f
Esto implica decir que as como Primero en Amplitud va agregando
niveles o capas, A* va agregando contornos iso-f, siempre
crecientes, todos incluyendo el nodo de inicio y a medida que se
acercan a la meta, empiezan a incluir justo la meta y la superan. El
contorno iso-f llamado i tiene todos los nodos con f=fi.

28

A* - resumen grfico

Ver figuras con crculos concntricos deformados, ya no con


CONTORNOS equirradiales

29

Contornos concntricos

30

Contornos concntricos

380

31

Prueba estandar de la optimalidad


de A*

*
----------------------- -----------------------
*n

* G1

Sea una meta subptima G2


que est en la cola de espera
Sea n un nodo sin expandir en
el camino ms corto hacia una
meta ptima G1
A* nunca va a elegir G2 para su
expansin

*G2

32

Optimalidad de A*
Teorema: Sea h*(n) el costo real desde n hasta la meta. Si h(n) < h*(n)
para todo nodo n, entonces A* siempre va a encontrar un nodo meta
ptimo.
Prueba: Sea s el nodo meta de mnimo costo. Sea (tentativamente)
que A* seleccione un nodo meta subptimo s, donde g(s)<g(s)ec.a
Sea n un nodo sin expandir en la ruta desde el nodo inicio y el nodo
meta ptimo s. Notar que ese nodo sin expandir necesariamente existe,
de acuerdo con la suposicin previa (en el otro caso, s ya habra sido
elegido como el nodo meta).

=>

33

Optimalidad de A*
Puesto que n no ha sido elegido para su expansin en su ruta hacia s,
se sigue que:
f(n) = g(n) + h(n) f(s') = g(s') + h(s')
= g(s')
Dado que h es admisible, g(n) + h*(n) g(n) + h(n) = f(n), y entonces
g(n) + h*(n) f(s') = g(s')
lo cual implica que
g(s) g(s')
Esto contradice la suposicin previa (ec. a), la que indica que s es
una meta subptima..

34

A*
Una heurstica admisible nunca sobreestima el costo de llegar a la
meta
un estimado de costo optimista en la solucin de un problema es
menor -ms barato- que el real.
Si h es admisible, f(n) nunca sobreestima el costo real de la mejor
solucin pasando por n
La bsqueda A* - con f(n) y con h admisible
completa y ptima
hDLR es admisible

35

Conducta de la bsqueda A*
A lo largo de cualquier ruta a partir del inicio, el costo de f nunca
decae - esto es casi la regla general de las heursticas admisibles
una heurstica que cumple con esa regla se dice que exhibe
MONOTONICIDAD
heurstica no-monotnica, caso raro

f(n) = g(n) + h(n) = 3+4 siendo n nodo padre


f(n)= g(n)+h(n) = 4+2 siendo n nodo hijo

6 no tiene sentido ya que el costo de f(n) debe ser por lo menos 7, ya que la
ruta por n ha pasado por n. Esta no-monotonicidad debe ser corregida por
inconsistente.
Nota sigue siendo una heurstica admisible ya que no sobreestima el costo,
al contrario, lo infraestima ms.

36

Conducta de la bsqueda A*
Realizar entonces una correccin menor que restituya la monotonicidad
de una heurstica no-monotnica
el costo f nunca decrece durante cualquiera de las rutas partiendo del
inicio, suponiendo que h sea admisible
diverge desde el nodo inicial, sumando nodos en zonas anulares
concntricas de costos f, o sea los contornos de iso- f .

37

Conducta de la bsqueda A*
Con una bsqueda de costo uniforme (esto es, A* usando h = 0), las
zonas cubiertas entre dos contornos son anillos circulares
alrededor del estado de inicio.
Con ms heurstica (h>0) incorporada, las zonas anulares o
contornos se estirarn hacia el estado meta y poco a poco irn
delimitando ms la ruta ptima, enmarcandola ms
ajustadamente.
Esto recuerda los cambios de nivel de la BPA

38

Completitud de A*
A* expande nodos en el orden de un creciente f, con lo cual
eventualmente expandir hasta llegar al estado meta
salvo que haya una cantidad infinita de nodos con f(n)< f*
un nodo con un factor de ramificacin infinito
una ruta con costo de ruta finito pero con un nmero infinito de nodos a lo largo
de ella

39

Complejidad de A*
La bsqueda A* es OPTIMAMENTE EFICIENTE para cualquier
funcin heurstica al contrastarse con otros algoritmos ptimos que
compiten con ella.
No hay otro algoritmo que expanda menos nodos que A*
Cualquier algoritmo, que no expanda todos los nodos en los contornos
existentes entre el contorno del inicio y el de la meta, corre el riesgo de no
encontrar la solucin ptima

40

Complejidad de A*
Complejidad temporal - O(b^d)
Complejidad espacial - O(b^d)
el espacio de bsqueda de A* crece exponencialmente a no ser que
sea

h(n)-h*(n) =< O(log h*(n))


prcticamente, el error es a lo menos proporcional al costo de la
ruta
el crecimiento exponencial satura a cualquier computadora

41

Complejidad de A*
el uso de una heurstica buena provee ventajas
enormes
usualmente A* se queda sin espacio antes de
quedarse sin tiempo, puesto que mantiene a
todos los nodos en memoria

42

A*
f(n) = 366

Arad
140
h(n) = 253
f(n) = 393

140

h(n) = 329
f(n) = 447 Timisoara

Sibiu

99

75

118

151

Zerind

h(n) = 374
f(n) = 449

80

Arad

Fagaras

Oradea

f(n) = 646

f(n) = 417

f(n) = 661
146

Rimnicu

f(n) = 413

97

80

Craiova

Pitesti

f(n) = 526

f(n) = 415

Sibiu
f(n) = 553

43

Resumen de la bsqueda A*
A* usa una heurstica admisible.
h(n) h*(n), donde h*(n) es el costo verdadero desde n
para rutas sobre terreno, la distancia en lnea recta nunca
sobreestimar la distancia real de una de ellas.
A* es ptima si h es admisible

44

Resumen de la bsqueda A*
Idea No expandir estados que ya se sabe que son caros
Mejorar la bsqueda de costo uniforme y la bsqueda avara haciendo:
f(n) = g(n) + h(n)
g(n) = costo de inicio a n
h(n) = costo estimado desde n hasta meta
f(n) = costo total estimado de la ruta desde inicio a meta pasando por n

45

A*
h(n) = 253
f(n) = 393
140

Arad

Sibiu

151

f(n) = 417

99

Fagaras

80
Oradea

Rimnicu

f(n) = 413

f(n) = 526

f(n) = 646
99

211

146

Sibiu

Bucharest

Craiova

f(n) = 591

f(n) = 450

f(n) = 526

97

f(n) = 415

80

Sibiu

Pitesti

f(n) = 553
97

138

101

Rimnicu

Craiova

Bucharest

f(n) = 607

f(n) = 615

f(n) = 418

46

A*
h(n) = 253
f(n) = 393
140

Sibiu

99

151

80

Arad

Fagaras

Oradea

f(n) = 646

f(n) = 417

f(n) = 661

Rimnicu

146

Craiova

f(n) = 413

97

f(n) = 415

80

Sibiu

Pitesti

f(n) = 553

f(n) = 526
97

138

101

Rimnicu

Craiova

Bucharest

f(n) = 607

f(n) = 615

f(n) = 418

47

Casos lmites de A*

Si h=0 y g=d BPA


Si h=1/d y g=0 BPP
Si h=0 y g=0 Bsqueda aleatoria
Si h=h y g=0 Bsqueda avara
Si h=0 y g=g Bsq. de costo uniforme
Si h(n)>h*(n) se habra perdido la ruta ptima
Si h(n)<h*(n) ruta bien tramo redundante?

48

4.2

4.2
Funciones heursticas

49

4.2 Funciones Heursticas


1

estado inicial

3
4

Estado meta

Problema de los 8 tejos-Restricciones: no avanzar dos o ms pasos


por turno, no avanzar diagonalmente, no superponer un tejo a otro,
no destornillar la cajita

h1(n) =tejos fuera de orden---h2(n) = suma de distancias de Manhattan

50

Funciones heursticas
Mi problema con el juego de los 8 tejos es encontrar una heurstica para saber o adivinar
cunto me falta por llegar a la meta.
Cuento cuntos tejos estn mal ubicados con respecto a la meta. Tengo h1=7.
Parto de nuevo. Cuento para cada tejo las cuadras de Manhattan que deben recorrer
(usando rutas ortogonales y ya no diagonales). Tengo h2=18.
Miro mi posicin actual y cuento cuntos pasos debe dar cada tejo, usando diagonales si
es necesario, para llegar a su posicin meta. Sumo. Tengo h3=14.
Cuento cul es la distancia en lnea recta DLR de cada tejo con respecto a la posicin
deseada en la meta. Sumo para los 8. Tengo h4=13 .
Ntese que siempre he violado restricciones del caso real. Al hacerlo, he descubierto
otros nuevos juegos relajados.
Sern mis estimaciones de la distancia real, en pasos, a recorrer.
Mi heurstica ptima es la mxima entre h1,...,h4, pues he sido optimista.
Todas son estrategias admisibles optimistas (calculo menos pasos) nunca
sobreestiman la distancia (definen la admisibilidad)

51

Heursticas Admisibles
Encontrar una buena heurstica para un problema
relajar las restricciones
en general, el costo de una solucin exacta obtenida al relajar un
problema sirve como una buena heurstica para el problema original se menciona de nuevo la distancia de Manhattan como ejemplo
usar informacin estadstica obtenida durante entrenamiento con
ejemplos para la prediccin de valores heursticos para los nodos, con el
riesgo de generar funciones heursticas inadmisibles.
informacin estadstica (h2 =14 se correlaciona con h = 18)

52

Funciones heursticas
Siempre ser mejor usar una funcin heurstica con nmeros
mayores, por supuesto, sin pasarse a la sobreestimacin.
Hago una abstraccin. He inventado heursticas por relajamiento

de las restricciones del problema he empleado la regla


max(h1,h2,...) para definir la heurstica ptima.
He encontrado soluciones reales de versiones ms sencillas del
problema pero he preferido la menos sencilla (por ser el mejor el
ms til- de los mundos)
La evaluacin heurstica debiera ser eficiente.

53

Inventar funciones heursticas


Problema relajado - menos restricciones impuestas a los operadores.- El
costo de una solucin exacta a un problema relajado es a menudo una
buena heurstica para el problema original.

Un tejo se puede mover del cuadrado A al B si A es adyacente a B y B est vaco.


un tejo se puede mover desde el cuadrado A al B si A est adyacente a B
un tejo se puede mover del cuadrado A al B si B est vaco
un tejo se puede mover del cuadrado A al B.

54

Inventar funciones heursticas


Definicin del problema - un lenguaje formal relajacin automtica
(programa ABSOLVER que relaja)
falla en fijar claramente la mejor heurstica heurstica compuesta h(n) = max(h1(n), ..., hm(n)), usa la funcin que sea la ms precisa en
cada nodo
aprender cul es mejor rasgo para cada estado con sus propias
caractersticas.
Costo de bsqueda hay que considerar tambien el costo de usar h en
un nodo

55

Calidad de la heurstica
Factor de ramificacin efectivo b*
N = 1+b*+(b*^n)^2+...+(b*)^d
forma de caracterizar la calidad de la heurstica

h2 est ms informada que h1 si para cualquier nodo n,


h2(n)>=h1(n) y ambos son admisibles
h2 domina a h1 - entonces A* al usar h2 va a expandir menos nodos
que usando h1
COMPARACION-Ver figura 4.8, pag 110 - tabla de comparacin
de tres mtodos, dominante A*(h2), dominados h1 y bsqueda
iterativa en profundidad.

56

Qu hago con la funcin


heurstica preferida
La utilizo en el momento cuando tengo que decidir cul nodo de la
frontera (esto es de la cola) debo privilegiar para avanzar un paso
en la bsqueda.
El nodo ms conveniente - calculado segn la funcin heurstica ocupar el tope de la cola.
Esto se ve claramente en la serie de diapositivas 20 a 24 algo ms
adelante - donde el agente resolvedor de problemas puede calcular
la calidad de los diferentes nodos (ciudades en ese caso) y va
construyendo contornos con valores crecientes de iso-calidad (esto
es, iso-f en el caso de A*) hasta llegar a la meta.

57

Inventar funciones heursticas caso restricto


Sea el problema de colorear mapas (fig 4.9 con seis pases) con mnimo
nmero de colores (probemos con tres).
Seleccionar una variable (un pas, de A a F) para atribuirle un valor
(un color) A=verde, B=rojo (inicio).
Variable ms restringida (con menos grados de libertad)
verificacin adelantada (forward checking) - qu valores an no son tab para cada
variable.
Seleccionar aquella variable con menores posibles valores el factor de ramificacin
tiende a ser mnimo
el tamao factible del problema para las n-reinas aumenta desde 30 con revisacin por
adelantado hasta cerca de 100 sin ella.

58

Inventar funciones heursticas caso restricto


Revisin por adelantado (la variable de menor gl)
seleccionar cul es la variable involucrada en el mximo de restricciones con
respecto a otra variable sin asignar. Es la que tiene menos valores posibles (C gl=2; D
gl=3; E gl=1; F gl=2). Elegir D y darle el valor=azul

Logra una reduccin del factor de ramificacin en las elecciones futuras.

Valor menos restringidor

colorear D de rojo les da posibilidades a E y F

elegir un valor (rojo D) que descarta el menor nmero de valores (solo descarta el rojo
que ya antes se haba descartado) en variables E y F) conectadas a la variable en estudio
(D) por restricciones
Es el valor menos molesto para los vecinos

Deja mayor grado de libertad para selecciones futuras.

59

Buscando una solucin subptima


3 (1)
(2) 2

(3) 1

(4) 1

goal

(5) 1
(6) 1
(7)

Las
Lasetiquetas
etiquetasde
delos
losnodos
nodosson
sonsu
suvalor
valor
heurstico
heurstico hh==kk yylos
losnmeros
nmerosentre
entre
parntesis
parntesisson
sonelelorden
ordende
deprioridad
prioridadpara
para
expandir.
expandir.
El
Elvalor
valorkkde
deun
unnodo
nodosignifica
significaque
que
esperamos
esperamosque
queest
estaakkpasos
pasosde
delalameta.
meta.
El
Elmtodo
mtodosiempre
siempreexpande
expandenodos
nodoscon
con
min
mindistancia
distanciaesperada
esperadadel
delnodo
nodometa,
meta,as
as
que
queelelsubrbol
subrbolde
delaladerecha
derechanunca
nuncatiene
tiene
turno
turnopara
paraexpandir.
expandir.(Es
(Esuna
unacola
colaque
que
privilegia
privilegiaaalalaruta
rutaizquierda,
izquierda,primero
primeroen
en
profundidad)
profundidad)
Diagnstico:
Diagnstico:no
notratamos
tratamosde
deencontrar
encontrarun
un
nodo
nodometa
metaque
queest
estaauna
unaprofundidad
profundidad
ms
mschata.
chata.

goal

60

Buscar la Solucin Optima

Tratamiento
Tratamientopara
paraeleldiagnstico
diagnsticoprevio:
previo:
Las
Lasetiquetas
etiquetasde
delos
losnodos
nodosson
sonaqu
aqu
1+4 (6)
profundidad
profundidad++valor
valorheurstico.
heurstico.Nmeros
Nmeros
entre
entreparntesis
parntesisson
sonorden
ordende
deexpansin.
expansin.
Para
A*
no
hay
diferencia
real
entre
(5)
yy(6)
Para
A*
no
hay
diferencia
real
entre
(5)
2+1 (7) No se puede garantir que se pueda encontrar la solucin ptima . (6)

0+3 (1)
(2) 1+2

(3) 2+1

No se puede garantir que se pueda encontrar la solucin ptima .

Por
Porejemplo,
ejemplo,qu
qupasa
pasasisi(5)
(5)fuese
fueseelelnodo
nodometa?
meta?
Problema:
con
pesimismo
se
ha
etiquetado
Problema: con pesimismo se ha etiquetadoalalprimer
primernodo
nododedelala
rama
ramaderecha
derechacomo
como44(hemos
(hemossobreestimado
sobreestimadosusudistancia
distanciaaalala
meta)
meta)

3+0 (8)
goal
Es
Esimperiosa
imperiosauna
unaheurstica
heursticaoptimista.
optimista.

(4) 3+1
(5) 4+1
5+1
goal

61

Buscar la Solucin Optima


0+3 (1)
(2) 1+2

1+2 (6)

(3) 2+1

2+1 (7)

Admisibilidad
Admisibilidad
hh--lalafuncin
funcinheurstica
heurstica--esesoptimista
optimistasisipara
para
todo
todon,n,
h(n)
h(n)h*
h*(costo
(costoactual
actualde
dellegar
llegaralalnodo
nodo
meta)
meta)
con
coneso
esono
nosesesobreestima
sobreestimaalalcosto.
costo.
Una
Una heurstica
heurstica optimista
optimistasesellama
llamaadmisible
admisible

Casos
Casosespeciales
especiales
3+0 (8)
goal

(4) 3+1

h(n)
h(n)==h(n)*
h(n)* (la
(laheurstica
heursticaperfecta)
perfecta)
h(n)
h(n)==00??

(5) 4+1
5+1
goal

62

4.3

4.3
Bsqueda restricta por la
capacidad de memoria

63

Desarrollo de una bsqueda A* modif.

64

4.3 Bsqueda Restricta por la


Memoria

A* con Profundizacin Iterativa (IDA*) [Fig4.10]

- BPP por todos los nodos cuyos f sean menores o iguales al f lmite
el nuevo f lmite siempre ser el menor f de los nodos expandidos ms
all del f lmite
el nmero de las iteraciones de este mtodo es proporcional al nmero
de los diferentes valores de f
podra usarse un incremento e fijo para f lmite
pero no sera ADMISIBLE (e-admisible) que
e |opt soln|

65

4.3 Bsqueda restringida por


Memoria - IDA*
Gran problema de A*? mucho requisito de memoria.
Cul es lo mejor para economa de memoria? BPP (DFS)
De qu forma se mejoraban los defectos de BPP sin empeorar ms que un
poco sus requisitos de memoria? PI
De all: iterative deepening A* search (IDA* o A*PI)
cada iteracin es una bsqueda en profundidad, ahorrativa, usando un lmite
basado en el costo f y no en l (lmite de profundidad)
Estudiemos cinco iteraciones tpicas donde f va creciendo. La ltima fila es la
conclusin de la iteracin terminada.
Ciudades meta D,F,I,J (la de costos menores de ruta)- Origen: A Otras
que no son meta: B,C,E,G,H,K Fig 4.11

66

Ejemplo de IDA* o A*PI


DFS-contour = contorno BPP
iteracin 1

DFS-CONTOUR(A, 12)
DFS-CONTOUR(B, 12)
f-cost(B) = 15 > 12
new-f = 15
next-f = 15
f-cost(G) = 13 > 12
new-f = 13
next-f = 13

f-limit = 13
---------------

En el interior de la iso-f = 12: A (este iso-f se denomina


contorno inicio)
Prxima a analizar iso-f= 13.
Ver Fig 4.11 1,2,3

67

Ejemplo de IDA* o A*PI


iteracin 2

DFS-CONTOUR(A, 13)
DFS-CONTOUR(B, 13)
f-cost(B) = 15 > 13
next-f = 15
DFS-CONTOUR(G, 13)
DFS-CONTOUR(H, 13)
f-cost(H) = 18 > 13
DFS-CONTOUR(I, 13)
f-cost(I) = 24 > 13

f-limit = 15
---------------En el interior de la iso-f = 13: A y G (no son metas)
Prxima a analizar: iso-f = 15
Ver Fig 4.11 4,5,6

68

Ejemplo de IDA* o A*PI


iteracin 3
DFS-CONTOUR(A, 15)
DFS-CONTOUR(B, 15)
DFS-CONTOUR(C, 15)
next-f = 25
DFS-CONTOUR(D, 15)
next-f = 20
DFS-CONTOUR(G, 15)
DFS-CONTOUR(H, 15)
next-f = 18
DFS-CONTOUR(I, 15)

f-limit = 18
-------------

En el interior de la iso-f = 15: A,G,B (no son metas)


Prxima a analizar: iso-f = 18

69

Ejemplo de IDA* o A*PI

iteracin 4

En el interior de la iso-f = 18: A,G,B,H (no son metas)


Prxima a analizar: iso-f = 20

DFS-CONTOUR(A, 18)
DFS-CONTOUR(B, 18)
DFS-CONTOUR(C, 18)
DFS-CONTOUR(D, 18)
next-f = 20
DFS-CONTOUR(G, 18)
DFS-CONTOUR(H, 18)
DFS-CONTOUR(J, 18)
DFS-CONTOUR(K, 18)
DFS-CONTOUR(I, 18)
f-limit = 20
-------------------

70

Ejemplo de IDA* o A*PI


iteracin 5

DFS-CONTOUR(A, 20)
DFS-CONTOUR(B, 20)
DFS-CONTOUR(C, 20)
DFS-CONTOUR(D, 20)
solucin = D

----------------------

En el interior de la iso-f = 20: A,G,B,H,D (D=meta) Este iso-f


se denomina contorno meta.
FIN Hipotticamente la prxima a analizar: iso-f = 25
Ver Fig 4.11 7,8
Nota- La Fig 4.11 desarrolla el caso A*SRM

71

Algoritmo IDA*

Un problema inherente a A* es su malgasto de memoria

cuando h = 0 se reduce a BPA con lo cual usa memoria exponencial con la profundidad en que se encuentra el
nodo meta ptimo
la profundizacin iterativa puede ayudar - ahora podamos los nodos cuyo nodo meta ms cercano se puede
mostrar que est por debajo de la profundidad de corte.
Las s iteraciones individuales realizan una BPP. La funcin heurstica tiene como misin podar nodos, sin llegar a
determinar el orden de la expansin.

Sketch
SketchofofIDA*
IDA*Algorithm:
Algorithm:
1.1. Set
Setcc==1;1;this
thisisisthe
thecurrent
currentcutoff
cutoffvalue.
value.
2.2. Set
SetLLtotobe
bethe
thelist
listofofinitial
initialnodes.
nodes.
3.3. Let
n
be
the
first
node
on
L.
If
Let n be the first node on L. IfLLisisempty,
empty,increment
incrementccand
andreturn
returntotostep
step2.2.
4.4. IfIfnnisisaagoal
goalnode,
node,stop
stopand
andreturn
returnthe
thepath
pathfrom
frominitial
initialnode
nodetoton.n.
5.5. Otherwise,
Otherwise,remove
removennfrom
fromL.L.Add
Addtotofront
frontofofLLevery
everychild
childnode
nodennofofnn
for
forwhich
which f(n)
f(n) c.c.Return
Returntotostep
step3.3.

72

Algoritmo IDA*
0+2 (1,2,4,9)
(3,5,10) 1+1

1+2 (7,13)

(6,11) 2+1

2+1 (8,14)

(12) 3+1

4+1

3+1 (15)

4+0 (16)
goal

Para
Paracc==1,1,solo
solose
seexamina
examinaelelnodo
nodo
inicio
inicio
para
paracc==2,2,examinar
examinardos
dosnodos,
nodos,inicio
inicio
yysu
suhijo
hijoizquierdo.
izquierdo.Notar
Notarque
queelelhijo
hijo
derecho
derechoes
espodado
podadopues
puessu
suvalor
valorde
de ff
>>cc==22
las
lasiteraciones
iteracionesindividuales
individualesse
serealizan
realizan
mediante
medianteBPP
BPP(el
(elnodo
nodo12
12se
seexpande
expande
antes
antesque
queelel14,
14,pese
peseaaque
queelelvalor
valorde
de
ff es
esmenor)
menor)

5+0
goal

73

Bsqueda Restricta por Memoria


A* Simplificada y Limitada por Memoria (SMA*) [Fig 4.12]
- segn exigencias de memoria, descarta nodos de ella que
tengan valores de f altos.
-los valores de f descartados quedan memorizados en ancestros
- mecanismo de regeneracin de nodos descartados que regenera lo
faltante solo si todo el resto de rutas son peores.
- ptima y completa si la solucin ms chata cupo en la
memoria.
En el otro caso, entrega la mejor solucin alcanzable:
ejemplo [Fig4.11]

74

En qu consiste SMA* o A*SRM


IDA* emplea demasiado poca memoria y no la llena, con lo cual se
malgasta esfuerzo
SMA* usa en cambio toda la memoria M disponible para realizar
la bsqueda
evita estados repetidos dentro de la dispnibilidad de M
completa si M >= d, optima si M >= d*
optima en eficiencia si M >= bm
la limitacin de la memoria hace que no se pueda rastrear cul
ser el tiempo de cmputo (pendula entre candidatos)
optimalidad cae.

75

4.4

4.4
Algoritmos de mejora iterativa

76

Algoritmos de Mejora Iterativa


La lista de los principales ejemplos es:
1) Arrancar con la configuracin completa e ir modificando
hasta llegar a una solucin.
Por ejemplo, las 8 reinas [Fig4.16]

2) Ascenso a la Cima o Descenso por Gradientes [Fig4.14]


3) Endurecimiento (FORJADO) Simulado [Fig4.15]
Se transige con el empeoramiento transitorio

77

Ascenso a la Cima (Hill-Climbing Search)


Sinnimo: Escalada
Descenso por gradiente - continuamente se desplaza en la direccin de
valor que ms crece - elegir el mejor siguiente estado inmediato)
no mantiene un rbol de bsqueda
descarta informacin de ruta
rearranque de ascenso basado en azar
tres motivos de falla reconocidos

mximos locales - caminata al azar


mesas - caminata al azar
riscos - oscilaciones y poco progreso

ascenso a la cima aleatorio con rearranque


la estructura de la superficie del espacio de estados

78

Ascenso a la Cima
Idea general si no podemos usar una descripcin matemtica para
derivar e igualar a cero y con ello encontrar la ruta inteligente adecuada,
recurrimos al ascenso a la cima.
Exploramos localmente cerca del punto en que estamos, palpando la
direccin del ascenso mximo o pendiente mxima.
Dejamos as de lado un rbol de bsqueda.
Avanzamos por la pendiente mxima con un paso arbitrario (no sabemos
cul usar).
Un paso corto lleva a vagabundeo sin ganancia de informacin.
Si el paso es muy largo nos sobrepasamos y ya no estamos dentro del mtodo
Cuando decae la mejora, estamos en la cima o en una mesa.

Retomamos la bsqueda al azar.

79

FORJADO o Endurecimiento
simulado

En metalurgia y termodinmica se menciona el forjado o endurecimiento como


el proceso de inicio a alta temperatura y enfriamiento gradual para obtener
transiciones de fase ms estables que las obtenidas por enfriamiento rpido.

FORJADO o ENDURECIMIENTO SIMULADO proceso de


bsqueda global u optimizacin global en sistemas de comportamiento
estocstico, con alguna probabilidad que es funcin de una
temperatura (un cierto parmetro que desciende por ejemplo hasta
cero) con lo cual la conducta es diferente de una completamente
determinstica. La temperatura arranca siendo alta, el metal est
blando y se va endureciendo al descender la temperatura con un
programa preestablecido.

80

FORJADO o Endurecimiento
simulado
problemas difciles, por ejemplo multimodales, basados en la metfora de imitar el

endurecimiento o forjado usado en metalurgia. Si el programa de enfriamiento es


demasiado rpido, las transiciones de fase ocurren desordenadamente, mientras que si
el programa de temperatura es suave, se logra mayor estabilidad, que aqu se interpreta
como encontrando la ms alta cima en lugar de cimas subptimas.
Pertenece a la familia de los mtodos de bsqueda heursticos, esto es, admite que haya
pasos aparentemente en falso, que no mejoran la evaluacin, pero esos pasos van
disminuyendo en su probabilidad a lo largo del tiempo, cuando no se han encontrado
otras cimas que la principal que se est ascendiendo.
La tasa con que se admiten aparentes pasos en falso (decrecientes) est regulado por un
programa de enfriamiento (cooling schedule), con lo cual se mantiene la vigencia de la
metfora.
El mtodo garante un ptimo global y no un subptimo local si la temperatura baja con
suavidad.

81

FORJADO o Endurecimiento Simulado


Elegir un movimiento al azar
si es mejor, ejecutarlo
si es peor, ejecutarlo con probabilidad que decrezca
exponencialmente con lo malo del movimiento y la
temperatura
la temperatura cambia de acuerdo con un programa
si el programa hace descender la T en forma lenta, el
algoritmo va a encontrar un ptimo global

82

Aplicaciones en Problemas con Satisfaccin de


Restricciones (CSP)
Resolver los CSP por mejoramiento iterativo
solucin inicial - uso de todas las variables
operador de modificacin - asignar un valor diferente a una
variable
reparacin heurstica
heurstica de min-conflictos - seleccionar el valor que resulte
en un nmero mnimo de conflictos con otras variables

83

Satisfaccin de Restricciones
- elegir un valor para cada variable
-luego usar reparacin heurstica (reparar las
inconsistencias)
un mtodo frecuentemente muy exitoso
elegir los valores que entren en min-conflictos
con otras variables

84

4.5

4.5
Resumen y conclusiones
razonadas

85

Resumen
Bsqueda Primero por lo Mejor - parte de Bsqueda General y
expande segn COSTO MINIMO
Avara COSTO MINIMO se interpreta como h, el que falta
por satisfacer
A* combina costo uniforme (g) con avara (h) - inconveniente
- no ahorra espacio

86

Resumen (2)
Una buena heurstica, ahorra.
A*PI = A* + PI (profundizacin iterativa). Al ser
profundizacin, ahorra.
A*SRM - si la memoria est llena, borrar el nodo de f ms
alto de la cola de espera (supresor)
Mejoramiento iterativo:
ascenso a la cima - evaluacin por calidad
gradiente mnimo - evaluacin por costo
forjado simulado - retroceder pasos

87

Resumen (3)
PSR (constraint satisfaction) - se asignan valores a todas las
variables y luego se modifican para conducir el proceso
hacia buen xito.
Al reparar inconsistencias se llaman algoritmos PSR
GSAT algoritmo paradigmtico en su uso en temas
posteriores

88

Conclusiones razonadas
En nuestra conducta intelectual raramente resolvemos nuestros
problemas con un ascenso continuo hacia el buen xito. Por eso
es difcil de interpretar que un agente resolvedor de problemas
vaya a servir en los casos particulares de bsqueda.
Probablemente necesitar un abanico de recursos de bsqueda.
Quizs haya que disponerlos en una estructura jerrquica rica
con estructuras complejas y recursivas.

89

Conclusiones razonadas
Como contrapartida, es estupendo que una mquina se gue por los gradientes de la
superficie de respuesta. Los mtodos de bsqueda se dividen en dos grupos:
los DESINFORMADOS ACERCA DE DERIVADAS, globalmente lentos e
ineficientes (en muchas casos) y
los INFORMADOS y que usan inteligentemente esa informacin. El ascenso a la
cima es un bello ejemplo de algoritmo informado y al serlo es muy rpido y
eficiente.
En el caso del humano, puede hacer recordar la teora de la felicidad de Mihaly
Csikszentmihalyi, acerca del desafo y la habilidad. Una habilidad orientada por
derivadas, pendientes y tangentes parece la mejor manera de enfrentar desafos
complejos.

90

Conclusiones razonadas
Aun con el FENOMENO DE MESA (the Mesa Phenomenon) - donde el
espacio est compuesto primariamente por zonas sin pendientes y donde
pasa a explorar al azar - el mtodo de ascenso a la cima parece un buen
ejemplo de las reflexiones estimuladas por el lema de la I.A., los aviones
no aletean ( no hay que imitar temas secundarios de la biologa, sino los
principales aqu trepar, errar y trepar es primario)
Frente al efecto MESA la bsqueda al azar es una de las ms ingeniosas
para detectar nuevas pendientes es as una heurstica adecuada que
complementen a la bsqueda de ascenso a la cima.

91

Conclusiones razonadas
Estas heursticas conducen a pensar en otra categora de mtodos de bsqueda
mucho ms afines a la mente humana. No han sido mencionados en este Captulo 4.
Son los que incorporan aprendizaje a la bsqueda tema por ver (cap. 17). En
vez de buscar al azar, buscar al azar en zonas no recin exploradas.
La idea fundamental es aprendizaje por refuerzo (tpico de los animales) , un
concepto tradicional de la psicologa y de la IA.

El clsico mtodo de programacin dinmica de Bellman es el nico mtodo


que computa la mejor estrategia de control a lo largo del tiempo de
bsqueda. Se ha podido hibridizar entonces entre aprendizaje por refuerzo y
programacin dinmica clsica, generando ADP (programacin dinmica
aproximada). Ese quizs sea el futuro.

92

Conclusiones razonadas
Si no sabemos cmo obtener X, creemos un espacio de estados
donde sepamos que va a estar incorporado X y luego busquemos
a X dentro de ese espacio.
Mrito de esta formulacin siempre es posible encontrar un
espacio donde est contenida la respuesta o solucin.
Cuanto menos conocimiento tengamos, tanto ms grande ser el
espacio. La inteligencia lo achica.

93

Conclusiones razonadas
Dos grandes temas fundamentales en IA.
La bsqueda es uno de ellos.
Los procesos de reconocimiento de patrones
APRENDIZAJE, son el otro, igualmente fundamental (aunque
reconocer es haber buscado). Permiten el contacto entre la
estructura de memoria almacenada y la estructura de la tarea a
enfrentar.
La esencia de tener un problema es el de no saber qu hacer a
continuacin.
Esto genera bsqueda - una bsqueda combinatoria.

94

Conclusiones razonadas
Hay por lo menos tres bsquedas en cada tarea intelectual.

Bsqueda clsica dentro del espacio de problema tradicional, a travs de los nodos de un rbol
o entre nodos, como el ascenso a la cima.
Bsqueda de la receta intelectual para buscar (tarea por ahora del diseador - en el futuro?)
Bsqueda de medir bien la aproximacin a la meta (la heurstica el programa ABSOLVER)

Alguna de esas bsquedas podra ser encarada como reconocimiento de


patrones o como bsqueda propiamente dicha.
Sabemos que los rboles de bsqueda se pueden plantear como clusulas de
Horn buscar es tambin esgrimir lgica con estructuras lgicas se puede
buscar.
A esta altura lo que sabemos es buscar esa es nuestra opcin.

95

CONTINA
http://www.angelfire.com/oh4/ohcop/ClaseCap5nu.ppt
http://www.angelfire.com/oh4/ohcop/ClaseCap5nu.ppt
http://www.angelfire.com/oh4/ohcop/ClaseCap5nu.ppt

BIBLIOGRAFIA DEL TEMA:


http://www.angelfire.com/oh4/ohcop/ayuda44.html
http://www.angelfire.com/oh4/ohcop/ayuda44.html
http://www.angelfire.com/oh4/ohcop/ayuda44.html

96

S-ar putea să vă placă și