¡Descarga Búsqueda informada de la informática y más Resúmenes en PDF de Matemáticas solo en Docsity!
Búsqueda Informada
Algoritmos primero el mejor
Algoritmos de búsqueda local
Algoritmos primero el mejor
Búsqueda primero el mejor
Búsqueda Voraz A*
Búsqueda primero el mejor: bpm
- Si n 0 es meta, fin con éxito, devolviendo n (^0)
- Abiertos ← ( n 0 ); Cerrados ← ( )
- Si Abiertos = ( ), fin devolviendo fallo
- n ← primer elemento de Abiertos ; eliminar n de Abiertos y llevarlo a Cerrados ; Suc ← ( )
- expandir n , colocando sus hijos en Suc , como hijos de n
- Si alguno de los hijos de n es un nodo meta, fin con éxito, devolviendo el camino
- eliminar de Suc cualquier nodo cuyo estado ya esté asociado a algún nodo de Abiertos o Cerrados
- colocar los nodos de Suc en Abiertos
- Reordenar Abiertos según valores crecientes de f( n )
- Ir a 3
Comportamiento bpm
No es completo
No es admisible
Complejidad espacial, temporal,
exponencial
Búsqueda Voraz
- Si n 0 es meta, fin con éxito, devolviendo n (^0)
- Abiertos ← ( n 0 ); Cerrados ← ( )
- Si Abiertos = ( ), fin devolviendo fallo
- n ← primer elemento de Abiertos ; eliminar n de Abiertos y llevarlo a Cerrados ; Suc ← ( )
- expandir n , colocando sus hijos en Suc , como hijos de n
- Si alguno de los hijos de n es un nodo meta, fin con éxito, devolviendo el camino
- eliminar de Suc cualquier nodo cuyo estado ya esté asociado a algún nodo de Abiertos o Cerrados
- colocar los nodos de Suc en Abiertos
- Reordenar Abiertos según valores crecientes de h( n )
- Ir a 3
Comportamiento búsqueda voraz
Como primero el mejor
Principal inconveniente: no considera el
coste de los caminos que encuentra
Puede explorar caminos de longitud infinita
Algoritmo A*
- Abiertos ← ( n 0 ); Cerrados ← ( )
- Si Abiertos = ( ), fin devolviendo fallo
- n ← primer elemento de Abiertos ; eliminar n de Abiertos y llevarlo a Cerrados ; Suc ← ( )
- Si n es un nodo meta, fin con éxito devolviendo el camino
- expandir n , colocando sus hijos en Suc , como hijos de n
- Para cada nodo q de Suc
6.1. Calcular g( q ) ← g( n ) + coste( n , q ) 6.2. Si q no está ni en Abiertos ni en Cerrados , calcular f( q ) ← g( q ) + h( q ) y añadir q a Abiertos asignando f( q ) y g( q ) 6.3. Si q estaba en Abiertos o en Cerrados ( q 0 ), comparar el valor de g( q ) con g( q 0 )
- Si g( q 0 ) <= g( q ), descartar q
- Si g( q 0 ) > g( q ), colocar n como nuevo padre de q 0 , asignarle f( q ) = g( q ) + h( q 0 ) y descartar q
- Si g( q 0 ) > g( q ) y q 0 está en Cerrados , eliminarle de Cerrados y llevarle a Abiertos
- Reordenar Abiertos según valores crecientes de f( n )
- Ir a 2
Propiedades formales de A*
Teorema 1: A* es completo en grafos localmente finitos
Teorema 2: A* es admisible en grafos localmente finitos
Def. Heurística mejor informada
h 2 (n) mejor informada h 1 (n) ambas minorantes, h 2 (n) > h 1 (n) en nodos no terminales
Def. algoritmo A* más informado
Def. algoritmo dominante
Teorema 3. Sean A 1 * y A 2 * dos algoritmos A* para el
mismo problema. Si A 2 * está mejor informado que A 1 *,
A 2 * domina a A 1 *
Variantes A*
Utilizando muy poca memoria
ADI, A descenso iterativo
BRPM, búsqueda recursiva primero el mejor
Utilizando memoria disponible
AM, A con memoria acotada
AMs, AM simplificado
Algoritmos de búsqueda local
Mejora iterativa
Métodos de población
Mejora iterativa
Solo mantienen el estado actual
Algoritmos con régimen de control irrevocable
Trabajan introduciendo modificaciones en una
configuración inicial para mejorar su calidad
Codificar estado de forma que contenga toda la información relevante de la solución
Utilizan función de evaluación heurística con
máximo (mínimo) global en soluciones
Dos familias
Escalada: siempre dirección máximo (ascensión de
colinas, hill-climbing)
Temple simulado: permiten empeoramiento
(simulated annealing)
Método de escalada
Un único estado
Función de evaluación con máximo
absoluto en solución óptima
Se mueve siempre en la dirección en
que mejora la función de evaluación
Si no puede, termina con fallo
Limitaciones escalada
Máximos locales
Llanuras
Crestas
Comportamiento escalada
No es completo ni admisible
Puede encontrar soluciones razonablemente buenas
Complejidad espacial: K (bytes para almacenar estado)
Complejidad temporal: peor caso, exponencial
En la práctica, suele terminar con pocas iteraciones
Comportamiento 8-reinas
Estado: tablero con 8 reinas, una por columna Operadores: mover una reina a otra casilla de la misma columna Fallo 86%, éxito 14% Rápido. En media 4 pasos si éxito 3 pasos si fallo