Beruflich Dokumente
Kultur Dokumente
--- Mtodos informados o heursticos -- Mtodos no informados Muy ineficientes en la mayora de los casos Ante la explosin combinatoria, la fuerza bruta es impracticable Mtodos informados Orientan la bsqueda aplicando conocimiento del dominio
sobre la proximidad de cada estado a un estado objetivo, guiando as la bsqueda hacia el camino ms prometedor
eleccin informada del siguiente paso: qu nodo es ms prometedor No genera nodos no prometedores y as mejora rendimiento Puede encontrar una solucin aceptablemente buena en tiempo razonable
Limitaciones
No garantizan encontrar solucin, aunque existan soluciones Algunos no garantizan soluciones con buenas propiedades
Heursticas
Heurstica: tcnica que mejora la eficiencia de la bsqueda Pudiendo sacrificar la completitud y la optimalidad
posibilidad de fallar (no encontrar solucin, habindola) o de encontrar soluciones no ptimas
Proporciona consejos
Eleccin del sucesor ms prometedor de un estado Orientando acerca del orden de los sucesores de un estado Tiene efectos locales en cada paso del algoritmo
Mtodo de bsqueda heurstica Algoritmo que usa una heurstica en la bsqueda en el espacio de estados Importante seleccionar una funcin heurstica adecuada.
Cmo escoger una buena?
IA UCM, curso 2012-13 Tema 2.3. (Bsqueda informada AIMA) - 3
Funcin heurstica
Funcin heurstica h'
Asocia a cada estado del espacio de estados una cierta cantidad numrica que evala de algn modo lo prometedor que es ese estado para alcanzar un estado objetivo Esto sirve para seleccionar el estado con mejor valor heurstico Dos posibles interpretaciones
Estimacin de la "calidad" de un estado
Los estados de mayor valor heurstico son los preferidos Los estados de menor valor son los preferidos Un cambio de signo permite pasar de una perspectiva a la otra
Estado inicial
Estado objetivo
hb = n de fichas descolocadas (respecto al tablero objetivo) Es la heurstica ms sencilla y parece bastante intuitiva
Ejemplo: 5
Pero no usa la informacin relativa al esfuerzo (n de movimientos) necesario para llevar una ficha a su sitio
IA UCM, curso 2012-13 Tema 2.3. (Bsqueda informada AIMA) - 6
2 5
3 4 6
Tema 2.3. (Bsqueda informada AIMA) - 7
ha
6
hb
5
hc
0
hd
6
--- Bsquedas primero el mejor -- Primero el aparentemente mejor, el nodo ms prometedor Si supiramos cul es el mejor nodo para expandir en cada paso, esto no sera una bsqueda sino una marcha directa al objetivo Seleccin del siguiente nodo a expandir en base a
una funcin de evaluacin f '(n) que tenga en cuenta una estimacin del coste h(n) necesario para llegar a una solucin a partir de ese nodo n
Se usa una estimacin en lugar de criterios fijos (1 profundidad o anchura) El nodo seleccionado ser aquel que minimice la funcin de evaluacin Gestin de abiertos: cola de prioridad, ordenada por el valor de la funcin de evaluacin Asumiremos que el coste de los operadores nunca puede ser negativo
Es la bsqueda A*
IA UCM, curso 2012-13 Tema 2.3. (Bsqueda informada AIMA) - 10
Piezas descolocadas
MisplacedTileHeuristicFunction.java
A*in AIMA
function A*-GRAPH-SEARCH(problem) returns a solution, or failure * node <- a node with STATE = problem.INITIAL-STATE, ESTIMATED-COST = 0 * frontier <- a priority queue ordered by ESTIMATED-COST, with node as the only element * explored <- an empty set * loop do * * * * * * * * * * if EMPTY?(frontier) then return failure node <- POP(frontier) // chooses the lowest-cost node in frontier if problem.GOAL-TEST(node.STATE) then return SOLUTION(node) add node.STATE to explored for each action in problem.ACTIONS(node.STATE) do child <- CHILD-NODE(problem, node, action) if child.STATE is not in explored or frontier then frontier <- INSERT(child, frontier) else if child.STATE is in frontier with higher ESTIMED_COST then replace that frontier node with child
* </code> * The algorithm is identical to the general graph search algorithm, except for the use of a priority queue and the addition of an extra check in case a shorter ESTIMED_COST to a frontier state is discovered.