■ハードディスクのエントロピーは増大するか?
デフラグと突然変異の共通点
fjでKByteの定義(よく言われる話だが)が話題になっていた。「なんで1024Byteが1KByteなんですか」というものである。そのスレッドの中で、
- 整数値だけでなく、分数値のbitもある
- 1bitのエントロピーも定義できるはずで、それならハードディスクは結構エントロピーを持つかも
初めに、「整数値だけでなく、分数値のbitもある」という方は簡単である。{0,1}どちらかであるような状態は1bitあれば表現できる。{0,1,2,3}の4通りある状態なら2bitあれば表現できる。{0,1,2,3,4,5,6,7}までなら3bitあればいい。それでは、サイコロのような状態が6通りあるものはどうだろうか? これまでの延長で行くならば、2bitと3bitの中間であることはわかる。2進数の仕組みなどを考えれば、答えをNbitとするならば、2^N=6であるから、log_2 ^6で2.58496bitとなる。2.58496bitあれば表現できるわけだ。
後の「1bitのエントロピーも定義できるはず」というのはちょっと違うような気もする。そもそもエントロピーの単位にもbitは使われるからだ。しかし、ハードディスクのエントロピーというのはとても面白い考えだと思う。
そこで、ハードディスクのエントロピーを調べてみたい。
次のような状態を考えていくことにする。
- きれいにハードディスクがフォーマットされている状態。
- ハードディスクの内容が画像、テキストファイル、圧縮ファイル、未使用部分に別れる。
- その上、フラグメントが生じる。
画像ファイル、テキストファイル、圧縮ファイル、未使用部分を1Byteグレイ画像データとして可視化してみる。
ところで、このような可視化をすると、ファイルの種類による差がよくわかる。てんでばらばらに見えるものは冗長性が低いのである。逆に同じ色が続くようなものは冗長性が高い。こうしてみると、LZH圧縮ファイルの冗長性が極めて低いことがよくわかる。逆に日本語テキストデータは冗長性が高い。もちろん、単純な画像はそれ以上である。
それでは、これらのようなファイルがハードディスクに格納された状態を考える。
- きれいにハードディスクがフォーマットされている状態。
- ハードディスクの内容が画像、テキストファイル、圧縮ファイル、未使用部分に別れる。
- その上、フラグメントが生じる。
横方向の1ライン分を一区画と考える。ハードディスクならセクタといったところか。その区画内でのヒストグラムを計算すると以下のようになる。この図では横方向が0から255までの存在量を示し、縦方向は区画を示している。
LZH圧縮ファイル部分では0から255までのデータがかなり均等に出現しているのがわかる。日本語テキストデータなどでは出現頻度の高いものが存在しているのがわかる。
それでは、無記憶情報源(Zero-memory Source)モデルに基づいて、各区画毎のエントロピーを計算してみる。
これを見ると次のようなことがわかる。
- 未使用ハードディスクは全区画にわたりエントロピーは0である
- 3種類のファイルが格納された状態では、それぞれエントロピーの状態が違う。
- 画像ファイルでは複雑な画像部分がエントロピーが高い
- 日本語テキストファイル部分は結構エントロピーが高い。
- LZH圧縮ファイル部分はエントロピーが高い。
- フラグメントが生じると、トータルではエントロピーが高くなる。
- しかし、平均的に先のLZH圧縮ファイル部分の状態よりは低い。
0 | 691.28 | 982.139 |
というわけで、今回の結論
「ハードディスクのエントロピーは増大する。」
が導き出される。もし、ハードディスクのデフラグメントを行えば、エントロピーは減少することになる。
こういった情報理論を作り上げた人と言えば、Shannonなのであろうが、Shannonの本が見つからなかったので、今回はWienerの"CYBERNETICS"を下に示す。もう40年位の昔の本ということになる。その流れを汲む「物理の散歩道」などもその時代の本だ。
生物とエントロピーの関係に初めて言及したのはシュレディンガーだと言う。ハードディスクと同じく、企業や社会の中でもエントロピーは増大するしていくだろう。突然変異(あるいは、ハードディスクで言えばデフラグメント)のような現象が起きて、エントロピーが減少しない限り、熱的死(いや企業や会社であれば画一化、平凡化、そして、衰退だろうか)を迎えてしまうのだろう。