Ir al contenido principal

A* ALGORITMO

Algoritmo A*
El algoritmo A*es un algoritmo de búsqueda que puede ser empleado para el cálculo de caminos mínimos en una red. Se va a tratar de un algoritmo heurístico, ya que una de sus principales características es que hará uso de una función de evaluación heurística, mediante la cual etiquetará los diferentes nodos de la red y que servirá para determinar la probabilidad de dichos nodos de pertenecer al camino óptimo.
Esta función de evaluación que etiquetará los nodos de la red estará compuesta a su vez por otras dos funciones. Una de ellas indicará la distancia actual desde el nodo origen hasta el nodo a etiquetar, y la otra expresará la distancia estimada desde este nodo a etiquetar hasta el nodo destino hasta el que se pretende encontrar un camino mínimo. Es decir, si se pretende encontrar el camino más corto desde el nodo origen s, hasta el nodo destino t, un nodo intermedio de la red n tendría la siguiente función de evaluación f(n) como etiqueta:
f(n)= g(n) + h(n)
Donde:
  • g(n) indica la distancia del camino desde el nodo origen s al n.
  • h(n) expresa la distancia estimada desde el nodo n hasta el nodo destino t.
  • 1.- Establecer el nodo s como origen. Hacer f(s)=0, y f(i)=∞ para todos los nodos i diferentes del nodo s. Iniciar el conjunto Q vacío.
  • 2.- Calcular el valor de f(s) y mover el nodo s al conjunto Q .
  • 3.- Seleccionar el nodo i del conjunto Q que presente menor valor de la función f(i) y eliminarlo del conjunto Q.
  • 4.- Analizar los nodos vecinos j de i. Para cada enlace (i, j) con coste cij hacer:
  • 4.1.-Calcular: f(j)’=g(i)+cij +h(j)
  • 4.2.-Si f(j)’<f(j),
  • 4.2.1.-Actualizar la etiqueta de j y su nuevo valor será: f(j)= g(i)+cij +h(i)
  • 4.2.2.-Insertar el nodo j en Q
  • 4.3.-Si f(j)’≥f(j)
  • 4.3.1.-Dejar la etiqueta de j como está, con su valor f(j)
  • 5.- Si Q está vacío el algoritmo se termina. Si no está vacío, volver al paso 3.
Este algoritmo permite una implementación conservadora de memoria puesto que sólo necesita almacenar en su estado los nodos visitados según lo indica su heurística.


Comentarios

Entradas populares de este blog

TALLER SEMANTICA

Ejercicio: I. Responder las siguientes preguntas. 1.      Explique cada una de las componentes de las redes semánticas 2.      Cuales son las ventajas y desventajas del uso de RS como forma de RC. 3.      Señale la importancia del manejo de herencia en RS 4.      Para que y como se utiliza la operación de confrontación. Explique con un ejemplo. II. Represente utilizando redes semánticas el siguiente conocimiento. ·         Los platelmintos, son animales de simetría bilateral, cuerpo aplanado y vida parasitaria. ·         Los moluscos son animales con simetría bilateral cuerpo blando y vida marina ·         Los artrópodos son animales con simetría bilateral, cuerpo anillado y vida acuática y terrestre ·         Los phylum cordados son del reino anima...

BUSQUEDA HEURISTICA POR COSTO UNIFORME Y HEURISTICA PURA

TORRES DE HANOI: En la imagen se muestra el grafo de la solución, se señala la mejor solución con color morado.   HANOI COSTO UNIFORME LISTA NODO SUCESORES I I II(1), III(2) II(1), III(2) II(1) IV(2+1) III(2), IV(3) III(2) V(1+2) IV(3), V(3) IV(3) VI(1+3), VII(1+3) V(3), VI(4), VII(4) V(3) VIII(3+2), IX(3+1) VI(4), VII(4), VIII(5), IX(4) VI(4) STOP VII(4), VIII(5), IX(4) VII(4) VI(4+2), VIII(4+1) VIII(5), IX(4), VI(6), VIII(5) IX(4) VIII(4+1) VIII(5), VI(6), VIII(5), VIII(5) VIII(5) VII(5+1) VIII(5), VI(6), VIII(5), VII(6) VIII(5) VII(5+1) VI(6), VIII(5), VII(6), VII(6) VIII(5) IX(5+1) VI(6),VII(6), VII(6), IX(6) VI(6) STOP VII(6...

TALLER PROFUNDIDAD - AMPLITUD ITERATIVA

1 . Para el grafo usted deberá llegar de A a H aplicando los algoritmos: A. Interactive Debending (I D) Búsqueda profundización iterativa. B. Amplitud iterativa. 2. Explicar: A. El pseudocodigo de los algoritmos anteriores. B. Su complejidad exponencial y temporal (mejor caso, peor caso, caso medio). C. ¿Es Completo? Justifique su respuesta. D. ¿Es Optimo? Justifique su respuesta. SOLUCIÓN: 1.El problema con exigir un límite de profundidad, está precisamente en escoger un límite adecuado. Profundidad iterativa va aumentando gradualmente la profundidad hasta encontrar una meta. Es óptimo y completo. PRUEBA DE ESCRITORIO. AMPLITUD ITERATIVA: PSEUDOCODIGOS: Búsqueda en profundidad iterativa (límite: entero)   prof=1; Est_abiertos.inicializar()   Mientras  no es_final?(Actual) y prof<limite hacer     Est_abiertos.insertar(Estado inicial)     Actual= Est_abierto...