Búsqueda Heurística III

Documentos relacionados
Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.

Estado 3.2 (coste = 9)

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR

Búsqueda con información, informada o heurística

Tema 4: Búsqueda informada mediante técnicas heurísticas

Búsqueda Heurística. Branch and Bound, Best First Search A, A IDA Búsqueda local (Hill climbing, Simulated annealing, Alg.

Búsqueda Heurística I

Resolviendo Modelos de Mapas

3ra. Practica. Algoritmos de Búsqueda. Inteligencia Artificial Prácticas 2004/2005

Jueves, 30 de abril. Ejemplo de recursión. Ejemplo de PD. Ejemplo de programación dinámica. Programación dinámica

Tema 2: Búsqueda. Formalización de la resolución de problemas Ejemplos Procedimiento general de búsqueda Estrategias de control Búsqueda heurística

4ta. Práctica. Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta. Inteligencia Artificial Prácticas 2004/2005

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos

Para definir en formalmente el juego se deberá establecer:

Sistemas de producción y búsqueda de soluciones. Area de Computación e Inteligencia Artificial 1

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

ALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se

Resolución de problemas

Búsqueda heurística Prof. Constantino Malagón

Búsqueda Heurística IV

Tema 2: Juegos unipersonales

3. Consideremos el puzzle-8 descrito en clase y sea el estado objetivo, como de costumbre,

El Juego como Problema de Búsqueda

Algoritmos para CSP 1

Resolución de problemas de búsqueda

Tema: Búsqueda Heurística (Informada).

Inteligencia Artificial Problemas de satisfacción de restricciones

Resolución de Problemas

III. BÚSQUEDA Y RESOLUCIÓN DE PROBLEMAS. III.3.

JUEGOS. Área de aplicación de los algoritmos heurísticos Juegos bi-personales: oponente hostil

Búsqueda con adversario

Inteligencia Artificial

Búsqueda con adversario

Descripción inicial del sistema. Descripción final del sistema. Estado 1 Estado 2 Estado n

Análisis de algoritmos basados en colonia de hormigas en problemas de camino mínimo

Programa de teoría. Algoritmos y Estructuras de Datos II. 3. Algoritmos voraces. 1. Análisis de algoritmos 2. Divide y vencerás

El TAD Grafo. El TAD Grafo

Teoría de grafos y optimización en redes

Algoritmos sobre Grafos

Métodos Heurísticos en Inteligencia Artificial

Algoritmos y estructuras de datos

A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO

NOTACIÓN O GRANDE. El análisis de algoritmos estima el consumo de recursos de un algoritmo.

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

Tema 3: Problemas de Satisfacción de Restricciones

Métodos de Ordenamiento. Unidad VI: Estructura de datos

Restricciones. Inteligencia Artificial. Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani

Convertir un AFND a un AFD

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Formulación del problema de la ruta más corta en programación lineal

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Estructuras de Datos. Montículos. Montículos. Montículos. Tema 3. Montículos. Definiciones básicas: Definiciones básicas:

Búsqueda Heurística para Problemas de Scheduling *


Unidad 1 Introducción y resolución de problemas 11/01/2014

Razonamiento. con. Restricciones. Esquema Global. Tutorial CAEPIA Introducción - Definiciones - Ejemplos

Flujos de redes (Network Flows NF)

Métodos de Búsqueda para juegos humano-maquina. PROF: Lic. Ana María Huayna D.

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos

Juegos deterministas. Ajedrez, damas, Go, Othello. barquitos

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

Tema 7: Búsqueda con adversario (juegos)

Programación Lineal. Modelo de Redes. Alcance de las aplicaciones. Curso: Investigación de Operaciones Ing. Javier Villatoro

Ingeniería Técnica en Informática de Gestión

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

1. Convergencia en medida

Problemas de satisfacción de restricciones.

Tiempo de Ejecución. Midiendo el Tiempo de Ejecución

Solución de problemas por búsqueda Inteligente-Heurísticas. Ana Lilia Laureano Cruces UAM-A

OPTIMIZACIÓN VECTORIAL

Notación Asintótica 2

Tema: Los Grafos y su importancia para la optimización de redes.

Tema 15: Combinación de clasificadores

Metaheurísticas. Seminario 4. Problemas de optimización con técnicas basadas en adaptación social

UNIVERSIDAD NACIONAL DE INGENIERÍA Sede UNI-NORTE

EJERCICIOS RESUELTOS PROGRAMACIÓN III

Algoritmos para determinar Caminos Mínimos en Grafos

Apuntes Matemáticas 2º de bachillerato. Tema 5. Estudio de funciones

Estructuras de datos: Árboles binarios de

Capítulo 12: Indexación y asociación

Tema 5: Problemas de satisfacción de restricciones

Teorema del Valor Medio

Curso /10/12. Inteligencia Artificial (30223) Lección 5. Juegos. Índice. Juegos. Los juegos son una forma de entorno multiagente

Teoría de juegos Andrés Ramos Universidad Pontificia Comillas

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

Inteligencia Artificial Resolver problemas mediante búsqueda

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Tema 4: Técnicas heurísticas en juegos

Modelos de Inventarios

Problemas de Satisfacción de Restricciones

Razonamiento. con. Restricciones. Esquema Global. Tutorial IBERAMIA Introducción - Definiciones - Ejemplos

Grafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista.

Tema 4 Algoritmos y protocolos de encaminamiento

GRAMATICAS LIBRES DEL CONTEXTO

El TAD Grafo. El TAD Grafo

Transcripción:

Búsqueda Heurística III Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Búsqueda heurística Búsqueda informada por la función heurística f(n) Algoritmos: esquema primero el mejor (best-first) Coste uniforme f(n) = g(n) Búsqueda heurística pura f(n) = h(n) A* f(n) = g(n) + h(n) A* con heurísticas admisibles Evaluación: calidad solución: óptimo? coste en tiempo: proporcional a los nodos generados coste en memoria: proporcional a los nodos almacenados Búsqueda Heurística 2

Árboles y grafos un solo camino para cada nodo varios caminos para cada nodo BÚSQUEDA EN ÁRBOL BÚSQUEDA EN GRAFO Algoritmo más simple Algoritmo más complejo No detectan repetidos: si Almacenan nodos ya aparece un nodo ya expandido, expandidos, para detectar se expande de nuevo (tiempo) repetidos (gastan memoria) Búsqueda Heurística 3 Coste en arcos Arcos: en búsqueda ciega, suponemos cada arco cuesta solución óptima: más cercana a la raíz ahora arcos con costes arbitrarios (mínimo e > 0) camino óptimo: mínimo coste a una solución b a 2 c 2 3 d e f g soluciones 3 4 2 4 Búsqueda Heurística 4

Funciones de coste g(n): suma de costes desde la raíz hasta n h(n): estimación de coste mínimo desde n hasta una solución f(n) = g(n) g(n) h(n) f(n) = h(n) f(n) = g(n) + h(n) Búsqueda Heurística 5 Esquema de primero el mejor (best-first) (búsqueda en árbol). L nodo raíz. 2. Si L vacío, fallo, stop. Sino, n extrae -mínimo-f(l) 3. Si n es solución, retornar el camino desde la raíz, stop. Sino, generar los sucesores de n. 4. Añadir a L los sucesores de n, etiquetando sus respectivos caminos desde la raíz. Ir a 2. Búsqueda Heurística 6

Diferencias con búsqueda ciega. L nodo raíz. Siguiente nodo: en lugar de escoger el primero de L, se escoge el de mínimo coste 2. Si L vacío, fallo, stop. Sino, n extrae -mínimo-f(l) 3. Si n es solución, retornar el camino desde la raíz, stop. Sino, generar los sucesores de n. 4. Añadir a L los sucesores de n, etiquetando sus respectivos caminos desde la raíz. Ir a 2. No hay orden al añadir sucesores Test de solución: no se hace al generar el nodo sino al expandir el nodo Búsqueda Heurística 7 Test al expandir f(n) = g(n) s: inicio g: objetivo a 3 s g 2 b como árbol a 3 g s 2 b g. expandimos s, L = {a(), b(2)} 2. expandimos a, L = {b(2), g(4)} camino s-a-g, coste = 4 3. expandimos b, L = {g(3), g(4)} 4. expandimos g(3), solución camino s-b-g, coste = 3 Búsqueda Heurística 8

Coste uniforme f(n) = g(n) Calidad de la solución: encuentra camino de mínimo coste Tiempo: c : coste de la solución e : mínimo coste de un arco antes de la solución, expandirá todos los nodos con coste c (caso peor) complejidad O(b c/e ) Espacio: si todos los arcos cuestan lo mismo: degenera en anchura complejidad O(b c/e ) Búsqueda Heurística 9 f(n) = h(n) Búsqueda heurística pura (pure heuristic search) 3 f(n) coste arco = 2 4 infinita No es completo en grafos infinitos Búsqueda Heurística 0

f(n) = h(n) Búsqueda heurística pura (pure heuristic search) 3 f(n) coste arco = 2 4 No encuentra la solución óptima Búsqueda Heurística A*: f(n) = g(n) + h(n) Problema: h(n) no incluye el coste del camino ya recorrido Solución: f(n) = g(n) + h(n) 0+3 f(n) coste arco = +2 2+ 3+ +4 2+ 3+0 4+ 5+ infinita Es completo en grafos infinitos Búsqueda Heurística 2

A*: f(n) = g(n) + h(n) 0+3 f(n) coste arco = +2 2+ 3+ +0 2+ 3+0 4+ 5+ 6+ No encuentra la solución óptima Búsqueda Heurística 3 A*: h admisible h(n): estimación de coste mínimo desde n hasta una solución h*(n): coste mínimo desde n hasta una solución h admisible ssi h(n) h*(n) n Si h admisible, A* encuentra la solución óptima Búsqueda Heurística 4

A*: h admisible f(n) coste arco = 0+3 si admisible h(n) 0 +2 2+ +0 2+ +2 3+ 3+0 4+ 5+ 6+ Encuentra la solución óptima Búsqueda Heurística 5 A* heurísticas más informadas nodos (A*, h): nodos expandidos por A* con h h y h 2 admisibles, h 2 es más informada que h sii h 2 (n) > h (n) n nodos (A*,h 2 ) nodos (A*,h ) nodos(a*,h ) nodos(a*,h 2 ) Búsqueda Heurística 6

A* casos límite Heurística nula h(n) = 0 n f(n) = g(n) A* degenera en búsqueda en anchura Heurística perfecta h(n) = h*(n) n f(n) = coste óptimo puede desarrollar todos los caminos con coste mínimo basta con un camino espacio exponencial desempatar con g mayor Búsqueda Heurística 7 A* sobre grafos Árbol: un solo camino para cada nodo (supuesto hasta ahora) Grafo: varios caminos para cada nodo (situación real) Pregunta: podemos adaptar A* de árboles a grafos? La primera vez que se genera n, hay un único camino c, coste g(c ) Se puede volver a generar n por otro camino c 2, coste g(c 2 ) g(c ) A* cómo puede manejar dos caminos con distinto coste si n aún no ha sido expandido? n ya ha sido expandido? Búsqueda Heurística 8

OPEN: A*: OPEN / CLOSED A* almacena todo el espacio generado sustutuye a la lista L contiene todos los nodos generados pero no expandidos CLOSED: contiene todos los nodos expandidos n generado por camino c, se vuelve a generar n por camino c 2 hay que quedarse con camino de menor coste si n OPEN, quedarse con camino min {g(c ) g(c 2 )} (sencillo) si n CLOSED, n ya ha sido expandido. Si g(c 2 ) < g(c ), hay que ir a los descendientes de n y actualizar su coste vía camino c 2 (tostón) Búsqueda Heurística 9 Consistencia y monotonía h consistente: h monótona: h(n) k(n,m) + h(m) n, m, k(n,m): mínima distancia entre n y m h(n) c(n,n ) + h(n ) n, n succ(n) h monótona f(n ) f(n), no decrece en un camino consistencia monotonía consistencia / monotonía admisibilidad Búsqueda Heurística 20

Monotonía y g(n) Si h monótona, g(n) = g*(n) (óptima) para nodos expandidos c s m c 2 n Sea n open por c, seleccionado para expansión, con g(n) > g*(n) Existe c 2 camino óptimo hasta n; sea m el último nodo generado de c 2 El camino c 2 hasta m es óptimo: g(m)= g*(m). Cómo es f(m)? f(m) = g*(m) + h(m) g*(m) + k(m,n) + h(n) = g*(n) + h(n) < g(n) + h(n) = f(n) consistencia Contradicción con que n sea el nodo con f mínima! Por lo tanto, g(n) = g*(n). Búsqueda Heurística 2 Monotonía y A* A* expande n: n pasa de OPEN a CLOSED h monótona: todo n expandido tiene g(n) = g*(n) (óptima) todo n CLOSED tiene g(n) = g*(n) (óptima) Por tanto: si n CLOSED, su camino es el óptimo A* sobre grafos no ha de propagar el coste de descubrir mejores caminos para los nodos ya expandidos. Búsqueda Heurística 22

A*: path-max Es posible generar heurísticas monótonas? SÍ. Supongamos h admisible pero no monótona Redefinimos f como f(n ) = max ( f(n), g(n ) + h(n ) ) n succ(n) f es no decreciente, genera una nueva h monótona Búsqueda Heurística 23 A* sobre grafos. OPEN nodo raíz 2. Si OPEN vacía, fallo, stop. Sino, n extrae-mínimo-f(open ) 3. Si n es objetivo, éxito, stop. Sino, añadir n a CLOSED y generar los sucesores de n (expansión de n). 4. Para cada sucesor n hacer: 4. Si n OPEN, reetiquetar n con el camino más corto desde la raíz. 4.2 Si n CLOSED, ignorar n. 4.3 Si n OPEN y n CLOSED, añadir n a OPEN, etiquetándolo con su camino desde la raíz. 4.4 Ir al paso 2. Búsqueda Heurística 24

A*: contornos Si h monótona, la secuencia de nodos expandidos tiene 0+2 () f no decreciente (2) + (3) + +3 (8) (4) 2+ (5) 2+ 2+2 (9) (6) 3+ (7) 3+ 3+2 4+ 4+ 3+ (0) 4+ 5+0 4+0 () 5+0 Búsqueda Heurística 25 A*: contornos Nodos estáticamente ordenados por f f f 2 Si h monótona, A* expande f 3 todos los nodos en el nivel f i antes de expandir los de f i+ f 4 f 5 Búsqueda Heurística 26

A* resumen A* = primero el mejor con f(n) = g(n) + h(n) Completo Si h admisible, A* encuentra solución óptima Heurísticas más informadas menos nodos Si h no es admisible por ε, A* se pasa en solución óptima por ε No hay otro algoritmo que lo haga mejor con la misma información Degenera en consumo exponencial de memoria Búsqueda Heurística 27