... 3. Bài toán tìmđườngđi ngắn nhất.
Trương Mỹ Dung
33
CHƯƠNG 3.
BÀI TOÁN TÌMĐƯỜNGĐI NGẮN
NHẤT.
Những bài toán tìmđườngđi trong các đồ thò (đặc biệt là tìmđườngđi ngắn nhất) ...
Chương 3. Bài toán tìmđườngđi ngắn nhất.
Trương Mỹ Dung
34
Và loại bài toán sau được xét :
♦ Tìmđườngđi ngắn nhất từ một đỉnh đến các đỉnh còn lại,
♦
Tìm đườngđi ngắn nhất giữa các ... vận chuyễn, Chi phí xây dựng, thời gian cần thiết để đi
khắp,…
CHÚ Ý. Bài toán tìmđườngđi ngắn nhất tương tự với bài toán tìmđườngđi dài nhất.
Những thuật toán khác nhau theo những...
... huống như sau: để đi từ địa đi m A
đến địa đi m B trong thành phố, có nhiều đường đi, nhiều cách đi; có lúc ta chọn đường
đi ngắn nhất (theo nghĩa cự ly), có lúc lại cần chọn đườngđi nhanh nhất ... với phần mềm hỗ trợ tìmđườngđi ngắn nhất, người dùng
chỉ cần đưa ra vị trí xuất phát và đi m cần đến, chương trình sẽ đưa ra con đường ngắn
nhất từ vị trí xuất phát đến đi m đích cho người ... chọn một hành trình “tiết kiệm” ta có thể sử
dụng thuật toán tìmđườngđi ngắn nhất và cho ra sản phẩm phần mềm hổ trợ tìm
đườngđi ngắn nhất cho người dùng.
Nội dung nguyên tắc: Sử dụng đối...
...
nghĩa độ dài đuờngđi như là số cung của đường đi.
Bài toán tìmđườngđi ngắn nhất trên đồ thị dưới dạng tổng quát có thể được phát
biểu dưới dạng tổng quát như sau : Tìmđườngđi có độ dài nhỏ ... tại đườngđi từ s đến t thì ta đặt d(s,t)=
∞
từ đó ta
thấy chu trình trong đồ thị có độ dài dương,thì trong đườngđi ngắn nhất không có
đỉnh nào lặp lại (đường đi như thế gọi là đườngđi cơ ... O(n
2
).
Định lý được chứng minh.
Khi đã tìm được độ dài đườngđi ngắn nhất d[v] thì đưòngđi này có thể tìm dựa
vào nhãn Trước[v],v
∈
V.
Thí dụ 1: Tìmđườngđi ngắn nhất từ đỉnh 1 đến các đỉnh còn...
...
nghĩa độ dài đuờngđi như là số cung của đường đi.
Bài toán tìmđườngđi ngắn nhất trên đồ thị dưới dạng tổng quát có thể được phát
biểu dưới dạng tổng quát như sau : Tìmđườngđi có độ dài nhỏ ... dài đườngđi mà ta tìm thấy cho đến thời đi m đang xét
từ a đến v.
Khởi tạo, d
v
=
∞
, ∀v ∈ V \{a}, d
a
= 0.
p
v
: là đỉnh trước của đỉnh v trên đườngđi ngắn nhất từ a đến b.
Đường đi ... tại đườngđi từ s đến t thì ta đặt d(s,t)=
∞
từ đó ta
thấy chu trình trong đồ thị có độ dài dương,thì trong đườngđi ngắn nhất không có
đỉnh nào lặp lại (đường đi như thế gọi là đườngđi cơ...
...
nghĩa độ dài đuờngđi như là số cung của đường đi.
Bài toán tìmđườngđi ngắn nhất trên đồ thị dưới dạng tổng quát có thể được phát
biểu dưới dạng tổng quát như sau : Tìmđườngđi có độ dài nhỏ ... tại đườngđi từ s đến t thì ta đặt d(s,t)=
∞
từ đó
ta thấy chu trình trong đồ thị có độ dài dương,thì trong đườngđi ngắn nhất không
có đỉnh nào lặp lại (đường đi như thế gọi là đườngđi cơ ... dài đườngđi mà ta tìm thấy cho đến thời đi m đang xét
từ a đến v.
Khởi tạo, d
v
=
∞
, ∀v ∈ V \{a}, d
a
= 0.
p
v
: là đỉnh trước của đỉnh v trên đườngđi ngắn nhất từ a đến b.
Đường đi...
... đích.
Kí hiệu:
∆ là đườngđi ngắn nhất từ A đến B tại thời đi m đang xét.
d(∆) là độ dài đườngđi ngắn nhất từ A đến B tại thời đi m đang xét.
α = |A|, β = |B|
Để tìmđườngđi ngắn nhất giữa hai ... dài đườngđi mà ta tìm thấy cho đến thời đi m đang xét từ a đến v.
Khởi tạo, d
v
=
∞
,∀v ∈ V \{a}, d
a
= 0.
p
v
: là đỉnh trước của đỉnh v trên đườngđi ngắn nhất từ a đến b. Đườngđi ngắn ...
α
.
β
.O(|V|
2
) (Ở đây giải thuật để tìmđườngđi ngắn nhất giữa hai cặp đỉnh ở B3
là giải thuật Dijkstra với độ phức tạp O(|V|
2
)).
Khái niệm Cây đườngđi ngắn nhất
Cây đườngđi ngắn nhất T
(a)
=(V
(a)
,E’)...
... lùi ) để tìm lối đi. Trong khi tìm lối đi, lối đi có thể đi được nếu
không phải là tường ( giá trị 0 trong ma trận ). Ngược lại là tường buộc
phải quay lui. Trong lúc đi, tại những đi m liên ... Th.s Nguyễn Thành Thủy
- Tìmđi u kiện dừng của bài toán
- Tìm dạng tổng quát của bài toán
II. GIẢI QUYẾT VẤN ĐỀ
1. Cách tìmđườngđi trong thuật toán mê cung:
Khởi tạo lối đi đầu tiên tại cửa vào, ... thống gồm nhiều hành lang nối với nhau. Bài
toán tìmđườngđi trong mê cung là đứng từ vị trí s ( bên trong mê
cung hoặc cửa vào ) tìmđườngđi đến vị trí e ( cửa ra hoặc bên trong
mê cung)....
...
GPS thì việc tìmđườngđi từ đi m này đến đi m kia hoàn toàn có thể, kết hợp với một
cái bản đồ số và thiết bị hiện thị( như các máy thu GPS, đi n thoại di động…) một đường
đi trực quan sẽ ... các đi m trong hệ tạo độ 10
Hình 2-4 Biểu diến đường nối các đi m 11
Hình 2-5 Miền giới hạn 12
Tìm hiều tích hợp bản đồ số, hệ thống GPS trên đi n thoại di động và bài toán tìmđườngđi ... của các đám
mây lớn, thời đi m phóng sét và cường độ của sét.
• Tìmđường
Tìm hiều tích hợp bản đồ số, hệ thống GPS trên đi n thoại di động và bài toán tìmđườngđi ngắn nhất
http://www.ebook.edu.vn...
... tồn tại đường
đi ngắn nhất, tìmđườngđi ngắn nhất đó và lưu vào tệp
DIJKSTRA.OUT có cấu trúc:
Dòng đầu : “NO” nếu không tồn tại
Dòng đầu : “YES” nếu tồn tại
Dòng 2: L(z) độ dài đườngđi ngắn ... writeln('NO')
else
CÀI ĐẶT THUẬT TOÁN DIJKSTRA TÌM
ĐƯỜNG ĐI NGẮN NHẤT BẰNG CHƯƠNG
TRÌNH PASCAL
Thuật toán Dijkstra.
Chương trình thuật toán tìmđườngđi ngắn nhất từ đỉnh a
đến đỉnh z.
Dữ liệu ... tại
Dòng 2: L(z) độ dài đườngđi ngắn nhất
Dòng 3: a > z
1
>z
2
>…z
n
>z là đường
đi ngắn nhất
Chương trình: (DIJKSTRA.PAS)
PROGRAM thuat_toan_Dijkstra;
Uses crt;
Const
max=100;
...
... có tồn tại đường
đi ngắn nhất, tìmđườngđi ngắn nhất đó và lưu vào tệp
FLOYD-WARSHALL.OUT có cấu trúc:
D ma trận độ dài đườngđi ngắn nhất giữa
mọi cặp đỉnh
…
P ma trận định đườngđi ngắn nhất ... FLOYD-WARSHALL TÌM
ĐƯỜNG ĐI NGẮN NHẤT GIỮA MỌI CẶP ĐỈNH
TRONG ĐỒ THỊ CÓ HƯỚNG CÓ TRỌNG SỐ BẰNG
CHƯƠNG TRÌNH PASCAL.
Thuật toán Floyd-warshall.
Chương trình dùng thuật toán Floyd-warshall tìm đường
đi ngắn...
... v, gọi là đỉnh nguồn. Tìmđườngđi ngắn nhất từ đỉnh v đến các đỉnh còn lại của G. (Tức là tìmđường đi
từ v đến các đỉnh còn lại với tổng các giá của các cạnh trên đườngđi là nhỏ nhất). Nếu ... làm
quen với những thuật toán kinh đi n.
Dijkstra là thuật toán định tuyến đơn giản để tìmđườngđi ngắn nhất giữa 2 đi m bất kỳ. Không mất tính tổng
quát, ta coi mỗi đi m (nút mạng) là một đỉnh của ... đỉnh trên đườngđi ngắn nhất để có thể xây dựng lại đườngđi này từ đỉnh nguồn đến
các đỉnh khác, ta dùng một mảng P. Mảng này sẽ lưu P[u] = w với đỉnh u là đỉnh trước của đỉnh w trên đường
...
... CityChrom[10];
BÀI TOÁN TÌMĐƯỜNGĐI NGẮN NHẤT
(The Traveling Salesman Problem - TSP)
I/ GIỚI THIỆU BÀI TOÁN
Đây là một bài toán cổ đi n: Một thương gia phải đi qua nhiều thành phố. Hãy vạch lộ
trình đi qua tất ... thành phố đó sao cho quãng đườngđi là ngắn nhất. Biết rằng mỗi
thành phố chỉ đi qua một lần.
Bài toán TSP khó giải quyết, vì để tìm được lời giải ta phải tiến hành tìm kiếm trên tất cả
lộ trình ... thuật khác có thể rút ngắn phạm vi tìm kiếm trong một số đi u kiện nhưng vẫn chỉ là sự
hoàn thiện của giải pháp tìm kiếm toàn diện. Khoa học máy tính vẫn chưa tìm ra được một
giải thuật cụ thể...
... T:TJpegimage;
begin
SaveDialog1.DefaultExt:='*.JPG';
156
PHẦN PHỤ LỤC
Phụ lục 1
Unit chứa khai báo các cấu trúc dữ liệu cho đồ thị
và cài đặt thủ tục tìmđườngđi ngắn nhất theo thuật toán
unit Func_DoThi;
interface
type
TypeToaDo=record
x,y:integer;
...