Bài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tinBài giảng: Lý thuyết thông tin
Trƣờng Đại Học Công Nghệ Thông Tin KHOA MẠNG & TRUYỀN THÔNG LÝ THUYẾT THÔNG TIN Bùi Văn Thành thanhbv@uit.edu.vn Tháng năm 2013 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƢƠNG LÝ THUYẾT MÃ MÃ HÓA NGUỒN CuuDuongThanCong.com https://fb.com/tailieudientucntt MÃ HÓA NGUỒN TIN Khái niệm mã điệu kiện thiết lập mã Điều kiện để mã phân tách đƣợc Mã thống kê tối ƣu Trƣơng Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt GIỚI THIỆU Trong hệ thống truyền tin, nguồn nhận thường tập hợp tin mà bên phát dùng để lập nên tin • Các tin thường ánh xạ (mã hóa) thành dạng biểu diễn khác thuận tiện để phát • Ví dụ: Xét nguồn tin A={a,b,c,d} thiết lặp cặp ánh xạ sau từ A vào tập chuỗi {0,1} a → 00 c → 10 b → 01 d → 11 Vậy để phát tin cbab, ta phải phát tập tin 10010001 Khi nguồn nhận nhận chuỗi này, xác định tin cbab Trƣơng Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt MÃ HIỆU VÀ NHỮNG THÔNG SỐ CƠ BẢN Mã hiệu (code): Mã hiệu tập hợp hữu hạn ký hiệu phép ánh xạ tin/bản tin nguồn tin thành dãy ký hiệu tương ứng Tập ký hiệu phép ánh xạ thường đáp ứng yêu cầu mà hệ thống truyền tin đặt • Cơ số mã: Tập ký hiệu mã dùng để biểu diễn gọi bảng ký hiệu mã, cịn số ký hiệu gọi số mã (m) Mã nhị phân m=2, mã tam phân m=3… Mã hóa (Encoding): Mã hóa trình dùng ký hiệu mã để biểu diễn tin nguồn • Biến đổi nguồi tin thành mã hiệu, biến đổi tập tin thành tập tin khác có đặc tính thống kê theo u cầu • Q trình ngược lại mã hóa gọi giải mã (Decoding) CuuDuongThanCong.com https://fb.com/tailieudientucntt MÃ HIỆU VÀ NHỮNG THÔNG SỐ CƠ BẢN Từ mã (code wod), mã: Từ mã chuỗi kí hiệu mã biểu diễn cho tin nguồn Tập tất từ mã tương ứng với tin nguồn gọi mã • Vì nói mã hóa phép biến đổi – một tin nguồn từ mã mã • Trong số trường hợp người ta khơng mã hóa tin nguồn mà mã hóa tin hay khối tin Lúc có khái niệm mã khối • Các từ mã thường ký hiệu: u,v,w Chiều dài từ mã số ký hiệu từ mã (l) Trƣơng Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt MÃ HIỆU VÀ NHỮNG THÔNG SỐ CƠ BẢN n p ( x i )l i • Chiều dài trung bình mã ( l ): l i p(xi): xác suất xuất tin xi nguồn U mã hóa n : số từ mã tương ứng số tin nguồn li : chiều dài từ mã tương ứng với tin xi nguồn Phân loại mã: • Một mã gọi mã từ mã mã có chiều dài • Một mã có số mã m , chiều dài từ mã l số lượng từ mã n với ml gọi mã đầy, ngược lại gọi mã vơi • Ví dụ: Cho bảng ký hiệu mã A={0,1}, mã X1 ={0,10,11} mã khơng đều, mã X2 ={00,10,11} mã vơi, cịn mã X3 Bằng-Lý Thuyết Thơng tin={00,01,10,11} mã Trƣơng vàHảiđầy bangth@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐIỀU KIỆN PHÂN TÁCH MÃ Ví dụ: • Xét mã X1= {0,10,11} mã hóa cho nguồn A = {a,b,c} • Giả sử bên phát phát tin x = abaac, lúc chuỗi từ mã tương ứng phát y = 0100011 • Vấn đề: bên nhận nhận y, tìm x? • Để làm q trình này, bên nhận phải thực trình gọi tách mã Với chuỗi ký hiệu y trên, bên nhận có khả tách mã: | 10 | | | 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐIỀU KIỆN PHÂN TÁCH MÃ (TT) • Xét mã X2= {0,10,01} mã hóa cho nguồn A • Giả sử bên nhận nhận chuỗi y = 01010 • Với chuỗi ký hiệu y trên, bên nhận có khả tách mã: | 10 | 10; 01 | | 10; 01 | 01 | Vì vậy, bên nhận khơng biết xác bên phát phát mẫu tin abb, hay cab, hay cca • Một mã khơng phù hợp cho việc tách mã gọi mã không tách (uniquely undecodable code) • Vì vậy, điều kiện để mã gọi mã phân tách (uniquely decodable code) không tồn dãy từ mã trùng với dãy từ mã khác mã CuuDuongThanCong.com https://fb.com/tailieudientucntt ĐIỀU KIỆN PHÂN TÁCH MÃ (TT) • Xét mã X3= {010,0101,10100} mã hóa cho nguồn A • Giả sử bên nhận nhận chuỗi y = 01010100101 • Với chuỗi ký hiệu y trên, bên nhận có khả tách mã: 0101 | 010 | 0101 Nhưng việc giải khó khăn so với mã X1 • Để nhận biết mã có phân tích khơng, người thường dùng công cụ gọi bảng thử mã 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt VÍ DỤ Xét biến ngẫu nhiên X={x1, x2, x3, x4} Có phân phối: P={1/2, 1/4, 1/8, 1/8} Có bảng mã W={w1= 0, w2=10, w3=110, w4=111} Ta tính độ dài trung bình từ mã: l = 1/2 * + 1/4 *2 + 1/8 * + 1/8 * = 1.75 Tính Entropy X: H(X)= H(0.5, 0.25, 0.125, 0.125) = 0.5 +0.5 + 0.375 + 0.375 =1.75 l = H(X) nên bảng mã W gọi mã thống kê tối ưu 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt HIỆU SUẤT LẬP MÃ • Hiệu suất lập mã h định nghĩa tỉ số entropy nguồn với chiều dài trung bình mã lập h H (X ) l • h tiến tới 1, tính kinh tế mã cao 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mã hóa Shanno Mã hóa Shanno • Cho nguồn tin X = {a1,…,ak} với xác suất tương ứng p1,…,pk • Thuật tốn mã hóa theo Shanno sau: • Sắp xếp xác suất theo thứ tự giảm dần • Định nghĩa q1=0, i qi p j, i=1,2,3, ,k Ở bước theo giả thiết p1 ≥… ≥ pk j • Đổi qi sang số 2, chuỗi nhị phân • Từ mã gán cho li ký hiệu lấy từ vị trí sau dấu phẩy chuỗi nhị phân tương ứng với qi • Trong li CuuDuongThanCong.com log pi https://fb.com/tailieudientucntt 21 Mã hóaVíShanno dụ • Hãy mã hóa nguồn S = {a1,a2,a3,a4,a5,a6} với xác suất tương ứng 0.3 ; 0.25 ; 0.2 ; 0.12 ; 0.08 ; 0.05 Tin Xác suất qi pi i p j j Biểu diễn nhị phân li log p i Từ mã wi a1 0.3 0,00 00 a2 0.25 0.3 0,01001… 01 a3 0.2 0.55 0,10001… 100 a4 0.12 0.75 0,11000… 1100 a5 0.08 0.87 0,11011… 1101 a6 0.05 0.95 0,111100… 11110 • H (S) = 2.36; l = 2.75; h = 2.36 / 2.75 = 85.82% CuuDuongThanCong.com Trƣơng Hải Bằng-Lý Thuyết Thơng tinbangth@uit.edu.vn https://fb.com/tailieudientucntt 22 Mã hóa Shanno Nhận xét • Việc xếp xác suất theo thứ tự giảm dần nhằm mục đích dẫn tới độ dài trung bình mã nhỏ • Phương pháp Shanno cho kết mã prefix (một mã khơng có từ mã phần đầu từ mã khác) • Phương pháp Shanno mở rộng cho trường hợp m>2 CuuDuongThanCong.com Trƣơng Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn https://fb.com/tailieudientucntt 23 Mã hóa Ví Shanno dụ • Hãy mã hóa nguồn S = {a1,a2,a3,a4,a5,a6,a7} với xác suất tương ứng 0.34 ; 0.23 ; 0.19 ; 0.10 ; 0.07 ; 0.06 ; 0.01 Tin Xác suất qi pi i p j j Biểu diễn nhị phân li log p i Từ mã wi a1 0.34 0,00 00 a2 0.23 0.34 0,010… 010 a3 0.19 0.57 0,100… 100 a4 0.10 0.76 0,1100… 1100 a5 0.07 0.86 0,1101… 1101 a6 0.06 0.93 0,11101… 11101 a7 0.01 0.99 0,1111110… 1111110 • H (S) = 2.37; l = 2.99; h = 2.37 / 2.99 = 81% CuuDuongThanCong.com Trƣơng Hải Bằng-Lý Thuyết Thơng tinbangth@uit.edu.vn https://fb.com/tailieudientucntt 24 Mã hóa Fano Mã hóa Fano • Cho nguồn tin X = {a1,…,ak} với xác suất tương ứng p1,…,pk • Thuật tốn mã hóa theo Fano sau: • Sắp xếp xác suất theo thứ tự giảm dần • Chia tin làm hai nhóm có xác suất xấp xỉ • Nhóm đầu lấy trị 0, nhóm sau lấy trị • Lặp lại bước tất nhóm cịn lại tin kết thúc • Từ mã ứng với tin chuỗi bao gồm kí hiệu theo thứ tự gán cho nhóm có chứa xác suất Trƣơng Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn tương ứng tin CuuDuongThanCong.com https://fb.com/tailieudientucntt 25 Mã hóa Fano Ví dụ • Hãy mã hóa nguồn S = {a1,a2,a3,a4,a5,a6} với xác suất tương ứng 0.3 ; 0.25 ; 0.2 ; 0.12 ; 0.08 ; 0.05 Tin Xác suất a1 Phân nhóm lần Từ mã 0.3 0 00 a2 0.25 01 a3 0.2 10 a4 0.12 1 a5 0.08 1 1110 a6 0.05 1 1 1111 110 • H (S) = 2.36; l = 2.38; h = 2.36 / 2.38 = 99.17% CuuDuongThanCong.com Trƣơng Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn https://fb.com/tailieudientucntt 26 Mã hóa Fano Ví,adụ • Hãy mã hóa nguồn S = {a1,a2,a3,a 5,a6,a7,a8} với xác suất tương ứng 0.23 ; 0.2 ; 0.14 ; 0.12 ; 0.1 ; 0.09 ; 0.06 ; 0.06 pi a1 0.23 0 a2 0.2 a3 0.14 a4 0.12 a5 0.1 a6 wi pi 00 a1 0.23 0 01 a2 0.2 010 100 a3 0.14 1 011 101 a4 0.12 0 100 1 0 1100 a5 0.1 1 101 0.09 1 1101 a6 0.09 1 110 a7 0.06 1 1110 a7 0.06 1 1110 a8 0.06 1 1 1111 a8 0.06 1 1 1111 • l1 = 2.88 CuuDuongThanCong.com wi 00 l = 2.89 Trƣơng Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn https://fb.com/tailieudientucntt 27 Nhận xét • Chú ý: Trong nhiều trường hợp có nhiều cách chia thành nhóm có tổng xác suất gần nhau, ứng với cách chia cho mã có chiều dài trung bình khác • Nhận xét: Phương pháp Fano thường cho kết tốt phương pháp Shanno Trƣơng Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt 28 Phƣơng pháp mã hóa tối ƣu Huffman • Bổ đề: Cho nguồn tin S = {a1,…,ak} với xác suất tương ứng p1,…,pk Gọi l1,…,lk chiều dài từ mã tương ứng với mã tối ưu cho S Nếu pi > pj li ≤ lj • Định lý 1: Trong mã tối ưu (m=2) cho nguồn tin, hai từ mã tương ứng với hai tin có xác suất nhỏ phải có chiều dài làm cho chúng khác bit cuối • Định lý 2: Xét nguồn S’ = {a’1,…,a’k-1} với xác suất tương ứng p’1,…,p’k-1 Trong p’i = pi với ≤ i ≤ k-2 p’k-1 = pk-1 + pk Nếu {w’1,…,w’k-1 } làm mã tối ưu cho S’ mã nhận theo qui tắc sau mã tối ưu cho S wi = w’i wk-1 = w’(k-1) +”0” wk = w’ 1+”1” CuuDuongThanCong.com ≤ i ≤ k-2 https://fb.com/tailieudientucntt 29 Phƣơng pháp mã hóa tối ƣu Huffman l Trƣơng Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt 30 Giải thuật mã hóa tối ƣu Huffman • B1: Sắp xếp xác suất theo thứ tự giảm dần p1 ≥…≥ pk • B2: Gán tới bit cuối wk -1và tới bit cuối wk ngược lại Quy ước theo chiều thứ • B3: Kết hợp pk pk-1 để tạo thành tập xác suất p1,…, pk-2, pk-1 + pk • B4: Lặp lại bước cho tập tin Trƣơng Hải Bằng-Lý Thuyết Thơng tinbangth@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt 31 Ví dụ • Hãy mã hóa nguồn S = {a1,a2,a3,a4,a5,a6} với xác suất tương ứng 0.3 ; 0.25 ; 0.2 ; 0.12 ; 0.08 ; 0.05 pi Lần Lần Lần Lần a1 0.3 0.3 0.3 0.45 0.55 a2 0.25 0.25 0.25 0.3 a3 0.2 0.2 0.25 a4 0.12 0.13 a5 0.08 a6 0.05 0.12 0.2 0.25 0.45 Wi 1 00 01 11 101 1000 1001 • H (S) = 2.36; l = 2.38; h = 2.36 / 2.38 = 99.17% CuuDuongThanCong.com https://fb.com/tailieudientucntt 32 Nhận xét • Trong trường hợp xác suất pk-1 + pk với xác suất pi đặt pk-1 + pk nằm nằm xác suất pi kết chiều dài trung bình không thay đổi cho dù từ mã kết khác • So sánh với phương pháp Fano ta thấy trường hợp hai phương pháp cho hiệu suất • Tuy nhiên, trường hợp tổng quát, phương pháp Fano phương pháp mã hóa tối ưu Trương Hải Bằng-Lý Thuyết Thông tinbangth@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt 33 ... Bằng -Lý Thuyết Thông tinbangth@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt GIỚI THIỆU Trong hệ thống truyền tin, nguồn nhận thường tập hợp tin mà bên phát dùng để lập nên tin. .. 00 c → 10 b → 01 d → 11 Vậy để phát tin cbab, ta phải phát tập tin 10010001 Khi nguồn nhận nhận chuỗi này, xác định tin cbab Trƣơng Hải Bằng -Lý Thuyết Thông tinbangth@uit.edu.vn CuuDuongThanCong.com... khơng mã hóa tin nguồn mà mã hóa tin hay khối tin Lúc có khái niệm mã khối • Các từ mã thường ký hiệu: u,v,w Chiều dài từ mã số ký hiệu từ mã (l) Trƣơng Hải Bằng -Lý Thuyết Thông tinbangth@uit.edu.vn