Métodos de Inteligencia Artificial

Documentos relacionados
Introducción a la Robótica

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

Métodos de Inteligencia Artificial

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 *?

Para definir en formalmente el juego se deberá establecer:

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

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

Métodos de Inteligencia Artificial

Resolución de problemas de búsqueda

Resolviendo Modelos de Mapas

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

Tema 2: Juegos unipersonales

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

Búsqueda con adversario

Inteligencia Artificial. Integrantes Equipo # 1:

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

Inteligencia Artificial

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

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.

Resolución de Problemas

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

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

El Juego como Problema de Búsqueda

CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos

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

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

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

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

Introducción a las RdP. Optimización basada en redes de Petri. Redes de Petri. Son objeto de estudio: RdP. Ejemplos:

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

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Métodos de Inteligencia Artificial

Búsqueda Heurística I

Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios

El TAD Grafo. El TAD Grafo

Grafos. Amalia Duch Brown Octubre de 2007

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

Algoritmos y estructuras de datos

Convertir un AFND a un AFD

Estudiemos el siguiente problema, propuesto por Wirth y desarrollado por Dijkstra: Una lista de las primeras secuencias que cumplen es:

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]

Métodos Heurísticos en Inteligencia Artificial

Tema 2: Representación de problemas como espacios de estados

Teoría de grafos y optimización en redes

Búsqueda Heurística IV

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

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Complejidad computacional (Análisis de Algoritmos)

Problema de las N Reinas. Resolución paralela

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

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

OPTIMIZACIÓN DE CÓDIGO

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

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 4 Optimización no Lineal

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

GRAMATICAS LIBRES DEL CONTEXTO

Autómatas Deterministas. Ivan Olmos Pineda

Análisis y Diseño de Algoritmos

Algoritmos de búsqueda

Proyecto 6. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial.

3. Técnicas de diseño de algoritmos

Alonso Ramírez Manzanares Computación y Algoritmos 10.03

Búsqueda con adversario

Inteligencia Artificial Resolver problemas mediante búsqueda

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

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC:

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

Notación Asintótica 2

Resolución de problemas

Aprendizaje Automatizado

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.

Inteligencia Artificial Problemas de satisfacción de restricciones

Teoría de Juegos Modelos Extensivos. Agosto 2016

Tema 7: Búsqueda con adversario (juegos)

Á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.

LA PROGRAMACIÓN POR PROCESOS

ALGORITMOS HEURÍSTICOS Y APROXIMADOS. Análisis y diseño de algoritmos II- 2009

Estructuras en LabVIEW.

ALGORITMO HILL CLIMBING

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

Computabilidad y Lenguajes Formales: Autómatas Finitos

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/ / 33

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

M465: Tanque de Agua. A) Presentación del problema

Flujos de redes (Network Flows NF)

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

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

Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA

Aprender a desarrollar con JavaScript

Unidad Nº V Listas Enlazadas

ALGORÍTMICA

Complejidad de los Algoritmos

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.

Transcripción:

Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP

Búsqueda Representación Tipos búsquedas: Sin información Con información Óptimas Análisis de complejidad

Solución de Problemas Asociado a la inteligencia Identificación y definición del problema Identificación del criterio de evaluación Generación de alternativas Solución de muchos problemas en IA: básicamente búsqueda y evaluación

Representación del espacio de estados define un espacio de estados (explícito / implícito) especifica los estados iniciales especifica los estados finales (metas) especifica las reglas que definen las acciones disponibles para moverse de un estado a otro

Representación de espacio de estados En este contexto: El proceso de solución de problemas = encontrar una secuencia de operaciones que transformen al estado inicial en uno final Se requiere una estrategia de búsqueda

Ejemplo: problema de las 8 reinas Reinas (Q) Q Tablero de Ajedrez Q A B C Q A=8 B=9 C=10

Para el problema de las 8 reinas podemos tener diferentes opciones: solución incremental: acercarse a la meta haciendo decisiones locales sistemática: no repetir y no excluir

Medios (espacio de estados): transformar (hasta encontrar la meta) vs. construir (poco a poco) Posible heurística: poner una reina por renglón en un lugar que deje el mayor número de lugares sin atacar

Cómo encontramos una buena heurística? Factores a considerar: calidad de la solución (a veces puede no importar) diferencia en complejidad entre una solución solución óptima en general, se busca encontrar la solución más barata

Qué necesitamos: 1. Estructura simbólica que represente subconjuntos de soluciones potenciales (agenda) 2. Operaciones/reglas que modifiquen símbolos de la agenda y produzcan conjuntos de soluciones potenciales más refinadas 3. Estrategia de búsqueda que decida qué operación aplicar a la agenda

Terminología: nodo, árbol, hoja, nodo-raíz, nodo-terminal, branching factor (factor de arborescencia), ramas, padres, hijos, árbol uniforme,...

Nodo raíz Ramas Padre Hijos Profundidad Nodos terminales/hojas

nodos expandidos (closed): todos los sucesores nodos explorados pero no expandidos : sólo algunos sucesores nodos generados pero no explorados (open) nodos no generados Paso computacional primordial: expansión de nodos

Nodo expandido (closed) Nodos generados No explorados (open) Nodo explorado No expandido Nodo no generado

Propiedades La estrategia de control es sistemática si: 1. no deja un sólo camino sin explorar (completo) 2. no explora un mismo camino más de una vez (eficiencia)

Propiedades de algoritmos de búsqueda (heurísticas): 1. Completo: si encuentra una solución cuando ésta existe 2. Admisible: si garantiza regresar una solución óptima cuando ésta existe

Propiedades de algoritmos de búsqueda (heurísticas): 3. Dominante: un algoritmo A1 se dice que domina a A2 si todo nodo expandido por A1 es también expandido por A2 ( más eficiente que ) 4. Óptimo: un algoritmo es óptimo sobre una clase de algoritmos si domina a todos los miembros de la clase

Procedimientos de Búsqueda Algún camino: Sin información: depth-first (en profundo) breadth-first (a lo ancho) Con información: hill climbing beam search best first

El mejor camino (óptimo): British museum branch and bound A*

GRAFO 3 A 4 B 4 C I 4 5 5 D E F 2 4 3 M

ÁRBOL DE BÚSQUEDA I A D B D A E C E E B B F 11 D F B F C E A C M 14 M C M 17 F 15 15 13 19 19 17 M 25

Depth first - backtracking (LIFO) Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al frente de la agenda

DEPTH-FIRST SEARCH (I) (A D) A I D (B D D) (C E D D) (E D D) (D F D D) (F D D) B D A E C E E B B F 11 D F B F C E A C M 14 M C M 19 19 17 17 F M 25 15 15 13 (M D D)

Problemas: árboles con caminos de profundidad muy grande Variaciones: depth-bound (casi todos): limitar la búsqueda hasta cierto límite de profundidad interative-deepening: explorar a profundidad progresivamente con algo de información: ordena los nodos expandidos

Breadth first Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al final de la agenda Problemas: árboles con arborescencia muy grande

ÁRBOL DE BÚSQUEDA I A D B D A E C E E B B F 11 D F B F C E A C M 14 M C M 17 F 15 15 13 19 19 17 M 25

0 1 (I) (A D) 4 (D F B F C E A C M) (D B D) (F B F C E A C M) 2 (B D A E) (B F C E A C M M) BREADTH-FIRST SEARCH 3 (D A E C E) (A E C E E) (E C E E B) (C E E B B F) (E E B B F) (E B B F D F) (B B F D F B F) (F C E A C M M C) (C E A C M M C M) (E A C M M C M) (A C M M C M F) (C M M C M F) (B F D F B F C E) ( F D F B F C E A C) 5 (M M C M F)

Profund. Nodos Tiemp o 0 2 4 6 8 10 12 14 Memoria 1 1 miliseg. 100 bytes 111.1 seg. 11,111 11 seg. 10 6 10 8 10 10 10 12 10 14 18 min. 31 hr. 128 días 35 años 3500 años 11 kilobytes 1 megabyte 111 megabytes 11 gigabytes 1 terabyte 111 terabytes 11,111 terabytes Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000 nodos/sec; 100 bytes/nodo

Complejidad Comparación en nodos buscados: Si n = profundidad del árbol b = braching factor d = profundidad de un nodo meta

depth-first: mejor caso: d nodos buscados peor caso: Σ n i= 0 - b i - Σ n d b i i= 0 = bn+1 - b n+1- d b-1 b n

mejor caso: - Σ i= 0 d 1 b i breadth-first: = b d - 1 b d - 1 b -1 peor caso: d Σ i= 0 b i = b d+1-1 b -1 b d

Criterio Breadth Costo Depth Depth Iterative Bidireccional first uniforme first limited deepening Tiempo b d b d b m b l b d b d/2 Espacio b d b d b X m b X l b X d b d/2 Optimo si si no no si si Completo si si si si(si l d) si si Comparación de estrategias. b = factor de arborecencia; d = profundidad solución; m = máxima profundidad árbol; l = límite de profundidad.

Hill-Climbing Algoritmos con Información Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda selecciona el mejor y elimina el resto

Hill climbing BÚSQUEDA HILL-CLIMBING Heurística: ve a la ciudad más cercana (I) A I D (A D) (D B) (E C) B D A E C E E B B F 11 D F B F C E A C M 14 M C M 19 19 17 17 F M 25 15 15 13

Best-first Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda

EJEMPLO BÚSQUEDA BEST-FIRST

BEST FIRST Heurística:Distancia acumulada más corta 1 I A 3 D 4 2 I A D 4 B 7 D 8

3 I A D B D A E 7 8 9 6

4 I A D B D A E 7 8 9 B F 11 10

5 I A D C 11 B D A E 8 9 E B F 12 11 10

6 I A D C 11 B D A E 9 E B F E 12 10 11 10

7 I A D B D A E C E E B B F 11 12 13 11 10 B F 15 14

8 I A D B D A E C E E B B F 11 12 13 11 B F 15 14 M 13

Beam search Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda y selecciona los N mejores (los demás eliminalos)

EJEMPLO DE BÚSQUEDA BEAM SEARCH

Beam search Beam=2 1 I A 3 D 4 I 2 A D 4 B 7 D 8 X

3 I A D B A E 7 9 6 X

4 I A D B 7 B E 11 F 10 X

5 I A D B E C 11 E 12 X F 10

6 I A D B E C F M

Espacio Usado depth-first:(b-1)*n + 1 breadth-first: bd hill-climbing: 1 n best-first: entre b y b beam-seach: beam d

Mejor Solución Cuando importa el costo de encontrar una solución Si g(p) es el costo de camino o solución parcial, la solución óptima es aquella con g(p) mínima. Una forma segura: búsqueda exhaustiva y seleccionar el de menor costo (Brittish Museum)

Best-first no es óptimo, pero con una pequeña variante ya lo es. Branch and Bound trabaja como best-first pero en cuanto se encuentra una solución, sigue expandiendo los nodos de costos menores al encontrado

Branch and Bound Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta y los demás nodos sean de costos mayores o iguales a la meta si el primer elemento es la meta y los demás nodos son de menor o igual costo a la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda

EJEMPLO DE BÚSQUEDA BRANCH AND BOUND

1 Búsqueda Branch and Bound I A D B D A E 11 C E 12 X B E 13 B B 11 15 F 14 F M 13

2 I A D B D A E 11 C E E B B F 12 13 B F A C M 13 15 14 15 15

3 I A D B D A E 11 C E E B B F 13 D F 14 16 B F 15 14 A 15 C 15 M 13

Dynamic Programming Idea: no explorar caminos a los que ya llegamos por caminos más cortos/baratos El algoritmo es igual sólo hay que añadir la condición: elimina todos los caminos que lleguen al mismo nodo excepto el de menor costo

EJEMPLO CON DYNAMIC PROGRAMMING

Dynamic programming 1 I 3 A D 4 I 2 A D 4 B 7 D 8 X

3 I A 3 D 4 B 7 A 9 E 6 X

4 I A 3 4 D 7 B E 6 B X 13 F 10

5 I 3 A D 4 7 B E 6 11 C E 12 F 10 X

6 I 3 A D 4 7 B E 6 11 C F 10 M

A*: utiliza dos medidas Idea: usar estimaciones de los costos/distancias que faltan junto con los costos/distancias acumuladas estim(total) = costo(camino recorrido) estim(camino que falta) +

Las estimaciones no son perfectas, por lo que se usan sub-estimaciones subestim(total) = costo(camino recorrido) subestim(camino que falta) + De nuevo expande hasta que los demás tengan subestimaciones más grandes (v.g., subestimaciones de distancias entre ciudades pueden ser líneas rectas)

Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta y los demás nodos sean de costos mayores o iguales a la meta si el primer elemento es la meta y los demás nodos son de menor o igual costo a la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda de acuerdo al costo acumulado más las subestimaciones de los que falta

EJEMPLO DE BÚSQUEDA A*

A* 1 I 13.4 A D 12.9 2 I 13.4 A D 19.4 A E 12.9

3 I 13.4 A D 19.4 A E 17.7 B F 13.0

4 I 13.4 A D 19.4 A E 17.7 B F 13.0 M

Costo de búsqueda d 2 4 6 8 10 12 14 16 18 20 22 24 IDS 10 112 680 6384 47127 364404 3473941 - - - - - A*(h ) 1 A*(h ) 2 IDS 6 13 20 39 93 227 539 1301 3056 7276 18094 39135 6 12 18 25 39 73 113 211 363 676 1219 1641 2.45 2.87 2.73 2.80 2.79 2.78 2.83 - - - - - Arborescencia efectiva A*(h 1 ) A*(h 2 ) 1.79 1.48 1.34 1.33 1.38 1.42 1.44 1.45 1.46 1.47 1.48 1.48 1.79 1.45 1.30 1.24 1.22 1.24 1.23 1.25 1.26 1.27 1.28 1.26 Comparación Interactive Deepening (IDS) con A* con dos heurísticas (h1 y h2). Resultados promedios de 100 instancias del 8-puzzle.

Cuándo usamos cada una? si el tamaño de búsqueda es pequeño (rara vez), podemos hacer búsqueda exhaustiva sin información depth-first con progressivedeepening branch and bound en general está bien dynamic programming cuando existen muchos posibles caminos con cruces A* cuando podemos tener una buena subestimación

Tarea Leer Capítulo 3 de Russell Plantear el problema la Torres de Hanoi como un problema de búsqueda: Especificar la representación de los estados, y el estado inicial y meta Especificar los operadores para generar estados Mostrar el árbol para el caso de 3 discos Se te ocurre alguna heurística para hacer más eficiente la búsqueda?