Professional Documents
Culture Documents
GIO N
MN L THUYT THN
S tit hc: 60 tit ( 45 tit l thuyt + 15 tit thc hnh)
Ti liu tham kho:
1) Ton ri rc, PGS. TS c Gio, Nh xut bn i hc Quc gia H Ni 2002
2) Ton ri rc, Nguyn c Ngha, Nguyn T Thnh, Nh xut bn i hc Quc gia H Ni
2003
3) Gio trnh L thuyt th, Nguyn Thanh Hng, Nguyn c Ngha
4) Ton hc ri rc ng dng trong tin hc, Dch t Discrete Mathematics and Its Applications,
Nh xut bn khoa hc k thut
Chng 1
e3
v3
e2
e4
v4
....
Nh vy ta c th hnh dung th l mt cu trc ri rc gm cc nh v cc cnh ni cc nh
ny vi nhau.
1
Ngh an
H ni
TP.HCM
nh ngha 2:
a) Hai nh c gi l k nhau nu c cnh ni hai nh vi nhau. Cnh ni hai nh c gi
l cnh lin thuc.
b) Hai cnh c gi l k nhau nu gia chng c nh chung.
c) Nu e = (v,v) l mt cnh ca th th e c gi l mt khuyn. Trong trng hp ny th
c gi l gi th.
V d 3:
v1
v2
e1
v3
e2
e3
v2
CVTh l
H gm
v3
TTCPQG
th v hng
th c hng
2
nh ngha 4:
th G =(V,E) c gi l n th nu gia hai nh bt k ca th c ni vi nhau bi
khng qu mt cnh (cung).
V d 5:
nh ngha 5:
th G = (V,E) c gi l a th nu c t nht mt cp nh c ni vi nhau bi hai cnh
(hai cung) tr ln.
V d 6:
nh ngha 6:
th G = (V,E) c gi l th phng nu n c dng biu din hnh hc trn mt phng m
cc cnh (cung) ch ct nhau nh. Cch v nh vy c gi l biu din phng ca th. Trong
trng hp ngc li th l khng phng.
V d 7:
th phng
th khng phng
Biu din phng ca mt th chia mt phng thnh cc min. V d biu din phng ca th
di y chia mt phng thnh 5 min.
R2
R3
R1
R5
R1
nh ngha 7:
th G = (V,E) c gi l th y nu mi cp nh u c cnh (cung) ni gia chng.
V d 8:
nh ngha 8:
Cho th v hng G = (V,E). Vi v V l mt nh ca th, ta k hiu deg(v) l s cc cnh
thuc nh v, ring vi khuyn th c tnh l 2. deg(v) c gi l bc ca nh v.
Nu deg(v) = 0 th v c gi l nh c lp, nu deg(v) = 1 th v c gi l nh treo.
Bc ca th v hng G = (V,E) c k hiu l deg(G) v c tnh deg(G) = deg(v)
vV
V d 9:
v1
v2
v3
v4
v5
Vi th trn ta c:
deg(v5) = 0, v5 c gi l nh c lp
deg(v4) = 1, v4 c gi l nh treo
deg(v3) = 4, deg(v2) = 3, deg(v1) = 2
nh ngha 9:
vV
V d 10:
v1
v6
v2
v3
v5
v4
Vi th trn ta c:
deg-(v1) = 2, deg+(v1) = 5
deg-(v2) = 2, deg+(v2) = 1
deg-(v3) = 1, deg+(v3) = 0, nh v3 c gi l nh treo
deg-(v4) = deg+(v4) = 0, nh v4 c gi l nh c lp
deg-(v5) = 3, deg+(v5) = 0
deg-(v6) = 1, deg+(v6) = 3
nh l 1:
deg(G) =
deg(v ) + deg(v
i
i =1
i =1
n
i =1
j = k +1
) = 2|V| = 2n
Do
deg(v
j = k +1
)=
i =1
n
2m
j = k +1
= 2 mj
j = k +1
n
k
=
deg(
v
)
2
m
k
2
m
2
mi +
+
+
=
j
j
i
i =1
j = k +1
i =1
j = k +1
i =1
T suy ra k l mt s chn. (pcm).
Suy ra
deg(G) =
deg(vi ) +
j = k +1
+ k =2n
V d 11:
b
d
V d 13:
a
b
c
Trong th trn ta c:
a,c,d l mt ng i c di 2
c,d,a,b l mt ng i c di 3
a,b,d,a l mt chu trnh c di 3
a,c,d,b,d,a l mt chu trnh c di 5
a,c,b khng phi l mt ng i
a,b,c,a khng phi l mt chu trnh
nh ngha 11:
ng hay chu trnh trong th c gi l n nu n i qua mi cnh (cnh ca ng hay
chu trnh) khng qu mt ln.
ng hay chu trnh trong th c gi l s cp nu n i qua mi nh ng mt ln.
V d 14:
a
b
c
Vi th trn ta c:
a,b,c,d l mt ng i n trong th
d,a,b,c,d l mt chu trnh n trong th
a,b,c,d,a l mt chu trnh s cp ca th
a,b,c l mt ng s cp
nh l 3:
Gi s G = (V,E) l th v hng. Nu trong th m mi nh v V u c bc deg(v) 2
th th c chu trnh s cp
Chng minh:
Xt tt c cc ng s cp c th c trong th. R rng s cc ng ny l hu hn, v vy
trong s cc ng s cp s tn ti mt ng c di ln nht. Gi s l ng w:
vi1ei1vi2ei2...vijeijvij+1dng hnh hc ca n l:
vi1
vi2
ei1
vi3
ei2
vij
vij+1
eij
V d 15:
th G
Mt s th con ca th G
M s th b phn ca th G
nh ngha 13:
Cho th G = (V,E)
a) Hai nh u,v V c gi l lin thng nu tn ti mt ng i ni hai nh u,v vi nhau.
b) th G c gi l lin thng nu vi hai nh phn bit bt k trong th u l lin thng.
V d 16:
Cc th lin thng
nh ngha 14:
Cho th c hng G = (V,E)
a) th G c gi l lin thng mnh nu lun tm c ng i gia hai nh bt k ca n.
b) th G c gi l lin thng yu nu th v hng tng ng vi n l th lin
thnng.
V d 17:
th lin thng mnh
th lin thng yu
nh ngha 15:
Cho th G = (V,E), H = (W,F) l th con ca G.
Nu H l th lin thng th H c gi l thnh phn lin thng ca G.
V d 18:
I
H
G
nh l 4:
th G = (V,E) l lin thng khi v ch khi n c mt thnh phn lin thng.
Chng minh:
iu khng nh c trc tip suy ra t cc nh ngha.
V d 19:
Cho n th G phng lin thng c 20 nh, mi nh u c bc l 3. Hi biu din phng ca
th ny chia mt phng thnh bao nhiu min?
Gii:
Ta c v = 20, deg(G) = v.3 = 20.3 = 60 = 2.e Suy ra e = 30.
p dng cng thc Euler : r = e v +2 = 12. Vy mt phng b chia thnh 12 min.
G1
G2
G3
G4
G5
G6
G7
G8
Bi 2:
V th v hng v th c hng cho bi G = (V,E)
V = {A, B, C, D, E, G, H}
G = {(A,B), (B,C), (A,C), (G,H), (H,E), (E,A), (D,A)}
Bi 3:
Hy tm s nh, s cnh, bc ca mi nh trong cc th v hng cho di y. Xc
nh cc nh c lp v nh treo. Xc nh bc ca th v kim tra xem n c bng hai ln s
cnh khng?
a
Bi 4:
G1
v1
v2
v3
v4
v5
G2
10
v2
v1
v3
G2
G1
Bi 5:
C tn ti th n c 10 nh, mi nh c bc bng 5 khng?
Bi 6:
Trong mt cuc lin hoan mi ngi bt tay nhau. Hy ch ra rng tng s lt ngi c
bt tay c bt tay l mt s chn.(Gi s rng khng ai t bt tay mnh)
Bi 7:
Lit k tt c cc th con ca th sau
a
c
d
b
G
Bi 8:
Bi 9:
C bao nhiu cnh trong mt th c 6 nh m hai nh c bc 4, hai nh c bc 6, hai
nh c bc 8 ?.
Bi 10:
Ch ra mt vi ng n v chu trnh n c th c trong th sau:
v1
e1
e2
v2
e3
e4
11
e5
v5
e6
v4
Bi 11:
Ch ra tt c cc ng s cp v chu trnh s cp c th c ca th sau
v1
e6
v2
e5
e3
e2
e1
e4
v3
v4
Bi 12:
Mi danh sch cc nh sau y c to nn ng i trong th cho hay khng? ng i
no l n? ng i no l chu trnh? di ca cc ng i ny l bao nhiu?
a) a, b, e, c, b
b
c
a
b) a, d, b, e, a
c) a, d, a, d, a
d) a, b, e, c, b, d, a
d
Bi 13:
Trong cc th cho di y, th no lin thng, th no khng lin thng?
G1
G2
G4
G3
G5
12
Chng 2
V d 1:
th v hng G = ({v1, v2, v3, v4}, {(v1,v2), (v2,v3), (v2,v4), (v3,v4), (v4,v4)}) c biu din
hnh hc nh sau:
v1
v3
v4
v2
th c hng G = ({v1, v2, v3}, {(v1,v1), (v1,v2), (v2,v3), (v3,v1), (v3, v2)}) c biu din hnh
hc nh sau:
v2
v1
v3
Biu din th bng hnh hc l mt cch biu din n gin, trc quan nhng khng c nhiu
ngha trong vic x l bng my tnh.
V d 2:
Cho th v hng G = ({v1, v2, v3},{(v1,v1), (v1,v2), (v1,v3), (v2,v3)})
Ma trn k ca G l
13
V1
v2
v3
v1
v2
v3
V d 3:
Cho th v hng G nh sau:
1
Ma trn k ca G l
1
3
4
0
1
1
0
0
1
1
0
0
1
Ch :
Ma trn k ca mt th tu thuc vo th t lit k cc nh. Do vy c ti n! ma trn k khc
nhau ca mt th n nh v c n! cch sp xp n nh.
V d 4:
Cho n th c hng G
1
14
Ma trn k ca G l
1
0
0
0
1
1
2
3
4
2
1
0
1
0
3
1
0
0
0
4
0
1
0
0
V d 5:
Cho a th v hng G nh sau:
1
Ma trn k ca G l
1
2
3
4
5
1
0
1
1
3
1
2
1
0
1
1
1
3
1
1
1
0
2
4
3
1
0
0
0
5
1
1
2
0
0
V d 6:
Cho a thi c hng G nh sau:
v4
v3
v2
v1
15
Ma trn k ca G l
V1
v2
v3
v4
v1
v2
v3
1
1
1
1
0
0
0
0
v4
V d 7:
Cho th v hng c trng s G nh sau
v1
8
10
v5
v4
3
Ma trn trng s ca G l
v2
7
v3
v1
v2
v3
v4
v5
v1
10
v2
v3
v4
10
v5
16
V d 8:
Cho th c hng c trng s G nh sau:
b
7
e
Ma trn trng s ca G l
a
u im ln nht ca phng php biu din th bng ma trn k (hoc ma trn trng s) l
tr li cu hi: Hai nh u, v c k nhau trn th hay khng, chng ta ch phi thc hin mt php
so snh. Nhc im ln nht ca phng php ny l: Khng ph thuc vo s cnh ca th, ta
lun phi s dng n2 n v b nh lu tr ma trn k ca n.
V d 9:
Cho th G nh sau
v2
v1
e6
v3
e2
e1
e3
v4
e4
e5
v5
e1
e2
e3
e4
e5
e6
v1
v2
v3
v4
v5
V d 10:
Cho th G nh sau
v1
v2
e2
e3
e1
v3
e4
e7 e6
v4
e5
v5
e8
Khi ma trn lin thuc nh cnh ca G l
e1
e2
e3
e4
e5
e6
e7
e8
v1
v2
v3
v4
v5
18
4
6
1
3
5
Ma trn lin thuc cnh - nh ca G nh sau
-1
-1
-1
-1
-1
-1
-1
-1
-1
V d 12:
Cho th v hng G nh sau
4
6
1
2
Cuoi
2
3
3
5
4
5
6
6
19
v2
v1
Khi danh sch cnh ca G l
Dau
v1
v1
v2
v3
Cuoi
v2
v3
v3
v2
v3
V d 1:
Cho th v hng G nh sau
v1
v2
v4
v5
v3
Khi , danh sch k lu tr di dng mng nh sau
v2
v4
v5
v1
v1
v3
v4
v2
v2
v4
v5
v3
v1
v2
v3
v5
v4
v1
v3
v4
v5
Danh sch k lu tr di dng danh sch lin kt nh sau:
v2
v4
v1
v5
nill
v2
v1
v3
v4
nill
v3
v2
v4
v5
nill
v4
v1
v2
v3
v5
v1
v3
v4
v5
nill
nill
Chng ta c rt nhiu phng php khc nhau biu din th, mi phng php u c
nhng u v nhc im ring ca n. V vy vic la chn phng php biu din th sao cho
vic x l n c hiu qu nht phi tu thuc vo tng bi ton v gii thut c th.
Ci t thut ton: (nhp v hin th DS k ca mt th biu din bng danh sch lien kt:
//---------------------------------------------------------------------------//
Chuong trinh nhap va in ra danh sach ke.
20
23
3.1 Thut ton tm kim theo chiu su trn th (Depth First Search)
tng chnh ca thut ton tm kim theo chiu su c th c hiu nh sau:
Ban u tt c cc nh ca th u cha c duyt n, ta s bt u vic tm kim t mt nh
no , gi s nh l v1. Sau chn u l mt nh (c th chn tu ) trong danh sch cc nh
k vi nh v1 m cha c xt n v lp li qu trnh tm kim i vi nh u ny. bc tng
qut, gi s ang xt nh vk, nu trong cc nh k vi nh vk ta tm c nh w l nh cha
c duyt n th ta s li bt u qu trnh tm kim t v w s tr thnh nh c duyt
qua. Nu khng cn nh no k vi nh vk l cha c duyt n th ta ni rng nh ny c
duyt xong v quay li tip tc tm kim t nh m trc ta n c nh vk. Qu trnh c tip
tc nh vy cho n khi tt c cc nh ca th c duyt ht. Nh vy ta c th hiu mt
cch n gin l vic tm kim theo chiu su trn th bt u t nh v c thc hin trn c s
tm kim theo chiu su t cc nh cha c duyt k vi v.
Qu trnh ny c m t bng th tc quy sau:
Procedure DFS(v)
24
V d 1:
Xt th v hng cho bi hnh di y (Hnh 3.1)
2
7
3
4
5
9
10
Hnh 3.1
1:
2:
3:
4:
2
1
1
1
3
3
2
9
4
5
10
25
V d 2:
Xt th c hng cho bi hnh di y (Hnh 3.2)
2
5
3
4
6
Hnh 3.2
1:
2:
3:
4:
5:
6:
7:
8:
9:
3
1
5
7
5
2
6
4
8
9
3.2 Thut ton tm kim theo chiu rng trn th (Breadth First Search)
T tng chnh ca phng php tm kim theo chiu rng trn th c th c hiu nh sau:
Ban u tt c cc nh ca th l cha c xt n, ta s bt u vic tm kim t mt nh
no ca th, gi s nh l v1. Khi duyt nh v1 ta s ti tt c cc nh v11, v12, .., v1k
26
Procedure BFS(v)
(* tm kim theo chiu rng bt u t nh v *)
(* Cc bin Chuaxet, Ke l ton cc *)
Begin
Queue : =
Queue v; (* Np v vo Queue *)
Chuaxet[v]:=False;
While Queue do
Begin
p Queue; (* Ly p ra khi Queue *)
Xet_dinh(p);
For u Ke(p) do
If Chuaxet[u] then
Begin
Queue u;
Chuaxet[u]:=False;
End;
End;
End;
(* Chng trnh chnh thc hin th tc *)
BEGIN
(* Khi to bin ton cc Chuaxet *)
For v V do
Chuaxet[v]:=True;
(* Duyt cc nh *)
For v V do
If Chuaxet[v] then
BFS(v);
END.
Vi thut ton ny ta cng thy rng mi lnh gi BFS(v) s thc hin duyt qua cc nh cng
thnh phn lin thng vi nh v. Th tc BFS s c thc hin ln lt vi cc nh cha c
duyt ca th, do n s duyt ht tt c cc nh ca th. Mt khc, mi khi duyt xong nh
v, bin Chuaxet[v] cng c gn gi tr False nn mi nh s c thm ng mt ln.
Lp lun tng t thut ton tm kim theo chiu su ta cng c c phc tp tnh ton ca
thut ton ny l O(n+m).
V d 3
Xt th v hng cho v d 1 (hnh 3.1)
Khi th t cc nh c duyt theo thut ton tm kim theo chiu rng s l:
1 2 3 4 5 8 9 10 6 7
27
33
V d 5
Xt th cho bi hnh di y (Hnh 3.3)
2
6
5
1
3
7
4
Hnh 3.3
34
Ch
Xt theo cch duyt cc nh ca th th ta c th suy ra c ng i tm c theo thut
ton tm kim theo chiu rng l ng i c s cnh t nht.
Th tc DFS:
Procedure DFS(u)
(* Bin Sotplt v Thanhplt[] l ton cc *)
Begin
Chuaxet[u]:=False;
Thanhplt[u]:=Sotplt;
For v Ke(u) do
If Chuaxet[v] then
DFS(v);
End;
Th tc BFS:
Procedure BFS(u)
(* Bien Sotplt v Thanhplt[] l ton cc *)
Begin
Queue : =
Queue v;
Chuaxet[u]:=False;
Thanhplt[u]:=Sotplt;
While Queue do
35
43
4.1 th Euler
nh ngha 1
Cho th G=(V,E)
ng i n trong th G i qua mi cnh ca n mt ln c gi l ng i Euler. Chu trnh
n trong th G i qua mi cnh ca n mt ln c gi l chu trnh Euler.
V d 1
Xt d th v hng cho bi hnh sau (Hnh 4.1)
b
e
Hnh 4.1
ng i a, b, f, a, e, b, a, d, e, c, b l ng i Euler
ng i a, f, b, c, e, d, a, e, b, a l ng Euler v cng l chu trnh Euler.
ng i a, b, c, e, d, a, e, b, a, f, b, a khng phai l chu trnh Euler v cng khng phi l ng
Euler
V d 2
Xt th c hng cho bi hnh sau (Hnh 4.2)
v1
v2
v3
v5
v4
Hnh 4.2
44
a
h
e
d
e
d
Hnh 4.3
45
v2
v1
v3
v7
v4
v5
v6
Hnh 4.4 th G
v3
v4
v5
v2
th G1
v6
Xut pht t nh v2 ca th G1 ta xy dng chu trnh n P2: v2, v4, v3, v2, sau khi b i chu
trnh P2 ta nhn c th G2 nh sau:
v4
v5
th G2
v6
Xut pht t nh v4 ca th G2 ta xy dng chu trnh n P3: v4, v6, v5, v4.
Cui cng ghp cc chu trnh P1, P2, P3 ta c chu trnh Euler cn tm l: v1, v2, v4, v6, v5, v4,
v3, v2, v7, v1
T thut ton xy dng chu trnh Euler cho th Euler trn ta c th tc sau tm chu trnh
Euler trong th
Procedure Euler_Circle(u);
(* ST v EC l hai cu trc Stack *)
Begin
ST:= ; EC:= ;
ST u; (* Np u vo Stack ST *)
While ST do
Begin
x:=top(ST); (* x l phn t nh Stack ST *)
If Ke(x) then
Begin
y:= nh u tin trong danh sch Ke(x);
ST y;
Ke(x):=Ke(x)\ {y}; Ke(y):=Ke(y)\ {x}; (* Loi cnh (x,y) ra khi th *)
End
Else
Begin
x ST; (* Ly x ra khi Stack ST *)
EC x; (* Np x vo Stack CE *)
End;
End;
End;
T thut ton xy dng chu trnh Euler cho th Euler ta xy dng thut ton tm chu trnh Euler
cho mt th G bt k nh sau:
Thut ton tm chu trnh Euler
47
v5
v3
v4
v1
Hnh 4.5
v2
v4
v1
v3
v2
v
Hnh 4.5
Hnh 4.6
ng i d, c, a, b l ng i Hamilton
Chu trnh a, b, c, d, a l chu trnh Hamilton
Chu trnh d, a, c, b, a, d khng phi l chu trnh Hamilton
V d 7
Xt th c hng cho bi hnh sau (Hnh 4.7)
2
Hnh 4.7
4
ng i 3, 1, 4, 2 l ng i Hamilton
ng i 2, 1, 4 khng phi l ng i Hamilton
Chu trnh 2, 1, 4, 2 khng phi chu trnh Hamilton
Ch
ng i Hamilton v chu trnh Hamilton cng c th c nh ngha nh sau: ng i(chu
trnh) trong th G l ng i(chu trnh) Hamilton nu n i qua tt c cc nh ca th v
mi nh i qua ng mt ln.
nh ngha 4
th G=(V,E) c gi l th Hamilton nu nh n c chu trnh Hamilton v gi l th
na Hamilton nu n c ng i Hamilton.
V d 7
th cho hnh 4.6 l th Hamilton, cn th ho hnh 4.7 l th na Hamilton.
nh l 4
n th v hng lin thng G=(V,E) c bc mi nh khng nh hn na s nh ca
th (deg(v) |V|/2 vi v V ) th th lun tn ti chu trnh Hamilton. (l th Hamilton). y
ta gi thit |V|>2.
49
vi
u1
u2
vj
vj
v1
vj
v2
Tc l ta c th b nh u bng cch thay vi, u, vj bi vi, v1, v2, vj. iu ny tri vi gi thit s
nh m ta b sung l ti thiu. Vy v2 khng th k vi vj. Nh vy c ngha l vi nh v1 k vi
vi th s c tng ng mt nh v2 khng k vi vj, tc s nh k vi vi khng ln hn s nh
khng k vi vj (**).
T khng nh (**) ta c bt ng thc:
(1)
(deg(v) |V|/2)
S2 S1 |V|+p=|V|
Trong S2 l tng s nh k ca vi v nh k ca vj, S1 l tng s nh khng k ca vi v nh
khng k ca vj
Ta c, s nh k ca dnh vi = deg(vi) |V|/2 + p v s nh k ca nh vj = deg(vj) |V|/2 + p (2)
T (1) v (2) ta c bt ng thc |V| + 2p |V| + p
Sy ra p=0. iu ny chng t khng cn b sung nh mi no th th G=(V,E) vn c chu trnh
Hamilton. (pcm)
V d 8
Xt th v hng cho bi hnh sau (Hnh 4.8)
50
2
1
3
Hnh 4.8
4
5
2
1
4
5
51
v2
v3
v4
52
Chng 5
CY V CY KHUNG CA THN
5.1 Cy v cc tnh cht c bn ca cy
nh ngha 1
Cy l th v hng, lin thng v khng c chu trnh n.
th khng lin thng c gi l rng (cc thnh phn lin thng ca th l cc cy ca
rng).
V d 1
Trong hnh 5.1 di y l mt rng gm ba cy T1, T2 v T3
T1
T2
T3
53
54
55
56
1
17
2
6
5
6
3
8
7
1
12
23
15
3
21
18
4
16
57
1
0
17
2
4
1
2
3
4
5
6
7
8
9
2
17
0
15
15
0
18
21
18
0
12
1
23
16
12
0
8
6
3
6
2
8
0
5
7
4
9
7
1
6
5
0
23
3
21
VT
[0,1]
[17,1]
[ ,1]
[ ,1]
[ ,1]
[2,1]*
[4,1]
[ ,1]
[ ,1]
[17,1]
[ ,1]
[ ,1]
[ ,1]
[ ,1]
1,6
(6,1)
B.lp
K.to
1
2
x
x
[9,7]
[7,7]
[1,7]
[8,6]
[4,1]
[6,7]
[ ,1]
[ ,1]
1,6,7
(6,1)(7,1)
[23,4]
[16,4]
1,6,7,4
(6,1)(7,1)(4,7)
[9,7]
[7,7]
[6,7]
[9,7]
[7,7]
[3,5]*
[16,4]
1,6,7,4,5
(6,1)(7,1)(4,7)(5,7)
[9,7]
[7,7]
[16,4]
1,6,7,4,5,8
(6,1)(7,1)(4,7)(5,7)(8,5)
[16,4]
1,6,7,4,5,8,3
(6,1)(7,1)(4,7)(5,7)(8,5)(3,7)
1,6,7,4,5,8,3,2
(6,1)(7,1)(4,7)(5,7)(8,5)(3,7)(2,7)
1,6,7,4,5,8,3,1,9
(6,1)(7,1)(4,7)(5,7)(8,5)(3,7)(2,7)(9,4)
[9,7]
[16,4]
59
MT S BI TON NG DNG
(Bi ton tm ng i ngn nht v bi ton lung cc i)
6.1 Bi ton tm ng i ngn nht
6.1.1 Tm ng i ngn nht trong th khng c trng s
Bi ton:
Cho th khng c trng s G = (V,E) v hai nh u, v V. Tm ng i ngn nht t nh u
n nh v, tc l ng i t u n v c s cnh (cung) l t nht
gii quyt bi ton ny ta c th thc hin theo thut ton sau y:
Thut ton:
Bc 1:
Ti nh u ta ghi s 0
Cc nh k vi u (c cnh i t u n) ta ghi s 1
Cc nh k vi cc nh c ghi s 1 ta ghi s 2
Gi s ta ghi ti i, tc l ta nh s c cc tp nh l V(0) = {u}, V(1), V(2),..,V(i). Trong
V(i) l tp tt c cc nh c ghi bi s i. Ta xc nh tp cc nh c nh s bi s i+1 nh
sau:
V(i+1) = {x| x V, x V(k) vi k=0,1,..,i v y V(i) sao cho t y c cnh (cung) i ti x}
Do tnh hu hn ca th, sau mt s hu hn bc, thut ton dng li v cho ta tp cc nh c
cha nh v c nh s bi m l V(m).
Bc 2:
Do bc 1 nh v c nh s l m, iu ny chng t ng i t u n v c m cnh (cung) v
l ng i ngn nht t u ti v. tm tt c cc ng i c di m ngn nht t u ti v, ta xut
pht t v i ngc v u theo nguyn tc sau y:
- Tm tt c cc nh c cnh (cung) ti b c ghi s m-1, gi s l xik (k=1,2...).
- Vi mi nh xik tm tt c cc nh c cnh (cung) ti xik c ghi s m-2.
Bng cch li dn tr li, n mt lc no gp nh ghi s 0, chnh l nh u. Tt c cc ng
i xc inh theo cc bc trn l ng i t u ti v vi di m ngn nht cn tm
V d
Xt th c hng cho bi hnh di y (Hnh 6.1)
v2
v1
v3
v10
v9
v8
v5
v4
v6
v7
Tm ng i ngn nht t nh v1
60
Chu :
Thut ton tm ng i gia hai nh u v v trong th bng cch p dng thut ton tm kim
theo chiu rng chnh l ng i ngn nht t u ti v (theo s cnh).
6.1.2 Tm ng i ngn nht trong th c trng s
Bi ton:
Cho th c trng s G = (V,E) v hai nh s, t V. Tm ng i ngn nht t nh s n nh
t, tc l ng i t s n t c tng trng s ca cc cnh (cung) l nh nht.
Tuy nhin, trn thc t vic tm ng i ngn nht gia hai nh li c rt nhiu trng hp ring
bit m cha c mt thut ton no thc s ti u c tt c, chng hn th c trng s ca cnh
l mt s m, hay th c cha chu trnh c trng s m...Sau y ta s xt qua mt s trng hp
ring.
6.1.2.1 ng i ngn nht xut pht t mt nh (Thut ton Ford Bellman)
Thut ton tm ng i ngn nht t mt nh s n tt c cc nh cn li ca th c a ra
bi hai nh bc hc Ford v Bellman, thut ton ny lm vic trong trng hp trng s ca cc
cnh (cung) l tu , nhng gi thit rng trong th khng c chu trnh m.
61
62
63