Inteligencia Artificial Tema 2 Búsquedas Dr. Jesús Antonio González Bernal Contenido y Estructura General de un PSA (Problem Solving Agent) y Formulación de un PSA y Algoritmos Al it dde Bú Búsqueda d de d SSoluciones l i y Aplicaciones 2 Inteligencia Artificial UPP Introducción ó y Agentes y Como actúan para alcanzar la meta Æ Secuencia de acciones p para alcanzarla Æ Agentes para la solución de problemas y Problema, se define como: y Una meta y Conjunto de medios que permiten alcanzarla y Búsqueda y Procedimiento de exploración para determinar que es lo que se puede obtener 3 Inteligencia Artificial UPP Introducción ó y Formulación de metas y Una meta es un conjunto de estados del mundo y A través de las acciones, acciones un agente pasa de un estado a otro y Acciones A i y Causantes de la transición de un estado a otro El agente t titiene que determinar d t i que acciones i permiten it obtener bt ell estado t d de d la meta 4 Inteligencia Artificial UPP Formulación ó de un Problema y Proceso que consiste en decidir que acciones y estados habrán de considerarse y ¿Qué condiciones son necesarias? y ¿Qué Q é sucede d sii no hhay forma f de d discernir di i que camino i nos lllleva a la meta? y ¿Qué decisión tomar en tal situación? 5 Inteligencia Artificial UPP Búsquedas ú y En términos generales generales, cuando un agente tiene ante sí diversas opciones cuyo valor ignora, éstas se tienen que evaluar eva ua dee aalguna gu a forma o a y Evaluar las diversas secuencias de acciones que le conducen a estados cuyo y valor se conoce Búsquedas 6 Inteligencia Artificial UPP Búsquedas ú y Algoritmo de búsqueda y Entrada: un problema y Salida: solución que adopta la forma de una secuencia de acciones y Una vez encontrada una solución, se procede a ejecutar las acciones 7 Inteligencia Artificial UPP Búsquedas ú 8 Inteligencia Artificial UPP Agentes que Resuelven Problemas y Formular: decidir que acciones y estados deberán considerarse y Buscar: p proceso ppara hallar las secuencias de acciones qque conduzcan a una meta y Ejecutar: fase donde se llevan a cabo las acciones que conducen a la meta 9 Inteligencia Artificial UPP Agentes que Resuelven Problemas función AGENTE-SENCILLO-RESOLVENTE-PROBLEMAS(percepción) devuelve una acción entradas: percepción, una percepción estático: sec, una secuencia de acciones, vacía inicialmente estado, una descripción del estado actual del mundo objetivo, un objetivo inicialmente nulo problema, una formulación del problema estado ← ACTUALIZAR-ESTADO(estado, percepción) si sec está vacía entonces hacer objetivo ← FORMULAR OBJETIVO(estado) problema ← FORMULAR-PROBLEMA(estado, p ( , objetivo) j ) sec ← BÚSQUEDA(problema) acción ← PRIMERO(secuencia) sec ← RESTO(secuencia) devolver acción 10 Inteligencia Artificial UPP Agentes que Resuelven Problemas y El Agente Agente-Resuelve-Problema-Simple Resuelve Problema Simple anterior asume que el ambiente tiene las siguientes características: y Estático y Nada cambiará mientras determinamos cómo alcanzar nuestra meta y Observable y Podemos ver si la secuencia de acciones alcanzará nuestra meta y Discreto y Podemos enumerar los posibles estados y Determinista y Una vez que nuestra secuencia de acciones ha sido determinada, sabemos que funcionará y Este mismo proceso no funcionará con juegos como el tic-tac-toe. ¿Porqué? q 11 Inteligencia Artificial UPP Ejemplo: Rumanía í y Imagine un agente en la ciudad de Arad Arad, Rumanía Rumanía, disfrutando de un viaje de vacaciones. Mañana sale un vuelo de Bucarest. y Formulación del objetivo: estar en Bucarest y Formulación del problema: estados: varias ciudades acciones: conducir entre las ciudades y Encontrar solución: secuencia i dde ciudades, i d d por ejemplo, j l A Arad, d Sibi Sibiu, FFagaras, Bucarest. 12 Inteligencia Artificial UPP Ejemplo 13 Inteligencia Artificial UPP Ejemplo de una Aspiradora E t d simple, Estado i l estado t d iinicial i i l 55. ¿Solución? S l ió ? 14 Inteligencia Artificial UPP Ejemplo de una Aspiradora Estado E t d simple, i l estado t d iinicial i i l 55. ¿Solución? S l ió ? [Derecha, Aspirar] Estado E d múltiple, úl i l estado d inicial i iil {1, 2, 3, 4, 5, 6, 7, 8} Por ejemplo, Derecha produce {2, 4, 6, 8}. ¿Solución? 15 Inteligencia Artificial UPP Ejemplo de una Aspiradora Estado simple, simple estado inicial 5. 5 ¿Solución? Solución? [Derecha, Aspirar] Conformado, estado inicial Conformado {1, 2, 3, 4, 5, 6, 7, 8} Por ejemplo, Derecha produce {2, 4, 6, 8}. ¿ ¿Solución? [Derecha, Aspirar, Izquierda, Aspirar] g estado inicial 5. Contingencia, Ley de Murphy: Aspirar a veces deposita suciedad en la alfombra. Sensores locales: suciedad, sólo en el lugar. ¿Solución? 16 Inteligencia Artificial UPP Ejemplo de una Aspiradora Estado simple, estado inicial 5. ¿Solución? [Derecha, Aspirar] Conformado, estado inicial {1 22, 33, 44, 55, 66, 77, 8} {1, Por ejemplo, Derecha produce {2, 4, 6, 8}. ¿Solución? [Derecha, Aspirar, Izquierda, Aspirar] Contingencia, estado inicial 5. Ley de Murphy: Aspirar a veces deposita suciedad en la alfombra. Sensores locales: suciedad, sólo en el lugar. lugar ¿Solución? [Derecha, si suciedad entonces Aspirar] 17 Inteligencia Artificial UPP Problemas Bien Definidos Un pproblema se define ppor cuatro elementos: estado inicial por ejemplo, “Estoy en Arad” función sucesor S(x) = conjunto de pares acción-estado por ejemplo, S(Arad) = {<Arad → Zerind, Zerind>,...} Prueba de meta, descripción para decidir si se trata de un edo meta explícito, lícit por ejemplo, ejemplo x = “en en Bucarest” Bucarest implícito, por ejemplo, en ajedrez, el estado jaque mate costo del camino, se asignan g costos a una ruta por ejemplo, suma de distancias, número de acciones ejecutadas, etc. Una solución es una secuencia de acciones que parten desde un estado inicial hasta alcanzar un estado objetivo. 18 Inteligencia Artificial UPP Costos y Mediante una ruta se conectan los conjuntos de estados y La solución es una ruta que conduce a estados meta p de conjunto j de estados Espacio y ¿Cuál es el mejor camino? y ¿¿Permite encontrar una solución? ((decisión)) y ¿Es una buena solución? (optimización) y ¿Cuál es el costo de búsqueda correspondiente al tiempo y memoria necesarios para encontrar la solución? 19 Inteligencia Artificial UPP Costos y Costo total y C.T. = Costo del Camino + Costo de la Búsqueda 20 Inteligencia Artificial UPP Ejemplo: Espacio de Estados Aspiradora ¿Estados? ¿ ¿Acciones? ¿Prueba de meta? ¿Costo del camino? 21 Inteligencia Artificial UPP Ejemplo: Espacio de Estados Aspiradora ¿Estados? Suciedad completa y localizaciones de robot (ignorar cantidades de suciedad) ¿Acciones? Izquierda, Derecha, Aspirar, NoOp ¿Prueba de meta? No suciedad ¿¿Costo del camino? 1 ppor acción (0 ( por p NoOp) p) 22 Inteligencia Artificial UPP Ejemplo: el 8-puzzle ¿Estados? ¿Acciones? ¿Prueba de meta? ¿Costo del camino? 23 Inteligencia Artificial UPP Ejemplo: el 8-puzzle ¿Estados? Localizaciones completas de las piezas (ignorar las posiciones intermedias) ¿Acciones? Mover el negro a la izquierda, derecha, arriba, abajo (ignorar los atascos, etc.) ¿Prueba de meta? = estado objetivo (proporcionado) ¿Costo del camino? 1 por movimiento [Nota: solución óptima de la familia del n-puzzle es NP-C] 24 Inteligencia Artificial UPP Estrategias de Búsqueda ú y Una estrategia de búsqueda se define por la elección del orden de la expansión de nodos y Las estrategias g se evalúan a través de las siguientes g dimensiones: y Completés -¿Siempre encuentra una solución si es que existe? y Complejidad en tiempo – Número de nodos generados/expandidos y Complejidad en espacio – Máximo número de nodos en memoria y Optimalidad - ¿Siempre encuentra una solución de costo mínimo? y La L complejidad l jid d en ti tiempo y espacio i se mide id en té términos i dde: y b – máximo factor de ramificación del árbol de búsqueda y d – Profundidad de la solución de mínimo costo y m – Máxima profundidad del espacio de estados (puede ser ∞) 25 Inteligencia Artificial UPP Búsquedas Árboles y Idea general: Explorar las diferentes ramas de un árbol, con el objetivo de encontrar un camino desde la raíz a una hoja que represente t un estado t d fifinall función BÚSQUEDA-ÁRBOLES(problema,estrategia) devuelve una solución o fallo inicializa el árbol de búsqueda usando el estado inicial del problema Hacer ciclo si no hay candidatos para expandir entonces devolver fallo escoger, de acuerdo a la estrategia, un nodo hoja para expandir si el nodo contiene un estado objetivo entonces devolver la correspondiente solución en otro caso expandir el nodo y añadir los nodos resultado al árbol de búsqueda 26 Inteligencia Artificial UPP Búsquedas ú en Árboles Á y Búsqueda a lo ancho y Búsqueda Bú d en Profundidad P f did d primero i y Búsqueda ancho-profundo y Búsqueda en profundidad limitada 27 Inteligencia Artificial UPP Búsqueda ú primero en anchura y Se expande primero el nodo raíz, raíz a continuación, continuación se expanden todos los sucesores del nodo raíz, después sus sucesores, etc. y Implementación: y Usa una estructura FIFO, es decir, los nuevos sucesores van al final. 28 Inteligencia Artificial UPP Búsqueda ú primero en anchura y Se expande primero el nodo raíz, raíz a continuación, continuación se expanden todos los sucesores del nodo raíz, después sus sucesores, etc. y y Implementación: y Usa una estructura FIFO, es decir, los nuevos sucesores van al final. 29 Inteligencia Artificial UPP Búsqueda ú primero en anchura y Se expande primero el nodo raíz, raíz a continuación, continuación se expanden todos los sucesores del nodo raíz, después sus sucesores, etc. y y Implementación: y Usa una estructura FIFO, es decir, los nuevos sucesores van al final. 30 Inteligencia Artificial UPP Búsqueda ú primero en anchura y Se expande primero el nodo raíz, raíz a continuación, continuación se expanden todos los sucesores del nodo raíz, después sus sucesores, etc. y y Implementación: y Usa una estructura FIFO, es decir, los nuevos sucesores van al final. 31 Inteligencia Artificial UPP Propiedades de la búsqueda primero en anchura y ¿Completa? C l t ? Sí b: factor de ramificación. d: profundidad de solución. y ¿Tiempo? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1) y ¿Espacio? O(bd+1) (mantiene todos los nodos en la memoria) 32 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 33 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 34 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 35 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 36 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 37 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 38 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 39 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 40 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 41 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 42 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 43 Inteligencia Artificial UPP Búsqueda primero en profundidad y Se expande el nodo no expandido más profundo. profundo y Implementación: y Usa una estructura LIFO,, es decir,, los sucesores se ponen p delante.. Suponiendo p M como nodo objetivo. 44 Inteligencia Artificial UPP Propiedades de la búsqueda primero en profundidad y ¿Completa? Si Æ Completa en espacios finitos. y ¿Tiempo? O(bm): terrible si m es mucho mayor que d. m: máxima profundidad. y Pero si las soluciones son densas, puede ser mucho más rápida que la búsqueda primero en anchura. y ¿Espacio? O(bm), es decir, espacio lineal. 45 Inteligencia Artificial UPP Actividad y Implementar un programa que determine la ruta más corta entre un par de ciudades y Entrada: Mapa p ((conjunto j de ciudades,, conjunto j de carreteras qque unen a ciudades, distancia entre las ciudades), Origen, Destino y Salida: Secuencia de ciudades a visitar (desde el origen hasta el destino). En caso de no existir e istir un camino camino, reportarlo reportarlo. 46 Inteligencia Artificial UPP