最終更新:
モールス信号と文字の効率 - 「E」が 1 点で「Q」が 4 符号になった理由
1840 年ごろ、モールス電信の共同開発者アルフレッド・ヴェイルは、ニュージャージー州モリスタウンの地元新聞社に足を運び、活字ケースの中身を数え始めました。どの文字の活字が多く用意されているか、つまりどの文字が英語で頻繁に使われるかを調べるためです。この地道な調査が、情報理論の先駆けとなる「頻度に応じた符号長の最適化」という発想を生みました。よく使う文字には短い符号を、めったに使わない文字には長い符号を割り当てる。この原則は、約 100 年後にクロード・シャノンが情報理論を確立し、さらにハフマン符号化として数学的に定式化されることになります。
活字ケースから生まれた符号設計
新聞社で数えられた活字の在庫数は、そのまま英語における文字の出現頻度を反映していました。活字ケースには「E」の活字が最も多く、「Z」や「Q」はごくわずかしか用意されていません。この観察結果をもとに、頻出文字に短い符号を、稀少文字に長い符号を割り当てる符号表が組み立てられました。符号表をどこまでヴェイルが作り、どこまでモールスが決めたのかは現在も見解が分かれていますが、出発点が机上の理屈ではなく印刷現場の実数だった点は共通して伝えられています。
| 文字 | モールス符号 | 符号の長さ (点と線の数) | 英語での出現頻度 |
|---|---|---|---|
| E | ・ | 1 | 約 12.7% |
| T | − | 1 | 約 9.1% |
| A | ・− | 2 | 約 8.2% |
| I | ・・ | 2 | 約 7.0% |
| N | −・ | 2 | 約 6.7% |
| S | ・・・ | 3 | 約 6.3% |
| H | ・・・・ | 4 | 約 6.1% |
| Q | −−・− | 4 | 約 0.1% |
| Z | −−・・ | 4 | 約 0.07% |
「E」と「T」はそれぞれ 1 符号 (点 1 つ、線 1 つ) で表現されます。英語のテキストで最も頻繁に登場するこの 2 文字を最短にすることで、電信の伝送時間を大幅に短縮できました。一方、「Q」や「Z」は 4 符号を必要としますが、出現頻度が 0.1% 以下なので全体の伝送効率にはほとんど影響しません。
ETAOIN SHRDLU - 英語の文字頻度ランキング
英語の文字を出現頻度順に並べると「ETAOIN SHRDLU」という配列になります。この並びは活版印刷の時代から知られており、Linotype 植字機のキーボード配列にも採用されていました。新聞の誤植として「etaoin shrdlu」という文字列が紙面に載ってしまう事故が 20 世紀前半にはしばしば起きたほど、印刷業界では馴染み深い配列です。
| 順位 | 文字 | 出現頻度 | モールス符号長 | 頻度 × 符号長 |
|---|---|---|---|---|
| 1 | E | 12.70% | 1 | 0.127 |
| 2 | T | 9.06% | 1 | 0.091 |
| 3 | A | 8.17% | 2 | 0.163 |
| 4 | O | 7.51% | 3 | 0.225 |
| 5 | I | 6.97% | 2 | 0.139 |
| 6 | N | 6.75% | 2 | 0.135 |
| 7 | S | 6.33% | 3 | 0.190 |
| 8 | H | 6.09% | 4 | 0.244 |
| 9 | R | 5.99% | 3 | 0.180 |
| 10 | D | 4.25% | 3 | 0.128 |
「頻度 × 符号長」の列は、各文字が全体の伝送時間にどれだけ寄与するかを示しています。「E」は頻度が最も高いにもかかわらず、符号長が 1 なので寄与は 0.127 に抑えられています。もし「E」に 4 符号を割り当てていたら、この値は 0.508 に跳ね上がり、全体の伝送時間が大幅に増加していたでしょう。
ただし、モールス符号は完全に最適化されているわけではありません。「H」は出現頻度 8 位 (6.09%) なのに 4 符号が割り当てられており、ほとんど頻度の変わらない 9 位の「R」(5.99%) が 3 符号で済むのと比べて長くなっています。符号長を 1 つ削るには「・・・」のような短い組み合わせを他の文字から譲り受ける必要があり、聞き分けやすさや既存の割り当てとの衝突を避けるうちに、頻度順との食い違いが残ったと見られます。符号表の設計は 1 文字ずつ独立に決められるものではなく、すでに埋まった組み合わせを避けながら進めるため、頻度順の理想からずれた妥協が残るのは自然なことでもあります。
ハフマン符号化との先見性
1952 年、MIT の大学院生デイヴィッド・ハフマンは、データ圧縮のための最適な可変長符号を構築するアルゴリズムを発表しました。ハフマン符号化は、出現頻度の高いシンボルに短いビット列を、低いシンボルに長いビット列を割り当てるという点で、モールスの発想と本質的に同じです。
| 比較項目 | モールス符号 (1840 年代) | ハフマン符号化 (1952 年) |
|---|---|---|
| 設計原理 | 頻出文字に短い符号を割り当て | 頻出シンボルに短いビット列を割り当て |
| 最適性 | 経験的・直感的 (完全最適ではない) | 数学的に最適 (接頭辞符号として) |
| 符号の種類 | 点・線・間隔の 3 値 | 0 と 1 の 2 値 |
| 区切りの仕組み | 文字間・語間の間隔で区切る | 接頭辞性により区切り不要 |
| 用途 | 電信通信 | データ圧縮 (ZIP, JPEG, MP3 など) |
決定的な違いは「接頭辞性」にあります。ハフマン符号はどの符号も他の符号の先頭部分にならないよう設計されているため、ビット列を先頭から読むだけで一意にデコードできます。一方、モールス符号は文字間に間隔 (無音) を挟むことで区切りを表現しており、この間隔がなければ「・・・・」が「H」なのか「I + I」なのか「I + E + E」なのか判別できません。モールスの時代にはまだ情報理論が存在しなかったことを考えると、頻度に基づく符号長の最適化という着想自体が驚くべき先見性です。
和文モールスの設計 - 頻度順になりきらなかった理由
日本語のモールス信号 (和文モールス) の骨格は、1873 年 (明治 6 年) に吉田正秀・寺崎遜らがまとめた符号表にさかのぼります。その後 1885 年に濁点の扱いが改められ、1893 年に長音記号が加わって、現在使われている形にほぼ落ち着きました。和文モールスでは、カタカナの各文字に符号が割り当てられています。英語版と同様に、日本語で頻出する文字に短い符号が割り当てられる傾向がありますが、完全な頻度順ではありません。
| 文字 | 和文モールス符号 | 符号長 | 備考 |
|---|---|---|---|
| イ | ・− | 2 | 最短の部類。いろは順の 1 番目 |
| ロ | ・−・− | 4 | いろは順の 2 番目 |
| ハ | −・・・ | 4 | 助詞「は」として頻出するが 4 符号 |
| ニ | −・−・ | 4 | いろは順の 4 番目 |
| ホ | −・・ | 3 | いろは順の 5 番目 |
| ヘ | ・ | 1 | 最短。助詞「へ」として使用 |
| ト | ・・−・・ | 5 | 助詞「と」として頻出するが 5 符号 |
和文モールスの符号割り当ては、英語版ほど厳密に頻度順になっていません。「ヘ」が 1 符号 (点 1 つ) で最短ですが、日本語テキストで最も頻出する文字とは言い切れません。「ト」は助詞として非常に頻繁に使われるにもかかわらず 5 符号が割り当てられています。和文モールスの設計には、いろは順の影響や、聞き取りやすさの配慮が混在していると考えられています。
SOS - 9 符号に込められた合理性
1912 年 4 月 14 日深夜、タイタニック号の無線通信士ジャック・フィリップスは「SOS」の信号を繰り返し打電しました。SOS のモールス符号は「・・・ −−− ・・・」で、合計 9 符号です。この信号が国際的な遭難信号として採用されたのは 1906 年のことですが、選ばれた理由は「Save Our Souls」の略称だからではありません。
SOS が選ばれた本当の理由は、モールス符号としての明瞭さにあります。「・・・」(S) と「−−−」(O) はどちらも同じ符号の繰り返しで構成されており、雑音の多い無線環境でも聞き間違えにくい。さらに、点 3 つ・線 3 つ・点 3 つという対称的なリズムは、他のどの文字列とも混同しにくいのです。
タイタニック号の事故では、当初「CQD」(全局呼出の CQ に遭難を表す D を加えたもの) という旧式の遭難信号が使われていました。CQD のモールス符号は「−・−・ −−・− −・・」で 11 符号。SOS の 9 符号より 2 符号多いうえ、C・Q・D はいずれも点と線が入り混じるため、雑音の中では取りこぼしやすい組み合わせです。タイタニック号からは CQD と SOS の両方が打電されており、どちらの信号がどの船に先に届いたのかは証言によって食い違っています。この事故が示したのは、より聞き取りやすい信号が 1906 年に定められていたにもかかわらず、現場では旧来の慣習が残っていたという運用の問題でした。
1 文字あたりの平均伝送時間
モールス符号の伝送速度は「WPM」(Words Per Minute) で測定されます。標準的な基準語「PARIS」を 1 分間に何回送信できるかで速度を定義します。「PARIS」が基準語に選ばれたのは、この単語のモールス符号が平均的な英語テキストの符号長に近いためです。
「PARIS」のモールス符号は「・−−・ ・− ・−・ ・・ ・・・」で、点の長さを 1 単位とすると合計 50 単位になります。つまり 1 WPM = 1 分間に 50 単位の伝送速度です。熟練した電信技師は 20〜30 WPM で送信でき、これは 1 分間に 1,000〜1,500 単位、1 秒間に約 17〜25 単位に相当します。
現代のテキスト通信と比較すると、モールス符号の伝送速度は極めて遅いものです。しかし 1840 年代の技術水準を考えれば、数百キロメートル離れた場所にリアルタイムでメッセージを送れること自体が革命的でした。SMS の文字数制限の記事で触れた通り、SMS の 160 文字制限も技術的制約から生まれたものですが、モールス符号の時代はそもそも「文字数制限」という概念すらなく、1 文字 1 文字を手動で打電していたのです。
現代の可変長エンコーディングとの思想的つながり
モールス符号の「頻出文字に短い符号を」という設計思想は、現代のコンピュータでも脈々と受け継がれています。最も身近な例が UTF-8 エンコーディングです。
| 文字の種類 | UTF-8 のバイト数 | 対象文字の例 | 設計意図 |
|---|---|---|---|
| ASCII 文字 (英数字) | 1 バイト | A, B, 0, 1, @ | 英語圏で最も頻出する文字を最短に |
| ラテン拡張・ギリシャ文字 | 2 バイト | é, ñ, α, β | ヨーロッパ言語の追加文字 |
| 日本語・中国語・韓国語 | 3 バイト | あ, 漢, 한 | CJK 文字は 3 バイト |
| 絵文字・特殊文字 | 4 バイト | 😀, 🎉, 𠮷 | 追加面の文字 |
UTF-8 は、インターネット上で最も使用頻度の高い ASCII 文字 (英数字・記号) を 1 バイトで表現し、使用頻度が下がるにつれてバイト数を増やす設計になっています。これはまさにモールスが活字ケースで行った最適化と同じ発想です。文字数とバイト数の違いで詳しく解説していますが、「あ」は UTF-8 で 3 バイト、「A」は 1 バイトです。文字数としてはどちらも 1 文字ですが、データ量は 3 倍異なります。
Unicode の基本を理解すると、この可変長エンコーディングの設計思想がより深く見えてきます。W3Techs の利用状況調査では、文字エンコーディングが判明している Web サイトのうち 99.0% が UTF-8 を使用しています (2026 年 8 月時点)。ここまで一方的に普及した理由の一つは、英語テキストを ASCII と同じ 1 バイトで表現できる後方互換性にあります。もし全文字を固定長 (例えば 4 バイト) で表現していたら、英語のテキストファイルのサイズは 4 倍に膨れ上がっていたでしょう。
数字のモールス符号 - なぜ 5 符号で統一されたのか
英字の符号長が 1〜4 符号とバラバラなのに対し、数字 (0〜9) のモールス符号はすべて 5 符号で統一されています。
| 数字 | モールス符号 | パターン |
|---|---|---|
| 1 | ・−−−− | 点 1 + 線 4 |
| 2 | ・・−−− | 点 2 + 線 3 |
| 3 | ・・・−− | 点 3 + 線 2 |
| 4 | ・・・・− | 点 4 + 線 1 |
| 5 | ・・・・・ | 点 5 |
| 6 | −・・・・ | 線 1 + 点 4 |
| 7 | −−・・・ | 線 2 + 点 3 |
| 8 | −−−・・ | 線 3 + 点 2 |
| 9 | −−−−・ | 線 4 + 点 1 |
| 0 | −−−−− | 線 5 |
数字が 5 符号で統一されている理由は、数字には英字のような出現頻度の偏りがないためです。英語のテキストでは「E」が 12.7% も出現する一方で「Z」は 0.07% しか出現しませんが、数字の 0〜9 は用途によって出現頻度が大きく変わります。電話番号なら均等に近く、金額なら「0」が多くなる。特定の数字を短くする合理的な根拠がないため、全て同じ長さに揃えたのです。
さらに、数字の符号には美しい規則性があります。1 から 5 に向かって点が 1 つずつ増え、5 で全て点になり、6 から 0 に向かって線が 1 つずつ増えて 0 で全て線になる。この対称的なパターンは記憶しやすく、電信技師の訓練時間を短縮する効果がありました。
符号設計の効果を自分で計算してみる
この記事の頻度表を使うと、頻度に応じた符号長の割り当てがどれだけ効いているかを自分で計算できます。上位 10 文字 (E から D まで) の出現頻度を足すと 73.82%、つまり英文に出てくる文字の 4 分の 3 近くがこの 10 文字で占められています。この 10 文字について「頻度 × 符号長」を合計すると 1.622 になり、頻度の合計 73.82% で割ると 1 文字あたり約 2.2 符号です。
もし頻度を無視して全ての文字に 4 符号を割り当てていたら、同じ 10 文字の平均は 4 符号になります。頻度順の割り当ては、頻出文字だけを見ても打鍵数を 1.8 倍ほど節約していたことになります。電信技師が 1 日に何百通も打つ現場では、この差が労力と回線占有時間の差にそのまま跳ね返りました。
1 文字を送るのに実際どれだけの時間がかかるかは、前述の基準語「PARIS」から概算できます。PARIS は 5 文字で 50 単位、つまり文字間と語間の無音を含めて 1 文字あたり 10 単位です。点と線そのものよりも、区切りのための無音が伝送時間の相当部分を占めているという構造は、間隔で文字を区切るモールス符号の宿命でもあります。ハフマン符号が接頭辞性によって区切りを不要にしたのは、この無音のコストを取り除いたという意味でもありました。
文字の効率を数える意味
活字ケースの数え上げから 180 年以上が経った 2026 年でも、「文字の効率」は至るところで問題になります。X (旧 Twitter) の文字数制限では、日本語や中国語などの文字が半角英数字の 2 倍の重みで数えられます。1 文字が運ぶ情報量の差を、プラットフォーム側が重み付けという形で制限に織り込んでいるわけです。漢字 1 文字は英語の数単語分の意味を圧縮できるため、同じ上限でも日本語の投稿にはより多くの内容を詰め込めます。
ヴェイルが活字ケースの前で文字を数えていたとき、彼が向き合っていたのは「情報の効率的な伝達」という普遍的な問題でした。その問題は、全角と半角の違いに悩む現代の Web 開発者にも、プロンプトの文字数を最適化する生成 AI ユーザーにも、形を変えて受け継がれています。文字を数えるという行為の背後には、常に「限られたリソースで最大の情報を伝える」という情報理論の本質が横たわっているのです。