1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng các công cụ để quản lý bản đồ giao thông

86 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng các công cụ để quản lý bản đồ giao thông
Tác giả Nguyễn Minh Nam, Trường Quang Bỉnh Long
Người hướng dẫn Thạc sĩ Nguyễn Minh Nam
Trường học Trường Đại học Dân lập Ngoại Ngữ - Tin Học Thành phố Hồ Chí Minh
Chuyên ngành Quản lý bản đồ giao thông
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2000
Thành phố TPHCM
Định dạng
Số trang 86
Dung lượng 35,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LiJi gidi thi?u LOI GIOI THItu nha quan ly giao thong do thi, nganh canh sat giao thong ..,Voi ban d6 giao thong va cac thong tin d~c trung g~n voi no se giup xac dinh m?t dQ giaothong c

Trang 1

THANH PHO HO CHi MINH

QUAN L Y BAN DO GIAO THONG

Sinh vien tht;ic hi~n: Trudng Quang Blnh Long

THVVlEN rwmr,ljr; -.I TNo\(\ 0 J 1? -(\

TPHCM - 2000

rf

Trang 2

LiJi gidi thi?u

LOI GIOI THItu

nha quan ly giao thong do thi, nganh canh sat giao thong ,Voi ban d6 giao

thong va cac thong tin d~c trung g~n voi no se giup xac dinh m?t dQ giaothong clla cac con duang, cac nut giao thong, nhung kha nang kyt xe, unt~c giao thong co th~ xay ra , cling nhl( xac dinh cac con duang di t6i l(Uvoi chi phf t6i thi~u co th~ d~ di chuy~n de"n noi rnong mu6n Cac co quanc5p ClYUnhu phong chay ch[(a chay , cffn bie"t con dl(ang ng~n va t6i uunh5t d~ de'n dl(<;5cdia di~n chay va ca'p CL(Ukip thai Do v~y ban d6 giaothong ra't huu feh cho nhi~u nganh chLrc nang

Tuy nhien, voi ban d6 giao thong, lU<;5ngthong tin tren ban d6thl(ang ra't nhi~u d~c bi~t la voi cac ban d6 co kfeh thl(oc Ion, do do vi~ctruy c~p va tIm kie'm thll cong thong tin tren no th?t kho khan va khonghi~u qua Ngoai ra voi ban d6 giao thong gi5y, vi~c Sl(U t~p, rna hoa va slrdl:ll1g thong tin tren ban d6 dong vai tro ra't quan tr9ng Dffu tien du li~u

Trang 3

dl,lng may tfnh d~ trQ giup cho cac thao tac ban d6 la vi~c he't serc cjn thie't

va hi~u qua, d?c bi~t la d6i vdi nhf(ng bai toan tren ban d6 giao thong rna

ta khong th~ th~(c hi~n dl(QC b~ng tay Trudc nhu cju buc xuc nay, tac giadff rnC;lnh dC;lnchQn d~ tai "Xay d~(ng nhung cong Cl,l d~ quan ly ban d6giao thong" nh~rn cung ca'p cho ngl(ai Sl( d~lng nhung cong ql t6t nhatnhl(ng d~ dung d~ hQ c6 th~ Sl( dl,lng ban d6 rnQt cach c6 hi~u qua

Lu~n van nay dl(QC chia thanh 4 phjn nhl( sau:

+ Phjn rnQt: Trinh bay rnQt so khai ni~rn co ban v~ ly thuye't

d6 thi.

+ Phjn hai: Trinh bay v~ cac bai toan h6 trQ

+ Phjn ba: Trinh bay rnQt s6 van d~ hO';1tdQng tren rn~lng

+Phjn b6n: Gidi thi~u Chl(Ong trinh RNMS

Tac gia xin chan thanh cam on quy truang hQc, quy thjy co va d?cbi~t la thjy Nguy~n Minh Narn dff t~n tinh giup dB tac gia hoan thanh lu~nvan nay

Trang 4

CHVdNG 3 THUAT ToAN KRUSKAL TIM CA Y BAa TRUM NGAN

II G.,. 101 t I~llh' A b"aI toan / 36)

Trang 5

II Cac d~ng co sa dfT 1i~u hOC;ltdong tren mC;lng 49

CHUaNG 7: CODEBASE - He QUAN TR~ co Sd 00 LI~U 56

Trang 6

I

5

T fd A? T-f A

Trang 8

CHUdNG 1: MOT SO KHAI NI~M cd BAN

- MQt d6 thi co huang G la mQt bQ: G = (Y,U), trong do

V la t~p huu h~n cac dinh Clla d6 thi,

7

ula t~p cac cung: U = {(x,y) / (x E Y) /\ (y E V)}

- MQt d6 thi YO huang G g6m t~p huu h~n cac dlnh ya t~p he(u h~tncae eanh:

G = (V,E) yai: E = {(u,Y) / (u E Y) /\ (Y E V) /\ ((U,Y) = (Y,u))}

Ne'u e = (u,y), ta noi: u,y k~ nhau

- Cho d6 thi G yai x,y la hai dinh thuQc d6 thi. MQt can duong P di tu

x de'n y yai c1Qdai k la mQt day k c~nh phan bi~t el, ez, " ek sao cho:

II TINH LIEN THONG:

- MQt d6 thi G dl(<;fCg9i la lien thong ne'u m9i e~p di~m (x,y) ella nod~u dl(<;fenoi yai nhau bdi mQt can dl(ong

- Xet mQt 06 thi G mQt thanh phgn lien thong C clla G, yai C ch((a

x (yai x la mQt oinh trong G) g6m mQt t~p nut ya mQt t~p qwh trong Gc1L(<;fec1inh nghla nhl( sau:

Trang 9

M(3t so khdi ni?In cO ban va diy baa tnlln ngdn n/ul't 8

Yoi: X E Yc

YccYEccE

\:jy E Yc, luon ::I mC)t dlTang di Px ~ Y tu X ~ Y sao cho:

- Cay la mC)t d6 thi lien thong va khong co chu trinh

- Rung la mC)t d6 thi khong co chu trinh

+ Xet cay T co Y dinh GQi e = (x,y) la cC;lnhn~m trong cay

+ Ne'u v(tt bo cC;lnhe ra khoi diy, d6 thi ke't qua se la mC)t rungoli<!c tC;lobdi hai cay: mC)t cay chCta dinh X va mC)t cay chCta dinh y

Trang 10

Mi)t so'khdi ni~m COban va ciiy baa trum ngdn nh(1't 9

11

+ GQi: T' la diy chua dlnh x

T" la diy chua dlnh y

+ Gia st1:So dlnh trong T' la V' va so c:;lllh trong T' la E'

So dlnh trong T" la V" va so qlllh trong T" la E",+ VI ca T' va T" d~u la cac diy co so dlnh it han so drnh clladiy T nen thea gia thi€t quy nC;lp,ta co:

E' = V' - 1E" = V" - 1+ VI e E T nen so cC;lnh trong T nhi~u han E'+E" mQt cC;lnh,trong khi do sodrnh trong T l~li b~ng V'+V", do do:

Trang 11

VI m6i thanh phgn clla Ti la mQt diy, nen ta co:

Vi =Ei + I (thea dinh ly III I)

Vi G la mQt d6 thi khong co chu trlnh => G la mQt rung

GQi C la s6diy bQ ph~n clla rung

Khi do, ta co:

Chang minh:

Ne'u G la mQt d6 thi khong co chu trlnh => G la mQt rung

Trang 12

M(}t srI khdi ni?In cO bdn va cay baa truIn ngdn nha't 1 1

Thea h~ qua III.l.a ta c6:

E =V - C voi C la sf) thanh ph~n lien thong cua G

Va E la sf) cC;lnhella G

~ C = V - E = V - (V - 1) = 1Yay G phai la cay

Dinh I)' 111.3:

Ch(tng minh:

Gia Slt e la mQt cC;lnhnao d6 cua chu trInh C

Xet hai dlnh z, w ba't ky: z, W E V(G)

VI G lien thong, t6n tC;limQt can duang P = P(z, w) til z de'n w

- Ne'u P khong chua e:

~ T6n tC;limQt can dltang til z de'n w trong G - e (do G lienthong)

~ G - e lien thong

~ Di~u pha i ch(tng minh

- NgLtQCI~li P ch(ta e, tltc la: e E P n C.

GQi u la dlnh d~u tien tren can dltang P va E C, u E P n C

v la dlnh cuf)i cung tren can dLtang P va E C, v E P n C.Khi d6 P dUQc chi a lam ba dOC;ln:

P(z, u) la can duang til z c1e'nu

P(u, v) la can dltang til u de'n v

Trang 13

MQI sf/ khdi I1Nm cO ban va diy baa trum ngdn nh!tt 12

P(v, w) la can clltdng til v de'n w

+ Ne'u u = v, ta xay dVng mQt can (1L(dngmoi P':

P' =P(z, u) +P(u, w)

=> P' la mQt can du'dng til z de'n w trong G - e

=> G - e lien thong

+Ngl(9C l~i, u khac v:

=> Ben trong C co mQt can du'dng P*

P* lien ke't u voi v nhu'ng khong chua c~nh e

Khi do, ta xay d~(ng P' g6m P(z, u) + P* + P(v, w).

P' la mQt can dl(dng til z de'n w trong G - e

Huy b6 c~nh e tiX G => G - e lien thong

Tie'p tl;lc huy b6 cac c~nh trong elm trlnh cho de'n khi d6 thi

con IC;!i la lien thong va khong co chu trlnh

VI mQt d6 thi nhl( v~y co s6 c(;lnh bang v - I (thea dinh I;'III I), tuy nhien d6 thi G eua ta chi co V - 1 c~nh nen qua trlnh huy c(;lnhkhong x'lY ra

Trang 14

Mf)t sf I khdi ni?m co ban va eei)' haa trum ngdn nhi{t

Do do G khong co ehu trinh

Thea dinh nghIa ~ G la rnQt diy

13

,.

Gia Sl, V(G) va E(G) la t~p cae dlnh va t~p cae eC;lnhella d6 thi G

GQi H la rnQt d6 thi thoa cae tinh eha't:

1 V(H) c V(G)

2 E(H) c E(G)

3 V eC;lnhe(x, y) E E(H), thl x E V(G), y E V(G)

Khi do, H du<!e gQi la d6 thi can ella G.

Ne'u V(H) = V(G) thl H dl(<!e gQi la 06 thi can baa trum ella G

Ngoai cae tfnh eha't tren, ne'u H la rnQt diy, thl H dl(<!e gQi la diy baatrurn ella G

Dinh 12 IV:

Ch((ng rninh:

Xet d6 thi can rna cae eC;lnhella no la cae eC;lnhella T2 va e

VI T2 la diy baa trurn eua G ~ (T2 + c) la mQt d6 thi can baa trLlm,lien thong va co VeC;lnh

Do do, (T2 +c) phai eh((a ehu trlnh C

Trang 15

Xet T2 + e - d, day la mot d6 thi can co V-I eC;lnh.

VI d la mot qmh trang ehu trlnh Cella T2 + e, nen thea dinh ly III.3

ta co: (T2 + e - d) la d6 thi can lien thong voi (V - I) eC;lnh.

Til h~ qua III.3 ::::}(T2 + e - d) la mot cay baa trum ella G

- £)~t ky hi~u R+ la t~p cae sa th~(e> O

- Mot d6 thi G di kem voi mot ham W: E(G) ~ R+ dl(<je gQi la mot

d6 thi trQng sa.

- Ne'u e E E(G), ta noi Wee) la trQng sa ella e

- Ne'u F c E(G), ta noi W(F) la trQng sa ella F va khi do ta co:

W(F) = I W(ei)

e; E F

- Ne'u H la diy baa trum ella d6 thi trQng sa G sao eha trQng sa ella

t~p cae e~lnh ella H la tai thi€u, khi do H du<je gQi la cay baa trLlm trQng satai thi~u (cay baa trum ng~n nha't) ella G

VI KIEM TRA TINH LIEN THONG CUA DO THl:

Trang th~(e te' m(;lng giaa thong la mot mC;lng len thong, do d6 sallqua trinh t~lO, hi~u ehinh ban d6 ta efin e6 cae thaa tae ki€m tra tlnh lien

Trang 16

Mi)t srI khdi ni?m C(J ban va cay baa trum ngdn nha't 15

cQnh e = (x, y) vo'i x E V(C j) va y E V(C 2) thi C, va C2phdi cling I11Qtthanh ph6n lien thong".

Ky hieu:

- pCn[i] Hi chi s6 thanh philn lien thong cua dinh i, co nghla la

i thuQc thanh philn lien thong thl( pCn[i]

- nTotalOfCns la t6ng s6 cac thanh philn lien thong trong d6

{ Thlfc hi<%nvi<%cdanh s61(;li cac thanh philnlien thong}

nBigCn = Max(pCnlxj.l,pCnlyj]);

nSmallCn = Min(pCn[xj],pCn[yjl);

for k := 1 to nNum Vertices do

if (pCn[k.l =nBigCn) then

Trang 18

PHANHAI:

17

Trang 19

Hai toan eluong eli ngdn nh({t va duong eli nhanh nh({t 18

I •

DUdNG DI NHANH NHAT

1.1. Y nghia tht;ic ti~n:

Bai tmin nay thltang dlt<;jCd~t cho cac trung tam phong chay chetachay, trung tam ca'p cuu, VI cgn xU'19 thai gian th~tc(nhanh chong va cohi~u qml) N€u m~lng giao thong la nha, bhng kinh nghi~m thong thltang ta

co th€ tim ra can dltang ngan nha't mong mu6n Tuy nhien n€u mC;lng lLtoiduang xa tuong d6i phuc tC;lP,thi va'n d~ tim dltang di ngan nha't se khongcan don gi~ln

1.2 Gioi thi~u bai toan:

eho mQt don d6 thi co hltong lien thong co trQng sO' G = (Y, E)

TrQng sO' ella m6i cC;lnhC5day dlt<;jCxem nhlt chi~u dai ella c(;lnh a'y

Bai toan d~t ra la di tim can dltang ngan nha't n6i hai dlnh cho truoccua d6 thi.

Xet hai dlnh u, V E Y N€u co cC;lnhe = uv E E n6i u voi V thl ta d~t:

c(u, v) = c(e) = chi~u dai c(;lnh e

N€u khong co c(;lnh nao n6i u voi v thi ta d~ t:

c(u, v) = 00

Luu 9 rhng c(u, u) = 00voi mQi u E Y

D~ t c*(u, v) = chi~u da icon dltang ngan nha't (g6m it nhf{t mQt c(;lnh)n6iuvoiv

Nh~n xet ding:

Trang 20

Bai loan du'Clng di ngdn nh(tl va du'Clng eli nhanh n!ul'l

c*(u, u) <00 Q co mQt chu trlnh trong G chua u

c*(u, u) = 00 VUE V Q G khong co chu trinh

19

11.1 ChQn heuristic trong bai tmln tim dtiO'ng di ng~n nha't:

Cho tntoc mQt d8 thi cac con dltong TIm dltong di ngiln nha't tu Aden B, bie't tntoc chi~u dai clla m6i con dl(Ong n6i gi[ta 2 nut co cung lienke't tr~(c tie'p

Ne'u nhin V~lOban d8, ngay l~p t(tc ta co th~ IO~lingay nhltng hL(ong

di xa dich Vi d1;1,nhin vao hinh ve tren, ta tha'y C n~m xa d6i voi hLtong til

A de'n B; ngLtQc I~i, D n~m trong hltong til A de'n B Va vi trf cac condltong di qua D se dUQc xem xet tntoc khi xem xet C Tuy nhien, thay VI

dltQC cho tntoc ban d8 d8 thi duong di, chung ta chI cho mQt bang khoang

cach d(i,j) gi[ta cac nut lien tie'p, luc do noi D uu tien han C la khong r6rang V~y bang khmlng cach khong co dUQc cac thong tin tr~(c quan, trong

Trang 21

Hai taein du'iJng di ngdn nhtit va duiJng di nhanh nh(1't 20

Tnioc khi trlnh bay thu~t toan A*, thu~t to<:lntIm dliang di t6i Liu mac6 sli dl}ng thong tin Heuristic, ta qui uoc sU'dl,ll1g mQt so' ky hi~u va thu~tng[i sau day d€ ti~n cho vi~c trlnh bay:

Xet mQt d6 thi G:

- Nut dff dltl/c phtit sinh la nut dff dliQC xet k€ til thai di€mnay

MlJ r{)ng IUlt la phat sinh ta't ca cac con cua mQt nut cha cho tnioc

Nut cha khi a'y dliQc g9i la nut dff dliQc mes rQng

- Cac COil tra dliQc xay d~ng til m6i nut con dff dLiQc phat sinhd€n nut eha ella n6 Cac con tro thuang giup cho d~ dang l~n theo da'u v€ttil mQt nut n cho tnioc d€n nut ban d~ll s hay Wi mQt vai nut t6 tien nao d6

? /

Clla no

Trang 22

Hai toan el~(Clngeli ngdn nht{t va eluClng eli nhanh nh(1't 21

- T~p cac nut trong d6 thi co th~ du<;1cchi a thanh 4 t~p can rainhau a bfrt ky mot thai di~rn cho tn(dc nao do trong qua trlnh thljc hi~nthll~t toan A *:

+ Cac nut da du<;1crna rong

+ Cac nut da dl(QC khao sat nhung chl(a rna rong

+ Cac nut da dl(QC phat sinh nhl(ng chl(a khao sat

+ Cac nut chua dUQc phclt sinh

dang cha dUQCrna rong

- Nut rna la nUt thliOC danh sach rna

- Nut dong la nut thliOC danh sach dong

- s: nut bat d~u (nut xufrt phat)

- y : nut dich (nut rnl}c tieu)

-r:t~p tfrt ca cac nut dich

- C(ni,nj): chi phi cua cung vdi ni va nj la 2 nut dl(QC n6i vdinhall trljc tie'p bai mot cung

- n' E SCS(n): n' la can tr\(c tie'p clia n

- Pni_nj: T~p tfrt ca can dl(ang di ttYni de'n nj

- Pn_i: T~p tfrt ca cac can duang di til nut n de'n r.

- Pn_y: la mot can duang bfrt ky di til n de'n y, Pn_y E Pn r

- P*ni_nj: T~p tfrt ca can dl(ang di til ni c1e'n nj ma co gia trj t6ithi~ll (Cac can duang t6i Ull)

- K(ni,nj): chi phi t6i thi~u cua can dl(ang t6i Ull tt( ni de'n nj

Trang 23

Hai roan dUClngdi ngdn nhflr va dUClngdi nhanh nhf[r 22

- g*(n): chi phi t6i thi€u trong so' cac chi phi Clla cac can dl10ng

di til nut xua't pha t s de'n nut n

va g*(n) = k(s,n)

- h*(n): chi phi t6i thi€u trong so' CclCchi phi clla cac can dltong

di ttt nut n de'n dieh f

va h*(n) =min ken, y) (\iYE f)

- C*: chi phi clla can dltong t6i lIDtil s de'n f

va C* = h*(s)

- f* : t?P cac nut dieh t6i ltu - nghTa la t?P can Clla CclCnutdieh co th€ tai dltc;5ctil s bdi mQt can dl10ng hay bdi cac can dltong rna cocling gicl phi C*

- MQt can dltong nghi~m (ke't qull) tim dl1c;5cla can dltong E

- Chi phi clla 1 can dltong la t6ng chi phi clla ta't ca cac cungd9C thea can dl10ng do

11.2 Thu~ t tmln A* - thu~ t tmln tim con dliO'ng t6i u'u khi chi phi tai

dich co th~ dliQ'cliac lliQ'ng:

Thu?t toan A* - Day la mQt thu?t toan t6ng quat d€ tim kie'm dltong

di trong mQt d6 thi cho trl1ac co sU'dVng tri thli'c lien quan de'n bai toano

Trang 24

- _- - -

-Bai todn elu'ifng eli ngdn nht{t va du'ifng eli nhanh nhf{t 23

Tl( tl(ang clla thu?t toan nay nhl( sau: L~y mQt nut tily y n tren d6 thi,

chi phi f*(n) clla con duang di qua n dl(<;jCcho bai f*(n) = g*(n) + h*(n) vabai toan d~t ra la phai tim dl(ang di to'i uu til nut b:lt dgu de'n nut dich Ne'uf*(n) dl(<;jCbie't chinh xac, cach gicli c6 th~ c6 du<;jc b~ng cach xu~t pha t til

S va Ign theo cac nut sao cho c6 f*(n) to'i thi~u Tuy nhien trong thVc te',

ca h*(n) va g*(n) d~u khong du<;jc bie't chinh xac Do V?y f* dl(<;jCx~p Xlb~ng mQt ham c6 th~ tinh toan f vCJif = g + h trong d6 hen) la l(CJCIlf<;jngclla h*(n) vCJihen) la chi phi lfCJcIl(<;jngtil n tCJiml;)c tieu (dich), g(n) la uCJclu<;jng clla g*(n) vCJig(n) la chi phi uCJc 1L(<;jngto'i thi~u trong so cac chi phiclla cac con dl(ang til nut xu~t phat s va chI di qua mQt sO' nut de dl(<;jCphatsinh nao d6 de'n n k~ til thai di~m nay Gia trj'l(CJc 1L(<;jngfen) Clla chi phIcon dlfang to'i l(U di qua n du<;jccho bai bi~u th((c sau:

fen) = g(n) +hen)Thu~t toan tim kie'm tren d6 thj sa dl;)ng phuong trinh tren nhu mQtham danh gia dl(<;jCg<)i la thu~t toan A*

N6idungthuattoan:

Rude 1:

RUde 2:

RUde 3:

£)~t nut xu~t phat s vao danh sach rna OPEN

Ne'u danh sach md OPEN = r6ngThoat: khong tim du<;jcdl(ang di til s de'n m~lc tieu

Ch<)n trong danh sach rna OPEN phgn tlf n sao cho fen)c~(c ti~u Bua n vao danh sach d6ng CLOSED

Thoat: thanh cong vCJi duang di tim dl(<;jCb~ng cach dotheo cac con tro tt( n de'n s

Trang 25

Beli lOan duong di ngdn nha't vel duong di nhanh nha't 24

Ma rQng n, phat sinh cac nLlt can Clla n va gan cac cantro til chung de'n n Voi rn6i nut can n' clla n, th~ichi~n:

CE

OPEN) va (n' khong n[lrn trong danh sach dongCLOSED) thl lioc hiQng hen') va oLta n' vao danhsach rna:

f(n,n') =g(n,n') + hen')g(n,n') = g(n) + c(n,n')

so sanh fen') va f(n,n'):

Ne'u fen') >f(n,n') thlfC hi~n:

Gan can tro til n' de'n n

Gan fen') = f(n,n')

- Buoc 5.c: Ne'u (n' n~rn trong danh sach dongCLOSED), so sanh fen') va f(n,n'):

Ne'u fen') > f(n,n') thlfC hi~n:

Gan can tro til n' de'n n

Trang 26

Bai toan du'iJng di ngdn nhi{t va duong di nhanh nhi{t

?

Tn(dc h~t ta c~n chu y d~n mot tinh cha't ra't quan tn;mg cua candu'ang ng~n nha't neu trong dinh 1y sau:

Chang minh: Dinh 1y hi€n nhien dung

Bay gia gia Sl( ta mu6n tim can du'ang ng~n nha't n6i dinh va E V vdicac dinh con l~li Giai thu?t sau day se xay d~(ng mot cay L va cac ham 8:

2 N~Ll mQi dinh ella G d~u thuoc L thl dl(ng

3 N~Ll khong, chQn v ~ L sao cho 8(v) nho nha't

D~t v* = v DL(a them dinh v* va c~nh n(v*)v* vao L

4 Vdi mQi W E V \ L, n~u 8(w) > 8(v*) + c(v*, w)

thl d~t 8(w) = 8(v*) + c(v*, w)

va new) = V*

Trd v~ bu'dc 2

Trang 27

I •

Bai wan el~(iJngeli ngdn nha't va eluiJng eli nhanh nhdt

Sod6 kh6i ella giai thuat Dijkstra:

Trang 28

xac djnh hiJi ham Jr*: dlnh dL(ng tru6'e I11qtdlnh v tren duang ng6.n nlui't ndy

fa Jr*(v).

Ch((ng minh:

Hi~n nhien giai thu~ t Iuon Iuon dung

Tn(oc he't nh~n xet ding voi mQi dinh W E V va t~li mQi thdi di~mth~(c hi~n giai thu~t ta luon luon co:

c*(vo, w) :S 8(w)

=> c*(vo, w) :S 8*(w)Giii SL( th(( tV chQn cac dlnh d~ t V~lOL Ia Yo, v" , Vn•

Ta ch((ng minh dng 8*(vj) :S 8*(Vj+l), Vi

d yang I~p th(( i (chQn dlnh Vi d~t vao L) thl Vi+l ~ L nen

8*(Vi) = 8i(Vi) :S 8j(Vi+l)(8i la ham 8 a yang I~p th(( i)

d yang I~p th(( i+ 1 ta co:

{U; (v j +l)

- O*(vJ+c(vj,vj+l)8*(Vi+l) = 8i+1(Vi+l)

ne'u OJ(v i-I) :S0 * (Vi) + c( Vj, Vi+l)neu C j (Vi+l) > 0 * (Vi) + c(Vj, Vj+l)

do do 8*(Vi) :S 8*(Vi+')'NhLrthe' ne'u dlnh V dL(QC chQn d~t vao L tn(oc w thl 8*(v) :S 8*(w)

Trang 29

Bai toan du'ong eli ngdn nh(tt va daong di nhanh nha't 28

Bay gia gia sU' co Glnh W sao cho c*(vo, w) < 8*(w) G9i YOWl." WpW

la Guang ngan nha't n6i Vo vai w, thl c*(wp, w) = c(wp, w) va co th~ gia Sl(

ding c*(vo, Wi) = 8*(Wi) 'Vi = 1, ", p

Ta co:

8*(wp) :s;8*(wp) + c*(wp, w) =c*(vc), wp) + c*(wp, w)

=c*(v(), w) < 8*(w)

v~y Glnh wp Gu<;jcG~t VaG L truac Ginh w

d thai Gi~m ch9n wp G~t VaG L thl:

c*(v 0,w)pc(vo, w)

28*(w)

1 8~ tlm con Gl(ang ngan nha't n6i Ginh Vo vai mQt Ginh w, ta

ap d\lllg giai thu~t Dijkstra vai Gi~u ki~n dung thay G6i nhl(sau: "Ne'u w E L thl giai thu~t dung"

2 Giai thu~t Dijkstra cling ap dl;}ng Gl(<;jCcho tntOng h<;jp G6thi va huang

111.4.Ap d\lng cac lu~t giao thong:

Bai toan Gl(ang Gi ngan nha't chi c1L(c;:Jcgiai quye't mQt cach tn;>n v~nkhi ap d\lllg cac quy dc lu?t giao thong nhl( sau:

- Quy dc Gl(ang mQt chi~u

Trang 30

Bai toan elu'ong eli ngdn nh({t va elu'ong eli nhanh nh[{t

- Quy tilc ca'm re

111.4.1 Quy t~c du'dng mQt chi~u:

29

Trang th~(c te', b,ln a6 giao thong Ia mQt a6 thi co hL(dng va co trQngs6 Do ao ne'u aL(<!c1L(utru a~y au thl va'n a~ Xl( ly aL(ang mQt chi~u sekhong con nua,

Hlnh: Mot 06 thj au'<;ic lULl tru afty aLl (dc c<;tnh

ali<;ic lull tru la AC, AD, BC, CA, DA, DB)

Tuy nhien vdi nh~n xet ding tit ca cac can duang tren th~(c te' da s6a~u la aL(ang hai chi~u va chi co mQt s6 It aL(ang mQt chi~u, ta se co mQt

cach tie'p c~n khac d~ luu trf( df( li~u Vdi cach tie'p c~n nay, c16 thi tren chi

c1L(<!ClL(u cac c~tnh sau: AD, AC, BC, DB, va khi nay va'n c1~ c1L(ang mQtchi~u dln phJi c1L(<!CgiJi quye't

VI giai thu~t Dijkstra lam vi~c d~a tren trQng s6 cua cac qtnh nenham c(u, v) se la h?t nhan cua giai thu~t nay

Trang 31

Hai tocin el~(angeli ngdn nhi{t va eluang eli nhanh nhttt

Thuat tmin xu 19 dUdng mot chi~u:

Lfty mQt arc til hai nut u, v

N€u arc co chi~u cung chi~u vcJi hL(cJngdi

30

return dQ dai(arc);

N€u arc co chi~u ngL(QCchi~u vcJi hL(cJng di va dL(dng Ia haichi~u:

return dQ ciai( arc);

N€u khong thoa cac trudng hQp tren:

return 00;

111.4.2 Quy Hie eftm re:

Quy tlc dlm re la mQt quy uk quan trQng nhftt trong lu~t giao thong.Quy tc1c nay co th~ dUQc phat bi~u nhl( sau: "((ng vcJi mQt tuy€n dL(dng chotn(cJc va mQt chi~u cho trucJc, phL((jng ti~n giao thong se bi cft m re vao cacdO~ln dL(dng nao do"

Trang 32

BiIi toan eluong eli ngrin nhitt va elu'ong eli nhanh nh{{t 31

Nhln v~lO hlnh tren ta tha'y hU'ong di til Thi Nghe v~lO ChQ Lon trentuye'n dl(ang Nguy~n Thi Minh Khai se bi ca'm re sang dl(ang CO'ng Quynh

va dO'i voi huong di nguQc l'.li se bi cfrm re sang dl(ang Nguy~n Thi~n

* Thuat toan giai quyet:

£)~ giai quye't dl(QC vfrn d~ nay, thu~t to(ln Dijkstra cftn co mQtsO'caitie'n nhl( sau:

- Truoc khi thtfc hi~n thu(t t toc1n Dijkstra, co mQt bie'nPrey Arc d~ It(u l'.li dinh danh ella tuye'n dl(ang da dl(QC xettn(oc do

- Trang qua trlnh xet tIm nut hQp l~ v* CJ bl(OC 3:

+ Ne'u c'.lnh n(v*)v* thuQc danh sach C<:,ll1hbi c1'm cLlac'.lnh Prey Arc, 10?i bi) v* va th~(c hi~n l'.li qua trlnh timkie'm

+ Ne'u khong, d~t v* v~lO L, tlnh l?i gia tri PrevAIT(Prev Arc =n(v*)v*) va sang bl(OC ke'tie'p

111.5 Dijkstra tren cung:

Thu(tt toan Dijkstra dl(QC xet cho de'n thai di~m nay chi hO'.lt dQngtren nut (til nut giao thong nay tIm dl(ang di ng5n nh1't de'n nut giao thongkhac) Tuy nhien d~ chl(Ong trlnh co th~ ap d~ll1g dl(QC vao th~(c te' th1 v1'nd~ tim dl(ang di ng5n nhfrt tren cung cftn phai dL(QCgi~li quye't

Co hai phuong phap tim dl(ang di ng5n nhfrt tren cung nhu sau:

+ Sl'( d~ng nut gia:

Trang 33

1- - Hai toan duang eli ngdn nht{t va duang di nhanh nh({t 32

Giel Slt c~n tIm dltang di ng5n nha"t gilta hai v~ tri nhltsau:

Start va End va ap d~lng giai thu~t Dijkstra nguyen thuy len hai nut vttat(;lO Phuong phap nay tho(;lt nhln kha don gian (vI v~n dung l(;li gi,li thu~tDijkstra cli) nhung th~tc cha"t l(;li ra"t phltc t~IP VI pheli xU' ly va"n d~ them vaxoa nelt ao tren mQt co sa dltli~u tllOng doi IOn., do d6 chllOng trlnh kh6ngSlt d~lng phlWng phap nay

+Slt d~ng tinh cha"t cua gieli thu~t Dijkstra:

Giel Slt c~n tIm duang di ng5n nha"t tren d6 thi nhlf phfintren

Nhu dil trlnh bay a ph~n tnfoc, giai thu~ t Dijkstra la gi~iithu~t duy~t theo chi~u rQng d€ tIm kie'm dlnh m~lc tieu do d6 ta dVa vaotinh cha"t nay d€ cai thi~n gieli thu~t Dijkstra cho phu h<;5pvoi nhu c~u baitoano

Xet d6 thi G nhu hlnh tren, dlnh xua"t pha t va Glnh m~lctieu lfin Ilf<;5tGlt<;5Cky hi~u la Start va End Ttf vi tri Start rna rQng ra hai

Trang 34

Bai roan elu'ong eli ngdn nh[{r va duong di nhanh nhflt 33

hltong tIm Olt<;5Chai nut A va B tlt hai nut tren tie'n hanh hai phep duy~tDijkstra song song og tim ra Olt<;5CmQt nut C ho~c E N6i nut vua tIm Olt<;5Coe'n olnh m~lc tieu se Olt<;5CmQt oltong oi tlt Start oe'n End

Bay gio ta ch((ng minh oltong oi vua tim Olt<;5Cla oltong

oi ngftn nhftt Do dung Dijkstra og duy~t cac olnh con l~i sau khi OU oltaOlt<;5CA va B vao danh sach nen chac chan rhng giai thu~t se dung l~i saukhi tIm Olt<;5Cd1nh C hay E va khi nay dltong di toi C hay E phai 1a oltong oingan nhftt => oltong oi oe'n vi tri End cling 1a oltong oi ngan nhftt (oi~u phaichang minh)

Nhlt OUtrlnh bay (j tren, og tIm c1Ltongoi ngftn nhftt giO'a hai oia oigmbftt ky ta c6 nhi~lI thll~t toano TlIY nhien tac giil chQn thll~t toan Dijkstra oggiai quye't bai toan 10~i nay VI cac vftn sau day:

- Dijkstra la mQt giili thu~t 1'6 rang va d~ higll

- Dung giai thu~t Dijkstra, chung ta se gi,li quye't Olt<;5Cbaitoan oltong oi ngftn nhftt mQt cach trQn vt;n (c6 ap dl;}ng 111~tgiao thong)

- Tuy Dijkstra la mQt giai thu~t duy~t theo chi~u rQng (trangtntong h<;5pt~ nhftt se la thll~t toan vet c~n), nhltng so voi cac the'h~ mayt1nh moi bay gio thl thoi gian giai toan khong con la mQt vftn o~ quantrQng

V DUaNG DI NHANH NHAT:

Trang th~tc te' mQt oltong oi ngan nhftt khong phai 1uc nao cling laGltong oi nhanh nh51 Do 06 og cho phu h<;5pvoi th~tc te' thl chl((jng tr1nhcon h6 tr<;5them bai toan oltong oi nhanh nh51

Trang 35

Ba i todn elu'ong {li ngdn nh{{t va elLCongeli nhanh nhdt 34

Th~t kh6 khan d~ xac dinh dltQC mQt tuy€n dltang di nhanh nha't bdi

VI ph~1 thuQc V~lOr3't nhi~u y€u to' khac nhau nhlt l11~t dQ htu thong cua xe

cQ tren tuy€n dltang, tInh tr~lng hi~n t~i ciia tuy€n dL(ang (dL(ang xa'u, t6t), Tuy nhien d~ giai quy€t bai toan nay I11Qtcach gan dung, chltdng trlnhd~ nghi I11QtphLtdng phap tIm duang d~a tren thu~t toan Dijkstra va v~nt6c ciIa cac do~n dltang

* Thu~t tmin tim dtidng di nhanh nha't:

- Di~m I113'Uch6t cua thu~t to<:lnchinh la v~n t6c cua cac do~ndl(ang va cac v~n t6c nay dl(QC tinh nhl( sau: Gia slt rang t~i 1116ithai di~111cach nhau la 1 gia nha VaG bi~n phap th6ng ke, cac do~n dL(ang se c6 111Qtv~n t6c n~lO c16 (v~n t6c se Idn n€u d6 la I11Qtdo~n dl(ang t6t, it k~t xe;ngL(Qc l~i v~n t6c se nh6, )

- Luc nay trong giai thu~t Dijkstra khi can h(Qng gia trc.mgIUQng clla I11Qtc~nh ta can Il(Qng gia theo thai gian di h€t qll1h d6, C~Ith~nhlt sau:

La'y I11Qtarc til hai nut u, v

N€u arc c6 chi~u cung chi~u vdi hl(dng di

return dQ dai(arc)/v~n t6c(arc);

N€u arc c6 chi~u ngl(Qc chi~u vdi hltdng di va chtang la haichi~u:

return dQ dai(arc)/v~n t6c(arc);

N€u khong thoa cac tntang hQp tren:

return 00;

Trang 36

Hili tOcln (lu'ong eli ngdn nht{t vii (lu'ong di nhanh nh{{t 35

I

I

Trang qua trinh, giai v~n t6c cua cac dOC;lndlfdng phai dlf<;jc

xac dinh dQng theo thdi gian Vi dl,l: L6c 3hSO ta din tim dlfdng di nhanh

nhat til di€m A de'n di€m C, trang qua trinh tim dlfdng theo thu~t toan giaslf Chltdng trinh tim dlf<;jCdi€m B v{ji thai gian di til A de'n B la 10 phut Khinay d€ tie'p t~ICtim dlf<;jcdlfang di nhanh nhat til B de'n C clllfong trinh c~ nph~li slf d~lI1gv~n t6c (j khoang thai gian til 4hOO - ShOO.

Trang 37

Thu(it toan Kruskal tim cay bao t/"Llmngdn nhift

CHUONG 3: THU~ T TOAN KRUSKAL

36

Bai to<:1ntIm diy bao trum ng~n nha't la nhhm xay d~(ng mQt d6 thi

d~ng cay sao cho qua ba't ky hai di'nh luon luon co mQt con dl(Ong n6i haidi'nh nay M~t khac, t6ng chi phi cho cac con dl(Ong phai nh6 nha't

Vi d9, khi thie't ke' mQt m~ng dit%n n6i li~n gifi'a cac nut giao thong,din thie't ke' mQt cach m~c sao cho it t6n chi phi ma mang 1~1i hit%u qua.TlWng t~(, c16i voi vit%cxay d~(ng mQt m~ng dit%n tho~i n6i li~n n di~m dan

cu sao cho gifi'a hai di€m ba't ky co th€ lien l(;lc tr~(c tie'p voi nhau bhngdit%n thO~li nhl(ng ta phai thie't ke' sao cho cach m~c it t6n day nha't Ngoai

ra con co cac bai toan chuyen Chd, v~n t{li ma ta din biet lQ trlnh di d~tie't kit%m nha't

II GIOI THI)tU BAI TOAN:

Bai toan nay co th~ dltQC phat bi~u dltoi d(;lng ngon ng[( ly thuyet d6

thi nhl( sau: "Cha mQt dJ thi trQng s6' G Tim 111Qt cay baa tnim co trqng 5()'

III THUA.T TOAN KRUSKAL:

Thu~t toan lam vit%c d~(a tren y tl(dng mQt cay bao trum co trQng so't6i thi~u se chua cac c(;lnh co trQng so' nh6 VI the d m6i bltoc trong khi xayd~(ng cay se su d9ng cac c~nh co trQng so' nh6 nha't co th~ dl(QC Thu~ t giii isau lam vit%c tren d6 thi G voi gia thie't rhng danh sach cac c~nh ella G dadUQc s~p theo thu t~ tang drtn va m6i l~n b6 sung mQt c(;lnh vao cay phaiki€m tra qll1h d6 co t(;lOchu trlnh voi t~p c~nh truoc d6 hay khong

Trang 38

Thuq,r roan Kruskal tim diy bao tntm ngdn nlult

Thuat tmin Kruskal:

37

I

I

sach cac cC;lnhClla G dL(c;ics~p thea thlt t~( tang clla trQng sf)

8~t T := 0; {T chlta cac cC;lnhclla diy baa trum trQng sf) tf)ithi~u }

8~t k:= 0; { k la sf) cC;lnhclla cay baa trum }

SUO'c 3: {8anh sf) thanh phjn lien thong dinh i }

for i := 1 to V dopCn[i] := i;

BU()'e 4: {Duy~t va chQn cac cC;lnh }

Repeat{ Gia sa ej = (xj, yj) }

if (pCn[xj] != pCn[yj]) then {ej khong t~lO chu trlnh vdicay T }

begin

T := T +ej; {B6 sung ej vao cay T }k:= k + 1; { Tang sf) qlnh cay baa trlltn }{ 8anh sf)lC;li thanh phjn lien thong ch((a xj, yj }nBigCn = Max(pCn[xjl,pCn[yj]);

nSmallCn = Max(pCn[xj],pCn[yj]);

for i := to V do

if (pCn[i] = nbigCn) then

pCn[il = nSmallCn;

Trang 39

Thu(it toan Kruskal tim diy bao trion ngdn nhat

Trong bLfoc 4, so lfin l~p khong qua Elfin Thao tac ki~m tra (T +ej)

co t~o chu trInh hay khong dL(<;jCth~fc hi~n trong m6i I~n I~p N€u (T + ej)khong t~lOthanh chu trlnh va ej dLf<;jcthem vao T thl ta phai c~p nh~t chI socac thanh phfin lien thong clla T cho phil h<;jpVI vi~c b6 sung ej gay ra haithanh phfin lien thong OL(<;jCnh~p thanh mot Yi~c c~p nh~t nay doi hoi toi

da Y bL(OCso sanh Do do a bL(oc nay th~(c hi~n toi da O(YxE) Ijn so sanh

Y~y so buoc so sanh t6ng cong la O(E Iog2E) +O(YxE)

Dinh 19 III:

Ch((ng minh:

Trang 40

Thw;'ittoan Kruskal tim ciiy bao trion ngdn nht{t 39

Phfrn thuan:

Gia Slt thu~t tmin Kruskal tim dlt<;5ccay baa trum trQng s6 t6i thi~ll

Ta chang minh G lien thong

Do dinh nghla cay baa trum, ta co:

Thea thu~t toan Kruskal (j bLtc;c5 co hai tntdng h<;5p:

+ N€u thanh cong (k = V-I):

Khi do T la mQt d6 thi khong co chu trinh va co V - I c(;lnh.Thea h~ qua III.I.b, s6 drnh trong G khi do tho~i:

V-I <VeT) ~ V (T E G)

Do do: VeT) = V

Thea dinh Iy III.2 ta suy ra T la mQt cay, va do dinh nghla caybaa trllm ta co T la diy baa trum clla G

+ N€u khong thanh cong (k 7:- V-I):

Tu thll~t toan Kruskal => T khong ch(ta (V - I) c(;lnh nhltngvJn t(;lOthanh mQt d6 thi can khong co chu trinh, do do T Ia mQt rung

Ngày đăng: 01/09/2023, 21:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w