時間とクエリの複雑さのトレードオフ


18

時間の複雑さや回路の下限を直接操作するのは怖いです。したがって、クエリの複雑さ(または決定木の複雑さ)などのツールを開発して、下限を処理します。各クエリには少なくとも1ステップが必要であり、クエリ間の計算は無料としてカウントされるため、時間の複雑さは少なくともクエリの複雑さと同じくらい高くなります。しかし、分離について何か言うことができますか?

私は古典文学や量子文学の研究に興味がありますが、私はよく知っているのでQCの例を提供します。

Groverの検索やShorの期間発見などの有名なアルゴリズムでは、時間の複雑さはクエリの複雑さの多対数要因の範囲内にあります。Hidden Subgroup Problemなど、その他の場合、多項式クエリの複雑さがありますが、多項式時間アルゴリズムは不明です。

時間とクエリの複雑度の間にギャップが存在する可能性があるため、最適な時間の複雑度アルゴリズムが最適なクエリの複雑度アルゴリズムと同じクエリの複雑度を持たなければならないことは明らかではありません。

時間とクエリの複雑さのトレードオフの例はありますか?

最もよく知られている時間複雑度アルゴリズムが最もよく知られているクエリ複雑度アルゴリズムとは異なるクエリ複雑度を持つ問題はありますか?言い換えれば、クエリ間操作を簡単にするためにより多くのクエリを実行できますか?

または、漸近的に最適な時間複雑性を持つ実装を持つ漸近的に最適なクエリアルゴリズムのバージョンが常に存在することを示す引数はありますか?


自然な問題が必要ですか、それとも人為的な問題でもいいですか?
ロビンコタリ

2
自然な問題が好まれますが、人工的な問題は無回答よりも優れています。
アルテムKaznatcheev

回答:


9

以下は、次のプロパティを使用して人工関数を作成する試みです。

  • この問題はクエリで解決できますが、時間を必要とします。exp n O(logn)exp(n)
  • この問題は時間で解決できますが、クエリが必要ですO n O(n)O(n)

入力サイズをます。最初のビット(この文字列xを呼び出しましょう)が、EEXPの完全な問題への入力をエンコードします。次のビット(この文字列yを呼び出しましょう)には、xがEEXP完全問題のNOインスタンスである場合にのみ、すべてゼロであるという特性があります。log n nn+lognlognn

つまり、最初のビットは難しい問題をエンコードし、次のビットは問題の解決についての手がかりを与えます。ただし、ビット文字列を見てソリューションを把握するには、クエリを作成します。、N 、N Ω N lognnnΩ(n)

したがって、この問題は、最初のビットのみを読み取ってexp(n)時間を費やすか、ビットを読み取って線形時間のみを使用することで解決できます。nlognn

量子クエリの複雑さでも同じ機能が実行されます。必要に応じて平方根記号を挿入します。


7

ロビンの例のより極端なバージョン:

入力サイズをとし、最初のビット(この文字列呼び出します)でチューリングマシンます。いくつかの関数修正します。チューリングマシンがステップ未満で停止する場合、文字列の最後のビットをます。問題は、どうかを決定することである停止未満でステップのパリティ偶数です。n 1 x T x f n 1 T x f n T x f n xnn1xTxf(n)1Txf(n)Txf(n)x

したがって、クエリを作成することで問題を時間で解決でき、クエリを作成することで問題を時間で解決できます。n1O(f(n))nO(n)


おそらく、最後のビットは、チューリングマシンが時間内に停止する場合に限り、xのパリティが偶数であることを意味します(そうでない場合、質問は1つのクエリのみを必要とします)。これは便利であり、時間とクエリの間に任意の種類の分離を与えるように変更できます。関数および考慮し、最初のビットをの記述とします。ビットの他のは、がステップ未満で停止する場合、パリティが偶数になるようにします。次に、次のコストで対クエリがあります。g(n)=ω(1)g(n)<ng(n)xng(n)xxTxf(n)>ng(n)nΘ(f(n))対時間の。n
アルテムKaznatcheev

以前のコメントの最初の文を無視します。
アルテムKaznatcheev

7

ロビン・コタリの答えとジョー・フィッツシモンズの修正が好きです。回答の明らかな拡張では、クエリの複雑さの大小と時間の複雑さの大小の分離比(constant-vs.-non-constantを除く)を達成できます。ただし、それらの機能を非部分的にする明確な方法はありません。分離があるという自然な問題を指摘し、全体の関数では大きな分離が難しいことを示したいと思います。


自然な問題

Ben Reichardtは、式評価の問題を電子メールで指摘しました。変数に対する一般的な1回限りのAND-OR式を評価するための量子クエリの複雑さは、です。ただし、クエリアルゴリズムは時間効率がよくありません。ここでは、クエリを作成し、時間内に多対数的に悪化する最も高速な既知のアルゴリズムを示し。したがって、既知の分離がある自然な全体的な問題があります。この分離が存在しなければならないという証拠はありませんが。nΘ(n)O(n)O(nlogn)

全機能を分離するのは難しいですか?

私にとっては、証明可能な分離を持つ全関数を見つけるのは難しいようです。合計関数と部分関数のケースが異なることを示すために、合計関数のクエリ最適アルゴリズムと時間最適アルゴリズムのクエリの複雑さの最大の分離に関する議論を提供します。

Simonの[1]下限を使用すると、関数がその変数のに依存する場合、それらの少なくともをクエリする必要があることがわかります。一方、問い合わせるのはがほとんどです。出力は変数のに依存しないため(これらのデッドビットを呼び出す)、すべての変数を照会する理由はなく、完全な機能のためにこれらのデッドビットを見ても秘密の構造は明らかにされないことに注意してください。したがって、合計関数の最も時間的に最適なアルゴリズムでさえ、デッドビットがすべてであると単純に仮定することで、最大でクエリを使用するように変更できます。mΩ(logm)mnnmm0

したがって、とと、複雑なクエリ最適アルゴリズム与えられた場合、全関数に対して、および複雑さ持つ時間最適アルゴリズムがあります。言い換えれば、関数全体のクエリ最適アルゴリズムと時間最適アルゴリズムの間で、クエリの複雑さを指数関数的に分離することしかできません。これらの本当にゆるい境界を改善できれば、私は驚かないでしょう。Q 1N T 1N Q 2N T 2N 、Q 2N F Q 1N (query complexity,time complexity)(q1(n),t1(n))(q2(n),t2(n))q2(n)f(q1(n))f(n)=O(2n)

[1] HUサイモン、「並列RAMが非縮退ブール関数を計算する時間に厳しいZ(loglogn)-bound」、シンプ。計算理論の基礎、コンピューターサイエンスの講義ノート、Vol。158、スプリンガー、ベルリン、1983年、439〜444ページ。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.