Download - A- Path Finding
![Page 1: A- Path Finding](https://reader031.vdocuments.com.br/reader031/viewer/2022020518/577c808b1a28abe054a92838/html5/thumbnails/1.jpg)
A* Path Finding
![Page 2: A- Path Finding](https://reader031.vdocuments.com.br/reader031/viewer/2022020518/577c808b1a28abe054a92838/html5/thumbnails/2.jpg)
Imagine que um gatinho precisa encontrar o melhor caminho até o seu petisco.
Introdução
![Page 3: A- Path Finding](https://reader031.vdocuments.com.br/reader031/viewer/2022020518/577c808b1a28abe054a92838/html5/thumbnails/3.jpg)
● Divida o mapa em secções
● Utilizaremos duas listas:
- Lista Aberta- Lista Fechada
Definindo o mapa
![Page 4: A- Path Finding](https://reader031.vdocuments.com.br/reader031/viewer/2022020518/577c808b1a28abe054a92838/html5/thumbnails/4.jpg)
● 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
![Page 5: A- Path Finding](https://reader031.vdocuments.com.br/reader031/viewer/2022020518/577c808b1a28abe054a92838/html5/thumbnails/5.jpg)
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
![Page 6: A- Path Finding](https://reader031.vdocuments.com.br/reader031/viewer/2022020518/577c808b1a28abe054a92838/html5/thumbnails/6.jpg)
● 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
![Page 7: A- Path Finding](https://reader031.vdocuments.com.br/reader031/viewer/2022020518/577c808b1a28abe054a92838/html5/thumbnails/7.jpg)
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*
![Page 8: A- Path Finding](https://reader031.vdocuments.com.br/reader031/viewer/2022020518/577c808b1a28abe054a92838/html5/thumbnails/8.jpg)
Quando o objetivo está na lista aberta, você deve adicioná-lo a lista fechada e retornar a lista do caminho encontrado.
O algoritmo A*