O artigo apresenta o GAA* - algoritmo de busca heurística incremental para o cálculo do menor caminho entre dois nós de um grafo. Desenvolvido com base no algoritmo Adaptative A*, permite que ocorra, entre as buscas sucessivas, o aumento e/ou a diminuição do peso das arestas, a mudança do start e a mudança do goal. Diferentemente do seu predecessor, é capaz de tratar a diminuição do peso das arestas (razão pela qual recebe o nome de Generalized Adaptive A*).
Como mencionado, o GAA* adota o paradigma conhecido como busca incremental. Nesse paradigma, reutiliza-se a informação das buscas anteriores para encontrar a solução de uma série de problemas de busca de menor caminho semelhantes mais rápido do que recomputar cada um deles do início. O reaproveitamento das informações das buscas anteriores dá-se através da atualização dos h-values dos nós. Nessa atualização, agrega-se mais informações a heurística. Dessa forma, os h-values atualizados dominam, pelo menos fracamente, os h-values providos inicialmente. Após as atualizações, eles são sempre mantidos consistentes em relação ao goal o que garante a otimalidade da solução calculada pelo A* (empregado no GAA* como uma espécie de subrotina). A versão do algoritmo apresentada é chamada de lazy por postergar a atualização da heurística sempre que possível.
Para avaliação experimental, o algoritmo é comparado com outros três (A*, busca em largura e D* Lite) em duas situações de ambientes dinâmicos (com o goal imóvel e com o goal movendo-se). Todos algoritmos, com exceção do D* Lite, possuem duas versões: uma que expande os nós do goal para o start e a outra que expande de maneira tradicional (do start para o goal). As versões que expandem da maneira não usual mostraram-se mais rápidas. O GAA* mostrou-se mais rápido do que os demais quando o goal podia deslocar-se.
Apesar de avaliar o algoritmo comparando-o com vários outros, os testes foram limitados, pois os ambientes dos testes foram restritos. Todos testes foram feitos em um labirinto gerado com uma busca em profundidade, ou seja, o ambiente possui arestas de custo unitário e, inicialmente, muitas células bloqueadas. Experimentos realizados sugerem que o desempenho é bastante comprometido em grafos cujas arestas apresentam pesos não uniformes, mapas com células bloqueadas distribuídas livremente e um número de células bloqueadas menor. Além disso, apesar de não ficar claro no artigo, assume-se que sempre exista uma solução ao longo da série de buscas. Ou seja, se durante a série de buscas alguma delas não possui solução, os h-values não poderão ser atualizados.
Download
Links relacionados:
|