P. 1
Class a2 Uninformed Search Strategies

Class a2 Uninformed Search Strategies

|Views: 1|Likes:

More info:

Published by: Maria Eloisa Alcocer Villarroel on Feb 24, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

02/24/2012

pdf

text

original

INTELIGENCIA ARTIFICIAL Búsqueda no Informada

Mg. Samuel Oporto Díaz

Mapa Conceptual del Curso
Conocimiento Agentes de Búsqueda

Sistemas Inteligentes

Agentes

Diseño de Agentes

Agentes Móviles

Complejidad

Otros tipos de agentes

2 /54

Tabla de Contenido
1. Estrategias de Búsqueda 2. Búsqueda no Informada.
i. ii. iii. iv. v. vi. Búsqueda por Amplitud Búsqueda por Costo Uniforme Búsqueda en Profundidad Búsqueda Limitada por Profundidad Búsqueda por Profundidad Iterativa Búsqueda Bidireccional

3. Bibliografía

3 /54

Objetivos ‡ Presentar los conceptos acerca de estrategías de búsqueda no informada. las 4 /54 .

ESTRATEGIAS DE BÚSQUEDA 5 /54 .

Búsqueda preferente por amplitud 2. Búsqueda avara Búsqueda A* Búsqueda A*PI Búsqueda A*SRM 6 /54 . 4. Búsqueda por profundización iterativa 6. 3. Búsqueda bidireccional 1.Estrategias de Búsqueda Búsqueda No Informada (Ciega) Búsqueda Informada (Heurística) 1. 2. Búsqueda de costo uniforme 3. Búsqueda limitada por profundidad 5. Búsqueda preferente por profundidad 4.

Búsqueda en el Espacio de Estados ‡ La resolución de un problema con esta representación pasa por explorar el espacio de estados ‡ Partimos del estado inicial evaluando cada paso hasta encontrar un estado final ‡ En el caso peor exploraremos todos los posibles caminos entre el estado inicial del problema hasta llegar al estado final ‡ Definiremos una representación del espacio de estados para poder implementar algoritmos que busquen soluciones 7 /54 .

Estructura del espacio de estados ‡ ‡ ‡ ‡ ‡ Estructuras de datos: Árboles y Grafos Estados = Nodos Operadores = Arcos entre nodos (dirigidos) Árboles: Solo un camino lleva a un nodo Grafos: Varios caminos pueden llevar a un nodo 8 /54 .

Algoritmo Básico ‡ Basado en búsqueda y recorrido en árboles y grafos ‡ La estructura la construimos a medida que hacemos la búsqueda ‡ Algoritmo para una solución: ± 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 (expansión) Escoger el siguiente estado entre los pendientes (selección) ± fin-mientras ‡ La selección del siguiente nodo determinará el tipo de búsqueda (orden de selección o expansión) ‡ Es necesario definir un orden entre los sucesores de un nodo (orden de generación) 9 /54 .

Merece la pena si el número de nodos diferentes es pequeño respecto al número de caminos 10 /54 .Algoritmo Básico ‡ Nodos abiertos: Estados generados pero aún no visitados ‡ Nodos cerrados: Estados visitados y que ya se han expandido ‡ Tendremos una estructura para almacenar los nodos abiertos ‡ Las diferentes políticas de inserción en la estructura determinarán el tipo de búsqueda ‡ Si exploramos un grafo puede ser necesario tener en cuenta los estados repetidos (esto significa tener una estructura para los nodos cerrados).

si hay varias soluciones? Las complejidades temporal y espacial se miden en términos de: b máximo factor de ramificación del árbol de búsqueda (branching factor) d profundidad de la solución de menor coste m profundidad máxima del espacio de estados (puede ser ’) 11 /54 . ¿Cuánta memoria se necesita para efectuar la búsqueda? ‡ Optimalidad.Evaluación de las Estrategias Las estrategias se evalúan de acuerdo a su: ‡ Completez. ¿Cuánto tiempo se necesitará para encontrar una solución? ‡ Complejidad espacial. si ésta existe? ‡ Complejidad temporal. ¿La estrategia garantiza encontrar una solución. ¿Con esta estrategia se encontrará una solución de la más alta calidad.

BUSQUEDA NO INFORMADA 12 /54 .

Estrategias de búsqueda no informada ‡ No existe información sobre la cantidad de estados intermedios o el costo de ruta para pasar del estado actual a la meta. ‡ Sólo se sabe distinguir si estamos en el estado meta o no ‡ A esta búsqueda se le conoce también como búsqueda ciega 13 /54 .

4. 3. 5.Estrategias de búsqueda no informada 1. 6. 2. Búsqueda preferente por amplitud Búsqueda de costo uniforme Búsqueda preferente por profundidad Búsqueda limitada por profundidad Búsqueda por profundización iterativa Búsqueda bidireccional 14 /54 .

BUSQUEDA POR AMPLITUD (BFS) S L M N F 15 /54 O F P F Q F .

luego sus sucesores y así sucesivamente. Búsqueda preferente por amplitud ‡ En este caso.1. 16 /54 . ‡ Todos los nodos que están a profundidad d se expanden antes que los nodos con profundidad d+1. primero se expande el nodo raíz y luego todos los nodos generados por éste.

Búsqueda preferente por amplitud
1. Abiertos (n0); Cerrados ( ) 2. Si Abiertos = ( ), fin devolviendo fallo 3. n primer elemento de Abiertos; eliminar n de Abiertos y llevarlo a Cerrados; Suc ( ) 4. Si n es meta, fin con éxito, devolviendo el camino 5. expandir n, colocando sus hijos en Suc, como hijos de n 6. eliminar de Suc cualquier nodo cuyo estado ya esté asociado a algún nodo de Abiertos o Cerrados 7. colocar los nodos de Suc al final de Abiertos 8. Ir a 2

17 /54

0

0

18 /54

0 0 1 2 3 321

19 /54

0 10 1 2 3 cba32 a b c 20 /54 .

0 210 1 2 3 f edcba3 a b c d e f 21 /54 .

0 3210 1 2 3 i hg f edcba a b c d e f g h i 22 /54 .

0 a3210 1 2 3 i hg f edcb a b c d e f g h i 23 /54 .

0 b a 32 1 0 1 2 3 i hg f edc a b c d e f g h i 24 /54 .

Búsqueda preferente por amplitud ‡ Si hay solución. 25 /54 . Completez. Complejidad Temporal. es seguro que se encontrará mediante la búsqueda preferente por amplitud. siempre encontrará primero el estado de meta más próximo (menos profundidad. Optimalidad. Complejidad Espacial. ‡ La búsqueda preferente por amplitud es completa y óptima siempre y cuando el costo de ruta sea una función que no disminuya al aumentar la profundidad del nodo. ‡ Si son varias soluciones. más a la izquierda).

. + bd + (bd+1 ± b) ‡ La complejidad de este algoritmo es O(bd+1). 26 /54 . entonces la cantidad máxima de nodos expandidos antes de encontrar la solución es: 1+ b + b2 + b3 + .Complejidad Temporal ‡ Si b es el factor de ramificación de los estados.. y la solución está a una profundidad d.

se analizan 10.000 nodos por segundo y cada nodo requiere 1000 bytes de almacenamiento: Profundidad 2 4 6 8 10 12 14 Nodos 1100 111.11 segundos 11 segundos 19 minutos 31 horas 129 días 35 años 3523 años Memoria 1 Megabyte 106 Megabytes 10 Gigabytes 1 Terabyte 101 Terabyte 10 Petabytes 1 Exabyte 27 /54 .100 107 109 1011 1013 1015 Tiempo .Complejidad Espacial y Temporal Si b=10.

± Optimalidad: La solución que se encuentra es óptima en número de niveles desde la raíz 28 /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 ‡ Características: ± Completidud: El algoritmo siempre encuentra una solución ± Complejidad temporal: Exponencial respecto al factor de ramificación y la profundidad de la solución O(bd+1). ± Complejidad espacial: Exponencial respecto al factor de ramificación y la profundidad de la solución O(bd+1).

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 ± VISITA (nodos cerrados) H K ± APERTURA (nodos abiertos) 29 /54 .

4. B C A D E F G H I J K L M N Tenga en consideración lo siguiente: 1.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). La visita a un nodo. 30 /54 O . 7. 2. 6. 3. Existe dos colas de nodos. permite generar la lista de nodos abiertos (nodos hijos) 5. Para visitar un nodo este primero debe ser abierto. no por el orden en que se abren los nodos. La cola de nodos abiertos siempre se inicializa con el primer nodo del árbol. La técnica de búsqueda no informada se diferencia por el orden en que se vistan los nodos. La vista de un nodo permite que este pase a la lista de nodos cerrados. nodos abiertos y nodos cerrados. la cola de nodos cerrados se inicializa vacío. El primer nodo que se visita en un árbol siempre es el primer nodo del árbol.

BUSQUEDA POR COSTO UNIFORME Uniform-Cost Search (UCS) 31 /54 .

es seguro que la primera solución encontrada será la más barata. ‡ La búsqueda de costo uniforme expande siempre el nodo de menor costo en el margen. ‡ Si se cumplen ciertas condiciones. medido por el costo de ruta g(n) en vez del nodo de menor profundidad.Búsqueda de costo uniforme ‡ Con la búsqueda anterior no siempre se encuentra la solución de costo de ruta mínimo. ‡ La búsqueda en amplitud es una búsqueda de costo uniforme donde g(n) = profundidad(n) 32 /54 .

Debido a que no es la meta.. se procede a su expansión.Búsqueda de costo uniforme A 1 S 15 C 5 B 5 5 10 G S 0 Frontera Problema: Ir de S a G al menor costo posible NOTA: NO SE GENERARÁN NUEVAMENTE LOS ESTADOS ANALIZADOS PREVIAMENTE S es el único nodo en la frontera (nodos pendientes por expandir). 33 /54 ..

y se elige el de menor costo de ruta (A). se procede a su expansión.. B y C).Búsqueda de costo uniforme A 1 S 15 C 5 B 5 5 10 G A 1 B 5 C 15 Frontera S 0 Hay 3 nodos en la frontera (A.. Como no es una meta. 34 /54 .

Note que aunque ya hay una solución en la frontera (G). 35 /54 . por lo que se procede a expandirlo.Búsqueda de costo uniforme A 1 S 15 C G 11 5 B 5 5 10 G A B 5 C 15 Frontera S 0 Hay 3 nodos en la frontera (G. B y C). el algoritmo la ignora porque la rama S-B tiene posibilidades de encontrar una solución mejor que S-A-G. de los cuales B es el que tiene el menor costo de ruta.

36 /54 . de los cuales el segundo G es el que tiene el menor costo de ruta. y que el algoritmo ni siquiera intenta expandir C. Note que hay dos nodos (las dos G s en la frontera) que representan a un mismo estado.Búsqueda de costo uniforme A 1 S 15 C G 11 G 10 5 B 5 5 10 G A B C 15 Frontera S 0 Hay 3 nodos en la frontera (G. por lo que se procede a expandirlo. En ese momento se detecta que es una solución (sólo genera nodos ya analizados) y la búsqueda termina. que no tiene posibilidades de llevar a una mejor solución (S-C ya tiene un costo de 15). G y C).

‡ Para que el costo de la ruta no disminuya el costo de aplicar un operador no debe ser negativo. es decir.Búsqueda de costo uniforme ‡ Este método puede encontrar la solución más barata siempre y cuando se satisfaga un requisito sencillo. ‡ El costo de ruta nunca debe ir disminuyendo conforme avanzamos por la ruta. g(Sucesor(n)) u g(n) para todos los nodos n. ‡ ¿Qué pasa si el costo de un operador de negativo? 37 /54 .

± Optimalidad: La solución es óptima si el costo de un operador > 0. en caso contrario hay que buscar exhaustivamente 38 /54 . ‡ La estructura para los nodos abiertos es una cola (FIFO) ‡ Un nodo es visitado si su costo de ruta es el menor de todos. ‡ Características: ± 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 ramificación y la profundidad de la solución O(bd+1).Resumen (UCS) ‡ Se visitan y expanden los nodos del borde con menor costo. ± Complejidad espacial: Exponencial respecto al factor de ramificación y la profundidad de la solución O(bd+1).

‡ Recuerde que para la estrategia de costo uniforme se usa la función: ‡ f = g + h : donde h = 0. 3 B 2 4 A 1 C 1 1 G 2 4 F 6 5 4 D 1 E 39 /54 .Ejercicio 3 ‡ Use la estrategia de costo uniforme para encontrar la ruta de menor costo para ir de: A . ‡ Donde g es el costo de la ruta avanzada Recomendaciones: ‡ Sustente su respuesta presentando el árbol de búsqueda generado ‡ No apertura nodos ya visitados en la misma ruta.

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 .

Búsqueda preferente por profundidad (DFS) S L M N F 41 /54 O F P F Q F .

se revierte la búsqueda y se expanden los nodos de niveles menos profundos.Búsqueda preferente por profundidad ‡ En esta búsqueda siempre se expande uno de los nodos que se encuentre en lo más profundo del árbol. ‡ Sólo si la búsqueda conduce a un callejón sin salida (un nodo que no es meta y que no tiene expansión). con una función de lista de espera que ponga los estados recién generados al principio de la lista. ‡ Lo anterior se logra mediante el algoritmo de Búsqueda-General. 42 /54 .

Búsqueda preferente por profundidad NOTA: Se supone que el factor de ramificación es b = 2 y que los nodos de nivel m = 3 no tienen sucesores. .

‡ La complejidad temporal es de O(bm). por cada nodo de la ruta. 44 /54 . junto con los nodos restantes no expandidos. ‡ Si un espacio de estados tiene factor de ramificación b y profundidad máxima m. se requieren almacenar bm nodos.Búsqueda preferente por profundidad ‡ Sólo es necesario guardar la ruta que va del nodo raíz al nodo hoja.

se recomienda esta búsqueda (BFS) sobre la búsqueda preferente por amplitud (DFS). Por lo tanto. la BPPP no es ni la mas completa ni la más óptima. ya que muchos árboles de búsqueda pueden ser muy profundos o infinitos. ‡ La desventaja de esta búsqueda es que se puede quedar estancada al avanzar por una ruta equivocada.Búsqueda preferente por profundidad ‡ Si la cantidad de soluciones en un problema es grande. 45 /54 .

± Complejidad espacial: Si no se controlan los nodos repetidos el coste es lineal respecto al factor de ramificación y el límite de profundidad O(bm). ± Optimalidad: No se garantiza que la solución sea óptima 46 /54 . Si la implementación es recursiva el coste es O(m).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 límite en la profundidad de exploración ‡ Características ± Completidud: El algoritmo encuentra una solución si se impone un límite de profundidad y existe una solución dentro de ese límite ± Complejidad temporal: Exponencial respecto al factor de ramificación y la profundidad del límite de exploración O(bm). Si tratamos repetidos el coste es igual que en anchura.

qué nodo se extendería? ¿En DFS. dónde la búsqueda se inició en A y se expandió hasta R. 3. 2. 1. qué nodo se extendería? ¿En UCS. Indicar el borde en el árbol de búsqueda. qué nodo se extendería? 47 /54 . 4. Los nodos sombreados ya fueron visitados y se han extendido.Ejercicio 4 ‡ Considere el siguiente gráfico. y puede visitar un nodo en el gráfico más de una vez. ‡ Dibuje el árbol de la búsqueda que corresponde a este gráfico. ¿En BFS.

Use la versión de DFS que evita los ciclos y el re-expansión de un estado que está en el camino actual. un ³2´ por el segundo. el robot puede seguir una de las cuatro direcciones del compas. colocando un ³1´ en el primer estado.Ejercicio 5 Imagine un escenario con un robot que intenta navegar en el siguiente laberinto desde (S) hasta la meta (G). Formula el problema como un problema de búsqueda. 2. Marcar el conjunto de estados que se expanden durante la búsqueda. El robot contempla las alternativas en el orden siguiente: Moverse al Sur Moverse al Este Moverse al Norte Moverse al Oeste 1. 48 /54 . Asume que la búsqueda es Primero en Profundidad (DFS). 3. A cada paso. en el orden ellos se expanden. en el orden en el cual son expandidos. Usando la misma notación marca el conjunto de estados que el BFS puede expandir. y así sucesivamente (Pon ³1´ en la celda marcada como S).

Búsqueda limitada por profundidad (DLS) 49 /54 .

‡ El establecer este límite es difícil. ‡ La búsqueda limitada puede no ser completa ni óptima: un límite de profundidad muy pequeño puede que no contenga la solución. 50 /54 .Búsqueda limitada por profundidad ‡ Con esta búsqueda se eliminan las dificultades de la búsqueda preferente por profundidad. ya que no conocemos mucho sobre el espacio de estados. y uno muy grande puede que contenga soluciones no óptimas que son encontradas primero. donde l es el límite de profundidad. ‡ La complejidad espacio-temporal de la búsqueda limitada por profundidad es similar a la de la búsqueda preferente por profundidad: requiere un tiempo de O(bl) y un espacio O(bl). al imponer un límite a la profundidad máxima de una ruta.

Búsqueda por profundización iterativa (IDS) 51 /54 .

pero la memoria que necesita es la de la búsqueda preferente por profundidad. etc. 52 /54 . luego la 1. luego la 2. ‡ Es óptima y completa. primero la profundidad 0. como la búsqueda preferente por amplitud.Búsqueda por profundización iterativa ‡ Elimina la dificultad de elegir un límite adecuado de profundidad en la búsqueda limitada por profundidad. ‡ En la profundización iterativa se combinan las ventajas de las búsquedas preferente por profundidad y preferente por amplitud. ‡ Lo anterior lo hace probando todos los límites de profundidad posibles.

profundidad) tiene éxito. entregue el resultado obtenido fin-para responda con falla 53 /54 . entradas: problema.Búsqueda por profundización iterativa Función Búsqueda-por-profundización-iterativa(problema) responde con una secuencia de solución. un problema. para profundidad 0 a g hacer si Búsqueda-limitada-por-profundidad(problema.

54 /54 ...Búsqueda por profundización iterativa Límite = 0 Límite = 1 Límite = 2 Límite = 3 .

Búsqueda por profundización iterativa ‡ La búsqueda por profundización iterativa puede parecer un desperdicio. por repetir expansiones de estados. 55 /54 . ‡ La profundización iterativa es el método idóneo para aquellos casos donde el espacio de búsqueda es grande y se ignora la profundidad de la solución. pero en la mayoría de los problemas esta expansión múltiple es realmente pequeña. ‡ La complejidad temporal sigue siendo O(bd) y la complejidad espacial es O(bd).

Búsqueda Bidireccional (BS) 56 /54 .

Búsqueda bidireccional ‡ Es básicamente una búsqueda simultánea que avanza a partir del estado inicial y que retrocede a partir de la meta y que se detiene cuando ambas búsquedas se encuentran en algún punto intermedio. entonces la solución estará a O(2bd/2) = O(bd/2) pasos 57 /54 . la búsqueda bidireccional puede ser muy útil. ‡ Si en un problema el factor de ramificación b es el mismo en ambas direcciones. Si la solución está a profundidad d.

58 /54 . Amplitud ± amplitud. ‡ Si hay varios estados meta listados en forma explícita. Pero si sólo hay una descripción de los estados meta. ‡ Si todos los operadores son reversibles. La complejidad espacial es igual a la temporal para esta búsqueda.Cuestiones a resolver ‡ La búsqueda hacia atrás implica la sucesiva generación de predecesores a partir del nodo meta. etc. se puede aplicar una función de predecesor al conjunto de estados como en el caso de la búsqueda de estado múltiple. el cálculo de los predecesores puede resultar muy difícil. pero en algunos problemas. amplitud ± profundidad. los conjuntos de predecesor y sucesor son idénticos. ‡ Se tiene que definir un tipo de búsqueda para cada mitad. es realmente difícil (¿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 están en el otro árbol.

Capítulo 3. primera edición. Chapter 3. ‡ AIMA.Bibliografía ‡ AIMA. second edition. 59 /54 .

PREGUNTAS 60 /54 .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->