アルゴリズム論的情報量
【アルゴリズム論的情報量】 ここでは、「アルゴリズム論的情報量」の定義を2つ与えます。 https://youtu.be/UgDNZzXIBik?list=PLQIrJ0f9gMcOWKDmKxI3aJ6UYf6gaPa2K プログラム言語を固定します。ここで、プログラムは、有限のビット列で、プログラムが停止するなら、その出力も、有限のビット列です。 この時、ある有限なビット列の「アルゴリズム論的情報量」を、そのビット列を出力するプログラムの最小の長さで定義します。 この、ある自然数nの「アルゴリズム論的情報量」の第一の定義では、それが、nの「コロモゴロフ複雑性」に等しいと考えます。 「アルゴリズム論的情報量」=「コロモゴロフ複雑性」を、通常の、シャノン情報理論での「情報量」=「シャノン・エントロピー」とを比較してみましょう。 あるイベントxが確率pで起きたとしましょう。シャノンの情理論では、あるイベントxが起きたことを知った時に、「獲得した情報量」を、 $$−log 𝑝$$ で表します。 “information gain” とか “information content”、“surprise” あるいは「自己情報量」といわれる情報量です。 ただ、シャノンの情報理論で、通常、「情報量」と言われるのは、X上の確率分布Pが与えられ、\(𝑥∈𝑋が確率𝑝_𝑥\)で起きる時、次の式で与えられる量です。 $$𝑆(𝑃 ) = −\sum_{𝑥∈𝑋} 𝑝_𝑥 log 𝑝_𝑥 $$ これをシャノン・エントロピー と呼びます。 ただ、この「情報量」=「エントロピー」は、先に見た「アルゴリズム論的情報量」と似ているようには見えませんね。 通常のシャノンの「情報量」との関係を、もっと分かりやすくするために、「アルゴリズム論的情報量」の二番目の定義を導入することにしましょう。 引き続き、プログラムは、有限のビット列だと考えます。もちろん、すべての有限のビット列が停止するプログラムを与えるわけではありません。 Xをプログラムのビット列の集合とする時、 𝑥∈𝑋なら任意のビット列yについて、𝑥𝑦∉𝑋とします。プログラム 𝑥で始まり、その後ろに𝑦をつなげた𝑥𝑦は、プログラムのビット列にはならないということです。 この条件を満たす時、Xをpre