Mã Morse và hiệu quả ký tự - Tại sao "E" chỉ cần một chấm còn "Q" cần bốn ký hiệu

Khoảng 8 phút đọc

Năm 1838, Samuel Morse bước vào một xưởng in ở New York và bắt đầu đếm nội dung trong các hộp chữ. Ông muốn tìm hiểu chữ cái nào có nhiều khuôn chữ nhất - nói cách khác, chữ cái nào được sử dụng thường xuyên nhất trong tiếng Anh. Cuộc khảo sát tỉ mỉ này đã sinh ra ý tưởng "tối ưu hóa độ dài mã dựa trên tần suất" - tiền thân của lý thuyết thông tin. Gán mã ngắn cho ký tự thường dùng và mã dài cho ký tự hiếm dùng. Nguyên tắc này được Claude Shannon hình thức hóa toán học khoảng 100 năm sau khi ông thiết lập lý thuyết thông tin, và tiếp tục phát triển thành mã hóa Huffman.

Thiết kế mã sinh ra từ hộp chữ in

Lượng khuôn chữ Morse quan sát tại xưởng in phản ánh trực tiếp tần suất xuất hiện của chữ cái trong tiếng Anh. Hộp chữ có nhiều khuôn "E" nhất, trong khi "Z" và "Q" chỉ có rất ít. Dựa trên quan sát này, Morse gán mã ngắn cho chữ cái tần suất cao và mã dài cho chữ cái tần suất thấp.

Chữ cáiMã MorseĐộ dài mã (chấm và gạch)Tần suất trong tiếng Anh
E·1Khoảng 12,7%
T1Khoảng 9,1%
A·−2Khoảng 8,2%
I··2Khoảng 7,0%
N−·2Khoảng 6,7%
S···3Khoảng 6,3%
H····4Khoảng 6,1%
Q−−·−4Khoảng 0,1%
Z−−··4Khoảng 0,07%

"E" và "T" mỗi chữ chỉ cần 1 ký hiệu (một chấm, một gạch). Việc làm cho hai chữ cái xuất hiện thường xuyên nhất trong tiếng Anh trở thành ngắn nhất đã giảm đáng kể thời gian truyền điện tín. Trong khi đó, "Q" và "Z" cần 4 ký hiệu, nhưng vì tần suất xuất hiện dưới 0,1% nên hầu như không ảnh hưởng đến hiệu quả truyền tổng thể.

ETAOIN SHRDLU - Bảng xếp hạng tần suất chữ cái tiếng Anh

Sắp xếp chữ cái tiếng Anh theo tần suất cho ra "ETAOIN SHRDLU." Trình tự này đã được biết đến từ thời in letterpress và thậm chí được áp dụng cho bố cục bàn phím máy sắp chữ Linotype.

HạngChữ cáiTần suấtĐộ dài mã MorseTần suất x Độ dài mã
1E12,70%10,127
2T9,06%10,091
3A8,17%20,163
4O7,51%30,225
5I6,97%20,139
6N6,75%20,135
7S6,33%30,190
8H6,09%40,244
9R5,99%30,180
10D4,25%30,128

Cột "Tần suất x Độ dài mã" cho thấy mỗi chữ cái đóng góp bao nhiêu vào tổng thời gian truyền. "E" có tần suất cao nhất nhưng đóng góp chỉ 0,127 vì độ dài mã là 1. Nếu "E" được gán 4 ký hiệu, giá trị này sẽ nhảy lên 0,508, tăng đáng kể tổng thời gian truyền.

Tuy nhiên, mã Morse không được tối ưu hóa hoàn hảo. "H" có tần suất xếp thứ 6 (6,09%) nhưng được gán 4 ký hiệu, dài hơn 3 ký hiệu của "R" xếp thứ 8 (5,99%). Điều này được cho là vì Morse không chỉ xem xét quan sát hộp chữ mà còn cân nhắc khả năng phân biệt bằng tai.

Tầm nhìn xa chia sẻ với mã hóa Huffman

Năm 1952, nghiên cứu sinh MIT David Huffman công bố thuật toán xây dựng mã có độ dài thay đổi tối ưu cho nén dữ liệu. Mã hóa Huffman về bản chất giống ý tưởng của Morse - gán chuỗi bit ngắn cho ký hiệu tần suất cao và chuỗi bit dài cho ký hiệu tần suất thấp.

So sánhMã Morse (1838)Mã hóa Huffman (1952)
Nguyên lý thiết kếMã ngắn cho chữ cái tần suất caoChuỗi bit ngắn cho ký hiệu tần suất cao
Tính tối ưuKinh nghiệm/trực giác (không tối ưu hoàn hảo)Tối ưu toán học (như mã tiền tố)
Loại mã3 giá trị: chấm, gạch, khoảng cách2 giá trị: 0 và 1
Cơ chế phân táchKhoảng cách giữa ký tự/từKhông cần phân tách (tính chất tiền tố)
Ứng dụngTruyền thông điện tínNén dữ liệu (ZIP, JPEG, MP3, v.v.)

Sự khác biệt quyết định nằm ở "tính chất tiền tố." Mã Huffman được thiết kế sao cho không mã nào là tiền tố của mã khác, cho phép giải mã duy nhất bằng cách đọc chuỗi bit từ đầu. Mã Morse sử dụng khoảng cách (im lặng) giữa các ký tự làm dấu phân tách - không có khoảng cách này, "····" có thể là "H," "I + I," hoặc "I + E + E." Xét rằng lý thuyết thông tin chưa tồn tại vào thời Morse, bản thân ý tưởng tối ưu hóa độ dài mã dựa trên tần suất đã là tầm nhìn xa đáng kinh ngạc.

Thiết kế mã Morse tiếng Nhật - Tại sao "イ" nhận được mã ngắn nhất

Mã Morse tiếng Nhật (Wabun Morse) được thiết lập khoảng năm 1855. Trong Wabun Morse, mỗi ký tự katakana được gán một mã. Tương tự phiên bản tiếng Anh, các ký tự tiếng Nhật thường dùng có xu hướng nhận mã ngắn hơn, nhưng không hoàn toàn theo thứ tự tần suất.

Ký tựMã Wabun MorseĐộ dài mãGhi chú
·−2Thuộc nhóm ngắn nhất. Trợ từ "i" tần suất cao
·−·−4Thứ 2 trong thứ tự iroha
−···4Thường xuyên dùng làm trợ từ "wa" nhưng 4 ký hiệu
−·−·4Thứ 4 trong thứ tự iroha
−··3Thứ 5 trong thứ tự iroha
·1Ngắn nhất. Dùng làm trợ từ "e"
··−··5Rất thường xuyên dùng làm trợ từ "to" nhưng 5 ký hiệu

Phân bổ mã Wabun Morse không tuân theo thứ tự tần suất nghiêm ngặt như phiên bản tiếng Anh. "ヘ" ngắn nhất với 1 ký hiệu (một chấm), nhưng không nhất thiết là ký tự xuất hiện thường xuyên nhất trong văn bản tiếng Nhật. "ト" được sử dụng rất thường xuyên làm trợ từ nhưng được gán 5 ký hiệu. Thiết kế Wabun Morse được cho là phản ánh sự pha trộn giữa ảnh hưởng thứ tự iroha và cân nhắc về khả năng phân biệt bằng tai.

SOS - Tính hợp lý trong 9 ký hiệu

Đêm khuya ngày 14 tháng 4 năm 1912, nhân viên điện tín Titanic Jack Phillips liên tục phát tín hiệu "SOS." Mã Morse của SOS là "··· −−− ···" - tổng cộng 9 ký hiệu. Tín hiệu này được chấp nhận làm tín hiệu cấp cứu quốc tế năm 1906, nhưng lý do được chọn không phải vì nó viết tắt của "Save Our Souls."

Lý do thực sự SOS được chọn là sự rõ ràng của nó trong mã Morse. Cả "···" (S) và "−−−" (O) đều gồm các ký hiệu giống nhau lặp lại, khó nghe nhầm trong môi trường vô tuyến nhiều tạp âm. Hơn nữa, nhịp điệu đối xứng ba chấm, ba gạch, ba chấm khó bị nhầm lẫn với bất kỳ chuỗi ký tự nào khác.

Trong thảm họa Titanic, ban đầu tín hiệu cấp cứu cũ "CQD" (Come Quick, Danger) được sử dụng. Mã Morse của CQD là "−·−· −−·− −··" gồm 12 ký hiệu - nhiều hơn 3 ký hiệu so với 9 ký hiệu của SOS, kém hiệu quả hơn cho truyền khẩn cấp. Phillips chuyển sang SOS giữa chừng, và quyết định này được cho là đã đẩy nhanh việc thông báo đến tàu cứu hộ Carpathia.

Thời gian truyền trung bình mỗi ký tự

Tốc độ truyền mã Morse được đo bằng "WPM" (Words Per Minute - Từ mỗi phút). Tốc độ được định nghĩa bằng số lần có thể gửi từ tham chiếu chuẩn "PARIS" mỗi phút. "PARIS" được chọn làm từ tham chiếu vì độ dài mã Morse của nó xấp xỉ độ dài mã trung bình của văn bản tiếng Anh.

Mã Morse của "PARIS" là "·−−· ·− ·−· ·· ···" tổng cộng 50 đơn vị khi độ dài chấm bằng 1 đơn vị. Vậy 1 WPM = 50 đơn vị mỗi phút. Nhân viên điện tín lành nghề có thể truyền ở tốc độ 20-30 WPM, tương đương 1.000-1.500 đơn vị mỗi phút, hay khoảng 17-25 đơn vị mỗi giây.

So với truyền thông văn bản hiện đại, tốc độ truyền mã Morse cực kỳ chậm. Nhưng xét trình độ công nghệ thập niên 1840, việc có thể gửi tin nhắn thời gian thực đến nơi cách hàng trăm km đã là cách mạng. Như đã thảo luận trong bài viết giới hạn ký tự SMS, giới hạn 160 ký tự của SMS cũng phát sinh từ ràng buộc kỹ thuật, nhưng vào thời mã Morse, khái niệm "giới hạn ký tự" thậm chí chưa tồn tại - mỗi ký tự được gõ thủ công từng cái một.

Mối liên hệ tư tưởng với mã hóa độ dài thay đổi hiện đại

Triết lý thiết kế "mã ngắn cho ký tự tần suất cao" của mã Morse vẫn sống trong máy tính hiện đại. Ví dụ quen thuộc nhất là mã hóa UTF-8.

Loại ký tựSố byte UTF-8Ký tự ví dụÝ đồ thiết kế
Ký tự ASCII (chữ số)1 byteA, B, 0, 1, @Ngắn nhất cho ký tự thường dùng nhất trong tiếng Anh
Latin mở rộng / Hy Lạp2 bytee, n, a, bKý tự bổ sung cho ngôn ngữ châu Âu
Tiếng Nhật / Trung / Hàn3 byteあ, 漢, 한Ký tự CJK 3 byte
Emoji / Ký tự đặc biệt4 byte😀, 🎉, 𠮷Ký tự mặt phẳng bổ sung

UTF-8 biểu diễn ký tự ASCII (chữ số và ký hiệu) - được sử dụng thường xuyên nhất trên internet - bằng 1 byte, tăng số byte khi tần suất sử dụng giảm. Đây chính xác là cùng một tối ưu hóa mà Morse đã thực hiện trước hộp chữ. Như đã giải thích chi tiết trong sự khác biệt giữa số ký tự và số byte, "あ" là 3 byte trong UTF-8 trong khi "A" là 1 byte. Cả hai đều là 1 ký tự, nhưng kích thước dữ liệu khác nhau gấp 3 lần.

Hiểu kiến thức cơ bản về Unicode sẽ giúp nhìn sâu hơn vào triết lý thiết kế mã hóa độ dài thay đổi. Một lý do UTF-8 được hơn 98% website trên thế giới sử dụng là khả năng tương thích ngược - biểu diễn văn bản tiếng Anh bằng cùng 1 byte như ASCII. Nếu tất cả ký tự đều có độ dài cố định (ví dụ 4 byte), kích thước file văn bản tiếng Anh sẽ tăng gấp 4 lần.

Mã Morse cho số - Tại sao đều là 5 ký hiệu

Trong khi độ dài mã chữ cái dao động từ 1 đến 4 ký hiệu, mã Morse cho số (0-9) đều thống nhất 5 ký hiệu.

SốMã MorseMẫu
1·−−−−1 chấm + 4 gạch
2··−−−2 chấm + 3 gạch
3···−−3 chấm + 2 gạch
4····−4 chấm + 1 gạch
5·····5 chấm
6−····1 gạch + 4 chấm
7−−···2 gạch + 3 chấm
8−−−··3 gạch + 2 chấm
9−−−−·4 gạch + 1 chấm
0−−−−−5 gạch

Số đều là 5 ký hiệu vì các chữ số không có sự thiên lệch tần suất như chữ cái. Trong văn bản tiếng Anh, "E" xuất hiện 12,7% trong khi "Z" chỉ 0,07%, nhưng tần suất các chữ số 0-9 thay đổi lớn tùy theo ngữ cảnh. Số điện thoại gần như đồng đều, trong khi số tiền có nhiều "0" hơn. Không có cơ sở hợp lý để làm số cụ thể nào ngắn hơn, nên tất cả được thống nhất cùng độ dài.

Hơn nữa, mã số có tính quy luật đẹp. Từ 1 đến 5, chấm tăng dần từng cái cho đến khi 5 toàn chấm; từ 6 đến 0, gạch tăng dần từng cái cho đến khi 0 toàn gạch. Mẫu đối xứng này dễ nhớ, giảm thời gian đào tạo nhân viên điện tín.

Tính toán hiệu quả truyền mã Morse

Hãy đánh giá định lượng hiệu quả truyền mã Morse từ góc độ lý thuyết thông tin. Lượng thông tin (entropy) mỗi ký tự của văn bản tiếng Anh khoảng 4,7 bit. Trong khi đó, truyền văn bản tiếng Anh qua mã Morse cần độ dài mã trung bình khoảng 8,1 đơn vị thời gian mỗi ký tự (với độ dài chấm là 1 đơn vị).

Nếu Morse sử dụng phân bổ mã hoàn toàn ngẫu nhiên (bỏ qua tần suất), độ dài mã trung bình sẽ khoảng 10,2 đơn vị thời gian. Nghĩa là thiết kế dựa trên tần suất của Morse đã đạt được giảm khoảng 20% thời gian truyền so với phân bổ ngẫu nhiên.

Với mã hóa Huffman tối ưu lý thuyết, độ dài mã trung bình sẽ khoảng 7,6 đơn vị thời gian. 8,1 đơn vị thời gian của mã Morse chỉ cách giá trị tối ưu khoảng 7% - độ chính xác đáng kinh ngạc cho một thiết kế kinh nghiệm thế kỷ 19.

Ý nghĩa của việc đếm hiệu quả ký tự

Khoảng 190 năm sau thiết kế mã Morse, "hiệu quả ký tự" vẫn là vấn đề ở khắp nơi. Trong giới hạn ký tự X (trước đây là Twitter), một ký tự tiếng Nhật và một ký tự tiếng Anh được tính như cùng "1 ký tự," nhưng lượng thông tin khác nhau rất nhiều. Một chữ Hán tiếng Nhật nén ý nghĩa của vài từ tiếng Anh, nên tweet 140 ký tự tiếng Nhật truyền tải nhiều thông tin hơn tweet 140 ký tự tiếng Anh.

Khi Morse đếm ký tự trước hộp chữ, ông đang giải quyết vấn đề phổ quát "truyền tải thông tin hiệu quả." Vấn đề đó đã được kế thừa dưới các hình thức khác nhau bởi các nhà phát triển web hiện đại đau đầu với sự khác biệt giữa ký tự toàn chiều rộng và nửa chiều rộng, và bởi người dùng AI tạo sinh tối ưu hóa số ký tự prompt. Đằng sau hành động đếm ký tự luôn nằm bản chất của lý thuyết thông tin: "truyền tải tối đa thông tin với nguồn lực hạn chế."

Sách về lý thuyết thông tin và mã Morse có thể tìm thấy trên Amazon.

Chia sẻ bài viết này