1. Trang chủ
  2. » Thể loại khác

toan roi rac 2 ngo xuan bach 6 shortest path cuuduongthancong com

21 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài toán tìm đường đi ngắn nhất
Tác giả Ngô Xuân Bách
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại Bài giảng
Định dạng
Số trang 21
Dung lượng 676,92 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

oán rời rạc 2,ngô xuân bách,hvcnbcvt Bài toán tìm đường đi ngắn nhất Ngô Xuân Bách Học viện Công nghệ Bưu chính Viễn thông Khoa Công nghệ thông tin 1 Toán rời rạc 2 CuuDuongThanCong com https fb co.oán rời rạc 2,ngô xuân bách,hvcnbcvt Bài toán tìm đường đi ngắn nhất Ngô Xuân Bách Học viện Công nghệ Bưu chính Viễn thông Khoa Công nghệ thông tin 1 Toán rời rạc 2 CuuDuongThanCong com https fb co.

Trang 1

Bài toán tìm đường đi ngắn nhất

Ngô Xuân Bách

Học viện Công nghệ Bưu chính Viễn thông

Khoa Công nghệ thông tin 1

Toán rời rạc 2

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 2

Nội dung

 Phát biểu bài toán tìm đường đi ngắn nhất

 Thuật toán Dijkstra

 Thuật toán Bellman-Ford

 Thuật toán Floyd

Trang 3

Bài toán tìm đường đi ngắn nhất (1/2)

http://www.ptit.edu.vn

3

 Khái niệm độ dài đường đi trên đồ thị

o Xét đồ thị 𝐺 =< 𝑉, 𝐸 > với tập đỉnh 𝑉 và tập cạnh 𝐸

o Với mỗi cạnh (𝑢, 𝑣) ∈ 𝐸, ta đặt tương ứng một số thực 𝑎(𝑢, 𝑣)

được gọi là trọng số của cạnh, 𝑎(𝑢, 𝑣) = ∞ nếu (𝑢, 𝑣) ∉ 𝐸

o Nếu dãy 𝑣0, 𝑣1, , 𝑣𝑘 là một đường đi trên 𝐺 thì 𝑘𝑖=1𝑎(𝑣𝑖−1, 𝑣𝑖)

được gọi là độ dài của đường đi

 Bài toán dạng tổng quát

o Tìm đường đi (có độ dài) ngắn nhất từ một đỉnh xuất phát 𝑠 ∈ 𝑉 (đỉnh nguồn) đến đỉnh cuối 𝑡 ∈ 𝑉 (đỉnh đích)?

o Đường đi như vậy được gọi là đường đi ngắn nhất từ 𝑠 đến 𝑡, độ dài của đường đi 𝑑(𝑠, 𝑡) được gọi là khoảng cách ngắn nhất từ 𝑠 đến 𝑡

o Nếu không tồn tại đường đi từ 𝑠 đến 𝑡 thì độ dài đường đi

𝑑(𝑠, 𝑡) = ∞

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 4

Bài toán tìm đường đi ngắn nhất (2/2)

Trường hợp 1: 𝑠 cố định, 𝑡 thay đổi

o Tìm đường đi ngắn nhất từ 𝑠 đến tất cả các đỉnh còn lại trên đồ thị ?

o Đối với đồ thị có trọng số không âm , bài toán luôn có lời giải bằng thuật toán Dijkstra

o Đối với đồ thị có trọng số âm nhưng không tồn tại chu trình âm , bài toán có lời giải bằng thuật toán Bellman-Ford

o Trong trường hợp đồ thị có chu trình âm , bài toán không có lời giải

Trường hợp 2: 𝑠 thay đổi và 𝑡 cũng thay đổi

o Tìm đường đi ngắn nhất giữa tất cả các cặp đỉnh của đồ thị

o Đối với đồ thị có trọng số không âm , bài toán được giải quyết

bằng cách thực hiện lặp lại 𝑛 lần thuật toán Dijkstra

Trang 5

Nội dung

 Phát biểu bài toán tìm đường đi ngắn nhất

 Thuật toán Dijkstra

 Thuật toán Bellman-Ford

 Thuật toán Floyd

http://www.ptit.edu.vn

5

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 6

Thuật toán Dijkstra (1/2)

o Các nhãn này sẽ được biến đổi (tính lại) nhờ một thủ tục lặp

(nhãn đó chính là độ dài đường đi ngắn nhất từ 𝑠 đến đỉnh đó)

Trang 7

Thuật toán Dijkstra (2/2)

}

Trang 10

Nội dung

 Phát biểu bài toán tìm đường đi ngắn nhất

 Thuật toán Dijkstra

 Thuật toán Bellman-Ford

 Thuật toán Floyd

Trang 11

Thuật toán Bellman-Ford (1/2)

o Các nhãn này sẽ được làm tốt dần (tính lại) nhờ một thủ tục lặp

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 12

Thuật toán Bellman-Ford (2/2)

Bellman-Ford(𝑠){

Bước 1 (Khởi tạo):

Trang 15

Nội dung

 Phát biểu bài toán tìm đường đi ngắn nhất

 Thuật toán Dijkstra

 Thuật toán Bellman-Ford

 Thuật toán Floyd

http://www.ptit.edu.vn

15

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 16

Thuật toán Floyd (1/3)

đi hiện tại lớn hơn đường đi qua đỉnh đang xét, ta thay lại thành

đường đi qua đỉnh này

Trang 17

Thuật toán Floyd (2/3)

} }

Trang 18

Thuật toán Floyd (3/3)

Khôi phục đường đi

Trang 19

Kiểm nghiệm thuật toán

Trang 20

Tóm tắt

 Bài toán tìm đường đi ngắn nhất trên đồ thị, các dạng

của bài toán

 Thuật toán Dijkstra, áp dụng

 Thuật toán Bellman-Ford, áp dụng

 Thuật toán Floyd, áp dụng

Ngày đăng: 01/12/2022, 10:57

🧩 Sản phẩm bạn có thể quan tâm

w