記事の内容は私個人の見解であり、所属する学科組織またはサークルを代表するものではありません.
はじめに
近年、情報と物理の関わりが盛んですね。自分は最近情報理論を勉強し始めていて、自分自身の知識の整理と、物理学科に情報理論を布教することを目的として、「情報理論ってどんなの?」というのをできるだけ簡潔にまとめます。なお、この記事に歴史的・科学的知識を提供する目的はありませんので、正確さに難ありの可能性があります。あらかじめご了承ください。また、量子情報については一切触れません。それでは、Physikyuアドカレ9日目やっていきます。
歴史
一応形が整ったのは、当時ベル研究所の研究者だった、アメリカの数学者・電気工学者のクロード・シャノンによる1949年の論文「通信の数学的理論」からだと言われています。やや冗長になるので割愛しますが、現代の情報技術にこの理論がどう適用されているのかを調べてみると、いかにこの理論が重要で、汎用的なのかがわかると思います。
どんな問題を考えるか
本当に簡潔にいうなら、「情報伝達において記号をどのくらい正確に伝えることができるか」を考えるのだといって良いと思います。情報伝達においては送信者と受信者がいますね。送信者が何か伝えたい「記号の集まり(情報源)」を持っていて、それらの記号が通信路を通って受信者に伝わります。通信路にはノイズがあり、記号にいくらか誤りが生じる場合がほとんどですね。情報理論においては、本来は物理的な情報伝達過程を、情報源・送信機・通信路・受信機という形で抽象的にモデル化して 確率・統計的に解析していくことになります。あくまで統計的な見方であって、例えば、「ある記号が受信者にとってどの程度有益か」とか、そういった意味論的な問題については 考えてないことに注意してください。
情報伝達をこのように捉えて、情報理論では例えば、「情報源からの記号の出現確率を調整して、情報を最大速度で伝送する」とか、「通信路で生じる誤りを受信機で復元するためには、記号の系列にどのくらい冗長性を持たせておけば良いか」とかいったことを考えます。
情報の量をどう測るのか
ここまで情報理論がどんな問題を扱うのかざっくり言いましたが、もうちょっと具体性が欲しいですね。ある記号の集まりがどのくらいの情報量を持っているかとか、ある操作によってどのくらい情報量を得たのかとかを議論したいので、「情報の量」を与えてあげないといけません。
結論から言うと、
確率pで起こる事象が起きた場合、それによって得られる情報量は
-\log_2p
と言うことになります。なぜ対数かと言うと、連続して確率的な事象が起こった時、それによって得られる情報量は、それぞれの事象から得られる情報量の和になって欲しいからです。(これを加法性と言いますが、この性質と微分可能性を要求してあげれば、実は関数形は対数関数の定数倍と別の定数の和に決まります。)そして、なぜ底が2かというと、2者択一の事象から得られる情報量を1としたいからです。以上のような尺度で測った情報量の単位を ビット(bit, binary digit)と言います。
この定義をみると、低い確率の事象ほど大きな情報量を持っていると言えます。感覚的には、見慣れた現象から得られる情報は少ないが、滅多に起こらないような現象からは多くの情報を得ることができるということになりそうです。
ただこれだと、ある特定の事象が「実際に起こった時」どのくらいの情報が得られるか、しか言えないですね。実際はいくつか事象があって、どれが起きるのかわからない状況を相手にしなければなりません。こんな時に役立つ概念が 期待値ですよね。ということで、さっき定義した情報量の期待値を与えてみましょう。ただしここでは、n個の事象があって、i番目の事象をp_iで表すことにします。
-\sum_{i=1}^np_i\log_2p_i
これを シャノン・エントロピーと言います。物理学科の人はもしかしたら見たことある形かもしれませんね。ちなみに、若干腑に落ちないかもしれませんが、シャノン・エントロピーは、すべてのiについて
p_i = \frac{1}{n}
となる時に最大となるので(未定乗数法とか使えば簡単にわかります)、完全にランダムな時情報量が最も大きいということになります。シャノン・エントロピーが、「不確定さ」を表すと考えればいくらかわかりやすいでしょうか。
条件付きエントロピー
AとBという2つの系があって、それぞれが事象(..., A_i, ...)と(..., B_j, ...)を持っているとします。AとBに強い関連がある場合、Aについてなんらかの情報を得た時に、Bについてもいくらか情報を得ることができるはずです。今、A系でA_iと言う事象が起こったことがわかったとしましょう。この時B系の不確定さは、次にように条件付き確率分布に対してシャノン・エントロピーを考えてあげれば良さそうです。
H_{A_i}(B)=-\sum_jp_{A_i}(B_j)\log_2p_{A_i}(B_j)
で、さらにA系の方で期待値を取ってやります。
H_A(B) = -\sum_{i, j}p(A_i)p_{A_i}(B_j)\log_2p_{A_i}(B_j)
これが 条件付きエントロピーです。いくつか具体例を考えてみれば、これが、「AとBの関係が強いほど小さくなる量」だということがわかります。「関係が強い」というのは、A系のある特定の事象が起こった時、B系で別の特定の事象が起こった確率が高いといった意味になります。条件付きエントロピーを、「A系について何か知ったときに、B系に残る不確定さ」を表すために導入したことを考えると、まあまあいい感じだなと思ってもらえますかね。
相互情報量
これまでに見てきた情報量たちを使って、B系を直接見るのではなく、「A系について知った時、B系についてどのくらいの情報量が得られるか」という量を導入しましょう。すごく簡単です。B系のシャノン・エントロピーをH(B)と表します。
I(A, B) = H(B) - H_A(B)
このI(A, B)を 相互情報量と言います。先ほど、条件付きエントロピーが、AとBの関係が強いほど小さくなる量であることを確認しましたから、相互情報量は、AとBの関係が強いほど大きくなる量であるといえます。詳しくは言いませんが、この量には対称性があります。
I(A, B) = I(B, A)
相互情報量は、例えば、「B系について直接知ることは難しいけど、B系となんらかの関係があるA系についてなら知ることができる状況」などで便利な情報量です。
おわりに
本当はもう少しいろんなことを述べたかったのですが、自分の力不足で流石に間延びしてしまうのでここで終わります。もしかしたら15日目の記事で続きを書くかもしれません。この記事では、情報理論なんもわからんと言う人に、少しだけ情報理論と顔見知りになってもらおうとして、ごくごく簡単な紹介をしました。情報理論と少し仲良くなれそうと思ってくれた人がいたら嬉しいです。ここまで読んでいただきありがとうございました。