1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng Lý thuyết đồ thị (Đặng Nguyễn Đức Tiến) - Chương 5 Luồng trong mạng docx

45 1.7K 6

Đ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

Cấu trúc

  • 05. LUỒNG TRONG MẠNG

  • Nội dung

  • Tài liệu tham khảo

  • Giới thiệu

  • Các định nghĩa – Mạng

  • Các định nghĩa – Tập cung vào ra

  • Các định nghĩa – Luồng trên mạng

  • Các định nghĩa – Giá trị của luồng

  • Ví dụ

  • Bài toán luồng cực đại

  • Bài toán luồng cực đại – Ví dụ

  • Một số ví dụ tiêu biểu

  • Slide 13

  • Lát cắt

  • Lát cắt – ví dụ

  • Max flow – min cut

  • Đồ thị tăng luồng

  • Đồ thị tăng luồng – Ví dụ

  • Tăng luồng

  • Đường tăng luồng

  • Chứng minh

  • Thuật toán Ford – Fulkerson

  • Slide 23

  • Slide 24

  • Slide 25

  • Bản chất đồ thị tăng luồng

  • Cài đặt thuật toán Ford – Fulkerson

  • Thuật toán gán nhãn tìm đường tăng luồng

  • Slide 29

  • Hàm tăng luồng

  • Mã nguồn (cải tiến)

  • Slide 32

  • Các dạng bài toán luồng

  • Slide 34

  • Slide 35

  • Slide 36

  • Một số ứng dụng

  • Slide 38

  • Slide 39

  • Slide 40

  • Slide 41

  • Slide 42

  • Slide 43

  • Bài tập

  • Slide 45

Nội dung

Bài giảng Lý thuyết đồ thị Đặng Nguyễn Đức Tiến HCMUS – 2009  Giới thiệu  Luồng mạng  Bài toán luồng cực đại  Thuật toán Ford Fulkerson  Một số ứng dụng toán luồng cực đại HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến  Nguyễn Đức Nghĩa, Nguyễn Tơ Thành, Tốn rời rạc, ltb 1, nxb Giáo dục, 1998, ch 7, tr 215 – 236  Đỗ Minh Hoàng, Bài giảng Chuyên đề Giải thuật & Lập trình, ĐHSP Hà Nội, 2004, ch 10, tr 257 – 267  Dương Anh Đức, Trần Đan Thư, Bài giảng lý thuyết đồ thị, 2002, ch HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến  Luồng cực đại tốn tối ưu đồ thị tìm ứng dụng rộng rãi thực tế lý thuyết tổ hợp  Bài toán đề xuất vào đầu năm 1950 gắn liền với tên tuổi nhà toán học Mỹ: Ford (Lester Randolph Ford: 1927 - ) Fulkerson (Delbert Ray Fulkerson: 1924 - 1976) HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến  Mạng (network) đồ thị có hướng G = (V, E) đó:  Có đỉnh s khơng có cung vào, gọi đỉnh phát (source)  Có đỉnh t khơng có cung ra, gọi đỉnh thu (sink)  Mỗi cạnh e = (u, v) ∈ E gán số nguyên không âm c(e) = c[u, v] gọi khả thông qua cung (capacity)  Ta quy ước mạng khơng có cung (u, v) ta thêm vào cung (u, v) với khả thông qua c[u, v] HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến  Với mạng G = (V, E, c), ta ký hiệu:  W-(x) = {(u, v) ∈ E | u ∈ V}: tập cung vào đỉnh v  W+(x) = {(v, u) ∈ E | u ∈ V}: tập cung khỏi đỉnh v HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến  Giả sử cho mạng G = (V, E) Ta gọi luồng f mạng ánh xạ f: E  R+ gán cho cung e = (u, v) ∈ E số thực không âm f(e) = f[u, v], thoả mãn điều kiện sau:   HCMUS – 2009 ĐK (Capacity Constraint): Luồng cung e ∈ E khơng vượt q khả thơng qua nó: ≤ f(e) ≤ c(e) ĐK (Flow Conversion): Điều kiện cân luồng đỉnh mạng: Tổng luồng cung vào đỉnh v tổng luồng cung khỏi đỉnh v, v ≠ s, t t(W-(x)) = t(W+(x)), ∀x ≠ s, t Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến  Giá trị luồng tính tổng giá trị cung từ đỉnh nguồn s, tổng giá trị cung vào đỉnh thu t val(f) = HCMUS – 2009 t(W+(s)) = t(W-(t)) Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 5, 5, 6, s t 1, 0, 2, 1, HCMUS – 2009 1, Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến  Cho mạng G = (V, E), tìm luồng f* mạng với giá trị luồng val(f*) lớn Luồng gọi luồng cực đại mạng HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 10 void Flow(int u, e) visit[u] = True; if (u == t) incF = e; return; if (visit[t]) return; for (int i = 0; i < n; i++) if (!Visit[i]) if (c[u, i] > f[u, i]) Flow(i, min(e, c[u, i] – F[u, i])); if (visit[t]) F[u, i] += incF; return; if (F[i, u] > 0) Flow(i, min(e, F[i, u])); if (visit[t]) F[i, u] -= incF; HCMUS – 2009 return; Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 31 void MaxFlow() { FillZero(F, sizeof(F), 0); { FillZero(visit, sizeof(visit), 0); Flow(s, +∞); while (!visit[t]); } HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 32  Mạng với nhiều điểm phát điểm thu s1 t1 s2 s t2 t sk tm sn HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 33  Khả thông qua cung đỉnh u t s v u+ u- s+ 3 s- t+ v+ HCMUS – 2009 t- v- Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 34  Khả cung bị chặn phía u r(u, t), c(u, t) 0, c(s, u) 0, c(u, v) s r(s, v), c(s, v) t 0, c(v, t) v HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 35  Cung r(u, v) ≠ 0, thay (S, v) (u, T) = r(u, v)  c(u, v) = c(u, v) – r(u, v)  Thêm cung (t, s) với c(t, s) = ∞ T r(u, t) u u r(s, v) r(u, t), r(u, c(u, t) - c(u, t) 0, c(s, u) c(s, u) s s c(u, v) 0, c(u, v) ∞ c(s, v) – r(s, v)v) r(s, v), c(s, v v c(v, t) r(s, v) HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến t 0, c(v, t) r(u, t) S 36  Bài toán đám cưới vùng quê (bài toán cặp ghép) T G 1 T 1 s 1 G t T G T HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 37  Bài toán hệ thống đại diện chung: Cho tập gồm m phần tử X = {z 1, z2… zm} Giả sử dãy tập hợp X  Dãy gồm n phần tử x1, x2… xn gọi hệ thống đại diện chung dãy A B cho tìm hốn vị k tập {1, 2,… n} cho đại diện phân biệt dãy nêu HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 38  Bài toán hệ thống đại diện chung – Ví dụ  Một giải vơ địch bóng đá có M cầu thủ đăng ký thi đấu Mỗi cầu thủ giải bắt buộc phải thuộc câu lạc bóng đá hội lao động  Có N câu lạc A1, A2 An N hội B1, B2… Bn  Ban tổ chức giải liên đoàn lao động cần chọn ban đại diện gồm N cầu thủ cho câu lạc hội lao động có thành viên ban đại diện  Hãy tìm ban đại diện HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 39  Các toán tối ưu rời rạc – Bài tốn luồng chi phí nhỏ  Cho mạng có n đỉnh Mỗi cạnh mạng có khả thơng qua c(u, v) cước phí vận chuyển p(u, v) định ứng với đơn vị hàng  Cho trước lượng hàng S cần vận chuyển từ đỉnh nguồn đến đỉnh đích, tìm phương án tối ưu để chi phí vận chuyển hết lượng hàng S nhỏ HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 40  Các toán tối ưu rời rạc – Luồng chi phí nhỏ  Nếu không cần vận chuyển lúc?  Nếu cần vận chuyển lúc? HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 41  Khả liên thông cạnh (Edge Connectivity) đồ thị vô hướng số cạnh cực tiểu k, cho gỡ bỏ k cạnh đồ thị khơng cịn liên thơng  Ví dụ: Đối với đồ thị dạng cây, k = Với đồ thị chu trình, k = HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 42  Đường bao phủ (path cover) đồ thị vô hướng G = (V, E) tập hợp P đường rời G cho đỉnh V nằm xác đường P  Các đường bắt đầu kết thúc đâu, có chiều dài (nghĩa có đỉnh toàn đỉnh V)  Một path cover cực tiểu G path cover có đường HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 43 Tìm luồng cực đại cho mạng sau: 3 12 10 s 11 HCMUS – 2009 t 13 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 14 44 Hãy nêu giải phát để giải vấn đề liên thông cạnh *Hãy nêu giải pháp tìm path cover cực tiểu Chứng minh luồng cực đại mạng G = (V, E) ln xác định sau dãy tối đa |E| trình tìm đường tăng luồng Chứng minh với cặp đỉnh u, v bất kỳ, ta ln có c f(u, v) + cf(v, u) = c(u, v) + c(v, u) Với cf trọng số cung đồ thị tăng luồng HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 45 ... val(f*) lớn Luồng gọi luồng cực đại mạng HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 10 6 s 5, HCMUS – 2009 3, 2, 4, s t 1, 5, t 3, Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến... giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 5, 5, 6, s t 1, 0, 2, 1, HCMUS – 2009 1, Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến  Cho mạng G = (V, E), tìm luồng f* mạng với giá trị luồng. .. u∈ X * Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 14  Xác định lát cắt hẹp mạng sau: 6 s t 3 HCMUS – 2009 Bài giảng Lý thuyết đồ thị – Đặng Nguyễn Đức Tiến 15  Giá trị luồng f mạng nhỏ

Ngày đăng: 27/06/2014, 15:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w