Title: Soluci
1Solución de problemas por Búsqueda
2Reseña
- Soluciones de problemas de agentes
- Tipos de problemas
- Formulación de problemas
- Problemas de ejemplo
- Algoritmos de búsqueda básicos
3Agente Resolvedor de Problemas
4Ejemplo 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
5Ejemplo Rumania
6Tipos 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
7Ejemplo El mundo de aspiradora
- Estado único, comienza en 5. Solución?
8Ejemplo 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?
9Ejemplo 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 puedeEnsuciar 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
7Solución?
10Ejemplo 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 puedeEnsuciar 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
7Solución? Derecho, si esta sucio entonces
aspirar
11Formulació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) ltArad ? Zerind, Zerindgt,
- 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
12Espacio 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
13Espacio de Estado del mundo de aspiradora
- estados?
- acciones?
- prueba final?
- costo del camino?
14Espacio 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
15Ejemplo El rompecabezas-8
- estados?
- acciones?
- prueba final?
- costo del camino?
16Ejemplo El rompecabezas-8
- estados? Posiciones de las tejas
- acciones? Mover el espacio
- prueba final? estado final (dado)
- costo del camino? 1 por movimiento
17Ejemplo 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
18Algoritmos 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)
19Ejemplo de árbol de búsqueda
20Ejemplo de árbol de búsqueda
21Ejemplo de árbol de búsqueda
22Implementación árbol de búsqueda
23Implementació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.
24Estrategias 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
25Estrategias 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
26Bú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
27Propiedades de búsqueda a lo ancho
- Completa? Sí (si b es finito)
- Tiempo? 1bb2b3 bd b(bd-1) O(bd1)
- Espacio? O(bd1) (Guarda cada nodo en memoria)
- Optima? Sí (si cost 1 por paso)
- El espacio es el problema
28Bú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 e
- Tiempo? nodos con g costo de solución óptima
O(b?C/ e?) donde C es el costo de la solución
óptima - Espacio? de nodos con g costo de solución
óptima, O(b?C/ e?) - Óptimo? Sí nodos expandidos en orden
creciente de g(n)
29Búsqueda a lo profundo
- Expanda más profundo nodo no expandido
- Implementación
- Orilla Cola LIFO, i.e., Poner los sucesores en
frente
30Propiedades 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
31Busqueda de profundidad limitada
- Búsqueda a lo profundo parando a cierta
profundidad limitada - nodos de profundidad
límite no tienen sucesores - Implementación recursiva
32Busqueda de profundidad iterada
33Busqueda de profundidad iterada (1)
34Busqueda de profundidad iterada (2)
35Busqueda de profundidad iterada (3)
36Busqueda de profundidad iterada (4)
37Busqueda 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 (d1)b0 d b1
(d-1)b2 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
38Propiedades de búsqueda de profundidad iterada
- Completo? Si
- Tiempo? (d1)b0 d b1 (d-1)b2 bd
O(bd) - Espacio? O(bd)
- Optimo? Si, Si costo por paso 1
39Resumen de algoritmos
40Estados repetidos
- El no detectar estados repetidos puede convertir
un problema lineal en uno exponencial!
41Búsqueda en Grafos
42Resumen
- 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