ノイズまみれでも伝えたい

通信路にノイズがあっても、大切なメッセージを届けようとする思いと、誤り訂正符号の本質を学ぶ。

  • #noise
  • #error correction
  • #channel capacity
  • #redundancy

「届かないかもしれない」

由紀が呟いた。部室の窓の外では、工事の騒音が響いていた。

「何が?」葵が振り返る。

「この騒音の中で、会話するの難しくないですか?」

陸が笑った。「確かに。何回も聞き返してる」

「これがまさに、ノイズのある通信路だ」葵がノートを開いた。

「通信路?」

「送信者と受信者を結ぶ経路。現実の通信路には、必ずノイズがある」

葵はホワイトボードに図を描いた。送信者、通信路、受信者。そして通信路の上に「ノイズ」と書いた。

「この工事音が、ノイズ。私たちの声が、信号だ」

由紀が理解した。「信号とノイズの比率が悪いと、メッセージが届かない」

「信号対雑音比、SNRと呼ばれる。低いと、通信が困難になる」

陸が手を挙げた。「じゃあ、大声で話せばいい?」

「一つの方法だね。信号を強くしてSNRを上げる」

「でも」由紀が考えた。「それ以外の方法は?」

「良い質問だ」葵が微笑んだ。「冗長性を加えること」

「冗長性?」

「同じメッセージを繰り返したり、エラーを検出・訂正できる符号を使う」

葵は例を出した。「『明日、9時、正門』と言うとき、ノイズで一部聞こえなくても、文脈で補完できる」

陸が頷いた。「『明■、9■、正門』でも、『明日、9時、正門』だと分かる」

「それが自然言語の冗長性。情報理論では、もっと体系的に設計できる」

「どうやって?」由紀が興味を示した。

「ハミング符号やリード・ソロモン符号。データにパリティビットを追加して、エラーを検出・訂正する」

葵は簡単な例を示した。「4ビットのデータに、3ビットのパリティを加える。7ビット中の1ビットエラーなら訂正可能」

「すごい」由紀が驚いた。「でも、冗長性を加えると、効率が下がりますよね」

「そこがトレードオフだ。シャノンの通信路符号化定理によれば、通信路容量以下の速度なら、任意に小さいエラー率で通信できる」

「通信路容量?」

「その通信路で、理論的に送れる最大情報量。ノイズがあっても、限界がある」

陸が考え込んだ。「じゃあ、この工事音の中でも、理論的には完璧に通信できる?」

「適切な符号を使えばね。ただし、冗長性のコストがかかる」

外の騒音が一段と大きくなった。

「届かないかもしれない」由紀が再び言った。「でも、諦めたくない」

「それが通信理論の本質だ」葵が静かに言った。「ノイズは避けられない。でも、賢い符号化で、確実に届けられる」

陸が立ち上がった。「俺の気持ちも、ノイズまみれだけど」

「何の話?」由紀が笑う。

「いや、なんでもない」陸が照れた。

葵が補足した。「人間の感情も、ある意味でノイズの多い通信路を通る。誤解や行き違いがある」

「だから、冗長性が必要なんですね」由紀が理解した。「何度も伝えたり、異なる方法で表現したり」

「そう。大切なメッセージほど、確実に届けたい。だから工夫する」

工事音が止んだ。突然の静寂。

「ノイズがなくなった」陸が言った。

「でも」葵が微笑んだ。「ノイズがあっても、私たちは会話できていた」

由紀が頷いた。「冗長性と、理解しようとする気持ちがあれば」

「それが人間の強みだ。最適な符号化と、適応的な復号化」

窓の外で、再び工事音が始まった。でも、三人の会話は途切れなかった。ノイズまみれでも、伝えたいことは伝わる。それが通信理論の希望だった。