📡
概念 #CODE #点字 #モールス信号 #2進数 #符号化 #情報理論 📚 CODEコンピュータのからくり

信号とコード:点字・モールス・情報伝達の原理

点字・モールス信号・QRコード・火星ローバーのパラシュートを通して「コードとは何か」「ビットとは何か」を理解する。CODE第2版 Ch.1-3, 5の解説。

コードとは何か

「コード」は暗号ではなく、信号に意味を割り当てるルールのことを指す。

信号それ自体は意味を持たない。懐中電灯の点滅は「電球がついたり消えたりしている」という物理現象に過ぎない。それが「長い点滅はA、短い点滅はB」と決めた瞬間、信号はコードになる。

物理現象(信号)
  点滅のパターン: ー ・ ー ・
       ↓ コード(ルール)を適用
意味
  モールス信号なら: C(ー・ー・)

コンピュータの1と0も同じ構造。電圧が高い/低いという物理現象に、人間が「1」「0」という意味を割り当てたコードにすぎない。


点字(Braille):6ビットの符号化

ルイ・ブライユが1824年に考案した、触覚で読む文字コード。

点字の基本構造:2列 × 3行 = 6つの凸点

  ①  ④
  ②  ⑤
  ③  ⑥

各点が「ある(1)」か「ない(0)」かで文字を表す
→ 2^6 = 64通りの組み合わせ

例:文字 "A"
  ●  ○        点 ①だけ凸
  ○  ○        = 100000(2進数)
  ○  ○

点字が示す本質:6個の「はい/いいえ」で64種類の情報を表現できる。

これはコンピュータの1バイト(8ビット)が256通りを表現できるのと全く同じ構造。


モールス信号:可変長コードの先駆け

1836年、Samuel Morse と Alfred Vail が開発した電信用コード。

アルファベットのモールス信号(一部):

E  ・        最短(出現頻度が最高)
T  ー
A  ・ー
I  ・・
N  ー・
S  ・・・
O  ーーー

K  ー・ー
R  ・ー・

可変長コードの発想:よく使う文字(E, T)を短く、珍しい文字を長くすることで、全体の伝送効率を上げる。これは現代の Huffman 符号化や ZIP 圧縮の基本原理と同じ。

モールス信号の弱点:区切りが必要(短い休止が文字間、長い休止が単語間)。コンピュータの符号化は一般に固定長(ASCII の7ビット、Unicodeのコードポイント)を使う。


隣の家に信号を送る:懐中電灯から電信へ

本書はここから始まる。「向かいの家の友人と夜に秘密の会話をしたい」という問いが出発点。

【ステップ1:懐中電灯1本】
自分             友人
  [懐中電灯] ──点滅──→ 見る

問題:点滅パターンを事前に決めておく必要がある(コードが必要)

【ステップ2:複数の懐中電灯】
  [電灯A] ──────→
  [電灯B] ──────→   2本 = 4通り (00/01/10/11)
  [電灯C] ──────→   3本 = 8通り → アルファベット全部 OK

【ステップ3:電線で接続】
  [スイッチ] ──電線──→ [電球]

これが電信の基本。距離は電線の長さ次第で無限に伸ばせる。

電線1本 = 2値信号 = 1ビット。これが「デジタル」の原点。


角を曲がって信号を送る

電線は角を曲がれるが、懐中電灯の光は直進する。これが電気の強みの一つ。

さらに重要なのは「中継」の概念:

発信者 ──長い電線──→ [中継器] ──長い電線──→ 受信者

信号は電線を伝わるうちに弱くなる(抵抗による電圧降下)
中継器が信号を受けて、新しい信号として送り直す
→ 距離の制限がなくなる

これが後章で登場する「リレー(継電器)」の役割と同じ。リレーは電気信号によって動作する電磁スイッチで、弱った信号を受けて強い新信号を生成する。


NASA Perseveranceパラシュートの隠しメッセージ(第2版追加)

2021年2月、火星探査機 Perseverance が大気圏突入時に展開したパラシュート。オレンジと白の布のパターンに、開発チームのメッセージが2進数で織り込まれていた。

パラシュートの断面(外輪から内側へ):
  外輪:DARE MIGHTY THINGS(テオドア・ルーズベルトの言葉)
  内輪:GPS座標(JPL / NASAジェット推進研究所の住所)

符号化の仕組み:
  オレンジ = 1、白 = 0
  8ビット(1バイト)= 1文字(ASCIIコード)
  パラシュートを24セクタに分割して文字を配置

これは「2進数→ASCII文字」という符号化の実例。本書の前半で学ぶ内容が、実際の宇宙探査に使われている。


QRコードの符号化の考え方

QRコード(Quick Response Code)も同じ原理の発展形。

黒マス = 1、白マス = 0
2次元の格子 → 多数のビットを格納

特徴:
  ・誤り訂正コード付き(最大30%まで破損しても読める)
  ・位置検出パターン(左上・右上・左下の大きな正方形)
  ・数字・英字・バイナリ・漢字モードを切り替えられる

QRコードの最大容量(バイナリモード):
  バージョン40(177×177マス)→ 約2,953バイト

ビットとは何か

ここまでの例をまとめると、「ビット」の本質が見えてくる。

ビット(bit)= Binary Digit = 「2択の答え1つ分」

・懐中電灯の点滅:ついている / 消えている
・電信の電流:流れている / 流れていない
・点字の凸点:ある / ない
・パラシュートの色:オレンジ / 白
・QRコードのマス:黒 / 白

すべて同じ:情報の最小単位 = 1ビット

n ビットで 2^n 通りの情報を区別できる:
  1ビット → 2通り
  2ビット → 4通り
  3ビット → 8通り
  8ビット(1バイト) → 256通り
  16ビット → 65,536通り
  32ビット → 約42億通り
  64ビット → 約1.84京通り

「コンピュータはなぜ2進数を使うか」という問いへの答えはシンプル:電気は「ある」か「ない」かしかないから。 2値信号が最も安定・安価・実装しやすい。


まとめ:コードの三要素

1. 信号:物理現象(電圧・光・音・凸点・色)
2. ルール:信号と意味の対応表(コード)
3. 意味:送り手と受け手が共有する解釈

どんな情報伝達も、この三要素で成り立っている。
コンピュータはこれを電気信号で、高速かつ大量に処理するだけ。

出典: https://www.amazon.co.jp/dp/4296080245