Được nghiên cứu trong vận trù học (operations research) và khoa học máy tính lý thuyết (theoretical computer science). Nguồn gốc thật sự: unknown[r]
(1)Giảng viên: ThS Trần Quang Khải
TOÁN RỜI RẠC
Chương 6:
(2)Toán rời rạc: 2011-2012
Nội dung (phần 3)
1 Bài tốn tìm đường ngắn nhất:
Giải thuật Dijsktra.
2 Giới thiệu toán TSP.
(3)Toán rời rạc: 2011-2012
Giảng viên: ThS Trần Quang Khải
Bài tốn tìm đường ngắn nhất
(4)Toán rời rạc: 2011-2012
Đồ thị có trọng số
Chương 6: Đồ thị
Weighted graph
(5)Tốn rời rạc: 2011-2012
Đồ thị có trọng số
Liên quan:
Thời gian.
Khoảng cách.
Chi phí.
…
(6)Toán rời rạc: 2011-2012
Đồ thị có trọng số
Độ dài (length) đường có trọng số:
Tổng trọng số các cạnh trên đường đi.
Đường ngắn nhất: đường có độ dài nhỏ nhất số đường có.
Lưu ý:
Khác với khái niệm độ dài tổng số cạnh.
(7)Toán rời rạc: 2011-2012
Bài toán tìm đường ngắn nhất
Shortest path problems:
Tìm đường có độ dài nhỏ đỉnh s (source) t (destination).
Các thuật tốn:
Dijsktra (giữa đỉnh, khơng cạnh âm).
Floyd-Warshall (mọi cặp đỉnh).
Bellman-Ford (có cạnh âm).
(8)Tốn rời rạc: 2011-2012
Bài tốn tìm đường ngắn nhất
Nhận xét:
Có thể bỏ bớt cạnh bội, giữ lại cạnh có trọng số nhỏ nhất.
Có thể bỏ khuyên có trọng số khơng âm.
Nếu có khun trọng số âm: khơng có lời giải.
(9)Tốn rời rạc: 2011-2012
Bài tốn tìm đường ngắn nhất
Biểu diễn đồ thị dạng ma trận kề:
aij =
Trọng số cạnh nhỏ nối i đến j nếu có.
nếu khơng có cạnh nối i đến j nếu có.
Phải kiểm tra giá trị 0 trong ma trận.
Tổng quát hơn: thay 0 bằng +∞.
(10)Toán rời rạc: 2011-2012
Nguyên lý Bellman
Gọi P là đường ngắn từ i đến j, k là đỉnh nằm i và j trên P thì:
Đường P1 từ i đến k cũng đường ngắn
nhất từ i đến k.
Đường P2 từ k đến j cũng đường ngắn
nhất từ k đến j.
(11)Toán rời rạc: 2011-2012
Thuật toán Dijsktra
Ý tưởng:
Giải thuật Dijsktra chủ yếu dựa nguyên lý gán
nhãn (labeling).
Tác giả: Edsger Dijkstra Công bố: 1959
Chương 6: Đồ thị 11
(12)Toán rời rạc: 2011-2012
Thuật toán Dijsktra
Điều kiện:
Đồ thị G = (V, E).
Có hướng vơ hướng.
Khơng có cạnh âm.
(13)Tốn rời rạc: 2011-2012
Thuật toán Dijsktra
Ý tưởng:
Dựa dãy bước lặp:
Bắt đầu từ tập chứa đỉnh xuất phát a.
Mỗi bước lặp thêm đỉnh vào tập đỉnh ghé qua.
Gán nhãn cho đỉnh bước lặp:
Nhãn đỉnh w là độ dài đường ngắn từ a đến (thơng qua đỉnh tập thăm).
Bước lặp tiếp:
Chọn đỉnh gán nhãn (có giá trị nhãn nhỏ nhất) để tiếp tục.
(14)Toán rời rạc: 2011-2012
Thuật tốn Dijsktra
Ví dụ: tìm đường từ s đến t.
(15)Toán rời rạc: 2011-2012
Example
(16)Toán rời rạc: 2011-2012
Example
(17)Toán rời rạc: 2011-2012
Thuật toán Dijsktra
Cài đặt thuật tốn Dijsktra:
Trình bày - Nhóm (thời gian: tuần 9):
1 Liêu Tấn Đạt - MSSV: 1131200001.
2 Hoàng Trung Thành - MSSV: 1131200016. 3 Lê Trọng Hà - MSSV: 1131200006.
(18)Toán rời rạc: 2011-2012
Giảng viên: ThS Trần Quang Khải
Bài toán TSP
(19)Toán rời rạc: 2011-2012
Bài toán TSP
Chương 6: Đồ thị 19
The travelling salesman problem:
“Cho một danh sách các thành phố và
khoảng cách đường giữa mỗi cặp thành phố, tìm đường đi ngắn nhất có thể sao cho mỗi thành phố được ghé qua đúng một lần”.
(20)Toán rời rạc: 2011-2012
Bài toán TSP
The travelling salesman problem:
Bài tốn “lớn+khó” (NP-hard) tối ưu tổ hợp
(combinatorial optimization).
Được nghiên cứu vận trù học (operations research) khoa học máy tính lý thuyết (theoretical computer science).
Nguồn gốc thật sự: unknown.
(21)Toán rời rạc: 2011-2012
Bài toán TSP
Ứng dụng:
Lập quy hoạch.
Ngành hậu cần.
Sản xuất vi mạch.
Xử lý chuỗi DNA.
….
(22)Toán rời rạc: 2011-2012
Bài toán TSP
(23)Toán rời rạc: 2011-2012
Bài toán TSP
Lược sử nghiên cứu (với trợ giúp máy tính):
1950s, 1960s: phổ biến châu Âu, châu Mỹ.
Phương pháp mặt phẳng cắt.
1972: Richard Karp chứng minh độ khó TSP.
Cuối 1970s, đầu 1980s: giải trường hợp 2392 thành phố (Grötschel, Padberg, Rinaldi).
2005: Cook cộng giải trường hợp có
33810 thành phố, xuất phát từ toán thiết kế vi mạch.
(24)Toán rời rạc: 2011-2012
Bài toán TSP
Giải pháp:
Các phương pháp “xấp xỉ”, kết hợp giữa:
Lý thuyết đồ thị.
Phương pháp tối ưu hóa KHMT:
•Giải thuật di truyền.
•Các giải thuật tìm kiếm cục (local search): Tabu search, giải thuật leo đồi, giải thuật mô
luyện kim, đế chế đàn kiến,…
(25)Toán rời rạc: 2011-2012
Bài toán TSP
(26)Toán rời rạc: 2011-2012
Bài tập – Giải thuật Dijsktra
Chương 6: Đồ thị 26
1
2
(27)Toán rời rạc: 2011-2012
Bài tập – Giải thuật Dijsktra
Chương 6: Đồ thị 27
3 4
(28)Toán rời rạc: 2011-2012
Bài tập – Giải thuật Dijsktra
Chương 6: Đồ thị 28
5