Escolar Documentos
Profissional Documentos
Cultura Documentos
A*
Unidad III. Algoritmos Heursticos
A*
Es un algoritmo de bsqueda que
encuentra la ruta de menor costo
entre dos puntos.
Siempre que se cumplan una serie de condiciones
INTRODUCCIN
1964 1967
Nils Nilson Bertran Raphael
Algoritmo A1 Algoritmo A2
Mejora Dijkstra Optimalidad no demostrable
ORGENES DEL ALGORITMO A*
1968
Peter Hart
Kleene star
Descrito por primera vez.
DESCRIPCIN DEL ALGORITMO A*
h(x) y g(x)
DESCRIPCIN DEL ALGORITMO A*
Donde:
Costo: Representa el valor explcito de
movernos de nuestro punto actual al siguiente
en alguna direccin dada, si no se especifica se
toma como unitario ya que pertenece a una
distribucin uniforme.
DESCRIPCIN DEL ALGORITMO A*
h(x) = costo [ abs (nodox objetivox)
+ abs(nodoy objetivoy) ]
g(x) = 1 + a (padreg 1)
Donde:
a: representa un valor entre 0 y 1 dado por las
circunstancias del problema a resolver.
Padreg: es el valor obtenido de la ecuacin g(x) del
anterior nodo padre. Cuando iniciamos los clculos por
primera vez, este valor es 0 para el nodo origen.
En esta ecuacin se debe prestar atencin especial
conforme se vaya avanzando, ya que se debe sumar el
resultado obtenido en la ecuacin anterior el mismo
valor g del padre anterior de nueva forma, es decir,
tendramos algo as:
DESCRIPCIN DEL ALGORITMO A*
Este algoritmo
consiste entonces en
atravesar una grfica
De esta forma siguiendo una ruta
podemos empezar a con el menor costo
realizar los clculos conocido.
para cada uno de los
nodos que se vayan
analizando.
DESCRIPCIN DEL ALGORITMO A*
Solution(n)
Establecer el padre de n a n
1 2 3 4 5
Visualizacin Posicin de inicio (1,1)
5
Posicin meta (5,2)
1 2 3 4 5
Visualizacin Posicin de inicio (1,1)
5
Posicin meta (5,2)
4
Obstculos
1 2 3 4 5
Visualizacin El nico nodo sucesor en
este caso es (1,2), no
5 existe otra posibilidad de
4
eleccin.
1 2 3 4 5
Visualizacin El nico nodo sucesor en
este caso es (1,2), no
5 existe otra posibilidad de
4
eleccin.
3
(1,3)
1 2 3 4 5
Visualizacin El nico nodo sucesor en
este caso es (1,2), no
5 existe otra posibilidad de
4
eleccin.
3
(1,3)
2
(1,4)
1 2 3 4 5
Visualizacin El nico nodo sucesor en
este caso es (1,2), no
5 existe otra posibilidad de
4
eleccin.
3
(1,3)
2
(1,4)
1
(2,5)
1 2 3 4 5
Visualizacin Opciones
5
(3,4) o (3,5)
Nodo (3,5)
g(n) = dist((1,1),(1,2)) + dist((1,2),(1,3)) + dist((1,3),(1,4)) +
dist((1,4),(2,5)) + dist((2,5),(3,5)) = 1 + 1 + 1 + 1.41 + 1= 5.41
h(n) = dist((3,5),(5,2)) = sqrt((5-3)^2+(2-5) ^2) = sqrt(13) = 3.61
f(n) = 5.41 + 3.61 = 9.02
Visualizacin En este caso, el nodo
elegido sera el (3,4) como
5 el sucesor del (2,4)
4
1 2 3 4 5
COMPLEJIDAD COMPUTACIONAL DEL
ALGORITMO
La complejidad computacional del algoritmo est
ntimamente relacionada con la calidad de la heurstica
que se utilice en el problema.
En el peor caso, con una heurstica de psima calidad, la
complejidad ser exponencial, mientras que..
En el mejor caso, con una buena h(n), el algoritmo se
ejecutar en tiempo real. Para que esto suceda, se debe
cumplir que