You are on page 1of 143

C s mng thng tin

Gio trnh dnh cho sinh vin i hc ngnh in t - Vin thng


Khoa in t Vin Thng Trng i hc Bch khoa H ni

Cc t vit tt
FAS IEEE ITU MFAS PDF pdf TDMA Frame Alignment Signal Institute of Electronics Electrical Engineering International Union and

Telecommunication

Multi-Frame Alignment Signal Probability Density Function probability distribution function Time Division Multiple Access

Bng i chiu thut ng Anh - Vit


Ting Vit Ting Anh

Bng tn thng di Bng tn c s Trm gc Knh Va p Cuc ni M ho iu khin li Mt ph nng lng Khung p ng tn s Giao thoa gia cc k t a khung a truy nhp B ghp knh, b hp knh Hiu ng xa - gn Kt ni, lin kt u thu, phn thu u thu, phn thu, ch M ho ngun Ghp knh phn chia theo thi gian B pht, khi pht

Band Pass Baseband Base Station Channel Collision Connection Error Control Coding Energy Spectral Density Frame Frequency Response Intersymbol Interference Multi-frame Multiple Access Multiplexer Near Far Effect Link Sender Sink Source Coding Time Division Multiplexing Transmitter

Mc lc
Cc t vit tt ___________________________________________________________________ 2 Bng i chiu thut ng Anh - Vit ___________________________________________________ 3 Mc lc________________________________________________________________________ 4 Mc lc hnh v__________________________________________________________________ 6 Mc lc bng biu ________________________________________________________________ 7 Chng 1 Gii thiu ______________________________________________________________ 1
1.1. Mc ch ca vic m hnh ha v nh gi c tnh hot ng ca h thng _________________________ 1 1.2. Cc khi nim c bn trong h thng thong tin ________________________________________________ 1 1.3. Cc bc v phng php nh gi mt mng thng tin _________________________________________ 1
1.3.1. o c, thu tp k qu thng k ____________________________________________________________________1 1.3.2. M hnh ha ton hc ____________________________________________________________________________1 1.3.3. M phng _____________________________________________________________________________________1

1.4. Cc cng c phc v cho vic nh gi cht lng hot ng ca mng _____________________________ 1

Chng 2 Hng i Cc h thng thi gian lin tc_______________________________________ 2


2.1. Gii thiu l thuyt hng i _____________________________________________________________ 2
2.1.1. Hng i v c im ____________________________________________________________________________2 2.1.2. Cc tham s hiu nng trung bnh___________________________________________________________________5

2.2. Nhc li cc khi nim thng k c bn ____________________________________________________ 10


2.2.1. Tin trnh im ________________________________________________________________________________10 2.2.2. Tin trnh Poisson ______________________________________________________________________________12

2.3. nh lut Little ______________________________________________________________________ 14


2.3.1. Cng thc Little _______________________________________________________________________________14 2.3.2. Chng minh cng thc Little _____________________________________________________________________15

2.4. Cc m hnh hng i _________________________________________________________________ 16


2.4.1. K hiu Kendall _______________________________________________________________________________16 2.4.2. Qu trnh Sinh-T (Birth-Death)___________________________________________________________________17 2.4.3. Hng i M/M/1_______________________________________________________________________________17 2.4.4. Hng i M/M/1/K_____________________________________________________________________________20 2.4.5. Hng i M/M/C ______________________________________________________________________________20

2.5. L thuyt lu lng___________________________________________________________________ 21


2.5.1. Khi nim v lu lng v n v Erlang ____________________________________________________________21 2.5.2. H thng tn tht (Loss System) v cng thc Erlang B_________________________________________________24 2.5.3. H thng tr (Delay) v cng thc Erlang C __________________________________________________________27

2.6. H thng hng i c u tin ____________________________________________________________ 29


2.6.1. Qui tc v t chc hng i_______________________________________________________________________29 2.6.2. u tin ca khch hng trong hng i u tin _____________________________________________________32 2.6.3. Duy tr qui tc hng i, lut Kleinrock _____________________________________________________________33 2.6.4. Mt s hng i n server_______________________________________________________________________34 2.6.5. Kt lun______________________________________________________________________________________34

2.7. Bi tp (Pending)_____________________________________________________________________ 35

Chng 3 Mng hng i__________________________________________________________ 36


3.1. Mng ni tip _______________________________________________________________________ 36
4

Chng 4 nh tuyn trong mng thng tin _____________________________________________ 37


4.1. Yu cu v nh tuyn trong mng thng tin_________________________________________________ 37
4.1.1. Vai tr ca nh tuyn trong mng thng tin__________________________________________________________37 4.1.2. Cc khi nim trong l thuyt graph ________________________________________________________________37

4.2. Cc m hnh nh tuyn qung b (broadcast routing)__________________________________________ 39


4.2.1. Lan trn gi (flooding) __________________________________________________________________________39 4.2.2. nh tuyn bc ngu nhin (random walk) __________________________________________________________40 4.2.3. nh tuyn khoai ty nng (hot potato)______________________________________________________________40 4.2.4. nh tuyn ngun (source routing) v m hnh cy (spanning tree) ________________________________________41 4.2.5. Duyt cy ____________________________________________________________________________________41

4.3. Cc m hnh nh tuyn thng dng_______________________________________________________ 62


4.3.1. nh tuyn ngn nht (Shortest path Routing) ________________________________________________________62

4.4. Bi tp (Pending)_____________________________________________________________________ 84

Chng 5 iu khin lung v chng tc nghn__________________________________________ 85


5.1. Tng quan __________________________________________________________________________ 85
5.1.1. M u ______________________________________________________________________________________85 5.1.2. Khi nim iu khin lung ______________________________________________________________________88 5.1.3. Khi nim chng tc nghn_______________________________________________________________________89 5.1.4. Nhim v ch yu ca iu khin lung v chng tc nghn _____________________________________________89 5.1.5. Phn loi iu khin lung v trnh tc nghn ________________________________________________________90

5.2. Tnh cng bng ______________________________________________________________________ 91


5.2.1. nh ngha ___________________________________________________________________________________91 5.2.2. Tnh cng bng v mt bng truyn ________________________________________________________________91 5.2.3. Tnh cng bng v mt b m____________________________________________________________________91 5.2.4. C ch pht li ARQ____________________________________________________________________________93 5.2.5. Stop-and-Wait ARQ ____________________________________________________________________________94 5.2.6. Go-back-N ARQ______________________________________________________________________________100 5.2.7. Selective repeat ARQ __________________________________________________________________________107

5.3. iu khin lung v trnh tc nghn theo phng php ca s __________________________________ 109
5.3.1. iu khin lung theo ca s (Window Flow Control)_________________________________________________110 5.3.2. iu khin tc nghn s dng ca s thch ng (adaptive window) _______________________________________115

5.4. iu khin lung v chng tc nghn da trn bng thng (rate-based flow control) __________________ 120
5.4.1. Khi nim ___________________________________________________________________________________120 5.4.2. iu khin bng thng theo thut ton go r (leaky bucket) ____________________________________________121 5.4.3. Thut ton GPS (pending)_______________________________________________________________________125

5.5. Bi tp (Pending)____________________________________________________________________ 126

Chng 6 K thut m phng______________________________________________________ 127


6.1. Gii thiu _________________________________________________________________________ 127 6.2. M phng da trn cc s kin ri rc v cc cng c_________________________________________ 127
6.2.1. Phng php m phng da trn s kin ri rc______________________________________________________127 6.2.2. Cc cng c m phng thng dng da trn s kin ri rc _____________________________________________130

6.3. Cng c m phng mng NS2 __________________________________________________________ 131


6.3.1. Cu trc_____________________________________________________________________________________131 6.3.2. Cc tin ch trong NS h tr cho m phng mng [Pending] ____________________________________________133 6.3.3. Th d (Pending) ______________________________________________________________________________133

6.4. Kt lun (Pending)___________________________________________________________________ 133 6.5. Bi tp (Pending)____________________________________________________________________ 133

Ti liu tham kho ______________________________________________________________ 135 Ph lc 1_____________________________________________________________________ 136

Mc lc hnh v
Hnh 1-1 ng truyn, kt ni v cuc ni <Caption>Error! Bookmark not defined. Hnh 1-2 Ghp knh v a truy nhpError! Bookmark not defined.

Mc lc bng biu
Bng 1-1. rng bng tn ca mt s tn hiu c bn <Caption> Error! Bookmark not defined.

Chng 1 Gii thiu


1.1. Mc ch ca vic m hnh ha v nh gi c tnh hot ng ca h thng

1.2. Cc khi nim c bn trong h thng thong tin

1.3. Cc bc v phng php nh gi mt mng thng tin 1.3.1. o c, thu tp k qu thng k

1.3.2. M hnh ha ton hc

1.3.3. M phng

1.4. Cc cng c phc v cho vic nh gi cht lng hot ng ca mng

Chng 2 Hng i Cc h
thng thi gian lin tc
2.1. Gii thiu l thuyt hng i 2.1.1. Hng i v c im Trong bt c mt h thng no th khch hng i n cc im cung cp dch v v ri khi h thng khi dch v c cung cp.
V d:

Cc h thng in thoi: khi s lng ln khch hng quay s kt ni n mt trong nhng ng ra hu hn ca tng i. Trong mng my tnh: khi m gi tin c chuyn t ngun ti ch v i qua mt s lng cc nt trung gian. H thng hng i xut hin ti mi nt qu trnh lu tm thng tin ti b m. H thng my tnh: khi cc cng vic tnh ton v tuyn lm vic ca h thng yu cu dch v t b x l trung tm v t cc ngun khc. Nhng tnh hung ny c din t bng hnh v sau:

Hnh 2-1 M hnh chung ca h thng hng i


n n n n

Ngi ta m t tin trnh n v tin trnh phc v nh th no? H thng c bao nhiu server? C bao nhiu v tr i trong hng i? C bt k quy tc ni b c bit no khng (yu cu dch v, mc u tin, h thng cn ri khng)?

c im ca h thng hng i
Miu t ca tin trnh n (phn b khong thi gian n) Miu t ca tin trnh phc v (phn b thi gian phc v) S lng server S lng cc v tr i Cc quy tc hng i c bit:
2

n n n n

Quy tc phc v (FCFS, LCFS, RANDOM) Thi gian ri (phn b thi gian ri, khi m thi gian ri bt u ) Mc u tin Nhng lut khc S kt hp gia cc hng i Chin lc nh tuyn: Xc nh (Deterministic) Da vo mt lp Thng k X l nghn mng (khi b m ti ch b y) S lng khch hng b suy gim Hng i gc b nghn Ti nh tuyn

Vi mt mng c th ca hng i gm c cc thng tin sau:


n n

Chng ta s xem xt v d v cc mng hng i n gin khc

S
Hnh 2-2: V d v mng hng i m

Hnh 2-3 V d v mng hng i ng


3

Phn tch h thng hng i hoc mng hng i bao gm:


n n n

Phn tch gii tch Qu trnh m phng C hai phng php trn

Kt qu gii tch t c:
n n

Yu cu t tnh ton a ra kt qu chnh xc (khng xy ra li xc sut)

Nhng kt qu thu c (cc thng s dch v) c chia thnh hai nhm ln:
n n

Dnh cho ngi s dng Dnh cho cc nh cung cp phc v Tr hng i Tng tr (bao gm tr hng i v tr phc v ) S lng khch hng trong hng i S lng khch hng trong h thng (gm khch hng ch v khch hng ang c phc v ) Xc sut nghn mng (khi kch thc b m hu hn) Xc sut ch phc v Kh nng s dng server Kh nng s dng b m Li ch thu c (thng s dch v v cc xem xt v kinh t) Li ch b mt (thng s dch v v cc xem xt v kinh t) Cht lng dch v (QoS): Tn tht (PDF, mean) Tr (PDF, mean) Jitter (PDF, mean)

Thng s quan trng cho ngi s dng:


n n n n

n n

Thng s quan trng cho cc nh cung cp dch v:


n n n n

p ng nhu cu ca ngi s dng


n n n n

a ra cc thng s trn thu c:


n n n

Hm phn b xc sut Cc gi tr trung bnh o c cc thi im cc i, cc tiu

Cc hm phn b xc sut cha ng y cc thng tin lin quan n cc thng s quan tm. Tuy nhin, vic thit lp c cc hm ny l kh thc hin. Phn tch h thng hng i c chia thnh:
n n

Phn tch thi gian ngn (da trn mt thi im nht nh) Phn tch trong mt khong thi gian (trng thi n nh) (da trn tham s v hn) o c nhiu thng s thng k: mean-mean, moments, transform, pdf Phn tch thi gian ngn s dng cho cc trong hp n gin- s dng cc phng php m phng hay xp x Vic phn tch chnh xc khng th cho p dng cho qu trnh n nh- s dng cc phng php xp x, nu khng th dng cc phng php m phng.

Cu trc logic ca phn tch h thng hng i


n

Tip theo chng ta s c cc kt lun sau:


Kt lun chung: cc gi thit lin quan n c tnh v cu trc

ca h thng hng i t c kt qu chnh xc t nht l cho cc thng s hiu nng trung bnh vi iu kin n nh. 2.1.2. Cc tham s hiu nng trung bnh

V d v h thng hng i n gin

Hnh 2-4 H thng hng i n gin - tc n trung bnh , thi gian n trung bnh -1/ - tc phc v trung bnh, thi gian phc v trung bnh 1/
Vi kch thc ca b m l v hn, quy tc phc v l FCFS (n trc phc v trc ) Xt khong thi gian t, v xt nhng s kin n trong khong thi gian ny:
5

Hnh 2-5. Cc s kin n trong thi gian t


S kin A: C 1 s kin n trong t S kin B: khng c s kin n trong t S kin C: C nhiu hn 1 s kin n trong t Gi s rng t 0. Nh vy ta s c: - Pr{A}= t - Pr{B}= 1- t - Gi thit P{C}= 0, vi 1/ l khong thi gian n trung bnh (thc t c phn b theo hm m ca tin trnh n Poisson). Xt khong thi gian t v xt nhng s kin i trong khong thi gian ny

Hnh 2-6: Cc s kin i trong thi gian t


S kin A: C 1 s kin i trong t S kin B: khng c s kin i no trong t S kin C: C nhiu hn 1 s kin i trong t Gi s rng t 0. Nh vy ta s c:

Pr{A}= t
6

Pr{B}= 1- t
Gi thit Pr{C}= 0, vi 1/ l thi gian phc v trung bnh (thc t c phn b theo hm m.

D l s kin ca 1 hoc nhiu s n AND vi s kin ca 1 hoc nhiu s i trong khong t


Gi s Pr{D}=0, (2-1) Thc ra, n ch ra rng khi t nh, s kin nhn (va i va n) l khng xy ra. Ngoi cc gi thit trn v c tnh ca tin trnh n v tin trnh phc v, cn c thm cc gi thit sau:
n n n n

Tin trnh n l tin trnh Poisson vi tham s Khong thi gian n phn b theo hm m vi tham s 1/ Thi gian phc v phn b theo hm m vi tham s 1/ Tin trnh n l c lp vi tin trnh phc v v ngc li

phn tch h thng hng i cn hiu khi nim Trng thi h thng. C th nh ngha thng qua bin thch hp m t S pht trin theo thi gian ca h thng hng i. thun tin cho h thng hng i bin c chn s l s khch hng trong h thng ti thi im t. Trng thi h thng ti t = N(t)= S lng khch hng ti thi im t (2-2) Tc l : vi

pN(t)=Pr{N(t)=N}

(2-3)

pN(t) l k hiu ca trng thi th N ca h thng ti thi im t. Pr{N(t)=N} l xc sut c N khch hng trong h thng ti thi im t.
C ngha l c N khch hng trong h thng ti thi im t. S dng trng thi u tin ti t=0, nu ta c th tm pN(t) th c th m t h thng c quan h v mt thi gian nh th no? Tip theo, cho thi gian t 0. Xt cc trng thi c th ca h thng {0,1,}(bng ng s lng khch hng trong h thng) ti thi im t ta c th tm trng thi ca h thng ti thi im t+t nh sau:

p0(t+t )= p0(t)(1-t)+p1(t)t, N=0.

N>0

pN(t+t )= pN(t)(1- t-t)+pN-1(t)t+ pN+1(t)t, (2-4) (2-5)

ta lun c iu kin phn b chun:

p (t ) = 1, t 0
"i

Tc l chun ha cc pi(t), t0, thnh cc tnh cht phn b ri rc theo thi gian. Ta c th tnh gii hn khi t 0 v c h phng trnh vi phn:

dp0 (t ) = -lp0 (t ) + mp1 (t ), N = 0 dt dpN (t ) = -(l + m ) p N (t ) + lp N -1 (t ) + mp N +1 (t ), N > 0 dt (2-6)


gii ta pho cho iu kin ban u. Gi s rng h thng hng i bt u ti thi im t=0 vi N khch hng trong h thng, iu kin ban u c vit nh sau:

pi(0)=0, vi iN pN(0)=1, vi i=N (2-7)

S dng iu kin ban u ph hp h thng c th c gii c gii php thi gian ngn (transient solution), mt gii php phc tp thm ch cho cc h n gin nht. By gi ta xt gii php trng thi n nh (equilibrium solution), t. Khi ta c:

dp 0 (t ) = 0, N = 0 dt dp N (t ) = 0, N > 0 dt
V vy,

(2-8)

p0(t)=p0, vi N=0 pN(t)=pN, vi N>0 (2-9)


nh ngha = / vi ng rng h thng hng i n nh vi <1, ta c:

p1=p0 pN+1(t)=(1+)pN- pN-1=pN=N+1p0, N>0


Ga s tun theo iu kin phn b chun, ta c:

(2-10) (2-11)

pi = i (1- ), i=0,1,

vi gii php trng thi n nh cho phn b trng thi vi <1.


8

gii php trng thi n nh khng ph thuc iu kin phn b ban u. Tuy nhin, n cn iu kin rng tc n nh hn tc phc v.

Cc tham s hiu nng trung bnh


S lng trung bnh ca khch hng trong h thng

Nhc li rng phn b ca trng thi n nh cho s lng khch hng trong h thng khi t. V vy, c th suy ra s khch hng trung bnh trong h thng t phn b trng thi n nh ca h thng nh sau:

E[ N ] = ipi = ir i (1 - r ) =
i =0 i =0

r 1- r

(2-12)

Kt qu trn khng p dng cho s trung bnh khch hng trong h thng ti mt khong thi gian ngn t (arbitrary time t).
S lng trung bnh ca khch hng trong hng i

Ch rng s lng khch hng trong hng i th bng vi s lng khch hng trong h thng tr i 1. S dng cng cc gi thit ta c:

r r r2 - (1 - p0 ) = -r = 1- r 1- r 1- r i =1 i =1 i =1 (2-13) Ch rng tng bt u t i=1, do s kin khch hng i ch ng khi c nhiu hn 0 khch hng trong h thng. E[ NQ ] = (i - 1) pi = ipi - pi =

Ch rng (i-1)!, do ang tm s lng khch hng trung bnh trong hng i.
Thi gian trung bnh trong h thng

Thi gian ny c th c phn chia thnh hai thnh phn :


n n

Thi gian i Thi gian phc v

Tnh ton cc tham s hiu nng ny i hi nhng gi thit thm da trn c tnh ca h thng hng i :
n

Quy tc phc v khch hng : Gi s quy tc first-come, first served l khch hng c phc v theo th t nh khi n h thng Phn b trng thi n nh pk, k=0,1,, cng ging nh phn b xc sut ca s lng khch hng trong h thng. Thi gian phc v d trung bnh ca khch hng s dng phc v khi tin trnh n xy ra vi tc 1/, cng ging nh vy. V vy c gi l c tnh khng nh.

S dng cc gi thit cho thi gian trung bnh trong h thng ca khch hng :
k 1 k +1 1 E[W ] = pk + pk = pk = m (1 - r ) k =0 m k =0 m k =0 m

(2-14)

Thi gian trung bnh trong hng i (thi gian i c phc v)


9

Vi cc gi thit trn ta c: k r E WQ = pk = m (1 - r ) k =0 m

[ ]

(2-15)

Ch rng thi gian trung bnh trong hng i bng vi thi gian trung bnh h thng tr i thi gian phc v:

E WQ = E[W ] -

[ ]

1 1 1 r = - = m m (1 - r ) m m (1 - r )

(2-16)

C th c kh nng rng khch hng phi ch c phc v S dng phn b trng thi n nh pk, k=0,1,ta ch rng lng khch hng n lun phi i c phc v nu s lng khch hng ln hn 0 trong h thng. V vy,

Pwait=1-p0=
S dng server

(2-17)

ngha vt l ca tham s hiu nng l n a ra khong thi gian khi server bn. v vy,

Pbusy=1-p0=

(2-18)

Cc cch tip cn trnh by c s dng phn tch bt k mt h thng hng i u phi c cc gi thit sau: n Tin trnh n l tin trnh poisson, c ngha l khong thi gian n c phn b theo hm m.
n n n n n

Tin trnh n vi tc n thay i. H thng c mt hoc nhiu server Thi gian phc v c dng phn b hm m Tin trnh n l c lp vi cc tin trnh phc v v ngc li C v hn cc v tr i hu hn trong h thng

Tt c cc gi thit to thnh lp n gin nht ca h thng hng i. 2.2. Nhc li cc khi nim thng k c bn 2.2.1. Tin trnh im Cc tin trnh n l mt tin trnh im ngu nhin, vi tin trnh ny chng ta c kh nng phn bit hai s kin vi nhau. Cc thng tin v s n ring l (nh thi gian phc v, s khch hng n) khng cn bit, do vy thng tin ch c th dng quyt nh xem mt s n c thuc qu trnh hay khng.

10

M t tin trnh
Chng ta xem xt qui lut ca tin trnh im thng thng, ngha l loi tr cc tnh hung n kp. Xt s ln cuc gi n vi cuc gi th i ti thi im Ti :

0 = T0 < T1 < T2 < < ..< Ti < Ti+1<


Ln quan st th nht ti T0 = 0.

(2-19)

S cc cuc gi trong na khong thi gian m [0, t] l Nt, y Nt l mt bin ngu nhin vi cc tham s thi gian lin tc v thi gian ri rc, khi t tng th Nt khng bao gi gim. Khong thi gian gia hai ln n l:

Xi = Ti - Ti-1

(2-20)

Khong thi gian ny gi l khong thi gian gia hai ln n. S phn b ca tin trnh ny gi l s phn b khong n. Tng ng vi hai bin ngu nhin Nt v Xi, hai tin trnh ny c th c m t theo hai cch:
n

Cch biu din s Nt : khong thi gian t gi khng i, v ta xt bin ngu nhin Nt cho s cuc gi trong khong thi gian t. Cch biu din khong ti : s cc cuc gi n l hng s (n), v ta xt bin ngu nhin ti l khong thi gian din ra n cuc gi.

Mi quan h cn bn gia hai cch biu din th hin n gin nh sau:

Nt < n khi v ch khi Tn = Xi > t


i =1

iu ny c biu din bng ng thc Feller - Jensen : p{Nt < n} = p{Tn > t} vi n = 1, 2,.. (2-21) Phn tch tin trnh im c th da trn c hai cch ny, v nguyn tc chng tng ng vi nhau. Cch biu din khong thi gian tng ng vi vic phn tch chui thi gian thng thng. Cch biu din s khng song song vi phn tch chui thi gian. S liu thng k c tnh ton trn mi n v thi gian v ta c cc mc trung bnh thi gian.

c tnh ca tin trnh im


Phn ny chng xem xt c tnh ca n thng qua cch biu din s.
Tnh dng (tnh ng nht thi gian)(Stationarity-time homogeneity) :

Tnh cht ny c th m t l cho d v tr no trn trc thi gian cng vy, phn b xc sut tin trnh im l c lp vi thi im quan st. nh ngha sau y c s dng trong thc t:

11

nh ngha: Cho tu t2 > 0 v vi mi k > 0 . Xc sut m k

cuc gi n trong khong thi gian [t1, t1+t2] l c lp vi t1, ngha l vi mi t, k ta c:

p{( Nt1+ t 2 - Nt1 ) = k} = p{( Nt1+ t 2 + t - Nt1+ t ) = k}

(2-22)

y l mt trong nhiu nh ngha v tnh dng ca tin trnh im cc cuc gi n.


Tnh c lp (Independence)

Tnh cht ny th hin l: tng lai ca tin trnh ch ph thuc vo trng thi hin ti.
nh ngha: xc sut c k s kin (vi k nguyn v ln hn

hoc bng 0) trong khong [t1, t1+t2] l c lp vi cc s kin trc thi im t1 :

p{( Nt 2 - Nt1 ) = k | Nt1 - Nt 0 = n} = p{( Nt 2 - Nt1 ) = k}

(2-23)

Nu iu ny ng vi mi t th tin trnh ny l tin trnh Markov: trng thi tip theo ch ph thuc vo trng thi hin ti, nhng c lp vi vic n c c nh th no. y chnh l tnh cht khng nh. Nu tnh cht ny ch xy ra ti cc thi im no (v d thi im n), th nhng im ny c gi l cc im cn bng hay cc im ti to. Khi tin trnh c nh gii hn, v ta cn lu li im ti to gn nht.
Tnh u n (Regularity)

Nh ni ta loi tr cc tin trnh ca nhiu cuc gi vo mt thi im, vy ta c nh ngha sau:


nh ngha: mt tin trnh im c gi l u n nu xc

sut xy ra vi nhiu hn mt s kin cng mt thi im bng khng:

p{( Nt + Dt - Nt ) 2} = o(Dt ), khi : Dt 0, o(Dt ) 0


2.2.2. Tin trnh Poisson

(2-24)

Tin trnh Poisson l tin trnh im quan trng nht bi v vai tr ca n cng quan trng nh vai tr ca phn b chun trong phn b thng k. Tt c nhng tin trnh im ng dng khc u l dng tng qut ho hay dng sa i ca tin trnh Poisson. Tin trnh Poisson m t rt nhiu tin trnh trong i sng thc t, do n c tnh ngu nhin nht.
12

c tnh ca tin trnh Poisson :


Nhng c tnh c bn ca tin trnh Poisson l:
n n n

Tnh dng Tnh c lp ti mi thi im Tnh u n

Hai tnh cht sau l tnh cht c bn, t tin trnh Poisson c cng ph thuc thi gian.T cc tnh cht trn ngi ta c th a ra cc tnh cht khc biu din tin trnh Poisson, l:
n

Biu din s: l s cc s kin n trong mt khong thi gian vi di c nh c phn b theo tin trnh Poisson. Biu din khong thi gian: l cc khong thi gian Xi gia cc s kin lin tip nhau c phn b theo hm m.

Tin trnh n Poisson s dng trong lu lng vin thng ca mng chuyn mch gi v mng my tnh. Thm vo tin trnh Poisson c s dng m t cc tin trnh nhiu v nghin cu hin tng cc h in t xut hin trong cht bn dn, v trong cc ng dng khc Ba vn c bn c s dng nh ngha tin trnh n Poisson. Xt mt khong thi gian nh Dt (vi Dt 0 ), nh Hnh 2-7.
Dt

t t + Dt

Hnh 2-7 Khong thi gian s dng nh ngha tin trnh l:


n

Xc sut ca mt tin trnh n trong khong thi gian D t c nh ngha l lDt + o(Dt ) , vi lDt << 1 v l l hng s t l l thuyt. Xc sut khng c tin trnh n no trong khong thi gian D t l 1 - lDt + o(Dt ) Tin trnh n khng c nh: mt tin trnh n trong khong thi gian Dt l c lp vi cc tin trnh trc v cc tin trnh trong tng lai.

Nu ly mt chu k T, tm xc sut p(k) ca k tin trnh n trong thi gian T c cho bi: (l T )k e - l T vi k = 0, 1, 2, 3 (2-25) p (k ) = k! N c gi l phn b Poisson. y l mt phn b chun
k =0

p(k) = 1 v gi tr k vng l :
13

E (k ) =

k =0

kp ( k ) = l T
hay:

(2-26)

2 Phng sai : s k = E ( k 2 ) - E 2 ( k ) 2 s k = E (k ) = lT

(2-27) E (k) T

Tham s l l hng s t l, c xem l tham s tc : l =

Phng trnh (2-25) m t tc n trung bnh ca tin trnh Poisson. Bnh thng gi tr trung bnh E(k) tin ti khng tng ng vi l T ln: s k / E (k ) = 1 / l.T vi ngha l l T ln, phn b c quan h cht ch vi gi tr trung bnh l T. Do nu mt thng s (ngu nhin) s cc tin trnh n n trong khong thi gian T ln (ln theo ngha l T >>1, hoc T >> 1/ l ), n/T c th nh gi l . Cng ch l p(0) = e- lT . Khi l T tng vi phn b nh E (k) = l T, xc sut khng c tin trnh n no trong khong thi gian T tin n khng vi e m T. 2.3. nh lut Little Xem xt mt h thng hng i, khch hng n l mt tin trnh ngu nhin. Cc khch hng n h thng cc thi im ngu nhin v ch c phc v th khch hng s ri khi h thng. 2.3.1. Cng thc Little Chng ta c k hiu nh sau:

N (t ) = S cuc gi n h thng ti thi im t. a t = S cuc gi i n h thng trong khong thi gian t (0,t). b t = S cuc gi ri khi h thng trong khong thi gian t (0,t). Ti = Thi gian ca cuc gi th i trong h thng (thi gian phc v).
Nh vy: Nt - S lng cuc gi trung bnh n h thng trong (0,t) l :

1t Nt = Nt dt t0

lt Tt

Mt cuc gi trong khong (0,t) l : lt =

at t

Thi gian trung bnh ca cui gi trong h thng l :

Tt =

1 at

at
=1

Ti

Gi s cc gii hn sau y tn ti :
14

N = lim Nt ; l = lim lt ; t t
C cng thc sau:

T = lim Tt t
(2-28)

N = lT
Cng thc trn c tn gi l nh l Little

S cuc gi trung bnh trong h thng bng tch mt cuc gi vi thi gian chim knh trung bnh. 2.3.2. Chng minh cng thc Little Chng minh cng thc Little bng phng php hnh hc theo nh minh ha di y.

Hnh 2-8
Xt trong khong (0,t) : Din tch phn gch cho: St = Nt dt = [a (t ) - b (t )]
0

Mt khc din tch ny cng bng : S= 1. Ti


i =1

at

Nh vy N (t )dt =
0

Ti i
=1

at

T at i 1 t i =1 Nt dt = t o t at

at

tc l :

Nt = lt Tt (*)
15

Nu gii hn sau y tn ti :

N = lim Nt ; l = lim lt ; t t
T (*) v (**) 2.4. Cc m hnh hng i 2.4.1. K hiu Kendall

T = lim Tt (**) t

N = lT

Cng thc c chng minh

Bt k h thng xp hng no cng c m t bi :

Tin trnh n
Nu cc khch hng n vo cc thi im t1, t2 tj th cc bin s ngu nhin Pj=tj-tj-1 c gi l cc thi im gia cc ln n. Cc thi im ny thng c gi thit l cc bin s ngu nhin c lp v c phn b ng nht IID (Independent and Identycally distributed). Cc tin trnh n thng dng nht l :

M: Tin trnh m (l tin trnh Markov hay tin trnh khng nh) Er: Tin trnh Erlang bc r Hr: Tin trnh siu s m bc r D: Tin trnh tt nh (deterministic) G: Tin trnh chung Tin trnh phc v
Thi gian m mi cng vic tiu tn cn thit ti server gi l thi gian phc v. Cc thi gian phc v thng gi thit l cc bin s ngu nhin IID. Cc tin trnh phc v thng dng nht cng ging nh thi gian n. S lng cc b server: S lng cc server phc v cho hng i

Dung lng h thng


Kch thc b nh m cc i

Qui m mt
S lng cc cng vic n ti hng i. Qui m mt lun l hu hn trong cc h thng thc. Tuy nhin phn tch h thng vi qui m mt ln s d dng hn nu gi thit rng qui m mt l v hn.

Qui tc phc v
Th t m theo cc cng vic trong hng xp c phc v. Cc qui tc ph bin nht l n trc phc v trc FCFS (First Come First Served), n sau phc v trc LCFS (Last Come First Served), theo vng trn RR (Round Robin), thi gian x l ngn nht phc v trc SPT (Shortest Procesing Time First) v thi gian x l ngn nht c c SRPT (Shortest Remaining Processing Time First)

K hiu Kendall A/S/m/B/K/SD c s dng rng ri m t h thng xp hng


16

A: Phn b thi gian gia cc ln n S: Phn b thi gian phc v m: S lng server B:Kch thc b m K: Quy m mt SD: Quy tc phc v
V d hng i M/D/1: M c ngha tin trnh n l tin trnh Markov khng nh (vi thi gian gia cc ln n theo hm m); D thi gian phc v lun nh nhau (tt nh); 1 c mt server duy nht phc v. Phn B/K/SD ca k hiu b loi tr cho thy rng dung lng ca h thng v qui m mt l v hn v qui tc phc v l FCFS. 2.4.2. Qu trnh Sinh-T (Birth-Death) Trng thi ca h thng c biu din bng s cc khch hng n trong mt h thng. Khi c mt khch hng mi n th trng thi ca h thng s thay i sang n+1, khi c mt khch hng ra i th trng thi h thng s thay i sang n-1, ta c lc chuyn tip trng thi l qu trnh sinh t.

Hnh 2-9. Chui Markov ca mt qu trnh sinh-t ln : Tc ca ln n n


m n : Tc ca ln i

Pn: Xc sut n nh trng thi n ca qu trnh sinh t ti trng thi n l l ...l Pn = 0 1 n -1 .P0 (2-29) m1 m 2 ...m n P0 - xc sut trng thi 0, Pn - xc sut trng thi n
2.4.3. Hng i M/M/1 Lc trng thi

17

Hnh 2-10 Chui Markov ca hng i M/M/1


Tt c cc tc n u l l , m

l : Tc ca ln n m : Tc ca ln i Pn=( l n ) P0 = r n P0 m (2-30)

Pn: Xc sut n nh trng thi n P0: Xc sut n nh trng thi 0 l m Trong trng hp ny s knh phc v bng 1, ch c 1 server r : Mt lu lng r =
Cc cng thc tnh ton:
n

Xc sut c n khch hng trong h thng

Pn= (1- r ) r n ; n=1,2,... P0= (1- r )


n

(2-31) (2-32)

S lng trung bnh cc khch hng trong h thng

L=E(n)=
Phng sai: d n2 =

r 1- r r (1 - r ) 2

(2-33)
(2-34)

Tham s thi gian


n

Thi gian trung bnh ca 1 khch hng trong h thng: W

W=
n

1 L r = = l l (1 - r ) m -l

(2-35)

Thi gian phc v trung bnh cho mt khch hng : W S

WS=
n

1 r = m l
18

(2-36)

Thi gian trung bnh ca khch hng trong hng i

W q = W- W S = Chiu di hng i
n

r r r2 = l (1 - r ) l (1 - r ) l

(2-37)

S lng trung bnh cc khch hng trong h thng

L=
n

r 1- r

(2-38)

S lng trung bnh cc job trong server: L S

L S = 1P(n>=1) =1- P(n=0) =1-(1- r ) = r


n

(2-39)

S lng trung bnh ca cc cng vic trong hng i L q

L q = L- L S =

r r2 r= 1- r 1- r

(2-40)

V d: Cho Switch nhn cc bn tin n tc 240bn tin/pht. di bn tin c phn b hm m vi chiu di trung bnh l 100 k t. Tc truyn bn tin i khi h thng l 500 k t/giy. Tnh cc tham s sau :
n n n

Thi gian trung bnh ca bn mt tin trong h thng S bn tin trung bnh trong h thng Tnh chiu di hng i v thi gian i trung bnh

Bi gii: Xt h thng M/M/1:

Tc n l =

240 = 4 bn tin/giy 60 500 =5 100

Tc phc v m =

Mt lu lng r =

l 4 = = 0 .8 m 5

S bn tin trong h thng L=E(n)=

r 0 .8 = = 4 bn tin 1 - r 1 - 0 .8

Thigian trung bnh ca bn tin trong h thng

W=

L 4 = = 1 (s) l 4

Chiu di hng i L q

19

Lq =

0,8.0,8 r2 = = 3,2 bn tin 1 - r 1 - 0,8

Thi gian i trung bnh W q Wq =

L r2 3,2 = q = = 0,8 (s) l (1 - r ) l 4

2.4.4. Hng i M/M/1/K

Hnh 2-11
Vi s khch hng l k

Pn = (

l n ) .P0 ; 0<=n<=k m

(2-41) (2-42) (2-43)

Pn = r 2 (1 - r )(1 - r k +1 ) L=
(k + 1) r k +1 r 1- r 1 - r k +1

Xc sut khch hng n h thng b t chi l P K Tc thc t n h thng

l' = (1-P K ) l
Mt lu lng

(2-44)

r' =
2.4.5. Hng i M/M/C

l' = (1 - PK ) r m

(2-45)

Hnh 2-12
20

Pn= Pn=

1 l n ( ) Po ; 0<=n<=C n! m 1 l ( )n Po vi n>c n-c C!C m


c -1

(2-46) (2-47) (2-48)

Po= [ (cr ) n
n =0

1 (cr )c -1 ] + n! c!(1 - r )

Xc sut xut hin hng i

Pq =

Po (cr ) c (cng thc Erlang) c!(1 - r ) r 1- r

(2-49)

di hng i:

Lq = Pq.
Thi gian i:

(2-50)

Wq =

Lq l

(2-51)

2.5. L thuyt lu lng 2.5.1. Khi nim v lu lng v n v Erlang

nh ngha
Trong l thuyt lu lng vin thng chng ta thng s dng thut ng lu lng biu th cng lu lng, tc l lu lng trong mt n v thi gian. Thut ng v lu lng c ngun gc t ting v c ngha l bn rn. Theo (ITU-T,1993) nh ngha nh sau:
Cng lu lng: Mt lu lng tc thi trong mt

nhm ti nguyn dng chung l s ti nguyn bn ti thi im . Nhm ti nguyn dng chung c th l mt nhm phc v nh ng trung k. Tin hnh thng k mt lu lng hin ti c th tnh ton cho mt chu k T, ta c cng lu lng trung bnh l:

Y (T ) =

1T n ( t ) dt T 0
21

(2-52)

Vi n(t) l s thit b s dng ti thi im t

Lu lng mang
Ac = Y = A c gi l lu lng c thc hin bi mt nhm

phc v trong khong thi gian T (hnh 3.1). Trong thc t, thut ng cng lu lng thng c ngha l cng lu lng trung bnh.

Hnh 2-13 Lu lng mang (mt )( bng s thit b bn) l mt hm thi gian (ng cong C). Lu lng trung bnh trong khong thi gian T (ng cong D)
n v ca cng lu lng l Erlang (k hiu l Erl), y l n

v khng c th nguyn. (Ra i 1946 ghi nh cng n ca nh ton hc ngi an mch A.K Erlang (1878-1929), ngi tm ra l thuyt lu lng in thoi).
Khi lng lu lng: l tng lu lng mang trong chu k T v

c o bng n v Erlang - gi (Eh) (theo nh tiu chun ISO nhng n v tiu chun c th l Erlang giy, nhng thng thng n v Erlang gi thng s dng nhiu hn). Lu lng mang khng th vt qu s lng ca ng dy. Mt ng dy ch c th mang nhiu nht mt Erlang. Doanh thu ca cc nh khai thc t l vi lu lng mang ca mng vin thng.
n n n n

i vi in thoi c nh thng th c Ac =0,010,04 Erl i vi c quan : 0,04 0,06 Erl Tng i c quan: 0,6 Erl in thoi tr tin : 0,7 Erl

22

Lu lng pht sinh A


Lu lng pht sinh l lu lng c mang nu khng c cuc gi no b t chi do thiu ti nguyn, v d nh vi s knh khng b gii hn. Lu lng pht sinh l mt gi tr l thuyt khng o lng c ch c th c lng thng qua lu lng mang. Ta gi mt cuc gi l l , l s cuc gi trung bnh n trong mt n v thi gian v gi s l thi gian phc v trung bnh. Khi lu lng pht sinh l:

A = l .s

(2-53)

T phng trnh ny ta thy rng n v lu lng khng c th nguyn. nh ngha ny ph hp vi nh ngha trn vi iu kin knh phc v khng b gii hn. Nu s dng cho mt h thng vi nng lc gii hn ta c s xc nh ph thuc vo h thng. Ngoi ra c th c tnh: A =l/m (m : tc phc v)

Lu lng tn tht Ar
Lu lng tn tht l chnh lch gia lu lng pht sinh v lu lng mang. Gi tr ny ca h thng gim khi nng lc ca h thng tng.

Ar = A Ac

(2-54)

Lu lng pht sinh l mt tham s s dng trong tnh ton l thuyt nh c. Tuy nhin, ch c lu lng mang thng ph thuc vo h thng thc mi l tham s o lng c trong thc t. Trong h thng truyn dn s ta khng ni v thi gian phc v m ch ni v cc tc truyn dn. Mt cuc giao dch c th l qu trnh truyn s n v (nh bits hay bytes). Nng lc h thng l j , ngha l tc bo hiu s liu, c tnh bng n v trn giy (v d bt/s). Nh vy thi gian phc v cho mt giao dch nh th tc l thi gian truyn s l s/ j n v thi gian (v d nh giy-s); ngha l ph thuc vo j . Nu trung bnh c l cuc giao dch n trong mt n v thi gian, th s dng h thng s l:

q=
Vi: 1 q 0 .

l .s j

(2-55)

23

2.5.2. H thng tn tht (Loss System) v cng thc Erlang B

Cng thc Erlang B


Cng thc Erlang c m t bng ba thnh phn: cu trc, chin lc v lu lng:
Cu trc: Ta xem xt mt h thng c n knh ng nht hot ng

song song v c gi l nhm ng nht (cc server, knh trung k, khe slot).
Chin lc: Mt cuc gi ti h thng c chp nhn nu cn t

nht mt knh ri (mi cuc gi ch cn mt knh ri). Nu tt c cc knh u bn th cuc gi s b hu b v n s b loi b m khng gy mt nh hng no sau (cuc gi b loi b c th c chp nhn trn mt tuyn khc). Chin lc ny c gi l m hnh Loss (tn tht) Erlang hay m hnh LCC (Lost Calls Cleared).
Lu lng: Gi s rng trong khong thi gian dch v c phn b

theo hm m (s m m ), v tin trnh s dng l tin trnh Poisson vi tc l . Loi lu lng ny c gi l PCT -I (Pure Chance Traffic Type I). Tin trnh lu lng ny s tr thnh tin trnh Mackov n gin x l bng ton hc.

Cng thc Erlang B biu th mi quan h gia lu lng xut hin, lng thit b, v xc sut tn hao nh mt hm s c s dng rng ri nh l l thuyt tiu chun cho vic lp k hoch trong h thng vin thng, v vy cng thc Erlang B cha ng nhng tiu chun sau: Cc cuc gi xut hin mt cch ngu nhin:
n

Xc sut xy ra s c cuc gi l lun c nh bt chp thi gian (xc sut c nh xy ra s c ca cuc gi). Xc sut xy ra s c ca cuc gi khng b nh hng bi cc cuc gi trc (khng cn st li nhng c im ca cuc gi trc). Trong thi gian rt ngn, khng c cuc gi no xut hin hoc ch c mt cuc gi xut hin (cc cuc gi ri rc). Trong dng tn hao vn hnh ny, cuc gi khng th lin lc c khi tt c cc mch u bn. Trong trng hp tn hiu c gi ra ngoi v d ng ra tr nn thng sut sau khi tn hiu bn c gi ra th cuc gi vn khng c kt ni.

Dng tn hao trong khi vn hnh khi tt c cc mch u bn:


n

Nhm mch ra l nhm trung k c kh nng s dng ht. Thi gian chim dng ca cc cuc gi gn ng vi phn b hm m. Cc mch vo th v hn, cn cc mch ra th hu hn. Xc sut tn hao cuc gi trong cng thc Erlang B c trnh by trong cng thc sau:
24

An n! En(A)= E 1, n (A) = P(n) = = 2 A An + ... + 1 + A+ 2! n! (2-56)


Vi A -Lu lng pht sinh (A=l.s)

An n! n Ai i = 0 i!

n - S knh
Vic tnh ton cng thc trn khng ph hp c khi c An v n! tng qu nhanh, khi my tnh s b trn s do vy ngi ta thng p dng mt s kt qu tnh ton v a ra cng thc sau:

Ex ( A) =

A.Ex-1 ( A) x + A.Ex-1( A)

vi E0 (A) = 1

(2-57)

T quan im ton ng dng, hm tuyn tnh c n nh cao nht ta c:

x I x -1( A) A y In (A) = 1/ En (A) I x ( A) = 1 +

vi I0 (A) = 1 (2-59)

(2-58)

Cng thc ny hon ton chnh xc, thm ch vi cc gi tr (n.A) ln vn khng xut hin li. y l cng thc c bn cho rt nhiu bng s ca cng thc Erlang B
V d : Cho tc gi n l bng mt cuc gi trn 1 pht, thi gian

trung bnh ca 1 cuc gi l 3 pht, s knh phc v bng 4. Tnh xc sut tn tht P theo 2 cng thc trn.

Cch 1: Lu lng pht sinh A= l .t = 1.3 = 3Erl


34 4! 3 2 33 3 4 1+ 3 + + + 2 3! 4!

P(n)=

= 0,206

ngha : c 1/5 cc cuc gi ti s thu bao b tn tht (b bn)

Cch 2: E 4 ( A) = A.E 3 ( A) 4 + A.E 3 ( A)

E 0 ( A) = 1 E 1 ( A) = A.E 0 ( A) 3 3 = = 1 + A.E 0 ( A) 1 + 3 4

25

E 2 ( A) =

A.E1 ( A) = 2 + A.E1 ( A)

3.

3 4

2 + 3. 3.

3 4

9 17

E 3 ( A) =

A.E 2 ( A) = 3 + A.E 2 ( A)

9 17 9 17

3 + 3. 3.

27 78

E 4 ( A) =

A.E 3 ( A) = 4 + A.E 3 ( A)

9 17 9 17

4 + 3.

81 0.2061 393

Cc c tnh lu lng ca cng thc Erlang B


Bit c xc sut trng thi ta c th bit c cc s o hiu nng. nghn theo thi gian: l xc sut m tt c cc trung k b chim ti mt thi im bt k bng vi phn thi gian tt c cc trung k b chim trn tng thi gian (3.13)

nghn theo cuc gi: xc sut m mt cuc gi bt k b mt bng t l s cuc gi b chn trn tng cc cuc gi.
nghn lu lng: C =

A- Y = En ( A) A

Ta c E = B = C, bi v cng cuc gi c lp vi trng thi, y chnh l tnh cht PASTA (Poisson Arrival See Time Average), n ph hp vi tt c cc h thng tun theo tin trnh Poisson. Trong tt c cc trng hp khc, t nht c ba tham s o tc nghn l khc nhau.
V d : Cho thi gian xem xt T l 1h ,lu lng pht sinh A l 1 Erl,

s knh l n=3, thi gian phc v trung bnh cho mt cuc gi l 3 pht. Tnh s lng cuc gi b nghn trong khong thi gian T, tnh lu lng tn tht, lu lng mang? Bi gii : n S cuc gi tn tht :

N loss = B.N=P(n).N N= l.T = l=


A 1 .T = .60 = 20 cuc gi S 3

A 1 = cuc gi/pht S 3

An 13 1 3! B=P(n)= n n! i = = 2 3 16 A i! 1 + 1 + 12! + 1 ! 3 i=0


26

N loss =

1 .20 1.25 cuc gi 16

ngha : Trong 20 cuc gi dn c 1.25 cuc gi b nghn khng c phc v.


n

Lu lng tn tht :

Ar= A.C = 1.
n

1 1 (Erl) = 16 16 1 )= 15/16 (Erl) 16

Lu lng mang

Ac = Y= A(1-P(n)) = 1.(1-

2.5.3. H thng tr (Delay) v cng thc Erlang C Xt lu lng vi tin trnh poisson (Khng gi hn v ti nguyn). Phn b thi gian phc v l PCT-1. H thng hng i ny c tn l h thng tr Erlang.Trong h thng ny th lu lng mang s bng lu lng pht sinh v khng c khch hng no b nghn.

Cng thc Erlang C


Gi w l bin ngu nhin ca thi gian i th ta c xc xut bin w>0 l:

An n . n! n - A E 2 , n (A) = P(w>0) = A2 An -1 An n 1 + A+ + ... + + . 2! (n - 1)! n! n - A (A<n) (2-60)


Cho bit xc xut cuc gi n h thng th n phi b xp vo hng i (do s knh gii hn). Xc xut 1 khch hng i phc v ngay :

Sn = E2,n(A)
Cng thc hi quy: 1 1 1 = E2, n ( A) E1,n ( A) E1,n -1 ( A)

(2-61)

(2-62) (2-63) (2-64)

I 2 ,n (A) = I 1, n (A) - I 1,n-1 (A) I 2 ,n (A) =


1 E 2 ,n (A)

Lu lng pht sinh =lu lng mang: A=Y (Ch p dng cho m hnh tr).
27

V d : Cho h thng tr tc cc cuc gi n l =20 cuc/gi, thi

gian chim knh ca cuc gi l 6 pht .Tnh lu lng mang, lu lng pht sinh. Xc sut cuc gi bt k phi vo hng i, xc sut cuc gi i c phc v ngay, cho n=3. (Tnh theo hai cch) Bi gii: n Lu lng mang = lu lng pht sinh; A=Y

A= l.S =
Cch 1:
n

20 .6 = 2 Erl 60

Xc sut cuc gi vo hng i 2 3 . 3! 3 - 2 E 2, n ( A) = = 4/9 32 33 3 1+ 3 + + . 2! 3! 3 - 2

Xc sut cuc gi c phc v:

Sn = 1- E 2, n ( A) = 1 Cch 2:

4 5 = 9 9

1 1 1 = E 2 ,3 E1,3 ( A) E1,2 ( A)

E 1,0 ( A) = 1 E 1,1 ( A) =
2.E1, 0 ( A) 1 + 2.E1, 0 ( A) 2.E1,1 ( A) 2 + 2.E1,1 ( A) = 2 1 = 1+ 2 3 2. 2 3 2 3 4 2 = 10 5

E 1, 2 ( A) =

2 + 2. 2. 2 5

E 1,3 ( A) =

A.E1, 2 ( A)
3 + A.E1, 2 ( A)

3 + 2.

2 5

4 19

1 1 1 19 5 9 = = . = E 2 ,3 ( A) E1,3 ( A) E 1,2 ( A) 4 2 4 4 9

E 2,3 ( A) =

28

2.6. H thng hng i c u tin Cc khch hng sau khi n h thng c th phi ng vo hng i, do cn c cc qui tc nht nh m bo khch hng c phc v mt cch nhanh nht. Tuy nhin kch thc ca hng i khng phi l mt gi tr v hn, chnh nguyn nhn ny l ngun gc ca cc thng s khc lin quan n hng i v t chc hng i. Hng i l mt quan im ton hc v tnh hung trong th gii thc, n a ra cc phn tch c kh nng nh gi hiu sut lu lng ca khch hng (nh cc cuc gi, cc t bo ATM, hay cc mng LAN) khi i qua hng i. C t nht 7 tham s thng s dng trong h thng l:
n

Kt cu cc mc u tin (cc lp) ca khch hng n, nu c hn mt mc u tin trong hng i (v d trong ca hng th nam gii v ph n l hai lp) do thi gian phc v trong cc mc u tin l khc nhau. Vi mi mc u tin khch hng c phn b tin trnh n ring. Vi mi mc u tin, kch thc hay s khch hng to ra lu lng. Phn b thi gian phc v ca Server hng i (hnh ng ca Server). Trong nhiu mng truyn thng thng gi l phn b chiu di. Cc qui tc ca hng i. Chiu di ti a ca hng i (ph thuc vo kch thc ca Buffer). Phn ng ca khch hng khi b tr, tc nghn,

n n

n n

2.6.1. Qui tc v t chc hng i Mt cch cc phn t mng x l cc dng lu lng n l s dng cc thut ton xp hng sp xp cc loi lu lng. Khch hng ang i trong hng i c phc v c th c la chn theo nhiu cch, u tin chng ta quan tm n 3 loi qui tc sau:
n

FCFS (First Come First Served ) n thng c gi l hng i cng bng hay hng i gi v qui tc ny thng xut hin trong cuc sng hng ngy ca chng ta. N c xem nh l FIFO, ch l FIFO ch s dng trong hng i khng s dng cho ton h thng. LCFS ( Last Come First sever) l chu trnh ngn xp, nh vic xp hng trn gi ca ca hng.v.v qui tc ny cng xem nh LIFO ( Last In First Out)

29

SIRO (Sevice In Random Order) tt c cc khch hng ang i trong hng i c xc sut c chn phc v nh nhau. N cn c gi l RANDOM hay RS (Random Selection).

Hai qui tc u tin ch s dng trong ln n m c xt, trong khi qui tc th 3 khng c xem nh tiu chun v khng yu cu nh. (Ngc vi hai qui tc u). Nh ba trng hp cp trn tng thi gian i cho tt c cc khch hng l nh nhau. Qui tc ca hng i ch quyt nh lm sao xc nh tng thi gian i ca khch hng. Trong chng trnh iu khin h thng hng i c th c nhiu qui tc phc tp. Trong l thuyt hng i chng ta gi thit l tng lu lng pht sinh l c lp vi qui tc ca hng i. Vi h thng my tnh chng ta thng c gng gim tng thi gian i, n c th thc hin khi s dng thi gian phc v nh l tiu chun: SJF (Shortest Job First): Vic u tin ngn nht. SJN (Shortest Job Next): Vic tip theo ngn nht. SPF (Shortest Processing Time First): Thi gian x l u tin ngn nht. Qui tc ny c gi thit nh l chng ta bit thi gian phc v trong s pht trin, qui tc hng i ny tiu hnh ho tng thi gian i cho tt c cc khch hng. Nh ni trn qui tc nh hng ti thi gian n hoc thi gian phc v. Mt s tho hip gia cc qui nh c c bi:
n

RR (Round Robin): mt khch hng c phc v cho trong mt khong thi gian c nh (Time slice). Nu dch v khng hon thnh trong khong thi gian ny, th khch hng tr li hng i l FCFS. PS (Processor Sharing): tt c khch hng chia s dung lng dch v bng nhau. FB (Foreground-Background): qui tc ny c gng thc hin SJF m khng bit n thi gian phc v sau ny. Server s cung cp dch v khch hng c thi gian phc v t nht. Khi tt c cc khch hng c c thi gian phc v ging nhau, FB c xc nh nh l PS.

Qui tc cui cng l qui tc ng do qui tc hng i ph thuc vo lng thi gian s dng trong hng i. T cc qui tc trn nhng thut ton xp hng hay dng l:
n n n n

Xp hng vo trc ra trc (FIFO Queuing). Xp hng theo mc u tin (PQ - Priority Queuing). Xp hng tu bin (CQ - Custom Queuing). Xp hng theo cng bng trng s (WFQ - Weighted Fair Queuing).
30

Xp hng vo trc ra trc (FIFO Queuing)


Trong dng n gin nht, thut ton vo trc ra trc lin quan n vic lu tr gi thng tin khi mng b tc nghn v ri chuyn tip cc gi i theo th t m chng n khi mng khng cn b tc na. FIFO trong mt vi trng hp l thut ton mc nh v tnh n gin v khng cn phi c s thit t cu hnh nhng n c mt vi thiu st. Thiu st quan trng nht l FIFO khng a ra s quyt nh no v tnh u tin ca cc gi cng nh l khng c s bo v mng no chng li nhng ng dng (ngun pht gi) c li. Mt ngun pht gi li pht qu ra mt lu lng ln t ngt c th l tng tr ca cc lu lng ca cc ng dng thi gian thc vn nhy cm v thi gian. FIFO l thut ton cn thit cho vic iu khin lu lng mng trong giai on ban u nhng vi nhng mng thng minh hin nay i hi phi c nhng thut ton phc tp hn, p ng c nhng yu cu kht khe hn.

Xp hng theo mc u tin (PQ - Priority Queuing)


Thut ton PQ m bo rng nhng lu lng quan trng s c c s x l nhanh hn. Thut ton c thit k a ra tnh u tin nghim ngt i vi nhng dng lu lng quan trng. PQ c th thc hin u tin cn c vo giao thc, giao din truyn ti, kch thc gi, a ch ngun hoc i ch ch ...Trong thut ton, cc gi c t vo 1 trong cc hng i c mc u tin khc nhau da trn cc mc u tin c gn (V d nh bn mc u tin l High, Medium, Normal, v Low) v cc gi trong hng i c mc u tin cao s c x l truyn i trc. PQ c cu hnh da vo cc s liu thng k v tnh hnh hot ng ca mng v khng t ng thch nghi khi iu kin ca mng thay i. (Hnh 2.14)

Hnh 2-14 Thut ton xp hng theo mc u tin Xp hng tu bin (Custom Queuing)
CQ c to ra cho php cc ng dng khc nhau cng chia s mng vi cc yu cu ti thiu v bng thng v tr. Trong nhng mi trng ny, bng thng phi c chia mt cch t l cho nhng ng dng v ngi s dng. CQ x l lu lng bng cch gn cho mi loi gi thng tin trong mng mt s lng c th khng gian hng i v phc v cc hng i theo thut ton round -robin (round31

robin fashion). Cng ging nh PQ, CQ khng t thch ng c khi iu kin ca mng thay i. (hnh 2.15)

Hnh 2-15 Xp hng cn bng trng s Xp hng cng bng trng s (WFQ - Weighted Fair Queuing)
Trong trng hp mun c mt mng cung cp c thi gian p ng khng i trong nhng iu kin lu lng trn mng thay i th gii php l thut ton WFQ. Thut ton WFQ tng t nh CQ nhng cc gi tr s dng bng thng gn cho cc loi gi khng c gn mt cc c nh bi ngi s dng m c h thng t ng iu chnh thng qua h thng bo hiu Qos. WFQ c thit k gim thiu vic thit t cu hnh hng i v t ng thch ng vi s thay i iu kin lu lng ca mng. Thut ton ny ph hp vi hu ht cc ng dng chy trn nhng ng truyn khng qu 2Mbps.

2.6.2. u tin ca khch hng trong hng i u tin Khch hng c chia thnh p lp u tin. Khch hng lp u tin k c u tin cao hn so vi khch hng lp u tin k+1. Hng i u tin li oc chia thnh cc nhm sau: Khng u tin phc v trc (Non-preemptive hay l HOL - Head of the Line): Khch hng n vi mc u tin cao hn so vi khch hng ang c phc v th vn phi ch cho n khi server phc v xong khc hng ny (v phc v xong tt c cc khch hng khc c mc u tin cao hn n).
u tin phc v trc (preemptive): Vic phc v khch hng c

quyn u tin thp s b ngng li khi c mt khch hng m quyn u tin ca n cao hn n h thng. u tin phc v trc li c th chia thnh cc nhm nh sau:
n

Phc hi u tin (preemptive resume), khi m s phc v c tip tc t thi im m n b ngt qung trc . u tin khng ly mu li (preemptive without resampling), khi m s phc v bt u li t u vi khong thi gian phc v khng i.
32

u tin ly mu li (preemptive with resampling), khi m s phc v bt u li vi khong thi gian phc v mi.

2.6.3. Duy tr qui tc hng i, lut Kleinrock Gi thit thi gian phc v ca khch hng l c lp vi qui tc ca hng i. Do dung lng ca Server l hn ch v c lp (chiu di hng i) v sau mt thi gian Server t n ngng v tc phc v b gim. Chng ta gii thiu hai hm thng p dng rng ri trong l thuyt hng i:

Hm ti U (t)
L hm ph thuc thi gian, n phc v khch hng n ti thi im t, hm U(t) c lp vi qui tc ca hng i. Gi tr trung bnh ca hm ti l U(t) = E{U(t)}.

Thi gian i o W (t)


L thi gian i ca khch hng khi anh ta n ti thi im t, thi gian i o ph thuc vo qui tc hng i, gi tr trung bnh l W=E{W(t)}. Nu qui tc hng i l FCFS th U(t)=W(t), trong tin trnh Poisson th thi gian i o s bng thi gian i thc t.
nh l: Lut Kleinrock:

A .W
i

A.V =const 1- A

(V l thi gian phc v trung bnh thi im bt k) Thi gian i trung bnh cho tt c cc loi khch hng (lp) b tc ng bi lu lng ti ca lp ang xt l c lp vi qui tc ca hng i.

33

2.6.4. Mt s hng i n server

Hnh 2-16 Mt s loi hng i n server thng gp


2.6.5. Kt lun L thuyt hng i c nghin cu ngay t trong mng chuyn mch knh, tuy nhin vic p dng trong mng chuyn mch knh cn hn ch, sau c nghin cu su rng trong mng chuyn mch gi vi vic ng gi d liu. Cc tn hiu thoi truyn thng c s ho, ng gi v chuyn ti trong mng gi nh l mt phn c s ca mng d liu. Tin trnh im l tin trnh quan trng n cho php phn bit cc khch hng n (cc s kin) v n l mt tin trnh ngu nhin vi cc tnh cht nh: tnh c lp, tnh u n ti mi thi im v tnh dng. Tin trnh Poisson l mt tin trnh im v l tin trnh quan trng nht. Cc tin trnh khc ch l rt gn hay pht trin ca tin trnh Poisson. Tin trnh Poisson l tin trnh m t nhiu tin trnh trong i sng thc t nn n l tin trnh ngu nhin nht do vy n ng vai tr nh l mt tin trnh chun trong phn b thng k. Cc khch hng n (gi hay cuc gi) mt Server n c th c phc v ngay hoc phi mt mt khong thi gian ch no cho n khi Server ri v thc hin tip nhn x l. Cc qui tc phc v cc khch hng i c phc v c thit lp cho cc Server qua cc khch hng ln lt c phc v theo mc u tin ca mnh do vy cc khch hng c u tin khc nhau th c thi gian ch khc nhau. Cc thng s ny c quyt nh bi thut ton xp hng ca
34

hng i v cng t nh hng ti QoS ca cc loi dch v cung cp trn mng. Cc thng s ca hng i c xc nh thng qua l thuyt xc sut thng k, nh l Little, qui tc duy tr hng i Kleinrock v quan trng hn c l cc tin trnh i - n ca khch hng l cc tin trnh Poisson vi phn b hm m cng vi thut ton xp hng ca n. Xc nh cc thng s hng i nh: chiu di hng i cc thi im bt k hoc ngay c khi c khch hng, qua a ra cc phng n iu khin lu lng trn mng cho ph hp nhm gim thiu cc s c trn mng nh gi c hiu sut s dng ti nguyn ng thi xc nh c cp QoS m c th cung cp trn mng, l c s cho vic thit k cc mng h thng vin thng sau ny. 2.7. Bi tp (Pending)

35

Chng 3 Mng hng i


3.1. Mng ni tip

36

Chng 4 nh tuyn trong


mng thng tin
4.1. Yu cu v nh tuyn trong mng thng tin 4.1.1. Vai tr ca nh tuyn trong mng thng tin 4.1.2. Cc khi nim trong l thuyt graph Phn ny gii thiu cc thut ng v cc khi nim c bn nhm m t cc mng, graph, v cc thuc tnh ca n. L thuyt graph l mt mn hc xut hin t lu, nhng l thuyt ny c mt s thut ng c chp nhn khc nhau dng cho cc khi nim c bn. V th c th s dng mt s thut ng khc nhau lp m hnh graph cho mng. Cc thut ng c trnh by di y ny l cc thut ng c cng nhn v c s dng thng xuyn chng ny. Mt graph G, c nh nghi bi tp hp cc nh V v tp hp cc cnh E. Cc nh thng c gi l cc nt v chng biu din v tr (v d mt im cha lu lng hoc mt khu vc cha thit b truyn thng). Cc cnh c gi l cc lin kt v chng biu din phng tin truyn thng. Graph c th c biu din nh sau:

G=(V, E)
Hnh 4.1 l mt v d ca mt graph.

Hnh 4.1. Mt graph n gin


Mc d theo l thuyt, V c th l tp hp rng hoc khng xc nh, nhng thng thng V l tp hp xc nh khc rng, ngha l c th biu din

V={vi | i=1,2,......N}
Trong N l s lng nt. Tng t E c biu din:

E={ei | i=1,2,......M}
Mt lin kt, ej, tng ng mt kt ni gia mt cp nt. C th biu din mt lin kt ej gia nt i v k bi
37

ej=(vi,vk)
hoc bi

ej=(i,k)
Mt lin kt gi l i ti mt nt nu nt l mt trong hai im cui ca lin kt. Nt i v k gi l k nhau nu tn ti mt lin kt (i, k) gia chng. Nhng nt nh vy c xem l cc nt lng ging. Bc ca nt l s lng lin kt i ti nt hay l s lng nt lng ging. Hai khi nim trn l tng ng nhau trong cc graph thng thng. Tuy nhin vi cc graph c nhiu hn mt lin kt gia cng mt cp nt, th hai khi nim trn l khng tng ng. Trong trng hp , bc ca mt nt c nh ngha l s lng lin kt i ti nt . Mt lin kt c th c hai hng. Khi th t ca cc nt l khng c nghi. Ngc li th t cc nt c ngha. Trong trng hp th t cc nt c ngha, mt lin kt c th c xem nh l mt cung v c nh ngha

aj=[vi,v k]
hoc n gin hn

aj=[i,k] k c gi l cn k hng ra i vi i nu mt cung [i,k] tn ti v bc hng ra ca i l s lng cc cung nh vy. Khi nim cn k hng vo v bc cn k hng vo cng c nh ngha tng t.
Mt graph gi l mt mng nu cc lin kt v cc nt c mt trong lin kt c cc thuc tnh (chng hn nh di, dung lng, loi...). Cc mng c s dng m hnh cc vn cn quan tm trong truyn thng, cc thuc tnh ring bit ca nt v lin kt th lin quan n cc vn c th trong truyn thng. S khc nhau gia cc lin kt v cc cung l rt quan trng c v vic lp m hnh cho mng ln qu trnh hot ng bn trong ca cc thut ton, v vy s khc nhau cn phi lun c phn bit r rng. V mt hnh hc cc lin kt l cc ng thng kt ni cc cp nt cn cc cung l cc ng thng c mi tn mt u, biu din chiu ca cung. Mt graph c cc lin kt gi l graph v hng, tuy nhin mt graph c cc cung gi l graph hu hng. Mt graph hu hng c th c c cc lin kt v hng. Thng thng , cc graph c gi s l v hng, hoc s phn bit l khng c ngha. C th c kh nng xy ra hin tng xut hin nhiu hn mt lin kt gia cng mt cp nt (iu ny tng ng vi vic c nhiu knh thng tin gia hai chuyn mch). Nhng lin kt nh vy c gi l cc lin kt song song. Mt graph c lin kt song song gi l mt multigraph.

38

Cng c kh nng xut hin cc lin kt gia mt nt no v chnh nt . Nhng lin kt c gi l cc self loop. Chng t khi xut hin v thng xut hin do vic xem hai nt nh l mt nt trong qu trnh lp m hnh graph cho mt mng hoc pht sinh trong qu trnh thc hin mt thut ton c vic hp nht cc nt. Hnh 4.2 minh ho mt graph c cc lin kt song song v cc self loop. Mt graph khng c cc lin kt song song hoc cc self loop gi l mt graph n gin. Vic biu din v vn dng cc graph n gin l tng i d dng, v vy gi thit rng cc graph c xem xt l cc graph n gin. Nu c s khc bit vi gi thit ny, chng s c ch ra. 4.2. Cc m hnh nh tuyn qung b (broadcast routing) 4.2.1. Lan trn gi (flooding) Mt dng mnh hn ca nh tuyn ring bit l lan trn gi. Trong phng thc ny, mi gi i n router s c gi i trn tt c cc ng ra tr ng m n i n. Phng thc lan trn gi ny hin nhin l to ra rt nhiu gi sao chp (duplicate). Trn thc t, s gi ny l khng xc nh tr khi thc hin mt s bin php hn ch qu trnh ny. Mt trong nhng bin php l s dng b m bc nhy trong phn tiu ca mi gi. Gi tr ny s b gim i mt ti mi bc nhy. Gi s b loi b khi b m t gi tr khng. V mt l tng, b m bc nhy s c gi tr ban u tng ng vi di t ngun n ch. Nu nh ngi gi khng bit di ca ng i, n c th t gi tr ban u ca b m cho trng hp xu nht. Khi gi tr ban u s c t bng ng knh ca mng con. Mt k thut khc ngn s lan trn gi l thm s th t vo tiu cc gi. Mi router s cn c mt danh sach theo nt ngun ch ra nhng s th t t ngun c xem xt. trnh danh sch pht trin khng gii hn, mi danh sch s tng ln bi s m k ch ra rng tt c cc s th t n k c xem. Khi mt gi i ti, rt d dng c th kim tra c gi l bn sao hay khng. Nu ng gi l bn sao th gi ny s b loi b. Lan trn gi c u im l lan trn gi lun lun chn ng ngn nht. C c u im ny l do v phng din l thuyt n chn tt c cc ng c th do n s chn c ng ngn nht. Tuy nhin nhc im ca n l s lng gi gi trong mng qu nhiu. S dng lan trn gi trong hu ht cc ng dng l khng thc t. Tuy vy lan trn gi c th s dng trong nhng ng dng sau.
n

Trong ng dng qun s, mng s dng phng thc lan trn gi gi cho mng lun lun hot ng tt khi i mt vi qun ch. Trong nhng ng dng c s d liu phn b, i khi cn thit phi cp nht tt c c s d liu. Trong trng hp s dng lan trn gi l cn thit. V d s dng lan trn gi gi cp nht bn nh tuyn bi v cp nht khng da trn chnh xc ca bng nh tuyn.
39

Phng php lan trn gi c th c dng nh l n v so snh phng thc nh tuyn khc. Lan trn gi lun lun chn ng ngn nht. iu dn n khng c gii thut no c th tm c tr ngn hn.

Mt bin i ca phng php lan trn gi l lan trn gi c chn lc. Trong gii thut ny, router ch gi gi i ra trn cc ng m i theo hng ch. iu c ngha l khng gi gi n nhng ng m r rang nm trn hng sai. 4.2.2. nh tuyn bc ngu nhin (random walk) Trong phng php nh tuyn ny, router s chuyn gi i n trn mt ng u ra c chn mt cch ngu nhin. Mc tiu ca phng php ny l cc gi lang thang trong mng cui cng cng n ch. Vi phng php ny gip cho qu trnh cn bng ti gia cc ng. Cng ging nh phng php nh tuyn lan trn gi, phng php ny lun m bo l gi cui cng s n ch. So vi phng php trc th s nhn rng gi trong mng s t hn. Nhc im ca phng php ny l ng t ngun n ch c th di hn ng ngn nht. Do tr ng truyn s di hn s tr ngn nht thc s tn ti trong mng. 4.2.3. nh tuyn khoai ty nng (hot potato) nh tuyn ring bit l loi nh tuyn m router quyt nh tuyn i ch da vo thng tin bn thn n lm lt c. y l mt thut ton tng thch ring bit (isolated adaptive algorithm). Khi mt gi n mt nt, router s c gng chuyn gi i cng nhanh cng tt bng cch cho n vo hng ch u ra ngn nht. Ni cch khc, khi c gi i n router s tnh ton s gi c nm ch truyn tren mi ng u ra. Sau n s gn gi mi vo cui hng ch ngn nht m khng quan tm n ng s i u. Hnh 4-1 biu din cc hng ch u ra bn trong mt router ti mt thi im no . C ba hng ch u ra tng ng vi 03 ng ra. Cc gi ang xp hng trn mi ng ch c truyn i. Trong v d y, hng ch n F l hng ch ngn nht vi ch c mt gi nm trn hng ch ny. Giu thut khoai ty nng do s t gi mi n vo hng ch ny.

Hnh 4-1. Hng ch bn trong router


40

C th bin i tng ny mt cht bng cch kt hp nh tuyn tnh vi gii thut khoai ty nng. Khi gi i n, router s tnh n c nhng trng s tnh ca ng dy v di hng ch. Mt kh nng l s dng la chn tnh tt nht tr khi di hng ch ln hn mt ngng no . Mt kh nng khc l s dng di hng ch ngn nht tr trng s tnh ca n l qu thp. Cn mt cch khc l sp xp cc ng theo trng s tnh ca n v sau li sp xp theo di hng ch ca n. Sau s chn ng c tng v tr sp xp l nh nht. D gii thut no c chn i chng na cng c c tnh l khi t ti th ng c trng s cao nht s c chn, nhng s lm cho hng ch cho ng ny tng ln. Sau mt s lu lng s c chuyn sang ng t ti hn. 4.2.4. nh tuyn ngun (source routing) v m hnh cy (spanning tree) Chng ta s xt mt s thut ton c bn dng cho vic tm kim cc cy c s dng thit k v phn tch mng. Mt cy l mt graph khng c cc vng; bt k mt cp nt no cng ch c duy nht mt ng i. y ch yu xem xt cc graph v hng, nhng graph c cc lin kt c s dng c hai chiu trong qu trnh to ra cc ng i. V mt s l do, cc cy rt hu dng v c s dng nh l graph c bn cho cc thut ton v cc k thut phn tch v thit k mng. Th nht, cc cy l mng ti thiu; cung cp mt s kt ni m khng mt lin kt no l khng cn thit. Th hai, do vic ch cung cp duy nht mt ng i gia mt cp nt bt k, cc cy gii quyt cc vn v nh tuyn (ngha l quyt nh vic chuyn lu lng gia hai nt). iu lm n gin mng v dng ca n. Tuy nhin, v cc cy lin thng ti thiu nn cng n gin v c tin cy ti thiu. l nguyn nhn ti sao cc mng thc t thng c tnh lin thng cao hn. Chnh v vy, vic thit k mt mng thng bt u bng mt cy. 4.2.5. Duyt cy Cho trc mt cy no , chng ta c th i ti mi nt ca n. Qu trnh gi l mt qu trnh duyt cy. Trong qu trnh thc hin, cc cnh trong cy c duyt hai ln, mi ln theo mt hng khc nhau. C nhiu cch duyt khc nhau. u tin, ch ra mt nt ca cy lm nt gc. Vic duyt c thc hin xoay quanh nt . C mt s iu kin la chn nt gc ny (chng hn nt gc l mt khu vc my tnh trung tm). Ngoi ra, nt gc c th c chn mt cch ngu nhin. Gi s nt A trong hnh 4.1 l nt gc ca cy. T A chng ta c th ln lt i ti cc nt k cn ca n nh l B, C hoc D. Sau , li i theo cc nt k cn ca chng (B, C v D) l E, F, G v H. Tip tc i ti ln lt cc nt k cn khc bn cnh cc nt ny. Khi , vic duyt ny s kt thc khi ti cc nt I, J, K v L. Qu trnh ny c gi l tm kim theo chiu rng. Trong qu trnh tm kim theo chiu rng mt c im cn ch l nhng nt gn nt gc nht s c
41

ti trc. Vic tm kim s thc hin theo mi hng cng lc. iu i khi c ch v c thc hin d dng. Mt thut ton nhm i ti mi nt ca cy th c gi l thut ton duyt cy. Thut ton sau y, Bfstree, thc hin mt qu trnh tm kim theo chiu rng. (Chng ta quy c rng, cc tn hm c k t u tin l k t hoa phn bit chng vi cc tn bin). Bfstree s s dng mt danh sch k cn n_adj_list, danh sch ny lit k tt c cc nt k cn ca mi nt thuc cy. n gin hn, gi s rng cy ny l mt cy hu hng hng ra nhn t gc v do n_adj_list s ch bao gm cc nt k cn vi mt nt no m cc nt k cn xa gc hn so vi nt ang xt.

Hnh 4-2. Duyt cy

void <-BfsTree ( n, root, n_adj_list ): dcl n_adj_list [n, list ] scan_queue [queue ] InitializeQueue (scan_queue ) Enqueue( root, scan_queue ) while (NotEmpty(scan_queue)) node <- Dequeue (scan_queue) Visit(node ) for each (neighbor , n_adj_list [node ]) Enqueue(neighbor, scan_queue)
Visit l mt th tc trong thc hin mt s qu trnh no i vi mi nt (chng hn nh in ln mn hnh cc thng tin ca mi nt .v.v).
42

Thut ton ny c thc hin cng mt hng i. Hng i l mt FIFO; trong cc phn t c thm vo t pha sau hng i v chuyn ra t pha trc. Cc th tc InitializeQueue, Enqueue, Dequeue, NotEmpty lm vic trn cc hng i. InitializeQueue thit lp mt hng i rng. Enqueue, Dequeue l cc th tc thm mt phn t vo cui hng i v chuyn mt phn t ra t u hng i. Hm NotEmpty tr v TRUE hoc FALSE tu thuc vo hng i c rng hay khng.

n_adj_list l mt chui m mi phn t ca chui l mt danh sch. n_adj_list[n] l mt danh sch cc nt k cn nt n. Nh ni chng trc, for_each(element, list), l mt cu trc iu khin thc hin vng lp i vi tt c cc phn t ca list v thc hin cc m bn trong vng lp, trong vng lp cc phn t ca list ln lt c s dng. Th tc trn hot ng vi gi thit l n_adj_list c thit lp trc khi th tc BfsTree c gi.
Tng t, ta c th nh ngha mt qu trnh tm kim theo chiu su. Qu trnh ny cng bt u t nt gc. Qu trnh duyt tip tc thc hin nt lng ging cha c duyt ca nt va mi c duyt. Ta cng gi s rng cy bao gm cc lin kt c hng i ra xa nt gc.
V d 4.1:

Tr li vi graph trong hnh 4.1, ta c th ti nt B t nt A. Sau , ta ti nt E, k cn vi nt B-nt c duyt gn thi im hin ti nht. Nt E ny khng c nt k cn cha duyt no, do vy ta phi quay tr li nt B i sang nt F. Ta tip tc i ti cc nt I, J, K (cng vi vic quay li nt I), v nt L. Sau ta quay tr v nt A, tip tc ti cc nt cn li l C, D, G v H. Do vy, ton b qu trnh duyt l:

A, B, E, F, I, J, K, L, C, D, G, H
Nh rng th t ca qu trnh duyt l khng duy nht. Trong qu trnh duyt trn ta chn cc nt k cn xm nhp theo th t t tri qua phi. Nu chn theo th t khc, qu trnh duyt l: A, B, F, I, J, K, L, E, D, H, G, C Trt t thc t ca qu trnh duyt ph thuc vo tng thut ton c th. iu ny cng ng vi mt qu trnh tm kim theo chiu rng. Kim tra thut ton BfsTree, trt t ny l mt hm ca trt t cc nt cn k trong n_adj_list. Thut ton DfsTree sau s thc hin mt qu trnh tm kim theo chiu su.

void <- DfsTree(n, root, n_adj_list): dcl n_adj_list [n, list] Visit(root) for each(neighbor, n_adj_list[node]) DfsTree(n, neighbor, n_adj-list)

43

Qu trnh tm kim ny s c thc hin vi s tr gip ca mt ngn xp theo kiu LIFO, ngha l phn t c thm vo v chuyn ra t nh ngn xp. Trong trng hp ny, chng ta thng gi quy DfsTree, thc t chng ta s dng ngn xp h thng, ngha l s dng loi ngn xp m h thng s dng lu gi cc li gi hm v i s. C hai loi duyt trnh by trn u l qu trnh duyt thun (ngha l cc qu trnh ny duyt mt nt ri sau duyt ti nt tip theo ca nt ). Qu trnh duyt ngc i khi cng rt cn thit, trong qu trnh duyt ngc mt nt c duyt sau khi duyt nt tip ca nt . D nhin, cng c th thnh lp mt danh sch thun v sau o ngc danh sch . Cng c th thay th trt t tm kim mt cch trc tip nh th tc sau:

void <- PostorderDfsTree(n, root, n_adj_list): dcl n_adj_list [n, list] for each(neighbor, n_adj_list[node]) PostorderDfsTree(n, neighbor, n_adj_list) Visit (root) Cc thnh phn lin thng trong cc graph v hng
Ta c th p dng khi nim duyt cc nt vo mt graph v hng, n gin ch bng cch theo di cc nt c duyt v sau khng duyt cc nt na. C th duyt mt graph v hng nh sau:

void <- Dfs(n, root, n_adj_list): dcl n_adj_list [n, list] visited [n] void <- DfsLoop (node) if (not(visited [node]) visited [node]<-TRUE visit [node] for each(neighbor, n_adj_list[node]) DfsLoop (neighbor) visited <-FALSE DfsLoop (root)
Ch rng cu lnh

Visited <-FALSE khi to ton b cc phn t mng c duyt bng FALSE. Cng cn ch rng th tc DfsLoop c nh ngha bn trong th tc Dfs nn DfsLoop c th truy cp ti visited v n_adj_list (Lu rng cch d nht c cc gi m cho cc hm c dng hm Dfs trn l trc tin hy c thn ca hm
44

chnh ri quay tr li c thn ca cc hm nhng nh hm DfsLoop). Ch rng trong qu trnh duyt chng ta ngm kim tra tt c cc cnh trong graph, mt ln cho mi u cui ca mi cnh. C th, vi mi cnh (i, j) ca graph th j l mt phn t ca n_adj_list[i] v i l mt thnh phn trong n_adj_list[j]. Thc t, c th a chnh cc cnh vo cc danh sch k cn ca n v sau tm nt im cui khc ca cnh bng hm:

node <- OtherEnd(node1, edge)


Hm ny s tr v mt im cui ca edge khc vi node1. iu lm phc tp qu trnh thc hin i cht. C th d dng thy rng phc tp ca cc thut ton duyt cy ny bng O(E), vi E l s lng cnh trong graph. By gi chng ta c th tm c cc thnh phn lin thng ca mt graph v hng bng cch duyt mi thnh phn. Chng ta s nh du mi nt bng mt ch s thnh phn khi chng ta tin hnh. Cc bin n_component s theo di bt k thnh phn no m chng ta i ti

void <- LabelComponent (n, n_adj_list): dcl n_component_number [n], n_adj_list[n,list] void <- Visit [node] n_component_number [node]<ncomponents n_component_number<-0 ncomponent<-0 for each(node, node_set) if (n_component_number [node]=0) ncomponent +=1 Dfs (node, n_adj_list)
Chng ta nh nghi mt hm Visit thit lp mt ch s thnh phn cc nt c duyt. Hm ny nm bn trong th tc LabelComponent v ch c th c gi t trong th tc . Mt khc, Dfs cn c nh ngha bn ngoi, v th n c th c gi t bt k u. Trong khi thc hin qu trnh duyt theo chiu rng v chiu su mt graph v hng, nhng cnh ni mt nt vi mt nt lng ging cha duyt trc khi duyt nt to ra mt cy, nu graph l khng lin thng th to ra mt rng.

45

Hnh 4-3. Cc thnh phn


Hnh 4-3 biu din mt graph c 4 thnh phn. Gi s vng trn tp cc nt i theo tun t alphabet, cc thnh phn c nh s theo trt t cc nt c ch ci "thp nht" v ch s thnh phn c biu din bn cnh nt. Vi mi thnh phn, thut ton trn s gi Dfs kim tra thnh phn . Trong , thut ton cng kim tra cc cnh, mi cnh mt ln. V th, phc tp ca n c bc bng bc ca tng s cc nt cng vi s cc cnh trong tt c cc thnh phn (ngha l phc tp ca thut ton bng O(N+E)).

Cy bc cu ti thiu (Minimum Spanning Tree)


C th s dng Dfs tm mt cy bc cu nu c mt cy bc cu tn ti. Cy tm c thng l cy v hng. Vic tm cy "tt nht" thng rt quan trng . Chnh v vy, chng ta c th gn mt " di" cho mi cnh trong graph v t ra yu cu tm mt cy c di ti thiu. Thc t, " di" c th l khong cch, gi, hoc l mt i lng nh gi tr hoc tin cy. Mt cy c tng gi l ti thiu c gi l cy bc cu ti thiu. Ni chung, nu graph l mt graph khng lin thng, chng ta c th tm c mt rng bc cu ti thiu. Mt rng bc cu ti thiu l mt tp hp cc cnh ni n graph mt cch ti a c tng di l ti thiu. Bi ton ny c th c xem nh l vic la chn mt graph con ca graph gc cha tt c cc nt ca graph gc v cc cnh c la chn. u tin, to mt graph c n nt, n thnh phn v khng c cnh no c. Mi ln, chng ta chn mt cnh thm vo graph ny hai thnh phn lin thng trc cha c kt ni c lin kt li vi nhau to ra mt thnh phn lin thng mi (ch khng chn cc cnh thm vo mt thnh phn lin thng trc v to ra mt vng). V vy, ti bt k giai on no ca thut ton, quan h:

n=c+e
46

lun c duy tr, y n l s lng nt trong graph, e l s cnh c la chn tnh cho ti thi im xt v c l s lng thnh phn trong graph tnh cho ti thi im xt. cui thut ton, e bng n tr i s thnh phn trong graph gc; nu graph gc l lin thng, chng ta s tm c mt cy c (n-1) cnh. Nh gii thch trn, Dfs s tm ra mt rng bc cu. Tuy nhin, chng ta thng khng tm c cy bc cu c tng di ti thiu. Thut ton "hu n" Mt cch tip cn kh d tm mt cy c tng di ti thiu l, mi giai on ca thut ton, la chn cnh ngn nht c th. Thut ton gi l thut ton "hu n". Thut ton ny c tnh cht "thin cn" ngha l khng lng trc c cc kt qu cui cng do cc quyt nh m chng a ra mi bc gy ra. Thay vo , chng ch a ra cch chn tt nht cho mi qu trnh la chn. Ni chung, thut ton "hu n" khng tm c li gii ti u cho mt bi ton. Thc t thut ton thm ch cn khng tm c mt li gii kh thi ngay c khi li gii tn ti. Tuy nhin chng hiu qu v d thc hin. Chnh v vy chng c s dng rng ri. Cc thut ton ny cng thng to c s cho cc thut ton c tnh hiu qu v phc tp hn. V th, cu hi u tin t ra khi xem xt vic ng dng mt thut ton gii quyt mt bi ton l liu bi ton y c hay khng cu trc no m bo cho thut ton hot ng tt. Hy vng rng thut ton t ra cng m bo c mt li gii kh thi nu li gii tn ti. Khi , n s m bo tnh ti u v m bo yu cu no v thi gian thc hin. Bi ton tm cc cy bc cu ti thiu thc s c mt cu trc mnh cho php thut ton "hu n" m bo c tnh ti u cng nh m bo phc tp tnh ton mc va phi. Dng chung ca thut ton "hu n" l: Bt u bng mt li gii rng s. Trong khi vn cn c cc phn t cn xt, Tm e, phn t "tt nht" vn cha xt Nu vic thm e vo s l kh thi th e c thm vo s, nu vic thm khng kh thi th loi b e. Cc yu cu cc kh nng sau:
n

So snh gi tr ca cc phn t xc nh phn t no l "tt nht" Kim tra tnh kh thi ca mt tp cc phn t

Khi nim "tt nht" lin quan n mc ch ca bi ton. Nu mc ch l ti thiu, "tt nht" ngha l b nht. Ngc li, "tt nht" ngha l ln nht.
47

Thng thng, mi gi tr gn lin vi mt phn t, v gi tr gn lin vi mt tp n gin ch l tng cc gi tr i cng ca cc phn t trong tp . l trng hp cho bi ton cy bc cu ti thiu c xt trong phn ny. Tuy nhin, khng phi l trng hp chung. Chng hn, thay cho vic ti thiu tng di ca tt c cc cnh trong mt cy, mc ch ca bi ton l ti thiu ho di cc cnh di nht trong cy. Trong trng hp , gi tr ca mt cnh l di ca cnh v gi tr ca mt tp s l di ca cnh di nht nm trong tp. Mun tm c cnh "tt nht" b sung, hy nh gi cc cnh theo nh hng v gi tr ca n ti gi tr ca tp. Gi s V(S) l gi tr ca tp S v v(e,S) l gi tr ca mt phn t e th v(e,S) c quan h vi tp S bi cng thc

v(e,S)= V(S e) - V(S)


Trong trng hp ti thiu di ca cnh di nht trong mt cy. v(e,S) bng 0 i vi bt k cnh no khng di hn cnh di nht c chn. Ngc li, n s bng hiu di gia cnh vi cnh di nht c chn, khi hiu ln hn 0. Trong trng hp chung, gi tr ca tp c th thay i mt cch ngu nhin khi cc phn t c b sung vo n. Chng ta c th gn gi tr 1 cho cc tp c s lng phn t l chn v 2 cho cc tp c s lng phn t l l. iu lm cho cc gi tr ca cc phn t ch l mt trong hai gi tr +1 v -1. Trong trng hp ny, thut ton "hu n" khng c s dng. By gi gi s rng "trng lng" ca mt tp bin i theo mt cch hp l hn th khi , s c mt c s hp l hn cho vic ch ra phn t "tt nht". Mt iu quan trng cn ch l, khi tp ln ln, gi tr ca phn t m trc khng c xem xt c th thay i do cc phn t thm vo tp . Khi iu ny xy ra, thut ton "hu n" c th mc li trong cc la chn ca n v s nh hng ti cht lng ca li gii m chng ta nhn c. Tng t, trong hu ht cc trng hp, tnh kh thi c th b nh hng mt cch ngu nhin do s b sung phn t. Chnh v vy, trong cc bi ton m nhng tp c s lng phn t chn c th c xem l kh thi v nhng tp c s phn t l l c th c xem l khng kh thi th thut ton "hu n" hoc bt k thut ton no c b sung cc phn t, mi ln mt phn t, s khng hot ng. V vy chng ta s gi thit cc tnh cht sau, nhng tnh cht ny lun c duy tr trong mi trng hp xem xt:
Tnh cht 1:

Bt k mt tp con no ca mt tp kh thi th cng kh thi, c bit tp rng cng l mt tp kh thi. Ngoi ra gi thit rng phc tp ca thut ton tnh ton gi tr ca mt tp v kim tra s kh thi ca chng l va phi, c bit, khi phc tp ny l mt a thc ca s nt v cnh trong graph.

48

list<-Greedy (properties) dcl properties [list, list] candidate_set[list] solution[list] void<-GreedyLoop ( *candidate_set, *solution) dcl test_set[list],solution[list], candidate_set[list] element <SelectBestElement(candidate_set) test_set <Append(element,solution) if(Test(test_set)) solution<-test_set candidate_set<Delete(element,candidate_set) if(not(Empty(candidate_set))) Greedy_loop(*candidate_set, *solution) candidate_set<ElementsOf(properties) solution<-f if(!(Empty(element_set))) GreedyLoop(*candidate_set, *solution) return(solution)
By gi ta c th xem xt su hn cc cu lnh ca thut ton "hu n". Cc cu lnh ca thut ton hi kh hiu v chng da trn nh ngha ca hai hm, Test v SelestBestElement (l hm kim tra tnh kh thi v nh gi cc tp). Chng ta cng gi s rng c mt cu trc properties, l mt danh sch ca cc danh sch cha tt c cc thng tin cn thit kim tra v nh gi tt c cc tp. Mt danh sch ca cc danh sch n gin ch l mt danh sch lin kt, m mi thnh vin ca n l mt danh sch. Thm ch cu trc c th c lng vo nhau su hn, ngha l c cc danh sch nm bn trong cc danh sch nm bn trong cc danh sch. Cu trc nh vy tng i ph bin v c th c s dng biu din hu ht cc kiu thng tin. C th lu gi di, loi lin kt, dung lng, hoc a ch. Bn thn cc mc thng tin ny c th l mt cu trc phc tp; ngha l cu trc c th lu gi gi v cc dung lng ca mt vi loi knh khc nhau cho mi lin kt. Trn thc t, iu rt c ch cho vic duy tr cc cu trc d liu tr gip cho php thut ton thc hin hiu qu hn. Bi ton v cy bc cu ti thiu l mt v d. Tuy nhin, r rng, gi s rng tt c qu trnh tnh ton c thc hin trn mt cu trc properties sn c ( c khi to). f c s dng biu din tp rng. Append v Delete l cc hm b sung v chuyn i mt phn t khi mt danh sch. ElementsOf ch n gin ch ra cc phn t ca mt danh sch; v vy, ban u tt c cc phn t trong properties l cc ng c. C rt nhiu cch thc hin
49

cc qu trnh ny. properties c th l mt dy v cc hm Append, Delete v ElementsOf c th hot ng vi cc danh sch ch s (danh sch m cc phn t l cc ch s mng). Trong thc t cch thc hin c chn l cch lm sao cho vic thc hin cc hm Test v SelectBestElement l tt nht. on gi m trn gi thit rng thut ton "hu n" s dng li khi khng cn phn t no xem xt. Trong thc t, c nhiu nguyn nhn thut ton dng li. Mt trong nhng nguyn nhn l khi kt qu xu i khi cc phn t c tip tc thm vo. iu nay xy ra khi tt c cc phn t cn li u mang gi tr m trong khi chng ta ang c tm cho mt gi tr ti a. Mt nguyn nhn khc l khi bit rng khng cn phn t no trong tp ng c c kh nng kt hp vi cc phn t va c chn to ra mt li gii kh thi. iu ny xy ra khi mt cy bc cu ton b cc nt c tm thy. Gi s rng thut ton dng li khi iu l hp l, cn nu khng, cc phn t khng lin quan s b loi ra khi li gii. Gi thit rng, cc li gii cho mt bi ton tho mn tnh cht 1 v gi tr ca tp n gin ch l tng cc gi tr ca cc phn t trong tp. Ngoi ra, gi thit thm rng tnh cht sau c tho mn:
Tnh cht 2:

Nu hai tp Sp v Sp+1 ln lt c p v p+1 phn t l cc li gii v tn ti mt phn t e thuc tp Sp+1 nhng khng thuc tp Sp th Sp{e} l mt li gii. Chng ta thy rng, cc cnh ca cc rng tho mn tnh cht 2, ngha l nu c hai rng, mt c p cnh v rng kia c p+1 th lun tm c mt cnh thuc tp ln hn m vic thm cnh vo tp nh hn khng to ra mt chu trnh. Mt tp cc li gii tho mn cc tnh cht trn gi l mt matroid. nh l sau y l rt quan trng (chng ta ch tha nhn ch khng chng minh).
nh l 4.1

Thut ton hu n m bo m mt li gii ti u cho mt bi ton khi v ch khi cc li gii to ra mt matroid. C th thy rng, tnh cht 1 v tnh cht 2 l iu kin cn v m bo tnh ti u ca thut ton hu n . Nu c mt li gii cho mt bi ton no m n tho mn hai tnh cht 1 v 2 th cch n gin nht l dng thut ton hu n gii quyt n. iu ng vi mt cy bc cu. Sau y l mt nh l khng km phn quan trng.
nh l 4.2
50

Nu cc li gii kh thi cho mt bi ton no to ra mt matroid th tt c cc tp kh thi ti a c s lng phn t nh nhau. Trong , mt tp kh thi ti a l mt tp m khi thm cc phn t vo th tnh kh thi ca n khng c bo ton; N khng nht thit phi c s lng phn t ti a cng nh khng nht thit phi c trng lng ln nht. nh l o ca nh l trn cng c th ng nghi l nu tnh cht 1 c tho mn v mi tp kh thi ti a c cng s lng phn t, th tnh cht 2 c tho mn. nh l 4.2 cho php chng ta chuyn i mt bi ton ti thiu P thnh mt bi ton ti a P' bng cch thay i cc gi tr ca cc phn t. Gi thit rng tt c v(xj) trong P c gi tr m. Li gii ti u cho bi ton P c s lng phn t ti a l m th chng ta c th to ra mt bi ton ti a P' t P bng cch thit lp cc gi tr ca cc phn t trong P' thnh -v(xj). Tt c cc phn t u c gi tr dng v P' c mt li gii ti u cha m phn t. Thc ra, th t ca cc li gii ti a phi c o li: li gii c gi tr ti a trong P' cng l li gii c gi tr ti thiu trong P. Gi s lc nay ta cn tm mt li gii c gi tr ti thiu, tun theo iu kin l c s lng ti a cc phn t. S tnh c cc phn t c gi tr dng. C th gii quyt bi ton P nh l mt bi ton ti a P' bng cch thit lp cc gi tr ca cc phn t thnh B-v(xj) vi B c gi tr ln hn gi tr ln nht ca xj. Khi cc gi tr trong P' u dng v P' l mt li gii ti u c m phn t. Th t ca tt c cc tp kh thi ti a b o ngc: mt tp c gi tr l V trong P th c gi tr l mB-V trong li gii P'. Mt gi tr ti a trong P' th c gi tr ti thiu trong P. Quy tc ny cng ng vi cc cy bc cu tho mn tnh cht 1 v tnh cht 2 v c th tm mt cy bc cu ti thiu bng cch s dng mt thut ton hu n. Thut ton Kruskal Thut ton Kruskal l mt thut ton hu n c s dng tm mt cy bc cu ti thiu. Tnh ng n ca thut ton da trn cc nh l sau:
nh l 4.3

Cc rng th tho mn tnh cht 1 v 2. Nh chng ta bit, mt rng l mt tp hp cc cnh m tp hp khng cha cc chu trnh. R rng l bt k mt tp con cc cnh no ca mt rng (thm ch c tp rng) cng l mt rng, v vy tnh cht 1 c tho mn.
51

thy rng tnh cht 2 cng tho mn, xt mt graph c biu din trong hnh 4.4.

Hnh 4.3.
Gi s c mt rng F1 c p cnh. Rng {2,4} l mt v d vi p=2, v n c biu din bng nt t trong hnh 4.4. Khi xt mt rng khc F2 c p+1 cnh. C hai trng hp c xt. Trng hp 1: F2 i ti mt nt n, nhng F1 khng i ti nt . Mt v d ca trng hp ny l rng {1, 4, 6}, rng ny i ti E cn F1 th khng. Trong trng hp ny, c th to ra rng {2, 4, 6} bng cch thm cnh 6 vo rng {2,4}. Trng hp 2: F2 ch i ti cc nt m F1 i ti. Mt v d ca trng hp ny l rng {1. 4. 5}. Xt S, mt tp cc nt m F1 i ti. Cho rng c k nt trong tp S. V F1 l mt rng nn mi cnh trong F1 gim s lng thnh phn trong S i mt, do tng s lng thnh phn l k-p. Tng t, F2 to ra k-(p+1) thnh phn t S (s lng thnh phn va ni b hn vi s lng thnh phn ca F1). V vy, mt cnh tn ti trong F2 m cc im cui ca n nm cc thnh phn khc nhau trong F1 th c th thm cnh vo F1 m khng to ra mt chu trnh. Cnh 3 l mt cnh c tnh cht trong v d ny (cnh 1 v 5 cng l nhng cnh nh vy). V th, chng ta thy rng nu tnh cht 1 v 2 c tho mn th mt thut ton hu n c th tm c mt li gii ti u cho c bi ton cy bc cu ti thiu ln bi ton cy bc cu ti a. Ch rng mt cy bc cu l mt rng c s cnh ti a N-1 cnh vi N l s nt trong mng. Sau y chng ta s xt bi ton ti thiu. Thut ton Kruskal thc hin vic sp xp cc cnh vi cnh u tin l cnh ngn nht v tip theo chn tt c cc cnh m nhng cnh ny khng cng vi cc cnh c la chn trc to ra cc chu trnh. Chnh v th, vic thc hin thut ton n gin l:

list <- kruskal_l( n, m, lengths )


52

dcl length[m], permutation[m], solution[list] permution <- VectorSort( n , lengths ) solution <- F for each ( edge , permutation ) if ( Test(edge , solution ) ) solution <- Append ( edge , solution ) return( solution ) VectorSort c u vo l mt vector c di l n v kt qu tr v l th t sp xp cc s nguyn t 1 ti n. S sp xp gi cho gi tr tng ng trong vector theo th t tng dn.
V d 4.2:

Gi s rng n= 5 v gi tr ca mt vector l

31, 19, 42, 66, 27 VectorSort s tr v th t sp xp nh sau: 2, 5, 1, 3, 4


Test nhn mt danh sch cc cnh v tr v gi tr TRUE nu cc cnh khng cha mt chu trnh. V Test c gi cho mi nt, s hiu qu ca ton b thut ton tu thuc vo tnh hiu qu ca vic thc hin Test. Nu mi khi cc cnh c thm vo cy, chng ta theo di c cc nt ca cnh thuc cc thnh phn no th Test tr nn n gin; n gin ch l vic kim tra xem cc nt cui ca cc cnh ang c xt c cng mt thnh phn khng. Nu cng, cnh s to ra mt chu trnh. Ngc li, cnh khng to nn chu trnh. Tip l xem xt vic duy tr cu trc thnh phn. C mt s cch tip cn. Mt trong cc cch l mi nt duy tr mt con tr n mt nt khc trong cng mt thnh phn v c mt nt mi thnh phn gi l nt gc ca thnh phn th tr vo chnh n. V th lc u, bn thn mi nt l mt thnh phn v n tr vo chnh n. Khi mt cnh c thm vo gia hai nt i v j, tr i ti j. Sau , khi mt cnh c thm vo gia mt nt i trong mt thnh phn c nt gc l k v mt nt j trong mt thnh phn c nt gc l l th tr k ti l. V vy, chng ta c th kim tra mt cnh bng cch da vo cc con tr t cc nt cui ca n v xem rng chng c dn n cng mt ni hay khng. Chui cc con tr cng ngn, vic kim tra cng d dng. Nhm gi cho cc chui cc con tr ngn, Tarjan gi nn lm gn cc chui khi chng c duyt trong qu trnh kim tra. C th, ng gi mt hm FindComponent c to ra nh sau:

index <- FindComponent(node , *next) dcl next[]


53

p=next[node] q=next[p] while ( p!=q ) next[node]= q node = q p=next[node] q=next[p] return (p) FindComponent tr v nt gc ca thnh phn cha node. Hm ny cng iu chnh next , nt hng v nt gc cha nt . c bit, hm ny iu chnh next hng ti im tng cao hn. Tarjan ch ra rng, bng cch , th lm gn ng i ti nt gc mt cc hon ton cn hn l khng lm gn mt cht no c v ton b kt qu trong vic tm kim v cp nht next ch ln hn so vi O(n+m) mt cht vi n l s lng nt v m l s lng cnh c kim tra.
V d 4.3:

Hnh 4-4. Php tnh Minimum Spanning Tree ( MST)


Xt mt mng c biu din trong hnh 4.4. cc du * trong hnh c gii thch di y. u tin, sp xp cc cnh v sau ln lt xem xt tng cnh, bt u t cnh nh nht. V th, chng ta xem (A, C) l cnh u tin. Gi FindComponent cho nt A ta thy c p ln q u l A nn FindComponent tr v A nh l nt gc ca thnh phn cha nt A. Tng t, FindComponent tr v C nh l nt gc ca thnh phn cha nt C. V th, chng ta mang A v C vo cy v thit lp next[A] bng C. Sau , xt (B, D). Hm cng thc hin tng t v B, D c thm vo cy, next[B] bng D. Chng ta xt (C, E), chp nhn n v thit lp next[C] bng E. By gi, xt (A, E). Trong FindComponent, p l C cn q l E. V th chng ta chy vo vng lp while , thit lp next[A] bng E v rt ngn ng i t A ti E vi E l nt gc ca thnh phn cha chng. Node, p v q c thit lp thnh E v FindComponent tr v E nh l nt gc ca thnh phn cha nt A. FindComponent cng tr v E nh l nt gc ca thnh phn cha E. V th, c hai im cui ca (A, E) l cng mt thnh phn nn (A, E) b loi b.
54

Tip n, xt (A, B). Trong qu trnh gi FindComponent i vi nt A, chng ta thy rng p=q=E v next khng thay i. Tng t, qu trnh gi FindComponent i vi nt B ta c p=q=D. V th, chng ta thit lp next[E] bng D. Ch rng, chng ta khng thit lp next[A] bng B, m li thit lp next i vi nt gc ca thnh phn ca A bng vi nt gc ca thnh phn ca B. Cui cng, (C, D) c kim tra v b loi b. Trong hnh 4.4 nhng cnh trong cy bc cu c phn bit bi mt du * ngay bn cnh cc cnh . Ni dung cc next c ch ra bng cc cung (cc cnh hu hng) c mi tn. Chng hn, next[B] bng D c ch ra bng mt mi tn t B ti D. Ch rng, cc cung c nh ngha bi next to ra mt cy, nhng ni chung cy khng phi l mt cy bc cu ti thiu. Thc vy, vi trng hp c mt cung (E, D), ngay c khi cc cung khng cn thit phi l mt phn graph. V vy, bn thn next ch nh ngha cu trc thnh phn khi tin hnh thc hin thut ton. Chng ta to mt danh sch hin cc cnh c chn dnh cho vic bao gp trong cy. Gi ca cy c nh ngha bi next tng i bng phng, nghi l cc ng i ti cc nt gc ca cc thnh phn l ngn khin FindComponent hot ng hiu qu. Hin nhin, s phc tp ca thut ton Kruskal c quyt nh bi vic sp xp cc cnh, s sp xp c phc tp l O(m log m). Nu c th tm c cy bc cu trc khi phi kim tra tt c cc cnh th chng ta c th ci tin qu trnh bng cch thc hin sp xp phn on. C th, chng ta c th lu gi cc cnh trong mt khi (heap) v sau ly ra, kim tra mi cnh cho n khi mt cy c to ra. Chng ta d dng bit c qu trnh dng vo lc no; ch n gin l theo di s lng cnh c xt v dng li khi c n-1 cnh c chp nhn. Chng ta gi s rng, cc qu trnh qun l khi (heap) nh thit lp, b xung v ly d liu ra l n gin. iu quan trng cn ch y l phc tp ca vic thit lp mt khi (heap) c m phn t l O(m), phc tp ca vic tm phn t b nht l O(1) v phc tp ca vic khi phc mt khi (heap) sau khi b xung, xo, hoc thay i mt gi tr l O(logm). Chnh v vy, nu chng ta xt k cnh tm cy bc cu, phc tp trong vic duy tr mt khi (heap) bng O(m+klogm), phc tp ny b hn O(mlogm) nu k c bc b hn bc ca m. k ti thiu bng O(n) nn nu graph l kh mng th vic s dng khi (heap) s khng c li. Nu graph l dy c th vic lu tr c th c xem xt. y l phin bn cui cng ca thut ton Kruskal, thut ton ny tn dng cc hiu ng ni trn.

list <- Kruskal_l( n, m, lengths )


55

dcl length[m], ends[m,2], next[n], solution[list], l_heap[heap] for each ( node , n ) next[node]<-node l_heap <-HeapSet(m, lengths) #_accept <-0 solution <- F while ( (#_accept < n-1) and !(HeapEmpty(l_heap)) edge <- HeapPop(*l_heap) c1=FindComponent(ends[edge,1], *next) c2=FindComponent(ends[edge,2], *next) if (c1 !=c2 ) next[c2] <- c1 solution <- Append ( edge , solution ) #_accept=#_accept+1 return( solution ) HeapSet to ra mt khi (heap) da vo cc gi tr cho trc v tr v chnh khi (heap) . HeapPop tr v ch s ca gi tr nh ca khi (heap) ch khng phi bn thn gi tr . iu ny c li hn vic tr v mt gi tr v t ch s lun bit c gi tr c ch s ch t gi tr khng th bit c ch s ca gi tr . Cng cn ch rng HeapPop lm khi (heap) thay i. HeapEmpty tr v gi tr TRUE nu khi (heap) rng. Mng ends cha cc im cui ca cc cnh.
Thut ton Prim Thut ton ny c nhng u im ring bit, c bit l khi mng dy c, trong vic xem xt mt bi ton tm kim cc cy bc cu ti thiu (MST). Hn na cc thut ton phc tp hn c xy dng da vo cc thut ton MST ny; v mt s cc thut ton ny hot ng tt hn vi cc cu trc d liu c s dng cho thut ton sau y, thut ton ny c pht biu bi Prim. Tm li, cc thut ton ny ph hp vi cc qu trnh thc hin song song bi v cc qu trnh c thc hin bng cc ton t vector. Thut ton Prim c th c miu t nh sau: Bt u vi mt nt thuc cy cn tt c cc nt khc khng thuc cy ( ngoi cy). Trong khi cn c cc nt khng thuc cy Tm nt khng thuc cy gn nht so vi cy a nt vo cy v ghi li cnh ni nt vi cy

56

Thut ton Prim da trn nhng nh l sau y:


nh l 4.4.

Mt cy l mt MST nu v ch nu cy cha cnh ngn nht trong mi cutset chia cc nt thnh hai thnh phn. thc hin thut ton Prim, cn phi theo di khong cch t mi nt khng thuc cy ti cy v cp nht khong cch mi khi c mt nt c thm vo cy. Vic c thc hin d dng; n gin ch l duy tr mt dy d_tree c cc thng tin v khong cch ni trn. Qu trnh tun theo:

array[n] <- Prim( n , root , dist ) dcl dist[n,n] , pred[n], d_tree[n], in_tree[n] index <- FindMin() d_min <- INFINITY for each( i , n ) if(!(in_tree[j]) and (d_tree[i]< d_min)) i_min <- i d_min <- d_tree[i] return ( i_min ) void <-Scan(i) for each ( j , n ) if(!(in_tree[j]) and (d_tree[j]>dist{i,j])) d_tree[j]<- dist[i,j] pred[j]<-i d_tree <- INFINITY pred <- -1 in_tree <- FALSE d_tree(root)<-0 #_in_tree <-0 while (#_in_tree < n) i <- FindMin() in_tree[i]<- TRUE Scan(i) #_in_tree =#_in_tree + 1 return (pred) FindMin tr v mt nt khng thuc cy v gn cy nht. Scan cp nht khong cch ti cy i vi cc nt khng thuc cy.
C th thy rng phc tp ca thut ton ny l O(n2); c hai hm FindMin v Scan c phc tp l O(n) v mi hm c thc hin n ln. So snh vi thut ton Kruskal ta thy rng phc tp ca thut ton Prim tng nhanh hn so vi phc tp ca thut ton
57

Kruskal nu m, s lng cc cnh, bng O(n2),cn nu m c cng bc vi n th phc tp ca thut ton Kruskal tng nhanh hn. C th tng tc thut ton Prim trong trng hp graph l mt graph mng bng cch ch quan tm n cc nt lng ging ca nt i va c thm vo cy. Nu sn c cc thng tin k lin, vng lp for trong Scan c th tr thnh.

for each (j , n_adj_list[i] )


phc tp ca Scan tr thnh O(d) vi d l bc ca nt i. Chnh v th phc tp tng cng ca Scan gim t O(n2) xung O(m). Thit lp mt tp k lin cho ton b mt graph l mt php ton c phc tp bng O(m):

index[nn,list] <- SetAdj(n ,m, ends) dcl ends[m,2], n_adj_list[n,list] for node = 1 to n n_adj_list[node] <- F for edge = 1 to m Append(edge, n_adj_list[end[edge,1]]) Append(edge, n_adj_list[end[edge,2]])
C th tng tc FindMin nu ta thit lp mt khi (heap) cha cc gi tr trong d_tree. V th, chng ta c th ly ra gi tr thp nht v phc tp tng cng ca qu trnh ly ra l O(nlogn). Vn ch l chng ta phi iu chnh khi (heap) khi mt gi tr trong d_tree thay i. Qu trnh iu chnh c phc tp l O(mlogn) trong trng hp xu nht v c kh nng mi cnh s c mt ln cp nht v mi ln cp nht i hi mt php ton c phc tp l O(logn). Do , phc tap ca ton b thut ton Prim l O(mlogn). Qua th nghim c th thy rng hai thut ton Prim v Kruskal c tc nh nhau, nhng ni chung, thut ton Prim thch hp hn vi cc mng dy cn thut ton Kruskal thch hp hn i vi cc mng mng. Tuy vy, nhng thut ton ny ch l mt phn ca cc th tc ln v phc tp hn, l nhng th tc hot ng hiu qu vi mt trong nhng thut ton ny.

58

Hnh 4.2. Graph c lin kt song song v self loop Bng 4.1
Nt init. A 0 A 0(-) C 0(-) 2(A) 6(C) E 0(-) 2(A) 6(C) B 0(-) 2(A) D 0(-) 2(A) 5(B)

B 100 10(A) 10(A) 10(A) 10(A) 10(A) C 100 2(A) E 100 7(A)
V d 4.4:

D 100 100(-) 11(A) 11(A) 5(B)

6(C) 6(C)

Tr li hnh 4.4, gi s rng cc cnh khng c biu din c di bng 100. Thut ton Kruskal s chn (A, C), (B, D), (C, E), v loi (A, E) bi v n to ra mt chu trnh vi cc cnh c chn l (A, C) v (C, E), chn (A, B) sau dng li v mt cy bc cu hon ton c tm thy. Thut ton Prim bt u t nt A, nt A s c thm vo cy. Tip theo l cc nt C, E, B v D. Bng 4.1 tng kt cc qu trnh thc hin ca thut ton Prim, biu din d_tree v pred khi thut ton thc hin. Cui thut ton, pred[B] l A, tng ng vi (A, B) l mt phn ca cy. Tng t, pred ch ra (A, C), (B, D) v (C, E) l cc phn ca cy. V vy, thut ton Prim s la chn c cy ging vi cy m thut ton Kruskal nhng th t cc lin kt c la chn l khc nhau. Mt ng i trong mt mng l mt chui lin tip cc lin kt bt u t mt nt s no v kt thc ti mt nt t no . Nhng ng i nh vy c gi l mt ng i s, t. Ch rng th t cc lin kt trong ng i l c ngha. Mt ng i c th l hu hng hoc v hng tu thuc vo vic cc thnh phn ca n l cc lin kt hay l cc cung. Ngi ta gi mt ng i l ng i n gin nu khng c nt no xut hin qu hai ln trong ng i . Ch rng mt ng i n gin trong mt graph n gin c th c biu din bng chui lin tip cc nt m ng i cha v chui cc nt biu din duy nht mt chui cc lin kt .
59

Nu s trng vi t th ng i gi l mt chu trnh, v nu mt nt trung gian xut hin khng qu mt ln th chu trnh c gi l chu trnh n gin. Mt chu trnh n gin trong mt graph n gin c th c biu din bi mt chui cc nt lin tip.
V d 4.5:

Xt graph hu hng trong hnh 4.4. Cc thnh phn lin thng bn c xc dnh bi

{A B C D} {E F G} {H} {I} {J}


Cc cung (A, H), (D, I), (I, J) v (J, G) khng l mt phn mt thnh phn lin thng bn no c. Xem graph trong hnh 4.3 l mt graph v hng (ngha l xem cc cung l cc lin kt v hng), th graph ny c mt thnh phn duy nht, v th n l mt graph lin thng. Cho mt graph G = (V, E), H l mt graph con nu H = (V', E'), trong V' l tp con ca V and E' l tp hp con ca E. Cc tp con ny c th c hoc khng tun theo quy nh nu.

Hnh 4.4. Graph hu hng


Mt graph khng h cha cc chu trnh gi l mt cy. Mt cy bc cu l mt graph lin thng khng c cc chu trnh. Nhng graph nh vy c gi mt cch n gin l cy. Khi graph khng lin thng hon ton c gi l mt rng. Chng ta thng cp cc cy trong cc graph v hng. Trong cc graph hu hng, c mt cu trc tng t vi cy gi l cy phn nhnh. Mt cy phn nhnh l mt graph hu hng c cc ng i t mt nt (gi l nt gc ca cy phn nhnh) ti tt c cc nt khc hoc ni mt cch khc l graph hu hng c cc ng i t tt c cc nt khc n nt gc. Mt cy phn nhnh s tr thnh mt cy nu n l v hng.

60

Cc cy bc cu c rt nhiu thuc tnh ng quan tm, nhng thuc tnh khin cho cc cy bc cu rt hu ch trong qu trnh thit k mng truyn thng. Th nht, cc cy bc cu l lin thng ti thiu c ngha l: chng l cc graph lin thng nhng khng tn ti mt tp con cc cnh no trong cy to ra mt graph lin thng. Chnh v vy, nu mc ch ch n gin l thit k mt mng lin thng c gi ti thiu th gii php ti u nht l chn mt cy. iu ny c th hiu c v trong mt cy lun c mt v ch mt ng i gia mt cp nt. iu khng gy kh khn ng k trong vic nh tuyn trong cy v lm n gin cc thit b truyn thng lin quan i rt nhiu. Ch rng mt graph c N nt th bt k mt cy no bc cu tt c cc nt th c ng (N-1) cnh. Bt k mt rng no c k thnh phn th cha ng (N-k) cnh. Nhn xt ny c th suy ra t lp lun sau: khi c mt graph c N nt v khng c cnh no th c N thnh phn, v c mi cnh thm vo nhm kt ni hai thnh phn th s lng thnh phn gim i mt. Mt tp hp cc cnh m s bin mt ca n chia ct mt graph (hay ni mt cch khc l lm tng s lng thnh phn ca graph) c gi l mt tp chia ct. Mt tp chia ct no chia ct cc nt thnh hai tp X v Y c gi l mt cutset hoc mt XY-cutset. Hu ht cc vn cn quan tm u lin quan n cc cutset ti thiu (nghi l cc cutset khng phi l tp con ca mt cutset khc). Trong mt cy, mt cnh bt k l mt cutset ti thiu. Mt tp ti thiu cc nt m s bin mt ca n phn chia cc nt cn li thnh hai tp gi l mt cut. Cc vn cn quan tm cng thng lin quan n cc cut ti thiu.
V d 4.6:

Hnh 4.4 biu din mt graph v hng. Cc tp cc lin kt

{(A, C), (B, D)}


v

{(C, E), (D, E), (E, F)}


l cc v d ca cc cutset ti thiu. Tp cui cng l mt v d v mt loi tp trong tp cc lin kt i ti mt nt thnh vin bt k u l mt cutset v cc cutset chia ct nt ra khi cc nt khc. Tp (C, D) l mt cut. Nt A cng l mt cut. Mt nt duy nht m s bin mt ca n chia ct graph gi l mt im khp ni. Tp hp cc lin kt:

{(A, B), (A, C), (A, G), (C, D), (C, E), (E, F)}
l mt cy. Bt k tp con no ca tp ny, k c tp y hay tp rng, u l mt rng.

61

Hnh 4.4. Cc cutset, cc cut, cc cy


4.3. Cc m hnh nh tuyn thng dng 4.3.1. nh tuyn ngn nht (Shortest path Routing) Bi ton tm cc ng i ngn nht l mt bi ton kh quan trng trong qu trnh thit k v phn tch mng. Hu ht cc bi ton nh tuyn c th gii quyt nh gii quyt bi ton tm ng i ngn nht khi mt " di " thch hp c gn vo mi cnh (hoc cung) trong mng. Trong khi cc thut ton thit k th c gng tm kim cch to ra cc mng tho mn tiu chun di ng i. Bi ton n gin nht ca loi ton ny l tm ng i ngn nht gia hai nt cho trc. Loi bi ton ny c th l bi ton tm ng i ngn nht t mt nt ti tt c cc nt cn li, tng ng bi ton tm ng i ngn nht t tt c cc im n mt im. i khi i hi phi tm ng i ngn nht gia tt c cc cp nt. Cc ng i i khi c nhng gii hn nht nh (chng hn nh gii hn s lng cc cnh trong ng i). Tip theo, chng ta xt cc graph hu hng v gi s rng bit di ca mt cung gia mi cp nt i v j l lij. Cc di ny khng cn phi i xng. Khi mt cung khng tn ti th di lij c gi s l rt ln (chng hn ln gp n ln di cung ln nht trong mng). Ch rng c th p dng qu trnh ny cho cc mng v hng bng cch thay mi cnh bng hai cung c cng di. Ban u gi s rng lij l dng hon ton; sau gi thit ny c th c thay i.

62

Thut ton Dijkstra


Tt c cc thut ton tm ng i ngn nht u da vo cc nhn xt c minh ho trn hnh 4.5, l vic lng nhau gia cc ng i ngn nht ngha l mt nt k thuc mt ng i ngn nht t i ti j th ng i ngn nht t i ti j s bng ng i ngn nht t i ti k kt hp vi ng i ngn nht t j ti k. V th, chng ta c th tm ng i ngn nht bng cng thc quy sau:

d ij = min (d ik + d kj )
k

dxy l di ca ng i ngn nht t x ti y. Kh khn ca cch tip cn ny l phi c mt cch khi ng quy no v chng ta khng th khi ng vi cc gi tr bt k v phi ca phng trnh 4.2. C mt s cch thc hin vic ny, mi cch l c s cho mt thut ton khc nhau.

Hnh 4.5. Cc ng ngn nht lng nhau

Thut ton Dijkstra ph hp cho vic tm ng i ngn nht t mt nt i ti tt c cc nt khc. Bt u bng cch thit lp

dii = 0 v dij =
sau thit lp

" ij " j l nt k cn ca i

dij lij

Sau tm nt j c dij l b nht. Tip ly chnh nt j va chn khai trin cc khong cch cc nt khc, ngha l bng cch thit lp

dikmin (dik, dij+ljk)


Ti mi giai on ca qu trnh, gi tr ca dik l gi tr c lng hin c ca ng i ngn nht t i ti k; v thc ra l di ng i ngn nht c tm cho ti thi im . Xem djk nh l nhn trn nt k. Qu trnh s dng mt nt trin khai cc nhn cho cc nt khc gi l qu trnh qut nt. Thc hin tng t, tip tc tm cc nt cha c qut c nhn b nht v qut n. Ch rng, v gi thit rng tt c cc ljk u dng do mt nt khng th gn cho nt khc mt nhn b hn chnh nhn ca nt . V vy, khi mt nt c qut th vic qut li n nht thit khng bao gi xy ra. V th, mi nt ch cn c qut mt ln. Nu nhn trn mt nt thay i, nt phi c qut li. Thut ton Dijkstra c th c vit nh sau:

63

array[n] <-Dijkstra (n, root, dist) dcl dist[n,n], pred[n], sp_dist[n], scanned[n] index <- FindMin( ) d_min <- INFINITY for each (i , n ) if (!(scanned[j])&& (sp_dist[i]< d_min) ) i_min <- i d_min <- sp_dist[i] return (i_min) void <- Scan( i ) for each ( j , n) if((sp_dist[j] > sp_dist[i] + dist[i,j])) sp_dist[j]<- sp_dist[i] + dist[i,j] pred[j]<- i sp_dist<- INFINITY pred <- -1 scanned <-FALSE sp_dist[root]<- 0 #_scanned <- 0 while (#_scanned < n ) i <- FindMin() Scan( i ) #_scanned= #_scanned + 1 return ( pred )
Trong thut ton vit trn, hm ch tr v dy pred , dy ny cha tt c cc ng i. Hm cng c th tr v dy sp_dist, dy ny cha di ca cc ng i, hoc hm tr v c hai dy nu cn thit. Thut ton trng rt quen thuc. N gn ging vi thut ton tm cy bc cu ti thiu Prim. Ch khc nhau ch, cc nt trong thut ton ny c gn nhn l di ca ton b ng i ch khng phi l di ca mt cnh. Ch rng thut ton ny thc hin vi graph hu hng trong khi thut ton Prim ch thc hin vi graph v hng. Tuy nhin v mt cu trc, cc thut ton l rt n gin. phc tp ca thut ton Dijkstra, cng ging nh phc tp ca thut ton Prim , l O(N2). Cng ging nh thut ton Prim, thut ton Dijkstra thch hp vi cc mng dy v c bit thch hp vi cc qu trnh thc hin song song ( y php ton scan c th c thc hin song song, v bn cht phc tp ca qu trnh l O(1) ch khng phi l O(N)). Hn ch ch yu ca thut ton ny l khng c c nhiu u im khi mng l mng v ch ph hp vi cc mng c di cc cnh l dng.

64

Hnh 4.6. Cc ng i ngn nht t A


V d 4.7:

Xt mt mng trong hnh 4.6. Mc tiu y l tm cc ng i ngn nht t nt A ti cc nt khc. Khi u, A c gn nhn 0 v cc nt khc c gn nhn l v cng ln. Qut nt A, B c gn bng 5 v C c gn l 1. C l nt mang nhn b nht nn sau C c qut v B c gn bng 4 (=1+3), trong khi D c gn bng 6. Tip theo B (c nhn bng 4) c qut; D v E c gn ln lt l 5 v 10. Sau D (c nhn bng 5) c qut v F c gn bng 9. E c qut v dn n khng c nhn mi. F l nt c nhn b nht nn khng cn phi qut v khng c nt no phi nh nhn li. Mi nt ch c qut mt ln. Ch rng vic qut cc nt c cc nhn theo th t tng dn l mt iu cn lu v trong qu trnh thc hin thut ton mt s nt c nh li s. Cc nt c qut ngay tc th hoc l phi c qut li sau . Ch rng cc ng i t A n cc nt khc (ngha l (A, C), (C, B), (B, D), (B, E) v (D, F)) to ra mt cy. iu ny khng l mt s trng hp ngu nhin. N l h qu trc tip t vic lng nhau ca cc ng i ngn nht. Chng hn, nu k thuc ng i ngn nht t i ti j th ng i ngn nht t i ti j s l tng ca ng i ngn nht t i ti k v ng i ngn nht t k ti j. Tng t nh trong v d minh ho cho thut ton Prim, kt qu ca v d trn c th c trnh by mt cch ngn gn nh bng sau:

65

Bng 4.2
Nt init. A(0) C(1) B(4) D(5) F(9) E(10) A 0(-) 0(-) 0(-) 0(-) 0(-) 0(-) 0(-) B (-) 5(A) 4(C) 4(C) 4(C) 4(C) 4(C) C (-) 1(A) 1(A) 1(A) 1(A) 1(A) 1(A) D (-) (-) 6(C) 5(B) 5(B) 5(B) 5(B) E (-) (-) (-) 10(B) 10(B) 10(B) 10(B) F (-) (-) (-) (-) 9(D) 9(D) 9(D)

Thut ton Bellman


Mt thut ton khc ca dng thut ton Dijkstra do Bellman pht biu v sau c Moore v Page pht trin, l vic qut cc nt theo th t m chng c nh nhn. Vic loi tr vic phi tm nhn nh nht, nhng to ra kh nng; mt nt c th cn qut nhiu hn mt ln. Trong dng n gin nht, thut ton Bellman duy tr mt hng i cc nt qut. Khi mt nt c nh nhn n c thm vo hng i tr khi n tn ti trong hng i. Hng i c qun l theo quy tc vo trc, ra trc. V th cc nt c qut theo th t m chng c nh nhn. Nu mt nt c nh nhn li sau khi nt c qut th n c thm vo sau hng i v c qut ln na.
V d 4.8:

Trong v d hnh 4.6, chng ta bt u qu trnh bng cc t nt A vo hng i. Qut A cc nhn 5 v 1 ln lt c gn cho nt B v C, ng thi cc nt B v C c a vo hng i (v cc nt ny nhn gi tr mi v cha c mt trong hng i). Tip chng ta qut nt B v cc nt E v D c nh nhn ln lt l 11 v 6. D v E cng c t vo hng i. Sau chng ta qut C, khi B c gn nhn l 4 v li c t vo sau hng i. E c qut v F c gn nhn 13 v a vo hng i. D c qut v F c gn nhn l 10; F vn cn trong hng i nn F khng c a vo hng i. B c qut ln th hai. trong ln qut ny E v D ln lt c nh nhn l 10 v 5 ng thi c hai nt c t vo hng i. F c qut v khng nh nhn nt no c. E c qut khng nh nhn nt no c. D c qut v F c nh nhn 9 v c a vo hng i. F c qut v khng nh du nt no c. Cc nt B, C, D v F c qut hai ln. l ci gi phi tr cho vic khng qut cc nt theo th t. Mt khc trong thut ton ny khng cn thit phi tm kim cc nt c nhn nh nht. Cng nh trong hai v d 4.4 v 4.5 cho thut ton Prim v thut ton Dijkstra, chng ta c th trnh by kt qu ca cc qu trnh trong v d ny nh trong bng sau
66

Bng 4.3
Nt A init. A(0) B(5) C(1) E(11) D(6) 0(-) A 0(-) B 0(-) C 0(-) E 0(-) D 0(-) B 5(A) C 5(A) E 4(C) D 4(C) B 4(C) F 1(A) (-) (-) (-) B(4) A B C D E F 1(A) D 1(A) B 1(A) F 1(A) 6(B) 11(B) (-) F(10) 6(B) 11(B) (-) E(10) 6(B) 11(B) 13(E) D(5) 4(C) 1(A) 5(B) 10(B) 9(D) 6(B) 11(B) 10(D) F(9) 4(C) 1(A) 5(B) 10(B) 9(D)

B (-) C (-) D (-) E (-) F (-)

0(-) F 0(-) E 0(-) D 0(-) F 0(-) 4(C) E 4(C) D 4(C) 1(A) D 1(A) 5(B) 10(B) 10(D) 5(B) 10(B) 10(D) 1(A) 5(B) 10(B) 10(D)

Thut ton c th vit nh sau:

array[n]<-Bellman (n, root, dist) dcl dist[n][n], pred[n], sp_dist[n], in_queue[n] scan_queue[queue] void <- Scan( i ) in_queue[i]<- FALSE for j=1 to n if((sp_dist[j] > sp_diat[i] + dist[i,j])) sp_dist[j]<- sp_diat[i] + dist[i,j] pred[j]<- i if ( not ( in_queue[j] ) ) Push(scan_queue, j ) in_queue[j]<- TRUE sp_dist<- INFINITY pred <- -1 in_queue <-FALSE initialize_queue( scan_queue ) sp_dist[root]<- 0 Push(scan_queue , root ) in_queue <-TRUE while (not(Empty( scan_queue )) i <- Pop(scan_queue) Scan( i )
67

return ( pred )
Mt hng i chun c s dng qu trnh trn. C th s dng dy in_queue theo di nt no ang hin c trong hng i. Theo qu trnh c vit trn th thut ton Bellman l mt qu trnh tm kim theo chiu rng. Ngi ta chng minh c rng trong trng hp xu nht, mt nt c qut n-1 ln. V vy qu trnh qut trong trng hp xu nht c phc tp l O(n) vi n l s lng cc nt. T suy ra rng phc tp ca ton b thut ton l O(n3). Tuy nhin trong thc t cc nt khng thng xuyn c qut li nhiu ln. Trong hu ht cc trng hp thc t, s ln qut trung bnh trn mt nt l rt nh, ti a l 3 hoc 4, ngay c khi mng c hng ngn nt. Nu bc trung bnh ca nt nh, iu ny thng xy ra trong cc mng thc t, th thi gian cho vic tm kim nt cha qut b nht l phn c nh hng nht ca thut ton Dijkstra. V vy trong thc t thut ton Bellman c xem l nhanh hn so vi thut ton Dijkstra mc d phc tp trong trng hp xu nht ca thut ton Bellman ln hn. Tng t c th ci tin phc tp ca th tc Scan bng cch duy tr mt danh sch k cn cho mi nt. phc tp ca Scan tr thnh O(d) thay v O(n) vi d l bc ca nt ang qut. V vy, trn thc t phc tp ca thut ton Bellman thng bng O(E) vi E l s cnh ca graph. Ngoi vic c th ci thin cht lng trung bnh ca thut ton trong nhiu trng hp, thut ton Bellman cn c mt u im na l thut ton hot ng ngay c khi di cc cnh l cc gi tr m. Thut ton Dijkstra da vo quy tc: mt nt khng th gn cho nt khc mt nhn b hn nhn ca chnh nt. iu ch ng khi khng c cc cung c di l m trong khi thut ton Bellman khng cn phi gi thit nh vy v qut li cc nt mi khi nt c gn nhn li. V th, thut ton ny rt ph hp khi xut hin cc cung c di m. Tuy nhin cn ch rng khi graph c mt chu trnh c tng di m th thm ch thut ton Bellman cng khng kh dng. Trong trng hp ny, thut ton khng kt thc v cc nt tip tc nh nhn cc nt khc mt cch v hn. C mt s dng khc nhau ca thut ton Bellman, ngoi thut ton ny ra cn c mt s cc thut ton tm ng i ngn nht t mt im ti cc im khc trong trng hp khc nhau.

Thut ton Floyd


C th thy rng bi ton tm kim ng ngn nht gia mi cp nt nng n gp N ln bi ton tm ng i ngn nht t mt nt n tt c cc nt khc. Mt kh nng c th l s dng thut ton Bellman hoc thut ton Dijkstra N ln, bt u t mi nt ngun. Mt kh nng khc, c bit thch hp vi cc mng dy, l s dng thut ton Floyd.
68

Thut ton Floyd da vo quan h quy c trnh by trong phn gii thiu thut ton Dijkstra, nhng thut ton ny s dng quan h quy theo mt cch khc. Lc ny, dij(k) c nh ngha l ng i ngn nht t i ti j s dng cc nt c nh s l k hoc thp hn nh l cc nt trung gian. V th dij(0) c nh nghi nh l lij, di ca lin kt t nt i ti nt j, nu lin kt tn ti hoc dij(0) s bng v cng nu lin kt khng tn ti. V vy,

dij(k) = min (dij(k-1), dik(k-1) + dkj(k-1) )


ngha l, chng ta ch quan tm n vic s dng nt k nh l mt im qu giang cho mi ng i t i ti j. Thut ton c th c vit nh sau:

array[n] <-Floyd (n, dist) dcl dist[n][n], pred[n][n], sp_dist[n,n] for each (i , n ) for each (i , n ) sp_dist[i,j] <- dist[i, j] pred[i, j]<- i for each (k , n ) for each (i , n ) for each (j , n ) if((sp_dist[i,j]> sp_dist[i,k] + dist[k,j])) sp_dist[i,j]<- sp_dist[i,k] + dist[k,j] pred[i, j]<- pred[k,j] return ( pred ) pred[i,j] cha nt trung gian cui cng ca ng i t i ti j v c th c s dng khi phc ng i t i ti j. Ging nh thut ton Bellman, thut ton Floyd hot ng c vi cc di cung l m. Nu xut hin cc chu trnh c tng di m th thut ton Floyd dng li nhng khng bo m cc ng i l ngn nht. Cc chu trnh c tng di m c th c nhn bit nh s xut hin ca cc con s m trn ng cho chnh ca dy sp_dist.

69

Hnh 4.7: V d graph


V d 4.9:

Xt graph trong hnh 4.7. Mng cha khong cch ban u v mng cha nt trung gian cui cng ca mi ng i c cho trc nh sau: n A A T B C D E 0 B 3 0 5 C 2 0 1 D 2 0 E 2 1 0 T A B C D E A A B C D E n B A B C D E C A B C D E D A B C D E E A B C D E

sp_dist

pred

Ch rng sp_dist c cc gi tr 0 trn ng cho chnh v v cng ln (c biu din l du "-") nu gia hai nt khng tn ti mt lin kt. Ngoi ra v graph l graph hu hng v khng i xng nn sp_dist cng khng i xng. Xt A ta thy A l mt nt trung gian khng nh hng n cc dy ny v khng c cung no i ti n v v th khng c ng i no i qua A. Tuy nhin, xt nt B ta thy rng nt B gy nn s thay i v tr (A, D) v (C, D) trong cc dy trn , c th nh sau : n A A T B C D E 0 B 3 0 5 C 2 0 1 D 5 2 7 0 E 2 1 0 T A B C D E A A B C D D n B A B C D D C A B C D D D B B B D D E A B C D D

sp_dist

pred

Tip tc xt cc nt C, D v E th gy nn s thay i c th nh sau: n A B C D E


70

n A B C D E

A T B C D E

0 -

3 0 5 6 -

2 3 0 1 -

5 2 7 0 -

4 3 2 1 0 T

A B C D E

A B C D E

A B C C E

A D C D E

B B B D E

C D C D E

sp_dist Cc thut ton tm i ngn nht m rng

pred

Trong qu trnh thit k v phn tch mng i khi chng ta phi tm ng i ngn nht gia mi cp cc nt (hoc mt s cp) sau khi c s thay i di mt cung. Vic thay i ny bao gm c vic thm hoc loi b mt cung (trong trng hp di ca cung c th c xem nh l chuyn t khng xc nh thnh xc nh hoc ngc li). V th ta gi thit rng ng i ngn nht gia tt c cc cp nt l bit trc v bi ton t ra y l xc nh (nu c) nhng s thay i do vic thay i di ca mt cung no . Thut ton sau y c Murchland pht biu, trong xem xt ring r cho tng trng hp: tng v gim di ca cc cung . Nhng thut ton ny hot ng vi cc graph hu hng v c th hot ng vi cc di cung l m, tuy nhin thut ton ny vn khng gii quyt cc chu trnh c tng di l m. di cung gim Gi s rng di cung (i,j) c gim. V s lng nhau trong cc ng i ngn nht (ngha l mt nt k thuc mt ng i ngn nht t i ti j th ng i ngn nht t i ti j s bng ng i ngn nht t i ti k hp vi ng i ngn nht t j ti k) nn nu cung (i, j) khng phi l ng i ngn nht sau khi cung ny c lm ngn (trong trng hp ny cung (i, j) c th khng phi l ng i ngn nht trc khi di ca cung (i, j) b thay i) th n khng phi l mt phn ca ng i ngn nht no c v s thay i c b qua. Tng t, nu (i, j) l mt phn ca ng i ngn nht t k ti m th n phi l mt phn ca ng i ngn nht t k ti j v ng i ngn nht t i ti m. Thc ra, ng i ngn nht t k ti m mi phi chui cc ng i t k ti i c, lin kt (i, j) v ng i t j ti m. iu ny c biu din trong hnh 4.8.

Hnh 4.8. ng i ngn nht m rng khi (i, j) c lm ngn


71

V th cn phi qut cc nt i v j tm cc tp K v M thch hp cha cc nt k v m nh trong hnh 4.8 v thc hin vic xt cc cp nt, mi nt t mt tp (K hoc M ni trn ). Vi i thuc K v j thuc M thc hin vic kim tra iu kin sau

dkm > dki+lij +djm


nu ng, cp nht dkm v nt trung gian cui cng ca ng i ny. Thut ton ny c th c vit nh sau:

(array[n,n], array[n,n]) <sp_decrease(n,i,j,length,*dist,sp_dist,pr ed ) dcl dist[n,n], pred[n,n], sp_dist[n,n], setk[set], setm[set] dist[i, j]<- length if(length >=sp_dist[i,j]) return( sp_dist, pred ) setk <- F setm <- F for each (k, n) if(sp_dist[k,j]> sp_dist[k,i] + length) append(k, setk ) for each (m, n) if(sp_dist[i,m]> sp_dist[j,m] + length) append(m, setm ) for each (k , setk ) for each (m , setm ) if(sp_dist[k,m]> sp_dist[k,i] + length + sp_dist[j,m]) sp_dist[k,m]<sp_dist[k,i] + length + sp_dist[j,m] if ( j = m ) pred[k, m]<- i else pred[k, m]<- pred[j, m] return ( sp_dist , pred )
Thut ton tr v sp_dist v pred, ng i ngn nht c cp nht v cc dy cha nt trung gian cui cng ca mi ng i ngn nht. Hm c xy dng trong on gi m trn c u vo l dy cha cc di ca cc lin kt hin c dist , im cui (i v j) ca lin kt mi c lm ngn v di mi ca lin kt c lm ngn length . F l danh sch rng. C th thy rng, trong trng hp xu nht phc tp ca th tc trn l O(n2) v trong th tc trn c hai vng lp c phc tp trong
72

trng hp xu nht l O(n). Trong thc t, trng hp c hai tp u c phc tp l O(n) l t khi gp v v th phc tp thc t ca thut ton thng thp hn nhiu. di cung tng By gi xt trng hp mt lin kt (i,j) c ko di hoc b loi b khi graph (trong trng hp ny di ca lin kt c xem l v cng ln). Nu (i, j) khng phi l mt phn ca ng i ngn nht t k ti m trc khi di lin kt (i,j) c tng ln th sau lin kt ny chc chn cng khng thuc ng i ngn nht t k ti m. V vy cn kim tra cp (k, m) c ng i ngn nht tho mn iu kin:

dkm = dki + lij + djm


Ch rng, nu lij khng phi l mt phn ca ng i ngn nht t i ti j th khng c thay i no xy ra. Thut ton ny c th c vit nh sau:

(array[n,n], array[n,n]) <sp_increase(n,i,j,*dist,length, sp_dist,pred ) dcl dist[n,n], pred[n,n], pairs[set] if(length > sp_dist[i,j]) dist[i,j] <- length return( sp_dist, pred ) pairs <- F for each (k, n) for each (m, n) if(sp_dist[k,m]= sp_dist[k,i] + dist[i,j]+ sp_dist[i,m]) append( (k,m), pairs ) sp_dist[k,m] <- dist[k,m] dist[i,j] <- length for each (a , n ) for each ((k,m) , pairs ) if(sp_dist[k,m] > sp_dist[k,a]+ sp_dist[a,m]) sp_dist[k,m]<- sp_dist[k,a]+ sp_dist[a,m] pred[k, m]<- pred[a, m] return ( sp_dist , pred )
Trong trng hp ny, pairs l mt tp cc cp nt cn phi c kim tra. V vy, cc phn t ca pairs l cc cp nt. Thut ton ny c cc tham s vo ra ging nh thut ton cp nht cc ng i ngn nht khi gim di mt cung.

73

V bn cht thut ton ny ging nh thut ton Floyd, ch khc nhau ch thut ton ny ch hot ng vi cc cp c chn cha lin kt b thay i trc khi lin kt ny c ko di. phc tp ca th tc ny l O(np) vi p l s cp nt trong tp pairs . Trong trng hp xu nht, tp pairs c th cha n(n-1) cp nt v v th phc tp l O(n3), ging vi phc tp ca thut ton Floyd. Tuy nhin trong thc t p thng rt b.

Hnh 4.9
V d 4.10: (v d cho trng hp di cung gim)

Xt mt mng trong hnh 4.9. Cc cnh trong mng ny l cc lin kt hai hng. di ca cc ng i ngn nht gia cc cp nt c cho trc trong bng 4.4. By gi thm mt cung (B, E) c lBE = 1. V

dBE > lBE


chng ta thc hin qu trnh. Ngoi ra v

dBC > lBE + dEC


nhng

dBx lBE + dEx


i vi tt c cc nt khc. V vy

setm = C, E
Tng t,

setk = A, B Bng 4.4


A A B C D 0 2 3 5 B 2 0 5 3 C 3 5 0 5 D 5 3 5 0
74

E 4 6 1 4

By gi chng ta xt cc cp nt (k, m) vi k setk v m setm, (ngha l cc cp (A,C), (A, E), (B, C) v (B, E)). Chng ta thy rng tt c cc cp tr cp (A, C) u b thay i nn chng ta cp nht cc ng i ngn nht v nt trung gian cui cng ca mi ng i ngn nht gia cc cp nt ny. Ma trn ng i ngn nht by gi c biu din trong bng 4.3

Bng 4.5
A A B C D E 0 2 3 5 4 B 2 0 5 3 6 C 3 2 0 5 1 D 5 3 5 0 4 E 3 1 1 4 0

Ch rng, ma trn ny khng cn i xng na v mt cung (B, E) va mi c thm vo mng. By gi gi s rng lBE = 5 (v d cho bi ton c s tng di mt cung). Kim tra ma trn ng i ngn nht, ta thy rng trc khi thay i lBE th

dBE = lBE
Chng ta kim tra tt c cc cp nt (k, m) v thy rng iu kin

dkm = dki + lij + djm


ch c cc cp (A, E), (B, C) v (B, E) tho mn. V th chng ta thc hin php gn sau

pairs <- {(A, E), (B, C), (B, E)} v sau thc hin lp trn tt c cc nt trung gian, kim tra cc ng i ngn nht i vi cc cp ny. Khi thc hin qu trnh ny, ch rng ng i ngn nht t A ti E tr thnh 4 (qua nt C) v ng i ngn nht t B ti C tr thnh 5 (qua A). Tuy nhin, i vi ng i ngn nht t B ti E th cung (B, E) c gi nguyn. di cc ng i ngn nht gia cc cp nt c ch ra trong bng 4.6. Bng 4.6
A A B 0 2 B 2 0 C 3 5 D 5 3
75

E 4 5

C D E Flow Network

3 5 4

5 3 6

0 5 1

5 0 4

1 4 0

Cho mt t-p mng v mt yu cu duy nht t mt nt ngun s ti mt nt ch d, yu cu t ra y l tm mt dng lung kh thi, ngha l tm mt tp cc lung lin kt tho mn yu cu duy nht ni trn m khng c bt k lung ca lin kt no c gi tr vt qu dung lng ca chnh lin kt . T-p mng c biu din di dng tp cc lin kt lij, i cng vi cc dung lng cij. V trong thc t cc mng l cc mng tha nn c th lu tr topo mng di dng cc danh sch hin v khai thc cc tnh cht ca mng tha. Ngoi ra c th lu tr cc dung lng di dng mt ma trn, trong cij c gn bng 0 khi lij khng tn ti. Bi ton v th tr thnh bi ton tm mt hoc nhiu ng i t s ti d ri gi lung i qua cc ng ny ng thi m bo yu cu cho. Tng cc lung bng vi gi tr yu cu v tng lung trn mi lin kt khng vt qu dung lng ca lin kt. C mt s dng ca bi ton ny. Dng u tin, nh ni trn, l bi ton tm cc lung tho mn mt yu cu no . Mt dng khc l bi ton ti a ho gi tr lung t s ti d ng thi tho mn iu kin dung lng. Dng cui cng l khi chng ta bit c gi trn mt n v lung dnh cho mi lin kt, bi ton t ra l tm mt lung tho mn yu cu cho trc c gi ti thiu. Cc li gii cho cc bi ton ny lin h cht ch vi nhau v s c xem xt su hn. Hn na, li gii cho bi ton ny l c s cho vic gii quyt cc bi ton phc tp hn gi l bi ton lung a hng, bi ton c rt nhiu yu cu gia cc ngun v cc ch. y l bi ton ht sc quan trng trong vic thit k mng v s c ni k chng sau. Ch rng trong trng hp ny ta ang xt cc lin kt hu hng (ngha l c s khc nhau gia cij v cji). Tuy nhin c th gii quyt cc mng v hng bng cch thay th mi lin kt v hng lij bng hai lin kt hu hng c cc dung lng ring r. Nh chng ta s thy, trong bt k lin kt no v u trong qu trnh tm li gii cho bi ton ny, ch c lung theo mt hng. C th biu din bi ton ny di dng bi ton tm cc lung fij tho mn cc iu kin sau:

f - f
ij j j

ji

= rij ; "i = s = -rij ; "i = d = 0; "i s

f - f
ij j j

ji

f - f
ij j j

ji

fij cij
76

fij 0; "i, j
Thut ton Ford-Fulkerson Thut ton tt nht cho vic gii bi ton lung n hng l thut ton Ford-Fulkerson. Thut ton ny ch ra cc ng i t ngun s ti ch d v gi cc lung ln nht c th qua mi ng m khng vi phm gii hn dung lng. Thc ra thut ton c iu khin nhm ch ra cc ng i v in y chng bng cc lung.

Hnh 4.10. Mng n gin


Chng hn xt mt mng trong hnh 4.10. Gi s tt c cc lin kt c dung lng l 1. Chng ta c th gi mt n v lung trn ng i SABD v mt trn ng i SEFD. V tng dung lng ca cc lin kt ri S l 2 v mi n v lung t S ti D phi s dng mt n v dung lng ri khi S ny do khng c lung no khc na tha mn yu cu. Ngoi ra, v mi n v lung phi s dng t nht mt n v dung lng ca mt SD-cut bt k (vi SD-cut l mt tp cc lin kt m s bin mt ca n phn tch S khi D) nn lung t S ti D ln nht khng th ln hn dung lng ca bt k cut no (dung lng ca cut l tng dung lng ca tt c cc lin kt thuc cut). Do ta c b sau:
B 4.1 (Ford-Fulkerson)

Lung t S ti D ln nht khng th ln hn dung lng ca cut c dung lng nh nht Thc ra, lung t S ti D ln nht chnh bng dung lng ca SD-cut c dung lng b nht. chnh l nh l Lung Ln nht- Cutset B nht ni ting ca Ford-Fulkerson. Gii hn (1) nu trn gi l iu kin gii hn bo ton lung. iu kin ny m bo rng vi cc nt khc vi nt ngun v nt ch th lung vo bng vi lung ra. Trong trng hp ny, cc nt ngun (ch) c lung ra (vo) phi bng lung t ngun ti ch. Bt k SDcut no cng phn chia cc nt thnh hai tp X v Y vi S thuc X v D thuc Y. Nu iu kin (1) i vi tt c cc nt thuc tp X c cng li th ta thy rng lung tng t X ti Y tr i lung tng t Y ti X c kt qu bng lung t S ti D. Ch rng tng cc phn v tri chnh bng tng cc lung trong cc lin kt c mt u thuc X cn
77

u kia thuc Y, tr i tng cc lung trong cc lin kt c mt u thuc Y cn u kia thuc X. Cc lin kt c hai u cng thuc X khng tham gia vo tng ny v chng xut hin trong tng nhng c du ngc nhau. Cc lin kt khng c u no thuc X cng khng xut hin trong tng. S tham gia vo v phi ca iu kin; tt c cc nt khc khng tham gia. V th, tho mn nh l trn cn phi: Lung tng i qua cut c dung lng b nht phi bng dung lng ca cut ngha l tt c cc lin kt thuc ct phi trng thi bo ho (lung bng dung lng). Lung i ngc cut ny phi bng 0. Thc ra, tt cc cut c dung lng b nht phi l bo ho v iu xy ra vo cui thut ton. Thut ton thc hin bng cch ch ra cc ng i c dung lng b v gi lung i qua ton b cc ng i . Khi khng tm ra mt ng i no c c dung lng b, mt cut bo ho c ch ra v thut ton kt thc. Cc cut c dung lng b khc cng bo ho nhng chng khng c thut ton ch ra.

number <- FFflow(n , s , d , cap , *flow ) dcl cap[n][n] , flow[n][n], pred[n], sign[n] , mxf[n] , scan_queue[queue] void <-Scan( i ) for each( j , n ) if( predd[j] = U ) if(flow[i,j] < cap[i,j]) mxflow <min(mxf[i],cap[i,j]-flow[i,j]) mxf[j],pred[j],sign[j] <mxflow,i,+ else if ( flow[j,i] > 0) mxflow <min(mxf[i],flow[j,i]) mxf[j],pred[j],sign[j] <mxflow,i,Push(scan_queue, j) void <-Backtrack( ) n <- d tot_flow <- tot_flow + mxf[d] while ( n != s ) p <- pred[n] if (sign[n] = + ) flow[p,n]<- flow[p,n] + mxf[d] else flow[n,p]<- flow[n,p] + mxf[d] tot_flow <- 0 flow <- 0 flag <- TRUE
78

while ( flag ) pred <- U Initialize_queue ( scan_queue ) Push( scan_queue , s ) mxf[s] <-INFINITY while( !(Empty(scan_queue) &&(pred[d] = U) ) i<- Pop(scan_queue) Scan( i ) if( pred[d] != U ) Backtrack( ) flag <- (pred[d] !=U) return( tot_flow )
Trong trng hp n gin nht, thut ton Ford-Fulkerson c vit nh trong on gi m trn vi n l s nt, m l s lin kt. Mi nt c mt nhn:

(maxflow, pred, sign)


Nhn ny biu din gi tr lung ln nht c th trn ng i hin hnh tnh cho ti thi im ang xt, nt lin trc ca nt ang xt trong ng i hin hnh v chiu ca lung i qua lin kt. Gi tr tng trng U l khng xc nh; gi tr thc s ca U nn c phn bit vi bt k gi tr hp l no khc. Thut ton tr v lung trong mi lin kt. Tng lung i t ngun ti ch c th c tnh bng tng cc lung i ra khi ngun (hoc i ti ch). Thut ton ch ra ng i t ngun ti ch bng cch s dng mt thut ton c ci bin t thut ton Bellman. Thut ton ny cho php s dng mt lin kt (i,j) theo hng ti (ngha l t i ti j) nu lung t i ti j l fij b hn dung lng ca lin kt cij. N cng cho php s dng lin kt theo chiu ngc li (ngha l lin kt (i.j) c s dng a lung t j ti i), nhng iu ny ch xy ra nu trc c mt lung t i ti j l dng. Trong trng hp ny, lung c loi ra khi lin kt (i,j). Lung ln nht theo chiu t i ti j l cij - fij. Lung ln nht theo chiu t j ti i l fij. i lng mxf, trong cc nhn ca mi nt, ch ra lung ln nht c th c gi i trn mt ng i. Bn trong vng while trn, chng ta bt u t nt ngun s v thc hin vic tm kim nhn d. Nu thnh cng, chng ta c th quan st ngc t d v s theo pred t d. Thc ra qu trnh ny bao gm vic tng lung trong mi lin kt theo hng thun v gim lung trong mi lin kt theo hng ngc li. Nu khng c nhn cho d, thut ton kt thc. Khi thut ton ch ra lung ln nht; cc lin kt (i, j) c i c gn nhn v j khng c gn nhn to ra cc cut bo ho. Hm Scan c phc tp l O(n). Mt dng khc ca thut ton ny hot ng c hiu qu hn, l dng c hm Scan c phc tp l O(d) vi d l bc ca nt, hm ny to ra mt danh sch cha cc nt k cn cho mi nt nt. Trong Scan(i) thay th
79

for j=1 to n
bng

for each ( j , adj_set[i] )


Khi thut ton dng li, mt cut hon ton c nh ngha. Cc nt c nhn khc U th thuc tp X v cc nt cn li th thuc Y, vi X v Y c nh nghi nh trc y. Vic nh nhn bo m rng tt c cc cung trong X,Y-cut l bo ho, v tt c cc cung trong Y,X-cut c lung bng 0. iu ny c th thy r khi ch rng thut ton dng li khi vic nh nhn khng c tip tc na. Bt k cung cha bo ho no thuc S,D cut hoc bt k cung no thuc D,S cut c lung khc khng th c th c s dng tip tc vic nh nhn. Khi chng ta khng tip tc nh nhn ngha l khi khng c nhng cung nh vy. V vy, lung t S ti D bng vi dung lng ca X,Ycut v nh l Lung ln nht- Cut b nht ngm c chng minh.
V d 4.11:

Xem xt vic s dng cc cung theo chiu ngc cng l mt vic quan trng. Nu vic ny khng c thc hin th s khng m bo rng lung l ln nht. Xt mt mng trong hnh 4.10. Gi s rng, ng i u tin l SAFD. mt n v lung c gi i trn ton b ng i. Tip mt ng i khc c tm kim. S khng th nh nhn A bi v SA l mt cung bo ho. S nh nhn E v E nh nhn F, F khng th nh nhn D v FD l mt cung bo ho. Ch rng, khng tn ti mt cung t F ti A; cung FA ch c hng t A ti F. iu cn ch y l thut ton phi s dng cung FA theo chiu ngc, do loi b mt n v lung khi cung . iu cho php F nh nhn A, A nh nhn B v B nh nhn D. V th mt ng i th hai c tm thy, l ng i SEFABD c cung FA c s dng theo chiu ngc. Kt qu ca vic gi lung trn hai ng i l gi mt n v lung t S ti E, ti F, ti D v mt n v lung nh vy t S ti A, ti B v ti D. n v lung ban u trn lin kt AF c loi tr trong ng i th hai v lung mng trn cung ny bng 0. Hai ng i c tm thy bng thut ton c th kt hp to thnh hai ng i mi. Nh trnh by trn, i vi mt mng c N nt v E cnh, mt ln s dng thut ton ny tm mt ng i n th c phc tp bng O(N2) v mi nt c qut ti a mt ln (cc nt khng c nh li nhn), v phc tp ca php qut l O(N). Vi thut ton c sa i t thut ton Bellman c s dng danh sch k cn, mi nt c kim tra ti a mt ln t mi u v mt ln thc hin vic c phc tp bng O(E). phc tp trong vic thit lp danh sch k cn l O(E) v ch cn i qua cc cung mt ln duy nht cng vi vic chn cc nt vo danh sch k cn. V vy, i vi cc mng tha, phc tp khng qu ln. C th thy rng phc tp ca ton b thut ton bng tch ca phc tp khi tm mt ng i n v s ng i tm c. Nu dung lng ca cc cung l cc s nguyn th mi ng i cng
80

thm t nht mt n v lung vo mng. V th s lng ng i c gii hn bi lung cui cng F. Do phc tp ton b ca thut ton l O(EF).

Hnh 4.11. Mng n gin


Ni chung, F c th rt ln. Xt mt mng trong hnh 4.11. Tt c cc cung ngoi tr cung (A, B) u c dung lng bng K, mt s rt ln. (A, B) c dung lng bng 1. Gi s ng i u tin l SABD. V cung (A, B) c dung lng bng 1, nn ch c mt n v lung c th chuyn qua ng i ny. Tip , gi s rng SBAD l ng i c tm thy. V ch c mt n v lung c loi khi (A, B) nn cng ch c duy nht mt n v lung c gi trn ng i ny. Thut ton thc hin tm kim c 2K ng i, cc ng i SABD v SBAD c lp i lp li, trong mi ng i c mt n v lung c gi i, v th phc tp t ti phc tp trong trng hp xu nht. Cc bi ton tng t nh bi ton nu trn s khng th xy ra nu thut ton tm cc ng i tm c cc ng i c s bc ti thiu. Thut ton tm kim theo chiu rng s thc hin vic ny. T trc ti nay, bi ton lung ln nht c tm hiu kh k v c rt nhiu thut ton cng nh cc thut ton ci tin t cc thut ton dng gii quyt bi ton ny. Trong thc t, qu trnh thc hin thut ton nu trn c th hot ng gii quyt hoc l bi ton lung ln nht hoc l bi ton tm mt lung c mt gi tr c th no . By gi chng ta s xem xt bi ton tm cc lung c gi nh nht. Cc lung c gi nh nht Gi thit rng chng ta bit gi ca mt n v lung cij trn mi lin kt. Yu cu t ra l tm mt lung t ngun ti ch vi gi tr cho trc c gi b nht, trong gi ca mt lung c nh ngha bng tng tt c cc tch ca lung trn mi lin kt nhn vi gi ca mt n v lung trn lin kt . Tng t, c th chng ta cn tm mt lung vi tr s ln nht c gi b nht. Chng hn, chng ta cn tm mt gi ti thiu, nhng vn m bo l c th to ra mt lung c tr s ln nht. Cch n gin nht tm mt lung c gi ti thiu l sa i thut ton Ford-Fulkerson tm cc ng i ngn nht thay v tm cc ng i c bc nh nht vi gi ca mt n v lung c s
81

dng nh cc di. Thut ton Bellman hoc bt k thut ton tm ng ngn nht no cng c th c lm cho tng thch vi mc ch ny. Yu cu t ra l phi theo di c lung trn mi lin kt v ging nh trong thut ton Ford-Fulkerson, y ch s dng cc lin kt cha bo ho theo chiu thun, v ch s dng cc lin kt theo chiu ngc nu cc lin kt ang c lung theo chiu thun dng. Cch thc hin trn c th c xem nh l vic thc hin thut ton Ford-Fulkerson vi mt vi sa i. Lc ny, mi nhn c thm mt i lng th t p, l di ca ng i. Gi tr c cp nht ging nh cch lm trong thut ton Bellman. Chng hn, mt nt c di l p s gn cho nt lng ging ca n mt di ng i l q vi q bng tng ca p v di ca lin kt ni hai nt.

Hnh 4.12. Lung c gi thp nht


V d 4.12:

Trong hnh 4.12 mi lin kt c gn mt nhn (gi ca mt n v lung, dung lng). Cc lin kt l cc lin kt hai hng. Chng hn, gi ca vic chuyn mt n v lung gia A v B theo mt trong hai hng l 4. S dng thut ton Ford-Fulkerson, sa i cch theo di di cc ng i v cho php mt nt c nh nhn li nu di ng i trong nhn ca nt ny c ci tin (tch cc hn) gii quyt bi ton. V th, mi nt c mt nhn

(pathlength, maxflow, pred, sign) S c nhn (0, INFINITY, PHI, PHI), nhn ny ch ra rng c mt gi ( di ng i) bng 0 tnh t ngun, khng c gii hn v lung, v khng c nt lin trc. Tt c cc nt khc ban u khng c nhn hoc c nhn gn ging vi nhn sau (INFINITY, INFINITY, PHI, PHI)
Mt nhn c di ng i khng xc nh tng ng vi vic khng c nhn no v bt k khi no nh nhn, cng c mt nhn c di ng i xc nh thay th mt nhn nh vy.

S c t vo danh sch qut v n l nt u tin c qut, S nh nhn C bng (2, 4, S, +) v C c t vo danh sch qut. V di gia S v chnh n bng 0 v khng c gii hn v lung m
82

n c th chuyn qua, nn di ng i ch n gin l di ca lin kt t S ti C v lung ln nht chnh l dung lng ca lin kt (S, C). S gn nhn A bng (2, 3, S, +) v A c t vo danh sch qut. Vic chn nt no c nh nhn trc mang tnh ngu nhin. iu ny tu thuc vo th t c thit lp trong danh sch k cn. Sau C c qut, C th nh nhn S nhng iu l khng th v S c mt nhn c di ng i bng 0, trong khi C c gn mt nhn c di ng i bng 4. Tuy nhin C c th nh nhn E bng (8, 3, C, +). di ng i bng 8 chnh l tng ca 2 ( di ng i trong nhn hin c ca C) v 6 ( di ca lin kt t C ti E). Lung ln nht chnh l gi tr b nht ca 4 (lung ln nht trong nhn ca C) v 3 (dung lng ca lin kt t C ti E tr i lung hin ti l 0). E c a vo danh sch qut. Tng t C gn nhn B bng (11, 4, C, +) v B c a vo danh sch qut. Sau A c qut. A c th gn li nhn cho B bng nhn c di ng i b hn v B c nhn bng (6, 2, A, +). Ch rng B c gn li nhn c di ng i b hn, mc d iu dn n lung ln nht trong nhn b hn. iu ny c th gim lung trn ng i nhng khng lm gim tng lung c gi ti D; s nh nhn kiu ny ch n gin l yu cu cn thm ng i chuyn lung . Mc d B c gn li nhn nhng khng c a vo danh sch qut v B tn ti trong danh sch qut.

E sau c qut, nt ny gn nhn D bng (11, 3, C, +). D l nt ch nn khng cn phi a vo danh sch qut. Mc d D c gn nhn nhng vn phi tip tc nh nhn cho n khi danh sch thnh rng bi v vn c th c mt ng i tt hn. E khng th gn nhn B ln na v nhn ca B c di ng i bng 6 trong khi E ch c th gn 9 cho B. Tip B c qut v D c nh nhn bng (9, 2, B, +).
Lc ny, danh sch qut rng. i ngc ng i t D, ng i ny c cc nt sau: B (nt trc ca D), A (nt trc ca B) v S. Thm 2 n v lung (lung ln nht trong nhn ca D) vo cc lin kt (S, A), (A, B) v (B, D). Lc ny c ba lin kt c cc lung c lung dng, v th chng iu kin s dng theo chiu ngc li. Lin kt (A, B) bo ho theo chiu thun v ch iu kin s dng theo chiu ngc. Ln tm th hai c kt qu l ng i SCED c di l 11 v lung bng 3. Ln tm th ba c kt qu l ng i SCEBD c di l 12 v lung bng 1. Trong ln tm th t, tt c mi nt u c gn nhn tr nt D, nhng D khng th c gn nhn nn thut ton kt thc. iu ny tng ng vi cc cut c dung lng bng 6 gia cc nt cn li v nt D. V th c mt lung ln nht bng vi dung lng ca mt cut ti thiu. iu ny to ra tng gi tr bng

(9x2 + 11x3 + 12x1) = 63


83

Nu ch mun gi ba n v lung th iu c th thc hin vi gi bng

(9x2 + 11x1) = 29
vi ng i u tin v ng i th hai. Chnh v vy, thut ton ny c th c s dng gii quyt bi ton lung ln nht, gi b nht ln bi ton tm lung vi gi tr cho trc c gi b nht. Trong bi ton tm lung vi gi tr cho trc c gi b nht, thut ton c th dng li khi lung t ti gi tr mong mun. Trong bi ton lung ln nht, gi b nht, nh ni trn, thut ton c thc hin cho n khi khng c ng i no na c tm thy. S m rng thut ton Ford-Fulkerson l ng n. iu bt li duy nht l vic phi mt s m bo v phc tp tnh ton. Khng cn c vic tm kim theo chiu su na, v c th phi tm mt ng i m php tm kim c phc tp bng O(L) vi lung c ln l L. Trong thc t, cc ng i c di b nht c xu hng c bc nh nht v t khi c s thay i ng k v thi gian hot ng. Th nhng, theo nh l iu c th xy ra. iu ny t ra yu cu v s pht trin cc thut ton phc tp hn c phc tp trong trng hp xu nht b hn. Nhng thut ton nh th gi l thut ton kp, rt nhiu trong s chng bt u bng vic s dng thut ton Ford-Fulkerson tm mt lung ti a (hoc mt lung c gi tr cho trc) v sau tm kim ng chuyn lung khc theo mt chu trnh c di m, chuyn lung khi ng i c gi cao hn ti ng i c gi thp hn. 4.4. Bi tp (Pending)

84

Chng 5 iu khin lung v


chng tc nghn
5.1. Tng quan 5.1.1. M u Trong trao i thng tin, khi pha pht truyn d liu n pha thu th d liu u tin c lu trong b m pha thu. D liu trong b m ny sau khi c x l v chuyn ln cc lp pha trn th s c xa i, dnh b m cho cc d liu k tip. Trn thc t trao i thng tin trong mng, c th xy ra tnh trng pha pht truyn d liu vi tc cao hn kh nng x l ca pha thu, dn n b m ca pha thu s y dn v b trn. Trong trng hp ny, pha thu khng th nhn thm cc gi d liu t pha pht dn n vic pha pht phi thc hin truyn li d liu, gy lng ph bng thng trn ng truyn. Nhm gim thiu vic phi truyn li thng tin v mt gi do trn hng i, cn c c ch thc hin kim sot v iu khin lu lng thng tin i n mt thit b/mng. Chc nng ny c thc hin bi k thut iu khin lung v kim sot tc nghn.
V d 5.1: hot ng ca mng khi khng c s kim sot

Hnh: Hot ng ca mng khi khng c s kim sot


Trn hnh v ny cc s trn mi lin kt th hin tc truyn d liu trn ng . Gi s c hai kt ni t B n A (theo ng B Y X

85

A, tc lBA Kbps) v t C n D (theo ng C Z X D, tc lCD Kbps).


Gi thit h thng mng khng c kim sot, ngha l tt c cc gi tin u c th truy cp ti nguyn ca mng, v b m ti cc nt X, Y v Z c th c s dng bi bt k gi tin no. Gi thit mi trng truyn khng c li, lc ny cc gi tin khng b sai nhng vn c th phi c truyn li nu n b nt mng hy do khng cn dung lng b m lu gi tin tm thi trc khi x l. Gi thit khi gi tin b mt v khng c lu trong b m th nt pht n s thc hin pht li nhm m bo vic truyn tin tin cy. minh ha cho vic iu khin trong mng, ta tm hiu cc trng hp sau:
1)

Trng hp 1: lBA = 7 Kbps v lCD = 0 .

Trong trng hp ny khng xy ra tc nghn v lu lng t B n A s c mng trung chuyn ht. Tc thng tin n nt A chnh bng tc thng tin nt B a vo mng, cc ng B-Y, Y-X v X-A u c tc 7 Kbps
2)

Trng hp 2: lBA = 8 + d Kbps (d > 0) v lCD = 0

Trong trng hp ny, tc thng tin t B n A ln hn tc hot ng ca ng t X n A. V l do ny, tc thng tin t Y n X ln hn t X n A, lng thng tin d tha s phi c lu trong b m ca X. B m ca X s dn b y v trn dn n cc gi thng tin t Y n s khng c lu v b hy. V b m ca Y lu li cc gi tin cha c bo nhn ( truyn li) nn b m ca Y cng dn b y v trn. Nt X c th chuyn 8 Kbps khi lu lng u vo ca n l 8+d Kbps (X hy d Kbps). Lc ny, ng Y X s c tc 8+2d Kbps (trong 8+d Kbps l thng tin t B n v d Kbps l thng tin pht li). Nhng v nt X ch c th truyn 8 Kbps nn n hy 2d Kbps v Y li phi truyn li lng thng tin ny. Qu trnh ny c tip din v cui cng ng ni Y X s hot ng vi tc 56 Kbps. Tng t nh vy, ng lin kt t B n Y cng s hot ng vi tc 16 Kbps (bao gm c cc gi mi v cc gi c pht li) gii quyt vn ny, c th lm theo hai cch:
n

Xy dng h thng mng c kh nng p ng tc ca thng tin t X n A (8+d Kbps) nhm p ng vi yu cu v tc ca B gii php ny ch thc s kh thi v hiu qu khi tc pht tin ca B l n nh trong mt thi gian di, nu khng hiu qu s dng ti nguyn rt thp nu xy dng h thng mng c kh nng p ng lu lng ln nhng li ch hot ng vi cc yu cu trao i lu lng nh. Gii hn tc truyn tin ca B xung cn 8 Kbps phng n ny kh thi khi yu cu truyn tin ca B trong phn ln thi gian < 8 Kbps v tc vt 8 Kbps ch din ra trong thi gian ngn.
86

Trong hai phng n ny, trn thc t ngi ta s dng phng n 2 vi s h tr ca cc giao thc mng.
3)

Trng hp 3: lBA = 7 Kbps v lCD = 7 Kbps

Tng t nh trng hp 1, trng hp 3 khng xy ra tc nghn trong mng. Thng tin c chuyn n A v D vi tc 7Kbps cho mi nt. Mi mt lin kt trong mng s hot ng vi tc 7Kbps
4)

Trng hp 4: lBA = 8 + d Kbps v lCD = 7 Kbps (d > 0)

Trong trng hp ny, ng i t C n D c dung lng (tc ) p ng yu cu cho kt ni C D; tuy nhin yu cu truyn thng tin trn ng B A vt qu kh nng x l ca tuyn truyn ny. Trong trng hp ny, hai kt ni B A v C D chia s b m ca nt X. Nh xt trong trng hp 2, lu lng thng tin t B n A lm trn b m ca X, iu ny dn n thng tin t B v C khi n X u b hy. Hin tng ny xy ra i vi tt c cc gi tin (c B v C) cho d nguyn nhn gy ra l do B. H qu l nt Y v Z cng b trn b m v tt c cc ng lin kt s hot ng vi tc cc i ca chng. Do trc khi chuyn gi tin t B v C n A v D tng ng, nt X phi lu cc gi tin ny vo b m x l nn trong trng hp b m X b trn, X s phi hy cc gi tin ny. Do tc thng tin Y X gp i tc thng tin Z X (khi cc lin kt ny hot ng vi tc c nh) nn s lng gi tin t Y n X s gp i t Z n X. Ni mt cch khc, X s hy (hay chp nhn) cc gi tin t Y v Z n theo t l 2:1. Lc ny thng tin t B n A hot ng vi tc 8 Kbps trong khi thng tin t C n D ch hot ng vi tc 4 Kbps. So vi trng hp 3, ta thy:
n

Thng lng tng cng ca mng gim t 14 Kbps xung cn 12 Kbps. Nt C b i x khng cng bng v tc truyn thng tin ca n n D b gim t 7 Kbps xung cn 4 Kbps trong khi nt B khng b nh hng nhiu (gim t 8+d Kbps xung 8 Kbps). Ngoi ra, nguyn nhn gy ra tc nghn li l do nt B.

gii quyt vn ny, ngi ta c th dnh mt phn dung lng b m ti X cho cc gi tin t C i n. Vic dnh trc ti nguyn ny c v nh tri ngc vi nguyn tc ca chuyn mch gi khi ti nguyn trong mng c chia s bi tt cc cc nt v ngi dng. Tuy nhin, trn thc t ngi ta c th nh i iu ny m bo tnh cng bng trong mng. Hnh di y m t thng lng ca mng trong mi quan h vi lu lng u vo.
n n

Thng lng: l tc chuyn thng tin ca mng tnh theo gi /s Lu lng: l tc thng tin i n mng (bao gm c thng tin mi v thng tin c truyn li)
87

Hnh: Thng lng ca mng trong mi quan h vi lu lng u vo


Trong trng hp l tng, mng s thc hin chuyn tt c cc gi i vo mng trong trng hp tc n ca cc gi ny nh hn kh nng trung chuyn ca mng (lu lng nh hn thng lng). Khi lu lng thng tin n vt qu thng lng ca mng, trong trng hp l tng th mng phi c kh nng chuyn cc gi vi tc bng thng lng ca mng (theo ng l tng trn hnh v) Trong trng hp thc t, nu h thng mng khng c kim sot v c cc c ch iu khin, mng s thc hin chuyn tt c cc gi tin khi lu lng nh hn mt ngng no . Khi lu lng vt qu gi tr ngng th thng lng bt u gim. Lu lng n cng nhiu th thng lng cng gim. Trong mt s trng hp dn n tnh trng deadlock ngha l mng hu nh khng chuyn c gi tin no na. Trong trng hp c thc hin iu khin lung v iu khin tc nghn, h thng mng s c kim sot v c kh nng hot ng tt ngay c khi c trng hp qu ti xy ra (lu lng i vo mng ln hn thng lng ca mng). Tuy nhin, do vic thc hin iu khin lung v tc nghn i hi phi c cc thng tin iu khin nn thng lng thc t (trong trng hp mng cha qu ti) s nh hn trng hp l tng, thm ch nh hn so vi trng hp khng c iu khin. 5.1.2. Khi nim iu khin lung
nh ngha iu khin lung l c ch nhm m bo vic

truyn thng tin ca pha pht khng vt qu kh nng x l ca pha thu. Trong k thut mng, iu khin lung c chia lm hai loi.
88

iu khin lung gia hai nt u cui (end-to-end): nhm m bo nt ngun (ni khi to phin thng tin) thc hin truyn thng tin khng vt qu kh nng x l ca nt ch (ni kt thc phin thng tin). iu khin lung gia hai nt trong mng (hop-by-hop): l vic thc hin iu khin lung gia hai nt lin tip trn ng i t ngun n ch.

5.1.3. Khi nim chng tc nghn


nh ngha Chng tc nghn l c ch kim sot thng tin

i vo mng nhm m bo tng lu lng thng tin i vo mng khng vt qu kh nng x l ca ton mng. Chng tc nghn c chia lm hai loi:
n

iu khin truy nhp mng (network access): kim sot v

iu khin lng thng tin c th i vo trong mng.


n

iu khin cp pht b m (buffer allocation): l c ch thc

hin ti cc nt mng nhm m bo vic s dng b m l cng bng v trnh vic khng truyn tin c do b m ca tt c cc nt b trn (deadlock). Chng tc nghn lin quan n vic kim sot thng tin trn ton mng, trong khi iu khin lung l vic kim sot thng tin gia hai u cui c th. Hai k thut ny c im tng ng l phi gii hn lu lng thng tin nhm trnh kh nng qu ti ca h thng ch. Do tnh cht gn kt ca hai khi nim ny, a phn cc ti liu u s dng ln (hoc kt hp) cc khi nim iu khin lung (flow control) v iu khin tc nghn (congestion control). V l do , trong ti liu ny, chng ti s dng khi nim iu khin lung din t c hai phm tr. Trong nhng trng hp c th cn phi phn bit lm r hai khi nim, chng ti s c nhng ch thch r rng. 5.1.4. Nhim v ch yu ca iu khin lung v chng tc nghn iu khin lung v chng tc nghn c s dng khi c s gii hn v ti nguyn (thng l bng thng) gia im truy nhp thng tin. Khi nim im truy nhp y c th l gia hai ngi s dng, gia ngi s dng vi im truy nhp mng hay gia hai thit b mng Mc ch chnh ca vic s dng iu khin lung v chng tc nghn trong mng l nhm:
n

Ti u ha thng lng s dng ca mng: trong trng

hp thng tin ch truyn gia hai ngi dng, vic ti u ha tc truyn tin khng cn t ra. Tuy nhin, trong mt h thng mng
89

vi s tham gia trao i thng tin ca nhiu nt mng, vic ti u ha thng lng ca h thng mng phc tp hn nhiu.
n

Gim tr gi khi i qua mng: ng trn phng din ngi

s dng, tr gi t u cui n u cui cng nh cng tt. Tuy nhin, iu khin lung ( lp mng) khng nhm thc hin iu . iu khin lung ch m bo tr ca gi tin khi i qua mng nm mt mc chp nhn c thng qua vic gii hn s lng gi tin i vo mng (v do , gim tr hng i). V l do , iu khin lung khng c tc dng vi nhng ng dng i hi tr nh trong khi li truyn trn h thng h tng tc thp. Trong trng hp ny, vic p ng yu cu ca ngi s dng ch c th c thc hin thng qua vic nng cp h thng hay s dng cc gii thut nh tuyn ti u hn. Mc ch chnh ca vic gim tr gi l gim s lng ph ti nguyn khi phi truyn li gi. Vic truyn li c c th do hai nguyn nhn: (1) hng i ca cc nt mng b y dn n gi thng tin b hy v phi truyn li; (2) thng tin bo nhn quay tr li nt ngun qu tr khin pha pht cho rng thng tin truyn i b mt v phi truyn li
n

m bo tnh cng bng cho vic trao i thng tin trn mng: m bo tnh cng bng trong trao i thng tin l mt

trong nhng yu t tin quyt ca k thut mng. Vic m bo tnh cng bng cho php ngi s dng c dng ti nguyn mng vi c hi nh nhau. Trong trng hp ngi s dng c chia thnh cc nhm vi mc u tin khc nhau th bo m tnh cng bng c thc hin i vi cc ngi dng trong cng mt nhm.
n

m bo trnh tc nghn trong mng: tc nghn l hin

tng thng lng ca mng gim v tr tng ln khi lng thng tin i vo mng tng. iu khin lung cung cp c ch gii hn lng thng tin i vo mng nhm trnh hin tng tc nghn k trn. C th hnh dung iu khin lung nh hot ng ca cnh st giao thng trn ng ph vo gi cao im. Nh trn trnh by, iu khin lung v trnh tc nghn thng c s dng kt hp vi nhau kim sot thng tin trn mng. iu khin lung v trnh tc nghn c s dng nhiu nht ti cc lp lin kt d liu (data link), lp mng (network) v lp giao vn (transport) trong iu khin lung hop-by-hop c s dng lp lin kt d liu, iu khin lung end-to-end c s dng lp giao vn v iu khin tc nghn c s dng lp mng. 5.1.5. Phn loi iu khin lung v trnh tc nghn Trong cc phn ti, chng ta s ln lt tm hiu cc c ch v chnh sch thc hin iu khin lung v trnh tc nghn. Cc c ch ny c phn ra lm ba loi chnh:
n n

Cc c ch cp pht b m Cc c ch ca s
90

Cc c ch iu khin truy nhp mng

5.2. Tnh cng bng 5.2.1. nh ngha


nh ngha Tnh cng bng l kh nng m bo cho cc

ngi dng, cc ng dng khc nhau c s dng ti nguyn mng vi c hi nh nhau. m bo tnh cng bng l mt trong nhng tiu ch hng u ca k thut mng.
V d: xem li v d u chng (v d s...) thy c tnh cng

bng. 5.2.2. Tnh cng bng v mt bng truyn


nh ngha Tnh cng bng v mt bng truyn th hin

kh nng chia s bng truyn cng bng cho tt c ngi dng hoc kt ni.
V d 5.2: Xt m hnh mng nh trn hnh v di y. Lin kt

gia cc nt c tc 1Mbps.
n

Thng lng ca mng s t cc i (bng 3Mbps) nu cc kt ni 2, 3 v 4 c s dng ton b 1 Mbps bng thng v kt ni 1 khng c cung cp lng bng thng no c Mt khi nim khc ca tnh cng bng l cho mi kt ni s dng 0,5Mbps bng thng. Lc ny tng thng lng ca mng s l 2Mbps. Nu cung cp lng ti nguyn mng (bng thng) cho tt c cc kt ni l nh nhau, lc y cc kt ni 2, 3, 4 s c s dng 0,75Mbps v kt ni 1 s dng 0,25 Mbps (v c s dng trn ton b ng truyn)

Hnh: Minh ha s nh i gia thng lng v tnh cng bng


5.2.3. Tnh cng bng v mt b m Hnh v di minh ha khi nim s dng b m
n

Gi s nt mng B c dung lng b m hu hn


91

Lin kt 1 (t A n B) c tc 10Mbps, lin kt 2 (t D n B) c tc 1 Mbps. Nu khng c c ch iu khin lung v qun l b m, t l s dng dung lng b m ti B ca hai lin kt 1 v 2 s l 10:1 (do tc thng tin n B tng ng l 10Mbps v 1Mbps)
Kt ni 2

D 1
Kt ni 1

10

B 1 E

Hnh: Minh ha v s khng cng bng khi s dng b m


Hnh v di minh ha hin tng tc nghn xy ra do trn b m.
n

Trong hnh (a), b m ca nt A c in y bi thng tin n t B v ngc li. H qu l A v B khng nhn c thm thng tin t nhau v vic truyn thng tin l khng thc hin c (deadlock) Trong hnh (b), gi s b m ca A y cc gi thng tin ca B, b m ca B y thng tin ca C v b m ca C y cc thng tin ca A. Tng t nh trng hp hnh A, trong trng hp ny, vic truyn tin cng khng thc hin c do trn b m.

92

Hnh: Tc nghn do trn b m


nh ngha Tnh cng bng v mt b m l kh nng

m bo vic s dng b m ca cc ngi dng, cc ng dng hay kt ni l cng bng. Vi vic s dng c ch iu khin lung v cc c ch qun l b m, vic phn chia s dng b m gia cc ngi dng, ng dng hay cc kt ni s c thc hin cng bng hn. 5.2.4. C ch pht li ARQ Cc c ch iu khin lung v iu khin tc nghn theo phng php ca s c hot ng tng t nh cc c ch pht li ARQ (Automatic Repeat Request). V l do , trong phn ny, chng ti trnh by cc khi nim c bn v cc c ch ARQ lm nn tng cho vic tm hiu v iu khin lung v iu khin tc nghn cc phn sau. Khi truyn thng tin trong mng, thng tin truyn t pha pht sang pha thu c th b sai li hoc mt. Trong trng hp thng tin b mt, cn phi thc hin truyn li thng tin. Vi trng hp thng tin b sai, c th sa sai bng mt trong hai cch:
n

Sa li trc tip bn thu: pha thu sau khi pht hin li c th sa li trc tip ngay bn thu m khng yu cu phi pht li. c th thc hin c iu ny, thng tin trc khi truyn i phi c ci cc m sa li (bn cnh vic c kh nng pht hin li, cn c kh nng sa li).
93

Yu cu pha pht truyn li: pha thu sau khi kim tra v pht hin c li s yu cu pha pht truyn li thng tin. Sa li trc tip bn thu (Forward Error Correction FEC): ch cn truyn thng tin mt ln, khng yu cu phi truyn li thng tin trong trng hp c li. Tuy nhin, s lng bit thng tin c th sa sai ph thuc vo s loi m sa sai v s bit thng tin thm vo cho mc ch sa sai. Nhn chung, s bt thng tin thm vo cng ln th s bit c th sa sai cng nhiu, tuy nhin hiu sut thng tin (s bit thng tin hu ch trn tng s bit truyn i) li thp. Sa li bng cch truyn li: khc vi sa li trc tip bn thu, trong trng hp sa li bng cch truyn li, thng tin trc khi pht ch cn thm cc bit thng tin phc v cho mc ch pht hin li (s bit thm vo t hn so vi trng hp sa li) do hiu sut truyn thng tin cao hn so vi trng hp trn. Tuy nhin, trong trng hp c li xy ra vi khung thng tin th ton b khung thng tin phi c truyn li (gim hiu sut truyn tin). Vi u nhc im ca cc phng php trn, sa li bng cch truyn li thng c dng trong mi trng c t l li bit thp (truyn dn hu tuyn) trong khi sa li bn thu thng c dng trong trng hp mi trng truyn dn c t l li bit cao (v tuyn). c th i ph vi trng hp li chm (burst noise), c th p dng mt s c ch nh ghp xen k thng tin (interleaving).

c im ca hai phng php sa li trn:


n

Trong khun kh chng ny, chng ti trnh by vic iu khin li theo c ch pht li. Cc c ch ny c gi l ARQ (Automatic Repeat Request). C ch sa li trc tip bn thu c trnh by trong cc ni dung ca mn hc khc. Cc c ch pht li c chia ra lm 3 loi chnh:
n n n

C ch pht li dng v i (Stop-and-Wait ARQ) C ch pht li theo nhm (Go-back-N ARQ) C ch pht li c la chn (Selective repeat ARQ)

Phn di y s ln lt trnh by nguyn tc hot ng cng nh nh gi hiu nng ca mi phng php. 5.2.5. Stop-and-Wait ARQ

C ch hot ng
Trong c ch pht li theo phng php dng v i (Stop-and-Wait ARQ), pha pht s thc hin pht mt khung thng tin sau dng li, ch pha thu bo nhn.
n

Pha thu khi nhn ng khung thng tin v x l xong s gi bo nhn li cho pha pht. Pha pht sau khi nhn c bo nhn s pht khung thng tin tip theo.
94

Pha thu khi nhn khung thng tin v pht hin sai s gi bo sai li cho pha pht. Pha pht sau khi nhn c bo sai s thc hin pht li khung thng tin.

Bo nhn c s dng cho khung thng tin ng v c gi l ACK (vit tt ca ch Acknowledgement). Bo sai c s dng cho khung thng tin b sai v c gi l NAK (vit tt ca ch Negative Acknowledgement). Hnh v di y m t nguyn tc hot ng c bn ca c ch pht li dng v i.

Hnh: Pht li theo c ch dng v i


5) Cu hi:

Trong trng hp pha pht khng nhn c thng tin g t pha thu, pha pht s lm g? Khung thng tin b mt, pha thu khng nhn c g v cng khng gi thng bo cho pha pht.

Pha pht khng nhn c thng tin t pha thu trong hai trng hp:
n

Pha thu nhn c ng khung thng tin v gi ACK ri, nhng ACK b mt; hoc pha thu nhn c khung thng tin v pht hin sai v gi NAK nhng khung ny b mt.

trnh tnh trng pha pht khng pht thng tin do ch ACK (hoc NAK) t pha thu, mi khi pht mt khung thng tin, pha pht s t mt ng h m ngc (time-out) cho khung thng tin . Ht khong thi gian time-out, nu pha pht ko nhn c thng tin g t pha thu th n s ch ng pht li khung thng tin b time-out.
6) Cu hi:

Trong trng hp pha pht phi pht li khung thng tin do time-out, nhng khung thng tin c nhn ng pha thu ri (time-out xy ra do ACK b mt), pha thu lm th no c th phn bit l khung thng tin ny l khung pht li hay khung thng tin mi?

c th phn bit c cc khung thng tin vi nhau, cn nh s khc khung. Trong trng hp ny, ch cn dng mt bit nh s khung (0 hoc 1). trnh tnh trng cc nhm ln gia cc khung thng tin c pht v bo nhn tng ng, tt c cc khung c truyn i gia hai pha pht thu u c nh s (0, 1) lun phin. S th t khung thng
95

tin t pha pht sang pha thu nm trong trng SN (Sequence Number) v s th t ca bo nhn t pha thu sang pha pht nm trong trng RN (Request Number). SN l s th t c khi to bn pht, trong khi , RN l s th t ca khung tip theo m pha thu mun nhn. RN = SN + 1 trong trng hp khung ng (ng vi ACK), RN = SN trong trng hp pha thu yu cu pht li do khung sai (ng vi NAK). Trn thc t, thng tin trao i gia hai im thng c truyn theo hai chiu, ngha l ng thi tn ti hai knh truyn t pht n thu v ngc li. Trong trng hp ny, khung ACK/NAK (hay trng RN) khng cn nm trong mt khung bo nhn c lp m c th nm ngay trong tiu ca khung thng tin c truyn theo chiu t thu n pht. Mt s giao thc c khung thng tin bo nhn c lp (ACK/NAK) trong khi mt s giao thc khc li s dng lun khung thng tin truyn theo chiu ngc li (t thu sang pht) thc hin bo nhn (hay bo li) cho khung thng tin t pht sang thu

Tm tt c ch hot ng ca Stop-and-Wait ARQ


Pha pht gi s ti thi im u SN = 0
1) 2) 3)

Nhn gi tin t lp pha trn v gn SN cho gi tin ny Gi gi tin SN ny trong mt khung thng tin c s th t l SN Ch khung thng tin (khng c li, ng vai tr l khung bo nhn) t pha thu. Nu khung nhn c khng c li, v trong trng Request c RN > SN th t gi tr SN = RN v quay li bc 1 Nu khng nhn c khung thng tin trong mt khong thi gian nh trc (time-out), th thc hin bc 2 Khi nhn c mt khung thng tin (khng c li) t pha pht, chuyn khung ny ln lp pha trn v tng gi tr RN ln 1 Trong trng hp nhn c khung thng tin c li, gi li mt khung thng tin cho pha pht vi RN c gi nguyn (khung bo sai - NAK). Khung c gi t pha thu ny c th cha c thng tin t pha thu sng pha pht ch khng n thun ch dng cho mc ch bo sai.

Pha thu gi s ti thi im u RN = 0


4) 5)

Hnh di y m t nguyn tc hot ng ca c ch Stop-and-Wait ARQ khi c s dng SN v RN.

96

Hnh: Stop-and-Wait ARQ c s dng SN/RN Hiu sut ca phng php Stop-and-Wait ARQ
nh ngha Hiu sut ca vic truyn tin gia pha pht v thu

l t l gia thi gian pha pht cn pht xong lng thng tin trn tng thi gian cn thit truyn lng thng tin . Tng thi gian cn thit y bao gm thi gian tr khi truyn tn hiu t pht sang thu (v ngc li) cng nh thi gian x l thng tin v thi gian ch bo nhn t pha thu. tnh hiu sut tnh cho phng php ARQ dng v i, ngi ta tnh cho mt khung thng tin in hnh, hiu sut ca c mt phin truyn cho nhiu khung thng tin v bn cht chnh bng hiu sut khi tnh cho mt khung (v c t s v mu s cng nhn vi mt h s t l l s khung thng tin c truyn)
Trng hp 1: Gi thit mi trng khng c li, thng tin t truyn

t pha pht sang pha thu ch chu nh hng ca tr

Hnh: Gin thi gian khi truyn tin t pht sang thu, khng c li
Trong :
n n n

TF = thi gian pht khung thng tin TD = tr truyn sng gia pha pht v pha thu TP = thi gian x l khung thng tin pha thu
97

n n

TACK = thi gian pht khung ACK TP = thi gian x l khung ACK pha pht

Ta c:
n n

Thi gian pha pht cn pht xong khung thng tin l TF Tng thi gian cn thit truyn khung thng tin l T = TF+TD+TP+TACK+TD+TP. V thi gian x l khung thng tin TP v TP l kh nh nn c th b qua. Trong trng hp kch thc khung thng tin F ln hn khung bo nhn ACK rt nhiu th c th b qua c TACK. Nh vy T = TF+2TD.

Hiu sut truyn:

h=
Trong :

TF 1 T = vi a = D TF + 2TD 1 + 2a TF

d vi d l khong cch gia hai trm pht v thu; v l vn tc v truyn sng trong mi trng. v = 3.108 m/s khi truyn trong khng gian t do. TD = L vi L l kch thc khung thng tin v R l tc ng R truyn TF =
Khi a =

Rd , a cng nh th hiu sut truyn cng ln vL

V d 5.3: tnh hiu sut ca phng php pht li theo c ch ARQ dng v i cho tuyn thng tin v tinh. Gi thit khong cch t v tinh ti mt t l 36.000 km, vn tc truyn sng trong khng kh l 3.108 m/s, tc thng tin l 56 Kbps v khung c kch thc 4000 bits.

Gii: Ta c

a=

Rd 56.103.36.106 = = 1,68 , vL 3.108.4.103


1 1 = = 22,94% . 1 + 2a 1 + 2.1, 68

Do hiu sut

h=

Hin ti, cc dch v thng tin v tinh c tc ln hn nhiu (R ln) nn h s a cng ln v hiu sut s cn nh hn trng hp v d ny.
V d 5.4: tnh hiu sut ca phng php pht li theo v d trn

nhng s dng co kt ni trong mng LAN vi khong cch gia hai trm l 100 m, vn tc truyn sng trn cp ng l 2.108 m/s, tc truyn thng tin l 10 Mbps v khung c kch thc 500 bits.
98

Gii: tnh tng t nh trng hp trn, ta c

a=

Rd 10.106.100 1 1 = = 98, 04% = = 0, 01 , hiu sut h = 8 1 + 2a 1 + 2.0, 01 vL 2.10 .500

Nh vy, vi thng tin trong mng LAN, do c ly nh nn hiu sut c ci thin so vi trng hp truyn thng tin v tinh.
6) Trng hp 2:

phn trn, tnh ton hiu sut, chng ta gi thit mi trng truyn l tng (khng c li). Tuy nhin, mi trng truyn thc t lun c li v c c trng bi xc sut li p, do , hiu sut truyn trn thc t s nh hn so vi trng hp l tng.

nh ngha xc sut li Xc sut li p (0 p 1) l xc sut

pha thu nhn c bit 0 khi pha pht truyn bit 1 (hoc ngc li). Xc sut li cng ln th mi trng truyn cng khng tt, khi p = 0 th mi trng truyn khng c li (l tng); p = 1 l khi mi trng truyn lun lun c li (s khng dng truyn tin). Khi 0,5 < p < 1 tc l kh nng pha thu nhn c thng tin c li s ln hn nhn c thng tin ng, trong trng hp ny, ch cn o bit lung thng tin thu c l ta c th chuyn thnh trng hp 0 < p < 0,5. V l do , trong l thuyt thng tin, ngi ta ch tm hiu cc mi trng truyn dn c xc sut li 0 p 0,5. Nh trn trnh by, khi truyn thng tin trong mi trng c li, c th xy ra trng hp phi truyn li khung thng tin (do li), do , hiu sut trong trng hp ny nh hn trng hp l tng. Gi NR l s khung thng tin phi truyn cho n khi ng ( 1 NR ), khi h y, hiu sut ca trng hp khng l tng s l h 'reality = ideal . Vn NR y l tnh c gi tr NR. n gin ha, ta gi thit ACK v NAK khng b li. Ta thy, vi xc sut li l p th:
n n n

Xc sut truyn khung thnh cng ngay ln u l 1-p Xc sut truyn khung n ln th hai mi thnh cng l p(1-p) Tng qu ho: xc sut truyn khung n ln th i mi thnh cng l pi-1(1-p)

Vy:

NR = ip i -1 (1 - p ) =
i =1

1 . 1- p

Hiu sut ca phng php ARQ dng v i trong trng hp thc t:

h reality =

hideal 1 - p = N R 1 + 2a
99

Nhn xt
Nh phn trn trnh by, hiu sut ca phng php truyn theo Rd c ch dng v i ph thuc vo h s a = , a cng nh th hiu vL sut cng ln. Ta thy a s nh khi v.L ln hoc khi R.d nh.
n

R nh y l iu khng mong mun khi truyn thng tin v trn thc t, ngi ta mong mun truyn tin vi tc ng truyn cng cao cng tt. d nh tham s khong cch gia pha pht v pha thu thng khng thay i c do ph thuc vo nhng yu cu khch quan bn ngoi. v ln vn tc truyn sng trong mi trng c cc gi tr nht nh v rt kh c th thay i. L ln c th tng kch thc khung tng hiu sut. Tuy nhin phng php ny c nhc im l thng tin truyn li s ln nu khung thng tin ban u b sai. Cng v l do ny m mi mi trng truyn dn nht nh s c kch thc khung ti u tng ng.

Nh vy, h s a gn nh khng th thay i dn n phng php truyn li theo c ch dng v i khng c s dng ph bin do hiu qu s dng ng truyn khng cao. nng hiu sut ln, cn c nhng c ch mi nhm m bo pha pht c th tn dng c thi gian rnh ri trong khi ch bo nhn t pha thu. Ngi ta da trn c ch dng v i ny to ra cc c ch mi cho hiu qu truyn cao hn, c th l c ch truyn li theo nhm (Go-back-N ARQ) v c ch pht li theo yu cu (Selective Repeat ARQ). 5.2.6. Go-back-N ARQ

C ch hot ng
Vi c ch pht li Go-back-N, pha pht s c pht nhiu hn mt khung thng tin trc khi nhn c bo nhn t pha thu. S khung thng tin cc i m pha pht c th pht (k hiu l W) c gi l kch thc ca s. Vi c ch hot ng ny, Go-back-N (v c phng php selective repeat trnh by phn sau) c gi l c ch ca s trt (sliding window) Mi khi pht xong mt khung thng tin, pha pht gim kch thc ca s i 1, khi kch thc ca s bng 0, pha pht s khng c pht thm khung thng tin no na (iu ny m bo s khung thng tin ng thi n pha thu khng vt qu W, v do , khng vt qu kh nng x l ca pha thu). Mi khi pha thu nhn c mt khung thng tin ng v x l xong, pha thu s gi li mt bo nhn ACK cho pha pht. Khi nhn c bo nhn ny, pha pht s tng kch thc ca s W ln 1. iu ny ng ngha vi vic pha pht s c pht thm mt khung na,
100

ngoi W khung pht trc , v pha thu x l xong mt khung, v nh vy, tng s khung m pha thu phi x l ti mt thi im vn khng vt qu W. c th phn bit cc khung trn ng truyn, cc khung cn c nh s th t. Nu dng k bit nh s th tng s khung c nh s s l 2k (t 0 n 2k 1) v do , kch thc ca s ti a Wmax = 2k (v mt l thuyt). V d s dng 3 bit nh s th t cho cc khung thng tin. Lc ny kch thc ca s cc i s l 7 (yu cu sinh vin gii thch l do). Ti thi im ban u, c pha pht v thu u c kch thc ca s l 7 th hin rng pha pht c php pht ti a l 7 khung (bt u t khung F0). Sau khi pha pht pht c ba khung (F0, F1, F2) v cha nhn c ACK, pha pht gim kch thc ca s xung cn 4. Lc ny ca s pha pht bao gm cc khung t F3 n F6 th hin rng pha pht cn c php truyn ti a l 4 khung na, bt u t khung F3. pha thu, sau khi nhn ng v x l xong ba khung F0, F1 v F2 th s gi li ACK3 cho pha pht. ACK3 nhm m ch rng: Pha thu nhn v x l xong cc khung cho n F2 v pha thu ang sn sng nhn khung 3. Thc t, pha thu sn sng nhn 7 khung bt u t khung F3. Phia thu ng thi tng kch thc ca s bn thu ln 7, bao cc khung t F3 cho n F1. Pha pht sau khi nhn c ACK3 s tng kch thc ca s thm 3 n v. Lc ny ca s pha pht W = 7 v bao cc khung t F3 n F1. Gi s lc ny pha pht thc hin pht cc khung t F3 n F6 (4 khung). Sau khi pht, pha pht s gim kch thc ca s i 4 (W = 3), lc ny ca s ch cn bao cc khung F7, F0 v F1. Pha thu gi li ACK4, bo rng n nhn v x l xong khung F3, ACK4 m ch rng pha pht c php pht ti a l 7 khung bt u t F4. Tuy nhin khi ACK4 v n pha pht th pha pht thc hin pht cc khung F4, F5 v F6 ri, nh vy, pha pht s ch cn pht c ti a l 4 khung bt u t F7. Hnh di y minh ha nguyn tc hot ng ca c ch ca s trt.

101

Hnh: Nguyn tc hot ng ca c ch ca s trt


Trong trng hp l tng (khng c li xy ra) th c ch ca s trt m bo s khung thng tin t pha pht n pha thu khng vt qu kch thc ca s. Trong trng hp ny, khng c s phn bit gia Go-back-N v selective repeat (v chng c gi chung l sliding window). Khi c li xy ra, vic truyn li cc khung li ca c ch ca s trt c thc hin theo hai cch khc nhau:
n

Go-back-N: pha pht s thc hin pht li khung thng tin b sai v tt c cc khung thng tin khc c truyn, tnh t khung b sai. Selective repeat: pha pht s ch pht li cc khung thng tin b sai

c th hiu r hn v c ch hot ng ca Go-back-N, ta xt mt s trng hp c th sau:


1)
n

Khung thng tin b li c th xy ra mt trong ba trng hp: Pha pht pht khung i, pha thu thu ng cc khung t i 1 tr v trc. Lc ny pha thu s gi NAK i (RN = i) cho pha pht bo li cho khung i. Khi pha pht nhn c NAK i, n s thc hin pht li khung i v tt c cc khung sau i (nu cc khung c pht). Khung thng tin i b mt trn ng truyn, gi s pha thu nhn c khung i+1, lc ny pha thu thy cc khung n khng theo th t (nhn c i+1 trc khi nhn c i) v hiu rng khung i mt. Pha thu s gi li NAK i cho pha pht.
102

Khung thng tin i b mt trn ng truyn v pha pht khng gi thm khung thng tin no na. Lc ny pha thu khng nhn c g v khng gi li ACK hay NAK. Pha pht ch n time-out ca khung thng tin i v thc hin truyn li khung ny. Khung ACK b li ACK b li c th xy ra mt trong hai trng hp: Pha thu nhn c khung i v gi ACK(i+1) v pha pht v ACK ny b mt trn ng truyn. Gi s trc khi time-out ca khung i xy ra, pha pht nhn c ACK(i+2) (hoc ACK(i+n) vi n > 1) th pha pht hiu rng khung i c nhn ng. Kt lun ny c gii thch nh sau: khi pha thu gi ACK(i+2) ngha l pha thu nhn ng (v chp nhn) khung i+1, iu cng ng ngha vi vic pha thu nhn ng khung i. Ngi ta ni c ch ca Go-back-N s dng cummulative ACK (ngha l cc ACK sau cng ng thi bo nhn cho cc khung trc ) Nu trong khong thi gian time-out ca khung i, pha pht khng nhn c ACK(i+n) no c th sau time-out, pha pht s phi pht li khung i (v tt c cc khung sau ). Khung NAK b li trong trng hp NAK b li, ngha l khung i b li, lc ny pha thu s khng nhn thm mt khung no sau khung i (v cng s khng gi bo nhn). Vi trng hp ny pha pht bt buc phi ch n time-out v thc hin pht li khung thng tin i. n gin vn , chng ta khng xem xt trng hp ACK v NAK b sai (nu xt th s nh th no???)

2)

3)

4)

Hnh 1-8 y trnh by nguyn tc pht li ca ARQ Go-back-N khi c li xy ra vi khung thng tin

Hnh 5-8: Minh ha c ch Go-back-N ARQ Mt s ch ca c ch hot ng ARQ Go-back-N


Bn cnh nguyn tc hot ng v minh ha trnh by trn y, cn ch mt s im sau khi tm hiu hot ng ca Go-back-N
n

Trong trng hp pha thu c kh nng x l W khung thng tin th khng cn b m. Pha thu ch nhn v x l thng tin theo ng th t (da trn s th t nh trn cc khung)

103

Pha thu chuyn cc gi thng tin ln lp cao hn theo th t Pha thu s khng nhn khung i+1 nu cha nhn c khung i. iu ny l nguyn nhn khin pha thu khng cn phi c b m

Pha pht phi lu ti a l W khung thng tin trong b m ch ACK

Hiu sut ca c ch ARQ Go-back-N


Tng t nh trng hp ARQ dng v i, khi tnh hiu sut ca phng php pht li ARQ Go-back-N, chng ta cng tnh trong hai trng hp: trng hp l tng v v trng hp thc t.
1) Trng hp 1:

trong iu kin l tng

c th tnh c hiu sut ca phng php ARQ Go-back-N trong trng hp l tng, chng ta da trn hiu sut ca phng 1 T trong a= D . Nu chun php dng v i bit. l: h = 1 + 2a TF ha n v TF = 1 n v thi gian (gi thit thi gian pht khung l 1 n v chun) th tr truyn sng t gia hai trm thu pht l a n v thi gian. Ni mt cch khc, khung thng tin truyn t pht sang thu v khung ACK/NAK truyn t thu v pht mt mt khong thi gian l a n v thi gian. Hnh 1-9 trnh by v gin thi gian ca phng php ca s trt. Hnh 1-9(a) minh ha trong trng hp kch thc ca s W > 2a + 1 v hnh 1-9 (b) minh ha trong trng hp kch thc ca s W < 2a + 1. Quy c:
n n

[X] l s nguyn nh nht ln hn hay bng X.

A l pha pht, B l pha thu

104

Hnh 5-9(a): Gin thi gian phng php ca s trt, W > 2a+1

Hnh 5-9(b): Gin thi gian phng php ca s trt, W < 2a+1
Hiu sut ca phng php ny ph thuc vo kch thc ca s W v gi tr a. Trn hnh 1-9(a) v 1-9(b), pha pht A thc hin truyn cc khung ti thi im t0 (bit u tin ca khung u tin). Bit u tin ny n pha thu B ti thi im t0+a. Ton b khung u tin n B ti thi im t0+a+1. Gi thit b qua thi gian x l, nh vy B cng c th gi bo nhn ACK ti thi im t0+a+1. Trong trng hp kch thc bo nhn nh th y cng l thi im ton b bo nhn ACK ri khi pha thu. Bo nhn ny n pha pht A ti thi im t0+2a+1. Gi thit pha pht lun c d liu c th truyn lin tc, khi y c hai trng hp xy ra.
n

Nu W 2a+1: bo nhn u tin n pha pht trc khi W = 0. K t thi im A nhn c bo nhn u tin, c mi mt n v thi gian A pht c mt khung thng tin v cng ng thi nhn c mt bo nhn, nh vy A c th pht tin lin tc
105

Nu W < 2a+1: kch thc ca s pha pht W = 0 t ti thi im t0+W (xy ra trc thi im t0+2a+1) v pha pht khng th pht khung trong khong thi gian t t0+W n t0+2a+1.

Hiu sut ca phng php ca s trt lc ny:

h window =

W khi W < 2a+1 v h window = 1 khi W 2a + 1 2a + 1

2) Trng hp 2:

trong trng hp thc t, do c li xy ra nn hiu sut thc t nh hn hiu sut trong trng hp l tng

h window trong NR l s l pht trung bnh cho n khi NR thnh cng. hGo -back - N =
Vi trng hp Go-back-N, mi khi c li xy ra, pha pht s phi pht li K khung (vic xc nh K s c tnh phn sau). Xc sut khung thng tin c truyn n ln th i th ng

p (i ) = p i -1.(1 - p ) (trong pi-1 l xc sut i-1 ln truyn u tin b sai) v 1-p l xc sut ln truyn th i ng.
Vi trng hp ny, tng s khung phi truyn li s l f(i) = 1 + (i-1).K trong (i-1).K l tng s khung phi truyn li cho i-1 ln truyn sai. Vy s khung trung bnh cn truyn trong trng hp truyn n ln th i mi ng l N(i) = f(i).p(i) S khung trung bnh cn truyn cho n khi thnh cng:

NR = f (i ). p i -1 (1 - p ) = [(1-K)+Ki ] p i -1 (1 - p)
i =1 i =1

NR = (1 - K ) p i -1 (1 - p ) + K ipi -1 (1 - p)
i =1 i =1

S dng cc kt qu sau:

r = r
i i =0 i =1

i -1

1 1- r

V:

i.r
i =1

i-1

1 (1 - r ) 2

Ta c:

NR = 1 - K +
Tnh K:

K 1 - p + Kp = 1- p 1- p

tnh hiu sut ca phng php Go-back-N, ta gi thit pha pht lun c d liu pht (thc hin pht lin tc, tr khi phi dng li do kch thc ca s = 0). Nh vy,
106

Nu W 2a + 1 th K 2a + 1 do khi NAK ca khung i v th pha pht pht thm c 2a + 1 khung Nu W < 2a + 1 th K = W do khi NAK ca khung i v th pha pht pht xong kch thc ca s (W khung) v ang ch bo nhn cho khung i pht tip. 1- p khi W 2a+1 1 + 2 ap W(1-p) khi W < 2a+1 (2a+1)(1-p+Wp)

Hiu sut:

hGo -back - N =
V:

hGo -back - N = Nhn xt

u im ca phng php ARQ Go-back-N l hiu sut cao hn so vi phng php ARQ dng v i. Bn cnh , c ch x l thng tin pha thu kh n gin v khng cn b m. Tuy nhin, phng php ny c nhc im l cn truyn li qu nhiu khung thng tin trong trng hp khung thng tin b li. khc phc nhc im ny, ngi ta xut s dng c ch ARQ pht li theo yu cu (Selective repeat ARQ) 5.2.7. Selective repeat ARQ

C ch hot ng
Tng t nh c ch pht li Go-back-N, c ch pht li c la chn (selective repeat ARQ) cng da trn phng php ca s trt. Pha pht c php pht ti a W khung thng tin (kch thc ca s) trc khi nhn c bo nhn. im khc bit gia selective repeat v Go-back-N nm cch hai phng thc ny x l khung thng tin b li. Vi trng hp selective repeat, pha pht s ch thc hin pht li khung thng tin b li m khng cn pht li tt c cc khung khc sau khung li nu nh cc khung khng b sai. C ch ny gip tng hiu qu s dng ng truyn so vi c ch Go-back-N. Hnh 5-10 m t nguyn tc hot ng ca selective repeat

107

Hnh 1-10: Nguyn tc hot ng ca selective repeat Mt s ch ca selective repeat ARQ


Do pha pht ch thc hin pht li cc khung b li, do cc khung n pha thu c th khng theo th t nh khi c pht i pha pht
n

Pha thu phi c kh nng x l cc khung thng tin khng theo th t. Do cc khung thng tin phi c a ln lp trn theo ng th t nn pha thu phi c b m lu tm cc khung thng tin trong khi ch cc khung b mt hoc li c pht li.

Pha pht phi thc hin bo nhn cho tt c cc khung thng tin m n nhn ng. Cc khung thng tin khng c bo nhn trong khong thi gian time-out tng ng s c coi l b mt hoc li Trong trng hp pha thu nhn c mt khung thng tin sai, pha thu c th gi NAK bo li v yu cu truyn li khung (selective reject)

Hiu sut ca c ch selective repeat ARQ


Tng t nh trng hp Go-back-N, hiu sut ca c ch selective repeat cng c tnh cho hai trng hp: l tng v khng l tng
1) Trng hp 1:

l tng.

Do bn cht ca selective repeat l cng hot ng da trn phng php ca s trt (ging Go-back-N) nn trong trng hp l tng (khng c li), hiu sut ca selective repeat cng chnh l hiu sut ca Go-back-N v l hiu sut ca phng php ca s trt khi mi trng khng c li. Hiu sut:

h window =
v

W khi W < 2a+1 2a + 1

h window = 1 khi W 2a+1


2) Trng hp 2:

khng l tng
108

Trong trng hp ny, hiu sut ca phng php selective repeat s bng hiu sut ca phng php ca s trt trong trng hp l tng chia cho s ln pht li trung bnh NR (tng t nh trng hp h Go-back-N). Hiu sut h selective -repeat = window . Tuy nhin NR trong trng NR hp selective repeat khc vi trng hp Go-back-N. Tnh NR do bn cht ca vic truyn li trong selective repeat hon ton tng t nh trong phng php dng v i nn vi cch tnh 1 tng t, NR = . 1- p Hiu sut:

h selective -repeat =
v

W (1 - p ) khi W < 2a+1 2a + 1

h selective -repeat = 1 - p khi W 2a+1 Nhn xt


C ch selective repeat cho hiu sut hot ng trn ng truyn cao hn so vi Go-back-N do c ch ny s dng ng truyn hiu qu hn. Tuy nhin, c ch selective repeat hot ng phc tp hn do n yu cu pha thu phi c kh nng x l cc khung thng tin n pha thu khng theo th t. Ngoi ra, pha thu cn phi c b m c th lu tm thi cc khung thng tin ny. 5.3. iu khin lung v trnh tc nghn theo phng php ca s C ch iu khin lung v chng tc nghn da trn phng php ca s c thc hin bi vic gii hn s lng gi tin c truyn pha pht nhm m bo thng tin ny khng vt qu kh nng x l ca pha thu. Theo c ch ny, pha pht s khng thc hin pht tin chng no pha thu cn cha x l xong gi tin (hoc mt s gi tin) trc . Khi pha thu x l xong thng tin do pha pht gi n th n s bo cho pha pht bit v lc ny, pha pht s tip tc gi cc gi tin tip theo. C ch ny m bo vic truyn tin khng bao gi vt qu kh nng x l ca pha thu. Vi vic kt hp hot ng nhp nhng gia pha pht v pha thu (c s dng bo nhn), s lng gi tin ng thi tn ti trn ng truyn nm trong gii hn nht nh. Nu pha thu c b m vi dung lng ln hn tng kch thc cc gi tin ny th b m pha thu s khng bao gi b trn. Cc tin trnh thng tin c th chu s nh hng ca iu khin lung gm c cc knh o c lp, mt nhm cc knh o hay ton b lung thng tin t mt nt mng ny n mt nt mng khc.
109

Cc phng php iu khin lung c da trn cc phng php iu khin li v pht li ARQ lp 2 ca m hnh OSI ( c trnh by phn trn). 5.3.1. iu khin lung theo ca s (Window Flow Control) Phng php iu khin lung theo ca s trt l phng php c s dng ph bin nht thi im hin ti. Trong phn ny, chng ti s ln lt trnh by vic iu khin lung theo ca s trt theo hai c ch end-to-end (iu khin lung gia im pht v im thu trong mng) v hop-by-hop (iu khin lung gia hai nt mng lin tip).

Ca s End-to-End
Nh phn trn ni, phng php iu khin lung theo ca s da trn c s phng php ca s trt ARQ lm vic ti lp lin kt d liu. Cc khung thng tin t pht sang thu v khung bo nhn, bo li truyn t thu sang pht c nh s th t phn bit, kch thc ca s W < 2k vi k l s bit dng nh s phn bit cc khung.

Hnh 5-11: V d pha pht truyn tin lin tc khi W = 3


Hnh 1-11 trnh by mi lin h gia kch thc ca s v tc truyn thng tin. Gi X l thi gian pht mt khung thng tin, W l kch thc ca s v d l tng tr t pht n thu (dng cho khung thng tin) v t thu n pht (dng cho bo nhn), round-trip delay. Trong hnh v ny, kch thc ca s W = 3, d W.X. Nh l lun trong phn ARQ, lc ny pha pht c th truyn thng tin lin tc m khng cn phi dng li i. Tc pht thng tin r = 1/X v trong trng hp ny, iu khin lung khng c ngha (v pha pht c th pht tin vi tc cao nht m khng b hn ch)

110

Hnh 5-12: V d pha pht truyn tin khng lin tc khi W = 3


Hnh 1-12 trnh by trng hp d > W.X, trong trng hp ny, ta thy c vai tr ca iu khin lung. Pha pht thc hin pht W khung thng tin sau dng li ch bo nhn pha thu, ri mi c pht tip. Ni mt cch khc, lng thng tin n pha thu (hay lng thng tin i vo mng) b hn ch nh hn kh nng pht cc i ca pha pht. iu ny xy ra khi round-trip delay ln nn khi pha pht thc hin pht xong W gi tin ri nhng bo nhn u tin vn cha quay tr li. Lc ny pha pht phi ngng pht v ch bo nhn v W gim xung 0 (xem li phn nguyn tc hot ng ca ca s trt). Nu pha pht lun c thng tin pht th tc pht tin trung bnh s l W/d gi/s Kt hp c hai trng hp hnh 5-11 v 5-12, ta tnh c tc pht 1 W tin cc i khi k n round-trip delay s l r = , X d
n

Khi d tng (c tc nghn), iu khin lung s thc hin vai tr ca n v gii hn tc truyn tin Khi khng c tc nghn xy ra, d gim v r tng ln

111

Hnh 5-13: Quan h gia tc truyn dn v round-trip delay trong iu khin lung
Hnh 5-13 trnh by quan h ca tc truyn dn v round-trip delay trong c ch iu khin lung. Tc truyn tin s b gim khi xy ra tc nghn (tr tng). Ngoi ra, c ch ca s phn ng kh nhanh vi tc nghn (trong khong thi gian truyn W gi). S phn ng nhanh vi tc nghn kt hp vi thng tin iu khin t l u im chnh ca c ch ca s so vi cc c ch khc. Nguyn tc chn kch thc ca s:
1)

Trong trng hp khng c tc nghn xy ra, kch thc ca s c chn ln m bo tc truyn thng tin t r = 1/X gi/s.

Quy c:
n

d = round-trip delay khi tr hng i xp x 0 (khng c tc nghn) y l tr tnh t lc pht gi thng tin bn pht v nhn ACK t pha thu N = s nt mng dc theo ng truyn t pht n thu D = tr truyn sng dc theo ng truyn d = 2.N.X + 2.D

n n

m bo tc truyn tin ti a (khi khng c tc nghn), cn m bo W.X d hay W 2.N + 2.D/X. Ta nhn thy:
n

Khi D < X th W 2.N kch thc ca s khng ph thuc vo tr truyn sng. Khi D >> X th W 2.D/X kch thc ca s khng ph thuc vo chiu di ng i. Trong trng hp c tc nghn xy ra, th tr round-trip d > d (d bao gm c tr hng i do tc nghn)

2)

Phng php ca s End-to-End c nhng hn ch nht nh. l:


112

Tc thng tin pht r

Kh m bo tr nm trong gii hn cho php khi lu lng vo mng tng

Gi s trong mng c n tin trnh iu khin lung vi kch thc ca s tng ng l W1, W 2, ... Wn. Lc ny, tng s gi tin trong mng s l

b .W
i =1 i

trong bi l mt h s trong khong 0 n 1 ph thuc

vo thi gian tr ca ACK. Theo nh lut Littles th tr trung bnh ca gi tin trong mng s l T =

b .W
i =1 i

trong l l thng lng.

Khi s lng cc tin trnh cn iu khin lung tng ln (n tng) th l tin n gi tr cc i l tc ca cc ng lin kt v do , l gi tr khng i (gi tr ny ph thuc vo mng, v tr ca im pht v thu cng nh gii thut nh tuyn). Nh vy gi tr tr T s tng t l vi s lng tin trnh c iu khin lung (chnh xc ra l kch thc ca s ca chng). Nh vy, nu s lng tin trnh l rt ln th h thng mng khng m bo gi gi tr T nm trong mt gii hn nht nh v khng c kh nng trnh tc nghn mt cch trit . Mt gii php c th s dng l gim kch thc ca s c th gim tr khi mng hot ng tnh trng nng ti (c th xy ra tc nghn). Gii php ny c th p dng mt mc no tuy nhin n nu gi tr ny qu nh th vic truyn thng tin li khng hiu qu. Trn thc t, ngi ta s dng phng php ca s thch ng (adaptive window) thc hin truyn tin. Trong phng php ny, kch thc ca s c th thay i ty thuc tnh trng ca mng. Trong trng hp mng t ti, kch thc ca s c th ln cho php truyn thng tin vi tc cao. Khi ti trn mng tng, kch thc ca s c gim i nhm trnh tc nghn. Phng php ca s thch ng s c trnh by trong phn sau.
n

Kh m bo tnh cng bng cho tt c ngi dng.

Mt hn ch na ca phng php ca s end-to-end l cha m bo c tnh cng bng cho ngi dng trong tt c cc trng hp. Nh phn trn ni, m bo truyn tin tt nht cho mt kt ni, kch thc ca s t l vi s nt mng trn ng i t ngun n ch cng nh t l vi tr truyn sng dc theo ng truyn (cng ph thuc vo khong cch). Nh vy, trong trng hp c tc nghn, nu trn mt ng truyn c nhiu kt ni cng hot ng th kt ni no c khong cch ngun ch ln s c s dng ti nguyn nhiu hn (do kch thc ca s ln hn v s lng gi tin n nt v c chp nhn s nhiu hn). m bo c tnh cng bng, ngi ta dng c ch round-robin (x l vng) cho tt c cc kt ni cng s dng ti nguyn ca mt nt mng. Lc ny, cc kt ni c coi nh c u tin nh nhau v c x l lun phin da theo kt ni ch khng da trn t l gi tin n.
113

Ca s Hop-by-Hop
Trong c ch iu khin lung hop-by-hop, vic iu khin lung c thc hin gia hai nt mng k tip trn ng truyn. Mi nt mng c cc ca s c lp dng cho cc knh lm vic khc nhau (knh o). Nguyn tc hot ng ca c ch ny tng t nh iu khin lung kiu end-to-end nhng ch p dng cho mt chng. Trong trng hp truyn thng tin c ly khng qu xa (vi a phn cc c ch truyn tin, tr thng tin v tinh) kch thc ca s thng l 2 hoc 3 (do s nt mng thng tin phi i qua l 1, tr truyn sng khng ng k). Ta tm gi nt c thng tin cn truyn l nt ngun, nt c nhn thng tin l nt ch (cc nt dc trn ng truyn, v c th bao gm c pha pht v pha thu). Mc ch chnh ca iu khin lung hop-byhop l m bo b m ca nt ch khng b qu ti bi qu nhiu gi tin n (nh trong trng hp end-to-end). iu ny c thc hin vi vic nt ch gim tc gi ACK v cho nt ngun. Trong trng hp tng qut, nt ch c b m vi dung lng W gi cho mi lin kt v n s gi ACK cho nt ngun nu trong b m cn ch trng. Nt ch s xa gi tin trong b m nu n c truyn thnh cng n nt k tip trn ng truyn hay i ra khi mng. Gi s c ba nt lin tip trn mng l (i-1, i, i+1). Gi s b m ca i b y vi W gi tin. Nt i s gi ACK cho nt i-1 nu n gi thnh cng mt gi tin cho nt i+1 (lc b m ca nt i mi c gii phng v c ch cho mt gi tin). Nt i thc hin c iu ny nu n nhn c mt ACK t nt i+1. Trong trng hp c tc nghn xy ra ti mt nt no , b m ca nt ny b y bi W gi tin v theo h qu, b m ca cc nt pha trc nt cng s dn dn b y. Hin tng ny c gi l backpressure v c trnh by trn hnh 1-14.

H Hnh 5-14: C ch backpressure trong iu khin lung hop-by-hop


u im ca phng php hop-by-hop c trnh by trn hnh 1-14. Trong trng hp xu nht, gi s tc nghn xy ra ti ng ni cui cng ca tuyn truyn (ng ni th n) th tng s gi tin nm trong mng s l n.W (b m ca mi nt s b in y bi W gi tin). Trong trng hp ny, s lng gi tin s c phn b u b m ca cc nt v do dung lng b m cn thit mi nt s nh hn trng hp end-to-end rt nhiu (ch rng trong trng hp end-to-end, nu tng s gi tin vo mng, hay kch thc ca s, l n.W th dung lng b m tng ng mi nt cng phi l n.W).
114

Mt u im khc na ca phng php hop-by-hop chnh l cho php thc hin tnh cng bng. Vi vic phn cc gi tin ca mt kt ni dc theo cc nt mng m kt ni phi i qua, ta c th trnh c tnh trng ti mt nt, kt ni vi khong cch ngun ch ln s chim ht ti nguyn ca cc kt ni khc. Trong trng hp hop-byhop, kch thc ca s ca cc kt ni l xp x bng nhau do tc thng tin n l khng chnh lch v vic s dng ti nguyn c m bo cng bng. iu ny khng ng trong trng hp kt ni gia hai nt dng cho truyn v tinh. Trong trng hp ny, do tr truyn dn kh ln nn kch thc ca s ca kt ni v tinh c th ln hn kch thc ca s ca cc kt ni khc dn n tnh trng khng cng bng.

Phng thc Isarithmic


Phng thc ny cng c coi l mt bin th ca c ch iu khin lung theo ca s vi mt ca s duy nht c dng cho ton mng. Vic iu khin lung c thc hin bi vic gii hn s lng gi tin i vo mng thng qua vic cp pht mt s lng hn ch th bi. Mi mt gi tin mun i vo mng cn phi nhn c mt th bi nt m gi tin vo v tr li th bi nt m gi tin ra khi mng. Nh vy, tng s gi tin tn ti ng thi trong mng lun nh hn hoc bng tng s lng th bi, v vic iu khin lung c thc hin. Tuy nhin, phng php ny c nhng hn ch nht nh. N khng m bo tnh cng bng cho tt c ngi dng v khng c nhng c ch nht nh qun l v phn phi th bi. Ngoi ra, cc th bi c th b mt v nhng l do nht nh m hin ti cha c c ch qun l s lng th bi tn ti trong mng. V nhng l do , phng thc Isarithmic t c s dng trong thc t. 5.3.2. iu khin tc nghn s dng ca s thch ng (adaptive window) Bn cnh vic s dng c ch ca s thc hin iu khin lung, ngi ta c th s dng c ch ca s thc hin iu khin v trnh tc nghn trong mng. Khi mng c kh nng mang thng tin ca ngi dng, kch thc ca s s c t mt mc no . Khi mng nng ti v c tc nghn xy ra, pha pht s gim kch thc ca s gim s lng gi tin i vo mng, do , thc hin chc nng iu khin tc nghn cho mng. Kch thc ca s chnh l nhn t quyt nh tc thng tin t pha pht i vo mng.

115

Hnh: Mi quan h gia kch thc ca s v lu lng mng


Hnh trn y trnh by mi quan h gia kch thc ca s v thng lng ca mng. Khi lu lng vo mng nh, kch thc ca s ln t ra ti u do tn dng c thi gian truyn gi tin, tuy nhin, khi lu lng vo mng tng ln, vic s dng kch thc ca s ln s gy ra tc nghn do c qu nhiu gi tin c th c gi cng lc vo mng. Trong trng hp ny, ngi ta s dng cc ca s c kch thc nh p ng vi tnh trng ca mng. Vic thay i kch thc ca s mt cch mm do cho ph hp vi tnh trng lu lng ca mng chnh l cch thc iu khin tc nghn ca cc thit b u cui (pha pht v pha thu). C ch thay i kch thc ca s theo trnh trng lu lng mng c gi l c ch ca s thch ng (adaptive window). Vn ca iu khin tc nghn theo phng php ca s thch ng l iu kin quyt nh vic tng v gim kch thc ca s. c th thc hin c iu ny, pha pht da trn cc thng tin phn hi t pha thu hoc cc thit b trn ng truyn t pht n thu thc hin iu chnh kch thc ca s. Khi xt n cc thit b mng trung gian gia pht v thu (tm gi l thit b mng), ngi ta chia lm hai loi:
n

Thit b mng thng minh (active intermediate system) l cc thit b mng c kh nng pht hin tc nghn ang xy ra hoc c th xy ra v c kh nng thng bo cho pha pht Thit b mng khng thng minh( passive intermediate system) cc thit b ny khng c kh nng pht hin tc nghn, vic xc nh tnh trng tc nghn hon ton c thc hin bi pha pht.

Trong cc phn di y, chng ti s trnh by hot ng ca c ch ca s thch ng cho c hai loi thit b mng ny

Thit b mng thng minh


K thut iu khin tc nghn s dng thit b mng thng minh hot ng nh sau:
116

Thng lng ca mng

Thit b mng pht hin tnh trng tc nghn xy ra hoc sp xy ra (v d: dung lng b m vt qu mt ngng no ) Khi pht hin tc nghn, thit bi mng thng bo cho tt c cc nt ngun (pha pht) thc hin pht thng tin qua thit b mng ny Cc nt ngun thc hin gim kch thc ca s gim tc nghn (vi vic gim kch thc ca s, pha pht gim s lng gi tin c th i vo mng) Cc nt ngun c th tng kch thc ca s nu chng xc nh c rng tnh trng tc nghn c gii quyt.

Ch rng, khi nim kch thc ca s y l kch thc ca s cc i, hay s lng gi tin c th ng thi c pht i m khng cn bo nhn. Trn thc t, kch thc ca s hot ng ca nt ngun lun thay i (gim nu pha ngun pht gi tin v tng nu nt ngun nhn c bo nhn). Cc tham s c th dng xc nh tc nghn ti nt mng l dung lng b m (cn trng nhiu hay t), kh nng hot ng ca CPU (nhiu hay t) hoc mc s dng bng thng ca ng truyn. c th cnh bo cho pha pht, nt mng c th s dng mt trong hai c ch:
n

S dng mt gi tin cnh bo c lp phng php ny cho php pha pht nhanh chng nhn c thng tin tc nghn v phn ng kp thi. Tuy nhin, hn ch ca phng php ny l phi s dng gi tin c lp gy lng ph bng thng v phc tp ha vic qun l S dng mt bit ch th tc nghn nm trong trng iu khin ca gi tin mang d liu t pha thu sang pha pht. Bit ch th tc nghn bng 0 th hin tc nghn khng xy ra v bit ny bng 1 khi tc nghn xy ra.

Pha pht s da trn thng tin cnh bo no quyt nh vic tng gim kch thc ca s. Nu vic thay i kch thc ca s ch c da trn mt gi tin phn hi th c th xy ra tnh trng h thng hot ng khng hiu qu (nu nt mng gi mt gi tin cnh bo tc nghn ri li gi mt gi thng bo khng tc nghn). V vy, trn thc t, pha pht s da trn mt s lng thng bo nht nh t pha nt mng ri mi kt lun v tnh trng tc nghn. Thng thng, vi mt s lng thng bo nhn c, nu s gi tin cnh bo tc nghn vt qu mt gii hn no th pha pht s coi l c tc nghn xy ra v gim kch thc ca s. Nu s lng cnh bo ny nh hn gii hn cho php th pha pht s coi l khng c tc nghn v tng kch thc ca s. Vic tng va gim kch thc ca s c th tun theo mt trong hai quy tc: php cng v php nhn.
n

Php cng: Wnew = Wold + I trong Wnew v Wold l kch thc ca s mi v c, I l h s tng gim. Khi I > 0 l tng kch thc ca s v I < 0 l gim kch thc ca s
117

Php nhn: Wnew = Wold a vi cc quy c tng t nh trn. Khi a > 1 l tng kch thc ca s v a < 1 l gim kch thc ca s. Trong trng hp kch thc ca s khng phi s nguyn th kch thc s c quy v s nguyn gn nht.

Trong ng dng c th, ngi ta thng dng php cng khi tng v dng php nhn khi gim. Hnh di y trnh by nguyn tc tng gim kch thc ca s da trn bit ch th tc nghn c gi i t nt mng c tc nghn. Trong v d ny, kch thc ca s ban u l W = 4, vic kt lun v tnh trng tc nghn c da trn cc nhm 7 bo nhn gi v. Trong 7 bo nhn , nu c ln hn hoc bng 4 bo nhn c bit ch th tc nghn bng 1 th nt ngun coi l c tc nghn v gim kch thc ca s, ngc li th nt ngun coi l khng c tc nghn v tng kch thc ca s. Trong trng hp ny, vic gim c thc hin theo php nhn vi a = 0,7 v vic tng c thc hin theo php cng vi I = 1.

118

Hnh: S dng bit ch th tc nghn thay i kch thc ca s Thit b mng khng thng minh
Trong trng hp ny, cc thit bi mng khng c kh nng cnh bo cho pha pht v tnh trng tc nghn v vic xc nh tc nghn trong mng hon ton da trn vic suy on ca nt ngun. Thit b mng khng thng minh l cc thit bi mng n gin, khng c kh nng xc nh trng thi b m, trng thi CPU hay trng thi s dng ng truyn. Trong mt s trng hp khc, do yu cu hot ng vi tc cao nn cc thit b mng c th cng khng kim tra v trnh trng tc nghn c th xy ra mi khi gi tin i qua thit b. Khi khng c s h tr ca thit b mng, nt ngun kt lun v trng thi tc nghn hon ton da trn bo nhn c gi v. Trong trng hp mng b tc nghn, bo nhn c th b tr ln (tr bo nhn hoc tr gi n pha thu) hoc c th b mt (mt bo nhn hoc mt gi nn khng c bo nhn). Trong trng hp mt bo nhn hoc bo nhn n qu tr, nt ngun s phi pht li gi v vic pht li ny c th coi l mt tn hiu kt lun v tnh trng tc nghn. C ch tc nghn ny gi l c ch iu khin tc nghn dng ca s thch ng da trn time-out v hot ng nh sau:
n n

Ti thi im ban u, nt ngun t kch thc ca s bng Wmax Mi khi c time-out xy ra v pha pht phi thc hin pht li gi tin th nt ngun s t W = 1 Mi khi nhn c n bo nhn t nt ch, pha pht li tng kch thc ca s ln 1. Kch thc ca s s khng bao gi vt qu kch thc ca s Wmax. Vi vic thay i gi tr n, ngi ta c th thc hin iu khin tc nghn nhiu mc khc nhau.

Trong trng hp ny, chng ta gi thit t l li bit l kh nh v timeout xy ra hon ton l do tr ch khng phi do mt gi v li bit. V d trn hnh di y minh ha c ch iu khin tc nghn theo ca s thch ng da trn time-out. Trong v d ny, kch thc ca s ban u Wmax = 4, v gi tr n = 2. Gi thit rng cc nt mng trung gian c th gy ra tr hoc hy gi tin hoc bo nhn nu tc nghn xy ra. iu ny dn n h qu l c time-out xy ra ti nt ngun cho cc gi tin .

119

Hnh: S dng time-out v ACK tng/gim kch thc ca s


5.4. iu khin lung v chng tc nghn da trn bng thng (rate-based flow control) 5.4.1. Khi nim Trong phn trn, chng ta thy hn ch c bn ca iu khin lung theo phng php ca s l tr gi s tng t l vi s lng kt ni cn thc hin iu khin lung. Mc d c th gim kch thc
120

ca s c th gim tr gi tuy nhin phng php ny khng d thc hin. c th p ng c yu cu ca iu khin lung, ngi ta xut cc phng php thc hin iu khin lung v chng tc nghn da trn vic hn ch bng thng. C ch kim sot bng thng m bo lng thng tin ca ngi dng a vo mng khng vt qu mt mc no nhm trnh tc nghn trong mng. Trong mt s trng hp c th, thng tin ca ngi dng a vo mng c th vt qu lng thng tin gii hn mt mc no cho php. C ch kim sot bng thng ca thng tin i vo mng chia lm hai loi:
n

Kim sot cht (strict implementation) vi tc thng tin vo

mng trung bnh l r gi/s, th h thng kim sot s ch cho mt gi vo c sau mi 1/r giy. Phng php ny khng ph hp cho cc thng tin c thay i vi bin ln (bursty traffic). V d in hnh ca phng php ny l c ch TDMA.
n

vo mng trung bnh l r gi/s th h thng kim sot s cho W gi vo mng trong khong thi gian W/r giy. Trong phng php ny, tc d liu trung bnh l khng i nhng cho h thng cho php nhn ti a W gi ti mt thi im (bursty traffic). C ch ny thng c trin khai vi vic s dng go r (leaky bucket) Trong phn di y, chng ti s trnh by nguyn tc hot ng ca go r. 5.4.2. iu khin bng thng theo thut ton go r (leaky bucket)

Kim sot lng (less-strict implementation) vi tc thng tin

Nguyn tc hot ng ca leaky bucket


Hnh 5-15 di y minh ho m hnh go r

Hnh 5-15: M hnh go r


Trong m hnh ny, nt mng c trang b mt go r dng kim sot lu lng thng tin i vo mng. Go l mt b m c kh nng lu tr ti a l W th bi. Cc th bi c in vo go vi tc r th bi/s. Khi go y th bi th th bi s khng c in thm vo go.

121

Mi khi mt gi tin n v c th c vo c mng th gi tin phi nhn c mt th bi. Tc trung bnh ca thng tin vo mng l r gi tin/s v bng tc in th bi vo go. Trong trng hp go r y th bi, nt mng c th cho ti a W gi tin vo mng ti mt thi im (burst size). Nu W nh th kh nng kim sot tc lung thng tin vo l tt, nu W ln th kh nng h tr burst tt. Vi vic s dng go r, lung thng tin vo mng c tc khng vt qu r gi/s. Nu mng c nhiu nt mng giao tip vi bn ngoi (entry point), mi nt mng c trang b mt go r kim sot lu lng thng tin vo mng th cho d tc thng tin ca n cc nt c th thay i, nhng tc thng tin trong mng kh n nh. Vi c im ny, ngi ta ni go r thc hin chc nng nh dng lu lng.

Tnh ton hiu nng ca leaky bucket (pending)


n n

Tr trung bnh ca gi khi i qua leaky bucket di hng i gi trung bnh

Chn cc tham s ca leaky bucket (pending)

M hnh cng bng cc i cc tiu (max-min fairness)


Mt trong nhng vn kh khn nht ca thc hin iu khin lung v kim sot tc nghn l m bo tnh cng bng cho cc kt ni hoc ngi dng khi xy ra tc nghn. Khi nim tnh cng bng th hin ch cc kt ni, ngi dng c s dng ti nguyn mng vi c hi nh nhau. c th hiu r hn v tnh cng bng, xt m hnh mng trn hnh v 5-16 di y
Kt ni 1

Dung lng 1

Dung lng 1

Dung lng 3

Kt ni 2

Kt ni 3

Kt ni 4

Hnh 5-16: Tnh cng bng


Trn hnh 1-16, ng ni A B v B C c dung lng 1 v ng ni C D c dung lng 3. Kt ni 1 i qua tt c cc nt A, B, C, D; kt ni 2 i qua A, B; kt ni 3 i qua B, C; kt ni 4 i qua C, D. Ta thy, c tc ca cc kt ni 1, 2 v 3 u l 1/2 m bo cc kt ni ny s dng bng thng trn cc ng A B v B C l cng bng. Tuy nhin, trn ng lin kt C D, mc d n c chia s bi kt ni 1 v kt ni 4, tuy nhin bng thng ca kt ni 4 c th t n 5/2 v kt ni 1 ch s dng ht 1/2 m thi. Nh vy, tnh cng bng khng ch n thun l chia s bng thng bnh ng cho cc kt ni/ngi dng trn tt c cc phn vng trong mng m n c hiu v s dng mm do trong tng trng hp c th.
122

Vic s dng ti nguyn mng hiu qu nht c th trong khi vn c th m bo c tnh cng bng cho cc kt ni c thc hin bi c ch iu khin lung cc i cc tiu (maxmin flow control). C ch ny c xy dng trn m hnh cng bng cc i cc tiu (max-min fairness). Nguyn tc hot ng c bn ca c ch iu khin lung cc i cc tiu nh sau:
Nguyn tc Sau khi ngi dng vi yu cu t nht v ti

nguyn c p ng cng bng, cc ti nguyn cn li c tip tc phn chia (mt cch cng bng) cho nhng ngi dng cn li. Trong nhm ngi dng ny, ti nguyn li c phn chia sao cho ngi dng c yu cu t nht c p ng, v qu trnh c tip tc n ht. Ni mt cch khc, vic cp pht ti nguyn mng cho mt ngi dng i khng c lm nh hng n ti nguyn cp cc ngii dng khc vi yu cu t hn i. Mt s quy c v nh ngha:
n

Gi thit mng l mt th c hng G = (N, A) trong N l tp hp cc nt v A l tp hp cc ng lin kt gia cc nt

P l tp hp cc kt ni hin s dng trong mng, mt kt ni bt k trong tp hp cc kt ni c k hiu l p. rp l tc (hay bng thng) dng cho kt ni p.

Vi mt ng lin kt a bt k (a A) th lu lng thng tin trn lin kt a l Fa = d p (a ).rp trong d p (a ) = 1 nu kt ni p i qua lin kt
pP

a v bng 0 trong trng hp ngc li. Gi Ca l dung lng ca lin kt a, khi y ta c: rp 0 vi "p P v Fa Ca vi "a A (*)
Mc ch ca c ch cng bng cc i cc tiu l tm c tp hp cc gi tr rp (vi "p P) tha mn (*) ng thi tha mn nguyn tc ca quy ch cng bng cc i cc tiu. Tp hp cc gi tr rp to thnh vector cng bng cc i cc tiu, k hiu l r. Mt c im quan trng ca vector cng bng cc i cc tiu l vi mi mt kt ni p bt k thuc P, c t nht mt lin kt a m p i qua sao cho Fa = Ca v rp khng nh hn tc ca bt k kt ni no trn lin kt . Lin kt gi l im nghn ca p (bottleneck arc). Hnh 1-17 minh hot khi nim vector cng bng cc i cc tiu v khi nim im nghn.

123

Hnh 5-17: V d v tnh cng bng cc i cc tiu


Trn hnh 5-17, im nghn ca cc kt ni 1, 2, 3, 4 v 5 ln lt l (3,5), (2,3), (2,3), (4,5) v (2,3). Lin kt (3,5) khng phi im nghn cho kt ni 5 v lin kt ny c chia s bi hai kt ni 1 v 5 trong kt ni 1 c tc cao hn kt ni 5 trn lin kt ny. Lin kt (1,3) khng phi l im tc nghn ca tt c cc kt ni v ti nguyn trn kt ni ny cha c s dng ht (cn d tha 1/3 tc )

Thut ton tm gi tr bng thng ti u (max-min fair algorithm)


Phn ny s trnh by thut ton tm gi tr bng thng ti u.
1)

Khi to tt c cc kt ni vi tc = 0 Tng tc ca tt c cc kt ni vi mt lng nh bng nhau d, lp li qu trnh ny cho n khi tn ti cc lin kt c tng bng thng t n gi tr bng thng cc i (Fa = Ca). Lc ny:

Tt c cc kt ni chia s lin kt ny u s dng bng thng bng nhau Lin kt ny l im tc nghn i vi tt c cc kt ni s dng lin kt ny Ngng vic tng bng thng cho cc kt ni ny v cc kt ni ny t n trng thi cn bng cc i cc tiu Lp li qu trnh tng tc cho cc kt ni khc cha t n im tc nghn cho n khi li tm thy cc im tc nghn ng vi cc kt ni khc (lp li bc 2) Thut ton kt thc khi tt c cc kt ni u tm c im tc nghn.

2)

3)

C cn phi minh ha bng cng thc khng??? V d: xt trng hp tm bng thng ti u trong phng php cng bng cc i cc tiu nh trn hnh 1-17. Gi thit tt c cc lin kt u c tc l 1.
n

Bc 1: tt c cc kt ni u c tc 1/3, lin kt (2,3) bo ha (t gi tr cc i) v tc ca ba kt ni (2, 3 v 5) i trn lin kt ny c t gi tr 1/3.

124

Bc 2: hai kt ni 1 v 4 c tng thm mt lng bng thng l 1/3 v t gi tr 2/3. Lc ny lin kt (3,5) bo ha v tc ca kt ni 1 t gi tr 2/3 Bc 3: kt ni 4 c tng thm mt lng l 1/3 v t n gi tr 1. Lin kt (4,5) lc ny tr nn bo ha v tc ca kt ni 4 t c l 1. Bc 4: cc ny tt c cc kt ni u i qua cc lin kt bo ha (im nghn) nn gii thut dng li y v kt qu ca gii thut tm gi tr bng thng ti u chnh l bng thng ca cc kt ni cho phn trn.

Di y l thut ton tm gi tr bng thng ti u. Quy c:


n

Ak l tp hp cc lin kt cha bo ha (cha hot ng vi tc cc i ca lin kt) ti lc bt u bc k. Pk l tp hp cc kt ni khng i qua lin kt bo ha no, tnh ti lc bt u ca bc k nka l s lng kt ni trong Pk s dng lin kt a. y l s kt ni s chia s phn dung lng ng truyn cn cha dng ht ca lin kt a.

% r k l phn bng thng tng ln cho mi kt ni trong Pk ti bc th k


Ti iu khin ban u: k = 1, F0a = 0, r0p = 0, P1 = P v A1 = A

Thut ton hot ng nh sau:

nak := s l ng
a Ak

ng p P k v i d p (a ) = 1

% r k := min (Ca - Fak -1 ) / nak rpk -1 + r k ( p P k ) % rpk = k -1 k rp ( p P )

Fak := d p (a ).rpk
a A
k+1

P k +1 := { p | d p (a ) = 0, for all a A k+1}


k := k + 1 N u Pk l t p h p r ng th d ng l i, n u khng th quay l i b c 1.

:= {a | Ca - Fak > 0}

5.4.3. Thut ton GPS (pending)

125

5.5. Bi tp (Pending)

126

Chng 6 K thut m phng


6.1. Gii thiu Cng c NS2 (network simulator version 2) [5] c pht trin bi trng i hc Berkeley (M) l mt cng c cho php m phng v nh gi c tnh ca mng my tnh v vin thng thay th cho vic tin hnh thc nghim trn thit b thc t. Do c mt s u im nh m ngun m, c cc module ng dng phong ph, NS2 hin l mt trong nhng cng c m phng c ph bin rng ri nht hin nay trn th gii, c bit l trong cc vin nghin cu v trng i hc. Trong chng ny, trc tin chng ti s trnh by khi nim chung v phng php m phng da trn cc s kin ri rc (discrete event simulation). Tip theo, nhm cung cp cho ngi c mt ci nhn tng quan v cc cng c m phng cho mng, chng ti s gii thiu mt s cng c m phng mng thng dng hin nay v phn tch cc u nhc im ca chng. Cu trc ca NS2, cc module c sn cng nh ng dng ca chng s c trnh by trong phn tip theo. Sau cng l mt s kt lun chung v phm vi ng dng cng nh u nhc im ca NS2. 6.2. M phng da trn cc s kin ri rc v cc cng c 6.2.1. Phng php m phng da trn s kin ri rc Trc khi i vo trnh by khi nim m phng da trn s kin ri rc, chng ti nh ngha mt s khi nim sau:
nh ngha 6.1 - M hnh (Model): l s biu din mt h

thng cn m phng bng cch m t cc mi quan h ton hc, logic hoc cu trc ca n v mt trng thi, cc thc th lm nn h thng, s kin lm thay i trng thi h thng, cc tin trnh hoc cc hot ng ca h thng .
nh ngha 6.2 - Trng thi h thng (System State): l tp

hp cc bin cn thit cha ng y thng tin m t mt h thng ti mt thi im bt k.


nh ngha 6.3 - Thc th (Entity): Mt m hnh ca h thng

cn m phng c chia nh thnh cc thc th vi cc chc nng khc nhau (th d hng i, server, gi d liu .v.v.)

127

nh ngha 6.4 - Thuc tnh (Attributes): Mi thc th trong

mt h thng s c cc thuc tnh khc nhau c trng cho thc th , th d nh lut phc v cc gi trong mt hng i .v.v..
nh ngha 6.5 - S kin (Event): S xut hin ca mt s

kin s lm thay i trng thi ca mt h thng (th d s kin xut hin ca gi mi s lm tng s gi ang ch trong mt hng i).
nh ngha 6.6 - Bn ghi s kin (Event Notice): L mt bn

ghi c gn thi gian s xy ra mt s kin trong tng lai, cng vi n l nhng d liu cn thit thc hin s kin , th d nh kiu s kin v thi gian xy ra s kin.
nh ngha 6.7 - Danh sch s kin (Event List): L mt

danh sch cha nhiu bn ghi s kin c sp xp theo trnh t thi gian xy ra cc s kin .
nh ngha 6.8 - Hot ng (Activity): l mt qung thi gian vi di c xc nh (khong thi gian truyn mt gi tin,

thi gian n gia hai gi tin lin tip) v thi im bt u ca hot ng cng c xc nh.
nh ngha 6.9 - Tr (Delay): l mt qung thi gian vi di khng xc nh (nh khong thi gian i ca mt gi tin trong

mt hng i khi ng trc n cn n gi ang i). thi gian m phng ca mt h thng.

nh ngha 6.10 - ng h (Clock): L mt bin s th hin

T nhng khi nim c bn trn, phng php m phng da trn s kin ri rc c xy dng bng cch m hnh ho mt h thng m trng thi ca n thay i ti cc thi im ri rc, tc l thi im xy ra mt s kin no . Nh vy qu trnh chy mt m phng thc cht l qu trnh kho st mt h thng khi trng thi ca n thay i t thi im ny sang thi im khc, tng ng vi thi im xy ra cc s kin theo trnh t thi gian tng dn.
Th d 6.1:

d hiu c th ly mt th d v mt h thng bao gm mt hng i Q v hai thc th phc v (server) A v B cng phc v cc gi ang i Q. u tin cc gi s i vo hng i Q v i cho n lt mnh c phc v. Thc th A v B c thi gian phc v gi trung bnh l tsa v tsb (y chnh l hai thuc tnh tng ng vi A v B). Khi c mt gi n, nu A ang ri th A s phc v gi , nu A bn B ri th B phc v, nu khng gi s i ti hng i Q (Hnh 6.1).

128

Hnh 6.1. H thng gm 1 hng i v 2 thc th phc v


C th m hnh ho h thng ny bng 3 trng thi th hin bng 3 tham s:
n n n

LQ: di hng i (s gi hin ti c trong Q) SA: 0 A bn; 1 A ri SB: 0 B bn; 1 B ri

Ngoi ra cng c th nh ngha 3 kiu s kin lm thay i trng thi ca h thng nh sau:
1) 2) 3)

S kin E1: mt gi Pi no i vo hng i; S kin E2: gi Pi bt u c phc v bi A hoc B; S kin E3: gi Pi c phc v xong.

Gi s ti thi im t1 gi Pn c A phc v xong, Pn+1 bt u c phc v, ti thi im t2 gi Pi i vo hng i Q.

Hnh 6.2. M phng h thng vi trnh t thi gian tng dn

129

Hnh 6.2 th hin qu trnh m phng mt h thng theo trnh t thi gian ca ng h v qu trnh thay i, b sung cc bn ghi s kin trong bn danh sch s kin. Vic x l danh sch s kin l mt trong nhng nhim v chnh ca bt k mt chng trnh m phng no. Do cc bn ghi s kin l mt chui c sp xp theo trnh t thi gian, mt danh sch s kin bao gi cng c hai con tr: mt con tr tr vo u bn danh sch v con tr th hai tr vo bn ghi cui cng trong danh sch. Mi bn ghi cng phi c cc con tr tr n bn ghi tip theo nm trong bn danh sch. Cc thao tc lin quan n danh sch s kin bao gm:
1) 2) 3) 4)

Xo bn ghi u danh sch; Xo bn ghi v tr bt k trong danh sch; Thm mt bn ghi vo u hoc cui danh sch; Thm mt bn ghi vo v tr bt k trong danh sch ph thuc vo thi gian xy ra s kin. Cc phng php m hnh ho mt h thng thng tin cng nh cc chi tit v k thut m phng c th tm thy trong [1][2][3].

6.2.2. Cc cng c m phng thng dng da trn s kin ri rc Trc khi i vo trnh by cu trc ca cng c NS2, phn ny s im li mt s cng c m phng thng dng hin nay v nhn xt u nhc im ca chng. OPNET [8] l mt sn phm thng mi tng i ni ting ca cng ty OPNET, bao gm hai phn chnh l OPNET Modeler v phn m rng cho mng khng dy OPNET Wireless Module. OPNET chy di mi trng Windows cng nh Unix/Linux. OPNET rt thch hp cho cc t chc cng nghip trong vic quy hoch v nh gi cht lng dch v ca mng thc t bi n c sn mt th vin rt phong ph vi cc module m phng thit b ca nhiu nh sn xut khc nhau nh Cisco, Lucent, Juniper. Tuy nhin i vi cc c s nghin cu v trng i hc, c l OPNET khng ph hp do gi tng i t, mt khc khi m hnh ho mt h thng, OPNET yu cu phi s dng th vin vi cc thit b c th nn vic xy dng cc m hnh tng qut s gp kh khn. Ptolemy II [9] l mt b cng c m phng trn nn Java c pht trin bi trng Berkeley (M). Ptolemy II c th c ti xung min ph, tuy nhin Ptolemy II ch cung cp mi trng m phng da trn s kin ri rc ni chung, cc module h tr cho m phng h thng mng khng c nhiu nn ngi lp trnh phi t pht trin cc ng dng ca ring mnh. OMNET++ [10] l chng trnh m phng cho h thng mng c pht trin bi Andras Varga, trng i hc Bch khoa Budapest. OMNET++ c vit bng ngn ng C++ v h tr c Windows ln Unix/Linux. OMNET++ c th ti xung min ph. Ngoi ra OMNET++ s dng giao din ho thn thin vi ngi s dng (nh trong mi trng pht trin ca OPNET), do khi lng cng vic v phc
130

tp khi pht trin mt module mi c gim nh kh nhiu. Tuy nhin OMNET++ vn cn kh mi trong cng ng nghin cu nn cc module c sn vn cha nhiu. NS2 [5] l cng c m phng mng c s dng kh rng ri hin nay trong cc trng i hc v vin nghin cu. NS2 c pht trin trong khun kh ca d n VINT, kt hp gia trng Berkeley, Vin Khoa hc thng tin ISI, Xerox PARC v phng th nghim quc gia Lawrence Berkeley. NS2 l cng c m phng hng i tng, c pht trin da trn hai ngn ng l C++ v OTcl (Object-oriented Tcl), ch yu chy trong mi trng Unix/Linux. u im ca NS2 l m ngun m, c cng ng s dng v pht trin kh ng o nn cc module h tr cho m phng mng (nh cc giao thc, cc c ch m bo cht lng dch v, cc cng ngh mng lp 2, 3) rt phong ph. Tuy nhin n cng c mt s nhc im:
n

Do khng c giao din ho vi ngi s dng nn vic to cc kch bn m phng cng nh pht trin cc module mi phc tp hn cc cng c khc nh OPNET hoc OMNET++; Kh nng h tr cc h iu hnh khc nh Windows km; Do c pht trin bi nhiu c nhn v t chc khc nhau nn cu trc NS2 tng i phc tp, sau mt thi gian lm quen v dng th nht nh ngi s dng mi c kh nng lm ch chng trnh, c bit khi phi to ra cc module chc nng mi. Sau y chng ti s tp trung gii thiu cng c NS2. Vic so snh v lit k cng c m phng v nh gi hot ng ca mng c th tm thy trong [2][11][12].

n n

6.3. Cng c m phng mng NS2 6.3.1. Cu trc

Hnh 3. Cu trc ca cng c m phng NS


M phng NS c xy dng trn c s hai ngn ng:
n

C++: NS c mt th vin phong ph v i tng mng v giao thc c m t bng C++ (th d nh cc nt mng, ng ni, ngun, hng i .v.v.).
131

OTcl: Ngoi ra chng trnh thng dch OTcl (OTcl l ngn ng

m rng cc chc nng hng i tng ca Tcl) cho php ngi s dng xy dng cc kch bn m phng c th v truyn tham s cho cc thc th C++. Mi i tng (tng ng vi tng thc th) trong C++ s c mt i tng tng ng lp OTcl nh th hin Hnh 3. Nh vy C++ l phn cho d liu v l li ca NS cn OTcl l phn t cu hnh cho chng trnh m phng. NS phi s dng 2 ngn ng l do c hai nhim v khc nhau khi tin hnh m phng. Mt mt, m t chi tit cc giao thc, cc khi hoc c ch ca mng yu cu phi s dng cc ngn ng bc cao x l s liu, thc hin cc thut ton. i vi nhim v ny do yu cu v tnh hiu qu ca chng trnh m phng (nh khong thi gian chy chng trnh, qun l b nh .v.v.), cc thc th bt buc phi c vit di C++. Mt khc, cc qu trnh xy dng mt kch bn m phng nh t cu hnh cho cc phn t mng, truyn cc tham s c th, thit lp topo cho mng th ch s dng cc phn t c sn nn yu cu khu ny l thi gian thit lp mt cu hnh phi thp (v cc kch bn m phng c th lp i lp li). V vy, mt chng trnh thng dch nh OTcl l thch hp. Trong mt kch bn m phng di dng OTcl do ngi dung a ra, chng ta c th thit lp mt topo mng, nhng giao thc v ng dng c th m chng ta mun m phng v mu ca u ra m chng ta mong nhn c t m phng, OTcl c th s dng nhng i tng c bin dch trong C++ qua mt lin kt OTcl (s dng tclCL l th vin gn kt d dng chia s chc nng v bin) to ra mt nh x 1-1 ca i tng OTcl cho mi i tng C++ cng nh nh ngha s lin h gia cc i tng . Nh trnh by trn, mt trong nhng phn c bn ca NS cng l bn danh sch s kin m y ngi ta gi l b phn hoch s kin (event scheduler). NS s dng 4 phng php phn hoch s kin khc nhau, c trnh by c th trong [4]. Mt s kin l mt i tng trong C++ bao gm mt s hiu nhn dng (ID) duy nht, thi gian c phn hoch v con tr tr n mt i tng thc thi s kin . Cu trc ca mt s kin v b phn hoch s kin c nh ngha nh sau:

class Event { public: Event* next_; /* event list */ Handler* handler_; /* handler to call when event ready */ double time_; /* time at which event is ready */ int uid_; /* unique ID */ Event() : time_(0), uid_(0) {} }; /*
132

* The base class for all event handlers. When an events scheduled * time arrives, it is passed to handle which must consume it. * i.e., if it needs to be freed it, it must be freed by the handler. */ class Handler { public: virtual void handle(Event* event); };
Cc gi tin trong NS c nh ngha t lp Event nh sau:

class Packet : public Event { private: friend class PacketQueue; u_char* bits_; ... protected: static Packet* free_; public: Packet* next_; /* for queues and the free list */ static int hdrlen_; Packet() : bits_(0), datalen_(0), next_(0) {} u_char* const bits() { return (bits_); } static void free(Packet*); ... };
6.3.2. Cc tin ch trong NS h tr cho m phng mng [Pending] Cc module phc v cho m phng mng my tnh v vin thng: Mobile networks, mobile IP, DiffServ, IntServ, MPLS, UDP/TCP/IP, SCTP, routing protocols (mobile ad-hoc, unicast, multicast), RED, RIO, WFQ, CSMA/CD, ON/OFF source, Pareto .v.v. Cc chng trnh tr gip trong vic khai thc s liu m phng: Nam, XGraph .v.v. 6.3.3. Th d (Pending)

6.4. Kt lun (Pending)

6.5. Bi tp (Pending)

133

134

Ti liu tham kho


[1] John S. Carson II, Barry L. Nelson, Discrete-Event System Simulation, Jerry Banks, Prentice Hall 1996 [2] Richard Blum, Network Performance Open Source Toolkit Using Netperf, tcptrace, NIST Net, and SSFNet, Wiley Publishing 2003 [3] Raj Jain, The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation and Modeling, John Wiley and Sons 1991 [4] Kannan Varadhan, Kevin Fall, NS Manual, http://www.isi.edu/nsnam/ns/nsdocumentation.html [5] http://www.isi.edu/nsnam/ns/ [6] Marc Greis, NS Tutorial, http://www.isi.edu/nsnam/ns/tutorial/index.html [7] Eintan Altman, Tania Jimnez, NS for Beginners, sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-NS/n3.pdf [8] http://www.opnet.com [9] http://ptolemy.eecs.berkeley.edu/ptolemyII/index.htm [10] http://www.omnetpp.org/ [11] http://www.inrialpes.fr/planete/people/ernst/Documents/simulator.html [12] http://www.topology.org/soft/sim.html [13] Kishor Shridharbhai Trivedi, Probability and Statistics with Reliability, Queuing, and Computer Science Applications, Wiley-Interscience, 2001 [14] Donald Gross, Carl M. Harris, Fundamentals of Queueing Theory, WileyInterscience,1998 [15] Dimitri Bertsekas, Robert Gallager, Data Networks, Prentice-Hall International Editions, 1987 [16] Andrew S. Tanenbaum, Computer Networks, Prentice-Hall, 2003 [17] Joseph L. Hammond, Peter J.P.O' Reilly, Performance Analysis of Local Computer Networks, Addison-Wesley, 1988 http://www-

135

Ph lc 1

136

You might also like