Tối ưu hóa truy vấn tìm đường ngắn nhất trên đồ thị động quy mô lớn

75 109 0
Tối ưu hóa truy vấn tìm đường ngắn nhất trên đồ thị động quy mô lớn

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM HẢI ĐĂNG TỐI ƯU HĨA TRUY VẤN TÌM ĐƯỜNG NGẮN NHẤT TRÊN ĐỒ THỊ ĐỘNG QUY LỚN LUẬN VĂN THẠC SĨ NGÀNH HỆ THỐNG THÔNG TIN Hà Nội – 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM HẢI ĐĂNG TỐI ƯU HĨA TRUY VẤN TÌM ĐƯỜNG NGẮN NHẤT TRÊN ĐỒ THỊ ĐỘNG QUY LỚN Ngành: Hệ thống thơng tin Chun ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ NGÀNH HỆ THỐNG THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Ngọc Hóa Hà Nội – 2016 LỜI CẢM ƠN Để hồn thiện luận văn thạc sỹ mình, trước tên, tơi xin bày tỏ lòng biết ơn sâu tới thầy – PGS.TS Nguyễn Ngọc Hóa (bộ mơn Các hệ thống thơng tn – trường Đại học Công nghệ – Đại học Quốc gia Hà Nội) Sự gần gũi, khích lệ nhiệt tnh hướng dẫn thầy nguồn động lực lớn suốt thời gian thực luận văn Tôi xin gửi lời cảm ơn chân thành tới tất thầy, cô môn Các hệ thống thông tn, thầy, cô khoa Công nghệ thông tn – trường Đại học Công nghệ – Đại học Quốc gia Hà Nội nhiệt tnh giảng dạy, cung cấp cho kiến thức, kinh nghiệm không học tập mà sống hàng ngày Đồng thời xin gửi lời cảm ơn đến cha mẹ, người thân gia đình, bạn học viên, đồng nghiệp giúp đỡ, động viên, tạo điều kiện tốt cho tơi suốt khóa học Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội để tơi hồn thiện tốt luận văn thạc sỹ Hà Nội, tháng 11 năm 2016 Học viên Phạm Hải Đăng LỜI CAM ĐOAN Tôi xin cam đoan luận văn tốt nghiệp “Tối ưu hóa truy vấn tìm đường ngắn đồ thị động quy lớn” cơng trình nghiên cứu thực thân, thực sở nghiên cứu lý thuyết, kiến thức chuyên ngành, nghiên cứu khảo sát tnh hình thực tễn hướng dẫn khoa học PGS.TS Nguyễn Ngọc Hóa Các kết viết chung với tác giả khác đồng ý tác giả trước đưa vào luận văn Những phần tham chiếu, trích dẫn luận văn nêu rõ phần tài liệu tham khảo Các số liệu, kết trình bày luận văn hồn tồn trung thực Nếu sai tơi xin chịu hoàn toàn trách nhiệm chịu kỷ luật khoa nhà trường đề Hà Nội, tháng 11 năm 2016 Học viên Phạm Hải Đăng MỤC LỤC TRANG PHỤ BÌA LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ Giới thiệu chung Động lực nghiên cứu Mục têu nội dung luận văn Tổ chức luận văn Chương 1: Cơ sở lý thuyết vấn đề liên quan 10 1.1 Đồ thị 10 1.1.1 Giới thiệu đồ thị 13 1.1.2 Một số thuật ngữ 14 1.1.3 Biểu diễn đồ thị 15 1.1.4 Các thuật toán tm kiếm đồ thị ứng dụng 18 1.2 Bài toán tm đường ngắn 21 1.3 Tổng kết chương 27 Chương 2: Bài toán, cách tếp cận phương pháp giải 28 2.1 Định nghĩa toán 28 2.2 Các vấn đề liên quan 29 2.3 Cách tếp cận giải toán 34 2.4 Cấu trúc liệu phù hợp 34 2.5 Tối ưu q trình thêm xóa cạnh đồ thị 37 2.5.1 Thêm cạnh 37 2.5.2 Xóa cạnh 39 2.6 Tối ưu trình xử lý truy vấn tm đường ngắn 40 2.6.1 Cải thiện thuật toán tm đường ngắn từ hai hướng 40 2.6.2 Song song hóa truy vấn tm đường ngắn 41 2.7 Tổng kết chương 41 Chương 3: Thực nghiệm đánh giá 42 3.1 Cài đặt 42 3.2 Thực nghiệm 46 3.2.1 Cuộc thi ACM Sigmod Contest 2016 46 3.2.2 Kiểm nghiệm với liệu SNAP 47 3.3 Tổng kết chương 53 Kết luận chung 54 Các đóng góp 54 Hướng phát triển 54 Danh mục công trình khoa học tác giả 55 Tài liệu tham khảo 56 DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Kí hiệu Giải thích Tiếng Anh Tiếng Việt GPS Global Positoning System Hệ thống định vị toàn cầu ACM Associaton for Computng Machinery Hiệp hội máy tnh giới Sigmod Special Interest Group on Management of Data Nhóm quan tâm đặc biệt quản lý liệu DFS Depth First Search Thuật toán duyệt đồ thị theo chiều sâu BFS Breadth First Search Thuật toán duyệt đồ thị theo chiều rộng BBFS Bi-directonal Breadth First Search Thuật toán duyệt đồ thị theo chiều rộng từ hai hướng SNAP Stanford Network Analysis Platform Nền tảng phân tch mạng Stanford DANH MỤC CÁC BẢNG Bảng 1.1: Một số thống kê độ phức tạp số phương phức đồ thị [11] 17 Bảng 2.1: Độ trễ nhớ 2016 34 Bảng 3.1:Thống kê liệu ACM Sigmod 46 Bảng 3.2: Kết thi ACM Sigmod (tnh theo giây) 46 Bảng 3.3: Thống kê liệu LiveJournal Pokec 49 Bảng 3.4: Kết thử nghiệm (tnh theo mili giây) 51 DANH MỤC CÁC HÌNH VẼ Hình 1.1: Mạng xã hội 10 Hình 1.2: Đường mạng xã hội 11 Hình 1.3: Chu trình mạng xã hội 11 Hình 1.4: Bản đồ khoảng cách số tỉnh thành phía Bắc 12 Hình 1.5: Mạng xã hội có hướng 12 Hình 1.6: Đồ thị 13 Hình 1.7: Đồ thị có hướng 15 Hình 2.1: Dữ liệu đầu vào 29 Hình 2.2: Lơ liệu kiểm thử 29 Hình 2.3: Giới thiệu OpenMP 31 Hình 2.4: Giới thiệu Pthread 32 Hình 2.5: Song song hóa truy vấn Cilk Plus 33 Hình 2.6: Cấu trúc liệu đồ thị 36 Hình 2.7: Thêm cạnh cách chèn vào mảng 37 Hình 2.8: Cấu trúc liệu danh sách kề cấp phát trước khoảng trống 38 Hình 2.9: Thêm cạnh cách cấp trước khoảng trống 38 Hình 2.10: Quá trình thêm cạnh 39 Hình 2.11: Q trình xóa cạnh 39 Hình 2.12: Thứ tự duyệt đỉnh thuật toán duyệt đồ thị theo chiều rộng từ hai hướng 40 Hình 3.1: Thời gian thực thi hai phép toán thao tác mảng bit 45 Hình 3.2: Kết thi ACM Sigmod 2016 48 Hình 3.3: Kết thử nghiệm với liệu SIGMOD TEST 52 Hình 3.4: Kết thử nghiệm với liệu POKEC 52 Hình 3.5: Kết thử nghiệm với liệu LIVEJOURNAL 53 Giới thiệu chung Động lực nghiên cứu Hiện nay, sống thời đại bùng nổ công nghệ thông tn bùng nổ xã hội mạng Một số mạng điển mạng xã hội (Facebook, Twiter), mạng sinh học, mạng phân tán nội dung, mạng lưới giao thơng, mạng thơng tn… có số lượng liệu tăng nhanh chóng mặt Để giải thách thức mặt liệu lớn trên, có nhiều phương pháp tiếp cận, phương pháp tếp cận dựa đồ thị cho trực quan phù hợp [8] Với việc sử dụng lý thuyết đồ thị, đỉnh biểu diễn thực thể cạnh biểu diễn mối liên hệ chúng Trong đồ thị, tm đường (ngắn nhất) vấn đề tm kết nối hai đỉnh đồ thị đảm bảo đường ngắn dựa số yêu cầu cho trước Đây vấn đề tảng áp dụng nhiều ứng dụng thực tế tm đường ngắn hai địa điểm sử dụng GPS hay tm mối liên kết hai người mạng xã hội [6] Vấn đề bình thường đơn giản, bối cảnh số lượng đỉnh, cạnh đồ thị lớn (vài triệu đỉnh) thay đổi nhanh (thêm cạnh, bớt cạnh), làm để tối ưu hóa q trình tm đường ngắn thách thức lớn [21] Mục tiêu nội dung luận văn Với mục têu trên, luận văn trình bày giải pháp để cải thiện hiệu trình tối ưu truy vấn đồ thị động, quy lớn có hướng không trọng số Phương pháp tối ưu dựa ý tưởng: cấu trúc liệu phù hợp, tối ưu không gian tm kiếm cài đặt phù hợp Tổ chức luận văn Nội dung luận văn tổ chức sau: Mở đầu: Đặt vấn đề Chương 1: Giới thiệu sở lý thuyết, vấn đề liên quan đến đồ thị toán tm đường ngắn đồ thị Chương 2: Trình bày toán, cách tếp cận, phương pháp giải toán Chương 3: Thực nghiệm đánh giá kết đạt Kết luận chung: Kết luận đưa hướng phát triển 48 uoa_team (giải nhì) while1 (đồng giải ba) gStreamPKU (đồng giải ba) 0.208 0.217 1.085 2.123 0.157 0.234 1.150 2.597 0.134 0.072 1.087 3.239 Với kết trên, giải pháp lựa chọn năm đội xuất sắc thi lập trình ACM Sigmod 2016 (Hình 3.2) mời đến trình bày kết hội nghị Sigmod 2016 3.2.2 Kiểm nghiệm với liệu SNAP Hai liệu phù hợp với hình chọn LiveJournal Pokec Trong LiveJournal liệu cộng đồng trực tuyến miễn phí với gần 10 triệu thành viên, lượng đáng kể số lượng thành viên thường xuyên hoạt động (có khoảng 300.000 cập nhật/ngày) LiveJournal cho phép thành viên trì tạp chí, blog cá nhân nhóm Nó cho phép người cộng đồng tự kết bạn với [5] Pokec liệu mạng xã hội trực tuyến phổ biến Slovakia Mặc dù Facebook phát triển đây, số lượng người dùng Pokec ổn định Mạng xã hội Pokec triển khai 10 năm có khoảng 1,6 triệu người kết nối Bộ liệu bao gồm liệu người dùng (ẩn danh) tồn mạng Nó bao gồm giới tnh, tuổi, sở thích, giáo dục… Thơng tn cung cấp dạng ngôn ngữ Slovakia Kết nối mạng xã hội có hướng [5] 49 Hình 3.2: Kết thi ACM Sigmod 2016 50 Chi tiết hai liệu miêu tả Bảng 3.3 Bảng 3.3: Thống kê liệu LiveJournal Pokec Thông số LiveJournal Pokec Đỉnh 847 571 632 803 Cạnh 68 993 773 30 622 564 Độ dài khoảng cách lớn 16 11 Bậc lớn 20 293 763 Bậc lớn 13 906 13 733 Cấu hình máy thử nghiệm + CPU: x Intel Xeon E7- 4850 @ 2.00GHz (10 cores / 20 threads) + RAM: 128GB + Hệ điều hành: CentOS 6.7 Linux + Phần mềm: Automake 1.15, gcc5.2.0 Khối lượng kiểm nghiệm Để kiểm nghiệm phương pháp, công cụ sinh tự động kiện chúng tơi xây dựng theo phương pháp trình bày mục 2.1 Với đồ thị, sinh kiểm thử với khoảng 1.000.000 kiện Tỉ lệ kiện truy vấn/thêm cạnh/xóa cạnh tương ứng 8/1/1 Thực chất, có khoảng 800.000 truy vấn tm đường ngắn nhất, 100.000 kiện thêm cạnh 100.000 kiện xóa cạnh Kết thử nghiệm Thuật tốn trình bày luận văn so sánh với hai giải pháp Reference, Snap trình bày mục 2.2, với giải pháp thi ACM Sigmod Contest 2016 Trong giải pháp Reference, đồ thị lưu trữ dạng danh sách liền kề theo kiểu dictonary ngơn ngữ lập trình python Mỗi kiện thêm cạnh xóa cạnh thực Sự kiện truy vấn sử dụng thuật toán tm kiếm tm đường ngắn từ hai hướng Còn giải pháp Snap, đồ thị 51 lưu trữ dạng danh sách liền kề theo cấu trúc liệu vector ngơn ngữ lập trình C++ Hai kiện thêm cạnh xóa cạnh thực Sự kiện truy vấn sử dụng thuật toán tm đường ngắn từ hai hướng Thêm nữa, giải pháp bốn đội xuất sắc thi ACM Sigmod 2016 sử dụng để so sánh Dưới tóm tắt giải pháp bốn đội H_minor_free (đội đạt giải nhất): Lưu trữ đồ thị dạng danh sách cạnh liền kề theo cấu trúc vector ngôn ngữ C++ Mỗi cạnh gán thêm thuộc tnh ALIVE: cạnh qua, DEAD: cạnh qua, UNKNOWN: cạnh thay đổi q trình thực lơ Với lơ, thuật tốn thực qua ba bước - Bước 1: Với cạnh thêm vào xóa thay đổi thuộc tnh cạnh thành UNKNOWN - Bước 2: Sử dụng thuật toán duyệt đồ thị theo chiều rộng từ hai hướng sử dụng OpenMP để song song truy vấn - Bước 3: Thay đổi thuộc tnh cạnh thành ALIVE (sự kiện thêm cạnh), DEAD (sự kiện xóa cạnh) sau q trình truy vấn Uoa_team (đội đạt giải nhì): Đồ thị biểu diễn dạng danh sách kề, gồm danh sách kề đỉnh vào danh sách kề đỉnh Các kiện thêm cạnh xóa cạnh khơng thực song song mà lưu cấu trúc liệu khác với phiên Sự kiện truy vấn sử dụng thuật toán duyệt đồ thị theo chiều rộng từ hai hướng kết hợp với phương pháp threadpool để tăng tốc trình truy vấn While1: Đồ thị biểu diễn dạng hai danh sách kề đỉnh đỉnh vào Mỗi kiện thêm cạnh xóa cạnh thêm vào danh sách transacton Sau kết thúc lô, transacton áp dụng để thêm cạnh xóa cạnh từ đồ thị Chương trình sử dụng nhiều luồng để tăng tốc xử lý kiện Luồng xử lý kiện thêm, xóa cạnh Sự kiện truy vấn sử dụng thuật toán duyệt đồ thị theo chiều rộng từ hai hướng phân phối cho luồng lại gStreamPKU: Lưu trữ đồ thị dạng danh sách cạnh liền kề theo cấu trúc unordered_map ngôn ngữ C++ Một đồ thị tạm gọi Delta Graph xây dựng để lưu kiện thêm cạnh xóa cạnh với nhãn thời gian kiện Thuật toán duyệt đồ thị theo chiều rộng từ hai hướng sử dụng kiện truy vấn52 kết hợp với Threading Building Blocks (TBB) để tăng tốc trình truy vấn 53 Để đánh giá hiệu thuật toán, phương pháp chạy tổng cộng lần, sau lấy kết trung bình Đối với giải pháp luận văn đội thi ACM Sigmod 2016, chương trình thực thi với 24 luồng (giống điều kiện máy kiểm thử ban tổ chức) Kết trung bình trình bày chi tiết Bảng 3.4 Bảng 3.4: Kết thử nghiệm (tính theo mili giây) Bộ liệu Sigmod Test Pokec Live Journal 787 17 985 42 876 825 674 903 068 53 235 981 Snap 48 741 49 316 108 ~ ngày H_minor_free 422 047 15 673 Uoa_team 110 17 526 14 724 Kết truy vấn chưa xác Kết truy vấn chưa xác Kết truy vấn chưa xác 918 134 12 085 Giải pháp Giải pháp luận văn Reference While1 gStreamPKU Bên cạnh đó, luận văn so sánh phương pháp giải pháp thay đổi số lượng luồng xử lý truy vấn Kết chi tết miêu tả Hình 3.3, Hình 3.4 Hình 3.5 54 SIGMOD TEST 8000 7000 Milliseconds 6000 5000 4000 3000 2000 1000 16 24 32 48 Number of Threads Thesis H_miror_free uoa_team gStreamPKU Hình 3.3: Kết thử nghiệm với liệu SIGMOD TEST POKEC 70000 60000 Milliseconds 50000 40000 30000 20000 10000 16 24 32 Number of Threads Thesis H_miror_free uoa_team gStreamPKU Hình 3.4: Kết thử nghiệm với liệu POKEC 48 53 LIVEJOURNAL 54 140000 Milliseconds 120000 100000 80000 60000 40000 20000 16 24 32 48 Number of Threads Thesis H_miror_free uoa_team gStreamPKU Hình 3.5: Kết thử nghiệm với liệu LIVEJOURNAL Dựa kết thu được, rút kết luận, tùy thuộc vào liệu mà trình song song hóa có hiệu hay khơng Bộ liệu Sigmod có số lượng đỉnh có bậc bậc ngồi lớn Nói cách khác, số đỉnh tập trung đến, tập trung từ vài đỉnh, không phân bố đồ thị Hệ số lượng đỉnh treo nhiều Do đó, truy vấn tm đường ngắn thực thi nhanh Khi đó, chi phí cho việc quản lý nhiều luồng khơng bù lại chi phí thi hành song song hóa Bởi vậy, trường hợp số lượng luồng cho kết tốt Ngược lại, hai liệu LiveJournal Pokec có quy liệu đồ sộ nhiều lần so với liệu Sigmod (gấp khoảng 25 10 lần), có tỉ lệ đỉnh/cạnh lớn (3/4 1/2), kết hợp với cạnh phân bố hơn, đó, q trình song song hóa thực có tác dụng Tuy nhiên, việc tăng số lượng luồng lên đến mức định Quá giới hạn này, chương trình gặp phải vấn đề chi phí quản lý luồng đề cập Vì vậy, với liệu, phải dựa vào thực tế để tm ngưỡng luồng đạt hiệu cao 3.3 Tổng kết chương Chương trình bày chi tiết phương án cài đặt dựa phân tch chương Bên cạnh đó, luận văn so sánh kết thực nghiệm với hai thư viện NetworkX Snap, so sánh cụ thể với bốn đội đạt kết tốt thi lập trình ACM Sigmod 2016 Kết thu cho phép kết luận phương án luận văn đạt hiệu tốt Kết luận chung Các đóng góp Sau thời gian nghiên cứu tm hiểu đề tài, luận văn hồn thành đạt nội dung đề với mục tiêu tối ưu truy vấn tm đường ngắn đơn đồ thị, động, có hướng, khơng trọng số với quy liệu lớn Về lý thuyết, luận văn trình bày số kiến thức đồ thị, dạng đồ thị ứng dụng lý thuyết đồ thị toán cụ thể đời sống hàng ngày Tiếp theo, luận văn trình bày bốn hình liên quan đến việc cài đặt đồ thị thực tế phân tch ưu, nhược điểm hình Bên cạnh đó, luận văn trình bày tốn tm đường ngắn đồ thị, thuật toán hay sử dụng ứng dụng toán thực tễn Kế tếp, luận văn trình bày cơng cụ mã nguồn mở, vấn đề liên quan xử lý toán liên quan đến đồ thị, kết hợp với đánh giá mặt thuận lợi khó khăn áp dụng với đơn đồ thị, động, có hướng, khơng trọng số với quy liệu lớn Về thực nghiệm, luận văn đưa phương pháp để cải thiện trình tm đường ngắn nhất, cài đặt hoàn chỉnh mã nguồn ngôn ngữ C Phương pháp kiểm nghiệm thi lập trình ACM Sigmod 2016 cho kết khả quan Thêm vào đó, thuật toán luận văn so sánh với số công cụ mã nguồn mở cho xử lý toàn liên quan đến đồ thị tốt với bốn đội xuất sắc từ thi lập trình ACM Sigmod 2016 hai LiveJournal Pokec Kết cho thấy phương pháp đạt kết tốt dựa việc sử dụng cấu trúc liệu phù hợp, tối ưu thuật toán duyệt đồ thị theo chiều rộng từ hai hướng, sử dụng công cụ Cilk Plus để song song hóa q trình truy vấn Hướng phát triển Dựa đó, hướng phát triển đề tài tối ưu hóa thuật tốn, áp dụng phương pháp khác vào trình tm kiếm đường ngắn tnh toán trước hay dự kiến đường ngắn hai đỉnh qua số đỉnh trung gian Từ giảm nhiều thời gian tnh toán lần lại phải tnh toán lại từ đầu đường ngắn Tiếp theo áp dụng kỹ thuật giảm tỉ lệ cache miss CPU cho toán cần hiệu cao khác xử lý giao dịch trực tuyến (Online Transacton Processing) Danh mục cơng trình khoa học tác giả Phuong-Hanh DU, Hai-Dang PHAM, Ngoc-Hoa NGUYEN, "Optimizing the Shortest Path Query on Large-Scale Dynamic Directed Graph", Proceedings of the 3rd IEEE/ACM Internatonal Conference on Big Data Computng Applicatons and Technologies (BDCAT 2016), Shanghai, China, 2016 (Accepted) 56 Tài liệu tham khảo Tiếng Việt [1] Nguyễn Đức Nghĩa, Nguyễn Tơ Thành, Tốn rời rạc.: Nhà xuất Đại học Quốc gia Hà Nội, 2006 Tiếng Anh [2] Dip Sankar Banerjee, Shashank Sharma, and Kishore Kothapalli, "Work efcient parallel algorithms for large graph exploraton," in 20th Annual International Conference on High Performance Computing, 2013, pp 433 - 442 [3] Venkatesan T Chakaravarthy, Fabio Checconi, Fabrizio Petrini, and Yogish Sabharwal, "Scalable Single Source Shortest Path Algorithms for Massively Parallel Systems," in Parallel and Distributed Processing Symposium, 2014 IEEE 28th International, 2014, pp 889 - 901 [4] Cilk Plus [Online] htps://www.cilkplus.org [5] Stanford Large Network Dataset htp://snap.stanford.edu/data/index.html Collecton [6] The ACM SIGMOD Programming Contest htp://dsg.uwaterloo.ca/ sigmod16contest/ [Online] (2016) [Online] [7] Tom Cormen and Devin Balkcom KHANACADEMY htps://www.khanacademy.org/computng/computerscience/algorithms/ [Online] [8] Jayanta Mondal and Amol Deshpande, "Managing large dynamic graphs efciently," in ACM SIGMOD International Conference on Management of Data, 2012, pp 145-156 [9] Joseph E Gonzalez, Yucheng Low, Haijie Gu, Danny Bickson, and Carlos Guestrin, "PowerGraph: Distributed Graph-Parallel Computaton on Natural Graphs," in OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation, 2012, pp 17-30 [10] Joseph E Gonzalez et al., "GraphX: Graph Processing in a Distributed Dataflow Framework," in OSDI'14 Proceedings of the 11th USENIX conference on Operating Systems Design and Implementation, 2014, pp 599-613 [11] Michael T Goodrich, Roberto Tamassia, and Michael H Goldwasser, Data Structures and Algorithms in Java, 6th ed United States of America: Wiley, 57 2014 58 [12] Aric A Hagberg, Daniel A Schult, and Pieter J Swar, "Exploring network structure, dynamics, and functon using NetworkX," in Proceedings of the 7th Python in Science Conference (SciPy), 2008, pp 11-15 [13] Charles E Leiserson and Tao B Schardl, "A work-efcient parallel breadthfirst search algorithm (or how to cope with the nondeterminism of reducers)," in Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures, 2010, pp 303-314 [14] Qingxia Li and Wenhong Wei, "A parallel single-source shortest path algorithm based on bucket structure," in 2013 25th Chinese Control and Decision Conference (CCDC), 2013, pp 3445 - 3450 [15] Waqas Nawaz, Kifayat-Ullah Khan, and Young-Koo Lee, "CORE Analysis for Eficient Shortest Path Traversal Queries in Social Graphs," in In Social Graphs,Big Data and Cloud Computing (BdCloud), 2014 IEEE Fourth International Conference, Sydney, 2014, pp 363-370 [16] NetworkX [Online] htp://networkx.github.io [17] Open Mult-Processing [Online] htp://openmp.org/ [18] POSIX Threads Programming htps://computng.llnl.gov/tutorials/pthreads/ [Online] [19] Grégoire Scano, Marie-José Huguet, and Sandra Ulrich Ngueveu, "Adaptations of k-shortest path algorithms for transportaton networks," in Industrial Engineering and Systems Management (IESM), 2015 International Conference on, 2015, pp 663 - 669 [20] Stanford Network Analysis Platform [Online] htp://snap.stanford.edu [21] Leong Hou U, Hong Jun Zhao, Man Lung Yiu, Yuhong Li, and Zhiguo Gong, "Towards Online Shortest Path Computaton," IEEE Transactions on Knowledge and Data Engineering, vol 26, no 4, pp 1012 - 1025, Apr 2014 [22] Jian Wei, Kai Chen, Yi Zhou, Qu Zhou, and Jianhua He, "Benchmarking of Distributed Computng Engines Spark and GraphLab for Big Data Analytcs," in 2016 IEEE Second International Conference on Big Data Computing Service and Applications (BigDataService), 2016, pp 10 - 13 ... ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ PHẠM HẢI ĐĂNG TỐI ƯU HĨA TRUY VẤN TÌM ĐƯỜNG NGẮN NHẤT TRÊN ĐỒ THỊ ĐỘNG QUY MƠ LỚN Ngành: Hệ thống thông tin Chuyên ngành: Hệ thống thông tin Mã... têu trên, luận văn trình bày giải pháp để cải thiện hiệu trình tối ưu truy vấn đồ thị động, quy mơ lớn có hướng khơng trọng số Phương pháp tối ưu dựa ý tưởng: cấu trúc liệu phù hợp, tối ưu không... tương ứng với cặp đỉnh [1] Thực tế, đơn đồ thị đa đồ thị, đa đồ thị đơn đồ thị, đa đồ thị có hai (hoặc nhiều hơn) cạnh nối cặp đỉnh Giả đồ thị vô hướng Giả đồ thị vô hướng G = (V, E) bao gồm V tập

Ngày đăng: 22/04/2019, 11:58

Từ khóa liên quan

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

Tài liệu liên quan