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

Đ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

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

Mục lụ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

Tài liệu cùng người dùng

Tài liệu liên quan