métodos de búsqueda heuristica
DESCRIPTION
Métodos de búsqueda heuristicaTRANSCRIPT
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
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
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
Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento
Representación de un problema
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
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
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)
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
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
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
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
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
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
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.
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
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
Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento
Resolución del problema
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
Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento
Nueva resolución del problema
Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento
Ejemplo
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
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.
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.
Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento
Métodos de escalada
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
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
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.
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
Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento
Algoritmos genéticos
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
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
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
Tema 2: Métodos de búsqueda heurísticaInteligencia Artificial e Ingeniería del Conocimiento
Descomposición de problemas
• Algoritmo Y/O*
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
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
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
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
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
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
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
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