métodos de búsqueda heuristica

41
Tema 2: Métodos de búsqueda heurística Inteligencia Artificial e Ingeniería del Conocimiento Tema 2: Métodos de búsqueda heurística Búsqueda sin información Métodos de escalada Búsqueda primero el mejor Descomposición de problemas Heurísticas sobre el proceso de búsqueda

Upload: liz-galicia

Post on 07-Aug-2015

307 views

Category:

Documents


1 download

DESCRIPTION

Métodos de búsqueda heuristica

TRANSCRIPT

Page 1: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Tema 2: Métodos de búsqueda heurística

• Búsqueda sin información• Métodos de escalada• Búsqueda primero el mejor• Descomposición de problemas• Heurísticas sobre el proceso de búsqueda

Page 2: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda sin información

• Búsqueda en anchura• Búsqueda en profundidad• Búsqueda con costos• Problemas descomponibles

Page 3: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Sistemas de Búsqueda

Operadores

Base de Datos

Estrategia de Control

Page 4: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Representación de un problema

Page 5: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Procedimiento Búsqueda

1. DATOS base de datos inicial2. until DATOS satisface la condición de terminacióndo

3. begin4. select alguna regla R en el conjunto de reglas que pueda ser aplicada a DATOS5. DATOS resultado de aplicar R a DATOS6. end

Page 6: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Estrategias de control

• Estrategias irrevocables• Estrategias tentativas

– Retroactivas– Búsqueda en grafos

Page 7: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Modelo de estrategia retroactivaBACKTRACK(LISTABD)

1. DATOS PRIMER(LISTABD)2. If MIEMBRO(DATOS,SUPR(LISTABD)) return FALLO3. If TERM(DATOS) return NADA4. If SINSALIDA(DATOS) return FALLO5. If LONGITUD(LISTABD) > LIMITE return FALLO6. REGLAS APLIREGL(DATOS)7. CICLO: if NOHAY(REGLAS) return FALLO8. R PRIMER(REGLAS)9. REGLAS SUPR(REGLAS)10. RDATOS R(DATOS)11. RLISTABD CONS(RDATOS,LISTABD)12. CAMINO BACKTRACK(RLISTABD)13. If CAMINO=FALLO go CICLO14. return CONS(R,CAMINO)

Page 8: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda en profundidad retroactiva

2 8 31 6 47 50

2 8 31 6 4

7 51

2 8 36 4

1 7 52

8 32 6 41 7 53

8 32 6 41 7 54

8 32 6 41 7 55

(a)

2 8 31 6 47 50

2 8 31 6 4

7 51

2 8 36 4

1 7 52

8 32 6 41 7 5 1 7 53

8 326 4

7

8 32 6 41 7 54

8 32

64

1 7 56

(b)

2 8 31 6 47 50

2 8 31 6 4

7 51

2 8 36 4

1 7 52

8 326 41 7 57

832

6 41 7 58

832

6 41 7 59

(c)

Discarded beforegenerating node 7

© 1998 Morgan Kaufman Publishers

Page 9: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda en grafos

• Imposibilidad de representar el problema mediante un grafo implícito

• Problema del 8-puzzle:

• El conjunto de nodos del grado de estados para esta representación del 8-puzzle es 9!=362.880

2 8 31 6 47 5

1 2 38 47 6 5

© 1998 Morgan Kaufman Publishers

Page 10: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda en grafos

• Formulación de los problemas para poder aplicar sobre ellos los métodos de búsqueda

• Métodos que nos permitan representar grandes espacios de búsqueda mediante grafos implícitos

• Métodos eficientes de búsqueda en grafos de gran tamaño

Page 11: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda en grafos

• Descripción para etiquetar el nodo inicial• Las funciones para transformar las

descripciones de los estados: operadores• Una condición de éxito

Page 12: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda en anchura1. Crear una variable llamada LISTA-NODOS y

asignarle el estado inicial2. Hasta que se encuentre un estado objetivo o

LISTA-NODOS esté vacía, hacer:1. Eliminar el primer elemento de LISTA-NODOS y

llamarlo E. Si LISTA-NODOS está vacía, terminar2. Para cada regla que se empareje con el estado

descrito en E hacer:1. Aplicar la regla para generar un nuevo estado2. Si el nuevo estado es un estado objetivo, terminar y

devolver este estado3. En caso contrario, añadir el nuevo estado al final de LISTA-

NODO

Page 13: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda en anchura2 8

5

31 6 47

4

2 8 31 6 47 5

12 8

6

31 47 5

3

2 8

7

31 6 4

5

2

2 8

5

31 67 4

9

2 8

6

31 47 5

8

2

6

31 8 47 5

7

2 8

6

31 4

7 5

6

2 8

7

36 4

1 5

5

2 8

51 6 37 4

19

8

5

36

2

71

4

18

8

6

34

2

71 5

17

8

64 3

5

16

3

68

2

71

2

71 4

5

15

8

7

32 6 41 5

10

2 8

7

36 41 5

11

8

6

32 1 47 5

12

2 8

6

37 1 4

5

13

2

6

31 8 47 5

14

2

5

81 6 37 4

2 8 31 5 67 4

2

5

31 8 67 4

2 8

5

31 6

7 4

2 8 31 4 57 6

2

6

81 4 37 5

2 3

6

41 87 5

8

7

32 6 41 5

20

2

7

36 8 41 5

21

2 8

7

36 41 5

22

2 8 36 7 41 5

23

8

6

32 1 47 5

24

2 8 37 1 46 5

25

1 2

6

38 4

7 5

26

27

8 3

72 6 41 5

8 6

7

32 41 5

2

7

36 8 41 5

2 3

76 8 41 5

2 8

76 4 31 5

2 8

7

36 4 51

2 8

1

36 7 4

5

2 8

5

36 7 41

8 3

62 1 47 5

8 1

6

32 47 5

2 8

1

37 46 5

2 8

5

37 1 46

1 2

6

38 47 5

1 2

6

37 8 4

5

GoalnodeStart

node

© 1998 Morgan Kaufman Publishers

Page 14: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda con costos1. Poner el nodo inicial s en una lista, llamada ABIERTOS, de nodos

no expandidos.2. Crear una lista, llamada CERRADOS, de nodos expandidos,

inicialmente vacía.3. Si ABIERTOS está vacía no existe solución. Terminar.4. Suprimir de ABIERTOS el nodo i con mínima g(i) y colocarlo en

CERRADOS.5. Si i es un nodo objetivo se ha encontrado la solución. Terminar.6. En otro caso, expandir el nodo i, si no tiene sucesores ir a 3.7. Para cada nodo sucesor j del nodo i, insertarlo correctamente en

ABIERTOS, asignando g(j)=g(i)+c(i,j).8. Ir a 3.

Page 15: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Descenso iterativo

Depth bound = 1 Depth bound = 2 Depth bound = 3 Depth bound = 4

© 1998 Morgan Kaufman Publishers

Page 16: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Problemas descomponibles

• Base de datos inicial (C,B,Z)• Operadores

R1: C (D,L)R2: C (B,M)R3: B (M,M)R4: Z (B,B,M)

• Objetivo

Page 17: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Resolución del problema

Page 18: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Grafo Y/O

• Descomposición de problemas: arcos Y• Resolución de problemas: arcos O

• Concepto de solución: subgrafo solución

Page 19: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Nueva resolución del problema

Page 20: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Ejemplo

Page 21: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Métodos de escalada

• Algoritmo de escalada simple• Algoritmo de escalada por la máxima

pendiente• Algunas variaciones estocásticas• Algoritmos genéticos

Page 22: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algoritmo de escalada simple• Evaluar el estado inicial. Si también es el estado

objetivo, devolverlo y terminar. En caso contrario, continuar con el estado inicial como estado actual.

• Repetir hasta que se encuentre una solución o hasta que no queden nuevos operadores que aplicar al estado actual: – Seleccionar un operador que no haya sido aplicado con

anterioridad al estado actual y aplicarlo para generar un nuevo estado.

– Evaluar el nuevo estado. • Si es un estado objetivo, devolverlo y terminar. • Si no es un estado objetivo, pero es mejor que el estado actual,

convertirlo en el estado actual. • Si no es mejor que el estado actual, continuar con el bucle.

Page 23: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algoritmo de escalada por la máxima pendiente

• Evaluar el estado inicial. Si también es el estado objetivo, devolverlo y terminar. En caso contrario, continuar con el estado inicial como estado actual.

• Repetir hasta que se encuentre una solución o hasta que una iteración completa no produzca un cambio en el estado actual: – Sea SUCC un estado tal que algún posible sucesor del estado

actual sea mejor que este SUCC. – Para cada operador aplicado al estado actual hacer lo siguiente:

• Aplicar el operador y generar un nuevo estado • Evaluar el nuevo estado. Si es un estado objetivo, devolverlo y

terminar. Si no, compararlo con SUCC. Si es mejor, asignar a SUCC este nuevo estado. Si no es mejor, dejar SUCC como está.

– Si SUCC es mejor que el estado actual, hacer que el estado actual sea SUCC.

Page 24: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Métodos de escalada

Page 25: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algunas variaciones estocásticas

• Algoritmo de escalada estocástico• Algoritmo de escalada de primera opción• Algoritmo de escalada de reinicio aleatorio• Enfriamiento simulado

Page 26: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algoritmo de enfriamiento simulado

kTEep /Δ−=

|)()(| estadonuevodelvaloractualestadodelvalorE −=Δ

• Los movimientos hacia estados peores pueden aceptarse• Se utiliza un programa de enfriamiento

Page 27: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algoritmos genéticos

• Se genera los estados sucesores combinado dos estados padres

• Se inicia el proceso partiendo de k estados generadosaleatoriamente (población)

• Un estado (individuo) se representa como una cadena sobre un alfabeto finito (a menudo cadenas de 0s y 1s)

• En la función de evaluación (fitness function) se asignan valoresaltos para los mejores estados

• La siguiente generación se produce mediante las operaciones de selección, cruce y mutación.

Page 28: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algoritmos genéticos

Función de evaluación (8 reinas) = número de pares de reinas no atacadas

28 para una solución

Page 29: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algoritmos genéticos

Page 30: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda primero el mejor

• Algoritmo A*• Búsqueda conducida mediante agendas• Búsqueda dirigida• Descenso iterativo A*• Búsqueda primero el mejor recursiva• A* con memoria acotada

Page 31: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algoritmo A*• ABIERTOS contiene el nodo inicial, CERRADOS esta

vacío• Comienza un ciclo que se repite hasta que se encuentra

solución o hasta que ABIERTOS queda vacío– Seleccionar el mejor nodo de ABIERTOS– Si es un nodo objetivo terminar– En otro caso se expande dicho nodo– Para cada uno de los nodos sucesores

• Si está en ABIERTOS insertarlo manteniendo la información del mejor padre

• Si está en CERRADOS insertarlo manteniendo la información del mejor padre y actualizar la información de los descendientes

• En otro caso, insertarlo como un nodo nuevo

Page 32: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algoritmos de búsqueda

AnchuraCon costo h=0

h<=h*

A*

Primero el mejor

profundidad

BúsquedaSobre grafos

Page 33: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Descomposición de problemas

• Algoritmo Y/O*

Page 34: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Algoritmo Y/O*

• GRAFO contiene el nodo de inicio.• Comienza un ciclo que se repite hasta que el

nodo inicial quede resuelto o hasta que supere un valor MAXIMO– Trazar el mejor camino actual desde inicio– Seleccionar un nodo– Generar los sucesores del nodo e incluirlos de forma

adecuada en el GRAFO– Propagar la información obtenida hacia arriba en el

GRAFO

Page 35: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Heurísticas sobre el proceso de búsqueda

• Arquitecturas combinadas de percepción y planificación

• Búsqueda orientada a subobjetivos• Búsqueda jerárquica• Búsqueda con horizonte

Page 36: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Dificultades del proceso

• Los procesos de percepción no siempre pueden obtener la información necesaria acerca del estado del entorno

• Las acciones pueden no disponer siempre de modelos de sus efectos

• Pueden haber otros procesos físicos, u otros agentes, en el mundo

Page 37: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Dificultades del proceso• En el tiempo que transcurre desde la

construcción de un plan, el mundo puede cambiar de tal manera que el plan ya no sea adecuado

• Podría suceder que se le requiriese al agente actuar antes de que pudiese completar una búsqueda de un estado objetivo

• Aunque el agente dispusiera de tiempo suficiente, sus recursos de memoria podrían no permitirle realizar la búsqueda de un estado objetivo

Page 38: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Arquitectura percepción/planificación/actuación

Sensoryinput

Goal(desired state)Perceptual

processing

Currentstate

Planning(graph search)

Find firstaction

Action

State-space graph

© 1998 Morgan Kaufman Publishers

Page 39: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda orientada a subobjetivosIslands in thesearch space

Local searches© 1998 Morgan Kaufman Publishers

Page 40: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda jerárquica

Base-level searches

Metalevel search

Metalevel path

Start

Goal

© 1998 Morgan Kaufman Publishers

Page 41: Métodos de búsqueda heuristica

Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento

Búsqueda jerárquica

GBarrier

Robot

Block© 1998 Morgan Kaufman Publishers