Sie sind auf Seite 1von 41

Tema 2: Mtodos de bsqueda heurstica

Bsqueda sin informacin Mtodos de escalada Bsqueda primero el mejor Descomposicin de problemas Heursticas sobre el proceso de bsqueda

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda sin informacin


Bsqueda en anchura Bsqueda en profundidad Bsqueda con costos Problemas descomponibles

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Sistemas de Bsqueda
Operadores

Base de Datos

Estrategia de Control

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Representacin de un problema

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Procedimiento Bsqueda
1. DATOS base de datos inicial 2. until DATOS satisface la condicin de terminacin do 3. begin 4. select alguna regla R en el conjunto de reglas que pueda ser aplicada a DATOS 5. DATOS resultado de aplicar R a DATOS 6. end

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Estrategias de control
Estrategias irrevocables Estrategias tentativas
Retroactivas Bsqueda en grafos

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Modelo de estrategia retroactiva BACKTRACK(LISTABD)


1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. DATOS PRIMER(LISTABD) If MIEMBRO(DATOS,SUPR(LISTABD)) return FALLO If TERM(DATOS) return NADA If SINSALIDA(DATOS) return FALLO If LONGITUD(LISTABD) > LIMITE return FALLO REGLAS APLIREGL(DATOS) CICLO: if NOHAY(REGLAS) return FALLO R PRIMER(REGLAS) REGLAS SUPR(REGLAS) RDATOS R(DATOS) RLISTABD CONS(RDATOS,LISTABD) CAMINO BACKTRACK(RLISTABD) If CAMINO=FALLO go CICLO return CONS(R,CAMINO)
Tema 2: Mtodos de bsqueda heurstica

Inteligencia Artificial e Ingeniera del Conocimiento

Bsqueda en profundidad retroactiva


0 1 2 3 4 5
2 8 3 1 6 4 7 5 2 8 3 6 4 1 7 5 8 3 2 6 4 1 7 5 8 3 2 6 4 1 7 5 8 3 2 6 4 1 7 5 2 8 3 1 6 4 7 5

0 1 2 3 4
2 8 3 1 6 4 7 5 2 8 3 6 4 1 7 5 8 3 2 6 4 1 7 5 8 3 2 6 4 1 7 5

2 8 3 1 6 4 7 5

0 1 2 7
2 8 3 6 4 1 7 5 2 8 3 1 6 4 7 5 2 8 3 6 4 1 7 5

2 8 3 1 6 4 7 5

7 8
2 3 6 8 4 1 7 5 2 3 6 8 4 1 7 5

2 8 3 6 4 1 7 5

6 (b)

8 6 3 2 4 1 7 5

Discarded before generating node 7

9 (c)

(a)
1998 Morgan Kaufman Publishers
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en grafos
Imposibilidad de representar el problema mediante un grafo implcito Problema del 8-puzzle:
2 8 3 1 6 4 7 5 1 2 3 8 4 7 6 5

1998 Morgan Kaufman Publishers

El conjunto de nodos del grado de estados para esta representacin del 8-puzzle es 9!=362.880
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en grafos
Formulacin de los problemas para poder aplicar sobre ellos los mtodos de bsqueda Mtodos que nos permitan representar grandes espacios de bsqueda mediante grafos implcitos Mtodos eficientes de bsqueda en grafos de gran tamao
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en grafos
Descripcin para etiquetar el nodo inicial Las funciones para transformar las descripciones de los estados: operadores Una condicin de xito

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en anchura
1. Crear una variable llamada LISTA-NODOS y asignarle el estado inicial 2. Hasta que se encuentre un estado objetivo o LISTA-NODOS est vaca, hacer:
1. Eliminar el primer elemento de LISTA-NODOS y llamarlo E. Si LISTA-NODOS est vaca, terminar 2. Para cada regla que se empareje con el estado descrito en E hacer:
1. Aplicar la regla para generar un nuevo estado 2. Si el nuevo estado es un estado objetivo, terminar y devolver este estado 3. En caso contrario, aadir el nuevo estado al final de LISTANODO
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda en anchura
19 9
2 8 3 1 6 7 5 4 2 8 1 6 3 7 5 4 2 8 1 6 3 7 5 4 2 8 3 1 5 6 7 4 2 3 1 8 6 7 5 4 2 8 3 1 6 7 5 4 2 8 3 1 4 5 7 6 2 8 1 4 3 7 6 5 2 3 4 1 8 7 6 5 1 2 3 7 8 4 6 5

18
2 8 3 1 6 7 5 4

4
2 8 3 1 6 4 7 5

17 8
2 8 3 1 4 7 6 5 2 8 3 1 4 5 7 6

16
2 8 1 4 3 7 6 5

15 Start node 1
2 8 3 1 6 4 7 5

3
2 8 3 1 4 7 6 5

7
2 3 1 8 4 7 6 5

2 3 1 8 4 7 6 5

27
1 2 3 8 4 7 6 5 2 8 3 7 1 4 6 5 2 8 3 7 4 6 1 5 8 1 3 2 4 7 6 5 8 3 2 1 4 7 6 5 2 8 3 6 7 4 1 5 2 8 3 6 7 4 1 5 2 8 3 6 4 5 1 7 2 8 6 4 3 1 7 5 2 3 6 8 4 1 7 5 2 3 6 8 4 1 7 5 8 6 3 2 4 1 7 5 8 3 2 6 4 1 7 5

Goal node

14
2 3 1 8 4 7 6 5

26
1 2 3 8 4 7 6 5

13
2 8 3 7 1 4 6 5

25
2 8 3 7 1 4 6 5

6
2 8 3 1 4 7 6 5

24 12
8 3 2 1 4 7 6 5 8 3 2 1 4 7 6 5

23
2 8 3 6 7 4 1 5

2
2 8 3 1 6 4 7 5

11
2 8 3 6 4 1 7 5

22
2 8 3 6 4 1 7 5

5
2 8 3 6 4 1 7 5

21
2 3 6 8 4 1 7 5

10
8 3 2 6 4 1 7 5 1998 Morgan Kaufman Publishers

20
8 3 2 6 4 1 7 5

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda con costos


1. 2. 3. 4. 5. 6. 7. 8. Poner el nodo inicial s en una lista, llamada ABIERTOS, de nodos no expandidos. Crear una lista, llamada CERRADOS, de nodos expandidos, inicialmente vaca. Si ABIERTOS est vaca no existe solucin. Terminar. Suprimir de ABIERTOS el nodo i con mnima g(i) y colocarlo en CERRADOS. Si i es un nodo objetivo se ha encontrado la solucin. Terminar. En otro caso, expandir el nodo i, si no tiene sucesores ir a 3. Para cada nodo sucesor j del nodo i, insertarlo correctamente en ABIERTOS, asignando g(j)=g(i)+c(i,j). Ir a 3.

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Descenso iterativo

Depth bound = 1
1998 Morgan Kaufman Publishers

Depth bound = 2

Depth bound = 3

Depth bound = 4

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Problemas descomponibles
Base de datos inicial (C,B,Z) Operadores
R1: C R2: C R3: B R4: Z (D,L) (B,M) (M,M) (B,B,M)

Objetivo
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Resolucin del problema

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Grafo Y/O
Descomposicin de problemas: arcos Y Resolucin de problemas: arcos O Concepto de solucin: subgrafo solucin

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Nueva resolucin del problema

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Ejemplo

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Mtodos de escalada
Algoritmo de escalada simple Algoritmo de escalada por la mxima pendiente Algunas variaciones estocsticas Algoritmos genticos

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Algoritmo de escalada simple


Evaluar el estado inicial. Si tambin es el estado objetivo, devolverlo y terminar. En caso contrario, continuar con el estado inicial como estado actual. Repetir hasta que se encuentre una solucin 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.
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Algoritmo de escalada por la mxima pendiente


Evaluar el estado inicial. Si tambin es el estado objetivo, devolverlo y terminar. En caso contrario, continuar con el estado inicial como estado actual. Repetir hasta que se encuentre una solucin o hasta que una iteracin completa no produzca un cambio en el estado actual:
Sea SUCC un estado tal que algn 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.
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Mtodos de escalada

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Algunas variaciones estocsticas


Algoritmo de escalada estocstico Algoritmo de escalada de primera opcin Algoritmo de escalada de reinicio aleatorio Enfriamiento simulado

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Algoritmo de enfriamiento simulado

p=e

E / kT

E =| ( valor del estado actual ) ( valor del nuevo estado ) |

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

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Algoritmos genticos
Se genera los estados sucesores combinado dos estados padres Se inicia el proceso partiendo de k estados generados aleatoriamente (poblacin) Un estado (individuo) se representa como una cadena sobre un alfabeto finito (a menudo cadenas de 0s y 1s) En la funcin de evaluacin (fitness function) se asignan valores altos para los mejores estados La siguiente generacin se produce mediante las operaciones de seleccin, cruce y mutacin.

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Algoritmos genticos

Funcin de evaluacin (8 reinas) = nmero de pares de reinas no atacadas 28 para una solucin
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Algoritmos genticos

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda primero el mejor


Algoritmo A* Bsqueda conducida mediante agendas Bsqueda dirigida Descenso iterativo A* Bsqueda primero el mejor recursiva A* con memoria acotada
Tema 2: Mtodos de bsqueda heurstica

Inteligencia Artificial e Ingeniera del Conocimiento

Algoritmo A*
ABIERTOS contiene el nodo inicial, CERRADOS esta vaco Comienza un ciclo que se repite hasta que se encuentra solucin o hasta que ABIERTOS queda vaco
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 informacin del mejor padre Si est en CERRADOS insertarlo manteniendo la informacin del mejor padre y actualizar la informacin de los descendientes En otro caso, insertarlo como un nodo nuevo
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Algoritmos de bsqueda
Bsqueda Sobre grafos

profundidad

A*

Con costo h=0 h<=h*

Anchura

Primero el mejor

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Descomposicin de problemas

Algoritmo Y/O*

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

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 informacin obtenida hacia arriba en el GRAFO
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Heursticas sobre el proceso de bsqueda


Arquitecturas combinadas de percepcin y planificacin Bsqueda orientada a subobjetivos Bsqueda jerrquica Bsqueda con horizonte

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Dificultades del proceso


Los procesos de percepcin no siempre pueden obtener la informacin necesaria acerca del estado del entorno Las acciones pueden no disponer siempre de modelos de sus efectos Pueden haber otros procesos fsicos, u otros agentes, en el mundo

Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Dificultades del proceso


En el tiempo que transcurre desde la construccin de un plan, el mundo puede cambiar de tal manera que el plan ya no sea adecuado Podra suceder que se le requiriese al agente actuar antes de que pudiese completar una bsqueda de un estado objetivo Aunque el agente dispusiera de tiempo suficiente, sus recursos de memoria podran no permitirle realizar la bsqueda de un estado objetivo
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Arquitectura percepcin/planificacin/actuacin
Sensory input Perceptual processing Goal (desired state) Current state State-space graph

Planning (graph search)


1998 Morgan Kaufman Publishers
Inteligencia Artificial e Ingeniera del Conocimiento

Find first action

Action

Tema 2: Mtodos de bsqueda heurstica

Bsqueda orientada a subobjetivos


Islands in the search space

Local searches
1998 Morgan Kaufman Publishers
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda jerrquica
Metalevel path Metalevel search Goal

Start

Base-level searches
1998 Morgan Kaufman Publishers
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Bsqueda jerrquica
Barrier G

Robot

Block
1998 Morgan Kaufman Publishers
Inteligencia Artificial e Ingeniera del Conocimiento

Tema 2: Mtodos de bsqueda heurstica

Das könnte Ihnen auch gefallen