チャイティンの定数は正常ですか?


9

この情報源によると、Chaitinの定数は正常です。Ω

各停止確率は、計算できない通常の超越的な実数です。つまり、その桁を計算するアルゴリズムはありません。実際、各停止確率はMartin-Löfランダムです。つまり、その数字を確実に推測できるアルゴリズムすらありません。

ソース(Wikipedia)

さらに、正常の定義は、各桁が等しい確率発生することです。そして、数字の各デュエットは確率で発生し、すべてのトリプレットは確率で発生します。1 / b 2 1 / b 31/b1/b21/b3

チャイティンのオメガは、

Ω=phalts2|p|

をバイナリで書き込むと、0と1のリストが取得されます。たとえば、Ω

2^-1=0.1 +
2^-2=0.01 +
2^-3=0.001 +
~skip 2^-4 as it does not halt
2^-5=0.00001 +
...
=\Omega
=0.11101...

明らかに、各ビットの位置は、ビットに対応する長さのプログラムの停止状態に対応していることがわかります。

ここで私は苦労しています

場合確かに正常であり、それはプログラムの正確に50%が停止し、正確に50%がないことを意味します。これは非常に直感に反するようです。Ω

たとえば、単一の文字をランダムに連結してJavaプログラムを生成するとします。それらの大部分は、99.99%以上はコンパイルさえできないと思います。これは、少なくとも99.99%が停止しないことを意味しませんか?が正常であるために、正確に半分が停止し、正確に半分が停止しないことをどのように正当化しますか。Ω

または、ウィキペディアはが正常であることについて間違っていますか?Ω


2
サイトへようこそ!LaTeXをバッククォートではなくドルで区切ると、ソースではなく出力を読み取ることができます。
David Richerby 2016

1
また、分数の場合、\ frac {1} {b ^ 2}は、ではなくをます。 1/b21b21/b2
Evil

ChaitinのOmegaは、任意のエンコーディングではなく、プレフィックスなしの Turing Machineエンコーディング用に定義されていると思います。もしそうなら、「ランダム」なTMを構成するものについての私たちの通常の直感はそれほど信頼できないかもしれないと思います。
mhum

1
@mhum元のプログラムのすべてのビットの間に1を追加し、0で終了することにより、任意のプログラムをプレフィックスなしのエンコーディングに再エンコードできます。その後、Turingマシンは、終了する0が見つかるまで、1秒おきにビットを読み取ります。これにより、Javaコードはそのまま残りますが、プレフィックスがなくなります。したがって、問題は残ります。
Alexandre H. Tremblay 2016

「Ωが実際に正常である場合、プログラムのちょうど50%が停止し、正確に50%が停止しないことを意味します。これは非常に直観に反するように見えます。」これは、漸近的に、プログラムの半分が停止することを意味します。これはそれほど直観的ではありません。停止するプログラムを見つけるのに多少の労力がかかる場合があります(つまり、Ωで0の長い文字列にヒットした場合)。いったん見つけたら、非常に長い停止プログラムの文字列が続きます(つまり、等しい長さの1の文字列)。たとえば、機能的に同じプログラムであるが、余分なコメントの束が付けられたプログラム(一種のポンピングレンマ)。
Marcel Besixdouze

回答:


9

例とは異なり、Chaitinの定数は次のように定義されていません

Ω=n:nth program halts2n.

代わりに、許可されたプログラムのセットあり、これはプレフィックスなしです(どのストリングも別のストリングのプレフィックスではありません)。各プログラムは合法です(これはJavaの例を無効にします)。プログラムが単項でエンコードされている場合は、番目のプログラムの長さがであり、定義が機能します。しかし、他のエンコーディングでは、の定義は Π 、N 、N Ω ΩΠ{0,1}ΠnnΩΩ

| p | P Σ のp Π 2 - | p | 1

Ω=pΠ:p halts2|p|,
ここでバイナリ文字列長さです。クラフトの不等式は、ます。|p|ppΠ2|p|1

Chaitinの定数はアルゴリズム的にランダムです。最初のビットの(接頭辞)コルモゴロフの複雑度はです。これを示すには、まず、最初のビットである、長さ(エンコーディング下)のプログラムを停止するかどうかを決定するのに十分であることに注意してください。実際、分数として、です。すべてのプログラムを並行して実行し、が停止するたびに、をカウンター(ゼロで初期化)に追加します。最終的には(、N - O 1 Ω N、N Ω N Π Ω NΩ < Ω N + 2 - N P 2 - | p | C C Ω N C Ω N Ω C + 2 - NΩ N + 2 - NnnO(1)ΩnnΩnΠΩnΩ<Ωn+2np2|p|CCΩnCΩ下から)。この時点で、長さ入力プログラムが停止しなかった場合は、停止していないことがわかります。それ以外の場合は、。nΩC+2nΩn+2n

これを前提として、で無限に多い、ビットを使用してを計算できます。このような各について、長さがすべての停止プログラムの出力を考慮することにより、コルモゴロフの複雑度がよりも大きい文字列を見つけることができます。十分な大きさの場合、結果は、コルモゴロフの複雑度がより大きい文字列を計算するための、長さが最大プログラムです。この矛盾は、一部のについて、コルモゴロフ複雑度が少なくともであることを証明しています。K>0nΩnnKnnnKnnKΩnnK

アルゴリズムのランダム性は、特に、2進展開の0と1の頻度が1/2になる傾向があることを意味します。確かに、いくつかの(有理)Ωϵ>0無限に多く存在する中の1の割合ようΩ nが最大である1 / 2 - εが。唯一最大であるので、2 時間1 / 2 - ε nは高々と列1 / 2 - ε多く1S、我々は圧縮できΩ NサイズにHnΩn1/2ϵ2h(1/2ϵ)n1/2ϵΩn(一定の C εに依存 εプログラム必要が知っているので ε)。しかし、これは、N - ω 1 のアルゴリズムランダム矛盾、 Ωをh(1/2ϵ)n+2logn+CϵCϵϵϵnω(1)Ω


完全な回答をありがとうございます。私は最初の段落で苦労していますが、頭蓋骨を通過できなかったことをお詫びします。コンパイルするJavaプログラムのみを取得し、それらを単項にエンコードする場合、それはそれらのちょうど半分が停止することを意味しますか?
Alexandre H. Tremblay 2016

@ AlexandreH.Tremblayはい、それが意味します。詳細については、コルモゴロフの複雑さに関するテキスト(LiやVitanyiなど)をお勧めします。
Yuval Filmus 16

Javaコンパイラが含まれるようにTuringマシンを作成できますか?これを想像してください。最初に、ランダムに生成されたすべての可能な文字列を最短から最長の順にリストします。次に、これらの文字列を単項でエンコードします。3番目に、単項文字列を入力としてTuringマシンにフィードします。Turingマシンは、入力がJavaでコンパイルされるかどうかをチェックします。もしそうなら、それを実行し、半分は停止し、半分は停止しません。コンパイルされない場合は、永久にループします(while(true){};)。これは停止/非停止比率を歪めませんか?先週、LiとVitanyiを読みましたが、もう一度読む必要があります;)。
Alexandre H. Tremblay 2016

私が提案する方法での単項エンコーディングは許容できないと思います。たとえば、単項エンコーディング(単純なエンコーディングでも)では、一定のオーバーヘッドでプログラムを作成することはできません。私はLiとVitanyiをチェックして、許容可能なユニバーサルコンピュータが満たす必要のあるプロパティのリストを探します。これはコルモゴロフの複雑さの定義の一部になります。
Yuval Filmus 16

こんにちは、この情報が掲載されているLiおよびVitanyiのセクションをお勧めできますか。私はその本をもう一度読みましたが、見つかりませんでした。
Alexandre H. Tremblay 2017年

0

あなたの間違いは次の行にあります:

が実際に正常である場合、プログラムのちょうど50%が停止し、ちょうど50%は停止しないことを意味します。Ω

いいえ。それが「通常」の意味ではありません。または別の言い方をすると、を、Ωの 2を底とする展開の最初のnビットで、0であるビットの数と定義します。Ω正常であると言うことは、d0(n)nΩΩ

limnd0(n)n=1/2.

つまり、「通常」は漸近的な概念です。つまり、のビットを十分に見ると、平均してそれらの約半分が0になります。(同様に、約半分は1になります。)Ω

ただし、これは最初の数ビットについては何も述べていません。例えば、バイナリ拡張という意味合いはありませんΩは 0.01として始まる...または何か他のものに-とことは意義がないΩが近い1/2ですが。 Ωは0に近い場合もあれば、1に近い場合もあります。これは、正常であることと矛盾しません。正常であることは、Ωの大きさについて何も意味しません。ΩΩΩΩΩ


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