7/2/2010 1 Chương 2: Bài toán mã trường hợp kênh không bị nhiễu 2.1 Tính giải được của một bộ mã Giới thiệu bài toán mã • Biến ngẫu nhiên X nhận các giá trị x 1 , x 2 , … , x M (gọi là các trạng thái của X) với xác suất tương ứng p 1 , p 2 , …., p M • Dãy hữu hạn các giá trị của X gọi là mẫu tin (message) • Tập hợp {a 1 , a 2 , …, a D } gọi là tập các ký tự mã (code character) • Mỗi x i tương ứng với một dãy hữu hạn các ký tự mã gọi là từ mã (character word) • Tập các từ mã gọi là bộ mã (code) 7/2/2010Huỳnh Văn Kha 2 7/2/2010 2 Giới thiệu bài toán mã • Giả sử các từ mã là khác nhau • Mẫu tin do biến X sinh ra được mã hóa thành một dãy các từ mã • Mục tiêu của bài toán là cực tiểu hóa chiều dài trung bình của mã • Chiều dài của từ mã ứng với x i là n i , i = 1, 2, …, M. Mục tiêu là cực tiểu hóa: 7/2/2010Huỳnh Văn Kha 3 Mã tiền tố và mã giải ñược • Xét bộ mã nhị phân • Dãy 010 có thể tương ứng với một trong ba mẩu tin: x 2 , x 3 x 1 , x 1 x 4 . Nên không thể giải mã • Cần có một số giới hạn trên các từ mã của 1 bộ mã 7/2/2010Huỳnh Văn Kha 4 x 1 0 x 2 010 x 3 01 x 4 10 7/2/2010 3 Mã tiền tố và mã giải ñược • Bộ mã gọi là giải được nếu mỗi dãy hữu hạn các từ mã đều tương ứng với nhiều nhất một mẫu tin • Dãy A gọi là tiền tố của dãy B nếu dãy B có thể được viết dưới dạng AC, với C là một dãy nào đó • Bộ mã tiền tố là bộ mã có tính chất: không từ mã nào là tiền tố của từ mã khác • Bộ mã tiền tố là giải được, nhưng bộ mã giải được chưa chắc là bộ mã tiền tố • Bộ mã tiền tố có thể được giải mã từng bước 7/2/2010Huỳnh Văn Kha 5 Mã tiền tố và mã giải ñược • Bộ mã sau là bộ mã tiền tố • Bộ mã sau là giải được nhưng không là tiền tố 7/2/2010Huỳnh Văn Kha 6 x 1 0 x 2 100 x 3 101 x 4 11 x 1 0 x 2 01 7/2/2010 4 Giải thuật kiểm tra tính giải ñược • Gọi S 0 là tập các từ mã ban đầu • Xét tất cả các cặp từ mã trong S 0 . Nếu có các từ mã W i , W j sao cho W j = W i A, cho hậu tố A vào tập S 1 • Giả sử có tập S n-1 (n>1). Nếu có W trong S 0 và A trong S n-1 sao cho A=WB, cho B vào S n . Nếu có W’ trong S o và A’ trong S n-1 sao cho W’=A’B’, cho B’ vào S n • Định lý 2.1: Một bộ mã là giải được nếu và chỉ nếu không tập nào trong các tập S 1 , S 2 , S 3 , … chứa bất kỳ từ mã nào 7/2/2010Huỳnh Văn Kha 7 Thuật toán kiểm tra tính giải ñược x 1 a x 2 c x 3 ad x 4 abb x 5 bad x 6 deb x 7 bbcde 7/2/2010Huỳnh Văn Kha 8 7/2/2010 5 Thuật toán kiểm tra tính giải ñược S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7 a d eb de b ad d eb c bb cde bcde ad abb bad deb bbcde 7/2/2010Huỳnh Văn Kha 9 • S n rỗng với mọi n>7 • ad thuộc S 5 nên bộ mã là không giải được • abbcdebad có thể giải mã thành x 1 x 7 x 5 hoặc x 4 x 2 x 6 x 3 Tìm dãy mã không giải ñược • Dãy các ký tự mã có thể đại diện cho 2 mẫu tin được gọi là dãy mã không giải được • Ta sẽ không chứng minh định lý 2.1 nhưng sẽ chỉ ra cách tìm dãy mã không giải được • Giả sử S n chứa từ mã W. Tiến hành ngược lại, ta tìm được dãy: A 0 , W 0 , A 1 , W 1 , …, A n , W n 7/2/2010Huỳnh Văn Kha 10 7/2/2010 6 Tìm dãy mã không giải ñược • A 0 , W 0 , W 1 , …, W n là các từ mã, A i ε S i (i = 1, 2, …, n), W 0 = A 0 A 1 , A n = W n • Với mỗi i = 1, 2, …, n-1 thì hoặc A i = W i A i+1 hoặc W i = A i A i+1 • Ví dụ trên, ta có: 7/2/2010Huỳnh Văn Kha 11 A 5 = ad ε S 5 W 5 = ad A 4 = b ε S 4 W 4 = bad A 3 = de ε S 3 W 3 = deb A 2 = cde ε S 2 W 2 = c A 1 = bb ε S 1 W 1 = bbcde A 0 = a W 0 = abb Tìm dãy mã không giải ñược • Ta xây dựng hai dãy, một dãy bắt đầu với A 0 W 1 , dãy kia bắt đầu với W 0 • Nếu A i = W i A i+1 , thêm W i+1 vào cuối dãy chứa W i • Nếu W i = A i A i+1 , thêm W i+1 vào cuối dãy không chứa W i • Tiếp tục như vậy đến W n • Người ta chứng minh được rằng hai dãy tạo thành như trên là một, và chính là dãy mã không giải được cần tìm 7/2/2010Huỳnh Văn Kha 12 7/2/2010 7 Tìm dãy mã không giải ñược • A 0 W 1 = abbcde W 0 = abb • W 1 = A 1 A 2 thêm W 2 vào W 0 • A 0 W 1 = abbcde W 0 W 2 = abbc • A 2 = W 2 A 3 thêm W 3 vào W 0 W 2 • A 0 W 1 = abbcde W 0 W 2 W 3 = abbcdeb • W 3 = A 3 A 4 thêm W 4 vào A 0 W 1 • A 0 W 1 W 4 = abbcdebad W 0 W 2 W 3 = abbcdeb • W 4 = A 4 A 5 thêm W 5 vào W 0 W 2 W 3 • A 0 W 1 W 4 = abbcdebad W 0 W 2 W 3 W 5 = abbcdebad 7/2/2010Huỳnh Văn Kha 13 • Chú ý: Ta thêm các W i vào các dãy ngắn hơn 7/2/2010Huỳnh Văn Kha 14 x 1 abc 010 x 2 abcd 0001 x 3 e 0110 x 4 dba 1100 x 5 bace 00011 x 6 ceac 00110 x 7 ceab 11110 x 8 eabd 101011 . W i vào các dãy ngắn hơn 7/2/2 010 Huỳnh Văn Kha 14 x 1 abc 010 x 2 abcd 00 01 x 3 e 011 0 x 4 dba 11 00 x 5 bace 00 011 x 6 ceac 0 011 0 x 7 ceab 11 110 x 8 eabd 10 1 011 . 7/2/2 010 1 Chương 2: Bài toán mã trường hợp kênh không bị nhiễu 2 .1 Tính giải được của một bộ mã Giới thiệu bài toán mã • Biến ngẫu nhiên X nhận các giá trị x 1 , x 2 , … , x M (gọi. bước 7/2/2 010 Huỳnh Văn Kha 5 Mã tiền tố và mã giải ñược • Bộ mã sau là bộ mã tiền tố • Bộ mã sau là giải được nhưng không là tiền tố 7/2/2 010 Huỳnh Văn Kha 6 x 1 0 x 2 10 0 x 3 10 1 x 4 11 x 1 0 x 2 01 7/2/2 010 4 Giải