algoritmoaestrella

13
Página 1 Universidad Mayor de San Simon Facultad de Ciencia y Tecnología Ing. De Sistemas Integrantes: Grover Salguero Quinteros Daniel Sandoval Peñaloza Denis Roger Arratia Rodriguez Wilder Milthon Baptista Vasquez Docente: Lic. García Pérez Carmen Rosa Materia: Inteligencia artificial Fecha: 07-04-20114 CBBA-BOLIVIA

Upload: luis-fernando-rodriguez-mendia

Post on 30-Sep-2015

1 views

Category:

Documents


0 download

DESCRIPTION

algoritmos

TRANSCRIPT

  • 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