Busquedas+heuristicas+vc

Post on 22-Jun-2015

241 views 0 download

Transcript of Busquedas+heuristicas+vc

Búsqueda HeurísticaBúsqueda Heurística

Diapositivas de C H von der Becke parcialmente sobre ideas de los prof. Stuart Russell, Peter Norvig y Jeff ThomsonIn

teli

gen

cia

Art

ific

ial 1

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

2

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

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

Marvin Minsky (AI Magazine - 1991)

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

3

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.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

4

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]))}}

function GENERAL-SEARCH(problem,s trategy)r eturns a solution, or failureinitialize the search tree using the initial state of problemloop doif there are no candidates for expansion then return failurechoose a leaf node for expansion according to strategyif the node contains a goal state then return the corresponding solutionelse expand the node and add the resulting nodes to the search treeend

function GENERAL-SEARCH(problem,s trategy)r eturns a solution, or failureinitialize the search tree using the initial state of problemloop doif there are no candidates for expansion then return failurechoose a leaf node for expansion according to strategyif the node contains a goal state then return the corresponding solutionelse expand the node and add the resulting nodes to the search treeend

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

5

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

6

Temas importantes Búsqueda Primero lo Mejor Búsqueda A* (A estrella) Heurística Escalada (Ascenso a la Cima) Forjado Simulado

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

7

4.1

4.1 Búsqueda

primero lo mejor

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

8

Algoritmos de búsqueda informada(Búsqueda inteligente)

Búsqueda Heurística Estrategias de Búsqueda Avara A*

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

9

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*

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

10

4.1 Búsqueda Primero lo Mejor

La 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 ===>

FUNCIÓN_EMBRETAR_COLA = QUEUINGFN = insertar sucesores en orden decreciente de idoneidad, quedando en el tope el mejor

CASOS ESPECIALESBúsqueda avaraA*

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

11

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.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

12

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

13

BPM Objetivo de la familia de búsquedas llamada 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) el objetivo es distinto al de la búsqueda de costo uniforme - vista previamente (la

única búsqueda 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 solución más barata en base a datos experimentados.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

14

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.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

15

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.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

16

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

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

17

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 largo plazo.

La búsqueda halla soluciones en forma rápida, 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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

18

Búsqueda 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 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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

19

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 =>

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

20

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

21

Ejemplo de Búsqueda Avara Arad - 366 Oradea - 380

Fagaras .. 178

Rimnicu Vicea - 193

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

22

Ejemplo de Búsqueda Avara Sibiiu 253 Bucarest 0 <====

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

23

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

verdadera ruta óptima es: Arad Sibiu Rimnicu Pitesti Bucharest

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

24

Propiedades de la búsqueda avara Completa?

No - puede colgarse en algún 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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

25

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)

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

26

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 meta), elegimos el nodo 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)

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

27

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

28

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.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

29

A* - resumen gráfico

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

30

“Contornos” concéntricos

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

31

“Contornos” concéntricos

380

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

32

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

33

A* (Subestimación/Sobreestimación de h)

Si h’ hace una una estimación perfecta de h, el algoritmo A* converge inmediatamente hacia el objetivo. Si h’ no es perfecta ni 0, pueden haber subestimaciones y/o sobreestimaciones de h.

(2) 1+3

(3) 2+3

(4) 3+3

(1)

1+4

Sub-estimación

(2) 1+3

(3) 2+2

(4) 3+1

(1)

1+4

(5) 4+0 Goal

1+5

2+1

3+0Goal

Sobreestimación

Es evidente que se realizan movimientos que no producen progreso. Al subestimar a h, se desperdicia esfuerzo.

Si h’ sobreestima a h, no se garantiza encontrar la mejor solución ( a no ser que se expanda todo el grafo)

Si h’ nunca sobreestima a h, el algoritmo A* es admisible

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

34

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

35

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

existentes entre el contorno del inicio y el de la meta, corre el riesgo de no encontrar la solución óptima

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

36

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

37

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

38

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

39

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

40

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

41

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

42

Casos límites de A* Si h=0 y g=d BPA Si h=1/d y g=0 BPP Si h=0 y g=0 Búsqueda aleatoria Si h=h y g=0 Búsqueda avara Si h=0 y g=g Búsq. de costo uniforme Si h(n)>h*(n) se habría perdido la ruta óptima Si h(n)<h*(n) ruta bien ¿tramo redundante?

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

43

4.2

4.2 Funciones heurísticas

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

44

4.2 Funciones Heurísticas

Problema de los 8 tejos-Restricciones: no avanzar dos o más 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

5 4

3

6 1 8

7 2

1 2

6

8

3

4

7 5

estado inicial Estado meta

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

45

Funciones heurísticasMi problema con el juego de los 8 tejos es encontrar una heurística para saber o adivinar

cuánto me falta por llegar a la meta. Cuento cuántos tejos están 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 posición actual y cuento cuántos pasos debe dar cada tejo, usando diagonales si

es necesario, para llegar a su posición meta. Sumo. Tengo h3=14. Cuento cuál es la distancia en línea recta DLR de cada tejo con respecto a la posición

deseada en la meta. Sumo para los 8. Tengo h4=13 . Nótese que siempre he violado restricciones del caso real. Al hacerlo, he descubierto

otros nuevos juegos “relajados”. Serán mis estimaciones de la distancia real, en pasos, a recorrer. Mi heurística óptima es la máxima entre h1,...,h4, pues he sido optimista.

Todas son estrategias admisibles optimistas (calculo menos pasos) nunca sobreestiman la distancia (definen la “admisibilidad”)

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

46

Heurísticas AdmisiblesEncontrar una buena heurística para un problema relajar las restricciones en general, el costo de una solución exacta obtenida al relajar un

problema sirve como una buena heurística para el problema original - se menciona de nuevo la distancia de Manhattan como ejemplo

usar información estadística obtenida durante entrenamiento con ejemplos para la predicción de valores heurísticos para los nodos, con el riesgo de generar funciones heurísticas inadmisibles.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

47

Funciones heurísticas

Siempre será mejor usar una función heurística con números mayores, por supuesto, sin pasarse a la sobreestimación.

La evaluación heurística debiera ser eficiente.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

48

4.4

4.4 Algoritmos de mejora iterativa

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

49

Algoritmos de Mejora Iterativa

1) Escalada 2) Escalada por la máxima pendiente 3) Endurecimiento (FORJADO) Simulado

Se acepta empeoramiento transitorio

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

50

Ascenso a la Cima (Hill-Climbing Search)Sinónimo: Escalada

Continuamente se desplaza en la dirección de valor que más crece - elegir el mejor siguiente estado inmediato)

no mantiene un árbol de búsqueda descarta información de ruta tres motivos de falla reconocidos

máximos locales - caminata al azar mesas - caminata al azar riscos - oscilaciones y poco progreso

Escalada simple: Toma el primer mejor camino que encuentra. Escalada por la máxima pendiente: Toma el mejor camino de todas las

opciones locales que tiene.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

51

Escalada Simple:

1. Evaluar el estado inicial (si es = objetivo terminar).

2. Repetir hasta que encuentre una solución o hasta que no queden operadores que aplicar al estado actual. • Seleccionar un operador no usado para el estado actual y

aplicarlo para obtener un nuevo estado.• Evaluar el nuevo estado:

Si es igual al objetivo terminar. Si es mejor que el estado actual Nuevo estado actual. Si es no mejor que el estado actual Repetir.

• “Mejor” Función heurística.• Ej: Problema de los bloques de colores. “Sumar numero de

diferentes colores en c/u de las 4 caras”. Solución = 16.• Regla: rotar bloque 90° .

Escalada (Búsquedas heurísticas)

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

52

Escalada (Búsquedas heurísticas)

Escalada por Máxima Pendiente: (Búsqueda del Gradiente)

• Se consideran todos los posibles movimientos a partir del estado actual y se selecciona el mejor como nuevo estado.

• El Método de la escalada puede no encontrar el estado objetivo:• Se puede llegar a un máximo local, meseta o cresta.

Máximo local: Estado no objetivo mejor que todos sus vecinos.

Meseta: Area plana en la que todos los estados vecinos tienen igual valor.

Cresta: Area más alta que las circundantes y que tiene area que se puede escalar. La cresta no se puede atravezar con movimientos simples.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

53

Escalada (Búsquedas heurísticas)

Escalada por Máxima Pendiente: (Búsqueda del Gradiente)

Formas de evitar estos problemas:

Volver atrás y seguir por otro camino. Realizar un gran salto en alguna dirección. Aplicar 2 o más reglas antes de realizar la evaluación.

• Escalada es un método “inmediato”, solo se fija en estados próximos.

• Ventaja: No provoca explosión combinatoria.• Ejemplo: Problema de los bloques. • Heurística: “Añadir 1 cuando un bloque está sobre lugar que

le corresponde, -1 cuando está sobre un bloque incorrecto”.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

54

BUSQUEDA HEURISTICAEstado objetivo: Estado inicial:

H

G

F

E

D

C

B

A

A

H

G

F

E

D

C

B

Función heurística = 8 Función heurística = 4

• Si baja el bloque A Función heurística = 6. Genera 3 movimientos posibles.

• Volver a subir A, bajar H a la mesa, H sobre A Función heurística = 4. Encuentra un máximo local.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

55

• Otra heurística: “Añadir 1 punto a los bloques de la estructura para c/bloque que se sitúe en la posición correcta”. C/bloque que esté incorrecto (se resta 1 punto) por cada bloque de la estructura”.

• Estado objetivo. Valor de la función = 28 (1 para B, 2 para C,..).

• Estado inicial = -28. • Bajar A a la mesa = -21.

Escalada (Búsquedas heurísticas)

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

56

FORJADO o Endurecimiento simulado

Enfriamiento Simulado:

Variante de la escalada. Consiste en realizar una “exploración amplia al principio para evitar caer en un

máximo local” En metalurgia y termodinámica se menciona el forjado o endurecimiento como el

proceso de inicio a alta temperatura y enfriamiento gradual para obtener transiciones de fase más estables que las obtenidas por enfriamiento rápido.

FORJADO o ENDURECIMIENTO SIMULADO proceso de búsqueda global u optimización global en sistemas de comportamiento estocástico, con alguna probabilidad que es función de una “temperatura” (un cierto parámetro que desciende por ejemplo hasta cero) con lo cual la conducta es diferente de una completamente determinística. La temperatura arranca siendo alta, el metal está blando y se va endureciendo al descender la temperatura con un programa preestablecido.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

57

FORJADO o Endurecimiento simulado

problemas difíciles, por ejemplo multimodales, basados en la metáfora de imitar el endurecimiento o forjado usado en metalurgia. Si el programa de enfriamiento es demasiado rápido, 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 más alta cima en lugar de cimas subóptimas.

Pertenece a la familia de los métodos de búsqueda heurísticos, esto es, admite que haya pasos aparentemente en falso, que no mejoran la evaluación, 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 metáfora.

El método garante un óptimo global y no un subóptimo local si la temperatura baja con suavidad.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

58

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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

59

4.5

4.5 Resumen y conclusiones

razonadas

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

60

Resumen Búsqueda Primero por lo Mejor - parte de Búsqueda General y

expande según 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

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

61

Conclusiones razonadas

En nuestra conducta intelectual raramente resolvemos nuestros problemas con un ascenso continuo hacia el buen éxito. Por eso es difícil de interpretar que un agente resolvedor de problemas vaya a servir en los casos particulares de búsqueda. Probablemente necesitará un abanico de recursos de búsqueda. Quizás haya que disponerlos en una estructura jerárquica rica con estructuras complejas y recursivas.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

62

Conclusiones razonadas

Como contrapartida, es estupendo que una máquina se guíe por los gradientes de la superficie de respuesta. Los métodos de búsqueda 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 información. El ascenso a la cima es un bello ejemplo de algoritmo informado y al serlo es muy rápido y eficiente.

En el caso del humano, puede hacer recordar la teoría de la felicidad de Mihaly Csikszentmihalyi, acerca del desafío y la habilidad. Una habilidad orientada por derivadas, pendientes y tangentes parece la mejor manera de enfrentar desafíos complejos.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

63

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 método 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 biología, sino los principales – aquí trepar, errar y trepar es primario)

Frente al efecto MESA la búsqueda al azar es una de las más ingeniosas para detectar nuevas pendientes – es así una heurística adecuada que complementen a la búsqueda de ascenso a la cima.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

64

Conclusiones razonadas Estas heurísticas conducen a pensar en otra categoría de métodos de búsqueda

mucho más afines a la mente humana. No mencionados aquí. Son los que incorporan aprendizaje a la búsqueda . En vez de buscar al azar, buscar al azar en zonas no recién exploradas.

La idea fundamental es aprendizaje por refuerzo (típico de los animales) , un concepto tradicional de la psicología y de la IA.

El clásico método de programación dinámica de Bellman es el único método que computa la mejor estrategia de control a lo largo del tiempo de búsqueda. Se ha podido hibridizar entonces entre aprendizaje por refuerzo y programación dinámica clásica, generando ADP (programación dinámica aproximada). Ese quizás sea el futuro.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

65

Conclusiones razonadas

Si no sabemos cómo obtener X, creemos un espacio de estados donde sepamos que va a estar incorporado X y luego busquemos a X dentro de ese espacio.

Mérito de esta formulación siempre es posible encontrar un espacio donde esté contenida la respuesta o solución.

Cuanto menos conocimiento tengamos, tanto más grande será el espacio. La inteligencia lo achica.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

66

Conclusiones razonadas Dos grandes temas fundamentales en IA. La búsqueda 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 continuación.

Esto genera búsqueda - una búsqueda combinatoria.

Carlos H. von der Becke - - - - - - - Cap 4 Búsqueda heurística - - - - - - - - - - - - - - - - - - ----Foundations of Artificial Intelligence

67

Conclusiones razonadas Hay por lo menos tres búsquedas en cada tarea intelectual.

Búsqueda clásica dentro del espacio de problema tradicional, a través de los nodos de un árbol o entre nodos, como el ascenso a la cima.

Búsqueda de la receta intelectual para buscar (tarea por ahora del diseñador - ¿en el futuro?) Búsqueda de medir bien la aproximación a la meta (la heurística – el programa ABSOLVER)

Alguna de esas búsquedas podría ser encarada como reconocimiento de patrones o como búsqueda propiamente dicha.

Sabemos que los árboles de búsqueda se pueden plantear como cláusulas de Horn buscar es también esgrimir lógica con estructuras lógicas se puede buscar.

A esta altura lo que sabemos es buscar esa es nuestra opción.