La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Fundamentos de Inteligencia Artificial Búsqueda

Presentaciones similares


Presentación del tema: "Fundamentos de Inteligencia Artificial Búsqueda"— Transcripción de la presentación:

1 Fundamentos de Inteligencia Artificial Búsqueda
Coordinación de Ciencias Computacionales Instituto Nacional de Astrofísica, Óptica y Electrónica Manuel Montes 8218) Luis Villaseñor 8306)

2 Objetivos de la sección
Aprender cómo hallar trayectorias en redes, resolviendo así problemas de búsqueda. Presentar los métodos más populares de búsqueda. Aprender a evaluar los procedimientos de búsqueda Su eficiencia, su facilidad de implementación, su pertinencia para cierto tipo de problemas.

3 Métodos básicos de búsqueda
Profundidad primero Amplitud primero Ascenso de colina Búsqueda en haz Primero el mejor A tientas Heuristicos Una ruta Ruta optima Juegos Museo británico Ramificación y cota Programación dinámica A* Búsqueda Minimax Poda Alfa-beta Continuación heurística Profundidad progresiva

4 Redes y búsqueda 4 4 a b c 3 5 5 s g 3 2 4 4 d e f Encontrar una trayectoria del punto S al punto G involucra dos costos: El costo del cálculo para encontrar la trayectoria El costo del viaje cuando se sigue la trayectoria

5 Árbol de búsqueda Es una representación que considera todas las trayectorias posibles en la red: Los nodos representan trayectorias, y las ramas conectan trayectorias a extensiones de trayectoria de un solo paso. Idea es construir al vuelo este árbol, siguiendo una estrategia de búsqueda. El número total de trayectorias de un árbol con factor de ramificación b y profundidad d es bd.

6 Árbol de búsqueda (cont.)
f d f b f d e a c g g c g f g Trayectoria s-d-a-b-e-f-g

7 Búsqueda en profundidad primero
Para llevar a cabo una búsqueda en profundidad, Inserte en una pila el elemento raíz (nodo de partida) Hasta que el elemento tope sea el nodo meta, o se vacié la pila Si nodo tope tiene hijos, insertar el hijo siguiente aun no visitado, según ordenamiento. Si no, entonces eliminar nodo tope. Si el nodo meta se alcanza, mencione éxito, de lo contrario, notifique el fracaso.

8 Árbol generado s a d b d a e c e e b b f d f b f d e a c g g c g f g 1
2 b d a e 3 4 c e e b b f 6 5 d f b f d e a c g 7 g c g f g

9 Búsqueda en amplitud primero
Para llevar a cabo una búsqueda en amplitud, Inserte en una cola el elemento raíz (nodo de partida) Hasta que el elemento frontal sea el nodo meta, o se vacié la cola Si nodo frontal tiene hijos, insertar todos sus hijos al final de la cola. Eliminar nodo frontal. Si el nodo meta se alcanza, mencione éxito, de lo contrario, notifique el fracaso.

10 Árbol generado s a d b d a e c e e b b f d f b f d e a c g g c g f g 1
2 a d 3 4 6 5 b d a e 7 8 9 10 11 12 c e e b b f 13 14 15 16 17 18 19 20 21 d f b f d e a c g g c g f g

11 Comparación de procedimientos
¿cual de los dos procedimientos es mejor? ¿son ambos completos? ¿garantizan encontrar una solución, si es que existe? ¿son ambos óptimos? ¿se encontrara la mejor solución en caso de existir varias? ¿y que pasa con su complejidad temporal y espacial? Profundidad cuando se tiene la segurudad que todas las trayectorias llegan a callejones sin salidas (no arboles de busqueda infinitos, o muy largas) En amplitud sirve aun con grafos muy grandes; pero desperdicio cuando todas las trayectorias llevan a la meta despues de cierta profundidad En amplitud no es buena con alto grado de ramificacion (ejemplo de cajas); bd nivel d y ramificacion b. (tanto en tiempo como espacio) En profundidad solamente es b*m(profundidad maxima), tiempo igual Profundidad mejor cuando existen multiples soluciones.

12 Problema de los jarrones de agua
Se tienen dos jarrones, uno de 4 y otro de 3 litros. Ninguno tiene marcas de medidas sobre él. También se tiene una toma de agua que puede usarse para llenar los jarrones. ¿cómo podemos obtener exactamente 2 litros en el jarrón de 3? ¿qué tenemos que hacer para resolver este problema automáticamente? ¿se debe representar el espacio de estados en su totalidad? ¿hay alguna manera de representar en forma resumida todos los posibles estados? P

13 Una posible solución … … … … Tarea 7: Dibujar árbol de búsqueda
resultante al aplicar las búsquedas en profundidad y en anchura. Jueves 18 de sept

14 Reglas de producción Los estados se representan como (X,Y), donde X = 0,1,2,3,4 y Y = 0,1,2,3. (X,Y|X<4)  (4,Y) (X,Y|Y<3)  (X,3) (X,Y|X>0)  (0,Y) (X,Y|Y>0)  (X,0) (X,Y|X+Y>=4 Y>0)  (4,Y-(4-X)) (X,Y|X+Y>=3 X>0)  (X-(3-Y),3)) (X,Y|X+Y<=4 Y>0)  (X+Y,0)) (X,Y|X+Y<=3 X>0)  (0,X+Y)

15 Métodos Heurísticos La búsqueda se puede mejorar si existe una forma de ordenar las posibilidades de modo que las más prometedoras se exploren primero. Mayor conocimiento, menor tiempo de búsqueda Tres métodos muy conocidos: Ascenso de colina (-> profundidad primero), Búsqueda en Haz (-> anchura primero), Primero el mejor

16 Ascenso de colina Mediciones de calidad convierten la búsqueda en profundidad en ascenso de colina. Se ordenan las posibilidades (estados hijo) usando una medición heurística de la distancia que queda por recorrer. Distancia en línea recta al estado objetivo. Mejor medición, mejor el ascenso de colina

17 Distancias entre ciudades
4 4 a b c 3 5 5 s g 3 2 4 4 d e f a b c 10.4 6.7 4 11 s g 8.9 d e f 3 6.9

18 Árbol generado s a d b d a e c e e b b f d f b f d e a c g g c g f g
10.4 8.9 a d 10.4 6.9 b d a e 6.7 3.0 c e e b b f d f b f d e a c g g c g f g

19 Problemas del ascenso de colina
En problemas orientados a ajuste de parámetros: Problema de la falta de colina Se encuentra un punto optimo, pero se trata de un máximo local. Problema de la meseta La operación de mejoramiento local fracasa por completo. Todas las pruebas de paso normal dejan intacta la medición de calidad. Problema del borde Es como estar en el filo de una navaja, solamente puede salirse del problema si se tiene un número muy grande de direcciones para orientar los pasos.

20 Búsqueda en haz Parecida a la búsqueda en amplitud en cuanto a que avanza de nivel en nivel. Sólo se mueve hacia abajo a través de los w mejores nodos de cada nivel. Extiende varias trayectorias parciales y elimina el resto. El número de nodos se mantiene manejable aún cuando la ramificación sea alta y la búsqueda sea profunda.

21 Árbol generado s a d b d a e c e e b b f d f b f d e a c g g c g f g
10.4 8.9 a d 6.7 8.9 10.4 6.9 b d a e 4.0 6.9 6.7 3.0 c e e b b f Callejón sin salida d f b f d e a c g g c g f g

22 Búsqueda primero el mejor
Extiende la mejor trayectoria parcial en cada punto. Considera todos los nodos abiertos hasta el momento. Ascenso de colina inspecciona la que parece la mejor trayectoria hasta el final; la búsqueda primero el mejor analiza varias trayectorias a la vez, siempre siguiendo la mejor trayectoria parcial conocida al momento. Generalmente la búsqueda primero el mejor encuentra trayectorias más cortas a los estados meta.

23 Árbol generado s a d b d a e c e e b b f d f b f d e a c g g c g f g
10.4 8.9 a d 10.4 6.9 b d a e 6.7 3.0 c e e b b f d f b f d e a c g g c g f g

24 ¿cuál es el mejor método?
Primero en profundidad es bueno cuando se sabe – con seguridad – que el árbol no es muy profundo. Primero en anchura, cuando el factor de ramificación no es muy grande. Los métodos heurísticos son adecuados cuando existe una medida natural de la distancia entre cada estado y el estado meta.

25 Encontrando la mejor ruta
Estos métodos consideran, a diferencia de los anteriores, el peso de las ramas. Su objetivo no es únicamente encontrar una ruta, sino encontrar la mejor (típicamente la más corta). Entre ellos se encuentran: El procedimiento del museo británico Ramificación y cota El algoritmo A*

26 Procedimiento británico
¿qué hacer para asegurar encontrar la ruta óptima? Procedimiento de museo británico: Primero encontrar todas las rutas al objetivo Después seleccionar la mejor Puede usarse búsqueda en anchura o en profundidad como estrategia de exploración. Terminar hasta recorrer el árbol completamente. ¿qué inconveniente le encuentran?

27 Árbol generado con DFS s d a e b f c g a b c e d f g 1 14 11 9 8 10 12
13 15 16 17 18 19 20 21 22 23 24 25 26 a 2 b 3 4 c e 6 5 d f 7 g

28 Aplicabilidad No tiene problemas con árboles (muy) pequeños.
En la mayoría de los casos no es aplicable. Por explosión exponencial Si tenemos un árbol (mediano) con niveles d = 10, y un factor de ramificación b = 10. Los estados visitados son bd. 1010 = 10 billones de estados

29 Ramificación y cota Menos sacrificado para encontrar la ruta óptima.
Idea básica es expandir en cada ocasión la ruta parcial con el menor costo hasta el momento. Es decir, todos los nodos abiertos hasta el momento entran en consideración. Similar a método “primero el mejor”, pero al revés. En lugar de seguir el trayecto que aparentemente tiene la menor distancia hacia el objetivo, se sigue aquel que hasta el momento es el más corto.

30 Algoritmo básico Formar una cola de trayectos parciales. Inicialmente sólo tiene el elemento raíz. Hasta que la cola se vacié o se alcance el nodo objetivo, determinar si el primer elemento alcanza el nodo objetivo. Si alcanza el objetivo, salir. Si no, entonces; Borrar el nodo de la cola Agregar sus hijos a la cola Ordenar los nodos por costo acumulado Si el nodo objetivo fue encontrado mencionar éxito, de lo contrario anunciar falla.

31 Árbol generado s a d b d a e c e e b b f d f b f d e a c g g c g f g 1
2 3 a d 4 4 5 6 3 7 b d 8 9 a e 6 8 7 c e e b b f 11 12 10 13 11 10 9 d f b f d e a c g 15 14 13 g c g f g

32 Asegurar la ruta optima
5 3 b b 1 1 s s 2 a g 2 a g 3 3 ¿cuál es la respuesta del método? ¿cómo podemos asegurar encontrar la ruta óptima? ¿cuándo debemos terminar el algoritmo? Cuando todas las rutas parciales tengan igual o mayor peso que la trayectoria encontrada

33 Árbol completo s a d b d a e c e e b b f d f b f d e a c g g c g f g 1
2 3 a d 4 4 5 6 3 7 b d 8 9 a e 6 11 12 10 8 7 c e e b b f 11 12 10 13 11 10 9 d f b f d e a c g 14 16 15 14 15 15 13 g c g f g

34 Estimación de la distancia restante
Usar una estimación de la distancia restante a la meta puede mejorar considerablemente el método. Si es buena estimación, entonces ella mas distancia recorrida debe ser un buen cálculo de la longitud total de la trayectoria: e(long trayectoria) = d(ya recorrida) + e(dist. restante) Si las conjeturas fueran correctas este método se mantendría todo el tiempo en la ruta optima. Mejor estimación, mejor la búsqueda

35 Subestimaciones son apropiadas
Las estimaciones no son perfectas; esto puede traer serios problemas al método. ¿que sucederá con sobreestimaciones de la distancia restante? Desvío permanente de la trayectoria óptima No existiría la certeza, hasta recorrer el árbol completo, que la ruta encontrada es la optima. El método funciona adecuadamente con subestimaciones de la distancia restante.

36 Árbol generado con distancia directa entre ciudades
1 13.4 a d 12.9 2 b d 19.4 a e 12.9 3 c e e b 17.7 b f 13 4 d f b f d e a c g 13 g c g f g

37 Trayectorias redundantes
Ramificación y cota puede mejorarse eliminando las trayectorias redundantes. Se relaciona con el principio de programación dinámica. El mejor camino del punto de inicio a la meta, a través de un lugar intermedio específico, es el mejor camino hacia éste desde el lugar de inicio, seguido por el mejor camino desde éste a la meta. No hay necesidad de buscar por otras trayectorias hacia o desde el punto intermedio.

38 Árbol generado s a d b d a e c e e b b f d f b f d e a c g g c g f g 1
2 3 a d 4 4 3 7 b d 8 9 a e 6 7 5 c e e b b f 11 12 10 13 11 10 6 d f b f d e a c g 14 16 15 14 15 15 13 g c g f g

39 Procedimiento A* Es una búsqueda de ramificación y cota con:
Estimación de distancia restante Eliminación de trayectorias redundantes Si la estimación de la distancia restante es un limite inferior de la distancia real, entonces A* produce soluciones optimas.


Descargar ppt "Fundamentos de Inteligencia Artificial Búsqueda"

Presentaciones similares


Anuncios Google