Your SlideShare is downloading. ×
0
INTELIGENCIA ARTIFICIAL - ICIF0021 Unidad 2 - B´squeda en Espacio de Estados             u                      Docente: M...
Objetivos de la Unidad   Conocen la estructura general de un agente de b´squeda.                                          ...
Contenidos 1   Estructura de un espacio de estados. 2   ´     Arboles de b´squeda.                 u 3   Algoritmo general...
Presentaci´n          o   Sabemos c´mo plantear un problema.            o   ¿C´mo lo resolvemos?     o   Mediante una expl...
Presentaci´n          o   En l´       ıneas generales, se parte del estado inicial del ´rbol de b´squeda                  ...
ImportanteLas acciones que lleguen a ¶ deben evitarse siempre.M. Ram´      ırez K. (USS)        Apunte curso IA        Pri...
Espacio de estados   El espacio de estados se puede representar como un grafo donde:          cada nodo corresponde a un e...
Espacio de estados                                           v1                    NODO INICIAL                           ...
Espacio de estados   Identifique todos los elementos del espacio de estados de la figura   anterior:          conjunto de es...
ImportanteEs f´cil advertir en general que, independiente del problema P:    a                 (∀m ∈ M)(∀∆ ∈ Φ) : ∆(m) = m
´Arboles de b´squeda            u   Las definiciones de nodo y arco son las mismas que ocupamos para   explicar el espacio ...
´Arboles de b´squeda            uConceptos particulares    La ra´ del ´rbol corresponde al estado inicial.         ız    a...
Esquema general de b´squeda                    uElementos principales    La lista ABIERTO contiene a los estados que han s...
Esquema general de b´squeda                    uEntrada: representaci´n del espacio de estados                        oSal...
Esquema general de b´squeda                    u   En la l´          ınea 11 del algoritmo general de b´squeda, el hecho d...
Espacio de estados   El espacio de estados se puede representar como un grafo donde:          cada nodo corresponde a un e...
Espacio de estados                                           v1                    NODO INICIAL                           ...
Espacio de estados   Identifique todos los elementos del espacio de estados de la figura   anterior:          conjunto de es...
Espacio de estados    Importante    Independiente de cu´l sea P =< E, Φ, M >, estableceremos que                       a  ...
´Arboles de b´squeda            u   Las definiciones de nodo y arco son las mismas que ocupamos para   explicar el espacio ...
´Arboles de b´squeda            uConceptos particulares    La ra´ del ´rbol corresponde al estado inicial.         ız    a...
Esquema general de b´squeda                    uElementos principales    La lista ABIERTO contiene a los estados que han s...
Esquema general de b´squeda                    uEntrada: representaci´n del espacio de estados                        oSal...
Esquema general de b´squeda                    u   En la l´          ınea 11 del algoritmo general de b´squeda, el hecho d...
M´tricas para medir el rendimiento de una soluci´n e                                              oCompletitud. El algorit...
M´tricas para medir el rendimiento de una soluci´n e                                              oElementos que intervien...
Costo total de una b´squeda                    uEntonces, el costo de hacer una b´squeda se mide en t´rminos:             ...
¿Qu´ vimos la clase pasada?   e   Elementos principales de los algoritmos de b´squeda.                                    ...
Hoy veremos   Estrategias de b´squeda                   u          en particular m´todos no informados, como algoritmos qu...
Estrategias de B´squeda                uTrabajaremos con dos esquemas:B´squeda no informada u    No hay informaci´n adicio...
Etapas del proceso de codificaci´n de la soluci´n                               o              oindependiente del esquema e...
Etapas del proceso de codificaci´n de la soluci´n                               o              oindependiente del esquema e...
Etapas del proceso de codificaci´n de la soluci´n                               o              oindependiente del esquema e...
Etapas del proceso de codificaci´n de la soluci´n                               o              oindependiente del esquema e...
Etapas del proceso de codificaci´n de la soluci´n                               o              oindependiente del esquema e...
B´squeda no informada uVeremos dos t´cnicas:             e  1   B´squeda en profundidad.       u  2   B´squeda en anchura....
B´squeda en Profundidad u   Se le conoce como depth-first search.   El conjunto ABIERTO se maneja como una lista tipo LIFO:...
B´squeda en Profundidad uDe manera m´s informal, este algoritmo opera as´           a                                   ı:...
Algoritmo de B´squeda en Profundidad              uEntrada: representaci´n del espacio de estados                        o...
EjemploTraza del algoritmo de b´squeda en profundidad                        uConsideremos, para simplificar, el siguiente ...
EjemploTraza del algoritmo de b´squeda en profundidad                        uEl seguimiento que haremos se har´ a trav´s ...
EjemploTraza del algoritmo de b´squeda en profundidad                        u     Tabla de traza del algoritmo:          ...
EjemploTraza del algoritmo de b´squeda en profundidad                        u     Tabla de traza del algoritmo:          ...
EjemploTraza del algoritmo de b´squeda en profundidad                        u     Tabla de traza del algoritmo:          ...
EjemploTraza del algoritmo de b´squeda en profundidad                        u     Tabla de traza del algoritmo:          ...
EjemploTraza del algoritmo de b´squeda en profundidad                        u     Tabla de traza del algoritmo:          ...
EjemploTraza del algoritmo de b´squeda en profundidad                        u     Tabla de traza del algoritmo:          ...
B´squeda en Anchura u   Se le conoce tambi´n como b´squeda en amplitud o breadth-first                     e        u   sea...
B´squeda en Anchura u   El recorrido que del espacio de estados lo hace por niveles de   profundidad, de manera que un nod...
B´squeda en Anchura u   Se comienza en el nodo ra´                            ız.   Despu´s se expanden todos los hijos.  ...
Algoritmo de B´squeda en Anchura              uEntrada: representaci´n del espacio de estados                        oSali...
Ejemplotraza del algoritmo de b´squeda en anchura                        uConsideremos nuevamente el espacio de estados de...
Ejemplotraza del algoritmo de b´squeda en anchura                        u      Tabla de traza del algoritmo:             ...
Ejemplotraza del algoritmo de b´squeda en anchura                        u      Tabla de traza del algoritmo:             ...
Ejemplotraza del algoritmo de b´squeda en anchura                        u      Tabla de traza del algoritmo:             ...
Ejemplotraza del algoritmo de b´squeda en anchura                        u      Tabla de traza del algoritmo:             ...
Ejemplotraza del algoritmo de b´squeda en anchura                        u      Tabla de traza del algoritmo:             ...
Ejemplotraza del algoritmo de b´squeda en anchura                        u      Tabla de traza del algoritmo:             ...
Ejemplotraza del algoritmo de b´squeda en anchura                        u      Tabla de traza del algoritmo:             ...
Ejemplotraza del algoritmo de b´squeda en anchura                        u      Tabla de traza del algoritmo:             ...
/* Comentario */   Los ejemplos de seguimiento que hemos hecho hasta el momento han   contemplado s´lo un grafo en donde h...
EjemploPuzzle 4     Consideremos una adaptaci´n del puzzle 8 conocida como el puzzle                                 o    ...
EjemploPuzzle 4     Los elementos del espacio de estados son:                     1     2     1   3     2    1       2    ...
EjemploPuzzle 4     De acuerdo a este esquema, el estado inicial queda seteado como el     n´mero 1 y el objetivo como el ...
/* Comentario */   Importante         El criterio que se elija para establecer la secuencia de         operadores es compl...
EjemploPuzzle 4     Entenderemos que para cualquier estado, sus nodos sucesores     admisibles son aquellos que sean disti...
EjemploPuzzle 4Por lo tanto, de acuerdo al orden que nos dan las funciones md , el orden                                  ...
Puzzle 4traza de soluci´n usando b´squeda en profundidad               o          u     Tabla de traza del algoritmo:     ...
Puzzle 4traza de soluci´n usando b´squeda en profundidad               o          u     Tabla de traza del algoritmo:     ...
Puzzle 4traza de soluci´n usando b´squeda en profundidad               o          u     Tabla de traza del algoritmo:     ...
Puzzle 4traza de soluci´n usando b´squeda en profundidad               o          u     Tabla de traza del algoritmo:     ...
Puzzle 4traza de soluci´n usando b´squeda en profundidad               o          u     Tabla de traza del algoritmo:     ...
Puzzle 4traza de soluci´n usando b´squeda en profundidad               o          u     Tabla de traza del algoritmo:     ...
Puzzle 4traza de soluci´n usando b´squeda en profundidad               o          u     Tabla de traza del algoritmo:     ...
Puzzle 4traza de soluci´n usando b´squeda en profundidad               o          u     Tabla de traza del algoritmo:     ...
/* Comentario */Puzzle 4     De la iteraci´n 8, se observa que el camino que conduce del estado 1                  o     a...
B´squeda en Profundidad vs B´squeda en Anchura u                          uCriterio: Completitud      En profundidad, el a...
B´squeda en Profundidad vs B´squeda en Anchura u                          uCriterio: Complejidad Temporal     En profundid...
B´squeda en Profundidad vs B´squeda en Anchura u                          uCriterio: Complejidad Espacial      En profundi...
B´squeda en Profundidad vs B´squeda en Anchura u                          uCriterio: Optimalidad      En profundidad, no s...
B´squeda informada u   La b´squeda no informada comete el error de ser muy ineficiente.       u   Al no depender del proble...
B´squeda informada u   A diferencia de los m´todos no informados, la idea va a ser encontrar                        e   al...
B´squeda informada u   En esta clase de algoritmos, se retira el concepto de aplicabilidad de   reglas y se reemplaza por ...
Algoritmo A*A-estrella      Es muy similar a la b´squeda en profundidad.                           u      En este algoritm...
Algoritmo A*A-estrella      Importante      De esta manera:                            ∀n ∈ E : f (n) = g(n) + h(n)       ...
Algoritmo A* IEntrada: representaci´n del espacio de estados, estrategia de soluci´n                         o            ...
Algoritmo A* II16:               actualizar la lista ABIERTO en orden creciente seg´n los valores de f                    ...
Algoritmo A*A-estrellaPor notaci´n, al elaborar el ´rbol de b´squeda, al lado de cada nodo n          o                  a...
Algoritmo A* - Ejemploparte del mapa de Rumania                                       71                            Zerind...
Algoritmo A*Ejemplo de traza del algoritmo      Los nodos representan ciudades y las aristas vienen rotuladas con el      ...
De Arad a Bucharest Itraza de A*     En todo problema donde intervengan estrategias de b´squeda informadas,               ...
De Arad a Bucharest IItraza de A*     Haremos en detalle las dos primeras iteraciones del algoritmo.     Una iteraci´n hab...
De Arad a Bucharest IIItraza de A*Iteraci´n 1.       o      El nodo X tiene el valor Arad porque es el estado inicial del ...
De Arad a Bucharest IVtraza de A*     Para ordenarlos, debemos evaluar la funci´n f en cada uno de ellos y luego          ...
De Arad a Bucharest Vtraza de A*     De esta manera, los sucesores de X los anotamos en este orden:                       ...
De Arad a Bucharest VItraza de A*      Con esto termina la primera iteraci´n. Hasta el momento:                           ...
De Arad a Bucharest VIItraza de A*     Como g mide el costo acumulado que se lleva desde la ra´ hasta el nodo n           ...
De Arad a Bucharest VIIItraza de A*     El grafo de b´squeda se muestra a continuaci´n con los nodos actualizados:        ...
De Arad a Bucharest IXtraza de A*     De los sucesores de Sibiu, el unico que est´ en ABIERTO es Arad y mantenemos el     ...
De Arad a Bucharest Xtraza de A*¿Y el resto de las ciudades?     M. Ram´           ırez K. (USS)       Apunte curso IA   P...
De Arad a Bucharest XItraza de A*Romnicu Vilcea                                                                    Arad   ...
De Arad a Bucharest XIItraza de A*Fagaras                                                                     Arad        ...
De Arad a Bucharest XIIItraza de A*Pitesti                                                                           Arad ...
De Arad a Bucharest XIVtraza de A*Bucharest                                                                          Arad ...
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...
Admisibilidad    Un algoritmo de b´squeda se dice que es admisible si garantiza que pueda                      u    encont...
Admisibilidad     A este tipo de funciones se les conoce como funciones or´culo porque                                    ...
Admisibilidad     Teorema.     Si ∀n ∈ E : h(n) ≤ h∗ (n) entonces la b´squeda heur´                                       ...
AdmisibilidadDemostraci´n (Cont.)          o     Pero, si el camino que lleva a q no es el optimo debiera existir alg´n no...
Admisibilidad   Teorema.   Si la heur´             ıstica que se use es admisible, el algoritmo A* es ´ptimo si           ...
Fin de la Unidad 2    M. Ram´          ırez K. (USS)   Apunte curso IA   Primer Semestre 2011   111 / 111
Upcoming SlideShare
Loading in...5
×

Unidad no. 2 búsqueda en espacio de estados

3,686

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,686
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
167
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Unidad no. 2 búsqueda en espacio de estados"

  1. 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 2011M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 1 / 111
  2. 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. 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. 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. 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. 6. ImportanteLas acciones que lleguen a ¶ deben evitarse siempre.M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 6 / 111
  7. 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. 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. 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
  10. 10. ImportanteEs f´cil advertir en general que, independiente del problema P: a (∀m ∈ M)(∀∆ ∈ Φ) : ∆(m) = m
  11. 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. 12. ´Arboles de b´squeda uConceptos 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. 13. Esquema general de b´squeda uElementos 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. 14. Esquema general de b´squeda uEntrada: representaci´n del espacio de estados oSalida: ´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 X10: agregar X al conjunto CERRADO11: eliminar los sucesores que est´n en ABIERTO o en CERRADO e12: agregar el resto de los sucesores al conjunto ABIERTO13: incorporar los sucesores que queden de X en el ´rbol T creando los arcos a correspondientes14: fin si15: fin mientras16: retornar fracaso M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 14 / 111
  15. 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. 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. 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. 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. 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. 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. 21. ´Arboles de b´squeda uConceptos 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. 22. Esquema general de b´squeda uElementos 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. 23. Esquema general de b´squeda uEntrada: representaci´n del espacio de estados oSalida: ´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 X10: agregar X al conjunto CERRADO11: eliminar los sucesores que est´n en ABIERTO o en CERRADO e12: agregar el resto de los sucesores al conjunto ABIERTO13: incorporar los sucesores que queden de X en el ´rbol T creando los arcos a correspondientes14: fin si15: fin mientras16: retornar fracaso M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 23 / 111
  24. 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. 25. M´tricas para medir el rendimiento de una soluci´n e oCompletitud. 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 nComplejidad espacial. Es el espacio requerido para almacenar los nodos que est´n o se hayan explorado. eOptimalidad. 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. 26. M´tricas para medir el rendimiento de una soluci´n e oElementos que intervienen en la complejidadComplejidad 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 uComplejidad espacialSe mide en funci´n del tama˜o m´ximo que alcancen los conjuntos o n aABIERTO y CERRADO durante el proceso de b´squeda. u M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 26 / 111
  27. 27. Costo total de una b´squeda uEntonces, 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. 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. 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. 30. Estrategias de B´squeda uTrabajaremos 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. 31. Etapas del proceso de codificaci´n de la soluci´n o oindependiente del esquema elegido PROBLEMA M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 31 / 111
  32. 32. Etapas del proceso de codificaci´n de la soluci´n o oindependiente 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. 33. Etapas del proceso de codificaci´n de la soluci´n o oindependiente 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. 34. Etapas del proceso de codificaci´n de la soluci´n o oindependiente 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. 35. Etapas del proceso de codificaci´n de la soluci´n o oindependiente 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. 36. B´squeda no informada uVeremos dos t´cnicas: e 1 B´squeda en profundidad. u 2 B´squeda en anchura. uLa 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
  37. 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. 38. B´squeda en Profundidad uDe 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. 39. Algoritmo de B´squeda en Profundidad uEntrada: representaci´n del espacio de estados oSalida: ´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 X10: eliminar los sucesores que est´n en ABIERTO o en CERRADO e11: 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 ´rbol T creando los arcos a correspondientes14: fin si15: fin mientras16: retornar fracaso M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 39 / 111
  40. 40. EjemploTraza del algoritmo de b´squeda en profundidad uConsideremos, para simplificar, el siguiente espacio de estados donde 1 esel 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. 41. EjemploTraza del algoritmo de b´squeda en profundidad uEl seguimiento que haremos se har´ a trav´s de una tabla cuyas columnas a eser´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. 42. EjemploTraza 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. 43. EjemploTraza 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. 44. EjemploTraza 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. 45. EjemploTraza 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. 46. EjemploTraza 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. 47. EjemploTraza 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. 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. 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. 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. 51. Algoritmo de B´squeda en Anchura uEntrada: representaci´n del espacio de estados oSalida: ´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 X10: eliminar los sucesores que est´n en ABIERTO o en CERRADO e11: 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 ´rbol T creando los arcos a correspondientes14: fin si15: fin mientras16: retornar fracaso M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 51 / 111
  52. 52. Ejemplotraza del algoritmo de b´squeda en anchura uConsideremos 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. 53. Ejemplotraza 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. 54. Ejemplotraza 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. 55. Ejemplotraza 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. 56. Ejemplotraza 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. 57. Ejemplotraza 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. 58. Ejemplotraza 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. 59. Ejemplotraza 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. 60. Ejemplotraza 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. 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. 62. EjemploPuzzle 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
  63. 63. EjemploPuzzle 4 Los elementos del espacio de estados son: 1 2 1 3 2 1 2 3 3 1 3 2 3 2 3 1 2 1 (1) (2) (3) (4) (5) (6) 1 2 1 3 2 1 2 3 3 1 3 2 3 2 3 1 2 1 (7) (8) (9) (10) (11) (12) 1 1 2 2 3 3 2 3 3 2 1 3 3 1 1 2 2 1 (13) (14) (15) (16) (17) (18) 1 1 2 2 3 3 2 3 3 2 1 3 3 1 1 2 2 1 (19) (20) (21) (22) (23) (24) ¶(25) M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 63 / 111
  64. 64. EjemploPuzzle 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. 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. 66. EjemploPuzzle 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. 67. EjemploPuzzle 4Por lo tanto, de acuerdo al orden que nos dan las funciones md , el orden 1 2de 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. 68. Puzzle 4traza 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. 69. Puzzle 4traza 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. 70. Puzzle 4traza 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. 71. Puzzle 4traza 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. 72. Puzzle 4traza 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. 73. Puzzle 4traza 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. 74. Puzzle 4traza 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. 75. Puzzle 4traza 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. 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. 77. B´squeda en Profundidad vs B´squeda en Anchura u uCriterio: 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. 78. B´squeda en Profundidad vs B´squeda en Anchura u uCriterio: 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. 79. B´squeda en Profundidad vs B´squeda en Anchura u uCriterio: 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. 80. B´squeda en Profundidad vs B´squeda en Anchura u uCriterio: 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. 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. 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. 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. 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. 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. 86. Algoritmo A* IEntrada: representaci´n del espacio de estados, estrategia de soluci´n o oSalida: ´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: sino10: 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 est´ en ABIERTO ni en CERRADO entonces a15: agregar Y en la lista ABIERTO M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 86 / 111
  87. 87. Algoritmo A* II16: actualizar la lista ABIERTO en orden creciente seg´n los valores de f u manteniendo el de menor valor17: fin si18: si Y est´ en ABIERTO entonces a19: si el nuevo camino a Y es m´s corto entonces a20: actualizar el camino almacenado en ABIERTO en forma creciente seg´n los valores de f manteniendo el de menor valor u21: fin si22: fin si23: si Y est´ en CERRADO entonces a24: si el nuevo camino a Y es m´s corto entonces a25: 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
  88. 88. Algoritmo A*A-estrellaPor notaci´n, al elaborar el ´rbol de b´squeda, al lado de cada nodo n o a ucolocaremos expl´ıcitamente g(n) + h(n). M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 88 / 111
  89. 89. Algoritmo A* - Ejemploparte 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. 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. 91. De Arad a Bucharest Itraza 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. 92. De Arad a Bucharest IItraza 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. 93. De Arad a Bucharest IIItraza 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. 94. De Arad a Bucharest IVtraza 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. 95. De Arad a Bucharest Vtraza 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. 96. De Arad a Bucharest VItraza 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. 97. De Arad a Bucharest VIItraza 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. 98. De Arad a Bucharest VIIItraza 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. 99. De Arad a Bucharest IXtraza 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. 100. 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
  101. 101. De Arad a Bucharest XItraza 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. 102. De Arad a Bucharest XIItraza 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. 103. De Arad a Bucharest XIIItraza 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. 104. De Arad a Bucharest XIVtraza 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. 105. 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 est´ dada por a Arad Sibiu Romnicu Vicea Pitesti Bucharest M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 105 / 111
  106. 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. 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. 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. 109. AdmisibilidadDemostraci´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. 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. 111. Fin de la Unidad 2 M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 111 / 111
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×