Algoritmos para búsqueda “informada” Capítulo 4. Contenido Búsqueda primero el mejor Búsqueda primero el mejor “agresiva” (greedy) A * Heuristicas Algoritmos.

Slides:



Advertisements
Presentaciones similares
GRAFOS Presentado por: Oscar Leonardo Ramírez John Freddy Sandoval
Advertisements

Inteligencia Artificial Búsqueda informada y exploración
Cap 4 Búsqueda Heurística
Búsqueda Informada Heurísticas.
Inteligencia Artificial Búsqueda informada y exploración
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Búsqueda heurística.
Capítulo 4 BUSQUEDA INFORMADA.
Solución de problemas por Búsqueda
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
METODOS DE BUSQUEDA INFORMADOS CAPITULO 5
Inteligencia Artificial
 Consiste en la elección del mejor movimiento para cada jugador, es decir la máquina para quien programaremos el sistema tratará de maximizar las oportunidades.
Búsqueda de ascensión de colinas (BLv)
U NIDAD 3 G RAFOS : C AMINOS, ISOMORFISMO Y SU COLOREO M.C. Meliza Contreras González.
Resolución de Restricciones1 Problemas de Resolución de Restricciones Capítulo 5 Secciones 1 – 3.
Búsqueda con Adversarios Capítulo 6 Sección 1 – 4.
TEMA 3. ESTADÍSTICA BIDIMENSIONAL. INDICE 1.- Relación estadística: correlación 2.- Diagramas de dispersión o nube de puntos 3.- Tablas de frecuencia.
BÚSQUEDA EN ESPACIOS DE ESTADOS Espacio de estados: modelo del mundo representado por un grafo Espacio de estados: modelo del mundo representado por un.
Cambia de lugar 1 de los 12 palillos para que la igualdad sea verdadera. (Porque 4+3 no son 5) 8 DE 8 Colocar 8 fichas en el tablero de ajedrez de forma.
BÚSQUEDA DE SOLUCIONES Soluciones no Informadas (cont.) Dra. Myriam Hernández A.
FUNCIONES, PROCESAMIENTO ELEMENTAL DE DATOS
Introducción a los Algoritmos Genéticos en Python
IV. Métodos de Búsqueda Estudiaremos los métodos de búsqueda para resolver problema de la IA.
Sucesiones y Series Preparado por: Vanessa Mora Lohlofftz.
PRUEBAS DE BONDAD DE AJUSTE estas pruebas permiten verificar que la población de la cual proviene una muestra tiene una distribución especificada o supuesta.
Algoritmo kruskal Es un algoritmo (ávido/voraz) de la teoría de grafos para encontrar un árbol de recubrimiento mínimo en un grafo conexo y ponderado.
JORNADA DE INTRODUCCION A LAS HUMANIDADES DIGITALES
PROBLEMA DEL AGENTE VIAJERO
Guía de Ejercicios 3: D&AA Universidad Viña del Mar 30/9/2002
Árboles Binarios * Recorridos * Tipo
Estructuras de Datos Recursividad.
MAESTRÍA EN CONTROL DE OPERACIONES Y GESTIÓN LOGÍSTICA
CAPÍTULO 9: DETECCIÓN DE LÍNEAS
UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE CIENCIAS ADMINISTRATIVAS
Toribio Sarmiento Miguel Sesarego Cruz Rosmery
TEORÍA DE GRAFOS -Algoritmo de Dijkstra -Algoritmo de Primm -Algoritmo de Kruskal Integrantes:
PROGRAMACION LINEAL UNIVERSIDAD LIBRE 2016
Organización y Descripción de Archivos
Unidad 4. Capítulo IX. Búsqueda de Yp: Variación de parámetros.
Simulador modular secuencial basado en ecuaciones
DISTRIBUCIÓN MUESTRAL DE UNA MEDIA.
Diseñar y elaborar algoritmos
Aplicación de red neuronal “Back Propagation”:
Tele clase 13 Optimización unidimensional.
ÁRBOLES El árbol es una estructura de datos muy importante en informática y en ciencias de la computación. Los árboles son estructuras no lineales,
Tele clase 14 Optimización multidimensional.
CAPACIDAD DE DETECCION Y CORRECCION DE ERRORES
Búsqueda por profundidad iterativa
Algoritmos de reemplazo
Manejo de restricciones especiales Las restricciones aparecen con frecuencia en problemas reales y pueden manejarse utilizando algoritmos de propósito.
Diagramas PERT.
Inteligencia Artificial
5. Optimización de redes. Integrantes: * Christian Cota * Cesar Rojo
Expositores: María Gracia León Nelson Arol Ruiz
Curso de Programación Estructurada
Clase1: Análisis de Algoritmos, Optimización Clásica, Heurísticas
Optimización de Procesos.
2/22/2019 SISTEMAS NO LINEALES.
Algoritmos de caminos más cortos
CAPACIDAD DE DETECCION Y CORRECCION DE ERRORES
características algoritmo algoritmo
Nota: Cuenta con 10min ininterrumpidos de presentación, seguido de máximo 10min de preguntas y respuestas. La sesión de preguntas y respuestas es muy importante,
LÍMITE Y CONTINUIDAD U.D. 4 * 2º Angel Prieto Benito
Campo eléctrico.
ESPECULACIÓN INMOBILIARIA
Implementación de algoritmo para juegos. Algoritmo Minimax  El algoritmo de minimax en simples palabras consiste en la elección del mejor movimiento.
Espacio de estados: un problema se divide en un conjunto de pasos de resolución desde el inicio hasta el objetivo. Los estados y su relación de accesibilidad.
Mediana, Moda y Media Aritmética
Transcripción de la presentación:

Algoritmos para búsqueda “informada” Capítulo 4

Contenido Búsqueda primero el mejor Búsqueda primero el mejor “agresiva” (greedy) A * Heuristicas Algoritmos de búsqueda local Búsqueda siguiendo el gradiente (Hill-climbing) Temple (o recocido) simulado (Simulated annealing) Algoritmos genéticos

Recuerden el árbol de Búsqueda.. que se construye al usar el algoritmo general de búsqueda Una estrategia de búsqueda se define con el orden de expansión de los nodos.

Búsqueda Primero el Mejor (Best-first) Idea: Usar una función de evaluación, f(n), aplicable a cada nodo para: –estimar su “deseabilidad” (promesa, utilidad) –Expandir el nodo más deseable (prometedor) Implementación: Ordenar los nodos en lista de abiertos (OPEN) en orden creciente de deseabilidad. Casos especiales: –greedy best-first search (búsqueda agresiva primero el mejor) –A *

Rumanía con costos de ir de una ciudad a otra en km

Búsqueda primero el mejor agresiva Función de Evaluación f(n) = h(n) (heurística) = estimado del costo desde n hasta la meta. e.g., h SLD (n) = Línea “recta” desde n hasta Bucarest Primero el mejor agresiva expande el nodo que parece ser el más cercano a la meta.

Búsqueda primero el mejor agresiva

Propiedades de la Búsqueda primero el mejor agresiva Completa? No – puede quedar atrapada en ciclos, e.g., Iasi  Neamt  Iasi  Neamt  Tiempo? O(b m ), peroooo una buena heurística puede producir unas mejoras dramáticas. Espacio? O(b m ) – guarda todos los nodos en memoria Optima? No

A*A* Idea: Evite expandir caminos que ya son muy costosos. Función de Evaluación f(n) = g(n) + h(n) g(n) = costo acumulado hasta este punto n h(n) = estimado del costo desde n hasta la meta f(n) = estimado total del costo del camino pasando por n y hasta llegar a la meta

Ejemplo 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 verdadero costo de llegar al estado meta desde n. Una heurística admisible nunca sobreestima el costo de llegar a la meta. Es decir, es esencialmente optimista. Ejemplo: Sea h SLD (n) (nunca sobreestime la distancia real a lo largo del camino) Teorema: Si h(n) es admisible, A* es Optimo

Optimalidad de A * (prueba) Suponga que una meta subóptima G 2 ha sido generada y está en lista OPEN. Sea n un nodo no expandido en esa lista tal que n no está sobre el camino más corto a una de las métas óptimas G. f(G 2 ) = g(G 2 )dado que h(G 2 ) = 0 g(G 2 ) > g(G) dado que G 2 es subóptima f(G) = g(G)dado que h(G) = 0 f(G 2 ) > f(G)por lo anterior

Optimalidad de A * (prueba) Suponga que una meta subóptima G 2 ha sido generada y está en lista OPEN. Sea n un nodo no expandido en esa lista tal que n no está sobre el camino más corto a una de las métas óptimas G. f(G 2 )> f(G) por lo anterior h(n)≤ h^*(n)dado que h es admisible g(n) + h(n)≤ g(n) + h * (n) f(n) ≤ f(G) Por lo tanto, f(G 2 ) > f(n), y A * nunca seleccionará a G 2 para ser expandido

Heurísticas Consistentes Una heurística es consistente si para todo nodo n, cada sucesor de n' de n, generado por una acción cualquier a, se cumple: h(n) ≤ c(n,a,n') + h(n') Si h es consistente, tenemos f(n') = g(n') + h(n') = g(n) + c(n,a,n') + h(n') ≥ g(n) + h(n) = f(n) es decir, f(n) es “no decreciente” a lo largo del camino. Teorema: Si h(n) es consistente, A* (con GRAPH-SEARCH) es optimo

Optimalidad de A * A * expande los nodos en orden creciente del valor de f. agregando progresivamente “contornos-f” de nodos. El contorno i tiene todos los nodos con f=f i, donde f i < f i+1

Propiedades de A* Completo? Si! (salvo cuando hay infinidad de nodos con f ≤ f(G) ) Tiempo? Exponential Espacio? Mantiene todos los nodos en memoria (puede no ser tan grave, si es un grafo implícito). Optimo? Si

Heurísticas Admisibles E.g., para el rompecabezas de 8 cuadros: h 1 (n) = número de cuadros mal ubicados h 2 (n) = distancia Manhattan total (i.e., no. de pasos hasta la posición deseada de cada cuadro) h 1 (S) = ? h 2 (S) = ?

Heurísticas Admisibles E.g., para el rompecabezas de 8 cuadros: h 1 (n) = número de cuadros mal ubicados h 2 (n) = distancia Manhattan total (i.e., no. de pasos hasta la posición deseada de cada cuadro) ● h 1 (S) = ? 8 h 2 (S) = ? = 18

Dominio Si h 2 (n) ≥ h 1 (n) para todo n (ambas son admisibles) entonces h 2 domina a h 1 h 2 es mejor! Costos típicos de buscar (número promedio de nodos expandidos): d=12BPI = 3,644,035 nodos A * (h 1 ) = 227 nodos A * (h 2 ) = 73 nodos d=24 BPI = demasiados! A * (h 1 ) = 39,135 nodos A * (h 2 ) = 1,641 nodos

Problemas Relajados Un problema con menos restricciones (que las originalmente anticipadas) sobre las acciones es catalogado como un problema relajado El costo de una solución óptima para el problema relajado es una heurística admisible para el problema original. Si las reglas del rompecabezas de 8 se relajan para permitir que cada cuadrito se mueva donde quiera (no cuando tiene el vacío al lado), entonces h 1 (n) produce la solución más corta. Si las reglas se relajan para que cada cuadrito se mueva a uno adyacente (incluso ocupado), entonces h 2 (n) produce la solución más corta.

Problemas Relajados Un cuadrito se mueve de A a B si A es adyacente a B y B está vacío. produce: Un cuadrito se mueve de A a B si A es adyacente a B. Un cuadrito se mueve de A a B si B está vacío. Un cuadrito se mueve de A a B.

Algoritmos de búsqueda local En muchos problemas de optimización, el camino es lo de menos; el estado meta es toda la solución. Espacio de estados = conjunto de configuraciones “completas” En meta-problema es encontrar una configuración que satisfaga las restricciones, e.g. n-reinas En tales casos, podemos usar algoritmos de búsqueda local. La meta-estrategia es: mantener un sólo estado “actual” y tratar de mejorarlo.

Ejemplo: n-reinas Coloque n reinas en un tablero n x n, sin que dos reinas caigan en la misma fila, o columna o diagonal

Búsqueda siguiendo el gradiente (Hill-climbing) "Como escalar el Everest con mucha niebla y con amnesia"

Búsqueda siguiendo el gradiente (Hill-climbing) Problema: Puede quedar “atorado”en un máximo local, si no comienza en el sitio adecuado

Hill-climbing: 8-reinas h = número de pares de reinas que se están atacando, bien directa o indirectamente h = 17 for the above state

Hill-climbing: 8-reinas Un mínimo local con h = 1

Temple (o recocido) simulado (Simulated annealing) Idea: Escape del máximo local permitiendo algunos “malos” movimientos pero disminuyendo gradualmente su frecuencia.

Propiedades del recocido simulado (simulated annealing) Uno puede probar: si T disminuye con suficiente lentitud, entonces el recocido simulado encontrará el óptimo global con probabilidad cercana a 1. Muy usado en diseño de VLSI, planificación de vuelos.

Búsqueda local con foco Mantega registro de k estados, en lugar de uno sólo. Comience con k estados tomados al azar. En cada iteración se generan los sucesores de todos los k estados. Si alguno es una meta, alto!. De lo contrario, seleccione los k mejores sucesores de toda la lista y vuelva a iterar.

Algoritmos Genéticos Un estado sucesor es generado a partir de dos estados padres. Comience con k estados tomados al azar. (población) Un estado es representado por una cadena de caracteres de un alfabeto finito (normalmente 0s y 1s). Se usa una función de evaluación (función de ajuste) que otorga mayores valores a los mejores estados. Produzca una nueva generación de estados (en la población) por selección, cruce y mutación.

Algoritmos Genéticos Fitness : numero de pares de reinas que no se atacan (min = 0, max = 8 × 7/2 = 28) 24/( ) = 31% 23/( ) = 29% etc

Algoritmos Genéticos