1 / 84

Inteligencia Artificial Clase # 5 Búsqueda Heurística

Inteligencia Artificial Clase # 5 Búsqueda Heurística. Dr. Wladimir Rodríguez Postgrado de Computación ULA. BUSQUEDA HEURISTICA O INFORMADA. Usan algún método para controlar o guiar la búsqueda ¿Para que son utilizadas las heurísticas?

Télécharger la présentation

Inteligencia Artificial Clase # 5 Búsqueda Heurística

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inteligencia ArtificialClase # 5Búsqueda Heurística Dr. Wladimir Rodríguez Postgrado de Computación ULA Dr. Wladimir Rodríguez - ULA

  2. BUSQUEDA HEURISTICA O INFORMADA • Usan algún método para controlar o guiar la búsqueda • ¿Para que son utilizadas las heurísticas? • Para ordenar la búsqueda (busqueda plausible) ver primero los nodos mas prometedores • Para controlar el ancho de la búsquedaprobar más en profundidad que a lo ancho • Tipos de Heurística: • Dirigidas por las metas conociendo que es lo que se quiere alcanzar • Dirigidas por el conocimiento usando conocimiento especifico del dominio para reducir la búsqueda Dr. Wladimir Rodríguez - ULA

  3. BUSQUEDA EL MEJOR PRIMERO • Selecciona de la lista de nodos para su expansión el “mejor nodo” • Requiere de una función de evaluación f la cual determinara numericamente que tan “bueno” es un nodo dado. (asumir que valores mayores de f indican un mejor nodo). • Garantia de encontrar una solución debido a que todos los nodos sucesores de un nodo son agregados tal como en la búsqueda a lo ancho. Sin embargo, no garantiza una respuesta óptima a menos que la función de evaluación sea escogida correctamente. Dr. Wladimir Rodríguez - ULA

  4. ALGORITMO DEL MEJOR PRIMERO Poner nodo inicial en la lista. Si nodo inicial es la meta, fin. Si la lista está vacía, no hay solución. De lo contrario: Seleccionar nodo de la lista tal que f(nodo) sea máximo. Si nodo seleccionado es la meta, fin. De lo contrario: Expandir el nodo seleccionado y agregar todos los sucesores a la lista. Repetir. Dr. Wladimir Rodríguez - ULA

  5. BUSQUEDA EL MEJOR PRIMERO • También conocida como búsqueda avara, cuando f(n) es una función heurística h(n) usada para estimar el costo para alcanzar la meta desde el nodo actual. Mientras que f no es necesariamente dirigida a la meta, h si lo es. • Para el 8-puzzle, f(n) podría ser el número de piezas en la posición correcta. A mayor número de piezas correctas en algún estado, mejor será el nodo que representa ese estado. • También podría ser la distancia “manhattan” para que todas las piezas estén en la posición correcta. Dr. Wladimir Rodríguez - ULA

  6. 8-PUZZLE Dr. Wladimir Rodríguez - ULA

  7. BUSQUEDA EL MEJOR PRIMERO • Mejoras: • Computar f para cada sucesor en el momento de la expansión, y almacenarlo con el nodo. Esto significa que f es computada solamente una vez por nodo. • Ordenar la lista para agregar los sucesores en la posición adecuada. Esto implica no tener que seleccionar el mínimo cada vez. Dr. Wladimir Rodríguez - ULA

  8. EJEMPLO Dr. Wladimir Rodríguez - ULA

  9. EJEMPLO Dr. Wladimir Rodríguez - ULA

  10. Búsqueda Avara • Es una búsqueda “mejor el primero” con f(nodo)=h(nodo). • Función heurística (h) • h(nodo)=coste estimado del camino más corto desde un nodo hasta el objetivo. • Todas las funciones heurísticas deben cumplir al menos: • h(n)>=0, para todo nodo n • h(n)=0, si “n” es un nodo objetivo Dr. Wladimir Rodríguez - ULA

  11. Navegación del Robot Dr. Wladimir Rodríguez - ULA

  12. 8 7 6 5 4 3 2 3 4 5 6 7 5 4 3 5 6 3 2 1 0 1 2 4 7 6 5 8 7 6 5 4 3 2 3 4 5 6 Navegación del Robot f(N) = h(N), con h(N) = distancia Manhattan a la meta Dr. Wladimir Rodríguez - ULA

  13. Navegación del Robot f(N) = h(N), con h(N) = distancia Manhattan a la meta 8 7 6 5 4 3 2 3 4 5 6 7 5 4 3 5 0 6 3 2 1 0 1 2 4 ¿Qué paso? 7 7 6 5 8 7 6 5 4 3 2 3 4 5 6 Dr. Wladimir Rodríguez - ULA

  14. Búsqueda más Informada • La meta no es minimizar la distancia desde el último nodo en el camino hasta la meta, lo que queremos es minimizar el largo global del camino a la meta. • Dado g(N) como el costo del mejor camino encontrado hasta el momento entre el nodo inicial y N • f(N) = g(N) + h(N) Dr. Wladimir Rodríguez - ULA

  15. 3+8 2+9 4+7 5+6 3+8 8 7 6 5 4 3 2 3 4 5 6 7+2 7 5 4 3 5 6+1 8+3 6+1 6 3 2 1 0 1 2 4 7+2 7+0 6+1 7 6 5 8+1 6+1 8 7 6 5 4 3 2 3 4 5 6 3+8 7+2 2+9 3+10 2+9 2+9 5+4 4+5 8+3 7+4 3+6 4+7 5+6 1+10 6+3 2+7 2+7 4+5 6+5 5+6 3+8 3+6 7+4 3+8 1+10 0+11 4+7 6+3 7+2 5+4 6+3 Navegación del Robot f(N) = g(N)+h(N), con h(N) = distancia Manhattan a la meta 7+0 8+1 Dr. Wladimir Rodríguez - ULA

  16. BUSQUEDA EN ASCENSO DE CIMA • Seguir el camino que parece estar mejorando más rápidamente. • Continuar mientras que el camino siga mejorando. • Necesita de una función local que indique que tan bueno es el camino, conocida como función de evaluación (similar al f en el mejor primero). • Nunca retrocede. • Rápido, pero no garantiza encontrar una solución. • La solución encontrada no es necesariamente óptima. • Funciona si el camino a la solución es monotónico. Dr. Wladimir Rodríguez - ULA

  17. BUSQUEDA ASCENSO A LA CIMA • Es similar a la búsqueda el primero mejor, pero los nodos son agregados en forma diferente. • El Mejor Primero: • Escoger para expandir el nodo con el valor de f mínimo. • Ascenso a la Cima: • Escoger el nodo de la lista de sucesores del último nodo expandido con el valor mínimo de f (una vez que se decide expandir un nodo, solo considere sus sucesores y nunca trate un camino alternativo). Dr. Wladimir Rodríguez - ULA

  18. BUSQUEDA ASCENSO A LA CIMA • Problemas: • puede parase en mínimos locales. • Planicies, no hay mejoría local en f, por lo que puede andar sin rumbo. Dr. Wladimir Rodríguez - ULA

  19. COMPARACION Dr. Wladimir Rodríguez - ULA

  20. ENDURECIMIENTO SIMULADO • Un método de descenso de gradiente como el ascenso a la cima. • Usa aleatoriedad para remover los problemas de mínimos locales. • Similar al proceso metalúrgico de endurecimiento. • La temperatura es disminuida en el tiempo: a mayor T, mayor la aleatoriedad de la selección del sucesor. Dr. Wladimir Rodríguez - ULA

  21. BUSQUEDA A* • Búsqueda óptima para solución óptima • Parecida a el mejor primero, con: • f(n) = g(n) + h(n) • donde: • g(n) = costo mínimo del camino desde el nodo inicial al nodo n. • f(n) = costo mínimo estimado desde el nodo n al nodo meta. Dr. Wladimir Rodríguez - ULA

  22. BUSQUEDA A* • f, g, h son aproximaciones a los verdaderos valores de f*, g*, h*, respectivamente. • Requiere conocer el costo de cada uno de los movimentos, tal como en el costo uniforme, para calcular g. • Requiere de una función de evaluación heurística para juzgar que tan díficil es llegar desde el nodo actual al nodo final. Dr. Wladimir Rodríguez - ULA

  23. Notas sobre g • g se calcula a partir del costo actual del camino recorrido hasta ese momento. • g se conoce exactamente mediante la suma de todos costo del camino desde el inicip hasta el nodo actual (como en el costo uniforme) • Si el espacio de búsqueda es un árbol, g = g*, debido a que solo hay un camino desde el nodo inicial al nodo actual. Dr. Wladimir Rodríguez - ULA

  24. Notas sobre g • En general, el espacio de búsqueda será un grafo. En este caso, g >= g*, esto es, g nunca puede ser menor que el costo del camino óptimo. Solo puede sobreestimar el costo. • g puede ser = g* en un grafo si es escogida apropiadamente. Dr. Wladimir Rodríguez - ULA

  25. Notas sobre h • h es una información heurística que representa una aproximación a que tan díficil es llegar desde el nodo actual hasta el nodo meta. • Para que el algoritmo A* encuentre la solución de costo mínimo: • h(n) debe ser >= 0. • h(n) debe ser <= h*(n), esto es, h nunca debe sobreestimar el costo actual para alcanzar la meta desde el nodo actual. Esto es conocido como la CONDICION DE AMSIBILIDAD. (Si un algoritmo garantiza encontrar un camino solución de costo mínimo (si existe), entonces el es ADMISIBLE.) Dr. Wladimir Rodríguez - ULA

  26. Más notas sobre h • Si h = h* (heurística perfecta), nunca se expandirán nodos innecesarios. • Si h = 0, entonces A* se reduce al algoritmo de búsqueda ciega de costo uniforme. • Meta: hacer h tan cercana como sea posible a h* sin sobreestimar h. • Si h* >= h1(n) > h2(n), • h1 es más “informada” que h2. • La condición de admisibilidad podría ser relajada para lograr mayor eficiencia, pero aunque se encontrará una solución esta puede ser no óptima. Dr. Wladimir Rodríguez - ULA

  27. EJEMPLO A* • Usar la menor distancia Euclidiana en línea recta como heurística para h (admisible). Dr. Wladimir Rodríguez - ULA

  28. Neamt Oradea 71 Zerind 87 Iasi 75 151 92 Arad La ruta optima es (140+80+97+101) = 418 millas 140 140 Vaslui 118 99 Sibiu Sibiu Faragas Timisoara 142 80 80 111 211 Lugoj Rimnicu Rimnicu 98 Urziceni Hirsova 70 86 97 97 Pitesti Pitesti Mehadia 146 101 101 Bucharest 86 75 138 Dobreta 90 120 Craiova Eforie Dr. Wladimir Rodríguez - ULA Giurgui

  29. Distancia en Línea Recta a Bucharest Se puede usar la distancia en línea recta como una heurística admisible ya que ella nunca sobre estimará el costo hasta la meta. Debido a que no hay una distancia más corta entre dos ciudades que la distancia en línea recta. Dr. Wladimir Rodríguez - ULA

  30. Zerind Oradea F= 75 + 374 F= 449 F= 291 + 380 F= 671 F= 0 + 366 F= 366 Arad Fagaras Sibiu F= 239 + 178 F= 417 F= 140 + 253 F= 393 Bucharest(2) F= 220 + 193 F= 413 F= 118 + 329 F= 447 F= 450 + 0 F= 450 Rimnicu Timisoara Bucharest Bucharest Bucharest Bucharest F= 418 + 0 F= 418 Pitesti F= 317 + 98 F= 415 Craiova F= 366 + 160 F= 526 Dr. Wladimir Rodríguez - ULA

  31. Mapa de Rumania mostrando los contornos a f = 380, f = 400 and f = 420, con Arad como estado inicial. Nota: Nodos dentro de un contorno dado tienen costos de f menor que el valor del contorno. Zerind Oradea 420 400 380 Arad Sibiu Fagaras Rimnicu Timisoara Bucharest Pitesti Craiova Dr. Wladimir Rodríguez - ULA

  32. ALGORITMO A* 1) N lista de todos los nodos iniciales. 2) Si N esta vacío, no hay solución. 3) Selecione n en N tal que f(n) = g(n) + h(n) es minimo. 4) Si n es un nodo meta, fin meta encontrada. 5) De lo contrario, remueva n de N, y agregue todos los hijos de n a N y vaya al paso 3. Dr. Wladimir Rodríguez - ULA

  33. A* con Profundidad Iterativa • Usar f(N) = g(N) + h(N) con una h admisible y consistente • Cada iteración es búsqueda en profundidad con un corte (cutoff) con el valor de f de los nodos expandidos. Dr. Wladimir Rodríguez - ULA

  34. 4 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=4 Dr. Wladimir Rodríguez - ULA

  35. 4 4 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=4 Dr. Wladimir Rodríguez - ULA

  36. 4 5 4 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=4 Dr. Wladimir Rodríguez - ULA

  37. 5 4 5 4 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=4 Dr. Wladimir Rodríguez - ULA

  38. 6 5 4 5 4 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=4 Dr. Wladimir Rodríguez - ULA

  39. 4 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=5 Dr. Wladimir Rodríguez - ULA

  40. 4 4 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=5 Dr. Wladimir Rodríguez - ULA

  41. 4 5 4 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=5 Dr. Wladimir Rodríguez - ULA

  42. 4 5 4 7 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=5 Dr. Wladimir Rodríguez - ULA

  43. 4 5 5 4 7 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=5 Dr. Wladimir Rodríguez - ULA

  44. 4 5 5 5 4 7 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=5 Dr. Wladimir Rodríguez - ULA

  45. 4 5 5 5 4 7 6 6 8-Puzzle f(N) = g(N) + h(N) con h(N) = número de fichas fuera de lugar Cutoff=5 Dr. Wladimir Rodríguez - ULA

  46. JUEGOS • Crear programas en el computador para jugar • Emular el razonamiento humano en el computador • Construir sistemas que sean capaces de tomar decisiones en un entorno adverso Dr. Wladimir Rodríguez - ULA

  47. JUEGOS: Características y Ejemplos • Características de los juegos que vamos a estudiar: • Juegos bipersonales. • Los jugadores mueven alternativamente. • La ventaja para un jugador es desventaja para el otro. • Los jugadores poseen toda la información sobre el estado del juego. • Hay un número finito de estados y decisiones • No interviene el azar (dados, cartas). • Ejemplos de juegos validos: • Ajedrez, damas, go, otelo, 3 en raya, nim, … • Ejemplos de juegos que no son validos • Backgammon, poker, bridge. Dr. Wladimir Rodríguez - ULA

  48. EJEMPLO DE JUEGO: NIM • Situación inicial: Una pila con N fichas. • Jugadas: Coger 1, 2 ó 3 fichas de la pila. • Objetivo: Obligar al adversario a coger la última ficha. • Desarrollo completo del juego con 4 piezas: Dr. Wladimir Rodríguez - ULA

  49. Estrategia ganadora: NIM • Estrategia ganadora: El movimiento que, haga lo que haga el adversario, nos lleve a una situación ganadora o a la que nos favorezca más. • Estrategia ganadora en el NIM Dr. Wladimir Rodríguez - ULA

  50. Desarrollo Incompleto • Función de evaluación estática • Límites inferior y superior • Valores programados, máximo y mínimo. • Desarrollo del NIM con valores programados. Dr. Wladimir Rodríguez - ULA

More Related