Capítulo 4 BUSQUEDA INFORMADA.

Slides:



Advertisements
Presentaciones similares
Branch-and-bound Search
Advertisements

Búsqueda en árboles de juego
¿Por que estudiar búsquedas?
INTELIGENCIA ARTIFICIAL
Inteligencia Artificial
Diseño y análisis de algoritmos
Inteligencia Artificial
Guia ejercicios 5: D&AA Universidad Viña del Mar 1) Calcular la factibilidad de resolver el siguiente estado del juego de 15 Resolver el juego usando el.
Algoritmos Voraces.
Búsqueda con retroceso
BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA
Inteligencia Artificial Búsqueda informada y exploración
DERIVADA DE UNA FUNCION REAL
“Impulsando la Sociedad
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Investigación Algorítmica
Curso Inteligencia Artificial (30223)
Curso Inteligencia Artificial (30223) Problemas resueltos
Cap 4 Búsqueda Heurística
Búsqueda Informada Heurísticas.
Inteligencia Artificial Búsqueda informada y exploración
Investigación Operativa

BUSQUEDA EN JUEGOS DE ADVERSARIO Sección 1-4
Solución de problemas por búsqueda inteligente
APRENDIZAJE WIDROW- HOFF
Inteligencia Artificial Resolver problemas mediante búsqueda
SATISFACCION DE RESTRICCIONES Sección 1-3
Inteligencia Artificial Resolver problemas mediante búsqueda
Algoritmos de búsqueda para problemas de optimización discreta
Inteligencia Artificial Búsqueda local
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
Búsqueda con información.
GRAFOS HUGO ARAYA CARRASCO.
Teoria de grafos.-clase 4
Temas importantes para el desarrollo de la segunda parte del TPE
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún.
Búsqueda heurística.
Solución de problemas por Búsqueda
Optimización, Búsqueda Heurística
Single-Source Shortest Paths “Camino más corto desde/hacia una fuente”
Problemas de Decisión y Optimización
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos

Métodos de Búsqueda Informada. Búsqueda de la mejor Ruta En esta sección no sólo nos interesa encontrar una posible ruta, sino obtener aquella ruta que.
A LGORITMO DE BÚSQUEDA POR COSTO UNIFORME Dorian López.
Diseño y análisis de algoritmos
Parte II. Algorítmica. 3. Algoritmos voraces.
Método de recuperación de Theis
¿Por que estudiar búsquedas? Recordemos que la mayoría de los problemas en inteligencia artificial, involucran como tema central un proceso de búsqueda.
METODOS DE BUSQUEDA INFORMADOS CAPITULO 5
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
Inteligencia Artificial
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
Algoritmos genéticos Introducción Esquema básico Codificación
Parte I. Estructuras de Datos.
Una introducción a la computación evolutiva
Parte I. Estructuras de Datos.
Tema 10: Algoritmos voraces
TEMA 5: El problema del flujo con costo mínimo
Toribio Sarmiento Miguel Sesarego Cruz Rosmery. Desde la aparición de las civilizaciones, los juegos han ocupado la atención de las facultades intelectuales.
Optimización Combinatoria y Grafos Búsqueda Tabú
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Inteligencia Artificial
Búsqueda de ascensión de colinas (BLv)
INFERENCIA ESTADÍSTICA
Non-guillotine 2D bin packing problem Eduardo Pérez Mederos Miguel Monterrey Varela Jaime González Valdés Óscar Mateos López.
Algoritmos para búsqueda “informada” Capítulo 4. Contenido Búsqueda primero el mejor Búsqueda primero el mejor “agresiva” (greedy) A * Heuristicas Algoritmos.
Transcripción de la presentación:

Capítulo 4 BUSQUEDA INFORMADA

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 el orden 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 orilla en forma decreciente por conveniencia Casos especiales: - La búsqueda en menor tiempo - La búsqueda A*

Rumanía escalonada en km

Búsqueda Voraz La función de evaluación f (n) = h (n) (heurística)= la estimación que sea igual a n 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ás prometedor

Busqueda Voraz

Busqueda Voraz

Busqueda Voraz

Busqueda Voraz

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 para llegar a n h (n) = costo estimado de n a la meta f (n) = costo total estimado del camino a través de n hasta la meta

Ejemplo: Busqueda del A*

Ejemplo: Busqueda del A*

Ejemplo: Busqueda del A*

Ejemplo: Busqueda del A*

Ejemplo: Busqueda del A*

Ejemplo: Busqueda del A*

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 desde n 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 una ARBOL DE BUSQUEDA es óptima

Optimalidad de A* Suponga que alguna meta sub-óptima G2 ha sido generada y está en la orilla. Sea n un nodo no expandido en un camino mas corto a 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* f(G2) > f(G) de arriba Supongo que alguna meta sub-óptima G2 ha sido generada y está en el margen. Dejando ser 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 consistente si 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úsqueda es ó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 donde quiera, 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“ y tratar 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

Ascenso de Montaña Problema: A merced de la condición inicial, puede quedarse atorado en el máximo local

Ascenso de Montaña Las 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ña Las 8 Reinas Un mínimo local con h = 1

Forja Simulada Sacar el máximo local dejando algunos movimientos "malos" pero gradualmente ir disminuyendo su 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 de los 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

Los algoritmos genéticos