
最近接点ペア問題または最近接ペア問題は、計算幾何学の問題である。距離空間内の点から、それらの間の距離が最小となる点のペアを見つける。ユークリッド平面内の点の最近接点問題[ 1 ]は、幾何学的アルゴリズムの計算複雑性の体系的な研究の起源において扱われた最初の幾何学的問題の一つであった。
線形時間で問題を解くランダム化アルゴリズムは、漸近解析の目的で次元が定数として扱われるユークリッド空間において知られている。[ 2 ] [ 3 ] [ 4 ]これは、すべての点のペア間の距離を見つけて最小値を選択するという単純なアルゴリズムによって得られる時間(ここではビッグオー記法で表す)。
また、ランダム化なしで問題を解決することも可能であり、床関数の使用が可能な無制限メモリを備えたランダムアクセスマシンの計算モデルでは、ほぼ線形時間。[ 5 ]代数的決定木のような、さらに制限された計算モデルでは、この問題はやや遅い時間で解決できます。時間制限があり、[ 6 ]これは要素の一意性の問題からの還元により、このモデルにとって最適です。この遅い時間制限を持つスイープラインアルゴリズムと分割統治アルゴリズムは、これらのアルゴリズム設計技術の例としてよく教えられています。[ 7 ] [ 8 ]
Rabin (1976)の線形期待時間ランダム化アルゴリズムは、 Richard Liptonによって解析を容易にするために若干修正され、入力セットに対して次のように進行する。から構成されるポイント次元ユークリッド空間:
このアルゴリズムは、距離よりも近いペアをマッピングするため、常に最も近いペアを正しく決定します。同じグリッド点または隣接するグリッド点へ。アルゴリズムの最初のステップでのペアの均一サンプリング(同様の数のペアをサンプリングするRabinの別の方法と比較して)により、アルゴリズムによって計算される距離の期待値が線形であるという証明が簡略化されます。[ 4 ]
代わりに、 Khuller & Matias (1995)の別のアルゴリズムは2 つのフェーズを経ます。1 つは、近似比の範囲内で最も近い距離を近似するランダム反復フィルタリング プロセスです。そして、この概算距離を正確な最短距離に変換する最終ステップが続きます。フィルタリング処理は、以下のステップを繰り返します。空になります:
このフィルタリング処理によって得られたおおよその距離は、最終値です。前のステップで計算されたもの空になります。各ステップでは、最も近い隣接点が距離にあるすべての点が削除されます。またはそれ以上、期待値の少なくとも半分、これからフィルタリングの総期待時間は線形であることがわかります。が既知であれば、ラビンのアルゴリズムの最終ステップに使用できます。これらのステップでは、各グリッドポイントに一定数の入力が丸められるため、ここでも時間は線形です。[ 3 ]
最近傍ペア問題の動的バージョンは、次のように記述されます。
すべての点の境界ボックスが事前にわかっており、定数時間フロア関数が利用可能であれば、期待される期待時間をサポートする空間データ構造が提案された。挿入と削除、および一定のクエリ時間。代数的決定木モデルに修正すると、挿入と削除には予想時間。[ 9 ]上記の動的最近傍ペアアルゴリズムの複雑さは、次元に対して指数関数的である。そのため、このようなアルゴリズムは高次元の問題にはあまり適さなくなる。
動的最近接ペア問題に対するアルゴリズム次元空間は、1998年にセルゲイ・ベスパミャトニフによって開発されました。[ 10 ]点を挿入および削除できます。1ポイントあたりの所要時間(最悪の場合)。