Professional Documents
Culture Documents
7 Chien Tranquoc
7 Chien Tranquoc
GIA HAI TP NH
ALGORITHMS OF THE PROBLEM OF FINDING THE SHORTEST PATHS
FROM A SET OF NODES TO ANOTHER SET OF NODES
TRN QUC CHIN NGUYN THANH TUN
Trng i hc S phm, i hc Nng
TM TT
Bi ton tm ng i ngn nht l vn quan trng trong l thuyt th, n c
nghin cu t lu v c nhiu ng dng trong nhiu ngnh khoa hc ni chung v khoa hc
my tnh ni ring. Nhiu gii thut (Dijkstra, Bellman-Ford, Floyd...) c pht trin tm
ng i ngn nht cho mt cp nh hay cho tt c cc cp nh. Bi vit ny nghin cu bi
ton tm ng i ngn nht gia hai tp nh trn th v xut mt gii thut hiu qu
gii bi ton ny.Gii thut c ci t trong ngn ng C# v cho kt qu th nghim kh
quan.
ABSTRACT
The shortest-path problem is an important isue in graph theory. It has been studied for a long
time and found diverse applications in various fields. Some algorithms (e.g. Dijkstra, BellmanFord, Floyd...) have been designed for solving a single source shortest-path or all pair
shortest-path problems. This paper treats the problem of finding shortest paths from a set of
nodes to another set of nodes in a graph and presents algorithms for solving this problem.
These algorithms have been programmed on the C # language with satisfactory results.
M U
Bi ton tm ng i ngn nht l bi ton quan trng trong L thuyt th, n c p
dng gii quyt rt nhiu bi ton trong thc t nh iu khin ti u, giao thng vn ti,
mng vin thng ...
Bi ton ny c th chia lm 2 loi:
Tm ng i ngn nht gia mt cp nh: Cho th G(V,E) c trng s cnh v hai
nh u, v thuc V tm ng i ngn nht t nh u n nh v trn th G. Cc gii thut
c pht trin gii bi ton dng ny tiu biu l cc gii thut: Dijkstra, Bellman-Ford,...
Tm ng i ngn nht gia tt c cc cp nh: Cho th G(V,E) c trng s cnh
tm ng i t nh u n nh v, vi mi cp nh u, v thuc V. Cc gii thut c pht
trin gii bi ton ny l: Floyd-Warshall, Johnson,...
Trong thc t nhiu khi ta khng ch cn tm ng i ngn nht gia hai nh m cn
cn xc nh ng i ngn nht gia mt tp nh ny n mt tp nh khc. Bi ton
c pht biu nh sau: Cho th G(V,E) c trng s cnh v hai tp nh
A,B V tm ng i ngn nht t tp nh A n tp nh B.
Bi vit ny nghin cu bi ton tm ng i ngn nht gia hai tp nh trn th v
xut mt s gii thut hiu qu gii bi ton.
NI DUNG
1. Tm ng i ngn nht gia mt cp nh
1.1. nh ngha
Xt th c trng s cnh G = (V,E,w), vi hm trng s w:E R l nh x t tp cc
cnh E n tp s thc R.
nh ngha 1.1. ng i p t nh u n nh v l dy cc cnh ni tip nhau bt u t nh
u kt thc ti nh v. ng i p t u n v c biu din nh sau: p=(u=v0,v1,vk=v)
nh ngha 1.2. di ca ng i p = ( v0,v1,...,vk ), k hiu (p), l tng cc trng s ca
cc cnh trn ng i:
(p) =
w(v
i 1
i 1
, vi )
B2.
B3.
B4.
t
:= AB, = , d() = +
Chn (ui,vi) c ch s i nh nht. t (u,v)=(ui,vi)
Tm ng i ngn nht pmin(u,v)
Nu d(u,v)<d(), th t d()= d(u,v), = pmin(u,v)
:= {(u,v)}.
Nu , th quay v B2
Nu = , th kt thc, pmin(A,B) = , d(A,B) = d()
Gii thut 2
u vo: G(V,E) v 2 tp nh A, B V
u ra: aA, bB, sao cho d(A,B) = d(a,b) nh nht, v pmin(A,B) = pmin(a,b)
B1.
Ta sp xp cc phn t ca A theo th t no
A = {u1,u2,,uk}
t
A = A, = , d() = +
B2.
Chn uiA c ch s i nh nht. t u = ui.
B3.
Tm cy ng i ngn nht T(u)(V(u),E) cho n khi V(u) B hoc T(u) cc i
(V(u) B = ).
Nu V(u) B , th
Chn v = V(u) B
Xc nh ng i ngn nht pmin(u,v)
Nu d(u,v) < d(), th t d() = d(u,v), = pmin(u,v)
Sang B4.
Nu T(u) l cc i, th sang B4
B4
A = A {u}
Nu A , th quay v B2.
Nu A = , th kt thc, pmin(A,B) = , d(A,B) = d()
phc tp ca gii thut ny l .O(|V|2). Cui cng chng ti xin xut mt gii
thut khc hiu qu hn.
Gii thut 3
u vo: G(V,E) v 2 tp nh A, B V
u ra: aA, bB, sao cho d(A,B) = d(a,b) nh nht, v pmin(A,B) = pmin(a,b)
B1.
Ta sp xp cc phn t ca A theo th t no
A = {u1,u2,,uk}
t
A = A, = , d() = +
B2.
Chn ui A c ch s i nh nht. t u = ui.
B3.
Tm cy ng i ngn nht T(u)(V(u),E) cho n khi V(u) B hoc T(u) cc i (V(u)
B = ).
Nu T(u) l cc i, th t A = A V(u), sang B4
Ngc li: Chn v = V(u) B
Xc nh ng i ngn nht pmin(u,v)
Tm u pmin(u,v) A gn nh v nht
A:= A - pmin(u,v)
Nu d(u,v) < d(), th t d():= d(u,v), := pmin(u,v)
B4
Nu A . Quay v B2.
Nu A = , th kt thc, pmin(A,B) = , d(A,B) = d()
3. Kt qu th nghim
th nghim v nh gi cc gii thut trn chng ti vit mt chng trnh nh ci
t v minh ha cho cc gii thut bng ngn ng C#.
Chng trnh c giao din nh sau:
m-1
m