algoritmoaestrella
DESCRIPTION
algoritmosTRANSCRIPT
-
Pgina 1
Universidad Mayor de San Simon
Facultad de Ciencia y Tecnologa
Ing. De Sistemas
Integrantes: Grover Salguero Quinteros Daniel Sandoval Pealoza Denis Roger Arratia Rodriguez Wilder Milthon Baptista Vasquez
Docente: Lic. Garca Prez Carmen Rosa Materia: Inteligencia artificial Fecha: 07-04-20114
CBBA-BOLIVIA
-
Pgina 2
ndice 1. Introduccin ...............................................................................................................................3
2. Descripcin ................................................................................................................................3
3. Propiedades ...............................................................................................................................4
4. Algoritmo .......................................................................................................................................4
5. Bsqueda a asterisco funcin heurstica h(n) ..................................................................................5
Ejemplo 1 .......................................................................................................................................6
Paso 1 ........................................................................................................................................6
Paso 2 ........................................................................................................................................7
Paso 3 ........................................................................................................................................8
Paso 4 ........................................................................................................................................8
Paso 5 ........................................................................................................................................9
Paso 6 ...................................................................................................................................... 10
Estrategia de bsquedas ........................................................................................................... 10
Ejemplo 2 ..................................................................................................................................... 10
Paso 1 ...................................................................................................................................... 11
Paso 2 ...................................................................................................................................... 11
Paso 3 ...................................................................................................................................... 12
Estrategia de bsquedas ........................................................................................................... 13
-
Pgina 3
Algoritmo de bsqueda A *
1. Introduccin
El algoritmo de bsqueda A asterisco" o "A estrella" en uno algoritmo q encuentra la ruta de menor costo entre dos puntos, el algoritmo de bsqueda A* se clasifica dentro de los algoritmos de bsqueda en grafos ya que da un sistema de navegacin autnomo a los mecanismos robticos, vehiculares o virtuales. Presentado por primera vez en 1968 por Peter E. Hart, Nils J.
Nilsson y Bertram Raphael, el algoritmo A* encuentra, siempre y cuando se cumplan unas determinadas condiciones, el A* logra un mejor desempeo con respecto al tiempo usando heursticas
Este algoritmo es ampliamente utilizado en las ciencias de la computacin para encontrar rutas, es el trazado de una ruta ms eficiente entre unos puntos llamados nodos
El algoritmo A* es usualmente utilizado en los problemas para encontrar la mejor ruta o camino, lo que hace el algoritmo es construir todas las rutas posibles desde un punto inicial hasta encontrar alguna que llegue al nodo meta o final, de este modo se forman aquellas rutas que son candidatas a formar una camino desde el inicio hasta el final, el algoritmo utiliza una heurstica basada en la distancia de cualquier punto dado hacia la meta, el algoritmo va tomando en cuenta la distancia q ya ha recorrido hasta el momento haciendo de este modo una respuesta mucho ms completa y optima encontrando el camino de menor costo.
2. Descripcin
El algoritmo es una combinacin entre bsquedas del tipo primero en anchura con primero en profundidad: mientras que h(n) tiende a primero en profundidad, g(n) tiende a primero en anchura. De este modo, se cambia de camino de bsqueda cada vez que existen nodos ms prometedores. El algoritmo A* es un algoritmo q se encarga de encontrar la ruta q nos represente un menor costo entre el punto A y B. La funcin de evaluacin es el resultado de otras dos funciones una que indica el costo del camino que se ha seguido hasta un cierto nodo la cual se representa como g(n) y otra q nos da una estimacin de la distancia del punto en
-
Pgina 4
q nos encontramos hasta la meta que est representado como h(n) entonces la funcin de evaluacin es el resultado de la suma de h(n) y g(n).
f(n) = g(n) + h(n)
g(n) = costo del camino del nodo inicial al nodo n h(n) = costo estimado del nodo n a la meta f(n) = costo estimado desde el nodo n a la meta ste algoritmo se caracteriza por usar heursticas admisibles, es decir, heursticas que nunca sobrepasan el costo real para alcanzar la meta. Un ejemplo obvio de una heurstica admisible es la distancia en lnea recta h* que usamos para ir a una estacin destino de nuestro viaje. La distancia en lnea recta es admisible porque el camino ms corto entre dos puntos cualesquiera es una lnea recta, entonces la lnea recta no puede ser una sobrestimacin.
Adems de esto cumple con la propiedad de completitud, es decir, siempre encontrar la solucin si es que existe.
3. Propiedades
1. A* es un algoritmo Completo: en caso de existir una solucin, siempre dar con ella.
2. A* es ptima si h(n) es una heurstica admisible, es decir, con tal de que la h(n)
nunca sobrestime el coste de alcanzar el objetivo. Como g(n) es el coste exacto para
alcanzar n, tenemos como consecuencia inmediata que la f(n) nunca sobrestime el
coste verdadero de una solucin a travs de n
3. La complejidad temporal computacional del algoritmo est ntimamente
relacionada con la calidad de la heurstica que se utilice en el problema. En el caso
peor, con una heurstica de psima calidad, la complejidad ser exponencial,
mientras que en el caso mejor, con una buena, el algoritmo se ejecutar en tiempo
lineal. Para que esto ltimo suceda, se debe cumplir que donde h* es una heurstica
ptima.
4. La complejidad espacial 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 tamao del
problema.
4. Algoritmo
-
Pgina 5
Inicio
Crear listas vacas ABIERTO y CERRADO
Crear variables nodoInicial y nodoMeta e inicializarlas
Poner nodoInicial en ABIERTO
Mientras (ABIERTO tenga elementos y NO se haya llegado a nodoMeta)
Hacer
Quitar el primer nodo de ABIERTO
Si (el nodo no se encuentra en CERRADO) Entonces
Poner el nodo en CERRADO
Expandir el nodo obteniendo todos sus sucesores
Acumular distancias informacin + heurstica
Si (dos o mas trayectorias llegan a un mismo nodo) Entonces
Eliminar aquellas trayectorias que no alcancen el nodo comn con el
costo mnimo
Fin-Si
Si (hay nodos sucesores y NO son nodoMeta) Entonces
Moverlos a ABIERTO
Ordenar ABIERTO ascendentemente
Fin-Si
Fin-Si
Fin-Mientras
Fin
5. Bsqueda a asterisco funcin heurstica h(n)
La forma ms ampliamente conocida de la bsqueda primero el mejor se le llama bsqueda A* conocida como Bsqueda A-estrella; la cual evala los nodos combinando g(n) y h(n) de la siguiente manera: De la manera se trata de encontrar la solucin ms barata y es razonable intentar primero el nodo con el valor ms bajo de g(n). Cabe mencionar que esta estrategia resulta ser ms que razonable con tal que la funcin heurstica h(n) satisfaga cierta condiciones; la bsqueda A* compleja como optima, la optimalizad de A* es sencilla de analizar si se usa con la bsqueda de rboles.
-
Pgina 6
Ejemplo 1
Llegar del nodo A al nodo F usando bsqueda A*
Nodo Costo de nodo hasta F
A 7
B 6
C 5
D 2
E 4
F 0
Paso 1
En el ejemplo de la figura, se ha superpuesto una rejilla para estimar distancias. Supngase que se quiere determinar el camino ptimo entre A y F. Inicialmente, se toma el origen y se loca en la lista abierta.
-
Pgina 7
A-C=2+5=7
A-B=3+6=9
Paso 2
El nodo A pasa a lista cerrada y se pasan a la lista Abierta los conectados con el (B y C),
asignndoles valores R, E y punteros al antecesor (A).
C-E=7+4=11
C-D=5+2=7
-
Pgina 8
Paso 3
Se selecciona el de menor valor T de la lista Abierta (C) y se pasa a lista cerrada. Los
conectados con el (D y E) se pasan a Abierta, asignndoles valores R, E y punteros al
antecesor (C).
B-E=9+4=13
B-D=7+2=9
Se elige el menor
C-D=5+2=7
B-D=7+2=9
Paso 4
Se selecciona el de menor valor T de la lista Abierta (B) y se pasa a lista cerrada. Los
conectados con el (D y E) no se pasan a Abierta, pues el valor T es mayor que los ya
existentes.
-
Pgina 9
D-F=7+0=7
Paso 5
Se selecciona el de menor valor T de la lista Abierta (D) y se pasa a lista cerrada. Slo se
pasa el nodo F a Abierta, pues B est ya en cerrada.
F-F=7+0=7
-
Pgina 10
Paso 6
Se selecciona el de menor valor T de la lista Abierta (F) y se pasa a lista cerrada. Como es
el nodo destino, se acaba el proceso.
El menor costo que hay
A-C-D-F=7
1. Estado: Estar en el nodo a
2. Operador: Trasladarse de un nodo A al nodo F
3. Prueba meta: Llegar al nodo f
4. Costo ruta: Incrementa en 1 por cada movimiento
Estrategia de bsquedas
1. Completa: Si es completa garantiza encontrar la solucin
2. Optima: si es ptima por que se encuentra la mejor solucin
3. Complejidad temporal: 6 U/T
4. Complejidad espacial: 6 U/E
Ejemplo 2
Un vendedor desea ir de Colomi a Anzaldo vendiendo sus frazadas por las ciudades sealadas
-
Pgina 11
Como nodos del recorrido. Realice el recorrido de la bsqueda que maximice sus utilidades. Usted asigne los datos y las heursticas necesarias para solucionar el problema.
Paso 1
Encontramos la Heuristica calculamos un aproximado las distancia D. Para hallar las utilidades usamos: Nuestro Funcion=H G
Paso 2
Encontramos G para nuestro costo encontramos las distancia y le multiplicamos por una constante K=80 Para trabajar con unidades monetarias multiplicamos por una constante que seria K=80
distancia entre colomi y tiraque: 20.8 km x 80 = 1664
distancia entre colomi y sacaba: 33.9 km x 80 = 2712
distancia entre sacaba y tiraque: 42.3 km x 80 = 3384
distancia entre sacaba y punata: 65.6 km x 80 = 5248
distancia entre sacaba y tarata: 44.8 km x 80 = 3584
distancia entre tarata y anzaldo: 28.7 km x 80 = 2296
distancia entre anzaldo y tiraque: 69.7 km x 80 = 5576
distancia entre anzaldo y punata: 44.2 km x 80 = 3536
distancia entre arani y tiraque: 34.4 km x 80 = 2752
distancia entre arani y punata: 8.3 km x 80 = 664
-
Pgina 12
Paso 3
En nuestra heuristica, sacamos las utilidades de las ventas que ha realizado entre cada cuidad como datos guardados de ventas anteriores H=ventas realizadas
Utilidades entre colomi y tiraque: 5000
Utilidades entre colomi y sacaba: 3000
Utilidades entre sacaba y tiraque: 6000
Utilidades entre sacaba y punata: 6000
Utilidades entre sacaba y tarata: 4000
Utilidades entre tarata y anzaldo: 3000
Utilidades entre anzaldo y tiraque: 7000
Utilidades entre anzaldo y punata: 6000
Utilidades entre arani y tiraque: 8000
Utilidades entre arani y punata: 3000
-
Pgina 13
Recorrido Final: COLOMI - TIRAQUE - ARANI - PUNATA - ANZALDO
Estrategia de bsquedas
Completa: Si es completa garantiza encontrar la solucin
Optima: si es ptima por que se encuentra la mejor solucin
Complejidad temporal: 7 U/T
Complejidad espacial: 7 U/E