検討Rを N
私が思いつくことができる唯一のものは次のとおりです。ジョンソン・リンデンシュトラウスの補題の直接の結果であり、すべてのε > 0
UPD局所性に敏感なハッシュを使用する場合、上記の境界はクエリ時間O(n + m)にいくぶんシャープにすることができますO(n+m)
検討Rを N
私が思いつくことができる唯一のものは次のとおりです。ジョンソン・リンデンシュトラウスの補題の直接の結果であり、すべてのε > 0
UPD局所性に敏感なハッシュを使用する場合、上記の境界はクエリ時間O(n + m)にいくぶんシャープにすることができますO(n+m)
回答:
クエリベクトルが前処理されたコレクションのベクトルに直交するかどうかを判断する特別なケースを考えてみましょう。(つまり、mini⟨x,vi⟩=0
あなたがクエリに答えることができると仮定しnO(1)m1−δ
論文「最適な2制約の満足度とその意味のための新しいアルゴリズム」で、そのようなデータ構造により、実際には、いくつかのに対して時間でCNF-SATを解くことができることがわかりました。ここで、は変数の数です。これは、k-SATが無制限の本質的に時間を必要とする「強力な指数時間仮説」に反論するでしょう。2αv
理由を確認するために、前処理時間がによって制限されているとし。変数と節を持つCNF式を考えます。変数のセットをそれぞれサイズと 2つの部分とに分割します。パーツ内の変数へのすべての可能な割り当てをリストします(それぞれおよび割り当てを取得します)。これらの各部分割り当てをビットベクトルには(nm)c
ことを通知ベクトルある充足IFFあるに割り当てから及びベクターに割り当てからよう。Fw1P1w2P2⟨w1,w2⟩=0
ここで、部分すべてのベクトルを使用して、想定されるデータ構造を前処理します。仮定により、これには時間かかります。パート割り当てからのすべてのベクトルでクエリアルゴリズムを実行します。仮定により、これには。してみましょう。m=2v/(2c)P2n2v/2P12v(1−1/(2c))⋅nO(1)m1−δ=nO(1)2v−δv/(2c)α=1−δ/(2c)
おそらく、既存の手法で効率的な前処理とクエリ時間を取得することが可能です。最もよく知られているCNF-SATアルゴリズムはそれを排除しません。(これらはます。)しかし、を計算するにはがわずかに強力です。このセットアップでは、MAX CNF-SATを解くようなものです。nO(1)m1−1/(loglogm)2n−n/lognmini⟨x,vi⟩
正確な答えの1つのアイデアを次に示します。ChaoXuがほのめかしているかもしれません。まず、Chaoが指摘しているように、xを正規化することもできます。次に、方向xに垂直な超平面hを考えます。目標は、この超平面に最も近い点を見つけることです。双対性により、これは、クエリ点の「上」にある最も近い平面を見つけるための超平面の配置における光線射撃クエリに対応します。これは前処理できるため、主な複雑さはポイントの位置です。したがって、問題は超平面の配置でポイントの位置を決定する複雑さまで軽減されました。挿し木を使用して、これはn dの O (log n )時間で実行できます。 スペース。