Trong tài liệu này sẽ cho bạn những kiến thức về đồ cơ bản về thuyết đồ thị trong thị, bổ sung thêm cho bạn nhưng kiến thức quan trọng về đồ thị để cho bạn thêm logic phát triển ứng dụng sau này.
Nội dung trích xuất từ tài liệu:
Phần tích thiết kế giải thuật (phần 15)
CAÙC BAØI TOAÙN
ÑÖÔØNG ÑI
Baøi toaùn ñöôøng ñi
ngaén nhaát
0
A 4
8
2
8 2 3
7 1
C D
B
3 9
5 8
2 5
E F
1
Baøi toaùn ñöôøng ñi ngaén nhaát
Phaùt bieåu baøi toaùn
Cho G=(X, E) laø moät ñoà thò coù höôùng. Ta ñònh nghóa
aùnh xaï troïng löôïng nhö sau:
L: E ⎯⎯→ |R
e |⎯→ L(e)
Xeùt hai ñænh i, j ∈X, goïi P laø moät ñöôøng ñi töø ñænh i
ñeán ñænh j, troïng löôïng (hay giaù) cuûa ñöôøng ñi P ñöôïc
ñònh nghóa laø:
L(P) = ∑(e∈P) L(e)
Lyù thuyeát Ñoà thò - Caùc baøi toaùn ñöôøng ñi - Khoa CNTT - Ñaïi hoïc KHTN 3
Baøi toaùn ñöôøng ñi ngaén nhaát
Muïc ñích cuûa baøi toaùn ñöôøng ñi ngaén nhaát laø tìm ñöôøng
ñi P töø i ñeán j coù troïng löôïng nhoû nhaát trong soá taát caû
nhöõng ñöôøng ñi coù theå coù.
0
A 4
8
2
8 2 3
7 1
C D
B
3 9
5 8
2 5
E F
Lyù thuyeát Ñoà thò - Caùc baøi toaùn ñöôøng ñi - Khoa CNTT - Ñaïi hoïc KHTN 4
2
Baøi toaùn ñöôøng ñi ngaén nhaát
Nhaän xeùt:
Maëc duø baøi toaùn ñöôïc phaùt bieåu cho ñoà thò coù höôùng
coù troïng, nhöng caùc thuaät toaùn seõ trình baøy ñeàu coù
theå aùp duïng cho caùc ñoà thò voâ höôùng coù troïng baèng
caùch xem moãi caïnh cuûa ñoà thò voâ höôùng nhö hai caïnh
coù cuøng troïng löôïng noái cuøng moät caëp ñænh nhöng coù
chieàu ngöôïc nhau.
Lyù thuyeát Ñoà thò - Caùc baøi toaùn ñöôøng ñi - Khoa CNTT - Ñaïi hoïc KHTN 5
Baøi toaùn ñöôøng ñi ngaén nhaát
Nhaän xeùt:
Khi laøm baøi toaùn tìm ñöôøng ñi ngaén nhaát, chuùng ta coù
theå boû bôùt ñi caùc caïnh song song vaø chæ chöøa laïi moät
caïnh coù troïng löôïng nhoû nhaát trong soá caùc caïnh song
song.
Ñoái vôùi caùc khuyeân coù troïng löôïng khoâng aâm thì
cuõng coù theå boû ñi maø khoâng laøm aûnh höôûng ñeán keát
quaû cuûa baøi toaùn. Ñoái vôùi caùc khuyeân coù troïng löôïng
aâm thì coù theå ñöa ñeán baøi toaùn ñöôøng ñi ngaén nhaát
khoâng coù lôøi giaûi
Lyù thuyeát Ñoà thò - Caùc baøi toaùn ñöôøng ñi - Khoa CNTT - Ñaïi hoïc KHTN 6
3
Baøi toaùn ñöôøng ñi ngaén nhaát
Nhaän xeùt:
Do caùc nhaän xeùt vöøa neâu, coù theå xem döõ lieäu nhaäp
cuûa baøi toaùn ñöôøng ñi ngaén nhaát laø ma traän L ñöôïc
ñònh nghóa nhö sau:
Lij =
troïng löôïng caïnh nhoû nhaát noái i ñeán j neáu coù,
0 neáu khoâng coù caïnh noái i ñeán j.
Lyù thuyeát Ñoà thò - Caùc baøi toaùn ñöôøng ñi - Khoa CNTT - Ñaïi hoïc KHTN 7
Baøi toaùn ñöôøng ñi ngaén nhaát
Trong khi trình baøy caùc thuaät toaùn, ñeå cho toång quaùt, giaù
trò 0 trong ma traän L coù theå thay theá baèng +∞. Tuy nhieân
khi caøi ñaët chöông trình, chuùng ta vaãn coù theå duøng 0 thay
vì +∞ baèng caùch ñöa theâm moät soá leänh kieåm tra thích
hôïp trong chöông trình.
Lyù thuyeát Ñoà thò - Caùc baøi toaùn ñöôøng ñi - Khoa CNTT - Ñaïi hoïc KHTN 8
4
Nguyeân lyù Bellman
Nguyeân lyù Bellman
Haàu heát caùc thuaät toaùn tìm ñöôøng ñi ngaén nhaát ñeàu ñaët
cô sôû treân nguyeân lyù Bellman, ñaây laø nguyeân lyù toång
quaùt cho caùc baøi toaùn toái öu hoùa rôøi raïc, ñoái vôùi tröôøng
hôïp baøi toaùn ñöôøng ñi ngaén nhaát thì coù theå trình baøy
nguyeân lyù naøy nhö sau.
P1
i
P1’ j
L(P1’) < L(P1) ⇒ L(P1’⊕P2) < L(P1⊕P2)=L(P)
Lyù thuyeát Ñoà thò - Caùc baøi toaùn ñöôøng ñi - Khoa CNTT - Ñaïi hoïc KHTN 10
5
Nguyeân lyù Bellman
Giaû söû P laø ñöôøng ñi ngaén nhaát töø ñænh i ñeán ñænh j vaø k
laø moät ñænh naèm treân ñöôøng ñi P. Giaû söû P=P1⊕P2 vôùi P1
laø ñöôøng ñi con cuûa P töø i ñeán k vaø P2 laø ñöôøng ñi con
cuûa P töø k ñeán j. Nguyeân lyù Bellman noùi raèng P1 cuõng laø
ñöôøng ñi ngaén nhaát töø i ñeán k, vì neáu coù moät ñöôøng ñi
khaùc laø P1’ töø i ñeán k coù troïng löôïng nhoû hôn hôn P1 thì
P1’⊕P2 laø ñöôøng ñi ...
Phần tích thiết kế giải thuật (phần 15)
Số trang: 0
Loại file: pdf
Dung lượng: 411.51 KB
Lượt xem: 35
Lượt tải: 0
Xem trước 0 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tìm kiếm theo từ khóa liên quan:
kĩ thuật lập trình mẹo lập trình giải thuật trong lập trình giáo trình thiết kế giải thuật phần tích thiết kế giải thuậtTài liệu có liên quan:
-
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 251 0 0 -
Thủ thuật giúp giải phóng dung lượng ổ cứng
4 trang 223 0 0 -
142 trang 135 0 0
-
7 trang 113 0 0
-
78 trang 107 0 0
-
Đề cương môn học Lập trình Java
28 trang 55 0 0 -
Ngân hàng câu hỏi trắc nghiệm về lập trình web ASP.Net (C#)
11 trang 52 0 0 -
Chứng chỉ CNTT Quốc tế có thực sự quan trọng đối với bạn không?
2 trang 47 0 0 -
Bài giảng lập trình mạng với C#
117 trang 38 0 0 -
2 cách đơn giản để giảm dung lượng tập tin PDF
3 trang 37 0 0