Por que os Octrees são usados ​​para decomposição de espaço multipolar?

18

Na maioria das (todas?) Implementações do Fast Multipole Method (FMM), os octrees são usados ​​para decompor o domínio relevante. Teoricamente, os octrees fornecem um limite volumétrico simples, útil para provar o tempo de execução O (n) de um FMM. Além dessa lógica teórica, há benefícios em usar um Octree sobre outras estruturas de árvore ou dados?

Determinar a lista de interação pode ser mais fácil com uma octree, porque uma célula conhecerá seus vizinhos imediatos. No entanto, a lista de interação é desnecessária usando um percurso de árvore mais dinâmico como o Dual Tree Traversal .

Uma alternativa seria uma árvore kd. Uma possível desvantagem teórica é que a construção requer operações medianas caras de busca. No entanto, existem versões do kd-trees que não exigem descoberta mediana durante a construção - embora com particionamento de espaço menos eficiente. Em termos de implementação, uma árvore kd é muito simples.

Uma alternativa ainda mais radical pode ser uma árvore-R .

Então, minha pergunta é: o que acontece com o Octrees que os torna a melhor escolha para um FMM?

Ben Thompson
fonte
4
Eu acho que facilita a determinação das listas de interação (que observadores estão no campo distante de quais fontes).
Rbilton1980
Determinar listas de interação deve ser bastante fácil com qualquer forma de decomposição do espaço hierárquico.
21614 Ben Thompson
1
Eu concordo com você nisso, as árvores de outubro são teoricamente simples de analisar. Outros algoritmos de soma rápida, como os índices (que são generalizações algébricas do FMM), usam árvores diferentes, como a bissecção geométrica ou a divisão baseada em cluster. H
user2457602
1
Eu não sou especialista nisso, mas talvez o fato de que as ruas tenham mais 'simetria' tenha um papel? As partições em uma octree são organizadas regularmente e têm a mesma forma quadrada, o que poderia ajudar a fazer expansões multipolares em comparação com, por exemplo, uma árvore kd.
Jannis Teunissen
Os octrees são um resultado natural da decomposição do domínio em três dimensões.
Gpavanb

Respostas:

3

Os comentários acima fornecem algumas boas razões para usar octrees (ou seja, reduzir recursivamente pela metade o cubo computacional em cada dimensão, em oposição a uma bissecção ortogonal mais geral). Simetria e simplicidade no cálculo de listas de interação são uma grande vantagem.

Eu argumentaria que talvez a característica mais importante que os octrees trazem para a tabela seja que o teorema da adição que subscreve o FMM é sistematicamente satisfeito para interações de zonas distantes, independentemente da geometria, com o critério extremamente simples de separação de um ou mais "buffer" caixas. Em outras palavras, a representação da soma FMM do campo potencial é garantida para convergir com o aumento da ordem em circunstâncias não patológicas.

smh
fonte