Snabb marschmetod

Den snabba marschmetoden är en numerisk metod skapad av James Sethian för att lösa problem med gränsvärde i Eikonal-ekvationen :

Vanligtvis beskriver ett sådant problem utvecklingen av en stängd yta som en funktion av tiden med hastigheten i normal riktning vid en punkt på fortplantningsytan. Hastighetsfunktionen specificeras, och tiden då konturen korsar en punkt erhålls genom att lösa ekvationen. Alternativt ses som den minsta tid det skulle ta att nå med början från punkten . Den snabba marschmetoden utnyttjar denna optimala kontrolltolkning av problemet för att bygga en lösning utåt utifrån den "kända informationen", dvs gränsvärdena.

Algoritmen liknar Dijkstras algoritm och använder det faktum att information endast strömmar utåt från såningsområdet. Det här problemet är ett specialfall av nivåbestämda metoder . Mer generella algoritmer finns men är normalt långsammare.

Utvidgningar till icke-platta (triangulerade) domänlösningar

för ytan och introducerades av Ron Kimmel och James Sethian .

Algoritm

Antag först att domänen har diskretiserats till ett nät. Vi kommer att referera till meshpoints som noder. Varje nod har ett motsvarande värde .

Algoritmen fungerar precis som Dijkstras algoritm men skiljer sig i hur nodernas värden beräknas. I Dijkstras algoritm beräknas en nods värde med en enda av de närliggande noderna. Men för att lösa PDE i används mellan och av de närliggande noderna .

Noder är märkta som långt (ännu ej besökta), övervägda (besökta och värde preliminärt tilldelat) och accepterade (besökt och värde permanent tilldelat).

  1. Tilldela varje nod värdet på och märk dem så långt ; för alla noder sätt och etikett som accepterat .
  2. För varje bortre nod , använd Eikonals uppdateringsformel för att beräkna ett nytt värde för . Om ställ in och etikett som ansett .
  3. Låt vara den betraktade noden med det minsta värdet . Märk som accepterat .
  4. För varje granne av som inte accepteras, beräkna ett preliminärt värde .
  5. Om så ställ in . Om var märkt så långt , uppdatera etiketten till beaktad .
  6. Om det finns en övervägd nod, gå tillbaka till steg 3. Avsluta annars.

Se även

externa länkar

Anteckningar