Solución de problemas por Búsqueda Capítulo 3 Búsqueda Ciega
Reseña Soluciones de problemas de agentes Tipos de problemas Formulación de problemas Problemas de ejemplo Algoritmos de búsqueda básicos Búsqueda Ciega
Agente Resolvedor de Problemas Búsqueda Ciega
Ejemplo: Rumania Estado actual: en Arad Meta: en Bucarest Problema: estados: Ciudades diversas acciones: Conducir entre ciudades Solución: Secuencia de ciudades, e.g., Arad, Sibiu, Fagaras, Bucarest Búsqueda Ciega
Ejemplo: Rumania Búsqueda Ciega
Tipos de Problemas Determinístico, completamente observable condición única del problema El agente sabe exactamente en qué condición estará No-observable sin sensores El agente puede no tiene idea dónde está No deterministico y/o parcialmente observable problema de contingencia Las percepciones proveen información nueva acerca de la condición actual A menudo intercala búsqueda, ejecución Estado en el espacio desconocido Problema de exploración Búsqueda Ciega
Ejemplo: El mundo de aspiradora Estado único, comienza en #5. Solución? Búsqueda Ciega
Ejemplo: El mundo de aspiradora Estado único, comienza en #5. Solución? [Derecho, Aspirar] Sensorless, comienza sobre { 1,2,3,4,5,6,7,8 } e.g., Derecho hacia { 2,4,6,8 } ¿Solución? Búsqueda Ciega
Ejemplo: El mundo de aspiradora Sin Sensores, comienza sobre { 1,2,3,4,5,6,7,8 } v.g., Derecho hacia { 2,4,6,8 } ¿Solución? Solución? [Derecho, Aspirar, Izquierdo, Aspirar] Contingencia No determinístico: Aspirar puede Ensuciar una alfombra limpia Parcialmente observable: La posición, la suciedad en la posición actual. Percepción: [L, Limpio], i.e., Empiece en #5 o #7 ¿Solución? Búsqueda Ciega
Ejemplo: El mundo de aspiradora Sin Sensores, comienza sobre { 1,2,3,4,5,6,7,8 } v.g., Derecho hacia { 2,4,6,8 } ¿Solución? Solución? [Derecho, Aspirar, Izquierdo, Aspirar] Contingencia No determinístico: Aspirar puede Ensuciar una alfombra limpia Parcialmente observable: La posición, la suciedad en la posición actual. Percepción: [L, Limpio], i.e., Empiece en #5 o #7 ¿Solución? [Derecho, si esta sucio entonces aspirar] Búsqueda Ciega
Formulación de estado único Un problema está definido por cuatro cosas: Estado Inicial v.g., “en Arad" Acciones o función sucesor S(x) = conjunto de pares acción-estado v.g., S (Arad) = {<Arad Zerind, Zerind>, … } Prueba de Meta explícitamente, v.g., x = "at Bucharest" implícitamente, v.g., Checkmate (x) Costo solución (aditivo) v.g., La suma de distancias, número de acciones ejecutadas, etc. C(x, a, y) es el costo por paso, C(x, a, y) ≥ 0 Una solución es una secuencia de acciones desde el estado inicial hasta un estado meta Búsqueda Ciega
Espacio de Estado El mundo real es absurdamente complejo espacio de estado abstracto Estado (Abstracto) = conjunto de estados reales Acción (Abstracta) = combinación compleja de acciones reales v.g., "Arad Zerind" Representa un conjunto de rutas posibles, desvíos, áreas de descanso, etc. Una acción debe llevar de cualquier estado real "en Arad" a algún estado real "en Zerind" Solución (Abstracta) = conjunto de caminos reales que son soluciones en el mundo real Cada acción abstracta debería ser "más fácil" que el problema original Búsqueda Ciega
Espacio de Estado del mundo de aspiradora estados? acciones? prueba final? costo del camino? Búsqueda Ciega
Espacio de Estado del mundo de aspiradora estados? La suciedad de entero y la posición automatizada acciones? Derecho Izquierdo, Aspirar prueba final? Ninguna suciedad en todas las posiciones costo del camino? 1 por acción Búsqueda Ciega
Ejemplo: El rompecabezas-8 estados? acciones? prueba final? costo del camino? Búsqueda Ciega
Ejemplo: El rompecabezas-8 estados? Posiciones de las tejas acciones? Mover el espacio prueba final? = estado final (dado) costo del camino? 1 por movimiento Búsqueda Ciega
Ejemplo: Ensamblaje robótico estados? Coordenadas de valores reales automatizados de ángulos de juntura de las partes del objeto a ser ensambladas acciones? Los movimientos continuos de articulaciones del robot prueba final? Ensamblaje completo costo del camino? Tiempo a ejecutar Búsqueda Ciega
Algoritmos de árbol de búsqueda Idea básica: Fuera de línea, la exploración simulada del espacio de estado genera sucesores de condiciones ya exploradas (a.k.a.~ expandir estados) Búsqueda Ciega
Ejemplo de árbol de búsqueda Búsqueda Ciega
Ejemplo de árbol de búsqueda Búsqueda Ciega
Ejemplo de árbol de búsqueda Búsqueda Ciega
Implementación: árbol de búsqueda Búsqueda Ciega
Implementación: estados vs. nodos Estado = (representación de) configuración física Nodo = estructura de datos - incluye estado, nodo padre, acción, costo del camino g(x), profundidad, etc. La función Expand crea nodos nuevos, rellenando los campos diversos y usando al SuccessorFn del problema para crear los estados correspondientes. Búsqueda Ciega
Estrategias de Búsqueda Una estrategia de búsqueda define el orden de expansión de los nodos Las estrategias son evaluadas en las siguientes dimensiones: Seguridad: ¿Encuentra siempre una solución si existe? Complejidad en tiempo: Número de nodos generados Complejidad en espacio: Número máximo de nodos en memoria Optimalidad: ¿Encuentra siempre la solución menos costosa? La complejidad en tiempo y espacio son medidas en términos de: b: El factor máximo de ramaje del árbol de búsqueda d: La profundidad de la solución menos costosa m: La profundidad máxima del espacio de estado Búsqueda Ciega
Estrategias de Búsqueda Ciega Usan sólo la información disponible en la definición del problema A lo ancho De costo uniforme A lo profundo De profundidad limitada De profundidad iterada Búsqueda Ciega
Búsqueda a lo ancho Expándase el nodo menos hondo no expandido Implementación: La orilla es una cola, i.e., Los sucesores nuevos van al final Búsqueda Ciega
Propiedades de búsqueda a lo ancho Completa? Sí (si b es finito) Tiempo? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1) Espacio? O(bd+1) (Guarda cada nodo en memoria) Optima? Sí (si cost = 1 por paso) El espacio es el problema Búsqueda Ciega
Búsqueda de costo uniforme Expandir el nodo no expandido de menor costo Implementación: Orilla = cola ordenada por costo del camino El equivalente a búsqueda primaria a lo ancho si los pasos cuestan igual Completo? Sí, si el paso cost ≥ ε ¿Tiempo? # nodos con g ≤ costo de solución óptima O(bC*/ ε) donde C * es el costo de la solución óptima ¿Espacio? # de nodos con g ≤ costo de solución óptima, O(bC*/ ε) ¿Óptimo? Sí – nodos expandidos en orden creciente de g(n) Búsqueda Ciega
Búsqueda a lo profundo Expanda más profundo nodo no expandido Implementación: Orilla = Cola LIFO, i.e., Poner los sucesores en frente Búsqueda Ciega
Propiedades de Búsqueda a lo profundo ¿Completa? No. Falla en espacios de profundidad infinita, espacios con ciclos. Modificar para evitar repetir estados a lo largo del camino Completo en espacios finitos ¿Tiempo? O(bm): terrible si m es mucho mas grande que d Pero si las soluciones son densas, puede ser mucho más rápido que búsqueda a lo ancho ¿Espacio? O(bm) - espacio lineal! ¿Optima? No Búsqueda Ciega
Busqueda de profundidad limitada = Búsqueda a lo profundo parando a cierta profundidad limitada - nodos de profundidad límite no tienen sucesores Implementación recursiva: Búsqueda Ciega
Busqueda de profundidad iterada Búsqueda Ciega
Busqueda de profundidad iterada (1) Búsqueda Ciega
Busqueda de profundidad iterada (2) Búsqueda Ciega
Busqueda de profundidad iterada (3) Búsqueda Ciega
Busqueda de profundidad iterada (4) Búsqueda Ciega
Busqueda de profundidad iterada El número de nodos generados en una búsqueda de profundidad limitada para una profundidad d con factor de ramaje b: NLDS = b0 + b1 + b2 + … + bd-2 + bd-1 + bd El número de nodos generados en una búsqueda de profundidad iteratda para una profundidad d con factor de ramaje b : NIDS = (d+1)b0 + d b^1 + (d-1)b^2 + … + 3bd-2 +2bd-1 + 1bd For b = 10, d = 5, NDLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111 NIDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456 Overhead = (123,456 - 111,111)/111,111 = 11% Búsqueda Ciega
Propiedades de búsqueda de profundidad iterada ¿Completo? Si ¿Tiempo? (d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd) ¿Espacio? O(bd) ¿Optimo? Si, Si costo por paso = 1 Búsqueda Ciega
Resumen de algoritmos Búsqueda Ciega
Estados repetidos ¡El no detectar estados repetidos puede convertir un problema lineal en uno exponencial! Búsqueda Ciega
Búsqueda en Grafos Búsqueda Ciega
Resumen La formulación del problema usualmente requiere abstraer detalles del mundo real para definir un espacio de estados que pueda ser explorado Variedad de estrategias de búsqueda ciegas La búsqueda de profundidad iterada usa sólo espacio lineal y no mucho más tiempo que otros algoritmos ciegos Búsqueda Ciega