1 MỞ ĐẦU Tính cấp thiết việc nghiên cứu Khi xây dựng thuật toán cho toán mạng đồ thị, thân thuật toán phức tạp, thời gian thuật toán lớn Điều này, đòi hỏi phải song song hóa thuật toán tương ứng Do đó, xây dựng thuật toán tìm đường thuật toán tìm luồng cực đại theo hướng song song hóa từ thuật toán đòi hỏi cần thiết Xuất phát từ tác giả chọn vấn đề “Song song hóa thuật toán mạng đồ thị” làm đề tài nghiên cứu luận án Đối tƣợng phạm vi nghiên cứu Đối tượng nghiên cứu - Luận án nghiên cứu lý thuyết xử lý song song, mô hình tính toán song song - Nghiên cứu lý thuyết đồ thị, chủ yếu toán tìm đường ngắn nhất, thuật toán tìm luồng cực đại Phạm vi nghiên cứu - Đề xuất thuật toán song song tìm đường ngắn đồ thị mở rộng - Đề xuấtthuật toán song song tìm luồng cực đại phương pháp đẩy luồng trước, thuật toán song song tìm luồng cực đại phương pháp hỗn hợp đẩy kéo luồng thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn mạng giao thông mở rộng Điểm luận án - Đề xuất thuật toán song song tìm đường ngắn đồ thị mở rộng Chúng đề xuất thuật toán để ứng dụng cho mạng giao thông phù hợp với thực tế - Tối ưu thuật toán song song tìm luồng cực đại phương pháp đẩy luồng trước từ thuật toán song song có Điểm phân tích liệu, chia liệu cụ thể cho xử lý Phần thực nghiệm thực rõ ràng, - Đề xuất thuật toán song song tìm luồng cực đại phương pháp hỗn hợp đẩy kéo luồng Chúng kết hợp thuật toán đẩy luồng trước thuật toán kéo luồng sau để xây dựng thuật toán song song - Đề xuất thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn mạng giao thông mở rộng Để giảm thời gian tính toán thuật toán, xây dựng thuật toán song song tìm luồng cực đại chi phí giới hạn Kết nghiên cứu - Luận án đề xuất thuật toán song song sở yêu cầu thực tế đặt ra, chứng minh tính đắn, phân tích độ phức tạp thời gian thuật toán Đồng thời, luận án song song hóa thuật toán có, từ ưu điểm so với thuật toán có trước - Luận án xây dựng chương trình thực nghiệm hệ thống song song khác nhau, từ đưa số liệu cụ thể để đánh giá so sánh kết đạt thuật toán song song so với thuật toán so sánh với thuật toán song song có trước Bố cục luận án Ngoài phần mở đầu, kết luận, tài liệu tham khảo, luận án trình bày thành ba chương 3 Chương Xử lý song song Chương Các thuật toán song song mạng đồ thị truyền thống Chương Một số thuật toán song song tìm đường ngắn tìm luồng cực đại mạng đồ thị mở rộng 4 CHƢƠNG XỬ LÝ SONG SONG 1.1 Giới thiệu xử lý song song 1.2 Kiến trúc máy tính song song 1.3 Thuật toán song song 1.4 Kết luận chƣơng Để giải toán đặt cách hiệu máy tính mà có, vấn đề làm để xây dựng thuật toán song song Cách làm thông dụng biến đổi thuật toán song song, hay chuyển từ dạng song song dạng song song phù hợp bảo toàn tính tương đương tính toán Để đánh giá tính hiệu thuật toán song song thường phải dựa vào độ phức tạp thời gian thuật toán Độ phức tạp thời gian thuật toán song song không phụ thuộc vào kích cỡ liệu đầu vào mà phụ thuộc vào kiến trúc máy tính song song số lượng xử lý phép sử dụng hệ thống 5 CHƢƠNG CÁC THUẬT TOÁN TUẦN TỰ VÀ SONG SONG TRÊN MẠNG ĐỒ THỊ TRUYỀN THỐNG 2.1 Mạng luồng 2.2 Bài toán luồng cực đại 2.3 Thuật toán đẩy luồng trƣớc tìm luồng cực đại 2.3.1 Thuật toán 2.3.1.1 Giới thiệu 2.3.1.2 Các khái niệm bản Mạng thặng dư (residual network) Gf Cho luồng f mạng G=(V, E, c) Ta định nghĩa mạng thặng dư, ứng với luồng f Gf(V, Ef, cf) tập cung Efvà khả thông qua cf xác định sau: - (u, v)E, f(u, v) > (v, u)Ef với khả thông qua:cf(v, u)=f(u, v) - (u, v) E, c(u, v)f(u, v)>0 (u, v)Efvới khả thông qua:cf(u, v)=c(u, v)f(u, v) Luồ ng trước (pre-flow) Cho ma ̣ng G = (V, E, c) Luồ ng trước tập hợp luồng cung f ={fi, j| (i, j) E} thỏa: (i) fi, j ci, j(i, j)E (ii) Với mo ̣i đin ̉ h k không phải nguồ n hoă ̣c đić h, luồ ng vào không nhỏ luồ ng ra, tức là: fi , k f k , j (i , k )E ( k , j )E Hàm độ cao (height function) luồng trước mạng G=(V, E, c) tâ ̣p hơ ̣p các tro ̣ng số đỉnh không âm h(0), , h(|V|1) thỏa h(z) = với đin ̉ h đić h z h(u)≤ h(v)+1 với mo ̣i cung (u, v)Ef Những cung (u, v) thỏa h(u) = h(v) + gọi cung ưu tiên 2.3.1.3 Phương pháp đẩy luồng trước tổng quát 2.3.1.4 Thuật toán đẩy luồ ng trước - Đầu vào:Mạng G =(V, E,c) với nguồn a, đích z, khả thông qua c={ci, j| (i, j) E} - Đầu ra: Luồng cực đại f={fi, j|(i, j) E} - Các bước: Khởi tạo : xây dựng luồ ng trước xuấ t phát với các cung từ đỉnh nguồ n có luồ ng bằ ng khả thông qua , cung khác có luồng Chọn hàm độ cao h(v) độ dài đường ngắ n nhấ t từ v đến đỉnh đích z Đẩy đỉnh lệch vào hàng đợi Q Tiêu chuẩn dừng: nế u Q = ∅, luồ ng trước f trở thành luồ ng cực đa ̣i Kế t thúc Nế u Q ∅, sang bước 3 Xử lý đỉnh lê ̣ch: lấ y đin ̉ h lê ̣ch u từ hàng ̣i - Duyê ̣t các cung ưu tiên (u, v)Ef Đẩy cung (u, v) mô ̣t luồ ng có giá tri ̣min {delta,cf(u, v)}, đó delta là đô ̣ lê ̣ch luồ ng của đin ̉ h u Cập nhật lại cf(u, v) theo khái niệm mạng thặng dư, cập nhật lại độ lệch luồng đỉnh u v e(u)=e(u)-cf(u, v), e(v)=e(v)+cf(u, v) - Nếu đỉnh v đỉnh lệch mới, đẩy đỉnh v vào Q - Nế u u vẫn còn lê ̣ch, tăng độ cao u: h(u)= + min{h(v)|(u, v)Ef} Sau đó đẩ y u vào hàng đợi Q Quay la ̣i bước 2.3.1.5 Ví dụ minh họa 2.3.2 Thuật toán song song 2.3.2.1 Giới thiệu 2.3.2.2 Ý tưởng thuật toán song song 2.3.2.3 Xây dựng thuật toán song song - Đầu vào:Mạng G =(V, E,c) với nguồn a, đích z, khả thông qua c={ci, j|(i, j) E} m xử lý (P0, P1, …, Pm-1), P0là xử lý - Đầu ra: Luồng cực đại f={fi, j|(i, j) E} - Các bước: Bước 1: Bộ xử lý P0 thực (1.1) Khởi tạo: e: độ lệch luồng đỉnh mạng đồ thị G, h: độ cao đỉnh mạng đồ thị G, f: luồng cung mạng đồ thị G, c: khả thông qua mạng G, cf: khả thông qua mạng thặng dư Gf, Q: tập đỉnh hoạt động (không kể đỉnh a z) đỉnh có độ lệch luồng dương Việc khởi tạo giống khởi tạo thuật toán (1.2) Chia tập đỉnh V thành m-1 tập Vi cho xử lý phụ tương ứng Pi(i=1, 2, …, m-1) cho: 𝑉𝑖 ∩ 𝑉𝑗 = ∅, 𝑖 ≠ 𝑗 𝑉1 ∪ 𝑉2 ∪ … ∪ 𝑉𝑚−1 = 𝑉 Bước 2: Bộ xử lý phụ Pinhận Vi(i= 1,…, m-1) Bước 3: Bộ xử lý kiểm tra tập đỉnh hoạt động mà rỗng kết thúc, luồng trước f trở thành luồng cực đại Ngược lại sang bước Bước 4: Bộ xử lý chuyển e, h, f, c, cf tương ứng với đỉnhđến xử lý phụ Bước 5: m-1 xử lý phụ thực 8 (5.1) Nhận tham số e, h, f, c, cftương ứng cho đỉnh xử lý phụ mà xử lý gửi đến bước (5.2) Xử lý đỉnh lệch (đẩy đổi nhãn) bước thuật toán Tức nế u tồ n ta ̣i cung ưu tiên (u, v)Ef đẩy cung (u, v) mô ̣t luồ ng có giá tri ̣min {delta, cf(u, v)}, đó delta là đô ̣ lê ̣ch luồ ng của đin ̉ h u Nế u không tồ n ta ̣i cung ưu tiên từ u, tăng độ cao đỉnh u sau: h(u)= + min{h(v)|(u, v)Ef} (5.3) Gửi e, h, f, cf xử lý Bước 6: Bộ xử lý thực số công việc khác (6.1) Nhận e, h, f, cf, từ xử lý phụ gửi từ bước 5.3, Thay đổi tham số cung, đỉnh mà hai đỉnh cung không nằm xử lý (6.2) Đây bước khác biệt so với thuật toán để đồng hóa liệu, sau nhận liệu (6.1) xử lý kiểm tra với cung (u, v) E, h(u)>h(v)+1 xử lý đổi nhãn cho đỉnh u, v sau: f(u, v)= f(u, v)+min{delta, cf(u, v); //deltalà độ lệch luồng đỉnh u e(u)= e(u)–cf(u, v); e(v)= e(v)+cf(u, v) Đưa đỉnh lệch vào tập Q (6.3) Nếu u V mà e(u)=0 loại u khỏi tập Q Quay lại bước 2.3.2.4 Ví dụ minh họa 2.3.2.5 Phân tích độ phức tạp thời gian 2.3.2.6 Kết quả thực nghiệm thuật toán Mức độ tăng tốc (Ts/Tp) Số xử lý Hình 2.13 Biểu diễn mức độ tăng tốc xử lý đồ thị 7000 đỉnh(nét liền) 5000 đỉnh (nét đứt) 2.3.2.7 Kết luận 2.4 Thuật toán hỗn hợp đẩy kéo luồng 2.4.1 Thuật toán kéo luồng sau 2.4.1.1 Giới thiệu 2.4.1.2 Các khái niệm bản Luồ ng sau (post-flow) Cho ma ̣ng G =(V, E,c).Luồ ng sau tập hợp luồng cung f={fi, j|(i, j) E} thỏa mãn (i)0 fi, j ci, j(i, j)E (ii) Với mo ̣i đỉnh k không phải nguồ n hoă ̣c đích , luồ ng không nhỏ luồ ng vào, tức là: f i, k f k , j (i , k )E ( k , j )E 10 Hàm độ sâu (depth function) luồng sau mạng G=(V, E, c) tâ ̣p hơ ̣p các tro ̣ng số đỉnh không âm d(0), , d(|V|1) thỏa d(a)= với đỉnh nguồ n a d(u) + 1 d(v) với mo ̣i cung (u, v) mạng thặng dư Những cung (u, v) thỏa d(u) + = d(v) gọi cung ưu tiên 2.4.1.3 Phương pháp kéo luồ ng sau tổ ng quát 2.4.1.4 Thuật toán kéo luồ ng sau Khởi tạo : Xây dựng luồ ng sau xuấ t phát với các cung đến đin̉ h đích có luồ ng bằ ng khả thông qua , cung khác có luồ ng bằ ng Chọn hàm độ sâu h(v) độ dài đường ngắn từ đỉnh nguồn a đến đỉnh v Đẩy đỉnh lệch vào hàng ̣i Q Tiêu chuẩn dừng : Nế u Q = ∅, luồ ng trước f trở thành luồ ng cực đa ̣i Kế t thúc Nế u Q ∅, sang bước 3 Xử lý đỉnh lê ̣ch: Lấ y đỉnh lê ̣ch v từ hàng ̣i - Duyê ̣t các cung ưu tiên (u, v)Ef Kéo cung (u, v) mô ̣t luồ ng có giá trị {delta, cf(u, v)}, đó delta (< 0) độ lệch luồ ng của đin ̉ h v Nếu đỉnh u đỉnh lệch mới, đẩy đỉnh u vào hàng đợi Q - Nế u đỉnh v vẫn còn lê ̣ch, tăng độ sâu đỉnh v sau: d(v)=1+min{d(u) | (u, v) Ef} Sau đó đẩ y v vào hàng đợi Q Quay la ̣i bước 2.4.1.5 Ví dụ minh họa 2.4.2 Thuật toán hỗn hợp đẩy kéo luồng tìm luồng cực đại 2.4.2.1 Phương pháp hỗn hợp đẩy kéo luồng tổ ng quát Đây phương pháp tìm luồng cực đại Kết hợp phương pháp đẩy luồng trước phương pháp kéo luồ ng sau để xây dựng phương pháp hỗn hợp đẩy kéo luồng tổ ng quát sau: 11 2.4.2.2 Thuật toán hỗn hợp đẩy kéo luồ ng Đây là thuâ ̣t toán cu ̣ thể thuô ̣c phương pháp h ỗn hợp đẩy kéo luồng Ở đỉnh lệch dương đẩy vào hàng đợi Q+ các đỉnh lê ̣ch âm đươ ̣c đẩ y vào hàng ̣i Q Với mỗi đin ̉ h lê ̣ch dương lấ y từ hàng ̣i Q+, ta sẽ đẩ y luồ ng vào cung ưu tiên cách tối đa đỉnh trở thành không lê ̣ch hoă ̣c không còn cung ưu tiên nữa Nế u không còn cung ưu tiên nữa và đỉnh còn lê ̣ch thì ta tăng đô ̣ cao và đẩ y nó vào hàng ̣i Q+ Với mỗi đin ̉ h lê ̣ch âm lấ y từ hàng ̣i Q, ta sẽ kéo luồ ng vào cung ưu tiên c ách tối đa đỉnh trở thành không lê ̣ch hoă ̣c không còn cung ưu tiên nữa Nế u không còn cung ưu tiên nữa và đỉnh còn lê ̣ch thì ta tăng đô ̣ sâu và đẩ y nó vào hàng ̣i Q 2.4.2.3 Ví dụ minh họa 2.4.3 Thuật toán song song hỗn hợp đẩy kéo luồng tìm luồng cực đại 2.4.3.1 Giới thiệu Thuật toán đẩy luồng trước, kéo luồng sau thuật toán hỗn hợp đẩy kéo luồng có độ phức tạp O(|V|2|E|) Để giảm độ phức tạp thời gian tính toán, ta xây dựng thuật toán song song hỗn hợp đẩy kéo luồng tìm luồng cực đại 2.4.3.2 Ý tưởng thuật toán song song Thuật toán song dùng xử lý, xử lý P0 quản lý liệu, gửi nhận liệu từ xử lý phụ (P1, P2) Trong xử lý phụ, xử lý P1 đẩy luồng từ Q+ xử lý P2 kéo luồng từ Q- xử lý phụ kết thúc Q+ Q- rỗng 2.4.3.3 Xây dựng thuật toán song song -Đầu vào: Đồ thị G(V, E,c) với nguồn a, đích z, khả thông qua: c={ci, j|(i, j) E} 12 Ba xử lý (P0, P1, P2), P0 xử lý chính, P1 P2 xử lý phụ - Đầu ra: Luồng cực đại f={fi, j|(i, j) E} - Các bước: Bước 1: Bộ xử lý thực - Bộ xử lý khởi tạo: h, d, e, f, c, Q+, QBước 2: Bộ xử lý kiểm tra kết thúc: - Nhận liệu từ xử lý phụ (nếu xử lý phụ có gửi liệu đến) - Bộ xử lý kiểm tra Q+, Q- rỗng xử lý P1 P2 kết thúc, luồ ng f trở thành luồ ng cực đa ̣i, kế t thúc Ngược lại sang bước Bước 3: Bộ xử lý thực kiểm tra - Bộ xử lý lấy đỉnh u từ Q+ y từ Q- Gửi h, e, f,u, Q+ đến xử lý P1 Gửi d, e, f, đỉnh y, Q- đến xử lý P2 - Bộ xử lý kiểm tra: Nếu với cung ưu tiên (u, v) Ef với cung ưu tiên (x, y)Ef mà u trùng với x y trùng với v sang bước Ngược lại sang bước Bước 4: Bộ xử lý phụ P1 P2 thực song song công việc sau - Hai xử lý phụ nhận liệu mà xử lý P0gửi đến - Bộ xử lý P1 thực Đẩy luồng trước: Chuyển Q+, h, e, f, cfvề xử lý - Bộ xử lý P2 thực Kéo luồng sau 13 Chuyển Q-, d, e, f xử lý Quay lại bước Bước 5: Hai xử lý P1 P2 thực - Bộ xử lý phụ P1 thực Nhận liệu từ P0 gửi đến bước Đẩy luồng trước - Bộ xử lý phụ P2 thực Nhận liệu từ P0gửi đến bước nhận liệu P1 gửi đến bước Kéo luồng sau Chuyển Q-, d, e, f, xử lý Quay lại bước 2.4.3.4 Ví dụ minh họa 2.4.3.5 Kết luận 2.5 Kết luận chƣơng Trong chương hai, trình bày chi tiết thuật toán đẩy luồng trước kế thừa từ nghiên cứu có đề xuất thuật toán hỗn hợp đẩy kéo luồng tìm luồng cực đại Từ đó, tối ưu thuật toán song song đẩy luồng trước đề xuất thuật toán song song hỗn hợp đẩy kéo luồng tìm luồng cực đại Các thuật toán song song đề xuất cụ thể, rõ ràng Các định lý, mệnh đề hệ liên quan đến thuật toán chứng minh rõ ràng Các thuật toán song song phân tích thời gian tính toán Đặc biệt, nội dung chương công bố báo chuyên ngành Công nghệ Thông tin liệt kê tài liệu [1], [3], [4] danh mục công trình tác giả 14 CHƢƠNG MỘT SỐ THUẬT TOÁN SONG SONG TÌM ĐƢỜNG ĐI NGẮN NHẤT VÀ TÌM LUỒNG CỰC ĐẠI TRÊN MẠNG ĐỒ THỊ MỞ RỘNG 3.1 Đồ thị mở rộng Cho đồ thị hỗn hợp G(V, E) với tập đỉnh V tập cạnh E, cạnh có hướng vô hướng Mỗi cạnh eE gán trọng số wE(e) Với đỉnh vV, ký hiệu Ev tập cạnh liên thuộc đỉnh v Mỗi đỉnh v V cạnh (e, e’)Ev Ev, e≠e’ gán trọng số wV(v, e, e’) Bộ (V, E, wE, wV) gọi đồ thị mở rộng 3.2 Thuật toán tìm đƣờng ngắn đồ thị mở rộng 3.2.1 Thuật toán 3.2.1.1 Giới thiệu 3.2.1.2 Xây dựng thuật toán - Đầu vào: Đồ thị mở rộng G(V, E, wE, wV), đỉnh s, tV - Đầu ra: l(t) chiều dài đường ngắn từ s đến t đường ngắn (nếu l(t) - Đầu ra: 1) Hệ số cực đại: max 2) Luồng thực tế {fej(a), fvj(u, e, e„)| aE, (e, u, e„)Bảng bv, j=1, ,k} 3) Chi phí thực tế BfB - Cách thực hiện: // Khởi tạo các giá trị ban đầu m n 1 1 le(e)= /cE(e),e E; lv(v) = /cV(v), vV; = /B; Đặt = ;3 = ; 1 D = (m+n+1); fej(a) = 0; aE, fvj(u, e, e„) = 0; uV, (e, u, e„)Bảng bv, j=1, , k t= 1;//biến đếm giai đoạn Bex = 0;// Chi phí tạm tính while(D // mức giai đoạn { 19 h 1 h i 1 i 1 length(p) le(ei ) lv(ui ) + b(p). = h 1 .b i 1 E (ei ) le(ei ) h bV (ui , ei , ei 1 ) lv(ui ) Tính f’=min{d’, cE(e), cV(v)|ep, vp}; i 1 B‟ =b(p)*f‟; if B’ > B {f’ = f’*B/B’; B’ = B}; // hiệu chỉnh luồng fej(a) = fej(a) +f‟;ap fvj(u, e, e‘) = fvj(u, e, e‘) +f’; (e, u, e‘)p // hiệu chỉnh tham số khác d‟ = d‟ f’; =*(1+*B’/B); le(e) = le(e)*(1+*f‟/cE(e)); ep lv(v) = lv(v)*(1+*f‟/cV(v)); vp D = D + *f‟*length(p); Bex = Bex+ B’; } //End while d‟> } //End for t = t + 1; } //End D < // hiệu chỉnh luồng thực tế lv(v) le(e) c’ = max{, ,|eE, vV}; / cE (e) / cV (v) / B cex= log1+c’; fej(a) = fej(a)/cex;aE, j=1, ,k fvj(u,e,e‘)=fvj(u,e,e‘)/cex;uV, (e,u,e‘)Bảng bv, j=1, ,k t cex 20 Bf = Bex /cex; max = ;// Chi phí tỉ lệ lớn 3.3.2 Thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn 3.3.2.1 Giới thiệu 3.3.2.2 Ý tưởng thuật toán song song Chúng xây dựng thuật toán m xử lý P1,…, Pm Trong m xử lý ta chọn xử lý P1 đóng vai trò trung tâm, thực quản lý liệu, phân chia công việc, gửi liệu đến m-1 xử lý phụ P2,…, Pm Bộ xử lý P1 chia k nhu cầu (sj, tj, dj), j=1,…,k cho m xử lý m-1 xử lý phụ nhận nhu cầu mà xử lý gửi đến thực nhân gấp m lần nhu cầu dj thực tính toán độc lập nhu cầu Kết tính đươc m-1 xử lý phụ gửi xử lý chính, xử lý cộng kết lại chia cho m m ax 1 , 2 , , m 3.3.2.3 Xây dựng thuật toán song song 3.3.2.4 Ví dụ minh họa 3.3.2.5 Phân tích độ phức tạp thời gian 3.3.2.6 Kết quả thực nghiệm 3.3.2.7 Kết luận Thuật toán song song làm giảm thời gian đáng kể so với thuật toán Thuật toán xây dựng có hệ thống, có thực nghiệm chứng minh rõ ràng 3.5 Kết luận chƣơng Trong chương này, đề xuất hai thuật toán: thuật 21 toán song song tìm đường ngắn đồ thị mở rộng thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn Các kết hệ thống chứng minh đầy đủ Đặc biệt, nội dung chương tác giả công bố báo chuyên ngành Công nghệ Thông tin liệt kê tài liệu [2], [5], [6] danh mục công trình tác giả công bố liên quan đến luận án 22 KẾT LUẬN Luận án, với đề tài “Song song hóa các thuật toán mạng đồ thị” tập trung đề xuất thuật toán song song sau: Thuật toán song song đẩy luồng trước tìm luồng cực đại Thuật toánsong song hỗn hợp đẩy kéo luồng tìm luồng cực đại Thuật toán song songtìm đường ngắn đồ thị mở rộng Thuật toán song songtìm luồng cực đại đồng thời chi phí giới hạn Những kết mà luận án đạt qua nghiên cứu sau: Thứ nhất, nghiên cứu lý thuyết xử lý song song, nghiên cứu lý thuyết đồ thị, đặc biệt toán tìm đường toán tìm luồng cực đại mạng đồ thị truyền thống mạng đồ thị mở rộng Thứ hai, đề xuất thuật toán để tìm luồng cực đại, đồng thời kế thừa thuật toán có để phân tích, đánh giá chứng minh tính đắn, từ làm sở để song song hóa thuật toán tương ứng Thứ ba, đề xuất thuật toán song song cho toán nêu cách chi tiết có tính toán thực nghiệm rõ ràng Thứ tư, tiến hành thực nghiệm thuật toán số xử lý khác Từ đánh giá, so sánh thời gian thuật toán song song so với thuật toán 23 DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ ĐÃ CÔNG BỐ LIÊN QUAN ĐẾN LUẬN ÁN [1] Tran Quoc Chien, Nguyen Dinh Lau, Nguyen Thi Tu Trinh, Sequential and Parallel Algorithm by Postflow-Pull Methods to Find Maximum Flow, Proceedings 2013 13th International Conference on Computational Science and Its Applications, ISBN:978-0-7695-5045-9/13 $26.00 © 2013 IEEE, DOI 10.1109/ICCSA.2013.36, published by CPS, pp 178-181 [2] Nguyen Dinh Lau, Tran Quoc Chien, Le Manh Thanh, Improved Computing Performance for Algorithm Finding the Shortest Path in Extended Graph, proceedings of the 2014 international conference on foundations of computer science (FCS’14), July 21-24, 2014 Las Vegas Nevada, USA, Copyright © 2014 CSREA Press, ISBN: 1-60132-270-4, Printed in the United States of America, pp 14-20 [3] Nguyễn Đình Lầu, Lê Mạnh Thạnh, Trần Quốc Chiến, Thuật toán và song song đẩy luồng trước tìm luồng cực đại, Chuyên san số đặc biệt công trình Điện tử, truyền thông Công nghệ thông tin Viện Hàn Lâm Khoa Học Công Nghệ Việt Nam & Học Viện Bưu Chính Viễn Thông, số 51(4A)2013 ISSN: 0866 708X, trang 109- 125 [4] Trần Quốc Chiến, Lê Mạnh Thạnh, Nguyễn Đình Lầu, Thuật toán và song song tìm luồng cực đại phương pháp hỗn hợp đẩy kéo luồng, Kỷ yếu hội nghị Quốc gia lần thứ VI nghiên cứu ứng dụng Công nghệ thông tin (FAIR): Huế, ngày 20-21/6/2013, ISBN: 978-604-913-165-3, Nhà xuất khoa học tự nhiên công nghệ Hà Nội, trang 538-549 24 [5] Nguyễn Đình Lầu, Trần Quốc Chiến,Lê Mạnh Thạnh, Thuật toán song song phân luồng tuyến tính tối ưu mạng giao thông mở rộng, Chuyên san Các Công trình Nghiên cứu , Phát triển và Ứng du ̣ng Công nghệ Thông tin và Truyề n thông Bộ Thông Tin-Truyền Thông, Kỳ 3, Tâ ̣p V -1, số 11 (31), 6/2014, trang 15-28 [6] Trần Quốc Chiến, Lê Mạnh Thạnh, Nguyễn Đình Lầu,Thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn, Kỷ yếu hội thảo quốc gia lần thứ XVI: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông, chủ đề: an toàn bảo mật thông tin-Đà Nẵng, 14-15/11/2013, Nhà xuất khoa học tự nhiên kỹ thuật, ISBN: 978-604-67-0251-1, trang 314-321 [7] Nguyễn Đình Lầu, Trần Ngọc Việt, Song song hóa thuật tón tìm đường ngắn tất cả ćc đỉnh hệ thống cụm máy tính, Kỷ yếu hội thảo quốc gia lần thứ XV, số vấn đề chọn lọc công nghệ thông tin truyền thông, chủ đề: tính toán khoa học, nhà xuất khoa học kỹ thuật, Hà Nội 2012, trang 403-409 [...]... mục các công trình của tác giả đã công bố liên quan đến luận án 22 KẾT LUẬN Luận án, với đề tài Song song hóa các thuật toán trên mạng đồ thị đã tập trung đề xuất 4 thuật toán song song sau: 1 Thuật toán song song đẩy luồng trước tìm luồng cực đại 2 Thuật toánsong song hỗn hợp đẩy kéo luồng tìm luồng cực đại 3 Thuật toán song songtìm đường đi ngắn nhất trên đồ thị mở rộng 4 Thuật toán song songtìm... chứng minh tính đúng đắn, từ đó làm cơ sở để song song hóa các thuật toán tuần tự tương ứng Thứ ba, đề xuất thuật toán song song cho các bài toán đã nêu ở trên một cách chi tiết và có tính toán thực nghiệm rõ ràng Thứ tư, tiến hành thực nghiệm thuật toán trên một số bộ xử lý khác nhau Từ đó đánh giá, so sánh thời gian của thuật toán song song so với thuật toán tuần tự 23 DANH MỤC CÔNG TRÌNH CỦA TÁC... luồng cực đại đồng thời chi phí giới hạn Những kết quả chính mà luận án đạt được qua nghiên cứu như sau: Thứ nhất, nghiên cứu lý thuyết về xử lý song song, nghiên cứu lý thuyết đồ thị, đặc biệt là các bài toán tìm đường đi và các bài toán tìm luồng cực đại trên mạng đồ thị truyền thống và mạng đồ thị mở rộng Thứ hai, đề xuất các thuật toán mới để tìm luồng cực đại, đồng thời kế thừa các thuật toán đã có... nghiệm 3.3.2.7 Kết luận Thuật toán song song làm giảm thời gian đáng kể so với thuật toán tuần tự Thuật toán được xây dựng có hệ thống, có thực nghiệm và chứng minh rõ ràng 3.5 Kết luận chƣơng Trong chương này, chúng tôi đã đề xuất hai thuật toán: thuật 21 toán song song tìm đường đi ngắn nhất trên đồ thị mở rộng và thuật toán song song tìm luồng cực đại đồng thời chi phí giới hạn Các kết quả chính được... bày chi tiết thuật toán tuần tự đẩy luồng trước được kế thừa từ các nghiên cứu đã có và đề xuất thuật toán hỗn hợp đẩy kéo luồng tìm luồng cực đại Từ đó, chúng tôi tối ưu thuật toán song song đẩy luồng trước và đề xuất thuật toán song song hỗn hợp đẩy kéo luồng tìm luồng cực đại Các thuật toán song song được đề xuất cụ thể, rõ ràng Các định lý, mệnh đề và hệ quả liên quan đến các thuật toán đều được... là: s vk vk 1 v1 t Kết thúc Định lý 3.1: Thuật toán tìm đường đi ngắn nhất giữa hai đỉnh trong 16 đồ thị mở rộng là đúng Định lý 3.2: Cho G là đồ thị mở rộng có n đỉnh Khi đó độ phức tạp của thuật toán là O(n3) 3.2.2 Thuật toán song song 3.2.2.1 Giới thiệu 3.2.2.2.Ý tưởng của thuật toán song song Thuật toán song song được xây dựng trên k bộ xử lý (P0, P1,…, Pk-1) Trong k bộ xử lý đó có... ràng Các thuật toán song song đều phân tích thời gian tính toán Đặc biệt, nội dung chính của chương này được chúng tôi công bố trong 3 bài báo chuyên ngành Công nghệ Thông tin và được liệt kê ở tài liệu [1], [3], [4] trong danh mục các công trình của tác giả 14 CHƢƠNG 3 MỘT SỐ THUẬT TOÁN SONG SONG TÌM ĐƢỜNG ĐI NGẮN NHẤT VÀ TÌM LUỒNG CỰC ĐẠI TRÊN MẠNG ĐỒ THỊ MỞ RỘNG 3.1 Đồ thị mở rộng Cho đồ thị hỗn... tốc trên các bộ xử lý đối với đồ thị 7000 nút (nét liền)và 5000 nút (nét đứt) 17 3.2.2.5 Kết luận 3.3 Thuật toán tìm luồng cực đại đồng thời chi phí giới hạn 3.3.1 Thuật toán tuần tự 3.3.1.1 Giới thiệu 3.3.1.2 Mạng giao thông mở rộng Cho mạng là đồ thị hỗn hợp G=(V, E) với tập nút V và tập cạnh E Các cạnh có thể có hướng hoặc vô hướng Có nhiều loại phương tiện lưu hành trên mạng Trên mạng cho các. .. tính toán, ta xây dựng thuật toán song song hỗn hợp đẩy kéo luồng tìm luồng cực đại 2.4.3.2 Ý tưởng của thuật toán song song Thuật toán song sẽ dùng 3 bộ xử lý, 1 bộ xử lý P0 quản lý dữ liệu, gửi và nhận dữ liệu từ 2 bộ xử lý phụ (P1, P2) Trong 2 bộ xử lý phụ, một bộ xử lý P1 sẽ đẩy luồng từ Q+ và bộ xử lý P2 sẽ kéo luồng từ Q- các bộ xử lý phụ kết thúc khi các Q+ và Q- là rỗng 2.4.3.3 Xây dựng thuật. .. E, trong đó các cạnh có thể có hướng hoặc vô hướng Mỗi cạnh eE được gán trọng số wE(e) Với mỗi đỉnh vV, ký hiệu Ev là tập các cạnh liên thuộc đỉnh v Mỗi đỉnh v V và mỗi cạnh (e, e’)Ev Ev, e≠e’ được gán trọng số wV(v, e, e’) Bộ (V, E, wE, wV) gọi là đồ thị mở rộng 3.2 Thuật toán tìm đƣờng đi ngắn nhất trên đồ thị mở rộng 3.2.1 Thuật toán tuần tự 3.2.1.1 Giới thiệu 3.2.1.2 Xây dựng thuật toán ... Chương Xử lý song song Chương Các thuật toán song song mạng đồ thị truyền thống Chương Một số thuật toán song song tìm đường ngắn tìm luồng cực đại mạng đồ thị mở rộng 4 CHƢƠNG XỬ LÝ SONG SONG 1.1... án, với đề tài Song song hóa các thuật toán mạng đồ thị tập trung đề xuất thuật toán song song sau: Thuật toán song song đẩy luồng trước tìm luồng cực đại Thuật toánsong song hỗn hợp đẩy... thiệu xử lý song song 1.2 Kiến trúc máy tính song song 1.3 Thuật toán song song 1.4 Kết luận chƣơng Để giải toán đặt cách hiệu máy tính mà có, vấn đề làm để xây dựng thuật toán song song Cách làm