Toán ứng dụng và Tính toán
Lý thuyết thông tin
Định lượng thông tin và giới hạn truyền thông bằng entropy, sáng lập bởi Claude Shannon.
Trực giácTrò chơi đoán và một thông điệp thực sự chứa bao nhiêu thông tin
Hãy tưởng tượng ai đó tung một đồng xu và cho bạn biết kết quả. Nếu đồng xu cân đối, mỗi lần bạn học được điều thực sự bất ngờ — ngửa và sấp có khả năng như nhau, nên bạn không thể đoán trước kết quả. Nếu đồng xu gần như luôn ra ngửa, nghe thấy "ngửa" hầu như không cho bạn biết gì thêm (bạn đã đoán trước điều đó), trong khi nghe thấy "sấp" hiếm gặp lại là một cú bất ngờ nhỏ mang nhiều thông tin hơn hẳn. Lý thuyết thông tin biến trực giác thường ngày này — kết quả hiếm, bất ngờ mang nhiều thông tin hơn kết quả quen thuộc, dễ đoán — thành một con số chính xác.
Phổ thôngBit, sự bất ngờ và công thức entropy
Định nghĩa: Entropy Shannon
Với một biến ngẫu nhiên nhận giá trị với xác suất (với ), entropy Shannon là số bit bất ngờ trung bình trên mỗi kết quả: . Số hạng là "độ bất ngờ" của kết quả — lớn khi nhỏ (hiếm, bất ngờ) và bằng khi (chắc chắn, không bất ngờ) — và lấy trung bình độ bất ngờ đó, có trọng số theo tần suất thực tế xảy ra của mỗi kết quả.
Ở đây là số kết quả có thể xảy ra, là xác suất của kết quả (với ), và cơ số logarit bằng nghĩa là được đo bằng bit. Trường hợp đặc biệt quan trọng nhất là một đồng xu với hai kết quả, xác suất và : , gọi là hàm entropy nhị phân.
| Phân phối | Entropy |
|---|---|
| Đồng xu cân đối, | bit (tối đa với 2 kết quả) |
| Đồng xu lệch, | bit |
| Đều trên kết quả | bit () |
| Tất định, | bit (không có bất ngờ nào) |
Đại họcBất đẳng thức Gibbs, mã tối ưu và dung lượng kênh
Cho hai phân phối xác suất và trên cùng kết quả, độ phân kỳ Kullback–Leibler đo mức "lãng phí" khi giả định các kết quả tuân theo trong khi thực ra chúng tuân theo : . Đại lượng này lý giải vì sao entropy có tính chất như vậy, và vì sao không mã nào có thể vượt qua cận entropy — cả hai đều là hệ quả của bất đẳng thức dưới đây.
Với hai phân phối xác suất bất kỳ và trên cùng kết quả (mọi ), , đẳng thức xảy ra khi và chỉ khi .
Vì sao đúng?
Logarit là hàm lõm, nên "trung bình" nó nằm dưới tiếp tuyến của mình. Bất đẳng thức Gibbs chính là bất đẳng thức Jensen áp dụng cho hàm lõm , với trọng số : nó nói rằng thay mỗi tỉ số bằng trung bình có trọng số của chúng (bằng ) bên trong logarit chỉ có thể làm tăng tổng, buộc độ phân kỳ phải không âm.
Chứng minh
Bắt đầu từ bất đẳng thức sơ cấp với mọi , đẳng thức chỉ xảy ra tại (điều này đúng vì có , , dương khi và âm khi , nên có cực đại duy nhất tại ). Chia cho ta được .
Áp dụng điều này với cho mỗi : . Nhân cả hai vế với (không đổi chiều bất đẳng thức) và lấy tổng theo : , vì cả và đều là phân phối xác suất có tổng bằng .
Vế trái chính là (chú ý dấu đảo ngược do thay vì trong logarit), nên điều này chứng minh .
Đẳng thức toàn phần đòi hỏi đẳng thức trong với mọi có , điều này chỉ xảy ra khi với mọi như vậy, tức là .
Để lưu trữ hoặc truyền kết quả của một cách hiệu quả, ta gán cho mỗi kết quả một từ mã nhị phân có độ dài , chọn sao cho không từ mã nào là tiền tố của từ mã khác (mã tiền tố), giúp bên nhận giải mã ngay lập tức chuỗi từ mã mà không mơ hồ. Không phải danh sách độ dài nào cũng khả thi: độ dài của một mã tiền tố phải thỏa bất đẳng thức Kraft, .
Với nguồn có entropy , mọi mã tiền tố đều có độ dài từ mã trung bình thỏa , và tồn tại một mã tiền tố có .
Vì sao đúng?
Cận dưới cho biết entropy là một sàn cứng: không mã tiền tố không mất mát nào có thể, trung bình, vượt qua bit trên mỗi kí hiệu, vì làm tốt hơn sẽ đòi hỏi phân phối do mã sinh ra khác với phân phối thật của theo cách mà bất đẳng thức Gibbs cấm. Cận trên cho biết sàn này gần như đạt được: làm tròn lên mỗi độ dài lý tưởng thành số nguyên chỉ lãng phí ít hơn một bit trung bình.
Chứng minh
Với cận dưới, gọi là độ dài của một mã tiền tố bất kỳ, nên . Đặt với , khi đó là một phân phối xác suất. Theo bất đẳng thức Gibbs, . Vì nên , do đó , biến đổi ra .
Với cận trên (tính khả đạt), chọn cho mỗi (làm tròn lên độ dài lý tưởng thành số nguyên gần nhất). Các độ dài này thỏa bất đẳng thức Kraft vì , nên ; theo cách dựng Kraft–McMillan, các độ dài như vậy luôn có thể hiện thực hóa thành một mã tiền tố thực sự (xây mã bằng cách gán các chuỗi nhị phân theo từng tầng trong một cây nhị phân).
Theo định nghĩa của hàm trần, . Nhân với và lấy tổng theo ta được .
Kết hợp hai phần, cách dựng này đạt được .
Bây giờ giả sử các thông điệp được gửi qua một kênh nhiễu: bên nhận thấy khi được gửi đi, và nhiễu có thể làm lật kí hiệu. Thông tin tương hỗ đo trung bình bao nhiêu bit về còn sống sót qua nhiễu — bằng entropy của trừ đi độ bất định còn lại sau khi thấy . Dung lượng kênh là thông tin tương hỗ lớn nhất đạt được bằng cách chọn phân phối đầu vào tốt nhất.
Kênh nhiễu đơn giản nhất là kênh nhị phân đối xứng (BSC): mỗi bit truyền đi bị lật độc lập với xác suất chéo . Dung lượng của nó là , dùng cùng hàm entropy nhị phân ở trên — một cầu nối gọn gàng giữa hai nửa mã hóa nguồn và mã hóa kênh của lý thuyết.
Với một kênh không nhớ rời rạc có dung lượng , truyền tin đáng tin cậy (xác suất lỗi ) là khả thi ở bất kỳ tốc độ truyền bit trên mỗi lần dùng kênh với , bằng cách dùng mã khối đủ dài; ngược lại, không sơ đồ mã nào có thể đạt ở bất kỳ tốc độ .
Vì sao đúng?
Dung lượng không chỉ là một công thức tiện lợi — nó là một bức tường thực sự. Dưới ngưỡng đó, trải mỗi thông điệp trên một khối đủ dài giúp các từ mã trông ngẫu nhiên vẫn phân biệt được dù có nhiễu, nên lỗi có thể được đưa về không; trên ngưỡng đó, kênh phá hủy thông tin nhanh hơn bất kỳ mã nào có thể bảo vệ, dù mã có tinh vi đến đâu.
Chứng minh
**Chiều đảo ().** Bất đẳng thức Fano chặn độ bất định còn lại của bên nhận về thông điệp khi biết đầu ra nhiễu: , với là số thông điệp có thể. Đồng thời, cấu trúc xử lý dữ liệu của kênh buộc ở mỗi lần dùng, nên trên một khối lần dùng kênh, tổng thông tin bên nhận có thể trích ra tối đa là bit. Nếu tốc độ thật là bit mỗi lần dùng, thông điệp mang bit entropy nhưng kênh chỉ cung cấp khoảng bit về nó; bất đẳng thức Fano khi đó buộc phải giữ khoảng cách khỏi khi tăng, vì độ bất định còn lại không thể triệt tiêu được.
**Phác thảo chiều thuận ().** Cố định một phân phối đầu vào đạt dung lượng và sinh ngẫu nhiên độc lập một bảng mã gồm từ mã độ dài từ . Để giải mã, bên nhận tìm từ mã duy nhất đồng điển hình với chuỗi nhận được (nghĩa là có các mẫu thống kê giống một cặp đầu vào–đầu ra thật). Vì , số từ mã ứng viên () nhỏ hơn nhiều so với số đầu ra kênh phân biệt được về mặt thống kê (), nên khi khả năng một từ mã khác, không được gửi, tình cờ trông đồng điển hình với chuỗi nhận được giảm về , và xác suất lỗi giải mã cũng vậy, tính trung bình theo lựa chọn ngẫu nhiên của bảng mã — do đó phải tồn tại ít nhất một bảng mã đạt được nhỏ tùy ý.
| Kênh | Dung lượng |
|---|---|
| Kênh nhị phân không nhiễu | bit mỗi lần dùng |
| Kênh nhị phân đối xứng, xác suất chéo | |
| Kênh xóa nhị phân, xác suất xóa | |
| Kênh nhị phân đối xứng, (nhiễu hoàn toàn) | (không thông tin nào lọt qua) |
Đại họcỨng dụng thực tiễn và Ví dụ minh họa
Mọi công nghệ số nén hoặc truyền dữ liệu đều dựa vào hai định lý này. Mã hóa nguồn là nền tảng của nén ZIP, JPEG và MP3 (tiến gần tới entropy của dữ liệu); mã hóa kênh là nền tảng của Wi-Fi, liên lạc không gian sâu và mã QR (thêm vừa đủ dư thừa để chống chịu nhiễu, nhưng không nhiều hơn mức đòi hỏi).
Ví dụ: Xây dựng một mã đạt đúng cận entropy
Một cảm biến báo cáo một trong bốn trạng thái với xác suất . Tìm , đề xuất độ dài mã tiền tố thỏa bất đẳng thức Kraft với dấu bằng, và kiểm tra xem độ dài trung bình thu được có khớp với cận entropy hay không.
Lời giải
Trước hết tính entropy trực tiếp từ công thức: mỗi số hạng là , cho , , và hai số hạng mỗi số hạng. Cộng lại: bit.
Vì mỗi xác suất ở đây là một lũy thừa của hai (), các độ dài từ mã lý tưởng đã là số nguyên: . Kiểm tra bất đẳng thức Kraft: , thỏa mãn với dấu bằng, nên tồn tại một mã tiền tố có đúng các độ dài này (chẳng hạn ).
Độ dài từ mã trung bình là bit.
Vậy chính xác, đạt cận dưới của định lý mã hóa nguồn không nhiễu với dấu bằng — điều này xảy ra chính xác vì phân phối này là dyadic (mọi xác suất đều là lũy thừa của hai), nên không bit nào bị lãng phí khi làm tròn độ dài thành số nguyên.
Ví dụ: Một chip nhớ nhiễu cần bao nhiêu dư thừa?
Một ô nhớ flash có xác suất lật bit thô trên mỗi bit lưu trữ, được mô hình hóa như một kênh nhị phân đối xứng. Tính dung lượng kênh , và diễn giải ý nghĩa của nó về việc bao nhiêu phần bộ nhớ thô phải dùng cho dư thừa sửa lỗi để đọc lại dữ liệu một cách đáng tin cậy.
Lời giải
Trước hết tính entropy nhị phân tại : và , nên bit.
Dung lượng khi đó là bit trên mỗi bit lưu trữ.
Điều này nghĩa là, về nguyên tắc, chỉ khoảng một nửa dung lượng lưu trữ thô có thể mang thông tin đáng tin cậy một khi thêm dư thừa sửa lỗi — một tốc độ gần bit trên mỗi ô nhớ thô là mức tốt nhất mà bất kỳ mã sửa lỗi nào có thể đạt được trong khi vẫn đưa xác suất lỗi về gần không trên kênh này; các mã cố đạt tốc độ cao hơn không thể trở nên đáng tin cậy, dù thiết kế có tinh vi đến đâu.
Trong thực tế, các bộ điều khiển bộ nhớ flash thật sự dùng các mã sửa lỗi như BCH hay LDPC ở tốc độ được chọn an toàn dưới trần lý thuyết bit này, đánh đổi một phần biên độ đó để lấy độ phức tạp giải mã thực tế và độ dài khối hữu hạn.
Một nguồn có ba kết quả đồng khả năng, . bằng bao nhiêu?
Theo bất đẳng thức Gibbs, giá trị nhỏ nhất có thể của với hai phân phối xác suất là gì?
Với một nguồn có entropy , phát biểu nào về độ dài trung bình của mã tiền tố tối ưu được định lý mã hóa nguồn không nhiễu của Shannon bảo đảm?
Một kênh nhị phân đối xứng có xác suất chéo (mỗi bit bị lật với xác suất đúng một nửa). Dung lượng của nó là gì?
Tài liệu tham khảo
- Claude E. Shannon (1948). A Mathematical Theory of Communication
- Thomas M. Cover, Joy A. Thomas (2006). Elements of Information Theory
- David J. C. MacKay (2003). Information Theory, Inference, and Learning Algorithms
- Erdal Arıkan (2009). Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels · arXiv:0807.3917