タグ付けされた質問 「nearest-neighbour」

2
最も孤立したポイントを効率的に計算する方法は?
有限集合を考えるとの点のRの D、どのように我々は、効率的に「最も孤立点」を計算することができますのx ∈ Sを?SSSRdRd\mathbb R^dx∈Sx∈Sx\in S 「最も孤立したポイント」をxxx x=argmaxp∈Sminq∈S∖{p}d(p,q)x=arg⁡maxp∈Sminq∈S∖{p}d(p,q)x = \arg\max_{p \in S} \min_{q \in S \setminus \{p\}} d(p,q) (必ずしも一意であるわけではありませんが、表記を使用しました。ここで、はユークリッド距離を示します。)つまり、最も近い近傍までの距離が最大のポイントを探しています。x=argminx=arg⁡minx=\arg\minddd 単純なアルゴリズムは、すべてのペアワイズ距離を計算し、すべてのポイントの距離が最小のネイバーを見つけ、それらの最大値を見つけます。これは演算を必要としますが、それよりもうまくできるでしょうか?O(n2)O(n2)O(n^2)



2
3次元の最近傍の高速でスペース効率の良いデータ構造?
私は合理的にスペース効率が良い(つまり、最大で使用される)3Dの最近傍クエリに答えるためのデータ構造を探しています O (ん1 + ϵ)O(n1+ϵ)O(n^{1+\epsilon}) スペース)と高速(O (んε)O(nϵ)O(n^{\epsilon}) または O (l ogk(n ))O(logk(n))O(log^k(n)) 最悪の場合のクエリ時間)。 私がすでに知っていることの要約として: 1Dは簡単です(ポイントを並べ替えてバイナリ検索を使用するだけです)。 2Dは少しトリッキーですが、ポイント位置データ構造+ボロノイ図を使用すると、 O (n )O(n)O(n) スペースと O (l o g(n ))O(log(n))O(log(n)) クエリ時間。 3D以上では、一連の点のボロノイ図は O (んfl o o r (d/ 2))O(nfloor(d/2))O(n^{floor(d/2)})。 私はkdツリーまたはグリッドベースの方法に基づくおおよその手法を知っていますが、これらは点の均一な分布または最近傍への距離について何かを仮定することに依存しており、すべてのケースでそれほどうまく機能しません。私はこれらのランダム化または近似解には興味がありません-最悪の場合、どのデータセットでも機能するものが欲しいです。これを行うものはありますか、またはこのアイデアを水から吹き飛ばす下限がありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.