La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Inteligencia Artificial

Presentaciones similares


Presentación del tema: "Inteligencia Artificial"— Transcripción de la presentación:

1 Inteligencia Artificial
Algoritmo A*

2 Inteligencia Artificial Algoritmo A*
IntroducciÓn El algoritmo de búsqueda A* (A Estrella) se clasifica dentro de los algoritmos de busqueda en grafos. Presentado por primera vez en 1968 por Peter E. Hart, Nils J. Nilsson y Bertram Raphael, el algoritmo encuentra, siempre y cuando se cumplan unas determinadas condiciones, el camino de menor costo entre un nodo origen y uno objetivo. En donde se vera que el contar con información sobre un espacio de estados evita a los algoritmos emprender búsquedas a ciegas. Pag. 123 de libro

3 Inteligencia Artificial Algoritmo A*
Que es A*? Es un algoritmo de busqueda inteligente o respaldado por informacion que busca el camino mas corto desde un estado inicial al estado meta atraves de un espacio de problema usando una heuristica optima. Pertenece al metodo de busqueda preferente por lo mejor (Best First Search ).

4 Inteligencia Artificial Algoritmo A*
El algoritmo A* es usualmente utilizado en los problemas para encontrar la mejor ruta o camino, lo que realiza el algoritmo es construir todas las rutas desde un punto inicial hasta encontrar alguna que llegue al nodo final o meta. De éste modo solamente construye aquellas rutas que son candidatas a formar una solución o camino desde el inicio hasta el nodo final.

5 Inteligencia Artificial Algoritmo A*
Para poder determinar que rutas son las que tienen mayor probabilidad de llegar al nodo meta, el algoritmo utiliza una heurística basada en la distancia de cualquier punto dado hacía la meta. Donde se diferencia el algoritmo A* de otros algoritmos avaros de “best-first search” es el hecho de que va tomando en cuenta la distancia que ya ha recorrido hasta el momento, haciendo de este modo una respuesta mucho más completa y óptima.

6 Inteligencia Artificial Algoritmo A*
A* es una combinación entre los algoritmos de búsqueda de anchura con algoritmos de profundidad, esto debido a la función que utiliza f(n)= g(n)+h(n), dónde h(n) [que tiende primero a profundidad] representa el valor heurístico del nodo a evaluar y g(n) [que tiende a primero en anchura] representa el costo real del camino recorrido para poder llegar al nodo. Lo anterior lo posibilita a cambiar de camino de búsqueda cuando se encuentra un camino que pareciera ser más óptimo.

7 Inteligencia Artificial Algoritmo A*
Función de Evaluación La forma general de la función de evaluación es: f(n) = g(n) + h(n) donde g(n) es costo de llegar hasta el nodo n desde el nodo de salida s y h(n) es el costo estimado para llegar al nodo meta. Entonces f(n) es el costo estimado total restringido a pasar por el nodo n.

8 Inteligencia Artificial Algoritmo A*
g(n) inicio h(n) destino f(n) = costo estimado de la solución mas barata, pasando por n.

9 Inteligencia Artificial Algoritmo A*
h(n) g(n)

10 Inteligencia Artificial Algoritmo A*
Ventajas Elige el nodo de menor costo, es decir, el camino mas corto. Desventajas El tiempo de cómputo. Espacio de memoria Requiere demasiada informacion

11 Inteligencia Artificial Algoritmo A*
Aplicaciones Trazar Rutas. Los usos que se le pueden dar a éste algoritmo son el de trazar las rutas para llegar de una ciudad a otra, algo como lo que tiene la Secretaría de Comunicaciones y Transportes para trazar la ruta de una ciudad a otra sacando el menor costo y recorrido posible. La aplicación se llama “Traza Tú Ruta”. Es muy popular en la planificacion de rutas y ha sido exitoso en areas como la Robotica en Inteligencia Artificial.

12 Inteligencia Artificial Algoritmo A*
Caracteristicas Informado Completo Heuristico Optimo global Lento Como todo algoritmo de búsqueda en anchura, A* es un algoritmo completo: en caso de existir una solución, siempre dará con ella.

13 Inteligencia Artificial Algoritmo A*
Como funciona? Incorpora la longitud del camino desde la raíz hasta el estado actual en la función de evaluación h. Considera si el estado es bueno Toma en cuenta cómo es el camino usado para alcanzarlo Como todo algoritmo de búsqueda en anchura, A* es un algoritmo completo: en caso de existir una solución, siempre dará con ella.

14 Inteligencia Artificial Algoritmo A*
inicio destino

15 Inteligencia Artificial Algoritmo A*
Estructuras: Lista abierta: contiene los nodos que podrían formar parte del camino (nodos en espera de ser analizados) Lista cerrada: contiene los nodos que ya han sido examinados y que no hace falta volver a examinar.

16 RUMANIA Distancias entre ciudades

17 Inteligencia Artificial Algoritmo A*
ejemplo: Distancias en linea recta hacia Bucharest Arad Bucharest Craiova Fagaras Oradea Pitesti Rimnicu Vilcea 193 Sibiu 253 Timisoara Zerind 6 75 99 140 118 80 97 146 101

18 Escogemos la menor heuristica
118 es la distancia de Arad a Timisoara y 329 la distancia en linea recta de Timisoara a Bucharest (destino) Arad f(n)=0+366 = 366 75 140 118 Timisoara Sibiu Zerind f(n)=75+374 = 449 f(n)= = 393 f(n)= = 447 Escogemos la menor heuristica

19 Escogemos Rimmicu ya que es el mas cercano al destino
Arad f(n)=0+366 = 366 De Arad a Sibiu son de Sibiu a Fagaras son 239 (g(n)) +178 que es la distancia en linea recta de fagras a Bucharest. Sibiu f(n)= = 393 99 Arad Oradea Rimnicu Vilcea Fagaras f(n)= = 646 f(n)= = 526 f(n)= = 413 f(n)= = 417 Escogemos Rimmicu ya que es el mas cercano al destino

20 Arad Sibiu Rimmicu Vilcea Craiova Pitesti Sibiu f(n)=0+366 = 366
= 393 Rimmicu Vilcea f(n)= = 413 Craiova Pitesti Sibiu f(n)=317+98 = 415 f(n)= = 526 f(n)= = 553

21 Arad Sibiu Rimmicu Vilcea Pitesti Bucharest f(n)=0+366 = 366
= 393 Rimmicu Vilcea f(n)= = 413 Pitesti f(n)=317+98 = 415 Bucharest f(n)=418+0 = 418

22 f(n) = g(n) + h(n) Arad Timisoara Sibiu Zerind Rimnicu Vilcea Fagaras
= 366 Timisoara Sibiu Zerind f(n)= = 393 f(n)= = 447 f(n)=75+374 = 449 Rimnicu Vilcea Fagaras Arad Oradea f(n)= = 413 f(n)= = 646 f(n)= = 671 f(n)= = 417 Sibiu Craiova Pitesti f(n)= = 553 f(n)= = 526 f(n)=317+98 = 415 Bucharest f(n)=418+0 = 418

23 Inteligencia Artificial Algoritmo A*
Búsqueda limitada por la capacidad de la memoria

24 Inteligencia Artificial Algoritmo A*
Algoritmos diseñados para conservar la memoria:  BUSQUEDA A* por PROFUNDIZACION ITERATIVA (A*PI)  BUSQUEDA A* SRM

25 Búsqueda A*SRM Emplea toda la capacidad de memoria disponible para efectuar una búsqueda. El empleo de mas memoria permite mejorar la eficiencia en la búsqueda

26 A*SRM se Caracteriza por:
 Hará uso de toda la memoria que pueda disponer En la medida que se lo facilite la memoria, evitara los estados repetidos Es completo si la memoria disponible tienen capacidad suficiente para guardar la ruta solución mas cercana

27  Es optima si dispone de suficiente
memoria para guardar la ruta de solución optima mas cercana. De lo contrario, produce la mejor solución que sea posible obtener con la memoria disponible Si se dispone de suficiente memoria para todo el árbol de búsqueda, ésta resultara óptimamente eficiente

28 Ejemplo de A*SRM A B G C D H I E F J K Nodos meta 0+12=12
Valor para c/nodo G+H=F A 10 8 10+5=15 B 8+5=13 G 10 10 20+0=20 8 16 20+5=25 C D 24+0=24 H 16+2=18 I 10 10 8 8 30+5=35 30+0=30 E F 24+0=24 24+5=29 J K

29 A A A A G B G B H A A A A B G B B G I C D 13(15) 13 12 12 13 15 15 13
4 13(15) 13 A A A A 12 G 12 B G 13 15 B 15 13 H 18 5 6 7 8 A A 15 15(15) 15(24) A A 20(24) 15 24(∞) B G B 20(∞) B G 24 I C 25(∞) D 20 15 24

30 Inteligencia Artificial Algoritmo A*
Realizado por: Roxana Nidia Cisneros Silva Jesus Ambrocio Medina Hernández


Descargar ppt "Inteligencia Artificial"

Presentaciones similares


Anuncios Google