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 / 111
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 / 111
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 / 111
4. 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 4 / 111
5. 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 5 / 111
6. Importante
Las acciones que lleguen a ¶ deben evitarse siempre.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 6 / 111
7. 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 7 / 111
8. 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 8 / 111
9. 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 9 / 111
11. ´
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 11 / 111
12. ´
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 12 / 111
13. 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 13 / 111
14. 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 14 / 111
15. 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 15 / 111
16. 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 16 / 111
17. 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 17 / 111
18. 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 18 / 111
19. Espacio de estados
Importante
Independiente de cu´l sea P =< E, Φ, M >, estableceremos que
a
(∀m ∈ M)(∀∆ ∈ Φ) : ∆(m) = m
¿C´mo se traduce al espa˜ol el comentario de arriba?
o n
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 19 / 111
20. ´
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 20 / 111
21. ´
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 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 21 / 111
22. 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 22 / 111
23. 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 23 / 111
24. 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 24 / 111
25. M´tricas para medir el rendimiento de una soluci´n
e o
Completitud. El algoritmo es completo si es capaz de hallar la soluci´n del
o
problema.
Complejidad temporal. Se refiere al costo en tiempo que tarde la ejecuci´n
o
del algoritmo para encontrar la soluci´n – si es que puede
o
hacerlo – en funci´n del tama˜o de la entrada.
o n
Complejidad espacial. Es el espacio requerido para almacenar los nodos
que est´n o se hayan explorado.
e
Optimalidad. Si es capaz de encontrar la mejor soluci´n de acuerdo a
o
alg´n criterio de costo determinado.
u
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 25 / 111
26. M´tricas para medir el rendimiento de una soluci´n
e o
Elementos que intervienen en la complejidad
Complejidad temporal
1 Factor de ramificaci´n (b): corresponde al m´ximo n´mero de
o a u
sucesores de cualquier nodo.
2 Profundidad (d): es la distancia a la que se encuentra el nodo
objetivo m´s superficial.
a
3 Longitud m´xima del camino (m): es la profundidad m´xima en el
a a
´rbol de b´squeda.
a u
Complejidad espacial
Se mide en funci´n del tama˜o m´ximo que alcancen los conjuntos
o n a
ABIERTO y CERRADO durante el proceso de b´squeda.
u
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 26 / 111
27. Costo total de una b´squeda
u
Entonces, el costo de hacer una b´squeda se mide en t´rminos:
u e
del tiempo de ejecuci´n de la b´squeda
o u
la cantidad de memoria que utilice.
Por lo tanto, el costo total de la soluci´n es igual a
o
tiempo de b´squeda + costo del camino
u
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 27 / 111
28. ¿Qu´ vimos la clase pasada?
e
Elementos principales de los algoritmos de b´squeda.
u
M´tricas para evaluar el rendimiento de los m´todos de b´squeda.
e e u
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 28 / 111
29. Hoy veremos
Estrategias de b´squeda
u
en particular m´todos no informados, como algoritmos que operan en
e
profundidad y en amplitud.
Comparaci´n entre ambos m´todos.
o e
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 29 / 111
30. Estrategias de B´squeda
u
Trabajaremos con dos esquemas:
B´squeda no informada
u
No hay informaci´n adicional sobre los estados.
o
S´lo se utiliza la definici´n del problema.
o o
Sigue un orden de exploraci´n del espacio de estados de acuerdo a su
o
estructura.
B´squeda informada
u
Utilizan una estimaci´n del costo o de la calidad de la soluci´n para
o o
guiar la b´squeda.
u
No sigue un orden espec´ ıfico para explorar el espacio de estados, sino
que se orientan por el criterio heur´
ıstico aplicado.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 30 / 111
31. Etapas del proceso de codificaci´n de la soluci´n
o o
independiente del esquema elegido
PROBLEMA
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 31 / 111
32. Etapas del proceso de codificaci´n de la soluci´n
o o
independiente del esquema elegido
abstracción EXPRESIÓN
PROBLEMA COMO ESPACIO
DE ESTADOS
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 32 / 111
33. Etapas del proceso de codificaci´n de la soluci´n
o o
independiente del esquema elegido
abstracción EXPRESIÓN
PROBLEMA COMO ESPACIO
DE ESTADOS
IMPLEMENTAC .
EN LENG . DE
PROGRAMACIÓN
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 33 / 111
34. Etapas del proceso de codificaci´n de la soluci´n
o o
independiente del esquema elegido
abstracción EXPRESIÓN
PROBLEMA COMO ESPACIO
DE ESTADOS
APLICACIÓN IMPLEMENTAC .
ALGORITMO EN LENG . DE
BÚSQUEDA PROGRAMACIÓN
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 34 / 111
35. Etapas del proceso de codificaci´n de la soluci´n
o o
independiente del esquema elegido
abstracción EXPRESIÓN
PROBLEMA COMO ESPACIO
DE ESTADOS
APLICACIÓN IMPLEMENTAC.
ALGORITMO EN LENG . DE
BÚSQUEDA PROGRAMACIÓN
interpretación
SOLUCIÓN
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 35 / 111
36. B´squeda no informada
u
Veremos dos t´cnicas:
e
1 B´squeda en profundidad.
u
2 B´squeda en anchura.
u
La diferencia entre uno y otro es la manera en la cual se administre el
orden de visita de los nodos del conjunto ABIERTO.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 36 / 111
37. B´squeda en Profundidad
u
Se le conoce como depth-first search.
El conjunto ABIERTO se maneja como una lista tipo LIFO:
last in, first out
los elementos de ABIERTO se tratan como a una pila.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 37 / 111
38. B´squeda en Profundidad
u
De manera m´s informal, este algoritmo opera as´
a ı:
Se comienza en el nodo ra´
ız
Despu´s se expanden todos los hijos
e
A continuaci´n se expanden los hijos de los hijos avanzando en
o
profundidad
. . . y as´ sucesivamente
ı
En l´
ıneas generales, se visitan primero los ultimos nodos en ser
´
generados.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 38 / 111
39. Algoritmo de B´squeda en Profundidad
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 el primer elemento X del conjunto ABIERTO
6: si X es un estado objetivo entonces
7: retornar ´xito: camino en T hasta X
e
8: sino
9: generar el conjunto de sucesores admisibles del estado X
10: eliminar los sucesores que est´n en ABIERTO o en CERRADO
e
11: agregar X al conjunto CERRADO
12: agregar el resto de los sucesores al principio del 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 39 / 111
40. Ejemplo
Traza del algoritmo de b´squeda en profundidad
u
Consideremos, para simplificar, el siguiente espacio de estados donde 1 es
el nodo de inicio y 8 el objetivo:
2 6
1 4 5 8
3 7
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 40 / 111
41. Ejemplo
Traza del algoritmo de b´squeda en profundidad
u
El seguimiento que haremos se har´ a trav´s de una tabla cuyas columnas
a e
ser´n las variables que intervienen en la concepci´n del algoritmo:
a o
Lista de estados ABIERTO (sin explorar a´n).
u
Lista de estados CERRADOS (ya explorados).
X, que hace las veces del primer elemento de ABIERTO.
Conjunto de sucesores de X
los hijos de X los ordenaremos por nombre en forma ascendente.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 41 / 111
42. Ejemplo
Traza del algoritmo de b´squeda en profundidad
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
[1] [] 1 2-3
1 [] [1]
[2 3]
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2
1
3
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 42 / 111
43. Ejemplo
Traza del algoritmo de b´squeda en profundidad
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
2 [3] [1 2] 2 4-6
[4 6 3]
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4
3
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 43 / 111
44. Ejemplo
Traza del algoritmo de b´squeda en profundidad
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
3 [6 3] [1 2 4] 4 5
[5 6 3]
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4 5
3
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 44 / 111
45. Ejemplo
Traza del algoritmo de b´squeda en profundidad
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
4 [6 3] [1 2 4 5] 5 6-7
[7 6 3] 7
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4 5
3 7
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 45 / 111
46. Ejemplo
Traza del algoritmo de b´squeda en profundidad
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
5 [6 3] [1 2 4 5 7] 7 8
[8 6 3]
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4 5 8
3 7
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 46 / 111
47. Ejemplo
Traza del algoritmo de b´squeda en profundidad
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
6 [6 3] 8
El camino final se muestra con flechas m´s gruesas:
a
2 6
1 4 5 8
3 7
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 47 / 111
48. B´squeda en Anchura
u
Se le conoce tambi´n como b´squeda en amplitud o breadth-first
e u
search.
El conjunto ABIERTO se maneja como una lista FIFO:
first in, first out
se maneja como una fila.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 48 / 111
49. B´squeda en Anchura
u
El recorrido que del espacio de estados lo hace por niveles de
profundidad, de manera que un nodo se visita solamente cuando
todos sus predecesores y sus hermanos anteriores en orden de
generaci´n ya se han visitado.
o
NODO INICIAL
NIVEL 0
NIVEL 1
NIVEL 2
OBJETIVO NIVEL 3
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 49 / 111
50. B´squeda en Anchura
u
Se comienza en el nodo ra´
ız.
Despu´s se expanden todos los hijos.
e
A continuaci´n se expanden todos los hijos de los hijos.
o
. . . y as´ sucesivamente
ı
se expanden todos los nodos de un nivel antes de expandir el pr´ximo.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 50 / 111
51. Algoritmo de B´squeda en Anchura
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 el primer elemento X del conjunto ABIERTO
6: si X es un estado objetivo entonces
7: retornar ´xito: camino en T hasta X
e
8: sino
9: generar el conjunto de sucesores admisibles del estado X
10: eliminar los sucesores que est´n en ABIERTO o en CERRADO
e
11: agregar X al conjunto CERRADO
12: agregar el resto de los sucesores al final del 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 51 / 111
52. Ejemplo
traza del algoritmo de b´squeda en anchura
u
Consideremos nuevamente el espacio de estados del ejemplo anterior
2 6
1 4 5 8
3 7
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 52 / 111
53. Ejemplo
traza del algoritmo de b´squeda en anchura
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
[1] [] 1 2-3
1 [] [1]
[2 3]
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2
1
3
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 53 / 111
54. Ejemplo
traza del algoritmo de b´squeda en anchura
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
2 [3] [1 2] 2 4-6
[3 4 6]
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4
3
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 54 / 111
55. Ejemplo
traza del algoritmo de b´squeda en anchura
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
3 [4 6] [1 2 3] 3 4-5-7
[4 6 5 7] 5-7
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4 5
3 7
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 55 / 111
56. Ejemplo
traza del algoritmo de b´squeda en anchura
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
4 [6 5 7] [1 2 3 4] 4 5
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4 5
3 7
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 56 / 111
57. Ejemplo
traza del algoritmo de b´squeda en anchura
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
5 [5 7] [1 2 3 4 6] 6 7-8
[5 7 8] 8
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4 5
3 7 8
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 57 / 111
58. Ejemplo
traza del algoritmo de b´squeda en anchura
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
6 [7 8] [1 2 3 4 6 5] 5 6-7
——
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4 5
3 7 8
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 58 / 111
59. Ejemplo
traza del algoritmo de b´squeda en anchura
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
7 [8] [1 2 4 5 6 5 7] 7 8
Evoluci´n del ´rbol de b´squeda parcial:
o a u
2 6
1 4 5
3 7 8
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 59 / 111
60. Ejemplo
traza del algoritmo de b´squeda en anchura
u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
8 [] 8
El camino final se muestra con flechas m´s gruesas:
a
2 6
1 4 5
3 7 8
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 60 / 111
61. /* Comentario */
Los ejemplos de seguimiento que hemos hecho hasta el momento han
contemplado s´lo un grafo en donde hemos encubierto las
o
operaciones que permiten ir de un estado a otro.
Esto era solamente para que se entienda bien el esp´
ıritu de los
algoritmos que se han revisado.
A continuaci´n veremos un ejemplo donde el grafo ya no lo vamos a
o
tener listo como el de los ejemplos anteriores, sino que va a ser
necesario ir generando los nodos siguiendo un orden de aplicaci´n de
o
operadores.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 61 / 111
62. Ejemplo
Puzzle 4
Consideremos una adaptaci´n del puzzle 8 conocida como el puzzle
o
4, el cual sigue las mismas reglas con las mismas operaciones, tal
como fueron definidas para su hom´logo.
o
Encuentre una soluci´n para este problema usando b´squeda en
o u
profundidad, indicando la secuencia de operaciones a realizar,
sabiendo que los estados inicial y final son, respectivamente:
1 2 3 1
3 2
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 62 / 111
64. Ejemplo
Puzzle 4
De acuerdo a este esquema, el estado inicial queda seteado como el
n´mero 1 y el objetivo como el 5.
u
El orden que se va a establecer para encontrar los sucesores de cada
estado va a estar dado por:
m→ m← m↑ m↓
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 64 / 111
65. /* Comentario */
Importante
El criterio que se elija para establecer la secuencia de
operadores es completamente arbitrario.
lo que implica el orden en que se generen los sucesores de
cualquier nodo del ´rbol
a
Una vez establecido, se debe respetar en todo momento.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 65 / 111
66. Ejemplo
Puzzle 4
Entenderemos que para cualquier estado, sus nodos sucesores
admisibles son aquellos que sean distintos de ¶.
Veamos, por ejemplo, cu´les son los estados sucesores admisibles para
a
1 2
el nodo inicial de acuerdo al orden de operadores establecido:
3
1 2
1 m→ = ¶ pues no podemos salir del tablero.
3
1 2 1 2
2 m← =
3 3
1 2 1
3 m↑ =
3 3 2
1 2
4 m↓ = ¶ pues no podemos salir del tablero.
3
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 66 / 111
67. Ejemplo
Puzzle 4
Por lo tanto, de acuerdo al orden que nos dan las funciones md , el orden
1 2
de los sucesores admisibles para es:
3
1 2 1
(7) ∧ (14)
3 2 3
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 67 / 111
68. Puzzle 4
traza de soluci´n usando b´squeda en profundidad
o u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
1 [1] [] 1 7-14
[7 14] [1]
Evoluci´n del ´rbol de b´squeda parcial:
o a u
m 7
1
m 14
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 68 / 111
69. Puzzle 4
traza de soluci´n usando b´squeda en profundidad
o u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
2 [14] [1 7] 7 1-21
[21 14] 21
Evoluci´n del ´rbol de b´squeda parcial:
o a u
m
m 7 21
1
m 14
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 69 / 111
70. Puzzle 4
traza de soluci´n usando b´squeda en profundidad
o u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
3 [14] [1 7 21] 21 15-7
[15 14] 15
Evoluci´n del ´rbol de b´squeda parcial:
o a u
m m
m 7 21 15
1
m 14
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 70 / 111
71. Puzzle 4
traza de soluci´n usando b´squeda en profundidad
o u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
4 [14] [1 7 21 15] 15 21-7
——
Evoluci´n del ´rbol de b´squeda parcial:
o a u
m m
m 7 21 15
1
m 14
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 71 / 111
72. Puzzle 4
traza de soluci´n usando b´squeda en profundidad
o u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
5 [] [1 7 21 15 14] 14 20
[20]
Evoluci´n del ´rbol de b´squeda parcial:
o a u
m m
m 7 21 15
1
m
m 14 20
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 72 / 111
73. Puzzle 4
traza de soluci´n usando b´squeda en profundidad
o u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
6 [] [1 7 21 15 14 20] 20 14-11
[11] 11
Evoluci´n del ´rbol de b´squeda parcial:
o a u
m m
m 7 21 15
1
m
m
m 14 20 11
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 73 / 111
74. Puzzle 4
traza de soluci´n usando b´squeda en profundidad
o u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
7 [] [1 7 21 15 14 20 11] 11 5-20
[5] 5
Evoluci´n del ´rbol de b´squeda parcial:
o a u
m m
m 7 21 15
1
m
m
m 14 20 11
m
5
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 74 / 111
75. Puzzle 4
traza de soluci´n usando b´squeda en profundidad
o u
Tabla de traza del algoritmo:
No. Iteraci´n
o ABIERTO CERRADO X Sucesores de X
8 [] 5
Evoluci´n del ´rbol de b´squeda parcial:
o a u
m m
m 7 21 15
1
m
m
m 14 20 11
m
5
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 75 / 111
76. /* Comentario */
Puzzle 4
De la iteraci´n 8, se observa que el camino que conduce del estado 1
o
al 5 es
1 m↑ 14 m← 20 m↓ 11 m→ 5
Atendiendo a la numeraci´n que ten´ los estados, este camino
o ıan
podemos representarlo gr´ficamente como:
a
m m
1 2 1 1
3 3 2 3 2
1
(1) (14) (20)
m
m
3 1 3 1
2 2
(5) (11)
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 76 / 111
77. B´squeda en Profundidad vs B´squeda en Anchura
u u
Criterio: Completitud
En profundidad, el algoritmo encuentra una soluci´n si se impone
o
una profundidad l´
ımite y existe una soluci´n dentro de ese l´
o ımite.
En anchura, el algoritmo siempre encuentra una soluci´n en caso de
o
haberla.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 77 / 111
78. B´squeda en Profundidad vs B´squeda en Anchura
u u
Criterio: Complejidad Temporal
En profundidad, si tomamos como medida del costo el n´mero de
u
nodos explorados, el costo es exponencial respecto al factor de
ramificaci´n r y la profundidad del l´
o ımite de exploraci´n m, nos da
o
O(rm ).
En anchura, si tomamos como medida del costo el n´mero de nodos
u
explorados, este crece de manera exponencial respecto al factor de
ramificaci´n r y la profundidad m de la soluci´n: O(rm ).
o o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 78 / 111
79. B´squeda en Profundidad vs B´squeda en Anchura
u u
Criterio: Complejidad Espacial
En profundidad, el costo es lineal respecto al factor de ramificaci´n r
o
ımite de profundidad m, es decir O(rm).
y el l´
En anchura, Dado que tenemos que almacenar todos los nodos
pendientes por explorar, el costo es exponencial respecto al factor de
ramificaci´n y la profundidad de la soluci´n: O(rm ).
o o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 79 / 111
80. B´squeda en Profundidad vs B´squeda en Anchura
u u
Criterio: Optimalidad
En profundidad, no se garantiza que la soluci´n sea ´ptima, la
o o
soluci´n que se retornar´ ser´ la primera en el orden de exploraci´n.
o a a o
En anchura, la soluci´n obtenida es ´ptima respecto al n´mero de
o o u
pasos desde la ra´ Si los operadores de b´squeda tienen costo
ız. u
uniforme,el costo de la soluci´n ser´ el ´ptimo.
o ıa o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 80 / 111
81. B´squeda informada
u
La b´squeda no informada comete el error de ser muy ineficiente.
u
Al no depender del problema para el cual se est´n aplicando, operan
e
en cierta medida a ciegas.
El objetivo de las estrategias de b´squeda informadas es que
u
incorporen informaci´n particular del problema para resolverlo:
o
se gana en eficiencia
se evita el uso de recorridos innecesarios en el espacio de estados.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 81 / 111
82. B´squeda informada
u
A diferencia de los m´todos no informados, la idea va a ser encontrar
e
alg´n v´rtice que presente ventajas comparativas sobre los otros
u e
candidatos:
uno que en cierta etapa presente mayores posibilidades de abrir
caminos que lleven a la soluci´n.
o
Este v´rtice m´s promisor puede ser obtenido asociando un costo a
e a
cada regla, lo que determina una funci´n de evaluaci´n
o o
f : E −→ R+
0
que ya veremos.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 82 / 111
83. B´squeda informada
u
En esta clase de algoritmos, se retira el concepto de aplicabilidad de
reglas y se reemplaza por el de costo asociado a una regla, de tal
manera que la funci´n f ayude a encontrar el pr´ximo estado en ser
o o
expandido.
El m´todo que veremos en esta etapa recibe el nombre A*.
e
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 83 / 111
84. Algoritmo A*
A-estrella
Es muy similar a la b´squeda en profundidad.
u
En este algoritmo la funci´n de evaluaci´n f la calculamos a partir de
o o
la suma de dos funciones
g, h : E −→ R+
0
de tal manera que para un estado n ∈ E:
g mide el costo acumulado en el ´rbol de exploraci´n para ir de la ra´
a o ız
(nodo inicial) al nodo n (no necesariamente el ´ptimo).
o
h representa una estimaci´n del costo m´s barato para ir del estado n
o a
hasta el objetivo.
h recibe el nombre de funci´n heur´
o ıstica.
Si p es un estado objetivo, entonces h(p) = 0.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 84 / 111
85. Algoritmo A*
A-estrella
Importante
De esta manera:
∀n ∈ E : f (n) = g(n) + h(n)
f mide la distancia que hay de la ra´ hasta el objetivo pasando
ız
por el nodo n.
Por lo tanto, se prefieren los valores m´s bajos.
a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 85 / 111
86. Algoritmo A* I
Entrada: representaci´n del espacio de estados, estrategia de soluci´n
o o
Salida: ´xito o fracaso
e
1: Crear el grafo de b´squeda T con X como nodo inicial
u
2: ABIERTO ← [X]
3: CERRADO ← []
4: mientras ABIERTO = [] hacer
5: remover el primer nodo X de ABIERTO
6: colocar X en CERRADO
7: si X es un estado objetivo entonces
8: retornar ´xito: camino hasta X en T
e
9: sino
10: generar el conjunto de sucesores del estado X
11: ordenar los sucesores en orden creciente de acuerdo a los valores actualizados
de f
12: incluir los sucesores de X en T con los arcos correspondientes
13: para cada Y en sucesores hacer
14: si Y no est´ en ABIERTO ni en CERRADO entonces
a
15: agregar Y en la lista ABIERTO
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 86 / 111
87. Algoritmo A* II
16: actualizar la lista ABIERTO en orden creciente seg´n los valores de f
u
manteniendo el de menor valor
17: fin si
18: si Y est´ en ABIERTO entonces
a
19: si el nuevo camino a Y es m´s corto entonces
a
20: actualizar el camino almacenado en ABIERTO en forma creciente
seg´n los valores de f manteniendo el de menor valor
u
21: fin si
22: fin si
23: si Y est´ en CERRADO entonces
a
24: si el nuevo camino a Y es m´s corto entonces
a
25: remover Y de CERRADO
26: agregar Y en ABIERTO
27: fin si
28: fin si
29: fin para
30: fin si
31: fin mientras
32: retornar fracaso
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 87 / 111
88. Algoritmo A*
A-estrella
Por notaci´n, al elaborar el ´rbol de b´squeda, al lado de cada nodo n
o a u
colocaremos expl´ıcitamente g(n) + h(n).
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 88 / 111
89. Algoritmo A* - Ejemplo
parte del mapa de Rumania
71
Zerind Oradea
75
151
140 99
Arad Sibiu Fagaras
118
Timisoara 80
111 211
Rimnicu
Lugoj Vilcea
97
70 Pitesti 101
146
Mehadia
Bucharest
138
Craiova
75
Dobreta
120
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 89 / 111
90. Algoritmo A*
Ejemplo de traza del algoritmo
Los nodos representan ciudades y las aristas vienen rotuladas con el
costo para ir de un lugar a otro.
Se pide encontrar el costo m´
ınimo y el camino que se debe seguir
para ir de Arad hasta Bucarest ocupando el algoritmo A*.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 90 / 111
91. De Arad a Bucharest I
traza de A*
En todo problema donde intervengan estrategias de b´squeda informadas,
u
debemos considerar la funci´n heur´
o ıstica.
En este caso, podemos considerar como heur´ıstica la distancia que hay en l´
ınea
recta para ir desde una ciudad n hasta Bucharest. As´ı:
h(n) = distancia en l´
ınea recta desde n hasta Bucharest
Los valores se resumen en esta tabla:
Ciudad n h(n) Ciudad n h(n)
Arad 366 Oradea 380
Bucharest 0 Pitesti 100
Craiova 160 Rimnicu Vilcea 193
Dobreta 242 Sibiu 253
Fagaras 176 Timisoara 329
Lugoj 244 Zerind 374
Mehadia 241
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 91 / 111
92. De Arad a Bucharest II
traza de A*
Haremos en detalle las dos primeras iteraciones del algoritmo.
Una iteraci´n habr´ finalizado cada vez que se salga del ciclo mientras de A*
o a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 92 / 111
93. De Arad a Bucharest III
traza de A*
Iteraci´n 1.
o
El nodo X tiene el valor Arad porque es el estado inicial del problema. Luego:
ABIERTO = [Arad]
CERRADO = []
Como ABIERTO no es igual a [], removemos el primer nodo que tiene, en este
caso X=Arad y lo colocamos en CERRADO.
De esta manera, los valores actuales que toman estas listas son
ABIERTO = []
CERRADO = [Arad]
Como X=Arad no es el estado objetivo, procedemos a hallar sus sucesores:
Timisoara
Zerind
Sibiu
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 93 / 111
94. De Arad a Bucharest IV
traza de A*
Para ordenarlos, debemos evaluar la funci´n f en cada uno de ellos y luego
o
reescribirlos de menor a mayor:
f (Timisoara) = g(Timisoara) + h(Timisoara)
= 118 + 329
= 447
f (Zerind) = g(Zerind) + h(Zerind)
= 75 + 374
= 449
f (Sibiu) = g(Sibiu) + h(Sibiu)
= 140 + 253
= 393
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 94 / 111
95. De Arad a Bucharest V
traza de A*
De esta manera, los sucesores de X los anotamos en este orden:
Sibiu Timisoara Zerind
Arad
140+253 75+374
Sibiu 118+329 Timisoara Zerind
Ahora hay que hacer el tratamiento de los nodos sucesores de X:
Nodo Y Nuevo f (Y) Actualizaci´n de ABIERTO
o
Sibiu 393 [Sibiu]
Timisoara 447 [Sibiu Timisoara]
Zerind 449 [Sibiu Timisoara Zerind]
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 95 / 111
96. De Arad a Bucharest VI
traza de A*
Con esto termina la primera iteraci´n. Hasta el momento:
o
ABIERTO = [Sibiu Timisoara Zerind]
CERRADO = [Arad]
Iteraci´n 2.
o
El primer nodo X de ABIERTO es Sibiu.
Tras retirarlo y colocarlo en CERRADO, ambas listas quedan as´
ı:
ABIERTO = [Timisoara Zerind]
CERRADO = [Arad Sibiu]
Como X=Sibiu no es estado final, buscamos sus sucesores:
Arad (el hecho que est´ en CERRADO no significa que haya que
e
excluirlo como sucesor)
Oradea
Fagaras
Romnicu Vilcea
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 96 / 111
97. De Arad a Bucharest VII
traza de A*
Como g mide el costo acumulado que se lleva desde la ra´ hasta el nodo n
ız
debemos considerar que hasta el momento hemos expandido Arad y Sibiu, de tal
manera que g(Arad) es igual al costo del camino de Arad a Sibiu (140) m´s el
a
retorno de Sibiu a Arad (140).
As´ g(Arad)=280. Por lo tanto:
ı,
g(Oradea) = costo camino Arad - Sibiu - Oradea = 140 + 151 = 291
g(Fagaras) = costo camino Arad - Sibiu - Fagaras = 140 + 99 = 239
g(Romnicu Vilcea) = costo camino Arad - Sibiu - Romnicu Vilcea =
140 + 80 = 220
De esta manera, los valores actualizados de f para cada sucesor y ordenados de
manera creciente son:
f (Romnicu Vilcea) = 413
f (Fagaras) = 415
f (Oradea) = 646
f (Arad) = 671
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 97 / 111
98. De Arad a Bucharest VIII
traza de A*
El grafo de b´squeda se muestra a continuaci´n con los nodos actualizados:
u o
Arad
Sibiu 118+329 Timisoara Zerind 75+374
Romnicu
Vilcea Arad Fagaras Oradea 291+380
220+193 280+366 239+176
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 98 / 111
99. De Arad a Bucharest IX
traza de A*
De los sucesores de Sibiu, el unico que est´ en ABIERTO es Arad y mantenemos el
´ a
camino acumulado de menor valor en el grafo, que vale 140+253 = 393,
descart´ndose el “nuevo” Arad como nodo para explorar.
a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 99 / 111
100. De Arad a Bucharest X
traza de A*
¿Y el resto de las ciudades?
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 100 / 111
101. De Arad a Bucharest XI
traza de A*
Romnicu Vilcea
Arad
Sibiu 118+329 Timisoara Zerind 75+374
Romnicu Arad Fagaras Oradea 291+380
Vilcea
280+366 239+176
Sibiu Craiova Pitesti
300+253 366+160 315+100
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 101 / 111
102. De Arad a Bucharest XII
traza de A*
Fagaras
Arad
Sibiu 118+329 Timisoara Zerind 75+374
Romnicu Arad Fagaras Oradea 291+380
Vilcea
280+366
Sibiu Craiova Pitesti Sibiu Bucharest
300+253 366+160 315+100 338+253 450+0
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 102 / 111
103. De Arad a Bucharest XIII
traza de A*
Pitesti
Arad
Sibiu 118+329 Timisoara Zerind 75+374
Romnicu Arad Fagaras Oradea 291+380
Vilcea
280+366
Sibiu Craiova Pitesti Sibiu Bucharest
300+253 366+160 338+253 450+0
Romnicu Bucharest
Vilcea Craiova
414+193 418+0 455+160
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 103 / 111
104. De Arad a Bucharest XIV
traza de A*
Bucharest
Arad
Sibiu 118+329 Timisoara Zerind 75+374
Romnicu Arad Fagaras Oradea 291+380
Vilcea
280+366
Sibiu Craiova Pitesti Sibiu Bucharest
300+253 366+160 338+253 450+0
Romnicu
Vilcea Bucharest Craiova
414+193 455+160
418
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 104 / 111
105. De Arad a Bucharest XV
traza de A*
De esta manera, el costo del camino menor para llegar a Bucharest es igual a 418 y la
ruta a seguir est´ dada por
a
Arad Sibiu Romnicu Vicea Pitesti Bucharest
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 105 / 111
106. Admisibilidad
Un algoritmo de b´squeda se dice que es admisible si garantiza que pueda
u
encontrar el camino ´ptimo entre el estado inicial y el objetivo.
o
Una b´squeda basada en una funci´n de evaluaci´n heur´
u o o ıstica
f (n) = g(n) + h(n)
es admisible si h subestima el largo del camino m´
ınimo efectivo.
Es optimista, ya que “cree” que el costo para ir de un nodo n y el
objetivo es menor de lo que en realidad es.
Para demostrar que un algoritmo de b´squeda sea admisible, se define una
u
funci´n
o
f ∗ : E −→ R+
0
que entrega el largo del camino ´ptimo del nodo inicial a un nodo objetivo
o
pasando por n.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 106 / 111
107. Admisibilidad
A este tipo de funciones se les conoce como funciones or´culo porque
a
implica adivinar cu´l es el mejor camino sin recorrer el espacio de estados.
a
∀n ∈ E se define
f ∗ (n) = g ∗ (n) + h∗ (n)
en que
g ∗ (n) es el largo efectivo del camino ´ptimo del nodo inicial al nodo
o
n.
h∗ (n) es el largo efectivo desde n al objetivo.
Siempre se tiene que
∀n ∈ E : g(n) ≥ g ∗ (n)
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 107 / 111
108. Admisibilidad
Teorema.
Si ∀n ∈ E : h(n) ≤ h∗ (n) entonces la b´squeda heur´
u ıstica es admisible.
Demostraci´n
o
Supongamos por el contrario que
∀n ∈ E : h(n) ≤ h∗ (n)
y que la b´squeda heur´
u ıstica no es admisible bajo esa condici´n.
o
Sea q uno de los nodos objetivo del problema y supongamos que q fue generado a trav´s
e
de un camino de largo (o costo) l:
entonces f (q) = l
Como q fue el ultimo nodo en ser expandido, se tiene que ∀x ∈ ABIERTO: f (x) ≥ f (q)
´
por lo tanto, f (x) ≥ l
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 108 / 111
109. Admisibilidad
Demostraci´n (Cont.)
o
Pero, si el camino que lleva a q no es el optimo debiera existir alg´n nodo n en la lista
´ u
ABIERTO que se haya generado antes de expandir q y que est´ en el camino ´ptimo.
e o
Si n estuviera en el camino optimo entonces g(n) = g ∗ (n), de tal manera que
´
f (n) = g ∗ (n) + h(n)
Dado que hemos supuesto h(n) ≤ h∗ (n), entonces
[g ∗ (n) + h(n)] ≤ [g ∗ (n) + h∗ (n)] ⇐⇒ f (n) ≤ f ∗ (n)
Como dijimos que este algoritmo de b´squeda no era admisible, entonces el camino que
u
conduce a q no es el ´ptimo por lo que f ∗ (n) < l y as´ f (n) ≤ f ∗ (n) < l.
o ı
Esto nos conduce a que
f (n) < l
lo que genera una contradicci´n.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 109 / 111
110. Admisibilidad
Teorema.
Si la heur´
ıstica que se use es admisible, el algoritmo A* es ´ptimo si
o
no descartamos nodos.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 110 / 111
111. Fin de la Unidad 2
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 111 / 111