Algoritmo a estrella

Page 1

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

ALGORITMO A*

INTEGRANTES:  Bernabé Nuntón Jonathan  Choquehuanca Delgado César  Facundo Barboza Leonardo  Raya Gómez Arnold

ASIGNATURA: Inteligencia Artificial

DOCENTE:

F I C S A

ing. Juan Villegas Cubas

Lambayeque, Mayo de 2018 ALGORITMO A*


El algoritmo A* (conocido también como A estrella o asterisco) es un algoritmo de búsqueda que encuentra la ruta de menor coste entre dos puntos siempre y cuando se cumplan una serie de condiciones. Está clasificado dentro de los algoritmos de búsqueda en grafos ya que tiene la necesidad de dar a los mecanismos robóticos, vehiculares o virtuales un sistema de navegación autónomo. Es ampliamente utilizado en las ciencias de la computación para encontrar rutas y que tan transitable es una gráfica, es decir, se refiere al problema de visitar todos los nodos en una gráfica dada de forma particular, esto no es más que el proceso de trazado de la ruta más eficiente entre unos puntos llamados nodos. Este algoritmo goza de una aceptable y continua implementación gracias a su desempeño y precisión. Fue descrito por primera vez en 1968 como una extensión del algoritmo de Dijkstra (1959), por Peter Hart, Nils Nilsson y Bertran Raphael, que expusieron que el A* lograba un mejor desempeño con respecto al tiempo usando heurísticas. 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. 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. Esta técnica de búsqueda para grafos utiliza una función heurística (es una estimación de la distancia que queda). La función de evaluación es el resultado de la suma de otras dos funciones, una que indica el coste del camino que se ha seguido hasta un cierto nodo la cual se representa como g(x) y otra que nos da una estimación de la distancia del punto o nodo en que nos encontramos hasta el nodo objetivo final que está representada como h(x). Entonces la función de evaluación es el resultado de la suma de h(x) y g(x). f(x) = g(x) + h(x) Donde: -

g(x): indica la distancia del camino desde el nodo origen hasta el nodo actual. h(x): expresa la distancia estimada desde el nodo actual hasta el nodo destino.

CARACTERÍSTICAS  Completitud: Cuando de un algoritmo sabemos que siempre encontrará una solución si se le deja el tiempo necesario, decimos que el algoritmo es completo. El algoritmo A* es un algoritmo completo: en caso de existir una solución, siempre dará con ella.  Complejitud Espacial: Tiene que ver con el uso de memoria que tiene el algoritmo. El espacio requerido por A* para ser ejecutado es su mayor problema. Dado que tiene que almacenar todos los posibles siguientes nodos de cada estado, la cantidad de memoria que requerirá será exponencial con respecto al tamaño del problema.  Complejitud Temporal: Esta característica tiene relación con el tiempo necesario para encontrar la solución. En el algoritmo A* esto dependerá del número de nodos, pero este algoritmo siempre buscará llegar al nodo objetivo en un tiempo asequible.  Optimización: Para garantizar la optimalidad del algoritmo, la función h(n) debe ser admisible, quiere decir que no sobrestime el coste real de alcanzar el nodo objetivo, dicho de otra forma, la estimación que haga h(n) siempre ha de estar por debajo del


coste real para llegar de n al nodo objetivo, de lo contrario el algoritmo pasa a denominarse simplemente A, debido a que no se asegura que el resultado obtenido sea el camino de coste mĂ­nimo.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.