Tại sao Octrees được sử dụng để phân tách không gian Multipole?


18

Trong hầu hết (tất cả?) Việc thực hiện Phương pháp Đa cực nhanh (FMM), octrees được sử dụng để phân tách miền liên quan. Về mặt lý thuyết, octrees cung cấp một giới hạn thể tích đơn giản, rất hữu ích để chứng minh thời gian chạy O (n) của FMM. Ngoài lý do lý thuyết này, có lợi ích gì khi sử dụng Octree so với các cấu trúc dữ liệu cây hoặc trie khác không?

Xác định danh sách tương tác có thể dễ dàng hơn với một octree vì một tế bào sẽ biết hàng xóm trực tiếp của nó. Tuy nhiên, danh sách tương tác là không cần thiết bằng cách sử dụng một giao dịch cây năng động hơn như Dual Tree Traversal .

Một thay thế sẽ là một cây kd. Một nhược điểm lý thuyết có thể là xây dựng đòi hỏi các hoạt động tìm kiếm trung bình đắt tiền. Tuy nhiên, có những phiên bản của cây kd không yêu cầu tìm trung bình trong quá trình xây dựng - mặc dù phân vùng không gian kém hiệu quả hơn. Thực hiện khôn ngoan, một cây kd rất đơn giản.

Một thay thế triệt để hơn có thể là một R-tree .

Vì vậy, câu hỏi của tôi là: Điều gì về Octrees khiến chúng trở thành lựa chọn tốt nhất cho FMM?


4
Tôi nghĩ rằng nó làm cho việc xác định danh sách tương tác (mà các nhà quan sát trong lĩnh vực xa nguồn nào) đặc biệt dễ dàng.
rchilton1980

Việc xác định danh sách tương tác phải khá dễ dàng với bất kỳ hình thức phân rã không gian phân cấp nào.
Ben Thompson

1
Tôi đồng ý với bạn ở chỗ, cây oct về mặt lý thuyết rất đơn giản để phân tích. Các thuật toán tổng hợp nhanh khác, chẳng hạn như -ricrices (là các khái quát đại số của FMM) sử dụng các cây khác nhau, chẳng hạn như chia đôi hình học hoặc phân tách dựa trên cụm. H
user2457602

1
Tôi không phải là chuyên gia về vấn đề này, nhưng có lẽ thực tế là các quãng tám có nhiều 'đối xứng' hơn đóng vai trò? Các phân vùng trong một octree được sắp xếp thường xuyên và có cùng hình vuông, điều này có thể giúp thực hiện các mở rộng đa cực so với ví dụ như một cây kd.
Jannis Teunissen

Octrees là kết quả tự nhiên của phân rã miền theo ba chiều.
gpavanb

Câu trả lời:


3

Các ý kiến ​​trên đưa ra một số lý do rất chính đáng cho việc sử dụng octrees (nghĩa là đệ quy giảm một nửa khối lập phương tính toán trong mỗi chiều, trái ngược với cách chia trực giao tổng quát hơn). Tính đối xứng và đơn giản của việc tính toán danh sách tương tác là một điểm cộng lớn.

Tôi sẽ lập luận rằng có lẽ tính năng quan trọng nhất mà octrees mang đến cho bảng là định lý bổ sung bảo vệ FMM được thỏa mãn một cách có hệ thống đối với các tương tác vùng xa độc lập với hình học với tiêu chí phân tách cực kỳ đơn giản của một hoặc nhiều "bộ đệm" hộp. Nói cách khác, đại diện tổng FMM của trường tiềm năng được đảm bảo hội tụ với thứ tự tăng dần trong các trường hợp không bệnh lý.

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.