最短符号の先にある真実

一意に復号可能な符号を支配する数学的制約を探る。

  • #Kraft inequality
  • #uniquely decodable codes
  • #prefix-free codes
  • #code constraints

「葵先輩、質問があります」

由紀は昨日のミラの符号をノートに広げた。

「最適符号って、どこまで短くできるんですか?」

葵が考える表情を見せた。「良い質問だ。実は、符号長には数学的な制約がある」

その時、珍しくミラが早めに部室に来た。静かに席につき、ノートを開く。

「クラフトの不等式」葵が板書した。「Σ 2^(-li) ≤ 1。liは各符号語の長さだ」

「これは何を意味するんですか?」

「一意復号可能な符号が存在する必要条件。この不等式を満たさないと、符号化できない」

由紀が計算を試みる。「昨日のハフマン符号で確認すると…」

「1ビットが1個、2ビットが1個、3ビットが2個。だから2^(-1) + 2^(-2) + 2^(-3) + 2^(-3) = 0.5 + 0.25 + 0.125 + 0.125 = 1.0」

「ちょうど1!」

「等号成立は、完全な木構造を意味する。prefix-free符号とも呼ばれる」

陸が首を傾げた。「prefix-freeって?」

「どの符号も、他の符号の接頭辞にならない。だから一意に復号できる」

ミラがノートに例を書いた。「0, 01, 10 → ambiguous」

「0を見たとき、それで終わりか、01の途中か分からない」葵が説明した。

「でも、0, 10, 110なら?」

「0を見たら確定。1が来たら次を待つ。10で確定、または11でさらに待つ。曖昧性がない」

由紀が理解した。「だから最短符号には制約があるんですね」

その時、Professor S.が部室に顔を出した。

「皆、良い議論をしているね。クラフトの不等式は、符号の可能性を決める」

「教授」葵が挨拶した。

「理論限界を超える符号は存在しない。これがシャノンの示した境界だ」

ミラが静かに言った。「Truth has limits」

由紀が驚いた。ミラが珍しく話した。

「真実にも限界がある?」Professor S.が微笑んだ。「哲学的だね、ミラ」

「情報理論の限界は、物理的現実の限界でもある」葵が続けた。「無限に情報を圧縮できると思うのは幻想だ」

「でも」由紀が言った。「その限界まで到達しようとする努力が、技術を進歩させるんじゃないですか?」

Professor S.が頷いた。「その通り。限界を知ることで、何が可能で何が不可能かが明確になる」

ミラが新しいメモを見せた。「Optimal is not always shortest. Sometimes redundancy saves truth」

「最適は必ずしも最短ではない。時には冗長性が真実を守る…」葵が読み上げた。

「誤り訂正の話だね」Professor S.が言った。「通信では、あえて冗長性を加える。完璧な圧縮は、ノイズに弱い」

由紀が考え込んだ。「じゃあ、真実を伝えるには、バランスが必要?」

「そう。効率と信頼性のトレードオフ。これが通信理論の核心だ」

ミラが立ち上がり、ホワイトボードに図を描いた。

圧縮←―――最適点―――→冗長性

「最適点は、状況による」Professor S.が解説した。「ノイズのない環境なら最短符号。ノイズがあるなら冗長性を追加」

葵が補足する。「だから実用システムでは、ZIP圧縮とエラー訂正を組み合わせる」

由紀が納得した。「理論限界を理解した上で、現実的な選択をする」

ミラが微笑んだ。「You found it」

「見つけた?何を?」

「最短符号の先にある真実。理論と実践の橋」

Professor S.が去り際に言った。「次は、シャノン限界について考えてみるといい」

部室に残った四人。ミラの謎は少しずつ解けていく。