タグ付けされた質問 「kolmogorov-complexity」

2
停止ステータスが不明な非常に短いプログラムとは何ですか?
Binary Lambda Calculusのこの579ビットプログラムには、不明な停止ステータスがあります。 01001001000100010001000101100111101111001110010101000001110011101000000111001110 10010000011100111010000001110011101000000111001110100000000111000011100111110100 00101011000000000010111011100101011111000000111001011111101101011010000000100000 10000001011100000000001110010101010101010111100000011100101010110000000001110000 00000111100000000011110000000001100001010101100000001110000000110000000100000001 00000000010010111110111100000010101111110000001100000011100111110000101101101110 00110000101100010111001011111011110000001110010111111000011110011110011110101000 0010110101000011010 つまり、このプログラムが終了するかどうかはわかりません。それを決定するには、Collat​​zの予想を解く必要があります-少なくとも、2 ^ 256までのすべての数値に対して。このリポジトリには、このプログラムがどのように取得されたかの完全な説明があります。 また、停止ステータスが不明な短いBLCプログラムがありますか?

3
コルモゴロフの複雑さの近似
コルモゴロフの複雑さについて何かを研究し、VitanyiとLiのいくつかの記事と本を読んで、正規化圧縮距離の概念を使用して著者のスティロメトリーを検証しました(各著者がどのようにテキストとグループ文書を書くかを類似性によって識別します)。 その場合、データコンプレッサーをチューリングマシンとして使用できるため、データコンプレッサーを使用してコルモゴロフの複雑さを近似しました。 データ圧縮とプログラミング言語(ある種のコンプレッサーを記述する)に加えて、コルモゴロフの複雑さを近似するために他に使用できるものはありますか?使用できる他のアプローチはありますか?

1
コルモゴロフ複雑性定義の同等性
Kolmogorov-Complexityを定義するには多くの方法があり、通常、これらすべての定義は加法定数まで同等です。場合であることをK 1K1K_1及びK 2は、K2K_2コルモゴロフ複雑機能である(別の言語又はモデルを介して定義された)、その後一定存在Cccようにそのすべての文字列のためのXxx、| K 1(x )− K 2(x )| &lt; c|K1(x)−K2(x)|&lt;c|K_1(x) - K_2(x)| < c。これは、すべてのコルモゴロフ複雑度関数KKKおよびxごとにxx、K (x )≤ | x | + c(定数 cの場合)。K(x)≤|x|+cK(x) \le |x| +ccc チューリングマシンに基づいたKの次の定義に興味がありますKK 状態の数:q状態のTMが空の文字列でxを出力するように、K 1(x )を最小数qとして定義します。K1(x)K_1(x)qqqqxx プログラムの長さ:定義:K 2(xは)出力がその最短「プログラム」されるようにxは。つまり、TMをバイナリ文字列にエンコードする方法を修正します。マシンのMは、のようにコードの(バイナリ)を示す⟨ M ⟩。 K 2(x )= 分| ⟨ M ⟩ | ここで、最小値は、空の入力でxを出力するすべてのMのものです。K2(x)K_2(x)xxMM⟨M⟩\langle M \rangleK2(x)=min|⟨M⟩|K_2(x) = \min |\langle M \rangle|MMxx …

3
アルゴリズム情報理論における「情報」と「有用な情報」の違い
ウィキペディアによると: 非公式には、アルゴリズム情報理論の観点から、文字列の情報内容は、その文字列の最短の自己完結型表現の長さに相当します。 「有用な情報」の類似した非公式の厳密な定義は何ですか?「有用な情報」がより自然な、またはより基本的な概念として扱われないのはなぜですか。単純に、純粋にランダムな文字列には定義上ゼロの情報が含まれている必要があるため、標準の定義では最大の情報があると考えられるという事実を回避しようとしています。

2
Kolmogorov Complexity:文字列自体よりも多くのバイトが必要なのはなぜですか?
コルモゴロフの複雑さに関するウィキペディアのエントリを読んでいた(この質問のおかげで)。 文字列のコルモゴロフの複雑さは、文字列自体の長さよりも数バイト大きくなることはできないことを示すことができます。 なぜあなたはそれを記述するために文字列自体以外のものを必要とするでしょうか?

2
最初のN個の整数に対するコルモゴロフ複雑度の推定値は何ですか?
一部のintはコルモゴロフ複雑度が高いまたは低いことを認識しています。たとえば、数値5.41126806512はで表すことができるため、複雑度は非常に低くなります17/pi。KCは式言語によって異なりますが、特定の定数までは常に同じであることも知っています。だから、私は尋ねます:最初のN intのKCの近似を計算する方法はありますか?

2
コルモゴロフの複雑さに基づく非規則性の証明
クラスで私たちの教授は私たちに非規則性を証明するための3つの方法を示しました: Myhill–Nerodeの定理 通常言語用の補題のポンピング コルモゴロフの複雑さに基づく非規則性の証明 さて、最初の2つであるMyhill-Nerodeの定理とPumping補題はよく理解でき、最初の2つの方法の演習も行うことができました。しかし、私は3番目のものを理解しませんでした。3番目の方法の定義は次のとおりです。 してみましょうL ⊆ (ΣのB O O L)*は正規言語であること。ましょL X = { yは∈ (ΣのB O O L)* | X 、Y ∈ L }すべてのためのx ∈ (ΣのB O O L)*。定存在Cのすべてのためのように、X 、Y ∈ (ΣのBのoは L ⊆ (Σb o o l)∗ L⊆(Σbool)∗\ L \subseteq (\Sigma_{bool})^* Lバツ= { y∈ (Σb o o l)∗| …

2
コルモゴロフ非圧縮性法を使用した平均ケースアルゴリズム分析
非圧縮性メソッドは、平均的なケースのアルゴリズムの分析を簡素化すると言われています。私が理解しているところによると、これは、そのアルゴリズムの可能な入力のすべての組み合わせを計算してから、平均的な複雑さを導き出す必要がないためです。代わりに、単一の非圧縮文字列が入力として使用されます。非圧縮文字列が一般的であるため、この入力は平均的なケースの正確な近似として機能できると想定できます。 非圧縮性メソッドを実際にアルゴリズムに適用することに夢中です。余談ですが、私は数学者ではありませんが、この理論は日常のプログラミングに実用的であると思います。 最終的に、特定のアルゴリズムの平凡なケースでも複雑なケースでも、平均的なケースを推定する方法を学びたいと思います。誰かがこの方法を単純なアルゴリズムにどのように適用できるかを私に実演していただけませんか?たとえば、入力文字列Sが与えられた場合、すべての一意の文字をSに格納し、それぞれを個別に出力します。 void uniqueChars(String s) { char[] chars = chars[ s.length() ] int free_idx = 0; for (int i = 0; i &lt; s.length(); i++) { if (! s[i] in chars) { chars[free_idx] = s[i] free_idx++; } } for (int i = 0; i &lt; chars.length(); i++) { print …

3
短いプログラムでは解決できない問題は何ですか?
バックグラウンド: 最近、入力として数値の配列を取得するという特定の難しい問題を解決しようとしました。以下のため、私は見つけることができる唯一の解決策は、それぞれに異なる治療持つことだった 3つの数字の順序。つまり、場合には1つのソリューションがあり、の場合には別のソリューションがあります(場合は、これら2つのソリューションのいずれかで解決できます)。nnnn=3n=3n=3n!=6n!=6n!=6A&gt;B&gt;CA&gt;B&gt;CA>B>CA&gt;C&gt;BA&gt;C&gt;BA>C>BA&gt;C=BA&gt;C=BA>C=B ケースについて考えると、唯一の方法は、やはり、すべての異なる順序を考慮して、ケースごとに異なるソリューションを開発することです。それぞれの場合の解決策は高速ですが、プログラム自体は非常に大きくなります。したがって、問題の実行時の複雑さは小さいですが、「開発時間」の複雑さまたは「プログラムサイズ」の複雑さは非常に大きくなります。n=4n=4n=4n!=24n!=24n!=24 これは私が私の問題が短いプログラムでは解決できないことを試み、証明するように促しました。そこで、同様の証明の参考文献を探しました。 私が見つけた最初の概念はコルモゴロフの複雑さです。ただし、このトピックについて私が見つけた情報は非常に一般的であり、主に存在の結果が含まれています。 質問: サイズ入力配列でを解くプログラムは少なくともサイズでなければならないなど、特定の実際の問題について説明できますか。ここで、は増加する関数ですの?PPPPPPnnnΩ(f(n))Ω(f(n))\Omega(f(n))f(n)f(n)f(n)nnn 答えは明らかにプログラミング言語の選択に依存するので、JavaまたはTuringマシンでプログラミングすると仮定します。 すべての決定不可能な問題は、まったく解決策がないため、この要件を簡単に満たします。だから私は決定的な言語を探しています。

1
文字列連結のコルモゴロフ複雑度
もしあるコルモゴロフ複雑性ストリングの、K(s)K(s)K(s)s∈{0,1}∗s∈{0,1}∗s \in \{0,1\}^* 我々は(または反証)次の文を証明することができます: 「すべての文字列非圧縮性文字列の接頭辞である。すなわちごとに文字列存在の文字列ように」? ssssssrrrK(sr)≥|sr|K(sr)≥|sr|K(sr) \geq |sr| 非常に非公式な(そしてあまり意味がない)方法で: ; 十分に大きい非圧縮文字列を選択した場合、を「使用」して、指定された文字列圧縮率を「マスク」できますか?K(r)≤|r|+O(1)K(r)≤|r|+O(1)K(r) \leq |r| + O(1)rrrO(1)O(1)O(1)sss 同様の(ただし異なる)結果は、任意の、次のようなと見つけることができますcccsssrrrK(sr)&gt;K(s)+K(r)+cK(sr)&gt;K(s)+K(r)+cK(sr) > K(s) + K(r) + c
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.