Bài giảng Toán rời rạc: Bài 9 - TS. Nguyễn Văn Hiệu
Số trang: 21
Loại file: pdf
Dung lượng: 841.76 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài 9 "Bài toán đường đi ngắn nhất trên đồ thị" thuộc bài giảng Toán rời rạc cung cấp cho các bạn những kiến thức về bài toán đường đi ngắn nhất trên đồ thị, thuật toán Ford-Bellman, thuật toán Dijkstra, thuật toán Floyd.
Nội dung trích xuất từ tài liệu:
Bài giảng Toán rời rạc: Bài 9 - TS. Nguyễn Văn Hiệu BÀI 9BÀI TOÁN ĐƯỜNG ĐI NGẮN NHẤT TRÊN ĐỒ THỊ Giáo viên: TS. Nguyễn Văn Hiệu Email: nvhieuqt@dut.udn.vn 1Nội dung• Giới thiệu 0• Bài toán 8 A 4• Thuật toán Ford-Bellman 2• Thuật toán Dijkstra 8 7 2 1 3 B C D• Thuật toán Floyd 3 9 5 8 2 5 E F Nguyễn Văn Hiệu, 2012, Discrete Mathematics 2Giới thiệu Có nhiều cách đi giữa hai điểm Chọn ngắn nhất theo d(u,v)=? nghĩa cự ly, Chọn đường đi nhanh nhất theo nghĩa thời gian G = (V , E) mi j =1 Chọn đường đi rẽ nhất theo chi phí, Chọn gửi dữ liệu nhanh mi j >0 nhất. Nguyễn Văn Hiệu, 2012, Discrete Mathematics 3Bài toán Cho G = (V, E) là đồ thị có trọng lượng. s ∈ V và t ∈ V. Hãy tìm đường đi có tổng trọng lượng nhỏ • Đường đi ngắn nhất từ Etna đến nhất từ s đến t. Oldtown là: Etna – Bangor – Orono – OldTown • Đường đi ngắn nhất từ Hermae đến Etna là: Hermae – Hampdea – Bangor - Etna Nguyễn Văn Hiệu, 2012, Discrete Mathematics 4Bài toánĐiều kiện bài toán Phải tồn tại đường đi từ s Trong đồ thị không tồn tại đến t: chu trình âm Đồ thị vô hướng liên thông Đồ thị có hướng: không tồn Đồ thị có hướng liên thông tại chu trình âm. mạnh Đồ thị vô hướng: không tồn Đồ thị vô hướng, s và t nằm tại cạnh âm. trong cùng một thành phần liên thông Đồ thị có hướng, có tồn tại đường đi từ s đến tBài toánNhận xét Nếu v là đỉnh trung gian trên đường đi ngắn nhất từ s đến t thì đường đi từ s đến v phải là ngắn nhất và đường đi từ v đến t cũng phải là ngắn nhất. Do đó, để tối ưu, người ta mở rộng bài toán tìm đường đi ngắn nhất từ một đỉnh đến tất cả các đỉnh còn lại của đồ thị.Thuật toán Ford-BellmanÝ tưởng• Dò tìm bằng cách thử đi qua các đỉnh trung gian Nếu phát hiện đường đi qua đỉnh trung gian ngắn hơn đường đi hiện tại thì sẽ cập nhật đường đi mới, đồng thời chỉnh sửa các thông tin liên quan.• Sử dụng hai mảng – Mảng d[v]: Lưu trữ độ dài đường if d[v] > d[u] + c[u,v] then đi ngắn nhất hiện tại từ s đến v. { d[v] = d[u] + c[u,v]; – Mảng T[v]: Lưu trữ đỉnh nằm Truoc[v] = u; } trước v trên đường đi ngắn nhất hiện tại.Thuật toán Ford-Bellman• * Khởi tạo * for v V d[v]:= c[s,v]; T[v]:=s;• * Bắt đầu * d[s]:=0; for k:=1; k ≤ n-2 k 1 2 3 4 5 for v V{ s} for u V 0,1 1,1 ,1 ,1 3,1 if d[v] > d[u] + c[u,v] d[v]:=d[u]+c[u,v]; 1 0,1 1,1 4,2 4,2 -1,3 T[v]:=u; 2 0,1 1,1 4,2 3,5 -1,3 3 0,1 1,1 4,2 3,5 -1,3Thuật toán Ford-Bellman k 1 2 3 4 5 6 0,1 1,1 ,1 ,1 ,1 ,1 1 0,1 1,1 6 ,2 3 ,2 7,4 7,3 2 0,1 1,1 4 ,4 3 ,2 7,4 5,3 3 0,1 1,1 4 ,4 3 ,2 6,6 5,3S=1 4 0,1 1,1 4 ,4 3 ,2 6,6 5,3Thuật toán Ford-BellmanNhận xét: Cải tiến:• Áp dụng được cho mọi • Không thể cải tiến tốt trường hợp hơn cho trường hợp• Chi phí tính toán lớn do tổng quát dùng 3 vòng lặp lồng nhau • Chỉ có thể làm tốt hơn• Thường lãng phí một số bước sau cùng cho một số trường hợp riêng ...
Nội dung trích xuất từ tài liệu:
Bài giảng Toán rời rạc: Bài 9 - TS. Nguyễn Văn Hiệu BÀI 9BÀI TOÁN ĐƯỜNG ĐI NGẮN NHẤT TRÊN ĐỒ THỊ Giáo viên: TS. Nguyễn Văn Hiệu Email: nvhieuqt@dut.udn.vn 1Nội dung• Giới thiệu 0• Bài toán 8 A 4• Thuật toán Ford-Bellman 2• Thuật toán Dijkstra 8 7 2 1 3 B C D• Thuật toán Floyd 3 9 5 8 2 5 E F Nguyễn Văn Hiệu, 2012, Discrete Mathematics 2Giới thiệu Có nhiều cách đi giữa hai điểm Chọn ngắn nhất theo d(u,v)=? nghĩa cự ly, Chọn đường đi nhanh nhất theo nghĩa thời gian G = (V , E) mi j =1 Chọn đường đi rẽ nhất theo chi phí, Chọn gửi dữ liệu nhanh mi j >0 nhất. Nguyễn Văn Hiệu, 2012, Discrete Mathematics 3Bài toán Cho G = (V, E) là đồ thị có trọng lượng. s ∈ V và t ∈ V. Hãy tìm đường đi có tổng trọng lượng nhỏ • Đường đi ngắn nhất từ Etna đến nhất từ s đến t. Oldtown là: Etna – Bangor – Orono – OldTown • Đường đi ngắn nhất từ Hermae đến Etna là: Hermae – Hampdea – Bangor - Etna Nguyễn Văn Hiệu, 2012, Discrete Mathematics 4Bài toánĐiều kiện bài toán Phải tồn tại đường đi từ s Trong đồ thị không tồn tại đến t: chu trình âm Đồ thị vô hướng liên thông Đồ thị có hướng: không tồn Đồ thị có hướng liên thông tại chu trình âm. mạnh Đồ thị vô hướng: không tồn Đồ thị vô hướng, s và t nằm tại cạnh âm. trong cùng một thành phần liên thông Đồ thị có hướng, có tồn tại đường đi từ s đến tBài toánNhận xét Nếu v là đỉnh trung gian trên đường đi ngắn nhất từ s đến t thì đường đi từ s đến v phải là ngắn nhất và đường đi từ v đến t cũng phải là ngắn nhất. Do đó, để tối ưu, người ta mở rộng bài toán tìm đường đi ngắn nhất từ một đỉnh đến tất cả các đỉnh còn lại của đồ thị.Thuật toán Ford-BellmanÝ tưởng• Dò tìm bằng cách thử đi qua các đỉnh trung gian Nếu phát hiện đường đi qua đỉnh trung gian ngắn hơn đường đi hiện tại thì sẽ cập nhật đường đi mới, đồng thời chỉnh sửa các thông tin liên quan.• Sử dụng hai mảng – Mảng d[v]: Lưu trữ độ dài đường if d[v] > d[u] + c[u,v] then đi ngắn nhất hiện tại từ s đến v. { d[v] = d[u] + c[u,v]; – Mảng T[v]: Lưu trữ đỉnh nằm Truoc[v] = u; } trước v trên đường đi ngắn nhất hiện tại.Thuật toán Ford-Bellman• * Khởi tạo * for v V d[v]:= c[s,v]; T[v]:=s;• * Bắt đầu * d[s]:=0; for k:=1; k ≤ n-2 k 1 2 3 4 5 for v V{ s} for u V 0,1 1,1 ,1 ,1 3,1 if d[v] > d[u] + c[u,v] d[v]:=d[u]+c[u,v]; 1 0,1 1,1 4,2 4,2 -1,3 T[v]:=u; 2 0,1 1,1 4,2 3,5 -1,3 3 0,1 1,1 4,2 3,5 -1,3Thuật toán Ford-Bellman k 1 2 3 4 5 6 0,1 1,1 ,1 ,1 ,1 ,1 1 0,1 1,1 6 ,2 3 ,2 7,4 7,3 2 0,1 1,1 4 ,4 3 ,2 7,4 5,3 3 0,1 1,1 4 ,4 3 ,2 6,6 5,3S=1 4 0,1 1,1 4 ,4 3 ,2 6,6 5,3Thuật toán Ford-BellmanNhận xét: Cải tiến:• Áp dụng được cho mọi • Không thể cải tiến tốt trường hợp hơn cho trường hợp• Chi phí tính toán lớn do tổng quát dùng 3 vòng lặp lồng nhau • Chỉ có thể làm tốt hơn• Thường lãng phí một số bước sau cùng cho một số trường hợp riêng ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Toán rời rạc Toán rời rạc Tài liệu Toán rời rạc Đường đi ngắn nhất Bài toán đường đi ngắn nhất Thuật toán FloydGợi ý tài liệu liên quan:
-
Đề thi kết thúc môn học Nhập môn Toán rời rạc năm 2020-2021 có đáp án - Trường ĐH Đồng Tháp
3 trang 357 14 0 -
Kiến thức tổng hợp về Toán rời rạc: Phần 1
151 trang 257 0 0 -
Giáo trình Toán rời rạc: Phần 1 - Nguyễn Gia Định
67 trang 231 0 0 -
Giáo trình Toán rời rạc: Phần 1 - Đỗ Đức Giáo
238 trang 217 0 0 -
Giáo trình Toán rời rạc (Nghề: Công nghệ thông tin - Cao đẳng) - Trường Cao đẳng Cộng đồng Đồng Tháp
107 trang 139 0 0 -
Bài giảng Toán rời rạc: Chương 5 - Nguyễn Quỳnh Diệp
84 trang 79 0 0 -
Giáo trình Toán rời rạc - TS. Võ Văn Tuấn Dũng
143 trang 72 0 0 -
Bài giảng Toán rời rạc: Chương 2 - ThS. Trần Quang Khải
27 trang 71 0 0 -
Giáo trình Toán rời rạc: Phần 1 - Vũ Đình Hòa
84 trang 67 0 0 -
Tóm tắt bài giảng Toán rời rạc - Nguyễn Ngọc Trung
51 trang 59 0 0