
君が今、たった一人で無人島に放り出されたとしよう。文明の利器はすべて壊れ、残されたのは仲間たちへ助けを求めるための「古い手旗」や「砂浜に書く文字」だけだ。
だが、ここで問題がある。嵐の音、吹き荒れる砂、あるいは遠すぎる距離。君が送ったメッセージは、必ずと言っていいほど途中で「ノイズ(邪魔なもの)」に削り取られてしまう。「SOS」と書いたつもりが、波にさらわれて「SO」になっていたらどうする? 救助隊はそれが何なのか、一生気づかないかもしれない。
今回は、エンジニアたちが頭を抱えながら生み出した「エラー訂正(間違いを直す技術)」という武器を、無人島生活に応用する方法を伝授しよう。
1. 通信途絶という名の絶望
無人島において「伝わらないこと」は、死に直結する。君が崖の上に立って、沖を通る船に旗で合図を送るとしよう。「右へ曲がれ」という合図を送ったつもりでも、旗の動きが少しでも曖昧なら、向こうは「何かの間違いか、ただの風のいたずらだろう」と通り過ぎてしまう。
通信工学の世界では、これを「通信路の誤り」と呼ぶ。専門的には「ノイズによってデータが化ける」と言うけれど、要は「相手との間に割り込む邪魔者のせいで、言いたいことが半分しか届かない状態」のことだ。
この絶望的な状況を打破するために必要なのは、「完璧に伝えること」ではない。「多少の欠けがあっても、相手が勝手に元通りにしてくれる仕組み」を作ることだ。
2. 「パリティビット」という名の賢いおまじない
さて、ここで「パリティビット」という魔法のテクニックを紹介しよう。といっても、難しい数式は一切いらない。
例えば、君が「1」か「0」のどちらかで情報を送るゲームをしているとする。ここで、ただ数値を送るのではなく、「合計が必ず偶数になるように」というルールを足してみるんだ。
・「1」を送りたいなら、「1」の横に「1」を添えて「11」と送る。(合計は2で偶数)
・「0」を送りたいなら、「0」の横に「0」を添えて「00」と送る。(合計は0で偶数)
もし、相手が「10」と受け取ったらどう思う? 「あれ、合計が奇数(1)になってるぞ。どこかで間違いが起きたんだな」と、即座に「エラーが発生した」ことに気づける。これがパリティビットの正体だ。つまり、「データの末尾に『答え合わせ用のチェックマーク』を付けておくことで、間違いを即座に見抜く」という仕組みである。
無人島で応用するなら、手旗信号を送る際に「同じ文字を必ず2回繰り返す」ことだ。もし1回目と2回目が違っていたら、それは「嵐で信号が見えなかった」というサインだ。そうすれば、相手は「もう一度送ってくれ」と合図を返せる。一発で完璧を目指すより、間違いに気づく工夫をする方が、圧倒的に生存率は上がる。
3. 物理的な伝達:五感を信じ、パターンを絞れ
最後に、実際に情報を送る時の「泥臭い工夫」を伝授しよう。
無人島で最も確実なのは、相手の脳みそが「あれは間違いではない」と確信できるパターンを絞ることだ。
① 「リズム」を味方につける
旗を振る時、適当な速さではなく「3秒振って、1秒止める」というリズムを徹底する。相手が「このリズム以外の動きは無視する」と決めていれば、多少の誤動作は「ノイズ」として脳内でカットしてくれる。
② 「足し算」で補強する
砂浜に文字を書くとき、「SOS」と書くだけでなく、その横に巨大な矢印や、火を焚いて煙を上げる。複数の情報源(文字+煙)を組み合わせることで、万が一、文字が雨で消えても、煙という「別のチェックマーク」が相手に「これは緊急事態だ」という信号を届けてくれる。
③ 相手との「約束」をシンプルにする
長文を書くのはやめろ。無人島では、1ビットの情報をいかに確実に送るかが勝負だ。例えば「赤旗=水が必要」「青旗=けが人あり」。このシンプルさを極めることこそが、エラーを減らす最強の技術だ。
—
冒険者諸君へ
エラー訂正とは、完璧を目指すことではない。「間違いは必ず起きる」と認めた上で、それをどうやって「正解」に変換するかという、ポジティブな諦めの技術だ。
君たちがこれから挑むあらゆる挑戦も同じだ。失敗したっていい。重要なのは、その失敗が「間違いであること」を自分自身で検知し、次の手で「正解」へと修正し続けることだ。
さあ、道具を手に取れ。そして、自分の送る信号が、誰かに届くと信じて旗を振れ。準備はいいか? 冒険は、まだ始まったばかりだ!