Thuật toán tuần tự kéo luồng sau

Một phần của tài liệu Song song hóa các thuật toán trên mạng đồ thị (Trang 40 - 41)

8. Bố cục của luận án

2.4.1.Thuật toán tuần tự kéo luồng sau

2.4.1.1. Giới thiệu

Trong mục này, chúng tôi sẽ kế thừa các các nghiên cứu [8], [36] để trình bày lại thuật toán kéo luồng sau.

Cách tiếp cận của phương pháp kéo luồng sau tương tự như trong phương pháp đẩy luồng trước để giải bài toán tìm luồng cực đa ̣i . Luồng sau là tập hợp các luồng trên cung, trong đó có thể chấp nhâ ̣n tồn ta ̣i đỉnh có luồng vào nh ỏ hơn luồng ra.

2.4.1.2. Các khái niệm cơ bản

Luồng sau (post-flow)

Cho ma ̣ng G =(V, E, c).Luồng sau là tập hợp các luồng trên cung

f ={fi, j (i, j)E} (23) thỏa mãn

41 (i)0  fi, j ci, j(i, j)E

(ii) Vớ i mọi đỉnh k không phải nguồn hoặc đích, luồng ra không nhỏ hơn luồng vào, tức là:

 E k i k i f ) , ( , ≤  E j k j k f ) , ( , (24)

Những đỉnh có luồng ra lớn hơn luồng vào go ̣i là đỉnh lê ̣ch (unbalanced). Hiệu luồng vào và luồng ra (0) tại các đỉnh lệch gọi là độ lê ̣ch luồng (excess).

Ý tưởng của phương pháp này là cân bằng hóa luồng vào và luồng ra tại các đỉnh lê ̣ch bằng cách luồng dư được đẩy xuôi theo các cung vào hoă ̣c đẩy ngược trên các cung ra. Các đỉnh lệch được lưu trong hàng đợi . Mô ̣t hàm độ sâu được sử du ̣ng để giúp chọn cung trong mạng thặng dư để loại đỉnh lệch . Bây giờ, ta giả thiết tâ ̣p đỉnh của ma ̣ng được ký hiê ̣u V={0, 1, ..., |V

Hàm độ sâu (depth function) của luồng sau trong mạng G=(V, E, c) là tập hơ ̣p các tro ̣ng số đỉnh không âm d(0), ..., d(|V1) thỏa d(a)= 0 vớ i đỉnh nguồn a

d(u) + 1  d(v) vớ i mo ̣i cung (u, v) trong mạng thă ̣ng dư . Những cung (u, v) thỏa

d(u) + 1 = d(v) gọi là các cung ưu tiên.

Ta xây dựng hàm đô ̣ sâu như sau: d(v) là khoảng cách ngắn nhất tính theo số cung từ đỉnh nguồn a đến đỉnh v. Ta có thể xác đi ̣nh hàm đô ̣ sâu này bằng phương pháp duyệt đồ thị theo chiều rộng xuất phát từ a. Hàm này thực sự là hàm độ sâu vì

d(a) =0 và với mỗi cung (u, v) trong mạng thă ̣ng dư Gf, d(u)+1  d(v), vì đường đi từ a đến v kết thúc bở i cung (u, v) (d(u)+1 phải không ngắn hơn đườ ng đi ngắn nhất từ a đến v d(v)).

 Mê ̣nh đề 2.4. Cho luồng sau f trong mạng G và hàm độ sâu d tương ứ ng. Khi đó đô ̣ sâu d(v) của mỗi đỉnh v không lớ n hơn đô ̣ dài đường đi ngắn nhất tính theo s ố cung từ đỉnh nguồn a đến đỉnh v trong mạng thă ̣ng dư Gf .

Mệnh đề này đã được chứng minh chi tiết trong [8], [36].

Hê ̣ quả 2.3. Nếu độ sâu của mô ̣t đỉnh lớn hơn V| thì không tồn tại đường đi từ đỉnh nguồn đến đỉnh đó trong ma ̣ng thă ̣ng dư Gf.

Một phần của tài liệu Song song hóa các thuật toán trên mạng đồ thị (Trang 40 - 41)