ブルートフォースと最適なアルゴリズムのギャップに基づく複雑さの代替概念?


17

通常、効率的なアルゴリズムには、多項式ランタイムと指数関数的に大きな解空間があります。これは、問題が2つの意味で簡単でなければならないことを意味します:1つ目は、多項式のステップ数で問題を解決できること、2つ目は、実行可能数が多対数であるためランタイムが非常に構造化されていることです。

ただし、これらの2つの概念が異なる場合があり、問題は最初の意味でのみ簡単です。たとえば、近似アルゴリズムとパラメーター化された複雑さの一般的な手法は、(おおよそ)解空間を実際の単純な定義よりもはるかに小さいサイズに制限できることを証明し、ブルートフォースを使用してこの制限された空間で最適な答えを見つけることです。たとえば、n ^ 3個の可能な答えにアプリオリに制限できも、それぞれを確認する必要がある場合は、ブルートフォースよりも優れたアルゴリズムがないという点で、ある意味でこのような問題は依然として「困難」です。

逆に、可能性のある指数関数的な数の答えに問題があるが、指数関数的な時間でしか解決できない場合、そのような問題は「簡単」(「構造化」の方が良いかもしれないと言いたい)単語)ランタイムはソリューションスペースサイズのログのみであるため。

効率的なアルゴリズムと、ブルートフォースまたは解空間のサイズに対する硬度とのギャップに基づいた硬度のようなものを検討している論文を誰もが知っていますか?

回答:


12

質問を形式化する際の1つの問題は、「問題Aの解決空間」という語句が明確に定義されていないことです。ソリューション空間の定義には、検証アルゴリズムが必要です。検証アルゴリズムは、インスタンスとソリューションの候補が与えられると、ソリューションが正しいかどうかを検証します。次に、検証者に対するインスタンスのソリューション空間は、検証者の出力を「正しい」ものにする候補ソリューションのセットです。

たとえば、SAT0という問題を考えてみましょう。ブール式が与えられた場合、すべてゼロの割り当てで満たされますか?この問題は多項式時間ではささいなことですが、使用する検証方法に応じて解空間は大きく異なります。検証者が候補ソリューションを無視し、インスタンスですべてゼロが機能するかどうかを確認するだけの場合、その検証者のSAT0インスタンスの「ソリューション空間」は簡単です。すべての可能なソリューションです。検証者が候補解が満足のいく割り当てであるかどうかを確認する場合、SAT0インスタンスの解空間は実際には非常に複雑であり、おそらくSATインスタンスの解空間と同じくらい複雑です。

とはいえ、「ブルートフォース検索を回避する」という問題は、次の方法で形式化できます(論文「徹底的な検索の改善は超多項式下限を意味する」で見られるように)。サイズインスタンスとビットの候補解で、時間で実行される検証アルゴリズムが与えられます。問題は、サイズ任意のインスタンスで、時間よりもはるかに短い時間で、最大でビットの正しい解決策(この検証器を使用)があるかどうかを判断できますか?n k n k O 2 k t n k tnknknkO2ktnk

注は、長さがkまでのすべての文字列を試し、検証を実行するコストです。したがって、上記は、指定された検証者に対するブルートフォース検索を改善できるかどうかを尋ねていると見なすことができます。例えば、より良い-than-見つけるの質問:「NP-難しい問題の正確なアルゴリズム」の面積は、特定の非常に自然な検証用力まかせ探索に向上させることの難し研究するために、長期的な取り組みとして見ることができる SATのアルゴリズムは、与えられた候補解が与えられたSATインスタンスへの満足のいく割り当てであるかどうかを確認する検証者の総当たり探索を常に改善できるかどうかの問題です。2 nO2ktnk2n

この論文は、いくつかの問題に対するブルートフォース検索を改善することの興味深い結果を示しています。「多項式サイズのソリューション空間」のブルートフォース検索を改善したとしても、興味深い結果になります。


1

私は自分の論文を回答で参照することを少し嫌がっています。しかし、それは正確に質問に適合するとき、それは...抵抗するのは難しい
ライアン・ウィリアムズ

5

典型的な動的プログラミングの問題にどのように対処しますか?ここで、頻繁に起こるのは、最適解の空間が多項式で制限されているが、解の空間が制限されていないことです。したがって、実行時間はソリューション空間で対数であるため、あなたの感覚では「簡単」に見えますが、すべての潜在的に最適なソリューションで「ブルートフォース」を実行するため、あなたの感覚では「ハード」です。


厳密にどのアルゴリズムがブルートフォースと見なされるかなど、定義には細心の注意を払う必要があります。私はおそらく次のようにソリューションスペースを制限しようとします:特定の問題サイズについて、データを見ずに検討から回答を削除できる場合、ソリューションスペースにはありません(確かに、これにより複数の異なるソリューションスペースが可能になります)。そうは言っても、多くの詳細が異なっていても、私の質問に精神的に類似した答えがあればうれしいです。
イアン

3

パースペクティブは、解空間の有限性など、いくつかのことを想定しているようです。

たとえば、入力ポイントのセットからボロノイテッセレーションを生成する問題について考えます。図の端の各点は実数のタプルであるため、ここには無限のサイズの解空間があります。ただし、(平面の)入力ポイントの数でO(n log(n))で解に到達できます。


確かに、いくつかの問題はこのフレームワークに収まらない場合があります。実数の出力に関する問題では、入力に関して出力を代数的に記述することにより(たとえば、入力ポイントの線形結合として)空間を有限にすることができます。実数が通常発生する幾何学的アルゴリズムについてはあまり知らないので、どのくらいの頻度でこれが可能かどうかはわかりません。
イアン

1
無限の解空間を得る唯一の方法は実数ではありません。アリスとボブの間のゲームを考えてみましょう。アリスは整数nを選択します。ボブは推測を行い、アリスは彼が彼女の秘密のnより高いか、低いか、等しいかを彼に伝えます。ボブには、nが常に有限であるため、nを見つけるための有限時間戦略があります。彼は0を開始し、大きな定数cを選択します。アリスは彼女のnの方向を彼に伝え、ボブはnのバイナリ検索を実行する下限と上限を見つけるまでc ^ turnを推測します。その後、再び私は...あなたはn個のビット数の有限解空間があることを主張することができたと
ロス・スナイダー

3

関連するのは多項式遅延を持つアルゴリズムを認める問題です。最初の解、およびその後のすべての解は、多項式時間で生成できます。:ジョンソン、Yannakakis、およびPapdimitriouは、(多項式時間の合計など)他の可能なギャップの文脈でこの枠組みを議論する上での生成すべての最大独立セット、情報処理レター27、119-123、1988。

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