a- path finding
DESCRIPTION
Algoritmo A*TRANSCRIPT
A* Path Finding
Imagine que um gatinho precisa encontrar o melhor caminho até o seu petisco.
Introdução
● Divida o mapa em secções
● Utilizaremos duas listas:
- Lista Aberta- Lista Fechada
Definindo o mapa
● Aberta: Contém todos os quadrados que precisam ser avaliados para o melhor caminho;
● Fechada: Contém todos os que já foram avaliados.
● O quadrado atual deve ser adicionado a lista fechada, e todos os seus vizinhos a lista aberta.
Lista Aberta / Lista Fechada
Todo quadrado terá uma pontuação F, essa pontuação será a soma do custo de movimento (G) e da estimativa de distância até o objetivo (H)
F = G + H
Pontuando os caminhos
● G: Quanto custa para se movimentar da origem até esse quadrado.
●● H: A estimativa de distância do
quadrado atual até o quadrado final. Utilizaremos o método Manhattan, que conta o número de quadrados horizontais e verticais até chegar ao objetivo.
Pontuando os caminhos
O gato encontrará o caminho mais curto repetindo os seguintes passos: 1. Verifique o quadrado com o menor F;2. Retire-o da lista aberta e adicione-o a lista fechada;3. Para cada cada vizinho desse quadrado:- Se ele estiver na lista fechada, ignore- Se ele não estiver na lista aberta, adicione-o e calcule seu F- Se ele está na lista aberta, verifique se a pontuação F dele fica
menor se usarmos o caminho gerado até aqui. Se sim, atualize o F e seu quadrado pai.
O algoritmo A*
Quando o objetivo está na lista aberta, você deve adicioná-lo a lista fechada e retornar a lista do caminho encontrado.
O algoritmo A*