Suponha que eu tenha uma embarcação autônoma de superfície movida a energia solar em algum lugar nos fiordes da Noruega, fornecida com um conjunto bastante recente de mapas, um receptor de GPS e nenhum meio de descartar comandos detalhados de mim. Este navio deve chegar, digamos, à ilha de Hainan o mais cedo possível.
- Quais são os algoritmos determinísticos para encontrar uma rota marítima em um globo?
Qual é o tempo e a complexidade da memória?
Posso, por exemplo, usar A * depois de transformar o mapa do globo em um diagrama com polígonos conectados (isto é, triangulação de Delaunay em uma esfera / elipsóide) e quais são outras abordagens possíveis?
As respostas devem, idealmente, fornecer referências a trabalhos com discussão das perguntas acima mencionadas.
Conforme apontado por Rob Lang , os algoritmos devem se encaixar nos critérios usuais: na ausência de restrições de tempo, levam ao caminho mais curto entre dois pontos nos oceanos e mares da Terra, ou indicam a falha na busca de caminhos.
Existem subtópicos interessantes aqui (troca de tempo / armazenamento pré-computacional para cálculos on-line, fornecendo rotas ligeiramente abaixo do ideal antes do prazo final, etc.), mas elas são auxiliares do problema principal.
fonte
Respostas:
O requisito determinístico não é tão constrangedor. Isso apenas implica que seu veículo está certo do estado em que está. Dito isto, você provavelmente desejará planejar caminhos de uma maneira que permita evitar obstáculos. A melhor maneira de ver isso é com planejadores baseados em amostragem. Steven LaValle escreveu o recurso acadêmico central sobre este tópico: Algoritmos de planejamento .
O algoritmo RRT * está entre os planejadores que ele descreve. Esse algoritmo gera a árvore do espaço de estados com amostras aleatórias e algumas heurísticas para garantir a viabilidade (por exemplo, evitar obstáculos) e otimizar. Detalhes sobre o RRT * podem ser encontrados no livro de LaValle ou no site de Sertac Karaman . As características assintóticas de tempo e memória são descritas como O (nlogn) para processar e O (n) para consultas. O algoritmo é linear, O (n), também na complexidade do espaço.
fonte
Para uma análise mais aprofundada, os campos em potencial são uma opção interessante e de baixo custo para busca de caminhos. Você colocaria uma carga forte no destino e, eventualmente, o agente chegaria à carga. Um artigo mais técnico da Fundação Internacional para agentes autônomos e sistemas multiagentes fornece mais informações.
Os campos vetoriais também são uma solução muito barata, mas são usados com mais frequência na busca de caminhos de vários agentes . No entanto, os campos vetoriais são muito bons para áreas abertas. Nenhum dos métodos acima garante o caminho mais curto, sacrificando o caminho ideal para uma melhor resposta dinâmica.
As abordagens combinadas também são fortes, como usar A * anteriormente para gerar pontos de referência e usar campos vetoriais para ir para cada ponto de referência. Provavelmente, isso dará um comportamento muito mais ideal em uma escala macro.
Lembre-se disso caso você adquira um exército de robôs nadadores.
fonte