Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Bsqueda heurstica
Bsqueda primero el mejor p.ej. bsqueda de coste uniforme [UCS] Heursticas Bsqueda greedy El algoritmo A* Heursticas admisibles Heursticas consistentes
1
2. 3. 4. 5.
Seleccionar el nodo E del grafo que tenga mayor valor para la funcin heurstica. Seleccionar un operador R aplicable sobre E. Aplicar R, para obtener un nuevo nodo R(E). Aadir el arco E R(E) al grafo Repetir el proceso.
Estado 1 (coste = 3)
Estado 2 (coste= 7)
Estado 3 (coste = 1)
c2 c3
Demo: UCS
6
Demo UCS
7
c2 c3
Desventajas Explora en todas direcciones (no tiene en cuenta cul es nuestro objetivo)
8
inicio
solucin
Lo deseable deseable
inicio inicio
solucin
9
Heursticas
Las heursticas son criterios, mtodos o principios para decidir cul de entre varias acciones promete ser la mejor para alcanzar una determinada meta. En la generacin del rbol de bsqueda, nos podemos guiar con heursticas que nos den una indicacin acerca de cmo de bueno o prometedor es un determinado estado u operador.
p.ej. Qu pieza deberamos mover en una partida de ajedrez? Qu regla aplicamos en primer lugar al hacer un diagnstico?
10
Heursticas
El uso de heursticas nos permite guiar nuestra bsqueda de una solucin, lo que nos permitir obtener una solucin ms rpidamente que si utilizsemos estrategias de bsqueda a ciegas.
NOTA: Comprese el uso heurstico de informacin para guiar el proceso de bsqueda en Inteligencia Artificial con formalismos como la teora de la decisin o la teora de juegos, que en ocasiones nos permitirn determinar la decisin ptima si somos capaces de identificar todos los factores relevantes para el problema en cuestin (y las incertidumbres asociadas a ellos !!). http://en.wikipedia.org/wiki/Decision_theory http://en.wikipedia.org/wiki/Game_theory
11
Heursticas
En problemas de bsqueda: bsqueda: Una heurstica ser una funcin que utilizaremos para estimar cmo de cerca estamos de la solucin. solucin. Cada heurstica estar diseada para un problema de bsqueda particular.
Berkeley CS188
12
Heursticas
Ejemplo En problemas de bsqueda de caminos/ caminos/trayectorias trayectorias: : Distancia eucldea Distancia de Manhattan
10
11.18
13
Heursticas
Qu sucede si utilizamos directamente los valores proporcionados por nuestra funcin heurstica? heurstica? Bsqueda greedy (voraz (voraz) ) Saltamos al nodo de mejor valor heurstico heurstico lo que nos lleva directamente directamente a una solucin. solucin. Sin embargo, puede que no sea la mejor solucin :-( Funcionamiento en el peor caso caso: : Como DFS
(puede que tengamos que explorar el espacio de bsqueda completo, completo , siempre y cuando evitemos ciclos ciclos). ).
14
Heursticas
No siempre funcionan bien bien
Berkeley CS188
15
El algoritmo A*
IDEA Combinar UCS y greedy La bsqueda por coste uniforme slo tiene en cuenta el coste de llegar al nodo actual (hacia (hacia atrs atrs): ): g(n) La bsqueda greedy slo tiene en cuenta el coste estimado para llegar a la solucin (hacia adelante): adelante): h(n) El algoritmo A* gua la bsqueda utilizando la suma: suma: f(n) = g(n) + h(n)
16
El algoritmo A*
Cuestiones de implementacin Cundo debemos terminar la bsqueda? bsqueda? No cuando se encuentre una solucin, solucin, sino cuando se expanda el nodo correspondiente a la solucin solucin. .
17
El algoritmo A*
Cuestiones de implementacin Se encuentra siempre la solucin ptima? ptima? Depende de la funcin heurstica que utilicemos utilicemos
18
El algoritmo A*
Heursticas admisibles Las heursticas pesimistas (inadmisibles) inadmisibles) impiden la optimalidad del algoritmo A* al descartar buenos planes. Las heursticas optimistas (admisibles) admisibles) no subestiman la calidad de un buen plan.
Berkeley CS188
19
El algoritmo A*
Heursticas admisibles Una heurstica es admisible si h(n) h*(n) donde h*(n) es el coste verdadero de la solucin desde n.
10
11.18
NOTA: Tambin se requiere h(n) 0, de modo que h(G) = 0 para cualquier solucin G. G.
20
El algoritmo A*
Demo
21
El algoritmo A*
Optimalidad del algoritmo A* Supongamos que h(n) es una heurstica admisible A es una solucin ptima B es una solucin subptima El algoritmo A* expandir el nodo A antes que el B.
22
El algoritmo A*
Optimalidad del algoritmo A* El algoritmo A* expandir A antes que B.
Si B est en la frontera de bsqueda, bsqueda, Algn ancestro n de A tambin estar en la frontera de bsqueda (puede que el propio A). n se expandir antes que B, ya que f(n) f(A) < f(B) f(n) f(A) f(n) = g(n)+h(n) g(A) = f(A) f(A) < f(B) g(A) < g(B) f(A) < f(B) Todos los ancestros de A se expanen antes que B. A se expande antes que B.
23
El algoritmo A*
Diseo de heursticas admisibles El secreto de resolver problemas difciles de bsqueda est en encontrar heursticas admisibles. A menudo, una forma de obtener heursticas admisibles consiste en resolver problemas relajados (problemas similares al que queremos resolver, pero con menos restricciones sobre posibles acciones).
24
El algoritmo A*
Diseo de heursticas admisibles 8-puzzle
Estado inicial
Objetivo
25
El algoritmo A*
Diseo de heursticas admisibles 8-puzzle Heurstica 1: Nmero de piezas mal colocadas
Berkeley CS188
26
El algoritmo A*
Diseo de heursticas admisibles 8-puzzle Heurstica 2: Distancia de Manhattan total h(n) = 3+1+2+ = 18
27
El algoritmo A*
Diseo de heursticas admisibles 8-puzzle Resultados
Nmero de nodos expandidos cuando la solucin ptima tiene tiene Heurstica 4 pasos 8 pasos 12 pasos h=0 (UCS) 112 6300 3.6M #piezas 13 39 227 Manhattan 12 25 73
28
El algoritmo A*
Diseo de heursticas admisibles Mejor heurstica admisible posible: posible: Coste real de la solucin. solucin. Tiempo de ejecucin: ejecucin: Cuanto ms nos acerquemos al coste real, tendremos que expandir menos nodos pero pero tambin realizaremos ms trabajo en cada nodo. nodo. Combinacin de heursticas admisibles admisibles: : h(n) = max { ha(n), hb(n) }
El mximo de heursticas admisibles tambin es admisible admisible. .
29
El algoritmo A*
Bsqueda sobre grafos grafos Espacio de estados rbol de bsqueda
30
El algoritmo A*
Heursticas consistentes Coste heurstico estimado coste real Admisibilidad: Admisibilidad : h(A) h*(A) Consistencia: Consistencia : h(A) h(C) coste coste(A (AC) NOTA: Consistencia implica admisibilidad. admisibilidad. Propiedades de las heursticas consistentes consistentes: : El valor de f a lo largo de un camino nunca decrece. decrece. h(A) coste(A coste(AC) + h(C) El algoritmo A* sobre grafos es ptimo (siempre que la heurstica utilizada sea consistente consistente). ).
31
El algoritmo A*
32
Resumen
Algoritmos de bsqueda
33
Bibliografa
Stuart Russell & Peter Norvig: Norvig: Artificial Intelligence: A Modern Approach PrenticePrentice -Hall, 3rd edition, 2009 ISBN 0136042597 Nils J. Nilsson The Quest for Artificial Intelligence Cambridge University Press, 2009 ISBN 0521122937
34
Bibliografa
Bibliografa complementaria Elaine Rich & Kevin Knight: Artificial Intelligence. McGrawMcGraw -Hill, 1991. Patrick Henry Winston: Artificial Intelligence. AddisonAddison -Wesley, 1992. Nils J. Nilsson: Principles of Artificial Intelligence. Morgan Kaufmann, 1986.
35