非直交ベクトル問題


8

次の問題を検討してください。

直交ベクトル問題

入力:Aセットは、Snブールは、長さの各ベクトルd

質問:DOは明確なベクトルが存在しv1及びv2Sそれは、このようなv1v2=0

非直交ベクトル問題

入力:Aセットは、Snブールは、長さの各ベクトルdと正の整数k

質問:DOは明確なベクトルが存在しv1及びv2S、このようなv1v2k

これら2つの問題の関係は何ですか?

特に、ここで私が疑問に思っているいくつかのより具体的な質問を示します。

(1)これらの問題のどちらかが他よりも難しいように見えますか?

(2)私は確かに芸術アルゴリズムの現在の状態がOVP何のためにあるのかが、これらの問題のいずれかのために、あなたは上限よりも良い得ることができていないよO(n2d)時間は?

(3)kを修正することは、2番目の問題の複雑さに対して何か違いがありますか?

、Iは、の内積平均V 1及びV 2を超えるR dはv1v2v1v2Rd

編集:が小さい場合、ほとんどの応答は本当に素晴らしい洞察を提供します。 d

が大きい場合、何が言えるでしょうか。d = nまたはd = √と言いますdd=n 又は少なくともD=Nαいくつかのためにα>0d=nd=nαα>0


4
(2)に関して:私の知る限り、OVPを解くための最もよく知られているアルゴリズムがこの論文で確立されました。複雑さ この結果を改善するON2-εいくつかの定数をεは有名なオープン問題であり、それがあろうから、そうであると考えられて強い指数時間仮説予想を改ざんします
O(n21O(log(dlogn))).
O(n2ε)ε
Geoffroy Couteau、2018

2番目の問題も時間で解決。位置を選択し、2つのベクトルの位置がすべて1かどうかを確認します。O(nk(dk))k
Michael Wehar

1
上記のOVPの時間制限に関する注記:時間制限では、d <= 2 ^(sqrt(log n))も必要です。それ以外の場合、確率的多項式の中間構築に時間がかかりすぎます。
ライアンウィリアムズ

2
ラージdについて:すべてのドット積の計算において、矩形行列乗算のアルゴリズムはn ^ 2 dに勝ります。d <n ^ 0.3の場合、時間範囲はn ^(2 + o(1))になります。
Rasmus Pagh

1
@MichaelWehar:その通りです。最良の結果は、FrançoisLe Gall、arxiv.org / abs / 1204.1111
Rasmus Pagh

回答:


8

が入力の一部として与えられる場合、2番目の問題は単色のMax-IP問題と同等です(与えられた場合、見つけます)。kS{0,1}dmax(a,b)S,abab

最近、私とライアンウィリアムズは(非公開)の作業を行っていますが、、OVP、およびMax-IPのバイクロマティックバージョン(与えられて、見つける)は実際には同等です。つまり、それらの1つが時間アルゴリズムを持っている場合、他のアルゴリズムもそうです。(OVPからMax-IPへの削減はよく知られています。ここでの新しい削減はMax-IPからOVPへの削減です)。d=O(logn)A,Bmax(a,b)A×Babn2ε

Max-IPの単色バージョンを二色バージョンに削減できるため、上記の結果は、場合、単色Max-IPをOVPに削減できることも意味し。d=O(logn)

OVPをモノクロMax-IPに削減できるかどうかは未解決の問題だと思います。これは、最も近いペアの問題のOV硬度の確立にも密接に関連しています(たとえば、ポイントセットの極ペアによる最も近いペアの複雑さについてを参照)

単色Max-IPの場合、アルマン、チャン、ウィリアムズによる実行時間時間アルゴリズムのアルゴリズムがあります(ラスムスによって指摘された)、それは私が最先端の技術であると私は信じています。OVPの最適なアルゴリズムは、場合、時間で実行され、これは大幅に高速です。n21/O~((d/logn)1/3)n21/O(logc)d=clogn

また、Max-IPの近似バージョンもこの論文で研究されていますOn The Hardness of Approximate and Exact(Bichromatic)Maximum Inner Productはバイクロマティックのケース(つまり、寸法と近似比)問題は時間で解決できますか?)。その論文のアルゴリズムは単色の場合にも機能します。dtn2ε


ん時間アルゴリズムにいくつかの限界を必要と?n21/O~((d/logn)1/3)d
Michael Wehar

6

場合、アルマン、チャン、ウィリアムズ手法が非直交ベクトル問題の最もよく知られた解決策を提供する信じています。(彼らは、ハミングの最も近いペアの問題として別様に言いますが、これはpoly()因子まで同等です。)k=O(logn)d

に制限がない場合、非直交ベクトル問題のバイクロマティックバージョンは、少なくとも直交ベクトル問題(OVP)と同じくらい、係数まで困難です。最初に、係数オーバーヘッドを使用すると、OVPのバイクロマティックバージョン((異なる「色」のセットへの結合))に削減でき、バイクロマティック直交ペア。第2に、係数オーバーヘッドを使用して、すべてのベクトルが同じハミング重みもつ OVPの特別な場合に削減できます。最後に、すべてのベクトルを反転してkdlognlognS=S1S2(v1,v2)S1×S2dS1wS2S2我々はそれを見とあれば、直交ペアを持っている場合にのみと少なくともドット積とベクトルのペアを持っている。しかし、バイクロマティック非直交ベクトル問題から、説明したモノクロバージョンへの効率的な削減があるかどうかはわかりません。S1S2S1S2w

近似を許可すると、バイクロマティック非直交ベクトル問題(最大内積検索問題と呼ばれることが多い)の最近の結果がいくつかあります。たとえば、この論文とその参考文献を参照してください。


0

同等:

セットのための非直交ベクトルの問題(上記で定義した)のブールは、長さの各ベクトル、正の整数以下と等価です。Sndk

  • 発見によって与えで部分行列の1のによってブール行列。2knd

  • 最初の頂点セットのサイズがで、2番目の頂点セットのサイズがである、与えられた二部グラフで完全なサブグラフを見つけます。K2,knd

単純なアルゴリズム:

非直交ベクトルの問題を実行するための単純なアプローチの時間はかかるため、単純ベクトルのすべての対の内積を計算する時間。O(dn2)O(dn2)

質問(2)および(3)への回答:

はい、さまざまなケースでより効率的なアルゴリズムがいくつかあります。

最初のアプローチ:

時間で非直交ベクトル問題を解くことができます。O(dn+kn2)

注: 2つの長さブールベクトルの内積はで囲まれる必要があるため、この問題は場合にのみ意味があります。ddkd

証明。それぞれ長さと正の整数のブールベクトルの セットが与えられたとします。の要素の列挙を考えます。Sndk{si}i[n]S

ペアからへのハッシュマップを作成します。最初に、は各入力を値0にマップします。m(a,b)[n]×[n]Nm

各について、次のことを行います。、番目のビットが1、番目のビットが1になるように、ベクトルとペアを列挙します場合、そのようなとそれぞれについての場合、とは非直交です。つまり、です。それ以外の場合は、をインクリメントして続行します。i[d]sasba<bisaisbsasbm(a,b)=k1sasbsasbkm(a,b)

列挙を終えると、直交しないベクトルのペアはありません。

すべてのベクトルのすべてのビットをスキャンするには、時間かかります。次に、ベクトルのペアを列挙するために追加の時間がかかります。ベクトルのペアは最大であり、各ペアは非直交であることが示される前に最大で回表示されるため、ペアを列挙すると最大で時間。したがって、総実行時間はです。O(nd)(n2)k1O(kn2)O(dn+kn2)

注:場合、このアプローチを時間に改善できます。これは、ときに、我々は間で非直交ベクトルのペア発見減らすことができの長さのブールベクトルうち、非直交ベクトルのペア発見に長さのブールベクトル。k=2O(nd)k=2nddn

2番目のアプローチ:

時間で非直交ベクトル問題を解くことができ。O(k(dk)n)

証明。それぞれ長さと正の整数のブールベクトルのセットが与えられたとします。Sndk

サイズがように、セット列挙します。すべてのベクトル、がの位置にすべて1を持っているかどうかを確認します。の位置にすべて1がある2つのベクトルが存在する場合、2つの非直交ベクトルが見つかります。P[d]PkvSvPP

合計すると、には可能な選択肢があります。そして、選択ごとに、ベクトルからビットをスキャンします。したがって、全体として、ランタイムはです。(dk)PknO(k(dk)n)

3番目のアプローチ:

場合、非直交ベクトル問題を時間で解くことができます。ここで、は整数行列乗算の指数です。場合、非直交ベクトル問題を時間で解くことができます。dnO(dω2n2)ωd>nO(dnω1)

注: @Rasmus Paghが指摘したように、場合、このアルゴリズムを時間に改善できます。詳細については、こちらをご覧ください:https : //arxiv.org/abs/1204.1111O(n2+o(1))dn0.3

証明。それぞれ長さと正の整数のブールベクトルのセットが与えられたとします。Sndk

行列と考えます。第1のマトリックス寸法を有するによっての各列からベクトルである。第二行列寸法が有するによっての各列からベクトルである。ABAndASBdnBS

高速整数行列乗算のアルゴリズムを使用してを計算により、すべてのベクトルのペアのドット積を計算できます。SAB

場合、1つのアプローチは、四角形行列乗算を変換することである正方形の乗算によってマトリックス。高速正方行列の乗算を使用することにより、時間。dn(nd)2ddO((nd)2dω)=O(dω2n2)

とき、1つのアプローチは、四角形行列乗算を変換することである正方形の乗算によって行列。高速正方行列乗算を使用すると、すべての乗算を計算できます時間。d>ndnnnO((dn)nω)=O(dnω1)


これら3つのアプローチをいくつかの異なるケースで比較してみましょう。 ケース1:とき固定され、第2のアプローチは、最も効率的です。kd=O(log2(n))
Michael Wehar

ケース2:、および任意用、最初のアプローチは、時には最も効率的です。k=O(log2(n))d=O(nα)α(0.3,1)
Michael Wehar

ケース3:、第三のケースは、時に最も効率的です。dn0.3
Michael Wehar

ケース4:とき及びより大きい、第三のアプローチは、時には最も効率的です。dkn
Michael Wehar

注:最初のアプローチは、2次時間でグラフ内の4サイクルを見つけるアルゴリズムと非常に似ています。ここを参照してください:sciencedirect.com/science/article/pii/S0304020808730196
Michael Wehar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.