Quali sono gli algoritmi all'avanguardia per l'individuazione di percorsi su una mappa continua della Terra?


14

Supponiamo di avere una nave di superficie autonoma alimentata a energia solare da qualche parte nei fiordi della Norvegia, dotata di una serie abbastanza recente di mappe, un ricevitore GPS e nessun mezzo per il downlink dei miei comandi dettagliati. Questa nave deve raggiungere, per esempio, l'isola di Hainan il prima possibile.

  • Quali sono gli algoritmi deterministici per trovare una rotta marittima su un globo?
  • Qual è la loro complessità di tempo e memoria?

  • Posso, ad esempio, usare A * dopo aver trasformato la mappa del globo in un diagramma con poligoni collegati (ovvero triangolazione di Delaunay su una sfera / ellissoide) e quali altri approcci fattibili?

Le risposte dovrebbero idealmente fornire riferimenti a documenti con discussione delle domande di cui sopra.

Come sottolineato da Rob Lang , gli algoritmi devono soddisfare i soliti criteri: in assenza di vincoli temporali, portare al percorso più breve tra due punti qualsiasi degli oceani e dei mari della Terra, oppure indicare in caso contrario l'insuccesso della ricerca del percorso.

Ci sono interessanti sotto-argomenti qui (trading di tempo / calcolo pre-calcolo per calcoli online, fornendo percorsi leggermente subottimali prima che una scadenza entri in vigore ecc.), Ma questi sono accessori al problema principale.


1
@JDong - la navigazione terrestre segue rotte / strade, nel complesso, quindi A * viene naturale. Un grafico pre-costruito è quello che userei.
Deer Hunter,

1
Ah, ho perso la parte critica della tua domanda: "continua". In tal caso, forse i campi vettoriali o potenziali potrebbero essere promettenti.
JDong,

1
@RobLang - domanda modificata.
Deer Hunter,

1
Per una rotta marittima dovrai calcolare i livelli del mare, del vento e del flusso d'acqua. Di che tipo di nave stiamo parlando? OpenSeaMap fornisce alcune rotte di spedizione. Se potessi usare quegli A * funzionerebbe. Penso anche che questa domanda sia ampia per questa beta.
PiTheNumber,

1
Penso che questa domanda vada bene se richiede solo i migliori algoritmi di pathfinding dinamico per spazi continui di oggi. Potrei provare a rispondere più tardi oggi dopo un po 'di ricerche.
JDong,

Risposte:


7

Il requisito deterministico non è poi così restrittivo. Ciò implica solo che il tuo veicolo è certo dello stato in cui si trova. Detto questo, probabilmente vorrai pianificare i percorsi in un modo che ti permetta di evitare gli ostacoli. Il modo migliore in cui l'ho visto è con i pianificatori basati sul campionamento. Steven LaValle ha scritto la risorsa accademica centrale su questo argomento: Algoritmi di pianificazione .

L'algoritmo RRT * è tra i pianificatori che descrive. Questo algoritmo genera l'albero dello spazio degli stati con campioni casuali e alcune euristiche per garantire fattibilità (ad es. Evitamento degli ostacoli) e ottimalità. I dettagli su RRT * sono disponibili nel libro di LaValle o sul sito Web di Sertac Karaman . Il tempo asintotico e le caratteristiche della memoria sono descritte come O (nlogn) da elaborare e O (n) per le query. L'algoritmo è lineare, O (n), anche nella complessità dello spazio.


Eseguito l'upgrade per gli arbitri. Considererà di accettare dopo aver letto il libro di LaValle e aver verificato i contenuti RRT *. Grazie!
Deer Hunter,

4

Per ulteriore considerazione, i potenziali campi sono una scelta interessante ed economica per l'individuazione dei percorsi. Dovresti effettuare una forte addebito a destinazione e alla fine l'agente arriverebbe alla carica. Un articolo più tecnico della International Foundation for Autonomous Agents e Multiagent Systems fornisce ulteriori approfondimenti.

Anche i campi vettoriali sono una soluzione molto economica, ma più spesso utilizzati per l'individuazione di percorsi multi-agente . I campi vettoriali sono molto buoni, tuttavia, per le aree aperte. Nessuno dei metodi sopra descritti garantisce tuttavia il percorso più breve, sacrificando il percorso ottimale per una migliore risposta dinamica.

Anche gli approcci combinati sono forti, come usare A * in anticipo per generare waypoint e usare campi vettoriali per raggiungere ciascun waypoint. Questo probabilmente darà un comportamento molto più ottimale su una scala macro.

Tienili a mente nel caso in cui acquisisci un esercito di robot di nuoto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.