Professional Documents
Culture Documents
Contenido Bsqueda sin informacin Mtodos de escalada Bsqueda primero el mejor Descomposicin de problemas Heursticas sobre el proceso de bsqueda
Bsqueda en anchura Bsqueda en profundidad Bsqueda con costos Bsqueda en grafos Problemas descomponibles
Sistemas de Bsqueda
Operadores
Base de Datos
Estrategia de Control
Representacin de un problema
7 5 8
4 6
5 1 4 7
2 5 8
Goal State
3 6
3
Start State
DATOS base de datos inicial 2: while DATOS no satisface la condicin de terminacin do 3: Selecciona alguna regla R en el conjunto de reglas que pueda ser aplicada a DATOS 4: DATOS resultado de aplicar R a DATOS
1:
Estados: Cualquier combinacin de 0 a 8 reinas en el tablero sin que ninguna se amenace Estado Inicial: Ninguna reina en el tablero Funcin sucesor: Aadir una reina a una casilla vaca Estado objetivo: Ninguna reina puede atrapar otra reina Existe una formulacin alternativa que sea ms adecuada?
Formulaciones alternativas
Estados: Hay ocho reinas en el tablero, aunque se pueden amenazar. Espacio de bsqueda demasiado grande Estados: Hay ocho reinas en el tablero, una por columna. Se pueden amenazar. Mejor espacio de bsqueda, ya que es ms reducido y nos podemos mover con la funcin sucesor: mover una reina de una columna a otra la dentro de la misma columna. Estados: Hay ocho reinas en el tablero, una por columna y una por la. Se pueden amenazar. Es demasiado reducido. Lo difcil es denir una funcin sucesor para moverse de forma eciente en este espacio.
Bsqueda de rutas Rutas tursticas Problema del viajante de comercio Diseo de circuitos VLSI Navegacin de un robot Secuenciacin para ensamblaje automtico Diseo de protenas Bsqueda en Internet
Se guardan los nodos visitados? Guardar los nodos visitados implica ms espacio: lista de nodos CERRADOS (nodos visitados y analizados). En general, hace los algoritmos ms ecientes (no repetimos bsquedas) y garantizan la completitud (encuentran la solucin si existe) en espacios nitos Pero necesitan ms espacio Cuando los guardamos decimos que realizamos bsqueda en grafos y cuando no bsqueda en rboles En la bsqueda retroactiva, aunque no se guarden todos los visitados, s se comprueba si el nodo actual nos ha salido en el camino que estemos analizando.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Bsqueda en Grafos
El conjunto de nodos del grado de estados para esta representacin del 8-puzzle es 9!=362.880
Bsqueda en Anchura
Crear una variable llamada LISTA NODOS y asignarle el estado inicial if E es un estado objetivo then return E while LISTA NODOS no vaca do Eliminar el primer elemento de LISTA NODOS y llamarlo E for cada regla que se empareje con el estado E do Aplicar la regla para generar un nuevo estado F if F es un estado objetivo then return F else aadir el nuevo estado al nal de LISTA NODO
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
Bsqueda en Anchura
Bsqueda en Anchura
A B D E F C G
Bsqueda en Anchura
A B D E F C G
Bsqueda en Anchura
A B D E F C G
Bsqueda en Anchura
A B D E F C G
La bsqueda en anchura es ptima si los costes de cada accin son iguales. Si los costes de cada opcin son distintos, entonces para la optimalidad tenemos que expandir siempre el nodo de mnimo coste (la suma de los costes desde el estado inicial al estado actual). Tiene el problema de gestionar una lista ordenada por costes.
Descenso Iterativo
Descenso Iterativo
Limit = 0
A A
Limit = 1
B
A C B
A C B
A C B
A C
Limit = 2
B D E
A C F G D B E
A C F G D B E
A C F G D B E
A C F G
A B D E F C G D B E
A C F G D B E
A C F G D B E
A C F G
Limit = 3
B D H I J E K
A C F L M N G O H D I J B E K
A C F L M N G O H D I J B E K
A C F L M N G O H D I J B E K
A C F L M N G O
A B D H I J E K L F M N C G O H D I J B E K
A C F L M N G O H D I J B E K
A C F L M N G O H D I J B E K
A C F L M N G O
A B D H I J E K L F M N C G O H D I J B E K
A C F L M N G O H D I J B E K
A C F L M N G O H D I J B E K
A C F L M N G O
Complejidad en espacio como bsqueda en profundidad: slo un camino desde la raz a la solucin. Tiene garanta de obtener la solucin ptima (bajo costes constantes). Tiene ms complejidad en tiempo que la bsqueda en profundidad y la bsqueda en anchura, ya que analiza el mismo nodo varias veces.
Bsqueda Direccional
Estrategia Se realizan dos bsquedas simultneas, una hacia adelante desde el nodo inicial y otra desde el nodo objetivo hacia atrs. Cuando los dos espacios de bsqueda tienen interseccin no vaca, entonces tenemos un camino desde el nodo inicial hasta el nodo objetivo. Para que se pueda aplicar tenemos que tener la posibilidad de calcular, dado un estado, todos los estados desde los que se puede alcanzar este estado, para poder implementar la bsqueda inversa. Como la complejidad de las bsquedas anteriores es exponencial en funcin del camino ms largo: O(bl ), esta estragia logra reducir esta complejidad a O(bl/2 + bl/2 ). Bajo qu condiciones una bsqueda en anchura bidireccional es ptima? Tiene que generar, al menos, uno de los niveles de la bsqueda de forma completa. Si los dos niveles se han generado de forma parcial y hay interseccin en los espacios de bsqueda, puede que la solucin encontrada no sea ptima.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Problemas Descomponibles
Objetivo (M, . . . , M)
Problemas Descomponibles
Problemas Descomponibles
Descomposicin de problemas: arcos Y Resolucin de problemas: arcos O Solucin: la solucin se puede construir a partir de las soluciones de los problemas parciales
Problemas Descomponibles
Mtodos de Escalada
Algoritmo de escalada simple Algoritmo de escalada por la mxima pendiente Algunas variaciones estocsticas Algoritmos genticos
Variantes de este enfoque alcanzan ciclos con menos del 1 % de sobrecoste respecto al circuito ptimo.
Los vecinos de un nodo se pueden calcular de muchas formas distintas (pequeos cambios o cambios ms notables). Si n es un nodo y n es su vecino, el coste de n se debe de poder calcular a partir del coste de n y los cambios que se han realizado (no es necesario calcularlo de nuevo desde el principio). Es importante que desde cualquier nodo y movindose por los vecinos de los nodos generados se pueda llegar a todo el espacio de bsqueda.
Ejemplo: n-reinas
Denin del problema Poner n reinas en un tablero n n de tal forma que no haya dos damas en la misma la, columna o diagonal. Mover una dama que reduzca el nmero de conictos.
h=5
h=2
h=0
Este mtodo casi resuelve los problema de las n-reinas de forma casi instantnea para n muy grande, por ejemplo, n igual a 1 milln.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Como subir al Everest con una niebla espesa y amnesia Escalada Simple 1: actual NodoInicial 2: Lista Vecinos(actual) 3: while Lista no vaca do 4: vecino primer elemento Lista 5: Eliminar vecino de Lista 6: if valor(vecino) > valor(actual) then 7: actual = vecino 8: Lista Vecinos(actual) 9: return actual
Como subir al Everest con una niebla espesa y amnesia Hill-Climbing 1: actual NodoInicial 2: loop 3: vecino mejor sucesor de actual 4: if valor(vecino) valor(actual) then 5: return actual 6: actual vecino
Ascensin de Colinas
En general, es muy til estudiar el aspecto del espacio de estados.
objective function
global maximum
current state
state space
La ascensin de colinas con varios inicios aleatorios elimina el problema de los mximos locales y es completo (encuentra la solucin si existe). Los movimientos aleatorios aleatorios planos se escapan de mesetas intermedias pero pueden ciclar en mximos planos.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Enfriamiento simulado
Idea: espacar de un mximo local permitiendo movimientos malos pero gradualmente se estos movimientos decrecen en tamao y frecuencia Enfriamiento Simulado 1: actual NodoInicial 2: for i = 1 to iteraciones do 3: vecino vecino aleatoria de actual 4: ENERGIA valor(vecino) valor(actual) 5: if ENERGIA > 0 then 6: actual = vecino 7: else 8: actual = vecino con probabilidad proporcional a
ENERGIA
e kT (i) 9: return actual T (i) debe de empezar siendo alta y decrecer lentamente hasta aproximarse a 0.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
=e
E(x )E(x ) kT
Diseado por Metropolis et al., 1953, para modelizar procesos fsicos Ampliamente usado (diseo VLSI, rutas de trco areo, etc.)
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Algoritmos genticos
Novedad fundamental: Se generan 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 nito (a menudo cadenas de 0s y 1s) En la funcin de evaluacin (tness function) se asignan valores altos para los mejores estados La siguiente generacin se produce mediante las operaciones de seleccin, cruce y mutacin.
Algoritmos genticos
Fitness
Selection
Algoritmos Genticos
El cruce ayuda si las subcadenas tienen subcomponentes signicativas Funcin de evaluacin (8 reinas) = nmero de pares de reinas no atacadas 28 para una solucin
Algoritmo A Bsqueda conducida mediante agendas Bsqueda dirigida Descenso iterativo A Bsqueda primero el mejor recursiva A con memoria acotada
Algoritmo A
1: ABIERTOS contiene el nodo inicial 2: CERRADOS esta vaco 3: while solucin no encontrada y ABIERTOS no vaco do 4: Seleccionar el mejor nodo de ABIERTOS 5: if el nodo seleccionado es un nodo objetivo then 6: return nodo seleccionado 7: else 8: expandir dicho nodo 9: for all N nodo sucesor do 10: if N est en ABIERTOS then 11: insertarlo manteniendo la informacin del mejor padre 12: else if N est en CERRADOS then 13: insertarlo manteniendo la informacin del mejor padre 14: 15:
y actualizar la informacin de los descendientes else Insertarlo como un nodo nuevo en ABIERTOS
Bsqueda A
Idea Trata de evitar expandir caminos que son caros Funcin de evaluacin: f (n) = g(n) + h(n) g(n) = coste hasta el nodo n h(n) = coste estimado desde n hasta el objetivo f (n) = coste total del camino que pasa por n hasta el objetivo La bsqueda A usa una heurstica admisible h(n) h (n) donde h (n) es el coste verdadero desde n. (tambin se requiere que h(n) 0, as que h(G) = 0 para cualquier objetivo G.)
Distintas Versiones
Podemos hacerlo: Bsqueda en rboles: No controlamos si se repiten nodos. Si un nodo aparece varias veces se generan varias veces los vecinos. No hay lista CERRADOS. Bsqueda en grafos: El que acabamos de ver. No se duplican los nodos que hay que ya han salido. Cada nodo tiene un enlace a su mejor padre. Mtodos mixtos: Controlan si han salido los nodos anteriormente, pero mantienen una estructura de rbol. Si un nodo se ha obtenido por un mejor camino se vuelven a generar de nuevo todos sus sucesores.
Distancias en Rumana en km
Oradea Neamt
71
75
Arad
Zerind
151
87
Iasi
140
Sibiu
92 99
Fagaras Vaslui Rimnicu Vilcea
118 80
Timisoara
111 70
Lugoj
97 146
Pitesti
211
142 98
Mehadia
101 138
85
Hirsova
Urziceni
75
Dobreta
86
Bucharest
120
Craiova
90
Giurgiu Eforie
Straightline distance to Bucharest Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374
Ejemplo de bsqueda A
Arad 366=0+366
Ejemplo de bsqueda A
Arad
Sibiu 393=140+253
Timisoara 447=118+329
Zerind 449=75+374
Ejemplo de bsqueda A
Arad
Sibiu
Timisoara 447=118+329
Zerind 449=75+374
Arad
Fagaras
Oradea
Rimnicu Vilcea
Ejemplo de bsqueda A
Arad
Sibiu
Timisoara 447=118+329
Zerind 449=75+374
Arad
Fagaras
Oradea
Rimnicu Vilcea
Ejemplo de bsqueda A
Arad
Sibiu
Timisoara 447=118+329
Zerind 449=75+374
Fagaras
Oradea 671=291+380
Rimnicu Vilcea
Bucharest 450=450+0
Craiova
Pitesti
Sibiu
591=338+253
Ejemplo de bsqueda A
Arad
Sibiu
Timisoara 447=118+329
Zerind 449=75+374
Fagaras
Oradea 671=291+380
Rimnicu Vilcea
Bucharest 450=450+0
Pitesti
Sibiu 553=300+253
591=338+253
Craiova
Rimnicu Vilcea
615=455+160 607=414+193
A en grafos
El control de los nodos repetidos no es simple. Si generamos los nodos en el siguiente orden (y se supone que el coste de cada movimiento es 1): 1 2 4 3 5 6
El ltimo camino hacia el nodo 4 podra ignorarse, porque tiene un mayor coste, pero no se hace.
Si olvidamos que desde el nodo 7 podemos llegar al 6, y luego resulta que 7 es sucesor de 3, entonces el camino 1 3 7 6 8 no se considerara y es ms corto que 1 2 4 5 6 8.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
2 4 5 6 7
10
9
8
11
Tema 2: Mtodos de bsqueda heurstica
2 4 5 6 7
10
9 8
11
2 4 5 6 7
10
9 8
11
Actualizacin de Descendientes
Regla Bsica Si un nodo se obtiene por un mejor camino, entonces hay que actualizar el puntero desde ese nodo a su mejor padre. Si disminuye la funcin de evaluacin de un nodo que estaba cerrado, entonces hay que actualizar la informacin de evaluacin de todos sus hijos y de forma recursiva con todos sus descendientes.
Ejemplo
Aplicar el algoritmo A suponiendo que el grafo de estados del problema es el siguiente: EI A 1 B C 2 D 1 0 E EF
El nmero sobre el nodo es el valor de la funcin de evaluacin h. Se supone que el coste es de 1 por cada arco. En caso de empate entre los ABIERTOS se escoge el ltimo nodo generado. EI es el estado inicial y EF es un estado nal u objetivo.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Ejercicio
Aplicar el algoritmo A al siguiente grafo A 2 B 1 D E 1 F EF 0 G
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
EI 3 C
Ejercicio
el algoritmo A al siguiente grafo A 1 B 1 E F 1 G 10 K L 1 J 0 2 I 5 H C 3 D 2 EI 2
El Mtodo de Pearl
Pearl mantiene slo un rbol en la aplicacin de A : A C A C
B B Tipo Nilsson Tipo Pearl Pero en la aplicacin de Pearl, si un nodo se obtiene por un camino de menos coste que anteriormente, entonces hay que pasar el nodo al conjunto de ABIERTOS para generar sus descendientes de nuevo.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Algoritmos de Bsqueda
Profundidad
A h h h = 0 Anchura
valor Las agendas pueden contener todos los nodos ordenados por valor. Pero, a veces slo se mantiene el rden entre los 5-10 primeros y el resto se inserta en la cola. A veces la evidencia es negativa. Son apropiadas para tareas complejas con interaccin de diversas fuentes. Hay dominios no-montonos en los que no son apropriadas.
Descenso Iterativo A
Descenso iterativo A : DIA Intentan resolver los problemas de memoria del algoritmo A , siguiendo un algoritmo de descenso interativo (bsqueda en profundidad) Se comienza realizando un algoritmo en profundidad, pero dejando de expandir un nodo n si su coste total f (n) es mayor que una cota que, inicialmente se ja a f (n0 ) = g(n0 ) + h(n0 ) = h(n0 ), es decir el coste esperado a la solucin desde el nodo raz. Si se encuentra una solucin, entonces es la solucin ptima. Si no, se calcula el mnimo de f (n) para todos los nodos visitados, pero no expandidos Se repite una bsqueda en profundidad desde el nodo raz
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Ejemplo
11
17
11
15
14
16
11
11
19
16
15
20
18
Ejemplo
11
17
11
15
14
16
11
11
19
16
15
20
18
Ejemplo
11
17
11
15
14
16
11
11
19
16
15
20
18
Ejemplo
11
17
11
15
14
16
15
Ejemplo
11
17
11
15
14
16
15
Descomposicin de problemas
Hasta ahora la bsqueda heurstica se ha realizado sobre grafos O Ya hemos visto que cuando un problema se puede descomponer en subproblemas, entonces la bsqueda se puede realizar sobre un grafo Y/O En lo que sigue vamos a ver el algoritmo Y/O , que se ejecuta sobre un grafo Y/O Obj:Adquirir TV Obj:Robar TV Obj:Adquirir TV
Obj:Ganar dinero
Obj:Comprar TV
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 en el GRAFO Si no tiene sucesores al nodo se le asigna el valor MAXIMO A cada sucesor se le asigna el valor de h Si el nodo es una solucin a un subproblema etiquetarlo como RESUELTO con h(n) = 0. Propagar la informacin obtenida hacia arriba en el GRAFO En un nodo O, se elige el mnimo de los valores cada hijo ms el coste de llegar a l. Est RESUELTO si un hijo est RESUELTO En un nodo Y, se elige la de los valores de los hijos ms los costes para llegar a cada uno de ellos. Est RESUELTO si todos sus hijos estn RESUELTO
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Ejemplo
A 5
Ejemplo
A 5 B 7 A 7
C 6
Ejemplo
A 5 B 7 A 7
A 8
C 6
B 7 D 4
C 10 E 4
Ejemplo
A 5 B 7 A 7
A 8
C 6
B 7 D
C 10 E 4
A 10 C 10 D 4 E 4
B 9 F 3 G 4
Ejemplo
A 10 C 10 D 4 E 4
B 9 F 3 G 4
Las echas indican el mejor camino en los nodos O. En los nodos AND (hay que seguir todas las opciones) o los nodos con un hijo no son necesarias. En los nodos Y hay que seguir todos los caminos.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Ejemplo
A 10 C 10 D 4 E 4
B 9 F 3 G 4
A 11 B 12 F 6 I 7 G 4 D 4 C 10 E 4
H 5
Las echas indican el mejor camino en los nodos O. En los nodos AND (hay que seguir todas las opciones) o los nodos con un hijo no son necesarias. En los nodos Y hay que seguir todos los caminos.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
E Irresoluble
H
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
Condicin de optimalidad
Admisibilidad La funcin h es admisible si siempre es menor o igual que el valor real del coste hasta el objetivo h : h h . Optimalidad Si la funcin h es admisible, si el nodo raz se etiqueta como resuelto, el mejor camino desde este nodo constituye un subgrafo solucin del problema.
Descomposicin de Problemas
El algoritmo AO se basa en que el problema global puede resolverse mediante la resolucin de subproblemas de forma independiente. Sin embargo, no siempre es as (variables que tienen que ser iguales en ambos subproblemas Encontrar griego falible Encontrar alguien falible Encontrar alguien humano Turing es humano
Scrates es griego
Scrates es humano
Subobjetivos Interactivos
En este problema no encontrar la solucin ptima: no se da cuenta que para obtener D es mejor hacerlo a travs de C que ya es necesario para A. A
Propagacin a Ascendientes
En general, cuando un nodo es resuelto o cambia su valoracin hay que propagar esta modicacin a todos sus ascendientes. Una heurstica es montona si: Si un nodo A es un nodo O tiene como descencientes a nodos B1 , . . . , Bk , entonces h(A) h(Bi ) + c(A, Bi ), i k , donde c(A, Bi ) es el coste de ir de A a Bi . Si un nodo A es un nodo Y tiene como descencientes a nodos B1 , . . . , Bk , entonces k h(A) i=1 h(Bi ) + c(A, B1 , . . . , Bk ), donde c(A, B1 , . . . , bk ) es el coste de la descomposicin. En heursticas montonas, slo hay que propagar el cambio de valor a los nodos ascendientes C tales que el subgrafo ptimo con raz en C contiene el nodo que ha cambiado de valor. El subgrafo ptimo es el que se obtiene partiendo de un nodo y eligiendo el mejor hijo en los nodos O y todos los hijos en los nodos Y.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica
C 8
F 1 K 3 L 2 M 1
A 1 4 B 3 D H 0 J 2 2 E F 4 I 3 C 5 G 1 K 0
Arquitecturas combinadas de percepcin y planicacin Bsqueda orientada a subobjetivos Bsqueda jerrquica Bsqueda con horizonte
Mtodos basados en probabilidades. El resultado de una accin es una distribucin de probabilidad sobre el conjunto de sus posibles resultados. Problemas de decisin de Markov (total o parcialmente observables) . Mtodos aproximados. Un ejemplo es la arquitectura de percepcin/planicacin/actuacin El agente calcula una secuencia de acciones, ejecuta la primera, mide la situacin del entorno, recalcula el estado de inicio, y recalcula. Esto permite paliar los efectos de la incertidumbre si la percepcin y la actuacin son precisas.
El ciclo percepcin/planicacin/actuacin
A veces no tenemos sucientes recursos (tiempo o espacio) para resolver un problema de bsqueda, entonces podemos relajar la condicin de obtener un camino ptimo y conformarmos con una solucin del problema, aunque no sea ptima o slo una solucin parcial que no consiga el objetivo. Se podra usar A , pero con una heurstica no admisible. Se podra parar la bsqueda antes de llegar al objetivo (Algoritmo anytime).
Bases En la bsqueda orientada a subobjetivos, el conocimiento heurstico sobre el dominio del problema para establecer un conjunto de subobjetivos en el espacio de bsqueda, a travs de los cuales se espera obtener la secuencia total hacia el objetivo global. Ejemplo En una bsqueda de caminos en terrenos dicultosos, esta secuencia de subobjetivos se prodra corresponder con pasos de montaa, que se resuelven de forma secuencial.
Bsqueda jerrquica
Bases Es parecida a la bsqueda por subobjetivos, slo que ahora no hay un conjunto explcito de subobjetivos. Se trata de hacer la bsqueda a varios niveles. Primero se considera un nivel de alta abstraccin: Un estado puede ser un conjunto de estados del nivel inferior y una accin tiene una gran potencia y realiza grandes modicaciones del espacio. Una vez que se resuelve el problema en el nivel superior, se completan las acciones elementales del nivel inferior. Esto, a su vez, puede conllevar la resolucin de nuevos problemas de bsqueda.
Bsqueda jerrquica
Bsqueda jerrquica
Mtodo minimin.
Serafn Moral (Antonio Gonzlez) Tema 2: Mtodos de bsqueda heurstica