Bˇa`ng c´ach ´apdu.ng co... s khi khˆong c´o ma.ch d¯ˆo... d`ai bˇa`ng khˆong nhu.ng khˆong c´o ma.ch d¯ˆo... phˆan go.i l`a bˆo.. c´ai su.˙’ du.ng Code for Information Interchange cu˙’a
Trang 1
50
25
20
30
v3
v4
v5
v6
v7
•
•
•
•
•
H`ınh 3.2:
V´ı du 3.3.2 T`ım tˆo˙’ng ma trˆa.n A ⊕ B nˆe´u A =
0 1 2
2 0 3
5 6 0
0 3 4
5 0 4
3 1 0
.
Ta c´o
A ⊕ B =
0 1 2
2 0 3
5 6 0
+
0 3 4
5 0 4
3 1 0
=
0 1 2
2 0 3
3 1 0
.
V´ı du 3.3.3 T`ım tˆo˙’ng ma trˆa.n A ⊕ B nˆe´u A =
.
Ta c´o
A ⊕ B =
+
=
1 0 5
1 0 4
5 4 0
.
Bˆay gi`o ´ap du.ng tˆo˙’ng ma trˆa.n Hedetniemi v`ao viˆe.c t`ım d¯u.`o.ng d¯i ngˇa´n nhˆa´t X´et v´ı
Trang 2du trong H`ınh 3.2 K´y hiˆe.u W2 := W ⊕ W, W k := W k−1 ⊕ W, k ≥ 2 Khi d¯´o
Ch´u ´y rˇa`ng gi´a tri 55 l`a tˆo˙’ng cu˙’a 30, d¯ˆo d`ai cu˙’a d¯u.`o.ng d¯i ngˇa´n nhˆa´t v´o.i sˆo´ cung mˆo.t t`u
cung trˆen d¯u.`o.ng d¯i ngˇa´n nhˆa´t gi˜u.a hai d¯ı˙’nh Vˆa.y
trˆa.n Hedetniemi W n−1 l`a d¯ˆo d`ai cu˙’a d¯u.`o.ng d¯i ngˇa´n nhˆa´t gi˜u.a d¯ı˙’nh v i v`a v j
Trang 3D- iˆe` u l´y th´u nhˆa´t trong v´ı du n`ay l`a W4 = W8 Thˆa.t vˆa.y, d¯ˇa˙’ng th´u.c suy tru c tiˆe´p t`u.
qu´at ta c´o
W k−1 , c`on W k = W k+1 , th`ı W k biˆe˙’u thi tˆa.p c´ac d¯ˆo d`ai cu˙’a c´ac d¯u.`o.ng d¯i ngˇa´n nhˆa´t, v`a sˆo´ cung trˆen mˆo˜i d¯u.`o.ng d¯i ngˇa´n nhˆa´t khˆong vu.o t qu´a k.
Do d¯´o, thuˆa.t to´an n`ay c´o thˆe˙’ d`u.ng o.˙’ bu.´o.c lˇa.p th´u k < (n − 1) Du.´o.i d¯ˆay l`a d¯oa.n chu.o.ng tr`ınh minh ho.a t´ınh ma trˆa.n lu˜y th`u.a cu˙’a ma trˆa.n tro.ng lu.o ng W.
for (i = 1; i <= NumVertices; i++)
for (j = 1; j <= NumVertices; j++) Old[i][j] = w[i][j];
Trang 4if (Flag == TRUE) break;
}
}
w14(4) = w 1k(3)⊕ w k7
(0, 30, 55, 30, 60, 50, 70, 60, 40)
(∞, ∞, ∞, ∞, 25, 20, 0, 25, ∞).
V`ı gi´a tri nho˙’ nhˆa´t d¯a.t d¯u.o c ta.i k = 6 ´u.ng v´o.i 70 = 50 + 20 (v`a k = 7) nˆen d¯u.`o.ng d¯i ngˇa´n
(∞, ∞, ∞, 20, ∞, 0, 20, ∞, 20).
th`anh vector cˆo.t
(30, 40, 50, 0, 30, 20, ∞, ∞, ∞), v`a gi´a tri nho˙’ nhˆa´t d¯a.t ta.i k = 1 hoˇa.c k = 4 (´u.ng v´o.i 30 + 0 hoˇa.c 0 + 30) nˆen tˆo`n ta.i cung
d¯ˆo d`ai 30, 20, 20)
Do d¯´o thuˆa.t to´an Hedetniemi cho mˆo.t minh ho.a h`ınh ho.c trong mˆo˜i bu.´o.c lˇa.p, v`a su.˙’du.ng c´ac ma trˆa.n c´o thˆe˙’ phu.c hˆo`i d¯u.o c d¯u.`o.ng d¯i ngˇa´n nhˆa´t Nhu vˆa.y, ch´ung ta cˆa`n thˆem
mˆo.t ma trˆa.n P lu.u tr˜u thˆong tin cu˙’a c´ac d¯u.`o.ng d¯i ngˇa´n nhˆa´t Ma trˆa.n n`ay s˜e d¯u.o c cˆa.p
Trang 53.3.2 Thuˆ a.t to´an Floyd (tru.`o.ng ho p ma trˆa.n tro.ng lu.o ng tu`y ´y)
Thuˆa.t to´an du.´o.i d¯ˆay d¯u.o c d¯u.a ra lˆa`n d¯ˆa`u tiˆen bo.˙’i Floyd [25] v`a d¯u.o c l`am mi.n ho.n bo.˙’iMurchland [46]
2 k := k + 1.
hiˆe.n ph´ep g´an
Ch´u.ng minh t´ınh d¯´ung d¯ˇa´n cu˙’a thuˆa.t to´an Floyd l`a ho`an to`an d¯o.n gia˙’n [35], [25] v`ad`anh cho ngu.`o.i d¯o.c Ph´ep to´an co ba˙’n cu˙’a Phu.o.ng tr`ınh 3.3 trong thuˆa.t to´an n`ay go.i l`a
ph´ep to´an bˆo ba v`a c´o nhiˆe` u ´u.ng du.ng trong nh˜u.ng b`ai to´an tu.o.ng tu b`ai to´an t`ım d¯u.`o.ngd¯i ngˇa´n nhˆa´t (xem [14], [30])
C´ac d¯u.`o.ng d¯i ngˇa´n nhˆa´t c´o thˆe˙’ nhˆa.n d¯u.o c d¯ˆo`ng th`o.i c`ung v´o.i c´ac d¯ˆo d`ai d¯u.`o.ng d¯ingˇa´n nhˆa´t bˇa`ng c´ach su.˙’ du.ng quan hˆe d¯ˆe qui tu.o.ng tu Phu.o.ng tr`ınh 3.2 Bˇa`ng c´ach ´apdu.ng co chˆe´ cu˙’a Hu [35] d¯ˆe˙’ lu.u gi˜u thˆong tin c´ac d¯u.`o.ng d¯i ngˇa´n nhˆa´t c`ung v´o.i d¯ˆo d`ai cu˙’a
C`ung v´o.i viˆe.c biˆe´n d¯ˆo˙’i ma trˆa.n W theo Phu.o.ng tr`ınh 3.3 trong Bu.´o.c 3, ta biˆe´n d¯ˆo˙’i
P theo quy tˇa´c
θ ij :=
(
Kˆe´t th´uc thuˆa.t to´an, ma trˆa.n P thu d¯u.o c s˜e gi´up cho ta viˆe.c t`ım c´ac d¯u.`o.ng d¯i ngˇa´n nhˆa´t.
v i , v ν , , v γ , v β , v α , v j
Trang 6trong d¯´o v α = θ ij , v β = θ iα , v γ = θ iβ , , cho d¯ˆe´n khi v i = θ iν
du a v`ao ma trˆa.n d¯u.`o.ng d¯i P.
Thu˙’ tu.c Floyd() sau minh ho.a thuˆa.t to´an d¯˜a tr`ınh b`ay
int Weight[MAXVERTICES][MAXVERTICES], NewLabel;
byte Start, Terminal;
for (i = 1; i <= NumVertices; i++)
Trang 7Weight[i][j] = NewLabel;
Pred[i][j] = Pred[k][j];
}}
printf("Ton tai duong di tu %d", Start);
printf(" den %d", Terminal);
printf("\nDuong di qua cac dinh:");
Trang 83.4 Ph´ at hiˆ e.n ma.ch c´o d¯ˆo d`ai ˆam
nh˜u.ng trong ch´ınh b`ai to´an t`ım d¯u.`o.ng d¯i ngˇa´n nhˆa´t m`a c`on l`a mˆo.t bu.´o.c co ba˙’n trongnh˜u.ng thuˆa.t to´an kh´ac (xem Phˆa`n 3.4.1 v`a [14])
Ta biˆe´t rˇa`ng Thuˆa.t to´an Floyd t`ım d¯u.`o.ng d¯i ngˇa´n nhˆa´t gi˜u.a c´ac cˇa.p d¯ı˙’nh c´o thˆe˙’ ph´at
hiˆe.n c´ac ma.ch d¯ˆo d`ai ˆam trong d¯ˆo` thi Ho.n n˜u.a, nˆe´u d¯ˆo` thi ch´u.a mˆo.t d¯ı˙’nh s m`a c´o thˆe˙’ d¯ˆe´n
tˆa´t ca˙’ c´ac d¯ı˙’nh kh´ac t`u d¯´o, th`ı c´o thˆe˙’ ´ap du.ng Thuˆa.t to´an Ford-Moore-Bellman (t`ım tˆa´t ca˙’
c´ac d¯u.`o.ng d¯i ngˇa´n nhˆa´t xuˆa´t ph´at t`u d¯ı˙’nh s) d¯ˆe˙’ ph´at hiˆe.n c´ac ma.ch c´o d¯ˆo d`ai ˆam nhu d¯˜a thu c hiˆe.n trong Bu.´o.c 3 cu˙’a phˆa`n n`ay Nˆe´u tˆo`n ta.i d¯ı˙’nh khˆong thˆe˙’ d¯ˆe´n d¯u.o c t`u s (chˇa˙’ng ha.n, khi G l`a d¯ˆo` thi vˆo hu.´o.ng khˆong liˆen thˆong) th`ı Thuˆa.t to´an Ford-Moore-Bellman s˜e kˆe´t th´uc v`a chı˙’ c´ac d¯ı˙’nh c´o thˆe˙’ d¯ˆe´n d¯u.o c t`u s c´o nh˜an h˜u.u ha.n, c´ac d¯ı˙’nh kh´ac khˆong d¯ˆe´n d¯u.o c t`u s c´o nh˜an bˇa`ng ∞ Trong tru.`o.ng ho p n`ay c´o thˆe˙’ tˆo`n ta.i c´ac ma.ch c´o d¯ˆo d`ai ˆam trong
d¯ı˙’nh kh´ac, v`a do d¯´o v´o.i nh˜u.ng tru.`o.ng ho p nhu vˆa.y, d¯ˆe˙’ x´ac d¯i.nh su tˆo`n ta.i cu˙’a ma.ch d¯ˆo.d`ai ˆam, Thuˆa.t to´an Ford-Moore-Bellman s˜e cho ph´ep t´ınh to´an hiˆe.u qua˙’ ho.n Thuˆa.t to´anFloyd
C´ac nguyˆen tˇa´c kˆe´t th´uc cu˙’a Thuˆa.t to´an Ford-Moore-Bellman d¯u.o c tr`ınh b`ay d¯ˆe˙’ t´ınh
to´an ´ıt nhˆa´t c´ac d¯u.`o.ng d¯i ngˇa´n nhˆa´t t`u s khi khˆong c´o ma.ch d¯ˆo d`ai ˆam C´ac nguyˆen tˇa´c
n`ay c´o thˆe˙’ ca˙’i biˆen d¯ˆe˙’ ph´at hiˆe.n ma.ch d¯ˆo d`ai ˆam s´o.m ho.n nhu sau
thuˆa.t to´an tiˆe´p tu.c Bu.´o.c 3 nhu tru.´o.c Cˆa`n ch´u ´y rˇa`ng, ca˙’i tiˆe´n trˆen ch´ınh l`a gia˙’m nh˜u.ng
d¯u.o c x´ac d¯i.nh ngay khi n´o d¯u.o c ta.o ra v`a khˆong cˆa`n d¯o i kˆe´t th´uc thu˙’ tu.c
3.4.1 Ma.ch tˆo´i u.u trong d¯ˆo ` thi c´o hai tro.ng lu.o ng
Trang 9cu c d¯a.i) h`am mu.c tiˆeu
Chˇa˙’ng ha.n, x´et h`anh tr`ınh cu˙’a mˆo.t con t`au hay mˆo.t m´ay bay trˆen ma.ng giao thˆong
c´o hai tro.ng lu.o ng: Lˆa.p li.ch d¯ˆe˙’ t´ınh to´an song song, tˆo´i u.u d¯a mu.c tiˆeu trong xu.˙’ l´y cˆongnghiˆe.p
B`ai to´an t`ım mˆo.t ma.ch Φ trong d¯ˆo` thi c´o hai tro.ng lu.o ng d¯ˆe˙’ cu c tiˆe˙’u h`am mu.c tiˆeu
z(Φ) c´o thˆe˙’ gia˙’i quyˆe´t nh`o thuˆa.t to´an ph´at hiˆe.n c´ac ma.ch c´o d¯ˆo d`ai ˆam nhu sau Gia˙’ su.˙’
lu.o ng
w k
ij = w ij − z k b ij
ho p xa˙’y ra:
Tru.`o.ng ho p A Tˆo`n ta.i ma.ch c´o d¯ˆo d`ai ˆam Φ− sao cho
v´o.i mo.i ma.ch Φ.
Tru.`o.ng ho p C Tˆo`n ta.i ma.ch c´o d¯ˆo d`ai bˇa`ng khˆong (nhu.ng khˆong c´o ma.ch d¯ˆo d`ai ˆam);
Trang 10Trong Tru.`o.ng ho p A ch´ung ta c´o thˆe˙’ n´oi rˇa`ng z ∗ (gi´a tri cu c tiˆe˙’u cu˙’a z) nho˙’ ho.n z k v`ı
Do d¯´o thuˆa.t to´an t`ım kiˆe´m nhi phˆan d¯ˆe˙’ gia˙’i quyˆe´t b`ai to´an nhu sau: Kho.˙’i d¯ˆa`u v´o.i
Trang 11Trong chu.o.ng n`ay, tru.´o.c hˆe´t s˜e nghiˆen c´u.u cˆay Huffman v`a nh˜u.ng ´u.ng du.ng cu˙’a n´o
trong viˆe.c n´en d˜u liˆe.u Kˆe´ tiˆe´p ch´ung ta x´et tr`ınh b`ay c´ac thuˆa.t to´an t`ım cˆay bao tr`um, cˆaybao tr`um c´o tro.ng lu.o ng nho˙’ nhˆa´t khi c´ac ca.nh cu˙’a d¯ˆo` thi d¯u.o c gˇa´n v´o.i c´ac chi ph´ı (tro.ng
d¯u.`o.ng dˆa˜n (ˆo´ng dˆa˜n ga, dˆay dˆa˜n trong ma.ng d¯iˆe.n, v.v) d¯u.o c su.˙’ du.ng d¯ˆe˙’ nˆo´i n d¯iˆe˙’m v´o.i nhau theo c´ach tˆo´t nhˆa´t: tˆo˙’ng khoa˙’ng c´ach cu˙’a c´ac d¯u.`o.ng dˆa˜n l`a nho˙’ nhˆa´t Nˆe´u n d¯iˆe˙’m
d¯u.o c nˆo´i v´o.i nhau trˆen mˆo.t mˇa.t phˇa˙’ng, ta c´o thˆe˙’ biˆe˙’u diˆe˜n bo.˙’i mˆo.t d¯ˆo` thi d¯ˆa`y d¯u˙’ trong d¯´oc´ac chi ph´ı ca.nh l`a khoa˙’ng c´ach gi˜u.a hai d¯iˆe˙’m tu.o.ng ´u.ng Khi d¯´o cˆay bao tr`um v´o.i tro.ng
lu.o ng nho˙’ nhˆa´t s˜e cho ma.ng giao thˆong v´o.i chi ph´ı ´ıt nhˆa´t Nˆe´u c´o thˆe˙’ nˆo´i thˆem ngo`ai n
d¯iˆe˙’m cho ph´ep, ta c´o thˆe˙’ thˆa.m ch´ı xˆay du ng d¯u.o c ma.ng v´o.i ch´ı ph´ı re˙’ ho.n v`a x´ac d¯i.nh n´o
Trang 12H`ınh 4.1 minh ho.a cˆay c´o ba˙’y d¯ı˙’nh v`a s´au ca.nh.
v1
v2
v3
v4
v5
v6
v7
•
•
•
•
•
•
•
Kirchhoff [37] khi liˆen hˆe v´o.i d¯i.nh ngh˜ıa c´ac ma.ch co ba˙’n d¯u.o c su.˙’ du.ng trong phˆan t´ıch c´ac ma.ng d¯iˆe.n Khoa˙’ng 10 nˇam sau d¯´o, mˆo.t c´ach d¯ˆo.c lˆa.p, Cayley [11] d¯˜a ph´at hiˆe.n la.i c´ac cˆay v`a nh˜u.ng t´ıch chˆa´t cu˙’a n´o khi nghiˆen c´u.u c´ac t´ınh chˆa´t ho´a ho.c cu˙’a c´ac chˆa´t d¯ˆo`ng phˆan cu˙’a hydrocarbon
Cˆay c´o gˆo´c (c`on go.i l`a cˆay gia pha˙’) d¯u.o c d¯i.nh ngh˜ıa tu.o.ng tu nhu sau:
bˇa`ng khˆong; n´oi c´ach kh´ac, mo.i d¯ı˙’nh v ∈ T tˆo`n ta.i duy nhˆa´t mˆo.t d¯u.`o.ng d¯i t`u gˆo´c d¯ˆe´n v.
cung)
c´o gˆo´c ta thu d¯u.o c mˆo.t cˆay
Cˆay gia pha˙’ m`a trong d¯´o mˆo˜i ngu.`o.i d¯`an ˆong biˆe˙’u thi mˆo.t d¯ı˙’nh v`a c´ac cung d¯u.o c v˜e t`u c´ac cha d¯ˆe´n c´ac con cu˙’a ho l`a mˆo.t v´ı du quen thuˆo.c cu˙’a cˆay c´o gˆo´c, gˆo´c cu˙’a cˆay l`a ngu.`o.i
Trang 13
.
.
.
.
.
.
v1
v6
v7
v8
v9
v10
v11
•
4.2 Cˆ ay Huffman
Tiˆe´n tr`ınh g´an d˜ay c´ac bit cho c´ac k´y hiˆe.u go.i l`a m˜a ho´a Trong phˆa`n n`ay ch´ung ta mˆo.t ta˙’ mˆo.t thuˆa.t to´an m˜a ho´a rˆa´t quen thuˆo.c-thuˆa.t to´an m˜a ho´a Huffman.
4.2.1 C´ ac bˆ o m˜a “tˆo´t”
Tˆa.p c´ac chuˆo˜i nhi phˆan go.i l`a bˆo m˜a v`a c´ac phˆa`n tu.˙’ cu˙’a ch´ung go.i l`a t`u m˜a Mˆo.t ba˙’ng ch˜u c´ai l`a mˆo.t tˆa.p ho p c´ac k´y hiˆe.u, go.i l`a c´ac k´y tu Chˇa˙’ng ha.n, ba˙’ng ch˜u c´ai su.˙’ du.ng
Code for Information Interchange cu˙’a k´y tu A l`a 01000001, cu˙’a k´y tu a l`a 01100001 v`a k´y
tu , l`a 0011010 Ch´u ´y rˇa`ng trong m˜a ASCII sˆo´ c´ac bit su.˙’ du.ng d¯ˆe˙’ biˆe˙’u diˆe˜n c´ac k´y tu l`a
bˇa`ng nhau M˜a nhu vˆa.y go.i l`a m˜a c´o d¯ˆo d`ai cˆo´ d¯i.nh Nˆe´u ta muˆo´n gia˙’m sˆo´ c´ac bit d¯`oi ho˙’i
chung) khˆong bˇa`ng nhau Nˆe´u biˆe˙’u diˆe˜n c´ac bit d`ai ho.n cho c´ac k´y tu thu.`o.ng xuyˆen xuˆa´t
ha.n, m˜a Morse [31] su.˙’ du.ng c´ac t`u m˜a ngˇa´n ho.n cho c´ac k´y tu xuˆa´t hiˆe.n thu.`o.ng xuyˆen:
m˜a cu˙’a cu˙’a a l`a ·−, cu˙’a e l`a ·, trong khi cu˙’a z l`a − − · · · · , q l`a − − ·−, j l`a · − − −
Tuy nhiˆen d¯ˆo d`ai trung b`ınh cu˙’a m˜a khˆong pha˙’i l`a tiˆeu chuˆa˙’n quan tro.ng khi thiˆe´t kˆe´
Trang 14mˆo.t bˆo m˜a “tˆo´t” X´et v´ı du sau Gia˙’ su.˙’ ba˙’ng ch˜u c´ai gˆo`m bˆo´n k´y tu a1, a2, a3, a4 v´o.i c´ac
2, P (a2) = 1
4, P (a3) = 1
8, P (a4) = 1
8 Entropy cu˙’a
l =
4
X
i=1
mˆo˜i k´y hiˆe.u d¯u.o c g´an duy nhˆa´t mˆo.t t`u m˜a
th`ı d˜ay n`ay c´o thˆe˙’ d¯u.o c gia˙’i m˜a khˆong tr`ung v´o.i thˆong b´ao ban d¯ˆa`u N´oi chung, d¯ˆay khˆong
m˜a duy nhˆa´t; t´u.c l`a mo.i d˜ay c´ac t`u m˜a chı˙’ c´o duy nhˆa´t mˆo.t c´ach gia˙’i m˜a C´o thˆe˙’ ch´u.ng
Mˇa.c d`u viˆe.c kiˆe˙’m tra t´ınh duy nhˆa´t khi gia˙’i m˜a l`a kh´o, ta c´o thˆe˙’ ch´u.ng minh t´ınh
´u.ng v´o.i bˆo m˜a Cˆay d¯u.o c v˜e xuˆa´t ph´at t`u mˆo.t n´ut d¯o.n (n´ut gˆo´c) v`a mˆo˜i n´ut trong c´o bˆa.c
ngo`ai nho˙’ ho.n hoˇa.c bˇa`ng hai Mˆo.t trong hai nh´anh con tu.o.ng ´u.ng bit 1 v`a nh´anh c`on la.i
Trang 15tu.o.ng ´u.ng bit 0 D- ˆe˙’ thuˆa.t tiˆe.n, ta quy u.´o.c nh´anh con bˆen pha˙’i tu.o.ng ´u.ng 0 v`a nh´anh con
1 1 0 0 a1 a2 a •3 a4 • • • • M˜a C2
. 1 0 1 0 1 0 • • • • • • • a1 a2 a3 a4 M˜a C3
.
1 0 0 0
•
•
•
•
•
a1
a2
a3
a4
H`ınh 4.3:
Ch´u ´y rˇa`ng ngo`ai n´ut gˆo´c, cˆay nhi phˆan c´o hai loa.i n´ut: c´ac n´ut l´a c´o bˆa.c ngo`ai bˇa`ng
Duyˆe.t cˆay t`u gˆo´c d¯ˆe´n c´ac n´ut l´a cho ta biˆe˙’u diˆe˜n chuˆo˜i bit tu.o.ng ´u.ng k´y hiˆe.u Mˆo˜i nh´anh d¯´ong g´op mˆo.t bit v`ao t`u m˜a cu˙’a n´o: bit 1 cho nh´anh tr´ai v`a bit 0 cho nh´anh pha˙’i
M˜a Huffman l`a m˜a tiˆe` n tˆo´ v`a tˆo´i u.u v´o.i c´ac x´ac xuˆa´t cho tru.´o.c Phu.o.ng ph´ap xˆay du ng m˜a Huffman du a trˆen hai quan s´at sau:
1 Trong mˆo.t bˆo m˜a tˆo´t u.u, c´ac k´y hiˆe.u xuˆa´t hiˆe.n thu.`o.ng xuyˆen (c´o x´ac suˆa´t hay tˆa`n sˆo´ xuˆa´t hiˆe.n l´o.n) s˜e c´o c´ac t`u m˜a ngˇa´n ho.n c´ac k´y hiˆe.u ´ıt xuˆa´t hiˆe.n
2 Trong mˆo.t bˆo m˜a tˆo´t u.u, hai k´y hiˆe.u xuˆa´t hiˆe.n ´ıt nhˆa´t s˜e c´o c´ac t`u m˜a c`ung d¯ˆo d`ai
tu.o.ng ´u.ng c´ac k´y hiˆe.u Duyˆe.t cˆay nhi phˆan s˜e cho ta c´ac t`u m˜a cu˙’a bˆo m˜a: xuˆa´t ph´at t`u
Trang 16n´ut gˆo´c v`a d¯i d¯ˆe´n c´ac n´ut l´a, thˆem bit 1 v`ao t`u m˜a mˆo˜i lˆa` n qua nh´anh tr´ai v`a bit 0 mˆo˜i lˆa` n qua nh´anh pha˙’i V´o.i cˆay trong H`ınh 4.4, ta c´o biˆe˙’u diˆe˜n c´ac k´y tu qua c´ac t`u m˜a nhu sau:
1 1 1 1
0 0 0 0
A
R O
•
•
•
•
•
•
•
•
•
H`ınh 4.4:
khi gˇa.p k´y tu : d¯i theo nh´anh tr´ai nˆe´u d¯´o l`a bit 1, ngu.o c la.i d¯i theo nh´anh pha˙’i Chˇa˙’ng ha.n, chuˆo˜i bit
01010111
tu.o.ng ´u.ng t`u RAT V´o.i mˆo.t cˆay x´ac d¯i.nh m˜a Huffman nhu H`ınh 4.4, chuˆo˜i bit bˆa´t k`y d¯u.o c
gia˙’i m˜a duy nhˆa´t mˇa.c d`u c´ac k´y tu tu.o.ng ´u.ng v´o.i nh˜u.ng chuˆo˜i bit c´o d¯ˆo d`ai thay d¯ˆo˙’i Huffman d¯˜a chı˙’ ra thuˆa.t to´an xˆay du ng m˜a Huffman t`u ba˙’ng c´ac tˆa`n sˆo´ xuˆa´t hiˆe.n cu˙’a c´ac k´y tu nhu sau:
Trang 172 Nˆe´u n = 2 (gia˙’ su.˙’ f1 ≤ f2), xuˆa´t cˆay nhu trong H`ınh 4.5 v`a d`u.ng.
f1 f2 1 0 • • • H`ınh 4.5: 3 Gia˙’ su.˙’ f v`a f 0 l`a hai tˆa` n sˆo´ nho˙’ nhˆa´t v`a f ≤ f 0 Ta.o mˆo.t danh s´ach tˆa`n sˆo´ m´o.i bˇa`ng c´ach thay f v`a f 0 bo.˙’i f + f 0 Go.i thuˆa.t to´an n`ay su.˙’ du.ng danh s´ach tˆa`n sˆo´ m´o.i d¯ˆe˙’ ta.o cˆay T 0 Thay d¯ı˙’nh d¯u.o c g´an nh˜an f + f 0 d¯ˆe˙’ nhˆa.n d¯u.o c cˆay T trong H`ınh 4.6 Xuˆa´t T.
•
•
•
H`ınh 4.6:
V´ı du 4.2.1 Cho ba˙’ng tˆa`n sˆo´
Khi d¯´o cˆay Huffman tu.o.ng ´u.ng cho trong H`ınh 4.7
4.3 Cˆ ay bao tr` um
Ch´ung ta d¯˜a nghiˆen c´u.u riˆeng biˆe.t c´ac t´ınh chˆa´t cu˙’a mˆo.t cˆay, trong mu.c n`ay ch´ung ta s˜e nghiˆen c´u.u cˆay khi gˇa´n n´o nhu mˆo.t d¯ˆo` thi con cu˙’a mˆo.t d¯ˆo` thi kh´ac Ch´ung ta biˆe´t rˇa`ng