Tính toán khoảng cách trắc địa với khuếch tán


8

Tôi đang cố gắng giải quyết vấn đề APSP (All-Pair Short Path) trên biểu đồ có trọng số. Biểu đồ này thực sự là một lưới 1, 2 hoặc 3 chiều và các trọng số trên mỗi cạnh biểu thị khoảng cách giữa hai đỉnh của nó. Những gì tôi muốn có là khoảng cách đồ thị trắc địa (đường đi ngắn nhất qua đồ thị), cho mỗi cặp đỉnh.

Tôi muốn một phương pháp dựa trên khuếch tán, vì nó nhanh hơn thuật toán Dijkstra hoặc thuật toán Floyd-Warshall. Tôi đang cố gắng để đạt được điều này bằng phương trình nhiệt:

dbạndt= =Δbạn.
Cuối cùng, ứng dụng của tôi cần một hạt nhân có dạngvớikhoảng cách trắc địa đồ thị.điểm kinh nghiệm(-d2/γ)d

Hy vọng của tôi là vì giải pháp được cho là chức năng Xanh để khuếch tán :

bạn(t,x,y)= =(14πt)-dTôim2điểm kinh nghiệm(-d2(x,y)4t),

sau đó tôi có thể trực tiếp sử dụng giải pháp đó (với một vài điều chỉnh để loại bỏ yếu tố phía trước) làm hạt nhân của mình và tham số sẽ được điều chỉnh bằng cách điều chỉnh .γt

Tôi chưa thể làm một cái gì đó hoạt động được, và tôi rất thích sự giúp đỡ. Tôi đã thử nhiều thứ cho đến nay, và có nhiều vấn đề phát sinh. Thật khó và lâu để giải thích tất cả chúng trong một câu hỏi, vì vậy trước tiên tôi sẽ giải thích những gì tôi nghĩ là khởi đầu của một cách tiếp cận tốt, và sau đó hỏi một vài câu hỏi chung.


Theo cách tương tự, nó được thực hiện ở bước đầu tiên của thuật toán Geodesic in Heat của Crane và cộng sự, với bước Euler lạc hậu, tôi có thể giải hệ thống tuyến tính: với bước khuếch tán, ma trận Laplacian, và một Dirac tại một trong các đỉnh. tLu0

(1)(Tôid-tL)bạn= =bạn0
tLbạn0

Việc giải phương trình (1) thực sự cho một hạt nhân có dạng , điều này không mong muốn. Do đó, tôi phải thực hiện các phụ đề K kịp thời và giải quyết K lần: sẽ cho .( tôi d - tđiểm kinh nghiệm(-d/γ) u = M - 1 . . . M - 1 u 0

(Tôid-tkL)bạn= =bạn0Mbạn= =bạn0
bạn= =M-1...M-1bạn0bạn= =M-Kbạn0

Khi K tăng, hạt nhân được cho là hội tụ thành một hình vuông .điểm kinh nghiệm(-d2/γ)


Bây giờ đến đây các câu hỏi:

  • Tôi nên sử dụng một đồ thị Laplacian, hay một sự khác biệt hữu hạn Laplacian? AFAIU, một laplacian đồ thị được chuẩn hóa để có 1 theo đường chéo, trong khi FE Laplacian có độ trong đường chéo và được nhân với1h2

  • Làm cách nào để tôi nhúng các trọng số đồ thị trong Laplacian, sao cho khoảng cách tôi nhận được trong giải pháp là khoảng cách trắc địa đồ thị? Tôi muốn có thể dự đoán phạm vi giá trị của trong giải pháp sẽ liên quan gì đến phạm vi của các trọng số và các tham số , và số điểm theo một hướng (tổng kích thước tên miền: ).t K n N = n d i md(x,y)tKnN=ndim

  • Những điều kiện biên nào tôi nên sử dụng trong Laplacian? Tôi cảm thấy mình không nên áp đặt các giá trị hàm (Dirichlet) ở ranh giới, vì điều đó có nghĩa là áp đặt khoảng cách cao nhất. Hay tôi nên? Tôi đã thử các điều kiện Neumann đồng nhất và các điều kiện Dircihlet đồng nhất, nhưng trong cả hai trường hợp, tôi nhận được một số biến dạng gần ranh giới của parabola (mà tôi kiểm tra bằng cách tính nhật ký của giải pháp , và trừ tối thiểu). u ( t )d(x,y)2bạn(t)

  • Tôi có nên sử dụng một phương trình khuếch tán thay thế? : , vì sự khuếch tán phụ thuộc vào không gian ?bạnt= =(κbạn)

Người giới thiệu :


1
Có thể bạn đã thấy điều này, nhưng trong trường hợp bạn chưa có, trang web cs.cmu.edu/~kmcrane/Projects/HeatMethod có liên kết đến việc triển khai "phương pháp nhiệt" bằng một vài ngôn ngữ khác nhau.
amarney

"Biểu đồ này thực sự là lưới 1, 2 hoặc 3 chiều" ... Vậy thì khoảng cách đồ thị trắc địa giữa hai đỉnh chỉ là khoảng cách ? L1

@amarney, tôi đã không thấy điều đó, nhưng có một điều là tôi không muốn sử dụng hoàn toàn "phương pháp nhiệt", tôi chỉ quan tâm đến việc thực hiện bước đầu tiên, nhưng điều chỉnh nó để có được một dạng nhân . điểm kinh nghiệm(-d2gmộtmmmột)
matthieu

@Rahul Vâng, thực sự tôi có một triển khai sử dụng thuật toán Floyd Warshall và nó mang lại cho tôi khoảng cách (tổng khoảng cách của các cạnh trên đường đi ngắn nhất). Tôi muốn có một thuật toán nhanh hơn Floyd Warshall (O ( n 3 )) và phương pháp tôi đang cố gắng chỉ cần giải một hệ thống tuyến tính thưa thớt, vì vậy nó sẽ nhanh hơn. L1n3
matthieu

Không, ý tôi là nếu bạn nói lưới 3D, thì bạn có thể gắn nhãn các đỉnh theo tọa độ của chúng trong lưới và khoảng cách đồ thị trắc địa giữa hai đỉnh bất kỳ ( i 1 , j 1 , k 1 )( i 2 , j 2 , k 2 ) chỉ là khoảng cách L 1 trên tọa độ của chúng, | tôi 1 - tôi 2 | + | j 1 -(Tôi,j,k)(Tôi1,j1,k1)(Tôi2,j2,k2)L1. Ngay cả khi lưới không phải là một hộp, điều này đúng miễn là lưới đượclồivà kết nốitrực giao. |Tôi1-Tôi2|+|j1-j2|+|k1-k2|

Câu trả lời:


1

Kết hợp Laplacian? Nó phụ thuộc vào những gì bạn mong đợi từ giải pháp của bạn. Một cái gì đó hợp lý để mong đợi là giải pháp của bạn nên độc lập với cách bạn chia lưới bề mặt của bạn (hoặc càng độc lập càng tốt). Nếu bạn muốn điều đó, thì rõ ràng một đồ thị tổ hợp Laplacian không phải là thứ bạn cần, vì kết quả sẽ hoàn toàn khác nếu bạn thay đổi lưới.

T

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

p1,p2,p3C0

Không hài lòng với FEMVới quan điểm này (FEM cổ điển), bằng cách chiếu phương trình lên cơ sở các hàm tuyến tính từng phần (hoặc các hàm khác nếu bạn muốn), bạn có thể xây dựng một FEM phân tách phương trình của bạn và giải nó. Tham khảo sách giáo khoa cổ điển về cách thực hiện điều đó, ví dụ [5] (cũng có sẵn trên trang web của tác giả dưới dạng tệp pdf bằng tiếng Anh và tiếng Pháp), giải thích đầy đủ về đạo hàm cho Laplacian được chiếu lên các hàm tuyến tính. Một số lưu ý cần phải thực hiện: quá nhiều tài liệu đồ họa máy tính trộn lẫn sự rời rạc của toán tử (ma trận độ cứng) với "sản phẩm chấm" của cơ sở chức năng được sử dụng (ma trận khối), bằng cách kết hợp chúng thành một ma trận đơn (mà chúng gọi là " Laplacian rời rạc "). Để hiểu đầy đủ những gì đang diễn ra, bạn sẽ cần xem xét chúng riêng biệt,

Định lý và cấu trúc liên kết của Varadhan:Một cái gì đó cần được đề cập về "phương pháp nhiệt" [3] mà bạn trích dẫn: nó dựa trên một định lý được chứng minh bởi Varadhan [1]. Bài viết gốc của Varadhan chứng minh kết quả bằng cách sử dụng tham số hóa bề mặt và bằng cách "kéo lùi" tất cả các tính toán trong không gian tham số (sử dụng quy tắc chuỗi). Vì nó sử dụng tham số hóa, bằng chứng chỉ có giá trị đối với các đối tượng có tham số hóa không suy biến. Cụ thể, điều này áp đặt rằng đối tượng đang xem xét là hình dạng đồng nhất với một đĩa. Hạn chế này đối với định lý của Varadhan cũng được đề cập trong [2], trang 400: "Công thức của Varadhan hoạt động trong bán kính tiêm, điều gì xảy ra khi y di chuyển đến vị trí cắt của x ... những thay đổi kịch tính xảy ra tại ... điểm đối cực ". Các 'locus cắt' là khu vực nơi bạn sẽ dán một đĩa toplogical để tạo thành một đối tượng cấu trúc liên kết tùy ý (hoặc đặt khác nhau, nếu bạn phát triển một 'tế bào Voronoi' từ một điểm, đây là nơi ranh giới của tế bào Voronoi sẽ tự va chạm). Nếu bạn muốn sử dụng một cái gì đó khác ngoài một đĩa tô pô, thì bạn phải tự mình làm (không có bảo đảm toán học). Tuy nhiên, [3] báo cáo một số kết quả thực nghiệm có xu hướng cho thấy rằng những gì bạn có được là hợp lý, vì vậy đối với các ứng dụng thực tế, nó có thể thực hiện công việc. Bây giờ nếu bạn muốn chứng minh các định lý, bạn cần biết rằng chúng sẽ chỉ hoạt động cho các đĩa tôpô (trừ khi bạn tìm ra cách mở rộng chúng cho các trường hợp tổng quát hơn). Nếu bạn muốn sử dụng một cái gì đó khác ngoài một đĩa tô pô, thì bạn phải tự mình làm (không có bảo đảm toán học). Tuy nhiên, [3] báo cáo một số kết quả thực nghiệm có xu hướng cho thấy rằng những gì bạn có được là hợp lý, vì vậy đối với các ứng dụng thực tế, nó có thể thực hiện công việc. Bây giờ nếu bạn muốn chứng minh các định lý, bạn cần biết rằng chúng sẽ chỉ hoạt động cho các đĩa tôpô (trừ khi bạn tìm ra cách mở rộng chúng cho các trường hợp tổng quát hơn). Nếu bạn muốn sử dụng một cái gì đó khác ngoài một đĩa tô pô, thì bạn phải tự mình làm (không có bảo đảm toán học). Tuy nhiên, [3] báo cáo một số kết quả thực nghiệm có xu hướng cho thấy rằng những gì bạn có được là hợp lý, vì vậy đối với các ứng dụng thực tế, nó có thể thực hiện công việc. Bây giờ nếu bạn muốn chứng minh các định lý, bạn cần biết rằng chúng sẽ chỉ hoạt động cho các đĩa tôpô (trừ khi bạn tìm ra cách mở rộng chúng cho các trường hợp tổng quát hơn).

[1] Varadhan 1967, Quá trình khuếch tán trong một khoảng thời gian nhỏ, Comm. Toán học thuần túy và ứng dụng, 20, 659-685

[2] Một cái nhìn toàn cảnh về hình học Riemannian, Marcel Berger, Springer, 2003

[3] Đo đạc trong nhiệt, K. Crane et.al, 2013

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


Cảm ơn bạn cho những bang hội chi tiết! Bạn gọi "cấu trúc liên kết đĩa" là gì? Nó có phải là một cái gì đó tương đồng với một đĩa?
matthieu

Đúng, đó là những gì tôi muốn nói (bạn nói đúng, cách bạn nói nó chuẩn hơn, tôi đang cập nhật câu trả lời).
BrunoLevy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.