unidad no. 2 búsqueda en espacio de estados

111
INTELIGENCIA ARTIFICIAL - ICIF0021 Unidad 2 - B´ usqueda en Espacio de Estados Docente: Milton A. Ram´ ırez Klapp [email protected] Universidad San Sebasti´ an Facultad de Ingenier´ ıa y Tecnolog´ ıa Primer Semestre 2011 M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 1 / 111

Upload: milton-klapp

Post on 04-Jul-2015

3.652 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Unidad no. 2   búsqueda en espacio de estados

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

Page 2: Unidad no. 2   búsqueda en espacio de estados

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

Page 3: Unidad no. 2   búsqueda en espacio de estados

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

Page 4: Unidad no. 2   búsqueda en espacio de estados

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

Page 5: Unidad no. 2   búsqueda en espacio de estados

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

Page 6: Unidad no. 2   búsqueda en espacio de estados

ImportanteLas acciones que lleguen a ¶ deben evitarse siempre.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 6 / 111

Page 7: Unidad no. 2   búsqueda en espacio de estados

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

Page 8: Unidad no. 2   búsqueda en espacio de estados

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

Page 9: Unidad no. 2   búsqueda en espacio de estados

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

Page 10: Unidad no. 2   búsqueda en espacio de estados

ImportanteEs facil advertir en general que, independiente del problema P:

(∀m ∈M)(∀∆ ∈ Φ) : ∆(m) = m

Page 11: Unidad no. 2   búsqueda en espacio de estados

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

Page 12: Unidad no. 2   búsqueda en espacio de estados

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

Page 13: Unidad no. 2   búsqueda en espacio de estados

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

Page 14: Unidad no. 2   búsqueda en espacio de estados

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

Page 15: Unidad no. 2   búsqueda en espacio de estados

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

Page 16: Unidad no. 2   búsqueda en espacio de estados

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

Page 17: Unidad no. 2   búsqueda en espacio de estados

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

Page 18: Unidad no. 2   búsqueda en espacio de estados

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

Page 19: Unidad no. 2   búsqueda en espacio de estados

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

Page 20: Unidad no. 2   búsqueda en espacio de estados

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

Page 21: Unidad no. 2   búsqueda en espacio de estados

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

Page 22: Unidad no. 2   búsqueda en espacio de estados

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

Page 23: Unidad no. 2   búsqueda en espacio de estados

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

Page 24: Unidad no. 2   búsqueda en espacio de estados

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

Page 25: Unidad no. 2   búsqueda en espacio de estados

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

Page 26: Unidad no. 2   búsqueda en espacio de estados

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

Page 27: Unidad no. 2   búsqueda en espacio de estados

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

Page 28: Unidad no. 2   búsqueda en espacio de estados

¿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

Page 29: Unidad no. 2   búsqueda en espacio de estados

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

Page 30: Unidad no. 2   búsqueda en espacio de estados

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

Page 31: Unidad no. 2   búsqueda en espacio de estados

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

Page 32: Unidad no. 2   búsqueda en espacio de estados

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

Page 33: Unidad no. 2   búsqueda en espacio de estados

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

Page 34: Unidad no. 2   búsqueda en espacio de estados

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

Page 35: Unidad no. 2   búsqueda en espacio de estados

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

Page 36: Unidad no. 2   búsqueda en espacio de estados

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

Page 37: Unidad no. 2   búsqueda en espacio de estados

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

Page 38: Unidad no. 2   búsqueda en espacio de estados

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

Page 39: Unidad no. 2   búsqueda en espacio de estados

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

Page 40: Unidad no. 2   búsqueda en espacio de estados

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

Page 41: Unidad no. 2   búsqueda en espacio de estados

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

Page 42: Unidad no. 2   búsqueda en espacio de estados

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

Page 43: Unidad no. 2   búsqueda en espacio de estados

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

Page 44: Unidad no. 2   búsqueda en espacio de estados

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

Page 45: Unidad no. 2   búsqueda en espacio de estados

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

Page 46: Unidad no. 2   búsqueda en espacio de estados

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

Page 47: Unidad no. 2   búsqueda en espacio de estados

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

Page 48: Unidad no. 2   búsqueda en espacio de estados

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

Page 49: Unidad no. 2   búsqueda en espacio de estados

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

Page 50: Unidad no. 2   búsqueda en espacio de estados

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

Page 51: Unidad no. 2   búsqueda en espacio de estados

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

Page 52: Unidad no. 2   búsqueda en espacio de estados

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

Page 53: Unidad no. 2   búsqueda en espacio de estados

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

Page 54: Unidad no. 2   búsqueda en espacio de estados

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

Page 55: Unidad no. 2   búsqueda en espacio de estados

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

Page 56: Unidad no. 2   búsqueda en espacio de estados

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

Page 57: Unidad no. 2   búsqueda en espacio de estados

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

Page 58: Unidad no. 2   búsqueda en espacio de estados

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

Page 59: Unidad no. 2   búsqueda en espacio de estados

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

Page 60: Unidad no. 2   búsqueda en espacio de estados

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

Page 61: Unidad no. 2   búsqueda en espacio de estados

/* 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

Page 62: Unidad no. 2   búsqueda en espacio de estados

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

Page 63: Unidad no. 2   búsqueda en espacio de estados

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

Page 64: Unidad no. 2   búsqueda en espacio de estados

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

Page 65: Unidad no. 2   búsqueda en espacio de estados

/* 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

Page 66: Unidad no. 2   búsqueda en espacio de estados

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

Page 67: Unidad no. 2   búsqueda en espacio de estados

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

Page 68: Unidad no. 2   búsqueda en espacio de estados

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

Page 69: Unidad no. 2   búsqueda en espacio de estados

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

Page 70: Unidad no. 2   búsqueda en espacio de estados

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

Page 71: Unidad no. 2   búsqueda en espacio de estados

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

Page 72: Unidad no. 2   búsqueda en espacio de estados

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

Page 73: Unidad no. 2   búsqueda en espacio de estados

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

Page 74: Unidad no. 2   búsqueda en espacio de estados

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

Page 75: Unidad no. 2   búsqueda en espacio de estados

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

Page 76: Unidad no. 2   búsqueda en espacio de estados

/* 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

Page 77: Unidad no. 2   búsqueda en espacio de estados

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

Page 78: Unidad no. 2   búsqueda en espacio de estados

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

Page 79: Unidad no. 2   búsqueda en espacio de estados

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

Page 80: Unidad no. 2   búsqueda en espacio de estados

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

Page 81: Unidad no. 2   búsqueda en espacio de estados

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

Page 82: Unidad no. 2   búsqueda en espacio de estados

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

Page 83: Unidad no. 2   búsqueda en espacio de estados

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

Page 84: Unidad no. 2   búsqueda en espacio de estados

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

Page 85: Unidad no. 2   búsqueda en espacio de estados

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

Page 86: Unidad no. 2   búsqueda en espacio de estados

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

Page 87: Unidad no. 2   búsqueda en espacio de estados

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

Page 88: Unidad no. 2   búsqueda en espacio de estados

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

Page 89: Unidad no. 2   búsqueda en espacio de estados

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

Page 90: Unidad no. 2   búsqueda en espacio de estados

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

Page 91: Unidad no. 2   búsqueda en espacio de estados

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

Page 92: Unidad no. 2   búsqueda en espacio de estados

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

Page 93: Unidad no. 2   búsqueda en espacio de estados

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

Page 94: Unidad no. 2   búsqueda en espacio de estados

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

Page 95: Unidad no. 2   búsqueda en espacio de estados

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

Page 96: Unidad no. 2   búsqueda en espacio de estados

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

Page 97: Unidad no. 2   búsqueda en espacio de estados

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

Page 98: Unidad no. 2   búsqueda en espacio de estados

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

Page 99: Unidad no. 2   búsqueda en espacio de estados

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

Page 100: Unidad no. 2   búsqueda en espacio de estados

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

Page 101: Unidad no. 2   búsqueda en espacio de estados

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

Page 102: Unidad no. 2   búsqueda en espacio de estados

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

Page 103: Unidad no. 2   búsqueda en espacio de estados

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

Page 104: Unidad no. 2   búsqueda en espacio de estados

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

Page 105: Unidad no. 2   búsqueda en espacio de estados

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

Page 106: Unidad no. 2   búsqueda en espacio de estados

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

Page 107: Unidad no. 2   búsqueda en espacio de estados

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

Page 108: Unidad no. 2   búsqueda en espacio de estados

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

Page 109: Unidad no. 2   búsqueda en espacio de estados

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

Page 110: Unidad no. 2   búsqueda en espacio de estados

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

Page 111: Unidad no. 2   búsqueda en espacio de estados

Fin de la Unidad 2

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 111 / 111