与えられたペアワイズ距離による同一平面性の検出


7

無向加重グラフ考えます。ここで、はポイントが3Dであり、エッジの重みはその端点間の(ユークリッド)距離に等しくなります。Vでのポイントの座標が与えられていないことに注意してください。すべてのペアワイズ距離が与えられていない可能性もあるため、グラフは完全である必要はなく、まばらな場合もあります。G=VEVR

が与えられて、すべての頂点がそれらの平面の少なくとも1つに属するような平面があると言ったとしましょう。追加の制限付きで、そのような平面を見つけたいと思います。kkk

4点がペアワイズ距離のみで同一平面上にあるかどうかを判断するには、最も簡単な方法はCayley-Menger行列式を使用することです。私たちの問題では、Cayley-Mengerを適用するためにペアワイズ距離のほとんどを知る必要があるため、グラフはかなり密集している必要があります。制限は、Cayley-Menger行列式使用せずに平面を見つけることです。k

これが不可能な場合、これが不可能であることを示す証拠を入手できますか?言い換えれば、そのようなグラフと与えられた場合、何らかの方法で平面を見つけるのに十分な情報があれば、Cayley-Menger使用して見つけるのに十分な情報があることを証明できますか?GkkGk 飛行機?


Cayley-Menger行列式がその目的に十分であるという参照は、知っている場合に役立ちます。「各4ノード間のすべてのペアワイズ距離」とはどういう意味ですか?グラフ上の頂点として取られる点を持つエッジと同じ数のペアワイズ距離はありませんか?すべての4点の選択の共平面性を検討しているアルゴリズムは何ですか?もっと上の同一平面上
vzn

考え:これは一般化すると思います。すべての点を行列に入れ、そのランクを見つけます。2の場合、それらはすべて同一平面上にあります。これは数学でもっとうまくいくかもしれません...?
vzn 14

@vznこれはいい考えですが、同一平面上に複数のセンサーグループがある場合はどうなりますか?
パダワン2014

あなたが何を求めているのか明確ではありません。ポイントはもらえますか?あなたは何を意味するかを正確に「ポイントとペアごとの距離(座標ではない)の与えられたセット」で?例を挙げる。
Craig Gidney、2014

1
一般に、 k飛行機はユニークではないかもしれません。たとえば、頂点が立方体の頂点である場合、k=2、それから上と下の平面、前と後、左と右が機能します。あなたはについて話していまし k飛行機、しかしおそらくあなたは何かを見つけて大丈夫です k まだすべてのポイントをカバーするトリックを行う飛行機 V
アミットクマーグプタ

回答:


3

入力グラフが3つ接続されていて、任意の原点と方向を想定している場合は、元のポイントを再作成できると思います。特に、三角測量プロセスをシードするK_4を見つけることができる場合。

ポイントが得られると、貪欲な戦略が利用可能になります。それらは最適ではないかもしれませんが、多分あなたの目的には十分です。

別の質問として、埋め込みの回復について質問しました。

ランダム貪欲

不適格でない点が3つ未満になるまで、任意に3つを選び、それらを通過する平面を譲り、平面上のすべての点を不適格としてマークします。

残りの不適格でない点があればそれを取り、それらを任意の不適格な点とペアにし、それらを通過する平面を生成します。

私たちが生み出した飛行機はすべてのポイントをカバーしていました。生成した飛行機の数は最大で、およびそれぞれが残りのポイントをスキャンする必要があるため、このアルゴリズムは O2 時間(行列式の計算よりも高速)。

飛行機の数 k、それから私たちは大きな飛行機の1つに当たる確率がかなり良いです。予想される実行時間はどのくらいかはわかりませんが、私はそれを推測しますOkログk。(それは私たちが必要としていることを示唆するクーポンコレクターの問題に基づいていますkログk 収集するヒット k 飛行機、そしてヒットの確率は 1/k2 したがって、ヒット間の予想時間は k2)。

優先度の高い貪欲

私たちができるもう1つのことは、点を解くことができる場合、すべてのトリプレットを反復処理し、その平面上にある点の数を数えることです。次に、ポイントがなくなるまで、ほとんどのポイントをカバーする平面を繰り返し生成します。

次の飛行機を選択するときに失格ポイントを考慮しない場合、これには Oログt どこで t返される飛行機の数です。優先順位を付け直しても、それはOログt (他の平面上の不適格な点の数は2だけしか変化しないので、何らかの賢い方法でリバランスすることが可能かもしれません)。

このアプローチはもっとうまくいくはずですが、繰り返しますが、 t=k。ポイントを配置して、それらのほとんどをカバーする平面を使用すると、間違ったパスに進むようにすることができます。


最初のアルゴリズムの最初の文は、基本的に「3つのポイントを選択し、それら3つと同一平面上にあるすべてのポイントを失格にする」と述べています。しかし、どの点が同一平面上にあるかをどのように判断しますか?それがこの質問の要点です。ポイントの座標がわからず、ペアの距離の一部しかわからないとすると、どのようにしてコプラナリティを検出できますか?
アミットクマールグプタ

@AmitKumarポイントの任意のトリプレットは、平面を定義するため、同一平面上にあります。コーナーケースとは、それらが縮退している場合(2つの点が同じ、または3つの点が線上にある場合)です。この場合、それらは同一平面上にありますが、多くの平面がそれらをカバーできます。
クレイグギドニー14

@AmitKumarああ、私はあなたがポイントが平面上にあるかどうかをどのようにテストするのかを意味しているようです。基本的に、点の平面に対する点のデルタに対する平面の法線をドット積します。内積がゼロ(または近似している場合はゼロに近い)の場合、ポイントは平面上にあります。失格ではないポイントごとにこれを行います。
クレイグギドニー14

@AmitKumarGuptaもう少し正確に言うと、問題はどの点が平面上にあるかを見つける方法ではありません。ポイントをカバーする平面の小さなセットを選択する方法についてです。ポイント自体ではなく、ポイント間の距離の一部しか取得できないという追加のしわがあります。
クレイグギドニー14

1
@AmitKumarGupta K_4がある場合は、そのうちの1つを(0,0,0)に配置し、もう1つを(x、0,0)に配置し、次を(y、z、0)に配置し、最後を(a、 b、c)c>0。変換/回転/ミラーリングまでの一意の埋め込みを解決できない場合、明確に定義された解決策はないと思います。距離の制約に違反することなく回転できるレバーによって接続された剛直な点のグループのようなものが得られますが、飛行機は情報の損失を乗り切ることができないと思います。
クレイグ

3

RANSACは、ポイントの大部分をカバーする平面を見つける方法の1つです。

ポイントの大部分が何らかの平面を通過するとします P、 いう、 /10そのうちの。これを見つける方法は次のとおりです。

からランダムに4点を選びましょう ; それらのポイントを呼び出すq,r,s,t。そのようなすべてのペア間の距離がわかっているとします(4つのクリークを形成し、K4)。次に、Cayley-Menger行列式を使用して、それらが同一平面上にあるかどうかを確認できます。それらが同一平面上にあるとします。次に、他のポイントをテストしてみますx それによって形成される平面と同一平面上にあるかどうかを判断できるかどうかを確認する q,r,s,t。追加のポイントがあるときにのみこれをテストできるかもしれませんu平面上にあることが知られている他のいくつかの点と一緒に4-クリークを形成します。最後に、以下によって形成される平面上にあるかなりの数の点を見つけた場合q,r,s,t、私たちはこの飛行機を保ちます。たとえば、1000のランダムな選択肢に対してこれを続けますq,r,s,t

これでうまくいくでしょうか?まあ、私たちはグラフをランダムなグラフとしてモデル化し、可能な各エッジが確率で現れると仮定しますp (私たちは期待しています pn(n1)/2エッジの平均)。次に、ランダムに選択された4ポイントのセットがグラフの4クリークを形成する確率は、p6。したがって、少なくともサンプリングすると104/p6 の選択肢 q,r,s,t、私たちは彼らが飛行機を明らかにする場所を少なくとも1つ見つけることを期待しています P。また、追加ポイントがu 少なくとも3つで4-クリークを形成します p,q,r です p3なので、4つのポイントを見つけると qrst 飛行機の中 P、私たちは少なくとも見つけることを期待しています p/10 平面上の点の P。(実際には、それ以上のものが見つかるでしょう。p/10 ポイント、今度は追加ポイントが v それらの少なくとも3つで4-クリークを形成します 1(1p3)p3n/101exp{p6n/10}、これは p3。)つまり、ポイントを見つけたら q,r,s,t 飛行機の中 P、この平面を維持する可能性があります。

したがって、ポイントの4つの組み合わせを十分にサンプリングし、グラフが十分に密集している限り、この手順は、ポイントの大部分をカバーするすべての平面を検出する可能性があります。


ただし、テストする追加のポイントごとに、Cayley-Menger行列式を再び使用する必要があります。
パダワン2014

@cagirici、そうです。私の回答は、質問で提供された詳細レベルまで、問題の説明と一致しています。特定の設定に対応しない理由がある場合は、質問を編集して、より具体的な一連の技術要件を提供することを検討してください。(「Cayley-Mengerを使用しない」は有効な技術的要件ではありません。「非常にまばら」意味を定式化できる場合、「非常にまばらなグラフで作業する必要あります」要件です。達成するために、方法ではありません。)
DW

長い期間の後、私は再びその問題に戻ります:)「アルゴリズムは一貫性のない距離測定で動作するはずです」と言った場合、これは要件ですか?もしそうなら、このアルゴリズムは誤った範囲測定で機能しますか?
padawan 2014年

3

残念ながら、答えはこれがNP完全問題であるということです。点の4つの平面のみを使用して、充足可能性の問題を、まばらな距離のセットを生成する点セットがあるかどうかにエンコードできます。

つまり、5番目の平面が必要かどうかを判断する際に、3-SATの問題を解決する必要があるという問題が発生する可能性があります。このような2つの問題を組み合わせることができます。1つは第5平面を必要とし、平面の数を一定に保ち、アルゴリズムがそれを知っている場合でも3-SAT問題を強制的に解決します。k 事前に。

したがって、P = NPでない限り、問題には最悪の場合の多項式時間解はありません。


-1

質問がいくぶん不明確に述べられているかもしれませんが、回答を試みています。半分はポイントが与えられていることを示し、残りの半分はペアワイズ距離が与えられていることを示しています。この回答ではポイント座標が指定されていると想定します。行列式と行列ランクの計算には密接な関係があります。次のような一般化があります。3Dベクトルの行列を作成します。これらは、列ベクトルまたは行ベクトルのいずれかです。ランクを計算します。2の場合、ポイントは同一平面上にあります。ペアワイズ距離は座標から計算でき、行列のランクを計算/決定する必要はありません。


1
ポイントの座標が与えられていることを示す文をコピーして貼り付けてもらえますか?質問はポイントセットが与えられていると言います。座標ではありません。
padawan 2014

「ポイントセット=座標」を取得しています。あなたはポイントがコメントでは完全ではないが、質問ではないと言う。座標なしの「ポイントセット」をどのように定義しますか?たぶん、これが現在の形で一貫性がないか、答えられない場合、修正せずに終了するために投票する必要があります。答えられるものを抽出しようとしています。コメントと質問はすべて揃わないでください。答えは、すべての点が同一平面上にあるかどうかを決定します。たぶん、いくつかのペアワイズ距離が与えられた場合、すべてのポイントのサブセットが同一平面上にあるかどうかだけを知りたいですか?
vzn 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.