「メッセージが正確に届くって、奇跡だと思わない?」
由紀が言った。スマホを見ながら。
「どういうこと?」葵が聞く。
「だって、電波とか、ノイズだらけなのに」
葵が微笑んだ。「良い観察だ。それこそ、情報理論が解決した問題の一つ」
ミラが静かに近づき、ノートに書いた。「Shannon's channel coding theorem」
「シャノンの通信路符号化定理」葵が説明を始めた。「ノイズのある通信路でも、適切な符号化で誤り率を限りなくゼロに近づけられる」
「本当に?完璧にはならなくても?」
「完璧は無理。でも、限りなく近づけられる」
由紀が考えた。「どうやって?」
「冗長性を加える」葵がノートに図を描いた。「元のメッセージに、チェック用のビットを追加する」
「余計なデータを送るの?」
「そう。でも、その余計さが、エラーを検出・訂正できる」
ミラが例を書いた。「Hamming distance」
「ハミング距離」葵が解説した。「二つのビット列が、何ビット違うかを測る」
「例えば?」
「0000と0011は、2ビット違う。ハミング距離は2」
由紀が理解し始めた。「距離が遠いほど、区別しやすい?」
「正確。符号語同士の距離を大きくすれば、ノイズで多少変わっても、元の符号を特定できる」
葵が続けた。「例えば、1ビットのエラーを訂正したいなら、ハミング距離3以上の符号が必要」
「なぜ3?」
「1ビット変わっても、他の符号語より元の符号に近いから」
ミラが計算を見せた。「rate = k/n, k=data bits, n=total bits」
「符号化率」葵が説明した。「情報ビットkを、全体nビットに符号化する」
「冗長性が増えると、率は下がる?」
「その通り。でも、誤り訂正能力は上がる」
由紀が聞いた。「最適なバランスは?」
「それを決めるのが、通信路容量」葵が重要そうに言った。「シャノンが証明したのは、容量以下の符号化率なら、誤りをいくらでも小さくできるということ」
「容量以上だと?」
「どんな符号化をしても、誤りは避けられない」
ミラが静かに頷いた。
「でも、実際の符号は、どう設計するの?」由紀が聞く。
「難しい問題。シャノンは可能性を示したけど、具体的な方法は別の話」
葵が歴史を語った。「ハミング符号、BCH符号、リード・ソロモン符号、ターボ符号、LDPC符号。多くの研究者が、シャノン限界に近づく符号を開発してきた」
「今、私たちが使ってる通信も?」
「そう。Wi-Fiも、携帯電話も、みんな誤り訂正符号を使ってる」
由紀が感動した。「だから、メッセージが正確に届くんだ」
「奇跡じゃなくて、数学」葵が微笑んだ。「でも、それを奇跡と感じる心は大切」
ミラがメモを残した。「Perfect communication is impossible, but we can get arbitrarily close」
「完璧な通信は不可能、でも限りなく近づける」由紀が訳した。
「そう。これが情報理論の希望だ」
由紀がスマホを見た。「この一言も、何重もの誤り訂正を経て届いてる」
「見えないところで、数学が働いている」
「正しく伝わることの奇跡。いや、科学」
葵が頷いた。「人間のコミュニケーションも、同じかもしれない」
「どういうこと?」
「言葉は不完全。でも、文脈や表情が冗長性として働き、意図を正しく伝える」
ミラが微笑んだ。
「自然の誤り訂正符号」由紀が呟いた。
「良い表現だ」
三人は頷いた。正しく伝わる奇跡。それは数学が支える、日常の当たり前。