1. INTELIGENCIA ARTIFICIAL - ICIF0021
Unidad 2 - B´squeda en Espacio de Estados
u
Docente: Milton A. Ram´ Klapp
ırez
miramire@gmail.com
Universidad San Sebasti´n
a
Facultad de Ingenier´ y Tecnolog´
ıa ıa
Primer Semestre 2011
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 1 / 51
2. Objetivos de la Unidad
Conocen la estructura general de un agente de b´squeda.
u
Identifican los tipos de b´squeda que existen y comprenden las diferencias entre
u
ambos enfoques.
Conocen las diferentes m´tricas que existen para evaluar el rendimiento de un
e
algoritmo determinado en funci´n de par´metros como completitud, optimalidad,
o a
complejidad temporal y complejidad espacial.
Realizan b´squedas no informadas empleando las estrategias en anchura y en
u
profundidad.
Comprenden la problem´tica que tiene la b´squeda no informada y entienden la
a u
necesidad de contar con informaci´n adicional en un problema.
o
Resuelven problemas aplicando estrategias de b´squeda informada con heur´
u ısticas
admisibles.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 2 / 51
3. Contenidos
1 Estructura de un espacio de estados.
2 ´
Arboles de b´squeda.
u
3 Algoritmo general de b´squeda.
u
4 B´squeda no informada: por anchura y en profundidad.
u
5 B´squeda informada: A*.
u
6 Admisibilidad de heur´
ısiticas.
7 M´tricas para evaluar el rendimiento de una soluci´n.
e o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 3 / 51
4. Introducci´n
o
Cualquier sistema que se precie de ser inteligente debe maximizar en
todo sentido su medida de rendimiento.
Es por ello que es necesario que se establezcan objetivos que tenga
que realizar.
Veremos en esta clase c´mo hacer el modelamiento apropiado.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 4 / 51
5. Ejemplo introductorio
Pensemos en un europeo que viene a hacer turismo a Chile en Febrero
¿Qu´ objetivos puede tener en mente?
e
descansar
tomar fotos
tur´
ısticas
mejorar su espa˜ol
n
disfrutar de la vida
nocturna
ir al Festival de Vi˜a
n
del Mar
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 5 / 51
6. Ejemplo introductorio
Pensemos en un europeo que viene a hacer turismo a Chile en Febrero
¿Qu´ objetivos puede tener en mente?
e
descansar
tomar fotos
tur´
ısticas
mejorar su espa˜ol
n
disfrutar de la vida
nocturna
ir al Festival de Vi˜a
n
del Mar
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 6 / 51
7. Ejemplo introductorio
Pensemos en un europeo que viene a hacer turismo a Chile en Febrero
¿Qu´ objetivos puede tener en mente?
e
descansar
tomar fotos
tur´
ısticas
mejorar su espa˜ol
n
disfrutar de la vida
nocturna
ir al Festival de Vi˜a
n
del Mar
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 7 / 51
8. Ejemplo introductorio
Pensemos en un europeo que viene a hacer turismo a Chile en Febrero
¿Qu´ objetivos puede tener en mente?
e
descansar
tomar fotos
tur´
ısticas
mejorar su espa˜ol
n
disfrutar de la vida
nocturna
ir al Festival de Vi˜a
n
del Mar
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 8 / 51
9. Ejemplo introductorio
Pensemos en un europeo que viene a hacer turismo a Chile en Febrero
¿Qu´ objetivos puede tener en mente?
e
descansar
tomar fotos
tur´
ısticas
mejorar su espa˜ol
n
disfrutar de la vida
nocturna
ir al Festival de
Vi˜a del Mar
n
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 9 / 51
10. Ejemplo introductorio
descansar Todos esos
objetivos hace que
tomar fotos
tur´
ısticas
el problema sea
muy complejo de
mejorar su espa˜ol
n abordar.
disfrutar de la vida Principales
nocturna elementos a
ir al Festival de Vi˜a
n considerar: dinero,
del Mar tiempo.
. . . y hacer todo eso Dividir para
en un solo mes. conquistar.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 10 / 51
11. Ejemplo introductorio
Si lo primordial fuera conocer Concepci´n
o
El problema se simplifica bastante.
Cualquier objetivo que no apunte a conocer Concepci´n se puede
o
descartar.
El objetivo se reformula a “conocer Concepci´n”.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 11 / 51
12. Representaci´n de problemas
o
Primer paso. Formular el objetivo.
Objetivo. Conjunto de estados del mundo que satisfacen el problema.
Resolver un problema es encontrar una secuencia de estados que
permiten lograr los estados objetivos.
Formular un problema significa decidir qu´ acciones y qu´ estados
e e
relevantes se tienen que considerar.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 12 / 51
13. Para el problema del turista europeo
El estado actual del turista es la ciudad en que se encuentre en un
momento dado.
Una acci´n es manejar de una ciudad a otra.
o
El objetivo es llegar a Concepci´n.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 13 / 51
14. ¿Y c´mo se consigue el objetivo?
o
Si el turista no conoce las carreteras
Al no conocer las carreteras, lo mejor que puede hacer es tomar
cualquier ruta al azar, a ciegas.
No est´ definida la acci´n “preguntarle a un carabinero” qu´ caminos
a o e
ir tomando.
Si el turista dispone de un mapa carretero
Maneja informaci´n adicional.
o
Puede elegir el pr´ximo estado a visitar dependiendo de su ubicaci´n
o o
actual.
Puede hacer una estimaci´n de cu´nto le falta para llegar al objetivo.
o a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 14 / 51
15. Importante
Todo lo anterior recibe el nombre de b´squeda.
u
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 15 / 51
16. Formalizaci´n de un problema
o
Un problema es cualquier situaci´n real o abstracta que buscaremos
o
resolver mediante alguna t´cnica de IA.
e
La representaci´n que se utilice va a depender de la naturaleza del
o
problema.
A veces, una metodolog´ m´s especializada ayuda a que la resoluci´n
ıa a o
sea m´s eficiente.
a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 16 / 51
17. Formalizaci´n de un problema
o
Un problema lo podemos caracterizar de manera formal (no ambigua)
mediante tres conjuntos
P =< E, Φ, M >
E: estados
Un estado es la representaci´n elegida para los elementos de un
o
problema.
Elementos distinguidos:
El estado inicial, que identifica el punto de partida para la resoluci´n
o
del problema.
Los estados finales u objetivos que corresponden a las metas a
alcanzar.
Un estado de fracaso (o de error) denotado por ¶, asociado cuando
una operaci´n no est´ permitida a un estado determinado.
o a
¶ puede tener m´ltiples representaciones, que al final confluyen en este
u
s´
ımbolo.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 17 / 51
18. Formalizaci´n de un problema
o
Un problema lo podemos caracterizar de manera formal (no ambigua)
mediante tres conjuntos
P =< E, Φ, M >
Φ: operaciones o acciones
Un operador ∆ ∈ Φ es lo que permite ir de un estado a otro, es decir:
∆ : E −→ E
Por convenci´n diremos que
o
∀∆ ∈ Φ : ∆(¶) = ¶
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 18 / 51
19. Formalizaci´n de un problema
o
Un problema lo podemos caracterizar de manera formal (no ambigua)
mediante tres conjuntos
P =< E, Φ, M >
Φ: operaciones o acciones
La ecuaci´n ∆(x) = ¶ no necesariamente tiene soluci´n unica en E.
o o ´
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 19 / 51
20. Formalizaci´n de un problema
o
Un problema lo podemos caracterizar de manera formal (no ambigua)
mediante tres conjuntos
P =< E, Φ, M >
M: objetivos
Son todas las metas que persigue la resoluci´n del problema.
o
Si un problema tiene varias metas, cada una de estas se puede ver
como un problema por separado.
Claramente
M ⊆ E, M = φ
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 20 / 51
21. Formalizaci´n de un problema
o
test de objetivos
Es un predicado l´gico que indica si el estado que se est´ visitando
o a
actualmente corresponde al objetivo.
funci´n de costo
o
Le asigna un valor num´rico a cada camino de la b´squeda de la soluci´n.
e u o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 21 / 51
22. Ejemplos
Puzzle 8
Tablero con 9 posiciones, de las cuales 8 est´n numeradas del 1 al 8.
a
En cada celda hay una ficha y una siempre queda en blanco.
Las fichas se pueden mover traslad´ndose a la posici´n vac´ si es
a o ıa,
que ´sta es adyacente por izquierda, derecha, arriba o abajo,
e
intercambiando su posici´n con ella.
o
Ning´n movimiento debe permitir que una ficha salga del tablero, o
u
que llegue al otro extremo por arte de magia.
Tanto la configuraci´n inicial como la final son arbitrarias.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 22 / 51
23. Ejemplos
Puzzle 8
Modelar de manera algebraica este juego si suponemos que su estado
1 2 3 8 2
inicial es 4 5 6 y su objetivo es 4 7 6 .
7 8 3 5 1
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 23 / 51
24. Puzzle 8
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Definici´n de E
o
Cualquier estado se representa como una matriz cuadrada de orden 3
numerada del 1 al 8, dejando un espacio en blanco.
As´
ı:
1 2 3 1 2 3 1 2 3 1 2
E= 4 5 6 , 4 5 6 , 4 5 6 ,..., 3 4 5 ,¶
7 8 7 8 7 8 6 7 8
1 2 3
El estado inicial es 4 5 6 .
7 8
8 2
El estado final es 4 7 6 .
3 5 1
¿Cu´l es el tama˜o de E?
a n
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 24 / 51
25. Puzzle 8
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Definici´n de Φ
o
Si pensamos que s´lo vamos a mover la ficha en blanco, tenemos claro que
o
podemos hacerlo en cuatro direcciones posibles: arriba, abajo, izquierda,
derecha.
Si denotamos por D al conjunto de las direcciones posibles tenemos que
D = {↑, ↓, ←, →}
Entonces, a cada elemento d ∈ D le hacemos corresponder una funci´n
o
md : E −→ E
la ficha en blanco se mueve en la direcci´n dada por md
o
Por lo tanto:
Φ = {m↑ , m↓ , m← , m→ } = {md }d∈D
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 25 / 51
26. Puzzle 8
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Algunos ejemplos para m↑ , m↓ , m← , m→
3 1 2 3 1 2
m↑ 4 5 6 = 5 6
8 1 4 8 1
1 2 3
m↓ 4 5 6 = ¶
7 8
2 3 5
m ← 4 6 = ¶
7 8 1
2 3 5 2 3 5
m→ 7 4 6 = 7 4 6
8 1 8 1
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 26 / 51
27. Puzzle 8
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Definici´n de M
o
8 2
M= 4 7 6
3 5 1
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 27 / 51
28. Ejemplos
Las N reinas en el tablero de ajedrez
Para un n´mero natural N la idea es colocar N reinas en un tablero
u
de ajedrez de tama˜o N × N .
n
Sin que las reinas se maten entre s´
ı.
Veamos c´mo modelar este problema para N = 4.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 28 / 51
29. Las N = 4 reinas en el tablero de ajedrez
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Definici´n de E
o
Cada estado puede representar un tablero de ajedrez de orden 4.
4
0Z0Z
El estado inicial es el tablero vac´ sin reinas:
ıo,
3
Z0Z0
2
0Z0Z
1
Z0Z0
a b c d
Otros posibles estados que puede tener este problema son:
4
0Z0Z 4
0Z0Z 4
0ZqZ 4
0ZqZ
3
Z0Z0 3
Z0Z0 3
l0Z0 3
l0Z0
2
0Z0Z 2
qZqZ 2
0Z0Z 2
0ZqZ
1
l0Z0 1
Z0Z0 1
ZqZ0 1
ZqZ0
a b c d a b c d a b c d a b c d
¿D´nde aparece ¶?, ¿cu´ntos elementos tiene E?
o a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 29 / 51
30. Las N = 4 reinas en el tablero de ajedrez
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Definici´n de Φ
o
Un operador consiste en colocar una sola reina en alguna casilla del
tablero.
Por ejemplo, poner una reina en la casilla a4.
Algunas consideraciones:
la reina a colocar no debe estar previamente inscrita en el tablero y
el efecto de incluirla no provoque que se mate con las otras que hayan.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 30 / 51
31. Las N = 4 reinas en el tablero de ajedrez
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Formalizaci´n de los operadores de Φ
o
La posici´n de una reina viene dada por dos coordenadas:
o
una letra entre a y d para denotar la columna en que est´
a
un n´mero entre 1 y 4 para denotar la fila en que est´
u a
Definamos A = {a, b, c, d} y B = {1, 2, 3, 4}.
Por lo tanto, una coordenada para una reina es un elemento
(a, b) ∈ A × B.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 31 / 51
32. Las N = 4 reinas en el tablero de ajedrez
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Ya conocemos A = {a, b, c, d} y B = {1, 2, 3, 4}
A cada elemento (a, b) ∈ A × B se hacemos corresponder un operador
rab : E −→ E
rab : colocar una reina en la posici´n (a, b) del tablero.
o
Por lo tanto:
Φ = {rij : (i, j) ∈ A × B}
= {ra1 , ra2 , ra3 , ra4 , rb1 , . . . , rd4 }
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 32 / 51
33. Las N = 4 reinas en el tablero de ajedrez
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Algunos ejemplos de rab (e) = e
rij e e
4
0Z0Z 4
0Z0Z
3
Z0Z0 3
Z0Z0
2
0Z0Z 2
0Z0Z
ra1 1
Z0Z0 1
l0Z0
a b c d a b c d
4
0Z0Z 4
0Z0Z
3
l0Z0 3
l0Z0
2
0ZqZ 2
0ZqZ
rb1 1
Z0Z0 1
ZqZ0 (¶)
a b c d a b c d
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 33 / 51
34. Las N = 4 reinas en el tablero de ajedrez
Sea P =< E, Φ, M > la representaci´n del problema. . .
o
Definici´n de M
o
Este es un problema donde el estado final no se puede escribir
expl´
ıcitamente como en el ejemplo anterior.
Se puede demostrar que ∀N ≥ 4 el problema de las N reinas tiene
soluci´n.
o
Por lo tanto, M = φ.
La forma de hallarla puede ser a trav´s de un algoritmo de b´squeda.
e u
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 34 / 51
35. Otros problemas de la vida real
B´squeda de una ruta viajera.
u
Vendedor viajero.
Navegaci´n de un robot.
o
Secuencia de ensamblado autom´tico.
a
B´squeda en Internet.
u
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 35 / 51
36. ¿Qu´ vimos la clase pasada?
e
Definici´n de problema.
o
Elementos de un problema.
Un par de ejemplos de representaci´n algebraica.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 36 / 51
37. Juego de los misioneros y can´
ıbales
Modele algebraicamente este problema
Tenemos tres misioneros y tres can´
ıbales en la orilla de un r´
ıo.
Deben cruzar a la otra orilla utilizando un bote que s´lo puede llevar
o
a dos personas.
En ning´n momento el n´mero de misioneros en una orilla puede ser
u u
menor al n´mero de can´
u ıbales, ya que pueden ser devorados por estos
ultimos.
´
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 37 / 51
38. Temas a tratar
´
Arboles de b´squeda.
u
Conceptos asociados con los ´rboles de b´squeda.
a u
Algoritmo general de b´squeda.
u
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 38 / 51
39. Presentaci´n
o
Sabemos c´mo plantear un problema.
o
¿C´mo lo resolvemos?
o
Mediante una exploraci´n del espacio de estados.
o
El ´rbol de b´squeda es la estructura de datos que permite hacer el
a u
escaneo y se construye a partir del espacio de estados.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 39 / 51
40. Presentaci´n
o
En l´
ıneas generales, se parte del estado inicial del ´rbol de b´squeda
a u
y se va evaluando cada operaci´n posible hasta llegar a la soluci´n del
o o
problema, respetando en todo momento las restricciones del mismo.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 40 / 51
41. Importante
Las acciones que lleguen a ¶ deben evitarse siempre.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 41 / 51
42. Espacio de estados
El espacio de estados se puede representar como un grafo donde:
cada nodo corresponde a un estado del problema,
los arcos (aristas) representan la aplicaci´n de un operador.
o
Si f ∈ Φ y para alg´n x ∈ E : f (x) = y, la representaci´n gr´fica de
u o a
esto es:
f
x y
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 42 / 51
43. Espacio de estados
v1 NODO INICIAL
o1 o2
v2 v3
o1 o1
o1
o2 NODOS
INTERMEDIOS
o2
o2
o2
v4 v5 v6
o1 o2 o1
v7 v8 v9
NODOS OBJETIVOS
01, 02 01, 02
01, 02
NODO DE FRACASO
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 43 / 51
44. Espacio de estados
Identifique todos los elementos del espacio de estados de la figura
anterior:
conjunto de estados E
conjunto de operadores Φ
para cada operador ∆ ∈ Φ indique en una tabla el valor de ∆(x), x ∈ E
conjunto de objetivos M
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 44 / 51
46. ´
Arboles de b´squeda
u
Las definiciones de nodo y arco son las mismas que ocupamos para
explicar el espacio de estados.
Recordar que en un ´rbol
a
existe un unico camino entre cada par de nodos y
´
no hay ciclos.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 46 / 51
47. ´
Arboles de b´squeda
u
Conceptos particulares
La ra´ del ´rbol corresponde al estado inicial.
ız a
La expansi´n de un nodo es el proceso que permite encontrar sus
o
sucesores inmediatos.
Los sucesores de un nodo reciben el nombre de hijos.
El objetivo es un nodo terminal del ´rbol que se recibe el nombre de
a
hoja.
RAÍZ
NODO N
NODOS SUCESORES DE N
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 47 / 51
48. Esquema general de b´squeda
u
Elementos principales
La lista ABIERTO contiene a los estados que han sido generados pero
no explorados, lo que quiere decir que hasta el momento no se saben
si son estado final ni cu´les son sus estados sucesores (o hijos) dentro
a
del ´rbol de b´squeda.
a u
La lista CERRADO guarda todos los estados que ya se han visitado.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 48 / 51
49. Esquema general de b´squeda
u
Entrada: representaci´n del espacio de estados
o
Salida: ´xito o fracaso
e
1: Crear el ´rbol de b´squeda T con X como nodo inicial
a u
2: ABIERTO ← [X]
3: CERRADO ← []
4: mientras ABIERTO = [] hacer
5: remover un estado X del conjunto ABIERTO
6: si X es un estado objetivo entonces
7: retornar ´xito: camino hasta X en T
e
8: sino
9: generar el conjunto de sucesores admisibles del estado X
10: agregar X al conjunto CERRADO
11: eliminar los sucesores que est´n en ABIERTO o en CERRADO
e
12: agregar el resto de los sucesores al conjunto ABIERTO
13: incorporar los sucesores que queden de X en el ´rbol T creando los arcos
a
correspondientes
14: fin si
15: fin mientras
16: retornar fracaso
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 49 / 51
50. Esquema general de b´squeda
u
En la l´
ınea 11 del algoritmo general de b´squeda, el hecho de
u
eliminar los sucesores que est´n en ABIERTO o en CERRADO evita
e
caer en ciclos, para que no sean considerados de nuevo.
Dependiendo del orden en que se traten los elementos de ABIERTO,
se obtienen diferentes tipos de recorrido.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 50 / 51
51. Fin de la Unidad 2
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 51 / 51