Bài giảng Toán rời rạc: Bài 6 - Vũ Thương Huyền cung cấp cho học viên các kiến thức về đồ thị; các định nghĩa; các thuật ngữ về đồ thị; biểu diễn đồ thị; các mô hình đồ thị; tính liên thông; đường đi Euler và đường đi Hamilton; bài toán đường đi ngắn nhất;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
BÀI ĐỒ THỊ Vũ Thương Huyền huyenvt@tlu.edu.vn NỘI DUNG • Các định nghĩa • Các thuật ngữ đồ thị • Biểu diễn đồ thị • Tính liên thơng • Đường Euler đường Hamilton • Bài toán đường ngắn Toán rời rạc huyenvt@tlu.edu.vn 8.1 CÁC ĐỊNH NGHĨA Toán rời rạc huyenvt@tlu.edu.vn ĐỒ THỊ • Đồ thị cấu trúc rời rạc gồm đỉnh cạnh nối đỉnh • Dùng đồ thị cho lĩnh vực khác nhau: Biểu diễn cạnh tranh lồi mơi trường sinh thái Biểu diễn ảnh hưởng tổ chức Biểu diễn kết thi thể thao Mạng hàng khơng Tốn rời rạc huyenvt@tlu.edu.vn ĐƠN ĐỒ THỊ Định nghĩa 1: Một đơn đồ thị G = (V, E) gồm tập khơng rỗng V mà phẩn tử gọi đỉnh tập E mà phần tử gọi cạnh cặp không thứ tự đỉnh phân biệt Ví dụ: Tốn rời rạc huyenvt@tlu.edu.vn ĐA ĐỒ THỊ Định nghĩa 2: Một đa đồ thị G = (V, E) gồm tập đỉnh V, tập cạnh E hàm f từ E tới {(u,v)| u,v V , u v} Các cạnh e1 e2 gọi cạnh song song hay cạnh bội f(e1) = f(e2) Ví dụ: Tốn rời rạc huyenvt@tlu.edu.vn GIẢ ĐỒ THỊ Định nghĩa 3: Một giả đồ thị G = (V, E) gồm tập đỉnh V, tập cạnh E hàm f từ E tới {{u,v}| u,v V } Một cạnh khuyên f(e) = { u, u } = {u} với đỉnh u Ví dụ: Tốn rời rạc huyenvt@tlu.edu.vn ĐỒ THỊ CÓ HƯỚNG Định nghĩa 4: Một đồ thị có hướng G = (V, E) gồm tập đỉnh V, tập cạnh E cặp có thứ tự phần tử thuộc V Ví dụ: Tốn rời rạc huyenvt@tlu.edu.vn ĐA ĐỒ THỊ CÓ HƯỚNG Định nghĩa 5: Một đa đồ thị có hướng G = (V, E) gồm tập đỉnh V, tập cạnh E hàm f từ E tới {(u,v)| u, v V} Cạnh e1 e2 cạnh bội f(e1) = f(e2) Ví dụ: Tốn rời rạc huyenvt@tlu.edu.vn CÁC MƠ HÌNH ĐỒ THỊ Ví dụ 1: Mạng xã hội Ví dụ 2: Đồ thị ảnh hưởng Tốn rời rạc huyenvt@tlu.edu.vn 10 BÀI TẬP Bài 8: Xác định đồ thị sau có chu trình Euler, đường Euler? Toán rời rạc huyenvt@tlu.edu.vn 60 60 BÀI TẬP Bài 9: Xác định đồ thị sau có chu trình đường Hamilton? Toán rời rạc huyenvt@tlu.edu.vn 61 61 8.6 BÀI TỐN ĐƯỜNG ĐI NGẮN NHẤT Tốn rời rạc huyenvt@tlu.edu.vn 62 ĐỒ THỊ CĨ TRỌNG SỐ Đồ thị có trọng số đồ thị mà cạnh gán số (nguyên thực) gọi trọng số cạnh Toán rời rạc huyenvt@tlu.edu.vn 63 ĐỒ THỊ CĨ TRỌNG SỐ Bài tốn liên quan tới đồ thị có trọng số: • Xác định đường ngắn hai đỉnh mạng • Tìm đường có chi phí rẻ • Tìm đường có thời gian trả lời nhanh cho truyền thơng máy tính Tốn rời rạc huyenvt@tlu.edu.vn 64 ĐỒ THỊ CĨ TRỌNG SỐ Ví dụ: Tốn rời rạc huyenvt@tlu.edu.vn 65 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT • Do E.Dijkstra nhà toán học Hà Lan đề xuất năm 1959 • Thực tìm độ dài ngắn từ a tới đỉnh thứ nhất, độ dài đường ngắn tới đỉnh thứ đỉnh z Toán rời rạc huyenvt@tlu.edu.vn 66 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT Ví dụ: Tốn rời rạc huyenvt@tlu.edu.vn 67 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT Giải thuật: Tìm đường ngắn từ a đến z • Gán cho đỉnh a nhãn đỉnh khác Kí hiệu L0(a) =0 L0(v) = • Tập Sk tập đỉnh gán nhãn sau bước lặp k • Lk(v) nhãn v bước k, độ dài đường ngắn từ a tới v chứa đỉnh thuộc Sk • Để sửa nhãn v: Lk(a,v) = min{Lk-1(a,v), Lk(a,v) + w(u,v)} • Lặp liên tiếp đạt tới đỉnh z Toán rời rạc huyenvt@tlu.edu.vn 68 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT THUẬT TỐN : Thuật tốn Dijkstra Procedure Dijkstra(G: đa đồ thị liên thơng có trọng số dương) {G có đỉnh a = v0, v1, v2 , = z trọng số w(vi, vj), với w(vi, vj) = {vi,vj} khơng có cạnh G} for i :=1 to n L(vi) = L(a) := S := while z S begin u := đỉnh S có nhãn L(u) nhỏ S := S {u} for tât đỉnh v không thuộc S if L(u) + w(u,v) < L(v) then L(v) := L(u) + w(u,v) { thêm vào S đỉnh có nhãn nhỏ sửa đổi nhãn đỉnh S end { L(z) = độ dài đường ngắn từ a tới z} Tốn rời rạc huyenvt@tlu.edu.vn 69 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT Ví dụ: Tốn rời rạc huyenvt@tlu.edu.vn 70 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT Tốn rời rạc huyenvt@tlu.edu.vn 71 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT S s a b c d t s, a, b, c, d, t s, L(s)=0 s a, b, c, d, t - [4, s] [2, s]* b, L(b)=2 s, b a, c, d, t - [3, b]* - [10,b] [12,b] a, L(a)=3 s,b,a c, d, t - - - [8,a]* [12,b] c, L(c)=8 s, b, a, c d, t - - - - [10,c]* [14,c] d, s, b, a, c, d, L(d)=10 t - - - - - t, s, b, a, c, d, t L(t)=13 u S [13,d]* Đường ngắn nhất: s b a c d t Toán rời rạc huyenvt@tlu.edu.vn 72 BÀI TẬP Bài 10: Tìm độ dài đường ngắn a z đồ thị sau: Toán rời rạc huyenvt@tlu.edu.vn 73 73 74 ... hợp đồ thị G1 G2 G1 G2 Toán rời rạc huyenvt@tlu.edu.vn 25 BÀI TẬP Bài 3: Tìm hợp cặp hai đơn đồ thị sau Toán rời rạc huyenvt@tlu.edu.vn 26 26 8.3 BIỂU DIỄN ĐỒ THỊ Toán rời rạc huyenvt@tlu.edu.vn... đường hai đỉnh đồ thị vơ hướng Toán rời rạc huyenvt@tlu.edu.vn 42 BÀI TẬP Bài 6: Các đồ thị sau có liên thơng khơng? Toán rời rạc huyenvt@tlu.edu.vn 45 45 BÀI TẬP Bài 7: Chỉ đồ thị sau có liên... • Đường Euler đường Hamilton • Bài toán đường ngắn Toán rời rạc huyenvt@tlu.edu.vn 8.1 CÁC ĐỊNH NGHĨA Toán rời rạc huyenvt@tlu.edu.vn ĐỒ THỊ • Đồ thị cấu trúc rời rạc gồm đỉnh cạnh nối đỉnh •