一応、本家という感じなので、意識して・・・。
今日は「情報理論」について概論します。
情報理論とは「情報の伝達をいかに効率よく、そして信頼性高く行うか」に関する理論です。
また、1948年シャノンの論文「コミュニケーションの数学的理論」に端を発する学問です。
計算機がほとんど無かった時代、シャノンは
(1)情報の量的表示
(2)情報源符号化の概念とその限界
(3)通信路符号化の概念とその限界
について明らかにしました。
以降、現在に至るまでその成果を頼りに発展してきた学問です。
ここで、まず「情報」と「もの」の違いについて論議します。
「もの」は誰に送られても「もの」でありますが、「情報」は受け手によって大きく異なります。
たとえば、今書いている文章自体、情報学科の学生に読んでもらうと得るものもなく
ほとんど情報は伝達されないかもしれない。
けれど、情報に興味がある人には何らかの情報を伝えることでしょう。
情報の伝達はその受け手と本質的に関わりを持っているのです。
しかし、受け手の世界を表現することは非常に難しいといわざるおえません。
そこで、受け手の世界がある程度限定されて普遍性を持つ場合について考えることにします。
具体的にはどういうことかというと、
例えばある文章を送るという場合を考えます。
この場合、最終的な受け手は人間であり、個々の文章はその人の世界に応じた情報を伝達します。
しかし、文章を送るシステムを設計する場合、文章の内容にまで立ち入らないで、
文章を文字の羅列として忠実に伝送するという立場に立てば充分ですよね?
この場合、受け手の世界は、「文字の羅列として文章の世界」ということになります。
この世界は文章の統計的性質に関する知識はあるでしょうが、文章の意味や内容に関する知識はありません。
また、このような世界において受け手は次に受け取るだろう文章に対してある程度の予測を持つと考えられます。
言い換えると、文章の集合に対して何らかの確率分布を与えていると考えられます。
そして、文章を受け取ることでその確率分布に変化が生じることになります。
特に誤り無く文章が送られる場合、一つの文章が特定されることになります。
情報理論で扱う情報とはまさにそういうものです。
つまり、或る集合に対して、何らかの統計的知識に基づいて受け手が与えている
確率分布に変化が引き起こされるという形で情報の伝達を捉えます。
このようにモデルを限定してしまうことで扱う問題は非常に簡単になります。
考える問題は、
(1)情報を与えられている統計モデルを使っていかに少ない情報量で表現するか?
(2)いかにエラーに対処できるものにするか?
という問題に尽きるようになるのです。
ここで現実に世界を戻して、
じゃあ、事実どういうところでこのような情報理論が用いられているか、最後に具体例を挙げて終わります。
(1)zipとか使ってファイルを圧縮したりしますよね?そういう圧縮技術にも使われています。
(2)今、こうしてこのページを観てくれている裏でも使われています。
(1)において、情報をより少ない文字で表す技法について説明します
例えば、A,B,C,Dという4つの文字を送る場合、コンピュータは0と1の羅列でそれを表現して伝送します。
つまり、00=A、01=B、10=C、11=D
と対応させて表現するわけです。
ここで例えば、Aは50%、Bは30%、Cは15%、Dは5%の確率で使われるとします。
その場合、00=A、01=B、10=C、11=Dと符号化すると平均符号長は
2×(0.5+0.3+0.15+0.05)=2 となります。当たり前ですね。
ここで今度は、0=A、10=B、110=C、111=Dと符号化してみることにします。すると平均符号長は、
1×0.5+2×0.3+3×(0.15+0.05)=1.7 となります。
こうすると、全体的に少ない符号数で情報を表現できるようになったと言えるわけですね。
(他にも一意に符号化出来るか、瞬時に符号化出来るかが問題になる)
(2)において、通信を行う際に必ずエラーが起きている(0が1に1が0に変化)わけですが、
それに対してどうやって対処するかを考えます。
先ほどの例で使ったように
00=A、01=B、10=C、11=D で文字を符号化したものを受け取るとします。
ここで通信路がある確率でエラーを起こすとします。そうすると、
ABACDAA = 00 01 00 10 11 00 00 として伝送しようとしたものが、
01 00 00 10 10 00 00 = BAACCAA
として誤った情報として伝送されてしまいます。
ここで 0=000 1=111 と表現することにします。
そして、000、100、010、001 = 0 111、110、101、011 = 1 と戻すことにするとします。
そうすると、
ABACDAA = 000000 000111 000000 111000 111111 000000 000000
これに先ほどのような誤りが起きたとして
001001 000101 000000 101000 101110 100000 000000 = ABACDAA
と、エラーが起きても正しく元の文章に戻せるようになります。
(補足:(1)を情報源符号化といい、(2)を通信路符号化といいます)
情報理論ってほんとうに奥が深いですよね。
それでは、さよなら、さよなら、さよなら・・・。