ライブラリで力指向グラフ機能を実現するためにD3が使用するアルゴリズムを正確に知りたいと思います。Kobourovの力指向グラフの歴史の要約を読んだことで、ライブラリで使用されている正確なアルゴリズムまたは方法(アルゴリズム/ヒューリスティックの組み合わせ)が何であるかについて少し戸惑いました。
D3 APIリファレンスによると、バーンズハットアルゴリズムを使用して、物体に作用する電荷、O(N * log(N))演算を計算します。Kobourovの記事では、Quigley-Eadesアルゴリズム、およびHuのアルゴリズムは、Barnes-Hutを利用するマルチレベルアルゴリズムであると述べています。それらの1つはD3で何らかの方法で利用されていますか?
API wikiはさらに、粒子の位置決めにVerlet統合が使用されると述べています。ソースコードにはGauss-Seidelアルゴリズムが記載されており、HuのアルゴリズムとDwyerのグラフレイアウトペーパーの両方に記載されています。私が答えを探している質問は、D3が利用する「統合」アルゴリズムです。Kobourovの記事にはいくつかのリストがあり、D3の力による機能はそれらのいずれにも直接適合しないようです。