400 likes | 605 Views
BUSQUEDA INFORMADA. Capítulo 4. Bosquejo. El mejor primero B úsque da voraz B úsqueda A * A lgoritmos de mejora iterada Ascenso de Montaña Forja simulada La búsqueda local de cambio Los algoritmos genéticos. Repaso: busqueda en un árbol.
E N D
BUSQUEDA INFORMADA Capítulo 4
Bosquejo • El mejor primero • Búsqueda voraz • Búsqueda A* • Algoritmos de mejora iterada • Ascenso de Montaña • Forja simulada • La búsqueda local de cambio • Los algoritmos genéticos
Repaso: busqueda en un árbol • Una estrategia de búsqueda está definida escogiendo elorden de expansión de nodo pendientes
El mejor primero • Una idea: Use una función de evaluación f (n) para cada nodo - La estimación por “conveniencia" - Expanda el nodo deseado • Implementación: Ordene los nodos de la orillaen forma decreciente por conveniencia • Casos especiales: - La búsqueda en menor tiempo - La búsqueda A*
Búsqueda Voraz • La función de evaluación f (n) = h (n) (heurística)= la estimación que sea igual an para que llegue al final • e.g., hSLD(n) = La distancia de línea recta hSLD (n) de n para Bucarest • La búsqueda voraz, expande el nodo másprometedor
Propiedades: busqueda voraz • ¿Completa? No – puede quedarse atorada en ciclos, v.g., Iasi Neamt Iasi Neamt • ¿Tiempo?O(bm),una buena heurística puede mejorar mucho • ¿Espacio?O(bm)- todos los nodos están dentro de la memoria • ¿Óptimo? No
Busqueda A* • Idea: Evite caminos dispersos y costosos • f = g (n) + h (n) • g (n) = costo parallegar an • h (n) = costo estimado de n a la meta • f (n) = costo total estimado del caminoa través de n hasta la meta
Heurísticas admisibles • Una heurística h(n),es admisible si para cada nodo n h(n) ≤ h*(n), donde h*(n)es el costo verdadero para llegar a la meta desden • Una heurística admisible es optimista • Ejemplo:hSLD(n) (nunca se pasa de la distancia real del camino) • Teorema: Si h(n) es admisible, entonces A* usando unaARBOL DE BUSQUEDA es óptima
Optimalidad de A* Suponga que alguna meta sub-óptima G2ha sido generada y está en la orilla. Sea n un nodo no expandido en un camino mas cortoa una meta óptima G1. f(G2) = g(G2) dado que h(G2) = 0 g(G2) > g(G1) dado que G2 es sub-óptimo f(n) dado que h es admisible como f(G2) > f(n), A* nunca seleccionará G2 para expansión
Optimalidad de A* • Supongo que alguna meta sub-óptima G2ha sido generada y está en el margen. Dejandoser n la un nodo no expandido en el margen algo semejante que la n está en un camino más pequeño para una G es óptima para llegar al final. • f(G2) > f(G) de arriba • h(n) ≤ h^*(n) desde que la h es admisible • g(n) + h(n) ≤ g(n) + h*(n) • f(n) ≤ f(G) • Por lo tanto f(G2) > f(n), y UN * nunca seleccionara a G2 para la espanción
Heurísticas consistentes • Una heurística es consistentesi para cada nodo n, cada n´sucesor de n generado por cualquier acción h(n) ≤ c(n,a,n') + h(n') • Si la h es consistente, entonces lo hemos hecho f(n') = g(n') + h(n') = g(n) + c(n,a,n') + h(n') ≥ g(n) + h(n) = f(n) • i.e., F (n) decrece poco a lo largo de cualquier camino. • Teorema: Si h (n) es coherente, entonces A* usando un Grafo de búsquedaes óptimo
Optimalidad de A* • A* expande nodos en orden creciente de f • Gradualmente añade “el contorno de f ”nodos • El contorno tiene todos los nodos con f=f i donde fi < fi+1
Propiedades de A* • ¿Completa? Sí (a menos que haya infinitamente muchos nodos con f(G)) • ¿Tiempo? Exponencial • ¿Espacio? Guarda todos los nodos en memoria • ¿Óptimo? Sí
Heuristicas admisibles Para el rompecabezas 8 • h1(n) = número de tejas que se colocaron mal • h2(n) = sumar las distancias Manhattan • (i.e., No. de cuadrados de posición deseada de cada teja) h1(S) = ? h2(S) = ?
Heuristicas admisibles • Para el rompecabezas 8 • h1(n) = número de tejas que se colocaron mal • h2(n) = sumar las distancias Manhattan • (i.e., No. de cuadrados de posición deseada de cada teja) • h1(S) = ? 8 • h2(S) = ? 3+1+2+2+2+3+3+2=18
Dominio • Si h2(n) ≥ h1(n)para toda n (ambos son admisibles) h2 domina h1 • h2 es mejor para la búsqueda • La búsqueda típica cuesta (el número común de nodos expandidos): • d=12 IDS = 3,644,035 nodos A*(h1) = 227 nodos A*(h2) = 73 nodos • d=24 IDS = también muchos nodos A*(h1) = 39,135 nodos A*(h2) = 1,641 nodos
Problemas Relajados • Un problema con menos restricciones se considera un problema relajado • El costo de una solución óptima para un problema relajado proporciona una heurística admisible para el problema original • Si las reglas de los rompecabezas 8 están relajados a fin de que una teja puede moverse dondequiera, h1 (n) da la solución más corta • Si las reglas están relajadas a fin de que una teja puede mudarse a cualquier cuadrado adyacente, entonces h2 (n) da la solución más corta
Algoritmos de mejora iterada • En muchos problemas de optimización, el camino a la meta es irrelevante; La meta misma es la solución • Espacio de estado = conjunto de configuraciones "completas“ • Encontrar configuración óptima – TSP (Traveling Salesman Problem) • Encontrar configuración que satisfaga restricciones - n-reinas • En tales casos, podemos usar algoritmos de mejora iterada • Conservar un solo estado "actual“ ytratar de mejorarlo
Ejemplo n-reinas • Colocar n reinas en un tablero de n x n sin que hayan dos reinas en la misma fila, columna, o diagonal
Ascenso de Montaña Problema: A merced de la condición inicial, puede quedarse atorado en el máximo local
Ascenso de MontañaLas 8 Reinas • h= el número de la h de pares de reinas que atacan a cada quien, ya sea directamente o indirectamente • h = 17 para la condición anteriormente
Ascenso de MontañaLas 8 Reinas • Un mínimo local con h = 1
Forja Simulada • Sacar el máximo local dejando algunos movimientos "malos" pero gradualmente ir disminuyendosu frecuencia
Forja Simulada • Uno puede probar: Si la T disminuye lo suficientemente lenta, la búsqueda encontrará un óptimo (de todo) con probabilidad acercándose a 1 • Ampliamente usado en trazado VLSI, programando, etc.
Los algoritmos genéticos • Una individuo es generado combinando los cromosomas delos padres • Comenzar con k individuos generados al azar (la población) • Un individuo es representado como una cuerda sobre un alfabeto finito (a menudo una cuerda de 0s y 1s) • La función de evaluación (la función de adaptabilidad). Los valores superiores para las mejores condiciones. • Produzca la siguiente generación de condiciones por la selección, cruza, y mutación
Los algoritmos genéticos • función de adaptabilidad:El número de pares atacantes de reinas (min = 0, max = 8 × 7/2 = 28) • 24/(24+23+20+11) = 31% • 23/(24+23+20+11) = 29% etc