Berechnung geodätischer Entfernungen mit Diffusion


8

Ich versuche, ein APSP-Problem (All-Pair Shortest Path) in einem gewichteten Diagramm zu lösen. Dieser Graph ist eigentlich ein 1, 2 oder 3-dimensionales Gitter, und die Gewichte an jeder Kante repräsentieren den Abstand zwischen seinen beiden Eckpunkten. Was ich haben möchte, ist die Entfernung des geodätischen Graphen (kürzester Weg durch den Graphen) für jedes Paar von Eckpunkten.

Ich möchte eine diffusionsbasierte Methode, da sie schneller ist als ein Dijkstra- oder ein Floyd-Warshall-Algorithmus. Ich versuche dies mit der Wärmegleichung zu erreichen: Am Ende benötigt meine Anwendung einen Kernel der Form mit der geodätischen Entfernung des Graphen.exp(-d2/γ)d

dudt=Δu.
exp(- -d2/.γ)d

Ich hoffe, dass die Lösung die grüne Funktion für die Diffusion sein soll :

u(t,x,y)=(14πt)- -dichm2exp(- -d2(x,y)4t),

dann kann ich diese Lösung (mit ein paar Anpassungen, um den Faktor vorne loszuwerden) direkt als meinen Kernel verwenden, und der Parameter wird durch Anpassen von angepasst .tγt

Ich konnte noch nichts tun, was funktioniert, und ich würde mich über Hilfe freuen. Ich habe bisher viele Dinge ausprobiert, und es treten mehrere Probleme auf. Es ist schwierig und langwierig, sie alle in einer Frage zu erklären. Deshalb werde ich zunächst erklären, was meiner Meinung nach der Beginn eines guten Ansatzes ist, und dann einige allgemeine Fragen stellen.


Auf die gleiche Weise wie im ersten Schritt des Geodesic in Heat-Algorithmus von Crane et al. Kann ich mit einem Rückwärts-Euler-Schritt das lineare System lösen: mit der Diffusionsschritt, die Laplace-Matrix und a Dirac an einem der Eckpunkte. tLu0

(1)(ichd- -tL.)u=u0
tL.u0

Das Lösen von Gleichung (1) ergibt tatsächlich einen Kern der Form , was nicht erwünscht ist. Deshalb muss ich K-Subiterationen rechtzeitig durchführen und K-mal lösen: , was ergibt .( I d - texp(- -d/.γ) u = M - 1 . . . M - 1 u 0

(ichd- -tkL.)u=u0M.u=u0
u=M.- -1...M.- -1u0u=M.- -K.u0

Wenn K zunimmt, soll der Kernel gegen ein Quadrat konvergieren .exp(- -d2/.γ)


Nun kommen hier die Fragen:

  • Sollte ich ein Laplace-Diagramm oder ein Laplace-Diagramm mit endlichen Differenzen verwenden? AFAIU, ein Graph-Laplace wird normalisiert, um 1 in der Diagonale zu haben, während ein FE-Laplace den Grad in der Diagonale hat und mit multipliziert wird1h2

  • Wie binde ich die Diagrammgewichte in den Laplace-Wert ein, sodass die Entfernung, die ich in der Lösung erhalte, die geodätische Entfernung des Diagramms ist? Ich möchte vorhersagen können, wie groß der Wertebereich von in der Lösung in Bezug auf den Bereich der Gewichte und die Parameter t , K und n die Anzahl der Punkte in einer Richtung sein wird (Gesamtdomänengröße: N = n d i m ).d(x,y)tKnN=ndim

  • Welche Randbedingungen soll ich im Laplace verwenden? Ich habe das Gefühl, ich sollte die Funktionswerte (Dirichlet) nicht an der Grenze festlegen, da dies bedeuten würde, den höchsten Abstand festzulegen. Oder soll ich? Ich habe homogene Neumann-Bedingungen und homogene Dircihlet-Bedingungen ausprobiert, aber in beiden Fällen bekomme ich eine gewisse Verzerrung in der Nähe der Grenzen der Parabel (die ich überprüfe, indem ich das Protokoll der Lösung u ( t ) berechne und subtrahiere das Minimum).d(x,y)2u(t)

  • Sollte ich stattdessen eine Diffusionsgleichung verwenden? : , da dieDiffusion räumlich abhängig ist?ut=(κu)

Verweise :


1
Sie haben dies wahrscheinlich bereits gesehen, aber falls Sie dies nicht getan haben, enthält die Webseite cs.cmu.edu/~kmcrane/Projects/HeatMethod einen Link zu Implementierungen der "Wärmemethode" in einigen verschiedenen Sprachen.
Amarney

"Dieser Graph ist eigentlich ein 1, 2 oder 3-dimensionales Gitter" ... Ist dann nicht der Abstand des geodätischen Graphen zwischen zwei Eckpunkten nur der Abstand ? L.1

@amarney, das hatte ich nicht gesehen, aber die Sache ist, dass ich die "Wärmemethode" nicht vollständig verwenden möchte, ich bin nur daran interessiert, ihren ersten Schritt zu machen, sondern sie anzupassen, um einen Kernel des Formulars zu erhalten . exp(- -d2Geinmmein)
Matthieu

@Rahul Ja, tatsächlich habe ich eine Implementierung, die den Floyd Warshall-Algorithmus verwendet und die mir den Abstand (Summe der Abstände der Kanten auf dem kürzesten Weg) gibt. Ich hätte gerne einen Algorithmus, der schneller ist als Floyd Warshall (O ( n 3 )), und die Methode, die ich versuche, muss nur ein spärliches lineares System lösen, damit es schneller ist. L.1n3
Matthieu

(ich,j,k)(ich1,j1,k1)(ich2,j2,k2)L.1|ich1- -ich2|+|j1- -j2|+|k1- -k2|

Antworten:


1

Kombinatorischer Laplace? Es hängt davon ab, was Sie von Ihrer Lösung erwarten. Es ist zu erwarten, dass Ihre Lösung unabhängig von der Art und Weise ist, wie Sie Ihre Oberfläche vernetzen (oder so unabhängig wie möglich). Wenn Sie das wollen, dann ist ein kombinatorischer Laplace-Graph eindeutig nicht das, was Sie brauchen, da das Ergebnis völlig anders wäre, wenn Sie das Netz ändern.

T.

T.={λ1p1+λ2p2+λ3p3 | λ1+λ2+λ3=1;;λ10;;λ20;;λ30}}

p1,p2,p3C.0

Diskretisieren mit FEMUnter diesem Gesichtspunkt (klassische FEM) können Sie durch Projizieren der Gleichung auf die Basis stückweise linearer Funktionen (oder anderer Funktionen, wenn Sie möchten) eine FEM-Diskretisierung Ihrer Gleichung erstellen und diese lösen. Lesen Sie dazu ein klassisches Lehrbuch, [5] (auch auf der Webseite des Autors als PDF-Dateien in Englisch und Französisch verfügbar), in dem die Ableitung für den auf stückweise lineare Funktionen projizierten Laplace-Wert vollständig erläutert wird. Einige Vorsicht ist geboten: Auch bei Computergrafikpapieren wird die Diskretisierung des Operators (Steifheitsmatrix) mit dem "Punktprodukt" der verwendeten Funktionsbasis (Massenmatrix) gemischt, indem sie zu einer einzigen Matrix (die sie nennen) kombiniert werden. diskreter Laplace "). Um vollständig zu verstehen, was los ist, müssen Sie sie getrennt betrachten.

Satz und Topologie von Varadhan:Etwas, das über die von Ihnen zitierte "Wärmemethode" [3] erwähnt werden muss: Sie basiert auf einem Satz, der von Varadhan [1] bewiesen wurde. Der Originalartikel von Varadhan beweist das Ergebnis durch eine Parametrisierung der Oberfläche und durch "Zurückziehen" aller Berechnungen im Parameterraum (unter Verwendung der Kettenregel). Da eine Parametrisierung verwendet wird, gilt der Proof nur für Objekte mit einer nicht entarteten Parametrisierung. Dies setzt insbesondere voraus, dass das betrachtete Objekt zu einer Platte homöomorph ist. Diese Einschränkung des Varadhan-Theorems wird auch in [2], Seite 400, erwähnt: "Die Varadhan-Formel funktioniert innerhalb des Injektivitätsradius. Was passiert, wenn sich y zum Schnittort von x bewegt ... dramatische Änderungen finden statt ... seltsame Ereignisse treten bei auf antipodale Punkte ". Der 'Schnittort' ist die Zone, in der Sie eine topische Platte kleben würden, um ein Objekt mit beliebiger Topologie zu bilden (oder anders ausgedrückt, wenn Sie eine Voronoi-Zelle von einem Punkt aus wachsen lassen, kollidiert hier die Grenze der Voronoi-Zelle selbst). Wenn Sie etwas anderes als eine topologische Platte verwenden möchten, sind Sie allein (keine mathematische Garantie). [3] berichtet jedoch über einige empirische Ergebnisse, die tendenziell zeigen, dass das, was Sie erhalten, angemessen ist, sodass es für praktische Anwendungen möglicherweise die Aufgabe erfüllt. Wenn Sie nun Theoreme beweisen möchten, müssen Sie wissen, dass sie nur für topologische Datenträger funktionieren (es sei denn, Sie finden eine Möglichkeit, sie auf allgemeinere Fälle auszudehnen). Wenn Sie etwas anderes als eine topologische Platte verwenden möchten, sind Sie allein (keine mathematische Garantie). [3] berichtet jedoch über einige empirische Ergebnisse, die tendenziell zeigen, dass das, was Sie erhalten, angemessen ist, sodass es für praktische Anwendungen möglicherweise die Aufgabe erfüllt. Wenn Sie nun Theoreme beweisen möchten, müssen Sie wissen, dass sie nur für topologische Datenträger funktionieren (es sei denn, Sie finden eine Möglichkeit, sie auf allgemeinere Fälle auszudehnen). Wenn Sie etwas anderes als eine topologische Platte verwenden möchten, sind Sie allein (keine mathematische Garantie). [3] berichtet jedoch über einige empirische Ergebnisse, die tendenziell zeigen, dass das, was Sie erhalten, angemessen ist, sodass es für praktische Anwendungen möglicherweise die Aufgabe erfüllt. Wenn Sie nun Theoreme beweisen möchten, müssen Sie wissen, dass sie nur für topologische Datenträger funktionieren (es sei denn, Sie finden eine Möglichkeit, sie auf allgemeinere Fälle auszudehnen).

[1] Varadhan 1967, Diffusionsprozesse in einem kleinen Zeitintervall, Comm. Pure and Applied Math, 20, 659 & ndash; 685

[2] Ein Panoramablick auf die Riemannsche Geometrie, Marcel Berger, Springer, 2003

[3] Geodäten in der Hitze, K. Crane et al., 2013

[5] https://global.oup.com/academic/product/numerical-analysis-and-optimization-9780199205219?cc=fr&lang=de&


Danke für diese detaillierten Gildenlinien! Wie nennt man eine "Festplattentopologie"? Ist es etwas, das zu einer Festplatte homöomorph ist?
Matthieu

Ja, das habe ich gemeint (Sie haben Recht, so wie Sie es sagen, ist es Standard, ich aktualisiere die Antwort).
BrunoLevy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.