Академический Документы
Профессиональный Документы
Культура Документы
Sistemas Inteligentes
Agentes
Diseo de Agentes
Agentes Mviles
Complejidad
2 /54
Tabla de Contenido
1. Estrategias de Bsqueda 2. Bsqueda no Informada.
i. ii. iii. iv. v. vi. Bsqueda por Amplitud Bsqueda por Costo Uniforme Bsqueda en Profundidad Bsqueda Limitada por Profundidad Bsqueda por Profundidad Iterativa Bsqueda Bidireccional
3. Bibliografa
3 /54
Objetivos
Presentar los conceptos acerca de estrategas de bsqueda no informada. las
4 /54
ESTRATEGIAS DE BSQUEDA
5 /54
Estrategias de Bsqueda
Bsqueda No Informada (Ciega) Bsqueda Informada (Heurstica)
1. Bsqueda preferente por amplitud 2. Bsqueda de costo uniforme 3. Bsqueda preferente por profundidad 4. Bsqueda limitada por profundidad 5. Bsqueda por profundizacin iterativa 6. Bsqueda bidireccional
1. 2. 3. 4.
6 /54
8 /54
Algoritmo Bsico
Basado en bsqueda y recorrido en rboles y grafos La estructura la construimos a medida que hacemos la bsqueda Algoritmo para una solucin:
Seleccionar el primer estado como el estado actual mientras el estado actual no es el estado final hacer Generar y guardar sucesores del estado actual (expansin) Escoger el siguiente estado entre los pendientes (seleccin) fin-mientras
La seleccin del siguiente nodo determinar el tipo de bsqueda (orden de seleccin o expansin) Es necesario definir un orden entre los sucesores de un nodo (orden de generacin)
9 /54
Algoritmo Bsico
Nodos abiertos: Estados generados pero an no visitados Nodos cerrados: Estados visitados y que ya se han expandido Tendremos una estructura para almacenar los nodos abiertos Las diferentes polticas de insercin en la estructura determinarn el tipo de bsqueda Si exploramos un grafo puede ser necesario tener en cuenta los estados repetidos (esto significa tener una estructura para los nodos cerrados). Merece la pena si el nmero de nodos diferentes es pequeo respecto al nmero de caminos
10 /54
BUSQUEDA NO INFORMADA
12 /54
13 /54
14 /54
O F P F Q F
16 /54
17 /54
18 /54
0 0 1 2 3 321
19 /54
0 10 1 2 3 cba32
20 /54
0 210 1 2 3 f edcba3
21 /54
0 3210 1 2 3 i hg f edcba
22 /54
0 a3210 1 2 3 i hg f edcb
23 /54
0 b a 32 1 0 1 2 3 i hg f edc
24 /54
Complejidad Temporal
Si b es el factor de ramificacin de los estados, y la solucin est a una profundidad d, entonces la cantidad mxima de nodos expandidos antes de encontrar la solucin es:
1+ b + b2 + b3 + ... + bd + (bd+1 b)
26 /54
Resumen (BFS)
Los nodos se visitan y generan por niveles La estructura para los nodos abiertos es una cola (FIFO) Un nodo es visitado cuando todos los nodos de los niveles superiores y sus hermanos precedentes han sido visitados Caractersticas:
Completidud: El algoritmo siempre encuentra una solucin Complejidad temporal: Exponencial respecto al factor de ramificacin y la profundidad de la solucin O(bd+1). Complejidad espacial: Exponencial respecto al factor de ramificacin y la profundidad de la solucin O(bd+1). Optimalidad: La solucin que se encuentra es ptima en nmero de niveles desde la raz
28 /54
Ejercicio 1
Determine el orden en que un agente basado en metas busca el objetivo (orden en que se visitan y orden en que se aperturan):
D A B E F I C G J
29 /54
Ejercicio 2
Diga para el siguiente rbol el orden en que se aperturan (nodos abiertos) y orden en que se visitan los nodos (nodos cerrados).
B C
Tenga en consideracin lo siguiente: 1. Existe dos colas de nodos, nodos abiertos y nodos cerrados. 2. La cola de nodos abiertos siempre se inicializa con el primer nodo del rbol, la cola de nodos cerrados se inicializa vaco. 3. Para visitar un nodo este primero debe ser abierto. 4. La visita a un nodo, permite generar la lista de nodos abiertos (nodos hijos) 5. El primer nodo que se visita en un rbol siempre es el primer nodo del rbol. 6. La vista de un nodo permite que este pase a la lista de nodos cerrados. 7. La tcnica de bsqueda no informada se diferencia por el orden en que se vistan los nodos, no por el orden en que se abren los nodos.
30 /54
31 /54
Frontera
S es el nico nodo en la frontera (nodos pendientes por expandir). Debido a que no es la meta, se procede a su expansin...
33 /54
Hay 3 nodos en la frontera (A, B y C), y se elige el de menor costo de ruta (A). Como no es una meta, se procede a su expansin...
34 /54
Hay 3 nodos en la frontera (G, B y C), de los cuales B es el que tiene el menor costo de ruta, por lo que se procede a expandirlo. Note que aunque ya hay una solucin en la frontera (G), el algoritmo la ignora porque la rama S-B tiene posibilidades de encontrar una solucin mejor que S-A-G.
35 /54
Hay 3 nodos en la frontera (G, G y C), de los cuales el segundo G es el que tiene el menor costo de ruta, por lo que se procede a expandirlo. En ese momento se detecta que es una solucin (slo genera nodos ya analizados) y la bsqueda termina. Note que hay dos nodos (las dos G s en la frontera) que representan a un mismo estado, y que el algoritmo ni siquiera intenta expandir C, que no tiene posibilidades de llevar a una mejor solucin (S-C ya tiene un costo de 15).
36 /54
37 /54
Resumen (UCS)
Se visitan y expanden los nodos del borde con menor costo. La estructura para los nodos abiertos es una cola (FIFO) Un nodo es visitado si su costo de ruta es el menor de todos. Caractersticas:
Completitud: Se encuentra la ruta siempre y cuando el costo no disminuya conforme se avanza g(sucesor(n)) g(n) Complejidad temporal: Exponencial respecto al factor de ramificacin y la profundidad de la solucin O(bd+1). Complejidad espacial: Exponencial respecto al factor de ramificacin y la profundidad de la solucin O(bd+1). Optimalidad: La solucin es ptima si el costo de un operador > 0, en caso contrario hay que buscar exhaustivamente
38 /54
Ejercicio 3
Use la estrategia de costo uniforme para encontrar la ruta de menor costo para ir de: A . Recuerde que para la estrategia de costo uniforme se usa la funcin: f = g + h : donde h = 0. Donde g es el costo de la ruta avanzada Recomendaciones: Sustente su respuesta presentando el rbol de bsqueda generado No apertura nodos ya visitados en la misma ruta.
3 B 2 4 A 1 C 1 1 G 2 4 F 6 5 4 D 1 E
39 /54
Ejercicio 3
A g=0
B g=2
G g=4
F g=1
C g=5
G g=3
B g=5
C g=5
D g=9
E g=6
F g=8
G g=5
E g=7
G g=6
D g=9
C g=4
D g=8
E g=5
F g=7
C g=8
D g=9
B g=6
C g=6
D g=10
E g=7
D g=8
D g=6
40 /54
O F P F Q F
44 /54
Resumen (DFS)
Los nodos se visitan y generan buscando los nodos a mayor profundidad y retrocediendo cuando no se encuentran nodos sucesores La estructura para los nodos abiertos es una pila (LIFO) Para garantizar que el algoritmo acaba debe imponerse un lmite en la profundidad de exploracin Caractersticas
Completidud: El algoritmo encuentra una solucin si se impone un lmite de profundidad y existe una solucin dentro de ese lmite Complejidad temporal: Exponencial respecto al factor de ramificacin y la profundidad del lmite de exploracin O(bm). Complejidad espacial: Si no se controlan los nodos repetidos el coste es lineal respecto al factor de ramificacin y el lmite de profundidad O(bm). Si tratamos repetidos el coste es igual que en anchura. Si la implementacin es recursiva el coste es O(m). Optimalidad: No se garantiza que la solucin sea ptima
46 /54
Ejercicio 4
Considere el siguiente grfico. Los nodos sombreados ya fueron visitados y se han extendido. Dibuje el rbol de la bsqueda que corresponde a este grfico, dnde la bsqueda se inici en A y se expandi hasta R, y puede visitar un nodo en el grfico ms de una vez. 1. 2. 3. 4. Indicar el borde en el rbol de bsqueda. En BFS, qu nodo se extendera? En UCS, qu nodo se extendera? En DFS, qu nodo se extendera?
47 /54
Ejercicio 5
Imagine un escenario con un robot que intenta navegar en el siguiente laberinto desde (S) hasta la meta (G). A cada paso, el robot puede seguir una de las cuatro direcciones del compas. El robot contempla las alternativas en el orden siguiente: Moverse al Sur Moverse al Este Moverse al Norte Moverse al Oeste 1. Formula el problema como un problema de bsqueda. 2. Marcar el conjunto de estados que se expanden durante la bsqueda, en el orden ellos se expanden, colocando un 1 en el primer estado, un 2 por el segundo, y as sucesivamente (Pon 1 en la celda marcada como S). Asume que la bsqueda es Primero en Profundidad (DFS). Use la versin de DFS que evita los ciclos y el re-expansin de un estado que est en el camino actual. 3. Usando la misma notacin marca el conjunto de estados que el BFS puede expandir, en el orden en el cual son expandidos.
48 /54
49 /54
51 /54
53 /54
Lmite = 2
Lmite = 3
...
54 /54
56 /54
Bsqueda bidireccional
Es bsicamente una bsqueda simultnea que avanza a partir del estado inicial y que retrocede a partir de la meta y que se detiene cuando ambas bsquedas se encuentran en algn punto intermedio. Si en un problema el factor de ramificacin b es el mismo en ambas direcciones, la bsqueda bidireccional puede ser muy til. Si la solucin est a profundidad d, entonces la solucin estar a O(2bd/2) = O(bd/2) pasos
57 /54
Cuestiones a resolver
La bsqueda hacia atrs implica la sucesiva generacin de predecesores a partir del nodo meta. Si todos los operadores son reversibles, los conjuntos de predecesor y sucesor son idnticos, pero en algunos problemas, el clculo de los predecesores puede resultar muy difcil. Si hay varios estados meta listados en forma explcita, se puede aplicar una funcin de predecesor al conjunto de estados como en el caso de la bsqueda de estado mltiple. Pero si slo hay una descripcin de los estados meta, es realmente difcil (qu estados son predecesores del jaque mate en ajedrez?) Se requiere una manera eficiente de verificar cada uno de los nodos nuevos para ver si ya estn en el otro rbol. Se tiene que definir un tipo de bsqueda para cada mitad. Amplitud amplitud, amplitud profundidad, etc. La complejidad espacial es igual a la temporal para esta bsqueda.
58 /54
Bibliografa
AIMA. Captulo 3, primera edicin. AIMA. Chapter 3, second edition.
59 /54
PREGUNTAS
60 /54