INTELIGENCIA ARTIFICIAL - ICIF0021Unidad 2 - Busqueda en Espacio de Estados
Docente: Milton A. Ramırez [email protected]
Universidad San SebastianFacultad de Ingenierıa y Tecnologıa
Primer Semestre 2011
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 1 / 111
Objetivos de la Unidad
Conocen la estructura general de un agente de busqueda.
Identifican los tipos de busqueda que existen y comprenden las diferencias entreambos enfoques.
Conocen las diferentes metricas que existen para evaluar el rendimiento de unalgoritmo determinado en funcion de parametros como completitud, optimalidad,complejidad temporal y complejidad espacial.
Realizan busquedas no informadas empleando las estrategias en anchura y enprofundidad.
Comprenden la problematica que tiene la busqueda no informada y entienden lanecesidad de contar con informacion adicional en un problema.
Resuelven problemas aplicando estrategias de busqueda informada con heurısticasadmisibles.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 2 / 111
Contenidos
1 Estructura de un espacio de estados.
2 Arboles de busqueda.
3 Algoritmo general de busqueda.
4 Busqueda no informada: por anchura y en profundidad.
5 Busqueda informada: A*.
6 Admisibilidad de heurısiticas.
7 Metricas para evaluar el rendimiento de una solucion.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 3 / 111
Presentacion
Sabemos como plantear un problema.
¿Como lo resolvemos?
Mediante una exploracion del espacio de estados.
El arbol de busqueda es la estructura de datos que permite hacer elescaneo y se construye a partir del espacio de estados.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 4 / 111
Presentacion
En lıneas generales, se parte del estado inicial del arbol de busqueday se va evaluando cada operacion posible hasta llegar a la solucion delproblema, respetando en todo momento las restricciones del mismo.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 5 / 111
ImportanteLas acciones que lleguen a ¶ deben evitarse siempre.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 6 / 111
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 aplicacion de un operador.Si f ∈ Φ y para algun x ∈ E : f(x) = y, la representacion grafica deesto es:
x yf
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 7 / 111
Espacio de estados
NODO INICIAL
NODOS OBJETIVOS
NODO DE FRACASO
NODOSINTERMEDIOS
o1 o2
o1o2
o1
o1
o1
o2 o2
o1
o2
01, 02
o2
01, 02 01, 02
v1
v2 v3
v4 v5 v6
v8 v9v7
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 8 / 111
Espacio de estados
Identifique todos los elementos del espacio de estados de la figuraanterior:
conjunto de estados Econjunto de operadores Φpara cada operador ∆ ∈ Φ indique en una tabla el valor de ∆(x), x ∈ Econjunto de objetivos M
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 9 / 111
ImportanteEs facil advertir en general que, independiente del problema P:
(∀m ∈M)(∀∆ ∈ Φ) : ∆(m) = m
Arboles de busqueda
Las definiciones de nodo y arco son las mismas que ocupamos paraexplicar el espacio de estados.
Recordar que en un arbol
existe un unico camino entre cada par de nodos yno hay ciclos.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 11 / 111
Arboles de busqueda
Conceptos particulares
La raız del arbol corresponde al estado inicial.
La expansion de un nodo es el proceso que permite encontrar sussucesores inmediatos.
Los sucesores de un nodo reciben el nombre de hijos.
El objetivo es un nodo terminal del arbol que se recibe el nombre dehoja.
NODO N
NODOS SUCESORES DE N
RAÍZ
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 12 / 111
Esquema general de busqueda
Elementos principales
La lista ABIERTO contiene a los estados que han sido generados perono explorados, lo que quiere decir que hasta el momento no se sabensi son estado final ni cuales son sus estados sucesores (o hijos) dentrodel arbol de busqueda.
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
Esquema general de busqueda
Entrada: representacion del espacio de estadosSalida: exito o fracaso1: Crear el arbol de busqueda T con X como nodo inicial2: ABIERTO ← [X]3: CERRADO ← []4: mientras ABIERTO 6= [] hacer5: remover un estado X del conjunto ABIERTO6: si X es un estado objetivo entonces7: retornar exito: camino hasta X en T8: sino9: generar el conjunto de sucesores admisibles del estado X
10: agregar X al conjunto CERRADO11: eliminar los sucesores que esten en ABIERTO o en CERRADO12: agregar el resto de los sucesores al conjunto ABIERTO13: incorporar los sucesores que queden de X en el arbol T creando los arcos
correspondientes14: fin si15: fin mientras16: retornar fracaso
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 14 / 111
Esquema general de busqueda
En la lınea 11 del algoritmo general de busqueda, el hecho deeliminar los sucesores que esten en ABIERTO o en CERRADO evitacaer 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
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 aplicacion de un operador.
X Si f ∈ Φ y para algun x ∈ E : f(x) = y, la representacion grafica deesto es:
x yf
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 16 / 111
Espacio de estados
NODO INICIAL
NODOS OBJETIVOS
NODO DE FRACASO
NODOSINTERMEDIOS
o1 o2
o1o2
o1
o1
o1
o2 o2
o1
o2
01, 02
o2
01, 02 01, 02
v1
v2 v3
v4 v5 v6
v8 v9v7
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 17 / 111
Espacio de estados
Identifique todos los elementos del espacio de estados de la figuraanterior:
conjunto de estados Econjunto de operadores Φpara cada operador ∆ ∈ Φ indique en una tabla el valor de ∆(x), x ∈ Econjunto de objetivos M
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 18 / 111
Espacio de estados
ImportanteIndependiente de cual sea P =< E ,Φ,M >, estableceremos que
(∀m ∈M)(∀∆ ∈ Φ) : ∆(m) = m
¿Como se traduce al espanol el comentario de arriba?
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 19 / 111
Arboles de busqueda
Las definiciones de nodo y arco son las mismas que ocupamos paraexplicar el espacio de estados.
Recordar que en un arbol
existe un unico camino entre cada par de nodos yno hay ciclos.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 20 / 111
Arboles de busqueda
Conceptos particulares
La raız del arbol corresponde al estado inicial.
La expansion de un nodo es el proceso que permite encontrar sussucesores inmediatos.
Los sucesores de un nodo reciben el nombre de hijos.
El objetivo es un nodo terminal del arbol que recibe el nombre dehoja.
NODO N
NODOS SUCESORES DE N
RAÍZ
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 21 / 111
Esquema general de busqueda
Elementos principales
La lista ABIERTO contiene a los estados que han sido generados perono explorados, lo que quiere decir que hasta el momento no se sabensi son estado final ni cuales son sus estados sucesores (o hijos) dentrodel arbol de busqueda.
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
Esquema general de busqueda
Entrada: representacion del espacio de estadosSalida: exito o fracaso1: Crear el arbol de busqueda T con X como nodo inicial2: ABIERTO ← [X]3: CERRADO ← []4: mientras ABIERTO 6= [] hacer5: remover un estado X del conjunto ABIERTO6: si X es un estado objetivo entonces7: retornar exito: camino hasta X en T8: sino9: generar el conjunto de sucesores admisibles del estado X
10: agregar X al conjunto CERRADO11: eliminar los sucesores que esten en ABIERTO o en CERRADO12: agregar el resto de los sucesores al conjunto ABIERTO13: incorporar los sucesores que queden de X en el arbol T creando los arcos
correspondientes14: fin si15: fin mientras16: retornar fracaso
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 23 / 111
Esquema general de busqueda
En la lınea 11 del algoritmo general de busqueda, el hecho deeliminar los sucesores que esten en ABIERTO o en CERRADO evitacaer 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
Metricas para medir el rendimiento de una solucion
Completitud. El algoritmo es completo si es capaz de hallar la solucion delproblema.
Complejidad temporal. Se refiere al costo en tiempo que tarde la ejecuciondel algoritmo para encontrar la solucion – si es que puedehacerlo – en funcion del tamano de la entrada.
Complejidad espacial. Es el espacio requerido para almacenar los nodosque esten o se hayan explorado.
Optimalidad. Si es capaz de encontrar la mejor solucion de acuerdo aalgun criterio de costo determinado.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 25 / 111
Metricas para medir el rendimiento de una solucionElementos que intervienen en la complejidad
Complejidad temporal
1 Factor de ramificacion (b): corresponde al maximo numero desucesores de cualquier nodo.
2 Profundidad (d): es la distancia a la que se encuentra el nodoobjetivo mas superficial.
3 Longitud maxima del camino (m): es la profundidad maxima en elarbol de busqueda.
Complejidad espacial
Se mide en funcion del tamano maximo que alcancen los conjuntosABIERTO y CERRADO durante el proceso de busqueda.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 26 / 111
Costo total de una busqueda
Entonces, el costo de hacer una busqueda se mide en terminos:
del tiempo de ejecucion de la busqueda
la cantidad de memoria que utilice.
Por lo tanto, el costo total de la solucion es igual a
tiempo de busqueda + costo del camino
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 27 / 111
¿Que vimos la clase pasada?
Elementos principales de los algoritmos de busqueda.
Metricas para evaluar el rendimiento de los metodos de busqueda.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 28 / 111
Hoy veremos
Estrategias de busqueda
X en particular metodos no informados, como algoritmos que operan enprofundidad y en amplitud.
Comparacion entre ambos metodos.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 29 / 111
Estrategias de Busqueda
Trabajaremos con dos esquemas:
Busqueda no informada
No hay informacion adicional sobre los estados.
Solo se utiliza la definicion del problema.
Sigue un orden de exploracion del espacio de estados de acuerdo a suestructura.
Busqueda informada
Utilizan una estimacion del costo o de la calidad de la solucion paraguiar la busqueda.
No sigue un orden especıfico para explorar el espacio de estados, sinoque se orientan por el criterio heurıstico aplicado.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 30 / 111
Etapas del proceso de codificacion de la solucionindependiente del esquema elegido
PROBLEMA
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 31 / 111
Etapas del proceso de codificacion de la solucionindependiente del esquema elegido
PROBLEMAEXPRESIÓN
COMO ESPACIODE ESTADOS
abstracción
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 32 / 111
Etapas del proceso de codificacion de la solucionindependiente del esquema elegido
PROBLEMAEXPRESIÓN
COMO ESPACIODE ESTADOS
abstracción
IMPLEMENTAC.EN LENG. DE
PROGRAMACIÓN
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 33 / 111
Etapas del proceso de codificacion de la solucionindependiente del esquema elegido
PROBLEMAEXPRESIÓN
COMO ESPACIODE ESTADOS
abstracción
IMPLEMENTAC.EN LENG. DE
PROGRAMACIÓN
APLICACIÓNALGORITMOBÚSQUEDA
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 34 / 111
Etapas del proceso de codificacion de la solucionindependiente del esquema elegido
PROBLEMAEXPRESIÓN
COMO ESPACIODE ESTADOS
abstracción
IMPLEMENTAC.EN LENG. DE
PROGRAMACIÓN
APLICACIÓNALGORITMOBÚSQUEDA
SOLUCIÓN
interpretación
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 35 / 111
Busqueda no informada
Veremos dos tecnicas:
1 Busqueda en profundidad.
2 Busqueda en anchura.
La diferencia entre uno y otro es la manera en la cual se administre elorden de visita de los nodos del conjunto ABIERTO.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 36 / 111
Busqueda en Profundidad
Se le conoce como depth-first search.
El conjunto ABIERTO se maneja como una lista tipo LIFO:
X last in, first outX los elementos de ABIERTO se tratan como a una pila.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 37 / 111
Busqueda en Profundidad
De manera mas informal, este algoritmo opera ası:
Se comienza en el nodo raız
Despues se expanden todos los hijos
A continuacion se expanden los hijos de los hijos avanzando enprofundidad
X . . . y ası sucesivamente
En lıneas generales, se visitan primero los ultimos nodos en sergenerados.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 38 / 111
Algoritmo de Busqueda en Profundidad
Entrada: representacion del espacio de estadosSalida: exito o fracaso1: Crear el arbol de busqueda T con X como nodo inicial2: ABIERTO ← [X]3: CERRADO ← []4: mientras ABIERTO 6= [] hacer5: remover el primer elemento X del conjunto ABIERTO6: si X es un estado objetivo entonces7: retornar exito: camino en T hasta X8: sino9: generar el conjunto de sucesores admisibles del estado X
10: eliminar los sucesores que esten en ABIERTO o en CERRADO11: agregar X al conjunto CERRADO12: agregar el resto de los sucesores al principio del conjunto ABIERTO13: incorporar los sucesores que queden de X en el arbol T creando los arcos
correspondientes14: fin si15: fin mientras16: retornar fracaso
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 39 / 111
EjemploTraza del algoritmo de busqueda en profundidad
Consideremos, para simplificar, el siguiente espacio de estados donde 1 esel nodo de inicio y 8 el objetivo:
5111
3 7
6
4
2
8
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 40 / 111
EjemploTraza del algoritmo de busqueda en profundidad
El seguimiento que haremos se hara a traves de una tabla cuyas columnasseran las variables que intervienen en la concepcion del algoritmo:
Lista de estados ABIERTO (sin explorar aun).
Lista de estados CERRADOS (ya explorados).
X, que hace las veces del primer elemento de ABIERTO.
Conjunto de sucesores de X
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
EjemploTraza del algoritmo de busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X[1] [] 1 2-3
1 [] [1][2 3]
Evolucion del arbol de busqueda parcial:
111
3
2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 42 / 111
EjemploTraza del algoritmo de busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X2 [3] [1 2] 2 4-6
[4 6 3]
Evolucion del arbol de busqueda parcial:
111
3
6
4
2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 43 / 111
EjemploTraza del algoritmo de busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X3 [6 3] [1 2 4] 4 5
[5 6 3]
Evolucion del arbol de busqueda parcial:
5111
3
6
4
2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 44 / 111
EjemploTraza del algoritmo de busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X4 [6 3] [1 2 4 5] 5 6-7
[7 6 3] 7
Evolucion del arbol de busqueda parcial:
5111
3 7
6
4
2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 45 / 111
EjemploTraza del algoritmo de busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X5 [6 3] [1 2 4 5 7] 7 8
[8 6 3]
Evolucion del arbol de busqueda parcial:
5111
3 7
6
4
2
8
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 46 / 111
EjemploTraza del algoritmo de busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X6 [6 3] 8
El camino final se muestra con flechas mas gruesas: �
5111
3 7
6
4
2
8
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 47 / 111
Busqueda en Anchura
Se le conoce tambien como busqueda en amplitud o breadth-firstsearch.
El conjunto ABIERTO se maneja como una lista FIFO:
X first in, first outX se maneja como una fila.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 48 / 111
Busqueda en Anchura
El recorrido que del espacio de estados lo hace por niveles deprofundidad, de manera que un nodo se visita solamente cuandotodos sus predecesores y sus hermanos anteriores en orden degeneracion ya se han visitado.
NODO INICIAL
OBJETIVO
NIVEL 0
NIVEL 1
NIVEL 2
NIVEL 3
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 49 / 111
Busqueda en Anchura
Se comienza en el nodo raız.
Despues se expanden todos los hijos.
A continuacion se expanden todos los hijos de los hijos.
X . . . y ası sucesivamenteX se expanden todos los nodos de un nivel antes de expandir el proximo.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 50 / 111
Algoritmo de Busqueda en Anchura
Entrada: representacion del espacio de estadosSalida: exito o fracaso1: Crear el arbol de busqueda T con X como nodo inicial2: ABIERTO ← [X]3: CERRADO ← []4: mientras ABIERTO 6= [] hacer5: remover el primer elemento X del conjunto ABIERTO6: si X es un estado objetivo entonces7: retornar exito: camino en T hasta X8: sino9: generar el conjunto de sucesores admisibles del estado X
10: eliminar los sucesores que esten en ABIERTO o en CERRADO11: agregar X al conjunto CERRADO12: agregar el resto de los sucesores al final del conjunto ABIERTO13: incorporar los sucesores que queden de X en el arbol T creando los arcos
correspondientes14: fin si15: fin mientras16: retornar fracaso
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 51 / 111
Ejemplotraza del algoritmo de busqueda en anchura
Consideremos nuevamente el espacio de estados del ejemplo anterior
5111
3 7
6
4
2
8
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 52 / 111
Ejemplotraza del algoritmo de busqueda en anchura
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X[1] [] 1 2-3
1 [] [1][2 3]
Evolucion del arbol de busqueda parcial:
111
3
2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 53 / 111
Ejemplotraza del algoritmo de busqueda en anchura
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X2 [3] [1 2] 2 4-6
[3 4 6]
Evolucion del arbol de busqueda parcial:
111
3
6
4
2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 54 / 111
Ejemplotraza del algoritmo de busqueda en anchura
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X3 [4 6] [1 2 3] 3 4-5-7
[4 6 5 7] 5-7
Evolucion del arbol de busqueda parcial:
5111
3 7
6
4
2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 55 / 111
Ejemplotraza del algoritmo de busqueda en anchura
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X4 [6 5 7] [1 2 3 4] 4 5
Evolucion del arbol de busqueda parcial:
5111
3 7
6
4
2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 56 / 111
Ejemplotraza del algoritmo de busqueda en anchura
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X5 [5 7] [1 2 3 4 6] 6 7-8
[5 7 8] 8
Evolucion del arbol de busqueda parcial:
5111
3 7
6
4
2
8
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 57 / 111
Ejemplotraza del algoritmo de busqueda en anchura
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X6 [7 8] [1 2 3 4 6 5] 5 6-7
——
Evolucion del arbol de busqueda parcial:
5111
3 7
6
4
2
8
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 58 / 111
Ejemplotraza del algoritmo de busqueda en anchura
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X7 [8] [1 2 4 5 6 5 7] 7 8
Evolucion del arbol de busqueda parcial:
5111
3 7
6
4
2
8
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 59 / 111
Ejemplotraza del algoritmo de busqueda en anchura
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X8 [] 8
El camino final se muestra con flechas mas gruesas: �
5111
3 7
6
4
2
8
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 60 / 111
/* Comentario */
Los ejemplos de seguimiento que hemos hecho hasta el momento hancontemplado solo un grafo en donde hemos encubierto lasoperaciones que permiten ir de un estado a otro.
Esto era solamente para que se entienda bien el espıritu de losalgoritmos que se han revisado.
A continuacion veremos un ejemplo donde el grafo ya no lo vamos atener listo como el de los ejemplos anteriores, sino que va a sernecesario ir generando los nodos siguiendo un orden de aplicacion deoperadores.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 61 / 111
EjemploPuzzle 4
Consideremos una adaptacion del puzzle 8 conocida como el puzzle4, el cual sigue las mismas reglas con las mismas operaciones, talcomo fueron definidas para su homologo.
Encuentre una solucion para este problema usando busqueda enprofundidad, indicando la secuencia de operaciones a realizar,sabiendo que los estados inicial y final son, respectivamente:
1 2
3
3 1
2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 62 / 111
EjemploPuzzle 4
Los elementos del espacio de estados son:
1 2
3
(1)
1 3
2
(2)
2 1
3
(3)
2 3
1
(4)
3 1
2
(5)
3 2
1
(6)
1 2
3
(7)
1 3
2
(8)
2 1
3
(9)
2 3
1
(10)
3 1
2
(11)
3 2
1
(12)
1
2 3
(13)
1
3 2
(14)
2
1 3
(15)
2
3 1
(16)
3
1 2
(17)
3
2 1
(18)
1
2 3
(19)
1
3 2
(20)
2
1 3
(21)
2
3 1
(22)
3
1 2
(23)
3
2 1
(24)
¶(25)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 63 / 111
EjemploPuzzle 4
De acuerdo a este esquema, el estado inicial queda seteado como elnumero 1 y el objetivo como el 5.
El orden que se va a establecer para encontrar los sucesores de cadaestado va a estar dado por:
m→ m← m↑ m↓
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 64 / 111
/* Comentario */
ImportanteEl criterio que se elija para establecer la secuencia deoperadores es completamente arbitrario.
X lo que implica el orden en que se generen los sucesores decualquier nodo del arbol
Una vez establecido, se debe respetar en todo momento.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 65 / 111
EjemploPuzzle 4
Entenderemos que para cualquier estado, sus nodos sucesoresadmisibles son aquellos que sean distintos de ¶.
Veamos, por ejemplo, cuales son los estados sucesores admisibles para
el nodo inicial1 2
3de acuerdo al orden de operadores establecido:
1 m→
(1 23
)= ¶ pues no podemos salir del tablero.
2 m←
(1 23
)=
1 23
3 m↑
(1 23
)=
13 2
4 m↓
(1 23
)= ¶ pues no podemos salir del tablero.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 66 / 111
EjemploPuzzle 4
Por lo tanto, de acuerdo al orden que nos dan las funciones md, el orden
de los sucesores admisibles para1 2
3es:
1 2
3(7) ∧ 1
2 3(14)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 67 / 111
Puzzle 4traza de solucion usando busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X1 [1] [] 1 7-14
[7 14] [1]
Evolucion del arbol de busqueda parcial:
1
7
14
m
m
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 68 / 111
Puzzle 4traza de solucion usando busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X2 [14] [1 7] 7 1-21
[21 14] 21
Evolucion del arbol de busqueda parcial:
1
7 21
14
m
m
m
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 69 / 111
Puzzle 4traza de solucion usando busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X3 [14] [1 7 21] 21 15-7
[15 14] 15
Evolucion del arbol de busqueda parcial:
1
7 21 15
14
m
m m
m
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 70 / 111
Puzzle 4traza de solucion usando busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X4 [14] [1 7 21 15] 15 21-7
——
Evolucion del arbol de busqueda parcial:
1
7 21 15
14
m
m m
m
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 71 / 111
Puzzle 4traza de solucion usando busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X5 [] [1 7 21 15 14] 14 20
[20]
Evolucion del arbol de busqueda parcial:
1
7 21 15
14 20m
m
m m
m
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 72 / 111
Puzzle 4traza de solucion usando busqueda en profundidad
Tabla de traza del algoritmo:
No. Iteracion ABIERTO CERRADO X Sucesores de X6 [] [1 7 21 15 14 20] 20 14-11
[11] 11
Evolucion del arbol de busqueda parcial:
1
7 21 15
14 20 11
m
m
m m
m
m
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 73 / 111
Puzzle 4traza de solucion usando busqueda en profundidad
Tabla de traza del algoritmo:No. Iteracion ABIERTO CERRADO X Sucesores de X
7 [] [1 7 21 15 14 20 11] 11 5-20[5] 5
Evolucion del arbol de busqueda parcial:
1
7 21 15
14 20 11
5
m
m
m
m m
m
m
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 74 / 111
Puzzle 4traza de solucion usando busqueda en profundidad
Tabla de traza del algoritmo:No. Iteracion ABIERTO CERRADO X Sucesores de X
8 [] 5
Evolucion del arbol de busqueda parcial:
1
7 21 15
14 20 11
5
m
m
m
m m
m
m
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 75 / 111
/* Comentario */Puzzle 4
De la iteracion 8, se observa que el camino que conduce del estado 1al 5 es
1 m↑ 14 m← 20 m↓ 11 m→ 5
Atendiendo a la numeracion que tenıan los estados, este caminopodemos representarlo graficamente como:
m
mm
m
1 23
(1) 1
13 2
(14)
13 2
(20)
3 12
(11)
3 12
(5)
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 76 / 111
Busqueda en Profundidad vs Busqueda en AnchuraCriterio: Completitud
En profundidad, el algoritmo encuentra una solucion si se imponeuna profundidad lımite y existe una solucion dentro de ese lımite.
En anchura, el algoritmo siempre encuentra una solucion en caso dehaberla.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 77 / 111
Busqueda en Profundidad vs Busqueda en AnchuraCriterio: Complejidad Temporal
En profundidad, si tomamos como medida del costo el numero denodos explorados, el costo es exponencial respecto al factor deramificacion r y la profundidad del lımite de exploracion m, nos daO(rm).
En anchura, si tomamos como medida del costo el numero de nodosexplorados, este crece de manera exponencial respecto al factor deramificacion r y la profundidad m de la solucion: O(rm).
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 78 / 111
Busqueda en Profundidad vs Busqueda en AnchuraCriterio: Complejidad Espacial
En profundidad, el costo es lineal respecto al factor de ramificacion ry el lımite de profundidad m, es decir O(rm).
En anchura, Dado que tenemos que almacenar todos los nodospendientes por explorar, el costo es exponencial respecto al factor deramificacion y la profundidad de la solucion: O(rm).
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 79 / 111
Busqueda en Profundidad vs Busqueda en AnchuraCriterio: Optimalidad
En profundidad, no se garantiza que la solucion sea optima, lasolucion que se retornara sera la primera en el orden de exploracion.
En anchura, la solucion obtenida es optima respecto al numero depasos desde la raız. Si los operadores de busqueda tienen costouniforme,el costo de la solucion serıa el optimo.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 80 / 111
Busqueda informada
La busqueda no informada comete el error de ser muy ineficiente.
Al no depender del problema para el cual se esten aplicando, operanen cierta medida a ciegas.
El objetivo de las estrategias de busqueda informadas es queincorporen informacion particular del problema para resolverlo:
X se gana en eficienciaX 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
Busqueda informada
A diferencia de los metodos no informados, la idea va a ser encontraralgun vertice que presente ventajas comparativas sobre los otroscandidatos:
X uno que en cierta etapa presente mayores posibilidades de abrircaminos que lleven a la solucion.
Este vertice mas promisor puede ser obtenido asociando un costo acada regla, lo que determina una funcion de evaluacion
f : E −→ R+0
que ya veremos.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 82 / 111
Busqueda informada
En esta clase de algoritmos, se retira el concepto de aplicabilidad dereglas y se reemplaza por el de costo asociado a una regla, de talmanera que la funcion f ayude a encontrar el proximo estado en serexpandido.
El metodo que veremos en esta etapa recibe el nombre A*.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 83 / 111
Algoritmo A*A-estrella
Es muy similar a la busqueda en profundidad.
En este algoritmo la funcion de evaluacion f la calculamos a partir dela 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 arbol de exploracion para ir de la raız(nodo inicial) al nodo n (no necesariamente el optimo).h representa una estimacion del costo mas barato para ir del estado nhasta el objetivo.
h recibe el nombre de funcion heurıstica.Si p es un estado objetivo, entonces h(p) = 0.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 84 / 111
Algoritmo A*A-estrella
ImportanteDe esta manera:
∀n ∈ E : f(n) = g(n) + h(n)
f mide la distancia que hay de la raız hasta el objetivo pasandopor el nodo n.
Por lo tanto, se prefieren los valores mas bajos.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 85 / 111
Algoritmo A* I
Entrada: representacion del espacio de estados, estrategia de solucionSalida: exito o fracaso1: Crear el grafo de busqueda T con X como nodo inicial2: ABIERTO ← [X]3: CERRADO ← []4: mientras ABIERTO 6= [] hacer5: remover el primer nodo X de ABIERTO6: colocar X en CERRADO7: si X es un estado objetivo entonces8: retornar exito: camino hasta X en T9: sino
10: generar el conjunto de sucesores del estado X11: ordenar los sucesores en orden creciente de acuerdo a los valores actualizados
de f12: incluir los sucesores de X en T con los arcos correspondientes13: para cada Y en sucesores hacer14: si Y no esta en ABIERTO ni en CERRADO entonces15: agregar Y en la lista ABIERTO
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 86 / 111
Algoritmo A* II
16: actualizar la lista ABIERTO en orden creciente segun los valores de fmanteniendo el de menor valor
17: fin si18: si Y esta en ABIERTO entonces19: si el nuevo camino a Y es mas corto entonces20: actualizar el camino almacenado en ABIERTO en forma creciente
segun los valores de f manteniendo el de menor valor21: fin si22: fin si23: si Y esta en CERRADO entonces24: si el nuevo camino a Y es mas corto entonces25: remover Y de CERRADO26: agregar Y en ABIERTO27: fin si28: fin si29: fin para30: fin si31: fin mientras32: retornar fracaso
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 87 / 111
Algoritmo A*A-estrella
Por notacion, al elaborar el arbol de busqueda, al lado de cada nodo ncolocaremos explıcitamente g(n) + h(n).
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 88 / 111
Algoritmo A* - Ejemploparte del mapa de Rumania
Bucharest
Arad Fagaras
Zerind Oradea
Sibiu
Timisoara
Lugoj
Mehadia
Dobreta
Craiova
RimnicuVilcea
Pitesti
75
71
15199
211
10197
138
146
80118
111
70
75
120
140
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 89 / 111
Algoritmo A*Ejemplo de traza del algoritmo
Los nodos representan ciudades y las aristas vienen rotuladas con elcosto para ir de un lugar a otro.
Se pide encontrar el costo mınimo y el camino que se debe seguirpara ir de Arad hasta Bucarest ocupando el algoritmo A*.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 90 / 111
De Arad a Bucharest Itraza de A*
En todo problema donde intervengan estrategias de busqueda informadas,debemos considerar la funcion heurıstica.
En este caso, podemos considerar como heurıstica la distancia que hay en lınearecta 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
De Arad a Bucharest IItraza de A*
Haremos en detalle las dos primeras iteraciones del algoritmo.
Una iteracion habra finalizado cada vez que se salga del ciclo mientras de A*
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 92 / 111
De Arad a Bucharest IIItraza de A*
Iteracion 1.
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 estecaso 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:
TimisoaraZerindSibiu
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 93 / 111
De Arad a Bucharest IVtraza de A*
Para ordenarlos, debemos evaluar la funcion f en cada uno de ellos y luegoreescribirlos 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
De Arad a Bucharest Vtraza de A*
De esta manera, los sucesores de X los anotamos en este orden:
Sibiu Timisoara Zerind
Arad
ZerindSibiu Timisoara
140+253
118+329
75+374
Ahora hay que hacer el tratamiento de los nodos sucesores de X:
Nodo Y Nuevo f(Y) Actualizacion de ABIERTOSibiu 393 [Sibiu]
Timisoara 447 [Sibiu Timisoara]
Zerind 449 [Sibiu Timisoara Zerind]
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 95 / 111
De Arad a Bucharest VItraza de A*
Con esto termina la primera iteracion. Hasta el momento:
ABIERTO = [Sibiu Timisoara Zerind]CERRADO = [Arad]
Iteracion 2.
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 este en CERRADO no significa que haya queexcluirlo como sucesor)OradeaFagarasRomnicu Vilcea
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 96 / 111
De Arad a Bucharest VIItraza de A*
Como g mide el costo acumulado que se lleva desde la raız hasta el nodo ndebemos considerar que hasta el momento hemos expandido Arad y Sibiu, de talmanera que g(Arad) es igual al costo del camino de Arad a Sibiu (140) mas elretorno de Sibiu a Arad (140).
Ası, g(Arad)=280. Por lo tanto:
g(Oradea) = costo camino Arad - Sibiu - Oradea = 140 + 151 = 291g(Fagaras) = costo camino Arad - Sibiu - Fagaras = 140 + 99 = 239g(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) = 413f(Fagaras) = 415f(Oradea) = 646f(Arad) = 671
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 97 / 111
De Arad a Bucharest VIIItraza de A*
El grafo de busqueda se muestra a continuacion con los nodos actualizados:
Arad
ZerindSibiu Timisoara118+329 75+374
RomnicuVilcea FagarasArad Oradea
220+193 280+366 239+176
291+380
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 98 / 111
De Arad a Bucharest IXtraza de A*
De los sucesores de Sibiu, el unico que esta en ABIERTO es Arad y mantenemos elcamino acumulado de menor valor en el grafo, que vale 140+253 = 393,descartandose el “nuevo” Arad como nodo para explorar.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 99 / 111
De Arad a Bucharest Xtraza de A*
¿Y el resto de las ciudades?
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 100 / 111
De Arad a Bucharest XItraza de A*
Romnicu Vilcea
Arad
ZerindSibiu Timisoara118+329 75+374
RomnicuVilcea
FagarasArad Oradea
239+176
291+380
Sibiu Craiova Pitesti
366+160 315+100
280+366
300+253
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 101 / 111
De Arad a Bucharest XIItraza de A*
Fagaras
Arad
ZerindSibiu Timisoara118+329 75+374
RomnicuVilcea
FagarasArad Oradea 291+380
Sibiu Craiova Pitesti
366+160 315+100
280+366
300+253
Sibiu Bucharest
338+253 450+0
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 102 / 111
De Arad a Bucharest XIIItraza de A*
Pitesti
Arad
ZerindSibiu Timisoara118+329 75+374
RomnicuVilcea
FagarasArad Oradea 291+380
Sibiu Craiova Pitesti
366+160
280+366
300+253
Sibiu Bucharest
338+253 450+0
RomnicuVilcea Bucharest Craiova
414+193 418+0 455+160
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 103 / 111
De Arad a Bucharest XIVtraza de A*
Bucharest
Arad
ZerindSibiu Timisoara118+329 75+374
RomnicuVilcea
FagarasArad Oradea 291+380
Sibiu Craiova Pitesti
366+160
280+366
300+253
Sibiu Bucharest
338+253 450+0
RomnicuVilcea Bucharest Craiova
414+193 455+160418
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 104 / 111
De Arad a Bucharest XVtraza de A*
De esta manera, el costo del camino menor para llegar a Bucharest es igual a 418 y laruta a seguir esta dada por
Arad Sibiu Romnicu Vicea Pitesti Bucharest �
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 105 / 111
Admisibilidad
Un algoritmo de busqueda se dice que es admisible si garantiza que puedaencontrar el camino optimo entre el estado inicial y el objetivo.
Una busqueda basada en una funcion de evaluacion heurıstica
f(n) = g(n) + h(n)
es admisible si h subestima el largo del camino mınimo efectivo.
X Es optimista, ya que “cree” que el costo para ir de un nodo n y elobjetivo es menor de lo que en realidad es.
Para demostrar que un algoritmo de busqueda sea admisible, se define unafuncion
f∗ : E −→ R+0
que entrega el largo del camino optimo del nodo inicial a un nodo objetivopasando por n.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 106 / 111
Admisibilidad
A este tipo de funciones se les conoce como funciones oraculo porqueimplica adivinar cual es el mejor camino sin recorrer el espacio de estados.
∀n ∈ E se definef∗(n) = g∗(n) + h∗(n)
en que
g∗(n) es el largo efectivo del camino optimo del nodo inicial al nodon.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
Admisibilidad
Teorema.
Si ∀n ∈ E : h(n) ≤ h∗(n) entonces la busqueda heurıstica es admisible.
Demostracion
Supongamos por el contrario que
∀n ∈ E : h(n) ≤ h∗(n)
y que la busqueda heurıstica no es admisible bajo esa condicion.
Sea q uno de los nodos objetivo del problema y supongamos que q fue generado a traves
de un camino de largo (o costo) l:
X entonces f(q) = l
Como q fue el ultimo nodo en ser expandido, se tiene que ∀x ∈ ABIERTO: f(x) ≥ f(q)
X por lo tanto, f(x) ≥ l
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 108 / 111
Admisibilidad
Demostracion (Cont.)
Pero, si el camino que lleva a q no es el optimo debiera existir algun nodo n en la listaABIERTO que se haya generado antes de expandir q y que este en el camino optimo.
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 busqueda no era admisible, entonces el camino queconduce a q no es el optimo por lo que f∗(n) < l y ası f(n) ≤ f∗(n) < l.
Esto nos conduce a que
f(n) < l
lo que genera una contradiccion. �
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 109 / 111
Admisibilidad
Teorema.
Si la heurıstica que se use es admisible, el algoritmo A* es optimo sino descartamos nodos.
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 110 / 111
Fin de la Unidad 2
M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 111 / 111
Top Related