W większości (wszystkich?) Implementacji szybkiej metody wielobiegunowej (FMM) do dekompozycji odpowiedniej domeny używa się oktetów. Teoretycznie oktany zapewniają proste wiązanie wolumetryczne, które jest przydatne do udowodnienia czasu działania O (n) FMM. Poza tym teoretycznym uzasadnieniem, czy istnieją korzyści z używania Octree w porównaniu do innych struktur danych drzewa lub trie?
Określenie listy interakcji może być łatwiejsze dzięki oktawie, ponieważ komórka zna swoich bezpośrednich sąsiadów. Lista interakcji jest jednak niepotrzebna przy użyciu bardziej dynamicznego przejścia przez drzewo, takiego jak Dual Tree Traversal .
Alternatywą byłoby drzewo KD. Jednym z możliwych teoretycznych minusów jest to, że konstrukcja wymaga kosztownej mediany operacji wyszukiwania. Istnieją jednak wersje drzewek Kd, które nie wymagają znalezienia mediany podczas budowy - aczkolwiek z mniej wydajnym dzieleniem przestrzeni. Pod względem implementacji drzewo kd jest bardzo proste.
Jeszcze bardziej radykalną alternatywą może być R-drzewo .
Moje pytanie brzmi więc: co jest w Octrees, które czynią z nich najlepszy wybór na FMM?
źródło
Odpowiedzi:
Powyższe komentarze podają kilka bardzo dobrych powodów, aby używać oktetów (tj. Rekurencyjnie zmniejszać o połowę kostkę obliczeniową w każdym wymiarze w przeciwieństwie do bardziej ogólnej bisekcji ortogonalnej). Dużą zaletą jest symetria i prostota obliczania list interakcji.
Twierdziłbym, że być może najważniejszą cechą, którą ósemki przynoszą do tabeli, jest to, że twierdzenie o dodatkowym gwarantowaniu FMM jest systematycznie spełnione dla interakcji dalekich stref niezależnych od geometrii z niezwykle prostym, dobrze oddzielonym kryterium jednego lub więcej „buforów” pudła. Innymi słowy, gwarantuje się, że reprezentacja sumy FMM pola potencjalnego zbiega się z rosnącym porządkiem w niepatologicznych okolicznościach.
źródło