Documente Academic
Documente Profesional
Documente Cultură
Inform ada
Ivan Sanchez V.
IA 2016 - U PSE
O bjetivos de Aprendizaje
Entender las diferentes
estrategias para encontrar
soluciones a problemas
mediante la bsqueda
informada (usa informacin
especifica del problema).
Utilizar tcnicas heursticas
para intentar encontrar una
solucin de forma mas
optima.
La funcin de Evaluacin
La eleccin de la funcin de Evaluacin f, determina la estrategia de bsqueda
(o viceversa).
La mayora de algoritmos de bsqueda preferente incluyen una funcin
heurstica h(n) como parte de f.
H(n): El costo estimado del camino mas corto del estado en el nodo n hasta el nodo
meta.
H(n) toma un nodo como input y depende solo de este nodo. (Como por ejemplo,
para ir de Arad a Bucharest calculara tan solo la distancia en linea recta entre estos
nodos, sin tomar en cuenta los otros).
H eurstica
Del griego descubrir o encontrar.
Mtodo Heurstico: Cualquier enfoque de resolucin de problema,
descubrimiento o aprendizaje que emplea un mtodo practico que no
se garantiza optimo o perfecto, pero que es suficientemente bueno
para alcanzar metas inmediatas.
Cuando encontrar soluciones optimas es imposible, imprctico o muy
costos recurrimos a los mtodos heursticos para encontrar
soluciones satisfactorias en menor tiempo (o a menor coste).
En ciencias de la computacion, heurstica es cualquier tecnica que
permita resolver problemas mas rpido (o aproximar una solucin) en
comparacin a los metodos clsicos.
Normalmente sacrifica completitud, optimalidad o precisin por velocidad.
Sacrifi
cios de la H eurstica
Optimalidad: Cuando existen varias soluciones para un problema
dado, la heurstica garantiza encontrar la mejor solucin? Es
absolutamente necesario encontrar la mejor solucin?
Completitud: Cuando varias soluciones existen para un problema,
puede la heurstica encontrarlas todas? Necesitamos todas las
soluciones? Muchas tcnicas heursticas convergen a una sola
solucin.
Precisin: Puede la heurstica proveen un intervalo de confianza para
la solucin ofrecida? Que tan grande es el error de aproximacin?
Tiempo de ejecucin: Es esta la mejor tcnica heurstica conocida
para resolver este problema? Es la mas rpida? Que tanto mas
rpido converge la heurstica que el mtodo clsico? (algunas
heursticas son solo marginalmente mas rpidas).
Bsqueda A*
M inim izar elcosto totalestim ado de la solucin
A*
IDEA: EVITAR expandir caminos que son costosos (suponemos).
Evala los siguientes nodos a elegir mediante una combinacin de:
G(n): el costo de alcanzar el nodo n (Desde el nodo inicial)
H(n): el costo de llegar desde el nodo evaluado a la meta
Entonces:
F(n) = g(n) + h(n). Es el costo estimado de la solucin mas barata a
travs de n.
O ptim alidad en A*
Condicin 1: h(n) debe ser una heurstica admisible.
Heurstica Admisible: aquella que nunca sobrestima el costo de alcanzar una
meta.
Son optimistas, asumen que el costo de resolver el problema es menor de lo que en
realidad es.
O ptim alidad en A*
La
A*
La
A*
Consistencia
Contornos
Dado que los costos son
monotonicos (no
decrecientes) en todos los
caminos, entonces
podemos dibujar
contornos, donde todos los
nodos alcanzables dentro
de esa parte del grafo
estarn a una distancia
menor a un valor dado
como etiqueta.
Mapa de Rumania mostrando los
contornos f = 380, f = 400 y f = 420,
con Arad como estado inicial.
Tomado de AIMA, Russell y Norvig
(2013)
A*
Si C* es el costo de ruta de la solucin optima, entonces:
A* expande todos los nodos con f(n) < C*.
A* puede expandir algunos de los nodos justos en el contorno de la
meta (donde f(n) = C*) antes de seleccionar el nodo meta.
Ntese que A* no expande nodos con f(n) > C*. E.g.: Timisoara en
la figura anterior no es expandido a pesar de ser un nodo hijo
directo de a raz.
Entonces decimos que el rbol esta podado.
Podar, es quitar los ramales u opciones que no son prometedores,
sin siquiera examinarlos en detalle. Este concepto es poderoso y lo
usaremos a futuro.
Propiedades de la Bsqueda A*
Hasta ahora hemos visto que la bsqueda A* es:
Completa
Optima
Com plejidad
La complejidad depende mucho en las consideraciones que se tengan sobre el
espacio de estados.
Con una sola meta, el modelo queda como un rbol.
En este caso la complejidad de A* es exponencial al error absoluto mximo, O(b ed),
donde d es la profundidad de la solucin y e es el error absoluto (e=(h*-h)/h*).
D esventajas de A*
La mayor desventaja no es el tiempo de computo, sino al memoria.
Al mantener todos los nodos generados en memoria (como todos
los algoritmos basados en grafos), A* se queda sin memoria
rpidamente.
A* no es practico para problemas de gran escala.
Taller
Hacer el ejercicio 3.29 del libro.
Bsqueda con
restricciones de M em oria
Com o reducir eluso de m em oria alrealizar bsqueda
Algoritm o de RBFS
Particularidades de RBFS
RBFS es mas eficiente que IDA* aunque aun sufre de excesiva
regeneracin de nodos.
Notemos que el algoritmo parece cambiar de parecer
frecuentemente. Esto es porque cada vez que el actual mejor
camino se expande, su f-value tiende a incrementarse. El valor de h
es usualmente menos optimista para nodos que se acercan a la
menta.
SI h(n) es admisible, entonces RBFS es optimo (pasa igual que con
A*).
La complejidad en el espacio es linear con respecto a la
profundidad de la solucin optima mas profunda.
La complejidad en el tiempo es difcil de describir, ya que depende
del la precisin de la funcin heurstica y de cuan frecuentemente
se cambie de camino.
D eber
Escribir un ensayo con un ejemplo de (SMA*)
Max 1 Pagina ensayo, 1 Pagina Ejercicio.
Explicar el algoritmo con sus propias palabras.
Detallar Ventajas y desventajas (si existiesen).
Refl
exin
M as Funciones
H eursticas
Entender la naturaleza de las funciones heursticas en general
Referencias
Russell, S., & Norvig, P. (2009). Artificial Intelligence: A Modern
Approach. Prentice Hall.
Thomson, Tommy. AI & Games. YouTube.
https://www.youtube.com/channel/UCov_51F0betb6hJ6Gumxg3Q
https://en.wikipedia.org/wiki/Heuristic_(computer_science)