Giáo trình: Lý thuyết thông tin.
Nhn tiếp 0 -> 00 -> Gii ra x1, còn li 0.
Nhn tiếp 0 -> 00 -> Gii ra x1, còn li 0.
Nhn tiếp 1 -> 01 -> Gii ra x2.
Nhn tiếp 01 -> Gii ra x2.
Nhn tiếp 00 -> Gii ra x1, còn li 0.
Nhn tiếp 1 -> 01 -> Gii ra x2.
Kết qu dãy thông báo là: x1x2x1x1x1x2x2x1x2.
Kết lun: Bng mã tách được là bng mã mà trong đó không tn li t mã này là mã khóa t
khác, tuy nhiên vn có th tn ti t mã này là tin t (phn đầu) ca t mã kia.
Khái nim bng mã tc thi
Bng mã tc thi là bng mã mà khi mã hóa thông báo Msg ta s nhn được dãy các tws, và
khi gii mã dãy các tws thì ta ch nhn được mt thông báo duy nht là Msg ban đầu.
Abramson đã chng minh được kết qu sau: Bng mã tc thi là bng mã không tn ti t
mã này là tin t ca t mã khác.
Ví d 1: Bng mã W={w1=10; w2=101; w3=100} không phi bng mã tc thi vì w1 là tin t ca
w2 và w3.
Ví d 2: Bng mã W={w1=0, w2=100, w3=101, w4=11} là bng mã tc thi vì không tn ti t
mã này là tin t ca t mã khác.
Gii thut kim tra tính tách được ca bng mã
Th tc sau đây do Sardinas (1960), Patterson (1963) và Abramson (1963) đưa ra nhm kim tra
xem mt bng mã nào đó có phi là bng mã tách được (bng mã cho phép gii mã duy nht) hay
không.
Input: Bng mã W
Output: Kết lun bng mã tách được hay không tách được.
Gii thut:
Bước khi to: Gán tp hp S0=W.
Bước 1: xác định tp hp S1 t S0:
- Khi to S1={}
- Vi wi, wj S0, ta xét: nếu wi=wjA (wj là tin t ca wi) hoc wj=wi A (wi là tin t
ca wj) thì thêm A (phn hu t) vào S1.
Bước k: xác định tp hp Sk (k2) t tp hp S0 và Sk-1:
- Khi to: Sk={}
- Vi wi S0 vj Sk-1, ta xét: nếu wi=vjA (vj là tin t ca wi) hoc vj=wi A (wi
tin t ca vj) thì thêm A (phn hu t) vào Sk.
Điu kin để dng vòng lp:
Nếu Sk={} thì dng và kết lun bng mã tách được (k1).
Nếu tn ti t mã wi trong Sk hay Sk S0 thì dng và kết lun bng mã không tách
được.
Nếu Sk=St<k thì dng và kết lun bng mã tách được (k1).
Bài toán 1- yêu cu
Biên son: TS. L ê Quy ết Thng, ThS. Phan Tn Tài & Ks. Dương Văn Hiếu. 33
Giáo trình: Lý thuyết thông tin.
Bài toán: Kim tra xem bng mã W={a, c, ad, abb, bad, deb, bbcde} có phi là bng mã tách
được hay không?
Áp dng Gii thut kim tra tính tách được ca mt bng mã:
Bước khi to: S0={a, c, ad, abb, bad, deb, bbcde}
Bước 1: Tính S1
Khi to S1={}
Vì a là tin t ca ad nên đưa phn hu t “d” vào S1 => S1={d}.
Vì a là tin t ca abb nên đưa phn hu t “bb” vào S1 => S1={d, bb}.
Kim tra điu kin dng: không tha -> qua bước 2.
Bước 2: Tính S2 t S0 và S1.
Khi to S2={}.
Vì d S1 là tin t ca deb S0 nên đưa phn hu t “eb” vào S2
=> S2={eb}
Vì bb S1 là tin t ca bbcde S0 nên đưa phn hu t “cde” vào S2
=> S2={eb, cde}
Kim tra điu kin dng: không tha -> qua bước 3.
Bài toán 1 - Áp dng gii thut
Bước 3: Tính S3 t S0 và S2.
Khi to S3={}.
Vì c S0 là tin t ca cde S2 nên đưa phn hu t “de” vào S3
=> S3={de}
Kim tra điu kin dng: không tha -> qua bước 4.
Bước 4: Tính S4 t S0 và S3.
Khi to S4={}.
Vì de S3 là tin t ca deb S0 nên đưa phn hu t “b” vào S4
=> S4={b}
Kim tra điu kin dng: không tha -> qua bước 5.
Bước 5: Tính S5 t S0 và S4.
+ khi to S5={}.
+ Vì b S4 là tin t ca bad S0 nên đưa phn hu t “ad” vào S5 => S5={ad}
+ Vì b S4 là tin t ca bbcde S0 nên đưa “bcde” vào S5
=> S5={ad, bcde}
Kim tra điu kin dng: Vì S5 có cha t mã ad nên dng li và kết lun đây là bng mã
không tách được.
Bài toán 2
Bài toán: Kim tra xem bng mã W={010, 0001, 0110, 1100, 00011, 00110, 11110, 101011} có
phi là bng mã tách được không?
Áp dng Gii thut kim tra tính tách được ca mt bng mã:
Bước khi to và bước 1
- Tp hp S0 ={010, 0001, 0110, 1100, 00011, 00110, 11110, 101011}
- Tp hp S1 ={1}
Dành cho sinh viên t làm các buc tiếp theo.
Kết qu gi ý:
Tp hp S2 ={100, 1110, 01011}
Tp hp S3={11}
Biên son: TS. L ê Quy ết Thng, ThS. Phan Tn Tài & Ks. Dương Văn Hiếu. 34
Giáo trình: Lý thuyết thông tin.
Tp hp S4={00, 110}
Tp hp S5={01, 0, 011, 110}
Tp hp S6={0, 10, 001, 110, 0011, 0110}
Tp hp S6 cha t mã 0110 nên bng mã này không phi là bng mã tách được.
Bài tp
1. Hãy cho biết bng mã sau có phi là bng mã tách được hay không?
W={w1=00, w2=01, w3=0010, w4=0111, w5=0110}
2. Hãy ly ví d mt bng mã tách được, và chng minh nó là bng mã tách được.
Biên son: TS. L ê Quy ết Thng, ThS. Phan Tn Tài & Ks. Dương Văn Hiếu. 35
Giáo trình: Lý thuyết thông tin.
BÀI 3.2: QUAN H GIA MÃ TÁCH ĐƯỢC VÀ ĐỘ DÀI
Mc tiêu
Sau khi hoàn tt bài hc này bn có th hiu:
- Định lý Kraft (1949),
- Định nghĩa cây bc D c K,
- Vn đề sinh mã cho cây bc D c K,
- Vn dng định lý Kraff để kim tra s tn ti bng mã tách được và sinh bng mã tách
được.
Định lý Kraftn(1949).
Gi X={x1, x2,…, xM} là biến ngu nhiên cha các giá tr cn truyn có phân phi là P={p1, p2,
…, pM}.
A={a1, a2,…,aD} là b ký t sinh mã có D ch cái (D được gi là cơ s sinh mã).
Giá tr xi được mã hóa thành t mã wiđộ dài là ni.
Đặt N={n1, n2,…,nM} là tp hp độ dài các t mã.
Định lý (Kraft- 1949):
Điu kin cn và đủ để tn ti bng mã tc thi vi độ dài N={n1,n2,…,nM} là
1
1
=
M
i
ni
D
Ví d 1: B mã W={w1, w2, w3} vi M=3; n1=1; n2=2; n3=3; D=2
1
8
7
2
1
2
1
2
1
321
1
<=++=
=
M
i
ni
D
=> Tn ti bng mã tc thi.
Ví d 2: B mã W={w1, w2, w3} vi M=3; n1=n2=1; n3=2; D=2
1
4
5
2
1
2
1
2
1
211
1
>=++=
=
M
i
ni
D
=> Không tn ti bng mã tc thi.
Đề ngh: sinh viên tìm hiu ni dung tiếp theo và tr li gii thích 2 ví d trên.
Định nghĩa cây bc D c k.
Định nghĩa: Cây bc D c k là cây có h thng nút, cnh tha điu kin:
- T 1 nút có s cnh đi ra không vượt quá D hay mt nút có không quá D nút con.
- Nút cui cùng (Nút lá) cách nút gc không vượt quá k cnh.
Biên son: TS. L ê Quy ết Thng, ThS. Phan Tn Tài & Ks. Dương Văn Hiếu. 36
Giáo trình: Lý thuyết thông tin.
Ví d: cây bc D=2 và c k=3
Vn đề sinh mã cho cây bc D c k
Sinh mã cho các nút ca cây bc D c K (tr nút gc):
Để đơn gin hóa: mi nút (tr nút gc) được ký hiu bi dãy ký hiu ca nút cha làm tin t +
mt ký t b sung ly t tp hp {0, 1, 2, …, D-1} thay cho bng ch cái A={a1, a2, …, aD}.
Ví d 1: Cây bc D=2 c k=3 Ví d 2: Cây bc D=3 c k=2.
000
001
010
011
100
101
110
111
00
01
10
11
0
1
00
01
02
10
11
12
20
21
22
0
1
2
Tính cht:
+ Các nút (tr nút gc) ca cây đều được mã hóa t bng ch cái {0, 1, 2,…, D-1}
+ Mi nút (đã mã hóa) có mã ca nút k trước là tin t.
+ Tng s các nút lá bng Dk = tng s các mã tc thi có th có.
Chng minh định lý Kraft (Điu kin cn)
Gi s, cho trước bng mã tc thi W={w1, w2,…, wM} vi N={n1 n2 nM}. Ta cn c/m:
1
1
=
M
i
ni
D
Xây dng cây bc D c nMsinh mã cho các nút tr nút gc vi các ký t mã ly t bng ch
cái A = {0, 1, 2,…, D-1}. Mã ti mi nút (tr nùt gc) đều có kh năng được chn là t mã.
Như vy, ta tiến hành chn các t mã cho bng mã tc thi vi qui tc là: mt nút nào đó được
chn để gán mt t mã thì tt c các nút k sau nút gán t mã phi được xóa. C th như sau:
Biên son: TS. L ê Quy ết Thng, ThS. Phan Tn Tài & Ks. Dương Văn Hiếu. 37