Resolución de Problemas mediante Búsqueda Esquema

Anuncio
Resolución de Problemas mediante Búsqueda
Tema 3
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
1
Tema 3
2
Esquema
♦ Introducción
♦ Agentes para la resolución de problemas
♦ Formulación de problemas
♦ Problemas ejemplo
♦ Búsqueda de soluciones
♦ Estrategias básicas de búsqueda
- búsqueda primero en anchura
- búsqueda de coste uniforme
- búsqueda primero en profundidad
- búsqueda limitada en profundidad
- búsqueda por profundización iterativa
- búsqueda bidireccional
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Introducción
Los agentes reflejos simples tienen muchas limitaciones
Vamos a ver un tipo de agente basado en objetivos: agentes para la
resolución de problemas
Los agentes para la resolución de problemas funcionan buscando secuencias
de acciones que conduzcan a estados deseados
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
3
Agentes para la resolución de problemas
Los agentes inteligentes deben actuar de forma que se maximice su medida
del desempeño ; introducción de objetivos
Los objetivos ayudan a dirigir el comportamiento del agente limitando las
acciones que intenta realizar
Las etapas de la resolución de problemas con objetivos:
1. Formulación de objetivos: a partir de la situación actual, definir los estados
objetivo y los factores que pueden influir en el grado de satisfacción
de las distintas maneras de conseguirlo
2. Formulación del problema: decidir qué acciones y estados considerar
3. Búsqueda: decidir qué hacer examinando diferentes secuencias de acciones
que llevan a estados objetivo y escogiendo la mejor
4. Ejecución: ejecutar las acciones recomendadas
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
4
ejemplo: hallar rutas en Rumanı́a
Estamos de vacaciones en Rumanı́a, concretamente en Arad
Nuestro vuelo sale mañana de Bucharest
Formulación de objetivos:
estar en Bucharest
Formulación del problema:
estados: distintas ciudades
acciones: conducir entre ciudades
Encontrar solución:
secuencia de ciudades, p.e. Arad, Sibiu, Fagaras, Bucharest
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
5
ejemplo: hallar rutas en Rumanı́a (cont.)
Oradea
Neamt
Zerind
Iasi
Arad
Sibiu
Fagaras
Vaslui
Rimnicu Vilcea
Timisoara
Pitesti
Lugoj
Hirsova
Mehadia
Urziceni
Bucharest
Dobreta
Craiova
Giurgiu
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Eforie
Tema 3
6
La estructura de un agente simple para la resolución de problemas:
function SIMPLE-PROBLEM-SOLVING-AGENT( p) returns an action
inputs: p, a percept
static: s, an action sequence, initially empty
state, some description of the current world state
g, a goal, initially null
problem, a problem formulation
state UPDATE-STATE(state, p)
if s is empty then
g FORMULATE-GOAL(state)
problem FORMULATE-PROBLEM(state, g)
s SEARCH( problem)
action RECOMMENDATION(s, state)
s REMAINDER(s, state)
return action
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
7
Formulación de problemas
Distintos tipos de problemas determinados por el conocimiento que el agente
tiene de los efectos de sus acciones y del estado en que se encuentra
Ejemplo : “mundo del aspirador”
el mundo tiene dos posiciones.
en las posiciones del mundo puede haber o no
suciedad.
el agente está en una u otra posición.
las acciones que puede realizar el agente son:
Lef t (izquierda), Right (derecha) y Suck
(aspirar).
el objetivo es limpiar toda la suciedad, que
equivale al conjunto de estados {7, 8}.
1
2
3
4
5
6
7
8
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
8
Tipos de problemas según el conocimiento del agente:
1. Si conoce sus acciones y el estado actual (entorno determinista y accesible)
; problema de un solo estado (single-state problem)
2. Si conoce sus acciones pero no el estado actual (entorno determinista e
inaccesible) ; problema de conjuntos de estados (multiple-state problem)
3. Si su conocimiento sobre acciones y estado actual es incompleto (entorno
no determinista e inaccesible) ; problema de contingencia:
utilizar la percepción durante la ejecución
calcular un árbol de acciones cuyas ramas tratan distintos casos
4. Si desconoce completamente sus acciones (espacio de estados desconocido) ; problema de exploración:
experimentar y descubrir información sobre acciones y estados
Los problemas de un solo estado y de conjuntos de estados se pueden resolver
mediante las estrategias de búsqueda de este tema
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
9
ejemplo: “mundo del aspirador”
1. Un solo estado: a partir de 5, Solución??
2. Conjuntos de estados:
a partir de {1, 2, 3, 4, 5, 6, 7, 8} y usando p.e.
Right resulta en {2, 4, 6, 8}, Solución??
3. Contingencia, a partir de 5 y con:
Ley de Murphy: Suck puede ensuciar
Sensor de posición y sensor local de suciedad
Solución??
1
2
3
4
5
6
7
8
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
10
Formulación de problemas de un solo estado
Un problema es el conjunto de información que el agente usa como entrada
a su proceso de decisión, e incluye:
• estado inicial
• operadores: descripción de las acciones que puede realizar el agente
en términos de cómo modifican el estado (otra descripción posible es una
función sucesor S(x))
→ ambos definen el espacio de estados, o conjunto de estados a los que
se puede llegar desde el estado inicial a través de cualquier secuencia de
operadores. Un camino en dicho espacio será una secuencia de operadores.
• test de objetivo: descripción de los estados objetivo, explı́cita o no
• coste del camino: función equivalente a la suma del coste de las acciones
del camino (se suele denotar g(x))
Una solución es un camino que conduce del estado inicial a un estado que
satisface el test de objetivo
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
11
ejemplo: hallar rutas en Rumanı́a
El problema puede estar definido por:
• estado inicial, p.e. “en Arad”
• operadores, operadores que lleven de una ciudad a otra según el mapa,
p.e. Arad → Zerind, Arad → Sibiu, etc
• test de objetivo, explı́cito, p.e. x = “en Bucharest”
• coste del camino, número de etapas del viaje
Una solución serı́a una ruta que lleve de Arad a Bucharest, p.e.
Arad → Sibiu → Rimnicu Vilcea → Pitesti → Bucharest
La formulación de problemas de conjuntos de estados se realiza de manera
similar
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
12
La elección del espacio de estados (conjunto de estados y operadores) es
fundamental para la resolución de problemas
El mundo real es muy complejo ; es necesario realizar una abstracción
para omitir los detalles irrelevantes
Mediante la abstracción del espacio de estados:
estado = conjunto de estados reales
operador = combinación de acciones reales, p.e. Arad → Zerind
representa una combinación compleja de carreteras alternativas,
desvı́os, paradas, etc
solución =
conjunto de caminos reales que son soluciones en el mundo real
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
13
Problemas ejemplo
Los problemas reales pueden formularse como hemos visto después de una
etapa de análisis
ejemplo: el puzzle de las 8 piezas
5
4
6
1
88
6
8
7
3
22
7
Start State
5
1
4
2
3
84
6
25
Goal State
estados??: posiciones de las piezas y del hueco
operadores??: llevar el hueco a iquierda, derecha, arriba o abajo
test de objetivo??: = goal state, el estado objetivo predefinido
coste del camino??: 1 por movimiento
Nota: la familia de problemas de los “puzzles de las n piezas” es NP-completa
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
14
ejemplo: espacio de estados del “mundo del aspirador”
R
L
R
L
S
S
R
R
L
R
L
R
L
L
S
S
S
S
R
L
R
L
S
S
estados??: posiciones de la suciedad y del robot
operadores??: Lef t, Right, Suck
test de objetivo??: N oDirt(x)
coste del camino??: 1 por operador
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
15
ejemplo: espacio de estados del “mundo del aspirador” (cont.)
L
R
L
R
S
S
L
S
R
R
L
S
S
R
L
L
R
S
S
R
L
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
16
ejemplo: ensamblado con robots
P
R
R
R
R
R
estados??:
coordenadas reales de los ángulos de las articulaciones del robot
piezas del objeto a ensamblar
operadores??: movimientos continuos de las articulaciones del robot
test de objetivo??: ensamblado completo
coste del camino??: tiempo de ejecución
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
17
Búsqueda de soluciones
La idea básica es explorar el espacio de estados a partir del estado inicial, a
través de secuencias parciales de soluciones:
si el estado actual no es objetivo, consideraremos otros estados
sucesores (expansión del estado), y ası́ sucesivamente
Para decidir qué estado expandir y cuáles dejar para su estudio posterior:
estrategia de búsqueda
El proceso de búsqueda la construcción de un árbol de búsqueda:
function GENERAL-SEARCH( problem, strategy) returns a solution, or failure
initialize the search tree using the initial state of problem
loop do
if there are no candidates for expansion then return failure
choose a leaf node for expansion according to strategy
if the node contains a goal state then return the corresponding solution
else expand the node and add the resulting nodes to the search tree
end
notar que espacio de estados = árbol de búsqueda
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
18
ejemplo de búsqueda general
Arad
Zerind
Arad
Sibiu
Oradea
Timisoara
Rimnicu
Vilcea
Fagaras
Sibiu
Bucharest
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
19
La estructura de datos para los nodos del árbol de búsqueda incluirá:
•
•
•
•
•
estado del espacio de estados con el que se corresponde
nodo padre cuya expansión generó el nodo
operador que fué aplicado en la expansión
profundidad del nodo desde la raı́z
coste del camino desde la raı́z hasta el nodo
notar que estado = nodo del árbol de búsqueda:
parent
State
depth = 6
Node
5
4
6
1
88
7
3
22
g=6
state
children
La estructura de datos para el conjunto de nodos pendientes de expansión
será una cola
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
20
El algoritmo de búsqueda general:
function GENERAL-SEARCH( problem, QUEUING -FN) returns a solution, or failure
nodes MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[problem]))
loop do
if nodes is empty then return failure
node REMOVE-FRONT(nodes)
if GOAL-TEST[problem] applied to STATE(node) succeeds then return node
nodes QUEUING -FN(nodes, EXPAND(node, OPERATORS[problem]))
end
donde Expand crea nuevos nodos y asigna valores a sus campos, utilizando
los operadores o la función sucesor para generar los estados correspondientes
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
21
Estrategias básicas de búsqueda
Una estrategia queda definida por el orden en que se expanden los nodos
Vamos a evaluar las estrategias según cuatro aspectos:
Completitud—¿garantiza encontrar una solución si existe una?
Complejidad temporal—¿cuántos nodos deben expandirse?
Complejidad espacial—¿cuántos nodos deben almacenarse en
memoria?
Optimalidad—¿garantiza encontrar la mejor solución (la de menor
coste) si existen varias?
Las complejidades temporal y espacial se miden en términos de
b—máximo factor de ramificación del árbol de búsqueda
d—profundidad de la solución de menor coste
m—profundidad máxima del espacio de estados (puede ser ∞)
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
22
Vamos a ver estrategias que se denominan de búsqueda no informada
(uninformed search) o de búsqueda ciega porque sólo usan la información
de la definición del problema:
- búsqueda primero en anchura
- búsqueda de coste uniforme
- búsqueda primero en profundidad
- búsqueda limitada en profundidad
- búsqueda por profundización iterativa
- búsqueda bidireccional
Contrastan con las estrategias de búsqueda informada (informed search)
o de búsqueda heurı́stica que utilizan información del coste del estado actual
al objetivo
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
23
Búsqueda primero en anchura
Expande primero los nodos no expandidos menos profundos
Implementación:
QueueingFn = añadir al final de la cola, Enqueue-At-End
Arad
Zerind
Arad
Oradea
Arad
Sibiu
Oradea
Timisoara
Fagaras
Rimnicu
Vilcea
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Arad
Lugoj
Tema 3
24
Propiedades de la búsqueda primero en anchura:
Completa?? Sı́, si b es finito
Tiempo?? 1 + b + b2 + b3 + . . . + bd = O(bd), o sea, exponencial con d
Espacio?? O(bd) (se deben almacenar todos los nodos en memoria)
Optima?? Sı́, si el coste por operador es 1; no es óptima en general
El coste espacial es el mayor problema:
Depth
Nodes
0
2
4
6
8
10
12
14
1
111
11,111
106
108
1010
1012
1014
Time
1
.1
11
18
31
128
35
3500
Memory
millisecond
seconds
seconds
minutes
hours
days
years
years
100
11
1
111
11
1
111
11,111
bytes
kilobytes
megabyte
megabytes
gigabytes
terabyte
terabytes
terabytes
Nota: se ha supuesto b=10, 1000 nodos/seg y 100 bytes/nodo.
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
25
ejemplo: mapa de Rumanı́a con costes de operador en km
71
75
Oradea
Neamt
Zerind
87
151
Iasi
Arad
140
92
Sibiu
99
Fagaras
118
Vaslui
80
Rimnicu Vilcea
Timisoara
111
Lugoj
Pitesti
97
142
211
70
98
Mehadia
75
Dobreta
146
85
101
138
120
Hirsova
Urziceni
86
Bucharest
90
Craiova
Giurgiu
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Eforie
Straight−line distance
to Bucharest
Arad
366
Bucharest
0
Craiova
160
Dobreta
242
Eforie
161
Fagaras
178
Giurgiu
77
Hirsova
151
Iasi
226
Lugoj
244
Mehadia
241
Neamt
234
Oradea
380
Pitesti
98
Rimnicu Vilcea 193
Sibiu
253
Timisoara
329
Urziceni
80
Vaslui
199
Zerind
374
Tema 3
26
Búsqueda de coste uniforme
Expande primero los nodos no expandidos con menor coste de camino
Implementación:
QueueingFn = insertar en la cola en orden de coste creciente
Arad
75
Zerind
75
Arad
140
Sibiu
118
Timisoara
71
Oradea
118
111
Arad
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Lugoj
Tema 3
27
Propiedades de la búsqueda de coste uniforme:
Completa?? Sı́
Tiempo?? num. de nodos con g(n) ≤ coste de la solución óptima
Espacio?? num. de nodos con g(n) ≤ coste de la solución óptima
Optima?? Sı́, si se cumple que g(Sucesor(n)) ≥ g(n)
La búsqueda primero en anchura es una búsqueda de coste uniforme en la
que g(n) = Profundidad(n)
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
28
Búsqueda primero en profundidad
Expande primero los nodos no expandidos mas profundos
Implementación:
QueueingFn = añadir al principio de la cola, Enqueue-At-Front
Arad
Zerind
Zerind
Arad
Oradea
Sibiu
Timisoara
Sibiu
Timisoara
notar que la búsqueda puede caer en caminos cı́clicos infinitos ; necesita
espacios de búsqueda finitos, sin bucles (o evitar espacios repetidos)
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
29
Propiedades de la búsqueda primero en profundidad:
Completa?? No: falla en espacios de profundidad ∞, con bucles ; evitar
espacios repetidos a lo largo de un camino:
completa en espacios finitos
Tiempo?? O(bm):
terrible si m es mucho mayor que d
si hay muchas soluciones puede ser mucho mas rápida que la búsqueda
primero en anchura
Espacio?? O(bm), o sea, ¡lineal!
Optima?? No
Esta estrategia debe evitarse cuando el espacio de búsqueda tiene una
profundidad muy grande o incluso ∞
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
30
Búsqueda limitada en profundidad
= búsqueda primero en profundidad con lı́mite de profundidad l
Implementación:
como la búsqueda primero en profundidad, excepto que los nodos de profundidad l no tiene sucesores
Propiedades de la búsqueda limitada en profundidad:
Completa?? Sı́, si se cumple que l ≥ d
Tiempo?? O(bl )
Espacio?? O(bl)
Optima?? No
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
31
Tema 3
32
Búsqueda por profundización iterativa
Resuelve el problema de la elección del lı́mite de profundidad l
Implementación:
function ITERATIVE-DEEPENING-SEARCH( problem) returns a solution sequence
inputs: problem, a problem
0 to
do
for depth
if DEPTH-LIMITED-SEARCH( problem, depth) succeeds then return its result
end
return failure
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Búsqueda por profundización iterativa l = 0
Arad
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
33
Búsqueda por profundización iterativa l = 1
Arad
Zerind
Sibiu
Timisoara
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
34
Búsqueda por profundización iterativa l = 2
Arad
Zerind
Arad
Oradea
Arad
Sibiu
Oradea
Timisoara
Fagaras
Rimnicu
Vilcea
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Arad
Lugoj
Tema 3
35
La búsqueda por profundización iterativa combina ventajas:
como la búsqueda primero en anchura, es completa y óptima
como la búsqueda primero en profundidad, requiere poca memoria
expande los nodos como la búsqueda primero en anchura, aunque
algunos varias veces
Sus propiedades:
Completa?? Sı́
Tiempo?? (d + 1)b0 + db1 + (d − 1)b2 + . . . + bd = O(bd)
Espacio?? O(bd)
Optima?? Sı́, si el coste por operador es 1
Esta estrategia debe aplicarse a cuando el espacio de búsqueda es
grande y se desconoce la profundidad de la solución
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
36
Búsqueda bidireccional
= búsqueda simultánea que avanza desde el estado inicial y retrocede desde
el objetivo
Goal
Start
Implementación: ¡complicada! Será necesario:
definir sucesores y también predecesores
decidir cómo enfocar las descripciones no explı́citas de objetivos
decidir qué tipo de búsqueda realizar en cada dirección
contar con un procedimiento eficiente para comprobar la existencia
de nodos en la otra dirección de la búsqueda
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
37
Propiedades de la búsqueda bidireccional:
Completa?? Sı́
Tiempo?? O(2bd/2) = O(bd/2)
Espacio?? O(2bd/2) = O(bd/2)
Optima?? Sı́
Comparación de las estrategias básicas de búsqueda
Criterion
Time
Space
Optimal?
Complete?
BreadthFirst
UniformCost
DepthFirst
bd
bd
Yes
Yes
bd
bd
Yes
Yes
bm
bm
No
No
DepthLimited
bl
bl
No
Yes, if l
d
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Iterative
Deepening
Bidirectional
(if applicable)
bd
bd
Yes
Yes
bd/2
bd/2
Yes
Yes
Tema 3
38
Implementación: cómo evitar estados repetidos
En algunos problemas existe la posibilidad de expandir estados que ya han
sido expandidos, son problemas con
operadores “reversibles”
árboles de búsqueda infinitos
Evitar la repetición de estados puede mejorar mucho la eficiencia, sea el árbol
de búsqueda infinito o no
Existen tres formas de tratar los estados repetidos:
para no deshacer la última operación, modificar Expand para que
no genere un sucesor con un estado igual al del padre
para no obtener caminos con bucles, modificar Expand para que no
genere un sucesor con un estado igual al de cualquiera de los
ancestros
modificar Expand para que no genere un sucesor con un estado ya
explorado
c S.Russell & P.Norvig, 1998)
Transparencias IA (F29) – M.Marcos, 1999 (a partir de AIMA Slides Tema 3
39
Descargar