Cây bao trùm của đồ thị G N,A là một cây trong G có chứa tất cả các nút của G còn số cung có thể ít hơn... Vậy, bài toán đường ngắn nhất là bài toán tìm đường ngắn nhất từ mọi nút i ∈N
Trang 1MÔ HÌNH MẠNG
Kết thúc chương này, sinh viên có thể:
1 Nắm được những khái niệm cơ bản của mô hình mạng
2 Hiểu được bài toán đường đi ngắn nhất và vận dụng vào kinh tế
3 Hiểu được bài toán cây bao trùm tối thiểu và vận dụng vào kinh tế
Chương 3
Trang 23.1 Các khái niệm cơ bản
3.2 Bài toán đường ngắn nhất
3.3 Bài toán cây bao trùm tối thiểu
Mục lục
Trang 3Trong đồ thị vô hướng, cung (i,j) = cung (j,i).
Một đường đi từ nút i1 đến nút it là bộ gồm t nút khác nhau i1,…,
it sao cho (ik, ik+1)∈A
Chu trình là bộ gồm t nút i1,…,it sao cho i1,…, it-1 là một đường đivới it=i1 và có ít nhất ba nút khác nhau
Đồ thị vô hướng được gọi là liên thông nếu ứng với mỗi cặp
3.1 Các khái niệm cơ bản
Trang 43.1 Các khái niệm cơ bản
Đồ thị G (N,A) là đồ thị có hướng nếu mỗi cung là một cặp có thứ tự Trong đồ thị có hướng, (i,j) ≠ (j,i).
Trong đồ thị có hướng có thể chứa cả hai cung (i,j) và (j,i), nên để xác định một đường đi phải nói rõ cả dãy nút i1,…,it và dãy cung a1,…,at-1
Đồ thị có hướng là liên thông nếu đồ thị vô hướng tương ứng là liên thông.
Cây là một đồ thị vô hướng, liên thông và không có chu trình.
Cây bao trùm của đồ thị G (N,A) là một cây trong G có chứa tất cả các nút của G còn số cung có thể ít hơn Do vậy, cây bao trùm là cây Gs(Ns, As) có Ns=N và As⊂ A
Trang 53.2 Bài toán đường ngắn nhất
Shortest path problem
3.2.1 Đặt vấn đề
3.2.2 Mô tả dạng toán học
3.2.3 Thuật toán đặt nhãn
Trang 63.2.1 Đặt vấn đề
Công ty ABC có một vài dự án xây dựng nằm khắp nơi trong địa
bàn tỉnh Hàng ngày công ty có nhiều chuyến xe đưa công nhân, chuyên chở thiết bị và vật tư đi lại giữa trụ sở công ty và các công
trường xây dựng
Công ty muốn xác định các tuyến đường ngắn nhất nhằm tối thiểu
khoảng cách di chuyển từ văn phòng công ty đến các công
trường
Các tuyến đường mà phương tiện của công ty đi lại hằng ngày có
thể được mô tả bằng sơ đồ mạng như sau:
Trang 83.2.2 Mô tả dạng toán học của bài toán
Cho một đồ thị có hướng G (N,A) Mỗi cung có độ dài cij> 0
và cũng chính là khoảng cách giữa hai nút
Để tìm đường ngắn nhất từ một nút i đến nút k bất kỳ (k∈N)
chính là tìm đường ngắn nhất từ nhiều hoặc thậm chí mọi nút
khác nút i đến nút k
Vậy, bài toán đường ngắn nhất là bài toán tìm đường
ngắn nhất từ mọi nút i ∈N đến một nút k∈N cho trước
trên đồ thị G(N,A).
Trang 103.2.3 Các bước của thuật toán đặt nhãn
Bước 1: Đầu tiên, giả sử nút 1 có nhãn cố định [0,S].
Bước 2: Đặt nhãn tạm thời cho các nút liên thông trực tiếp từ nút 1.
Gọi N1 là tập các nút có nhãn tạm thời với nút 1
Giả sử nút i ∈ N1 là nút liên thông trực tiếp với nút 1 sẽ cónhãn tạm thời là [c1i, 1].
Tiến hành đặt nhãn cố định cho nút k∈N1 thỏa mãn điềukiện c1k= min {c1i}, i∈N1
Loại nút k ra khỏi nút có nhãn tạm thời
Trang 113.2.3 Các bước…
Bước 3: Xét các nút liên thông với nút k:
Đặt nhãn tạm thời cho những nút liên thông với nút k vàchưa đặt nhãn
Điều chỉnh nhãn tạm thời cho tất cả các nút theo nguyên tắc: giả sử nút j đang xét, liên thông với nút k bằng cung (k,j) thì thay thế giá trị khoảng cách của nhãn nút j bằng min {c1j, c1k + ckj}
Gọi Ntt là tập các nút có nhãn tạm thời
Xét các c1j với ∀j ∈ Ntt giả sử c1m= min {c1j}
Như vậy, đặt nhãn cố định cho nút m
Tiếp tục qui trình này cho đến khi tất cả các nút có nhãn cố định
Trang 12Tiếp tục di chuyển ngược chiều qua mạng sẽ tìm thấy đường ngắn nhất từ nút 1 đến nút đang đề cập.
Trang 13128Ứng dụng thuật toán cho mạng công ty ABC
[0,S]
Trang 14129Ứng dụng…
Bước 2: Tập các nút liên thông với nút 1 là nút 2 và 3 Đặt nhãn
tạm thời cho các nút 2, 3 lần lượt là [15,1], [10,1] Nút 3
[0,S]
[15,1]
Trang 15Ứng dụng…
Bước 3: Các nút liên thông với nút 3 là 2 và 5 Đặt nhãn tạm thời
cho nút 5 [14,3]; Điều chỉnh nhãn tạm thời cho nút 2 thành
[0,S]
[13,3]
[14,3]
Trang 17Ứng dụng…
Xét các nút liên thông với nút 5 Đặt nhãn tạm thời cho nút 6
[16,5], Điều chỉnh nhãn tạm thời cho nút 4 [18,5] Xét 3 nút
5
2
64
Trang 19Ứng dụng…
Cuối cùng, chỉ có nút 7 liên thông với nút 4 Vì
c14+5=18+5=23>22 nên không điều chỉnh nhãn của nút 7 Nút
Trang 203.2.3 Thuật toán đặt nhãnĐường ngắn nhất từ nút 1 đến các nút khác
22 1-3-5-6-7
7
16 1-3-5-6
6
14 1-3-5
5
18 1-3-5-4
4
10 1-3
3
13 1-3-2
2
Khoảng cách bằng km Đường ngắn nhất từ nút 1
Nút
Trang 213.3 Bài toán cây bao trùm tối thiểu
(Spanning Tree Problem)
3.2.1 Đặt vấn đề
3.2.2 Mô tả dạng toán học của bài toán
3.2.3 Thuật toán cây bao trùm tối thiểu
Trang 223.3.1 Đặt vấn đề
Trung tâm máy tính khu vực phải lắp đặt đường cáp truyền
thông để liên kết 5 người sử dụng máy tính với một máy chủ
trung tâm Việc lắp đặt là một công việc tốn kém Nhằm giảm
chi phí, nhóm quản trị mạng trung tâm muốn tổng chiều dài
đường cáp truyền thông càng ngắn càng tốt
Trong mạng, máy tính trung tâm có thể được kết nối trực tiếp
với từng người sử dụng và cho phép những người sử dụng khác
tham gia vào hệ thống bằng cách liên kết với những người sử
dụng đã kết nối với hệ thống
Mạng truyền thông của Trung tâm máy tính khu vựcnhư sau:
Trang 2340
Trang 243.3.2 Mô tả dạng toán học của bài toán
Một đồ thị vô hướng G (N,A) Mỗi cung có độ dài cij>0, độ
dài của mỗi cung chính là khoảng cách
Để tìm cây bao trùm tối thiểu của đồ thị G là tìm một cây Gs
(Ns, As) thỏa mãn min ∑ cij, ∀(i,j) ∈As, As ⊂ A
Vậy, bài toán cây bao trùm tổi thiểu là bài toán tìm tập
các cung liên thông tất cả các nút với tổng khoảng cách
trên cung nhỏ nhất.
Trang 253.3.3 Thuật toán cây bao trùm tối thiểu
Tư tưởng của thuật toán là xem xét các nút và đưa từng nút vào
tập các nút Ns
Thuật toán cây bao trùm tối thiểu gồm các bước sau:
Gọi NC là tập các nút đã được chọn để đưa vào NS và NU là tập
các nút còn lại
(i,k) với k∈NU Chọn cung nhỏ nhất, giả sử cij=min(cik), bổ
Cung (i,j) ∈A
Trang 263.3.3 Thuật toán cây bao trùm tối thiểu
(m,k) với m ∈NC và k∈NU có giá trị cung nhỏ nhất Do đó,
cung (m,k) sẽ thuộc cây bao trùm tối thiểu Nếu có hai hoặc
nhiều cung có giá trị cung đều nhỏ bằng nhau thì tùy ý chọn
Trang 27Ứng dụng thuật toán Bước 1:
cung (1,2) thuộc cây
bao trùm tối thiểu
40
Trang 28cung (1,4) thuộc cây
bao trùm tối thiểu
40
Trang 2940
Trang 3040
Trang 3140
Trang 3240
Trang 333.4 Bài toán dòng cực đại
(Maximum flow problem)
3.4.1 Đặt vấn đề
3.4.2 Mô tả dạng toán học của bài toán
3.4.3 Thuật toán dòng cực đại
Trang 343.4.1 Đặt vấn đề: Mạng giao thông
Chúng ta cùng xem xét hệ thống đường cao tốc liên tỉnh Bắc
Nam đi qua Thành phố A Dòng phương tiện di chuyển Bắc
Nam đạt mức 1500 phương tiện/giờ vào thời gian cao điểm Để
thực hiện chương trình duy tu bảo dưỡng đường cao tốc vào
mùa hè, theo đó cần thiết phải tạm thời đóng một số làn xe và
giới hạn tốc độ thấp hơn Các tuyến đường thay thế tùy chọn
bao gồm các đường cao tốc khác và các đường nội thị Do sự
khác biệt về giới hạn tốc độ và mô hình giao thông, tải năng
trên dòng sẽ khác nhau, phụ thuộc vào các con đường nội thị và
tuyến đường sử dụng Mạng giao thông đề xuất với tải năng
trên dòng của mỗi cung được giới thiệu ở Slide sau
Trang 352 3
0 0
3
0 0
Trang 363.4.1 Đặt vấn đề
Xem xét một mạng có một nút nguồn (nút cung) và một nút
hút (nút cầu) Bài toán dòng cực đại đưa ra vấn đề: Lượng
dòng cực đại như phương tiện vận tải, dữ liệu, chất lỏng,…
có thể đi vào và đi ra mạng này trong một thời gian nhất
định
Lượng dòng phụ thuộc vào ràng buộc tải năng trên tất cả
các cung của mạng Đó là giới hạn tối đa hay giới hạn tải
năng trên dòng của mỗi cung
Kỹ thuật dòng cực đại cho phép chúng ta xác định lượng tối
đa có thể di chuyển qua một mạng
Trang 373.4.2 Mô tả dạng toán học của bài toán
Một đồ thị có hướng G (N,A) có tải năng tối đa trên các cung
là uij , (i,j)∈A, có thể bằng +∞ Dòng thực tế trên các cung
là xij, 0≤ xij ≤ uij, (i,j)∈A Giả sử so và si là hai nút đặc biệt,
gọi tương ứng là nút nguồn và nút hút
Bài toán dòng cực đại là đi tìm xij thỏa mãn max ∑xi,si, i∈N
Chính vì vậy, bài toán dòng cực đại là bài toán đi tìm dòng
thực tế trên cung sao cho tổng dòng đi vào nút hút là cực
Trang 383.4.3 Thuật toán dòng cực đại
Bước 1: Tìm bất kỳ một đường đi từ nút nguồn đến nút hút có các
tải năng trên dòng lớn hơn 0 đối với tất cả các cung theo
đường đi Nếu không có đường đi nào như vậy, phương án tối
ưu đã đạt được
Bước 2: Tìm tải năng nhỏ nhất của cung theo đường đi lựa chọn
theo bước 1: Pf
Bước 3: Đối với đường đi lựa chọn ở bước 1, giảm tải năng dòng
trên tất cả cung theo hướng đi bằng một lượng Pf và tăng tải
năng dòng trên tất cả cung theo hướng đi ngược bằng một
lượng Pf
Quay lại bước 1
Bước 4: So sánh tải năng cuối và đầu tiên để xác định dòng di
chuyển và lập mô hình mạng cuối cùng
Trang 392 3
0 0
3
0 0
¶
Trang 40¶
Trang 41Pf=5
Trang 422 Giảm 5 Tăng 5
Trang 430 5
Trang 442 3
0 3
3
0 5
Trang 452 0
3 3
3
0 5
Trang 462 0
3 3
3
0 5
Trang 472 0
3 3
3
0 5
Tối ưu
Trang 482 0
3 3
3
0 5
2
2 3
0 0
3
0 0
Trang 493
1
7