2. Búsqueda ciega o no informada (anchura, profundidad): no cuenta con
ningún conocimiento sobre cómo llegar al objetivo.
• Búsqueda informada: aplicar conocimiento al proceso de búsqueda para
hacerlo más eficiente.
• El conocimiento vendrá dado por una función que estima la “bondad” de los
estados:
• Dar preferencia a los estados mejores.
• Ordenando la cola de ABIERTOS, comparando su bondad estimada.
• Objetivo: reducir el árbol de búsqueda, ganando eficiencia en la práctica.
Busqueda informada
3. Del griego heuriskein, descubrir: ¡Eureka!
• Según la RAE: “técnica de la indagación y del descubrimiento”.
• Otro significado: método para resolver problemas que no garantiza la solución, pero que en
general funciona bien.
• En nuestro caso, una heurística será una función numérica sobre los estados.
Características:
- Esta función de evaluación se utiliza para guiar el proceso haciendo que en cada momento se
seleccione el estado o las operaciones más prometedoras.
- No siempre se garantiza encontrar una solución (si existe).
-No siempre se garantiza encontrar la solución más próxima (la que tenga el número menor de
operaciones).
Heuristica
4. La forma más ampliamente conocida de la búsqueda primero el mejor se le llama
búsqueda A* conocida como “Búsqueda A-estrella”; la cual evalúa los nodos
combinando g(n) y h(n) de la siguiente manera:
f(n)=g(n)+h(n)
g(n) significa el coste para alcanzar el nodo; lo que quiere decir que nos da el coste de
camino desde el nodo inicial al nodo n y h(n)=significa el coste de ir al nodo objetivo, es
decir, el coste estimado del camino más barato desde n hasta el objetivo.
f(n)=coste más barato estimado de la solución a través de n.
De esta manera se trata de encontrar la solución más barata y es razonble intentar
primero el nodo con el valor más bajo de g(n).
Cabe mencionar que esta estrategia resulta ser más que razonable con tal que la
funcion heurística h(n) satisfaga cierta condiciones; la búsqueda A* compleja como
optima, la optimalidad de A* es sencilla de analizar si se usa con la búsqueda de
árboles.
A* es óptima si h(n) es una heurística admisible, es decir, con tal de que la h(n) nunca
sobrestime el coste de alcanzar el objetivo. Como g(n) es el coste exacto para alcanzar
n, tenemos como consecuencia inmediata que la f(n) nunca sobrestime el coste
verdadero de una solución a través de n.
Búsqueda A*: minimizar el costo estima total de la
solución
5. Es de tipo de algoritmos de búsqueda heurística con limitación de memoria. Los más
utilizados son el IDA* (Iterative Deepening A*), y SMA* (Simplified memory A*).
El IDA* (Iterative-Deepening A*) es al igual que el DFID un algoritmo basado en la
profundización iterativa. La única diferencia entre ambos algoritmos estriba en que
mientras el DFID se basa en la profundidad para cada una de sus iteraciones, el IDA se
basa en la información heurística que posee para determinar el siguiente límite de la
iteración. El tratamiento de esa información se realiza de igual forma que en el algoritmo
del A*, o sea mediante la función de evaluación f introducida anteriormente. El
funcionamiento del algoritmo es el siguiente:
En cada iteración el algoritmo realiza una búsqueda en profundidad hasta donde se lo
permita su límite de coste. Cada vez que se visita todo el grafo de búsqueda contenido
dentro de ese límite sin hallar la solución entonces, el algoritmo incrementa el límite de
coste. Ese nuevo límite viene dado por el menor de los límites de corte, o sea, por el
menor valor del coste de los nodos que tenían un valor superior en la anterior iteración.
Este algoritmo se considera limitado en profundidad, aunque esta afirmación no sea
estrictamente cierta. La razón de ello viene dado por su eficacia en cuanto al uso de
memoria pero en su funcionamiento no realiza un control estricto de la memoria.
Búsqueda IDA*
6. Es de tipo de algoritmos de búsqueda heurística con limitación de memoria. Los más
utilizados son el IDA* (Iterative Deepening A*), y SMA* (Simplified memory A*).
El IDA* (Iterative-Deepening A*) es al igual que el DFID un algoritmo basado en la
profundización iterativa. La única diferencia entre ambos algoritmos estriba en que
mientras el DFID se basa en la profundidad para cada una de sus iteraciones, el IDA se
basa en la información heurística que posee para determinar el siguiente límite de la
iteración. El tratamiento de esa información se realiza de igual forma que en el algoritmo
del A*, o sea mediante la función de evaluación f introducida anteriormente. El
funcionamiento del algoritmo es el siguiente:
En cada iteración el algoritmo realiza una búsqueda en profundidad hasta donde se lo
permita su límite de coste. Cada vez que se visita todo el grafo de búsqueda contenido
dentro de ese límite sin hallar la solución entonces, el algoritmo incrementa el límite de
coste. Ese nuevo límite viene dado por el menor de los límites de corte, o sea, por el
menor valor del coste de los nodos que tenían un valor superior en la anterior iteración.
Este algoritmo se considera limitado en profundidad, aunque esta afirmación no sea
estrictamente cierta. La razón de ello viene dado por su eficacia en cuanto al uso de
memoria pero en su funcionamiento no realiza un control estricto de la memoria.
Búsqueda IDA*