Metoda de mers rapid - Fast marching method
Metoda marsaluind rapidă este o metodă numerică creată de James Sethian pentru rezolvarea problemelor de valoare limită ale ecuației Eikonal :
De obicei, o astfel de problemă descrie evoluția unei suprafețe închise în funcție de timp cu viteza în direcția normală într-un punct de pe suprafața de propagare. Funcția de viteză este specificată, iar timpul la care conturul traversează un punct este obținut prin rezolvarea ecuației. Alternativ, poate fi considerat ca timpul minim necesar pentru a ajunge, începând de la punctul respectiv . Metoda de marșare rapidă profită de această interpretare optimă de control a problemei pentru a construi o soluție spre exterior pornind de la „informațiile cunoscute”, adică valorile la graniță.
Algoritmul este similar algoritmului lui Dijkstra și folosește faptul că informațiile curg doar în afară din zona de însămânțare. Această problemă este un caz special al metodelor de nivelare . Există algoritmi mai generali, dar în mod normal sunt mai încet.
Extensii la rezolvarea domeniilor non-plate (triunghiulate)
pentru suprafață și , au fost introduse de Ron Kimmel și James Sethian .
Algoritm
În primul rând, presupuneți că domeniul a fost discretizat într-o rețea. Ne vom referi la punctele de rețea ca noduri. Fiecare nod are o valoare corespunzătoare .
Algoritmul funcționează la fel ca algoritmul lui Dijkstra, dar diferă în modul în care sunt calculate valorile nodurilor. În algoritmul lui Dijkstra, valoarea unui nod este calculată folosind unul dintre nodurile vecine. Cu toate acestea, în rezolvarea PDE în , între și dintre nodurile vecine sunt utilizate .
Nodurile sunt etichetate până acum (nu au fost încă vizitate), sunt considerate (vizitate și valoare atribuită provizoriu) și acceptate (vizitate și valoare atribuită permanent).
- Alocați fiecărui nod valoarea și etichetați-le până acum ; pentru toate nodurile setate și etichetate ca acceptate .
- Pentru fiecare nod îndepărtat , utilizați formula de actualizare Eikonal pentru a calcula o nouă valoare pentru . Dacă apoi setați și etichetați în considerare .
- Fie nodul considerat cu cea mai mică valoare . Eticheta este acceptată .
- Pentru fiecare vecin de care nu este acceptat, se calculează o valoare tentativă .
- Dacă apoi setați . Dacă a fost etichetat până acum , actualizați eticheta la considerat .
- Dacă există un nod considerat , reveniți la pasul 3. În caz contrar, terminați.
Vezi si
linkuri externe
- Metode asemănătoare Dijkstra pentru ecuația eikonală JN Tsitsiklis, 1995
- Metoda Fast Marching și aplicațiile sale de James A. Sethian
- Metode de marșare rapidă multi-șabloane
- Implementare Matlab cu marcare rapidă multi-șabloane
- Detalii de implementare a metodelor de marșare rapidă
- Metoda generalizată de marșare rapidă de Forcadel și colab. [2008] pentru aplicații în segmentarea imaginilor.
- Implementarea Python a metodei Fast Marching
- Vezi Capitolul 8 din Proiectarea și optimizarea elementelor nano-optice prin cuplarea fabricării la comportamentul optic