コルモゴロフ複雑度を入力「サイズ」として使用


20

一連の問題インスタンス(入力の可能性)がある計算問題、たとえば3-SATがあるとしますS。通常、アルゴリズムの分析または計算の複雑さの理論では、いくつかのセット 長さのすべての入力の、及び関数、いくつかのソリューションアルゴリズムの実行時間が得られる入力に。最悪の場合の時間シーケンスを実行して、次にある

I(n)={wS:|w|=n}
nT(w)AwA
fn=maxwI(n)T(w).

コルモゴロフ複雑度すべての入力のセット を定義し、シーケンス ここで、は平均実行時間シーケンスです。ただし、入力の「サイズ」は、長さではなくコルモゴロフの複雑さです。N F K N = 1

IK(n)={wS:K(w)=n}
nfKA
fnK=1|IK(n)|wIK(n)T(w).
fKA

がと漸近的に有意に異なるアルゴリズムはありますか?もしそうなら、アルゴリズムを分析するこの異なる方法を使用すると、時間の複雑さが変化する問題がありますか?f K nfnfnK


4
いい質問です!よく疑問に思うのは、良い答えが得られることです。(タグparameterized-complexity b / cを追加しました。これは、SATのパラメーター化された複雑さの問題として見ることができます。パラメーターはコルモゴロフの複雑さです。)
ジョシュアグロチョウ14

3
ランダム文字列(ほとんどの文字列)は、元の長さに近いコルモゴロフ複雑度を持っています。入力の大部分についてfn=fnKコルモゴロフの複雑さではなく計算の深さについて尋ねると、より興味深い結果が得られる可能性があります。google.com/...
チャドBrewbaker

2
PARITYの一部のインスタンスをハード言語に混ぜてSを形成Sすることにより(たとえば、各インスタンスの前に、インスタンスの言語を示すビットトグルを付けることにより)、fnKf_nより小さくなりfnます。どれだけ小さいかは、相対密度に依存します。
アンドラスサラモン14

1
1つの場所は、ここ(2月19日)のVadhanの講義ノートです:people.seas.harvard.edu/~salil/cs221/spring10/lectures.html
usul

1
@AndrásSalamon、ええ、私はあまりずさんではないことを願っていますが、本質的にはビジービーバー機能であるべきです。nmaxw:K(w)=n|w|
usul

回答:


14

パリティ関数(または入力のすべて/ほとんどのビットに依存する他の関数)を検討してください。パリティ関数の場合、。したがって、 一方、 f n = Θ n f K n = Θ 1T(w)=Θ(|w|)

fn=Θ(n).
fnK=Θ(1|IK(n)|w:K(w)=n|w|)Ω(12nmaxw:K(w)=n|w|).

ことに注意してください。したがって、および。同様に、 ; したがって、「非常に急速に成長します」。さらに、計算可能な上限がないことを確認するのは難しくありません。max w K w = n | w | 2 2 Ω N F K N2 2 Ω N / 2 NK 2 ... 2 2 N= O N F K NK(22n)=O(n)

maxw:K(w)=n|w|22Ω(n)
fnK22Ω(n)/2nK(222n)=O(n)F K NfnK222Ω(n)/2nfnK

9

この質問への関心を考えると、答えにまったく驚いてはならない理由をより明確に指摘し、質問の改良に何らかの方向性を与えようとすると役立つと思いました。これにより、いくつかのコメントが収集および拡張されます。これが「明らか」である場合、私は謝罪します!

コルモゴロフ複雑度文字列セットを考えてみましょう: 長さ記述があるため、このような文字列 は最大でます。しかし、このセットは一般的な決定不可能であることに注意してください(そうでなければ、から繰り返し、メンバーシップをチェックするだけで計算できます)。さらに、関数 計算できないほど速く成長します。これは、ビジービーバー機能の変形です。長さチューリングマシンによる最長出力は何ですかn

JK(n)={w:K(w)=n}.
2n2nnnK(w)n=1|w|JK(n)
gK(n)=maxwJK(n)|w|
n?これは、いくつかの計算機能よりも遅い成長した場合、我々は停止問題を決めることができました:TM考えると、構築物シミュレートして出力する各段階で。記述の長さが、は最大でステップで停止します。または、は停止しません。MMM1MnMgK(n)M

さて、Andrewの質問に、があります。ここで、は元の言語です。回避するための唯一の方法だから、非常に大きな入力を含むあればだろう非常に非圧縮の文字列が含まれています。(そうでなければ、ここでは最悪ケースと平均ケースの分析の区別を完全に無視できることに注意してください。なぜなら、最大で文字列を平均しますが、最大の文字列のサイズは計算可能な関数よりも速く成長しているためです)IK(n)=SJK(n)SIK(n)nS2nn

非圧縮性の文字列のみを含み、決定可能な非自明な(つまり無限の)を構築することはおそらく不可能だと思います。しかし、私は知りません。しかし、うまくいけば、ほとんどの言語でが計算可能な関数よりも遅くなることを期待してはならない理由について直観が得られることを期待しています。SfnK

わずかにバックステップと、質問は、長さの入力に性能を比較することであるすることができる入力の性能に圧縮長さを。しかし、Kolmogorov Complexityよりもはるかに扱いやすい(そしてそれほど強力ではない)圧縮の概念があります。簡単な方法は、サイズ回路を与えることです。これは、入力で2進数が番目のビットを生成します。ここで、入力サイズの拡大は最大で指数関数的であることに注意してください(サイズ回路は最大で入力が可能です)。nnnbbwn2n

したがって、にすることで、質問を言い換えることができ 同様に 定義します。ここでの希望の理由は、ほとんどのストリングがストリング自体とほぼ同じ大きさの回路を必要とし、必要な回路より指数関数的に大きいストリングはないことです。おそらくこの場合、とが漸近的に類似している言語を見つけることができます。

IC(n)={wS:the smallest circuit implicitly specifying w has size n}.
fnCfnfnC

かなり密接に関連した質問は、ような暗黙の言語の複雑さです IMPLICIT_SATはNEXP完全であり、通常、NP完全問題の暗黙バージョンはNEXP完全です。決定IMPLICIT_SATは簡単としてだけのすべて書き出すために回路を使用するなど、少なくともある、その後にSATのためのアルゴリズムを実行し、。したがって、SATの場合、これは、平均ケースのIMPLICIT_SATが、SATが最悪の場合とほぼ同じ速さで決定可能であるという証拠を与えることに近いようです。しかし、「最小回路」という概念は、暗黙の言語とあなたの概念を直接比較する方法がわからないw w f C n = Θ f nw

IMPLICIT_SAT={circuits C:C implicitly specifies w,wSAT}.
wwfnC=Θ(fn)w「暗黙的な言語では機能しません。

これが役に立つ/興味深いことを願っています!

暗黙的な問題について言及している教科書は定かではありませんが、講義ノートは次のとおりです。http//people.seas.harvard.edu/~salil/cs221/spring10/lec8.pdf


|JK(n)|=2n?しかし、すべての説明が最小限ではありません。
アンドリュー

1
@AndrewMacFieは、「最高」でなければなりません。修正します。
-usul

この答えを追加してくれてありがとう:) 3-SATのアルゴリズムでは、は急速に成長するようです。fnK
アンドリュー14年

4

簡単なケースは、言語に埋め込みインスタンスのみが含まれている場合です。サイズ各インスタンスにシンボルをパディングすることにより言語からを取得する場合、は領域に存在できます。S L n 2 nn f K n 2 f nSSLn2nnfnK2fn


Yuryの答えはこれを包含しており、「領域内に存在できる」ことも正確にしています。
アンドラスサラモン14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.