capítulo 4 búsqueda heurística

50
FASTA - IA1 - Clase 8-1 1 Capítulo 4 Búsqueda Heurística Sección 4.1 Diapositivas de C H v d Becke parcialmente sobre ideas de los prof. Stuart Russell, Peter Norvig y Jeff Thomson

Upload: arvid

Post on 27-Jan-2016

86 views

Category:

Documents


0 download

DESCRIPTION

Capítulo 4 Búsqueda Heurística. Sección 4.1 Diapositivas de C H v d Becke parcialmente sobre ideas de los prof. Stuart Russell, Peter Norvig y Jeff Thomson. Marvin Minsky (AI Magazine - 1991). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 1

Capítulo 4 Búsqueda Heurística

Sección 4.1 Diapositivas de C H v d Becke parcialmente sobre ideas de los prof. Stuart

Russell, Peter Norvig y Jeff Thomson

Page 2: Capítulo 4  Búsqueda Heurística

2FASTA - IA1 - Clase 8-1

• En pequeños dominios, podemos intentar

aplicar todos nuestros métodos de mindless search...pero es impráctico porque la búsqueda se vuelve enorme...(CAP 3)

• Para reducir la extensión de la búsqueda desinformada debemos incorporarle tipos adicionales de conocimiento - incorporando expertizaje en resolución de problemas durante la tarea de resolución de problemas (CAP 4)

Marvin Minsky (AI Magazine - 1991)

Page 3: Capítulo 4  Búsqueda Heurística

3FASTA - IA1 - Clase 8-1

Atisbemos el Cap. 6

• El papel que se espera que pueda cumplir la teoría de la representación del conocimiento es el de poder reducir, con su ayuda, la acción inteligente a una simple búsqueda inteligente

Page 4: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 4

Repaso• Russell y Norvig han definido con elegancia un

algoritmo general para resolver problemas de búsqueda. Este algoritmo puede ser usado para expresar diferentes estrategias específicas de búsquedas.

• Un problema se representa como una estructura con componentes: – ESTADO

– NODO PADRE

– OPERADOR

– PROFUNDIDAD

– COSTO DE RUTA.

Page 5: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 5

Repaso - Algoritmo general de Búsqueda

FASTA - IA1 - Clase 6 18

function General-Search(problem, strategy) returns a solution, or failure

function General-Search (problem, QUEUING-FN) returns a solution, or a failure { nodes <-- MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[problem])) loop { if nodes is empty then return failure node <-- REMOVE-FRONT(nodes) if GOAL-TEST[problem] applied to STATE(node) succeeds then return node nodes <-- QUEUING-FN(nodes, EXPAND(node, OPERATORS[problem]))}}

function General-Search(problem, strategy) returns a solution, or failure

function General-Search (problem, QUEUING-FN) returns a solution, or a failure { nodes <-- MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[problem])) loop { if nodes is empty then return failure node <-- REMOVE-FRONT(nodes) if GOAL-TEST[problem] applied to STATE(node) succeeds then return node nodes <-- QUEUING-FN(nodes, EXPAND(node, OPERATORS[problem]))}}

Page 6: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 6

Conceptos Generales• Una estrategia se define como una forma de darle un orden

de prioridades a la expansión de nodos.• Hacer uso de la información con respecto al espacio de

estados• aplicar la función de ubicar en cola - cuál nodo de la lista

de espera expandir primero• una FUNCION DE EVALUACION que describa la

deseabilidad de expandir un nodo• usar conocimiento específico del problema• encontrar soluciones con mayor eficiencia

Page 7: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 7

Temas importantes

• Búsqueda Primero lo Mejor

• Búsqueda A* (A estrella)

• Heurística

• Escalada (Ascenso a la Cima)

• Forjado Simulado

Page 8: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 8

SECCIÓN 4.1

Búsqueda Preferente por lo Mejor

Page 9: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 9

Algoritmos de búsqueda informada

(Búsqueda inteligente)

• Búsqueda Heurística

• Estrategias de Búsqueda Avara

• A*

Page 10: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 10

Búsqueda Heurística• Usar información “heuristica” para adivinar cuál

nodo expandir– la heurística aparece bajo la forma de una función de evaluación basada

en la información específica para el dominio o contexto relacionada con el problema

– el problema de búsqueda se puede considerar como la maximización o minimización de una función, como es del todo general.

– La función de evaluación nos proporciona una manera de evaluar un nodo “localmente” basado en una estimación del costo de llegar desde el nodo al nodo meta.

• Problemas con la Heurística– la heurística 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*

Page 11: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 11

4.1 Búsqueda Primero lo MejorLa IDEA ===>

usar una función de evaluación para cada nodo- estimar la deseabilidad

==> EXPANDIR EL NODO MÁS DESEABLE ENTRE LOS NO EXPANDIDOS

IMPLEMENTACION ===>

QUEUINGFN = insertar sucesores en orden decreciente de deseabilidad, quedando en el tope el mejor

CASOS ESPECIALESBúsqueda avaraA*

Page 12: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 12

Búsqueda Primero lo Mejor• Ordenar los nodos de tal forma que el nodo de

mejor evaluación sea el primero en ser expandido

• la función de evaluación 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 más cercano a él.

Page 13: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 13

BPM - Búsqueda primero lo mejor• Idea básica expandir el nodo que maximiza o minimiza

la función de evaluación 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 este caso el método seguirá la ruta más larga, al empezar a moverse hacia delante según la receta

En este caso el método seguirá la ruta más larga, al empezar a moverse hacia delante según la receta

Escalada tiene este mismo defecto

Page 14: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 14

BPM • Objetivo de la Búsqueda Primero lo Mejor-

encontrar velozmente la meta– expandimos el nodo más cercano al nodo meta– para merecer optimalidad, queremos encontrar

rapidamente la meta más “chata” (esto es, más cercana al origen)

– No ordenamos la lista en términos de distancia hacia la meta, sino que lo hacemos en términos de calidad (escasa profundidad esperada) del nodo más cercano al nodo bajo análisis

Page 15: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 15

Búsqueda Avara

• La función de evaluación muestra la siguiente heurística:

h(n) = costo estimado entre n y la meta• por ejemplo

– hDLR(n) = distancia en línea recta desde n hasta Bucarest

La búsqueda avara expande el nodo que pareciera estar más cerca de la meta.

Page 16: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 16

Búsqueda Avara• Una de las búsquedas Primero lo Mejor más

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 heurística ayuda.

• la función heurística h es una función que calcula dichos estimados de costo

• h(n) = costo estimado de la ruta más barata desde el estado en n hasta el estado meta.

Page 17: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 17

Búsqueda Avara

• El nodo con valor h mínimo es el que se va a expandir: cola con privilegios

• h puede ser cualquier función, siempre que valga cero en la meta, pero la calidad cambia mucho

• las funciones heurísticas son problema -intensivas (son problema - específicas)

• en problemas de búsqueda de ruta una buena h es hDLR , donde DLR es distancia en línea recta

• una ruta de A a B suele ir en la dirección correcta

Page 18: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 18

Búsqueda Avara• Adoptar la primera selección con una visión

inmediata, sin preocuparse si ha de ser la mejor con una perspectiva a largas vistas.

• La búsqueda halla soluciones en forma rápida, que no siempre son las óptimas

• susceptible a falsas largadas (Iasi Fagaras)– Neamt, una ruta muerta sin salida

• hay que cuidarse de los estados repetidos– oscilaciones entre Neamt y Iasi

Page 19: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 19

Búsqueda Avara• Parecida a BPP, prefiriendo seguir una ruta

singular hacia la meta, aunque recula 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 máxima del espacio de búsqueda

• complejidad espacial igual a la temporal (guarda todos los nodos en memoria)

• una buena h reduce fuertemente la complejidad

Page 20: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 20

AVARA- Minimizar el Costo Estimado

• Función de evaluación heurística:– 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 =>

Page 21: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 21

Ejemplo de Búsqueda Avara– En el mapa ya visto anotamos Arad==>Bucarest = 366 km

– , h(n) = distancia en línea recta

– - Zerind 374

– -Sibiu 253 <==

– -Timisoara 329

Page 22: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 22

Ejemplo de Búsqueda Avara– Arad - 366

– Oradea - 380

Fagaras .. 178

– Rimnicu Vicea - 193

Page 23: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 23

Ejemplo de Búsqueda Avara– Sibiiu 253

– Bucarest 0 <====

Page 24: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 24

AVARA- Minimizar el Costo Estimado

Arad

Sibiu Timisoara Zerind

OradeaFagarasArad Rimnicu

h(n) = 366

h(n) = 253 h(n) = 329 h(n) = 374

366 178 380193

BucharestSibiu

253 h(n) = 0

La verdadera ruta óptima es: Arad Sibiu Rimniu Pitesti Bucharest

Page 25: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 25

Propiedades de la búsqueda avara• Completa?

– No - puede colgarse en algun bucle

– p.ej., Iasi Neamt Iasi Neamt …

– Pasa a ser completa en espacio finito si se sujeta a una verificación de estado repetido

• Complejidad Temporal:– En el peor caso: O(bm)

– pero una buena heurística provoca mejoras dramáticas

• Complejidad Espacial:– En el peor caso: O(bm)

– mantiene todos los nodos en memoria

• Optima?– No

Page 26: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 26

Minimizar el costo de ruta total• La búsqueda avara minimiza el costo estimado

hasta la meta h(n)– poda fuertemente el costo de búsqueda – ni óptima ni completa

• la búsqueda de costo uniforme minimiza el costo hasta ese momento, g(n)– óptima y completa– podría ser muy ineficiente

• f(n) = g(n) + h(n) = costo estimado de la solución más barata pasando por (n)

Page 27: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 27

Minimizar el costo de ruta total• Observaciones

– Supongamos que tenemos un nodo n a una profundidad d en el árbol de búsqueda y que adivinamos que ese nodo se halla a una distancia h(n) de la meta más cercana a él.

– La meta estaría entonces a la profundidad d + h(n) en el espacio de problema

– En lugar de elegir para la expansión el nodo de mínimo h(n) (distancia esperada hacia la metal), elegimos el de

MIN d + h(n)– La profundidad se mide con la función de costo de la ruta g(n)

– Queda MIN g(n) + h(n)

Page 28: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 28

Búsqueda A*• Idea no expandir trayectos que ya se sabe que son caros• Función de evaluación

• 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 heurística admisible - no hay sobreestimación

de distancia• Teorema - A* es óptimo• Aproximación léase h como “heurístico”, pues es

funcíón fuerte de la heurística elegida

Page 29: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 29

Optimalidad de A*• Definir f* - el costo de la solución óptima para la ruta

– A* expande todos los nodos con f(n)<f*– A* podría 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 solución encontrada debe ser la óptima, dado que los nodos de todos los contornos subsiguientes tendrán un costo f más alto y con ello un costo g más alto (todos los estados meta tienen h(n) = 0)

Page 30: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 30

•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.

Page 31: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 31

A* - resumen gráfico

• Ver figuras con círculos concéntricos deformados, ya no con CONTORNOS equirradiales

Page 32: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 32

“Contornos” concéntricos

Page 33: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 33

“Contornos” concéntricos

380

Page 34: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 34

Prueba estandar de la optimalidad de A*

• *

• ------------------------

• ------------------------

• * n

• * G1 *G2

• Sea una meta subóptima G2 que está en la cola de espera

• Sea n un nodo sin expandir en el camino más corto hacia una meta óptima G1

• A* nunca va a elegir G2 para su expansión

Page 35: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 35

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 mínimo costo. Sea (tentativamente) que A* seleccione un nodo meta subóptimo s’, donde g(s)<g(s’).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 suposición previa (en el otro caso, s ya habría sido elegido como el nodo meta). =>

.

Page 36: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 36

Optimalidad de A*Puesto que n no ha sido elegido para su expansión 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 suposición (tentativa) previa, la que indica que s’ es una meta subóptima..

Page 37: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 37

A*• Una heurística admisible nunca sobreestima el

costo de llegar a la meta

• un estimado de costo optimista en la solución de un problema es menor -más barato- que el real.

• Si h es admisible, f(n) nunca sobreestima el costo real de la mejor solución pasando por n

• La búsqueda A* - con f(n) y con h admisible– completa y óptima– hDLR es admisible

Page 38: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 38

Conducta de la búsqueda 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 heurísticas admisibles

• una heurística que cumple con esa regla se dice que exhibe MONOTONICIDAD

• heurística no-monotónica, 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 heurística admisible ya que no sobreestima el costo, al contrario, lo infraestima más.

Page 39: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 39

Conducta de la búsqueda A*

• Realizar entonces una corrección menor que restituya la monotonicidad de una heurística no-monotónica

• 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 concéntricas de costos f, o sea los contornos de iso- f .

Page 40: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 40

Conducta de la búsqueda A*• Con una búsqueda de costo uniforme (esto es,

A* usando h = 0), las zonas cubiertas entre dos contornos son anillos circulares alrededor del estado de inicio.

• Con más heurística (h>0) incorporada, las zonas anulares o contornos se estirarán hacia el estado meta y poco a poco irán delimitando más la ruta óptima, enmarcandola más ajustadamente.

• Esto recuerda los cambios de nivel de la BPA

Page 41: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 41

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 ramificación infinito– una ruta con costo de ruta finito pero con un número

infinito de nodos a lo largo de ella

Page 42: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 42

Complejidad de A*• La búsqueda A* es OPTIMAMENTE

EFICIENTE para cualquier función heurística 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 entre el contorno del inicio y el de la meta corre el riesgo de no encontrar la solución óptima

Page 43: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 43

Complejidad de A*• Complejidad temporal - O(b^d)

• Complejidad espacial - O(b^d)

• el espacio de búsqueda de A* crece exponencialmente a no ser que sea

• h(n)-h*(n) =< O(log h*(n)) • practicamente, el error es a lo menos proporcional

al costo de la ruta

• el crecimiento exponencial satura a cualquier computadora

Page 44: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 44

Complejidad de A*

• el uso de una heurística buena provee ventajas enormes

• usualmente A* se queda sin espacio antes de quedarse sin tiempo, puesto que mantiene a todos los nodos en memoria

Page 45: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 45

A* Arad

Sibiu Timisoara Zerind

OradeaFagarasArad Rimnicu

f(n) = 366

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

PitestiCraiova

75

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

118140

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

140 15199 80

f(n) = 646 f(n) = 417 f(n) = 661

f(n) = 413

Sibiu

146 97 80

f(n) = 526 f(n) = 415 f(n) = 553

Page 46: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 46

Resumen de la búsqueda A*

• A* usa una heurística admisible.

– h(n) h*(n), donde h*(n) es el costo verdadero desde n

– para rutas sobre terreno, la distancia en línea recta nunca sobreestimará la distancia real de una de ellas.

– A* es óptima si h es admisible

Page 47: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 47

Resumen de la búsqueda A*

• Idea No expandir estados que ya se sabe que son caros

• Mejorar la búsqueda de costo uniforme y la búsqueda 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

Page 48: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 48

A*Sibiu

OradeaFagarasArad Rimnicu

PitestiCraiova

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

140 151 99 80

f(n) = 646

f(n) = 417

f(n) = 526

f(n) = 413

Sibiu

146 97 80

f(n) = 526

f(n) = 415

f(n) = 553

CraiovaRimnicu Bucharest

97138

101

f(n) = 607 f(n) = 615 f(n) = 418

BucharestSibiu

99 211

f(n) = 591 f(n) = 450

Page 49: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 49

A*Sibiu

OradeaFagarasArad Rimnicu

PitestiCraiova

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

140 15199 80

f(n) = 646 f(n) = 417 f(n) = 661

f(n) = 413

Sibiu

146 97 80

f(n) = 526

f(n) = 415

f(n) = 553

CraiovaRimnicu Bucharest

97138

101

f(n) = 607 f(n) = 615 f(n) = 418

Page 50: Capítulo 4  Búsqueda Heurística

FASTA - IA1 - Clase 8-1 50

CONTINÚA

• http://www.chez.com/vonvon/clase8_2.ppt• http://www.chez.com/vonvon/clase8_2.ppt• http://www.chez.com/vonvon/clase8_2.ppt• http://www.chez.com/vonvon/clase8_2.ppt• BIBLIOGRAFIA DEL TEMA:• http://www.chez.com/vonvon/ayuda44.html• http://www.chez.com/vonvon/ayuda44.html • http://www.chez.com/vonvon/ayuda44.html• http://www.chez.com/vonvon/ayuda44.html