ミラが残した謎の符号

葵が最適符号理論と人間のコミュニケーションの関係、効率と理解のバランスについて説明する。

  • #optimal coding
  • #Huffman coding
  • #variable-length codes
  • #code efficiency

「これ、見てください」

由紀は机の上に置かれた紙片を指差した。ミラの筆跡で、奇妙な記号が並んでいる。

「0、10、110、111…なんですか、これ?」

葵がノートを開いて考え込む。「符号化のパターンだ。でも、何を表してるんだろう」

陸が紙を覗き込んだ。「暗号?ミラってミステリアスだもんな」

「ミラは昨日も無言で帰ったよね」由紀が言った。「この符号、手がかりになるかも」

葵が分析を始める。「長さが違う。0は1ビット、10は2ビット、110と111は3ビット。可変長符号だ」

「可変長符号?」

「よく使われる記号に短い符号を、あまり使われない記号に長い符号を割り当てる。これが最適符号化の基本だ」

陸が手を叩いた。「モールス符号みたいに!」

「そう。Eは『・』だけど、Qは『--・-』。英語でEは頻出だから短くする」

由紀が考えた。「じゃあ、この符号も何かの頻度を反映してる?」

「おそらく。ハフマン符号という方法がある」葵はホワイトボードに図を描いた。

「4つの記号A、B、C、Dがある。出現確率がそれぞれ0.5、0.25、0.125、0.125だとする」

「Aが一番多いんですね」

「そう。ハフマン符号では、確率の低い記号から組み合わせていく」

葵は樹形図を描いた。

「C(0.125)とD(0.125)を結合して0.25。これとB(0.25)を結合して0.5。最後にA(0.5)と結合」

「それで符号が決まるんですか?」

「樹の枝に0と1を振る。根から各葉までの経路が符号になる」

陸がノートに写した。「だから、A=0、B=10、C=110、D=111?」

「完璧。これがハフマン符号だ」

由紀がミラの紙を見直した。「じゃあ、この符号も何かを最適化してる」

「問題は、何の記号か」葵が考え込んだ。

その時、陸が叫んだ。「待って!これ、文字じゃなくて、概念かも」

「概念?」

「ミラがいつも話す4つのテーマ。エントロピー、ノイズ、冗長性、符号化」

葵の目が輝いた。「それだ!ミラがこの部室で最もよく言及するのは…」

「エントロピー」由紀と陸が同時に答えた。

「だから0、最短符号。次がノイズで10」

由紀が興奮した。「符号の長さが、ミラの関心の度合いを表してる!」

葵が計算する。「平均符号長は0.5×1 + 0.25×2 + 0.125×3 + 0.125×3 = 1.75ビット」

「それって、効率いいんですか?」

「エントロピーを計算すると…約1.75ビット。ハフマン符号は、エントロピーに到達する最適符号だ」

陸が感心した。「ミラ、遊び心で情報理論の教材を残したのか」

「いや」葵が真剣な顔をした。「もっと深い意味があるかもしれない」

由紀が紙の裏を見た。小さく書かれている。

「Optimal code leads to truth」

「最適符号は真実へ導く…」

三人は顔を見合わせた。

「ミラは何を伝えようとしてる?」陸が聞いた。

葵がゆっくり言った。「情報理論では、最適な符号化で、メッセージの本質が見える。冗長性を削ぎ落とすと、真実だけが残る」

由紀が頷いた。「ミラは、私たちに何かを見つけてほしいのかも」

「次のヒントを待とう」葵が言った。「ミラの符号は、まだ続きがあるはずだ」

由紀は紙を大切にノートに挟んだ。最適符号の先に、ミラの真実が待っている。それを信じて。