1. Trang chủ
  2. » Giáo án - Bài giảng

Một cách tiếp cận mới cho bài toán tìm đường đi ngắn nhất trên đồ thị phân tán

7 64 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Bài viết đề xuất một cách tiếp cận mới dựa trên kỹ thuật ước lượng từng phần để giải quyết bài toán tìm đường đi ngắn nhất giữa hai đỉnh trên một đồ thị phân tán.

ISSN 2354-0575 MỘT CÁCH TIẾP CẬN MỚI CHO BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN ĐỒ THỊ PHÂN TÁN Nguyễn Thị Huyền, Phạm Đăng Hải Trường Đại học Bách khoa Hà Nội Ngày nhận: 17/2/2016 Ngày xét duyệt: 15/3/2016 Tóm tắt: Gần đây, hiệu việc truy vấn thông tin đồ thị lớn trở thành chủ đề quan trọng khoa học máy tính Một câu truy vấn sử dụng rộng rãi “tìm đường ngắn hai đỉnh đồ thị”, tốn mà giải vài thuật toán tiếng Dijkstra, Johnson, hay Floyd-Warshall; nhiên, khơng đơn giản để trả lời câu truy vấn đồ thị mà liệu phân tán nhiều vị trí khác Trong báo này, đề xuất cách tiếp cận dựa kỹ thuật ước lượng phần để giải tốn tìm đường ngắn hai đỉnh đồ thị phân tán Chúng tơi thuật tốn đề xuất cài đặt hình thức song song tảng MapReduce Bằng việc sử dụng tập liệu thực tế cho thực nghiệm, tiến hành thực nghiệm thuật toán chúng tơi có khả mở rộng cho đồ thị lớn hệ thống phân tán Từ khóa: Truy vấn đồ thị, MapReduce, Đường ngắn nhất, Đồ thị phân tán, Ước lượng phần Đặt vấn đề Trong ứng dụng thực tế, tốn tìm đường ngắn hai đỉnh đồ thị liên thơng có ý nghĩa to lớn Ví dụ như, tốn chọn hành trình tiết kiệm (theo tiêu chuẩn khoảng cách thời gian chi phí) mạng giao thơng đường bộ, đường thủy đường khơng; tốn chọn phương pháp tiết kiệm để đưa hệ thống động lực từ trạng thái xuất phát đến trạng thái đích, tốn lập lịch thi cơng cơng đoạn cơng trình thi cơng lớn, tốn lựa chọn đường truyền tin với chi phí nhỏ mạng thơng tin, v.v… Bài tốn tìm đường ngắn phát biểu dạng hình thức sau: Cho trước đồ thị có trọng số G = (V, E), V tập đỉnh, E tập cạnh, tìm đường ngắn từ đỉnh xuất s ! V đến đỉnh đích t ! V [1] Bài tốn đường ngắn cặp đỉnh toán tương tự, ta phải tìm đường ngắn cho cặp đỉnh s t Trong lý thuyết đồ thị, có nhiều thuật tốn đề xuất đề giải tốn tìm đường ngắn Các thuật toán quan trọng giải tốn bao gồm: • Thuật tốn Dijkstra: giải toán nguồn đơn tất trọng số khơng âm Thuật tốn tính tốn tất đường ngắn từ đỉnh xuất phát cho trước s tới đỉnh khác mà khơng làm tăng thời gian chạy • Thuật tốn Bellman-Ford: giải toán nguồn đơn trường hợp trọng số có giá trị âm 56 • Giải thuật tìm kiếm A*: giải tốn nguồn đơn sử dụng heuristics để tăng tốc độ tìm kiếm • Thuật tốn Floyd-Warshall: giải toán đường ngắn cho cặp đỉnh • Thuật tốn Johnson: giải tốn đường ngắn cho cặp đỉnh, nhanh thuật toán Floyd-Warshall đồ thị thưa Các thuật toán xây dựng để giải tốn đồ thị tổng qt, liệu tập trung máy tính đơn Tuy nhiên, khơng đơn giản để trả lời câu truy vấn đồ thị lớn mà liệu phân tán nhiều vị trí khác Trong báo này, chúng tơi đề xuất thuật tốn dựa kỹ thuật ước lượng phần khai thác tảng hỗ trợ xử lý liệu song song MapReduce [2] để giải tốn tìm đường ngắn nêu Cơ thuật toán Dijkstra Dijkstra thuật toán giải toán đường ngắn nguồn đơn đồ thị có hướng, mà trọng số cung khơng âm [1] Thuật toán xây dựng dựa sở gán cho đỉnh nhãn tạm thời Nhãn đỉnh cho biết cận độ dài đường ngắn từ s đến Các nhãn biến đổi theo thủ tục lặp, mà bước lặp có nhãn tạm thời trở thành nhãn cố định Nếu nhãn đỉnh trở thành nhãn cố định cho ta cận mà độ dài đường ngắn từ đỉnh s đến Thuật tốn mơ tả cụ thể sau: Khoa học & Công nghệ - Số 9/Tháng - 2016 Journal of Science and Technology ISSN 2354-0575 Thuật toán 1: Thủ tục Dijkstra tìm đường ngắn từ đỉnh đến đỉnh Đầu vào: đồ thị G = (V, E), đỉnh nguồn s Đầu ra: độ dài đường ngắn từ đỉnh s đến đỉnh lại đồ thị 1: for each vertex v in G // khởi tạo 2: dist[v] ← ∞; // khởi tạo giá trị từ s tới đỉnh v = ∞ 3: previous[v] ← null; // đỉnh trước đỉnh v 4: dist[source] ← 0; // khoảng cách từ nguồn tới nguồn 5: while V is not empty 6: u ← đỉnh có thuộc V có khoảng cách tới s nhỏ nhất; 7: V ← V/{u}; 8: for each neighbor v of u 9: alt ← dist[u] + dist_between(u, v) 10: if alt < dist[v] then 11: dist[v] ← alt; 12: previous[v] ← u; 13: return previous[ ]; Thuật tốn có độ phức tạp O(n2) Do độ phức tạp tính tốn cao, việc giải tốn với tính chất gặp phải bất lợi lớn thời gian thực chương trình, tốc độ xử lý, khả lưu trữ, Đặc biệt đồ thị có hàng triệu đỉnh cạnh mà thời gian chạy phải rút gọn thuật tốn không thực Điều đặt yêu cầu phải chia đồ thị cho hệ thống phân tán có nhiều máy tính tham gia tính toán đồng thời, song việc chia đồ thị thành đồ thị nhỏ việc lưu trữ đồ thị nhỏ hệ thống file phân tán việc sử dụng thuật tốn tìm đường ngắn hệ thống phân tán trở thành tốn với nhiều thách thức Đồ thị phân tán Cơ sở liệu phân tán tuyển tập liệu có quan hệ logic với nhau, phân bố máy tính mạng máy tính Cũng giống sở liệu phân tán, đồ thị phân tán tập đồ thị liên thông với cạnh đồ thị đồ thị đặt phân tán hệ thống mạng máy tính Trên thực tế thấy, liệu đồ thị G đặc trưng cho hệ thống chia làm k phần khác nằm máy thuộc vị trí địa lý khác nhau, phần coi đồ thị (sub-graph) Các đồ thị liên thông với tập cạnh đồ thị Một cách hình thức hóa định nghĩa đồ thị phân tán sau: Khoa học & Công nghệ - Số 9/Tháng - 2016 Định nghĩa 1: Đồ thị phân tán G = (V, E) đồ thị bao gồm tập đồ thị từ G1, G2, …, Gk nằm máy tính khác đồ thị liên kết chúng Gc Trong đó, đồ thị Gi định nghĩa (Vi , Ei ), với Vi ! V Ei ! E; đồ thị liên kết Gc = (Vc, Ec ) , Ec tập cạnh kết nối đồ thị với (gọi cạnh liên kết) Vc tập đỉnh có cạnh liên kết Ví dụ 1: Hình Minh họa đồ thị phân tán Hình ví dụ minh họa đồ thị phân tán Trong ví dụ này, đồ thị phân tán G gồm đồ thị G1, G2 G3 đồ thị liên kết Gc với cạnh vẽ nét đứt Trong ví dụ này, liệu đồ thị đồ thị liên kết bao gồm sau: Bảng Dữ liệu đồ thị đồ thị liên kết Đồ thị Vi Ei G1 = (V1, E1) {1, 2, 3, 4, 5} {(1,2); (1,3); (1,4); (2,3); (3,5)} G2 = (V2, E2) {6, 7, 8, 9, {(7,10); (8,6); 10} (8,10); (10,9)} G3 = (V3, E3) {11, 12, 13, {(11,13); (12,15); 14, 15, 16} (13,15); (14,16); (15,16)} Gc = (Vc, Ec) {2, 3, 4, 5, 6, {(3,7); (4,11); 7, 9, 11, 12, (5,12); (6,2); 14, 16} (7,14); (9,14)} Đề xuất thuật tốn tìm đường ngắn đồ thị phân tán Để tìm kiếm đường ngắn đồ thị phân tán, đề xuất thuật toán theo kỹ thuật ước lượng phần Ước lượng phần Kỹ thuật ước lượng phần đưa [3] Kỹ thuật trình bày vài kiểu tối ưu hóa chương trình theo cách đặc biệt nhằm mục tiêu tăng tốc độ xử lý Ở đó, chương trình Journal of Science and Technology 57 ISSN 2354-0575 xử lý p chia làm k phần (p1, p2, …,pk) mà thực thi riêng rẽ đảm bảo thực theo cách Một chương trình pi thực nhanh thực thi chương trình p Kết pi tập kết p Bằng việc áp dụng kỹ thuật ước lượng phần này, công trình nghiên cứu [4, 5, 6] đề xuất thuật toán hiệu việc ước lượng truy vấn đồ thị phân tán Đề xuất thuật toán Trong phần này, chúng tơi trình bày đề xuất thuật tốn tìm đường ngắn đồ thị phân tán Ở đây, cách tiếp cận sử dụng thuật toán Dijkstra kết hợp với kỹ thuật ước lượng phần Để làm điều đó, chúng tơi nghiên cứu mối liên hệ đường ngắn toàn đồ thị đường ngắn phần đồ thị Các kỹ thuật trình bày phần Định nghĩa 2: Đồ thị phân tán có trọng số đồ thị phân tán mà cạnh gán giá trị số (số nguyên số thực) Để áp dụng cho tốn tìm đường ngắn nhất, chúng tơi sử dụng đồ thị phân tán có trọng số Bằng cách gán trọng số vào đồ thị phân tán Hình 1, có đồ thị phân tán có trọng số Hình Hình Ví dụ đồ thị phân tán có trọng số Trong Hình 2, trọng số đưa vào xem độ dài đường hai địa điểm (có thể sử dụng đơn vị kilometer) Ví dụ 2: Giả sử có đồ thị phân tán có trọng số G Hình mạng đường tỉnh thành Ở đó, G1, G2, G3 tương ứng tỉnh thành khác Hà Nội, Hưng Yên Hải Dương Dữ liệu mạng đường tình thành lớn lưu trữ riêng biệt máy tính khác nhau, có kết nối với qua hệ thống mạng Trên mạng đường 58 tình thành có tồn điểm tỉnh thành lân cận Một tình thực tế là: người địa điểm (1) Hà Nội muốn đến thăm người bạn địa điểm số (16) Hải Dương Trên thực tế, có nhiều tuyến đường từ Hà Nội đến Hải Dương, có tuyến trực tiếp qua hai thành phố, có nhiều tuyến liên tỉnh qua Hưng Yên đến Hải Dương Hãy giúp anh tìm tuyến đường ngắn từ (1) đến (16) hệ thống liệu có Trong phần tiếp theo, tập trung giải toán Một vài quan sát suy luận: Như định nghĩa đồ thị phân tán trên, mối liên hệ đồ thị xác định thông qua đỉnh cạnh đồ thị liên kết Một đỉnh thuộc đồ thị đỉnh đích cạnh mà đỉnh thuộc đồ thị khác Tất đỉnh cạnh thuộc đồ thị liên kết Để tổng quát hóa mối quan hệ chúng, đưa định nghĩa sau: Định nghĩa 3: Đỉnh liên kết (input node) đồ thị Gi = (Vi, Ei), đỉnh thuộc tập đỉnh Vi mà tồn cạnh từ đỉnh thuộc đồ thị khác đến Định nghĩa 4: Đỉnh ảo (output node hay virtual node) đồ thị Gi = (Vi, Ei), đỉnh không thuộc tập đỉnh Vi tồn cạnh từ đỉnh thuộc Vi đến Từ hai định nghĩa trên, đưa mối liên hệ đồ thị G, đồ thị Gi đồ thị liên kết Gc sau: • Vc = U ik= _Vi in , Vi out i , Vi in tập input node đồ thị Gi Vi in Vi; Vi out tập output node đồ thị Gi Vi out + Vi = 4; • Ec = U ik= cEi , cEi tập tất cạnh liên kết thuộc Gi , cạnh thuộc (v, u) ! cEi xác định v ! Vi in u ! Vi out • V = U ik= _Vi i Vi + Vj = if i ≠ j; E = E c , _ U ik= Ei i Ei + Ej = if i ≠ j; Trên thực tế, liệu lưu trữ máy bao gồm đồ thị Gi, tập output node Vi.out tập cạnh liên kết cEi Toàn liệu lưu máy gọi mảnh (fragment) đồ thị G, kí hiệu Fi = _Vi , Vi out, Ei , cEi i ) Như vậy, việc xử lý truy vấn máy nghĩa xử lý mảnh đồ thị G Bảng Minh họa input output node đồ thị phân tán Fi Vi.in Vi.out Khoa học & Công nghệ - Số 9/Tháng - 2016 F1 {2} {7, 11, 12} F2 {7} {2, 14} F3 {11, 12, 14} {4} Journal of Science and Technology ISSN 2354-0575 Bảng tập input node output node mảnh đồ thị Tuy nhiên, bảng có hai giá trị đặc biệt thêm vào: đỉnh (1) đỉnh xuất nguồn nên thêm vào danh sách input node phần đồ thị chứa (G1) đỉnh (16) đỉnh đích nên thêm vào danh sách output node phần đồ thị chứa (G3) Như vậy, có câu truy vấn Q(1, 16) Việc trả lời câu truy vấn Q đồ thị G tương đương với việc tìm đường P(Q) = {v1 -> v2 -> …-> vn} đường ngắn nhất, v i ! G G (i = 1, 2, , n), v1 = = 16 Để trả lời câu truy vấn Q đồ thị phân tán, ý tưởng gồm bước sau: Bước 1: Khi nhận câu truy vấn Q(s, t), máy đóng vai trị máy chủ điều phối (master) gửi Q đến máy cục (slaver) Bước 2: Sau nhận câu truy vấn Q từ máy master (M), máy slaver (Si) thực thuật tốn Dijkstra tìm đường ngắn từ tất các input node đến output node phần đồ thị Gi tương ứng cách song song Điều có nghĩa tìm đường ngắn từ đỉnh biên đồ thị đến đỉnh biên thuộc đồ thị khác, đỉnh liên kết đồ thị với Trên slaver Si nhận phần kết Pi tương ứng Mỗi đỉnh phần kết liên quan đến việc tìm kết cuối cho câu truy vấn Q đồ thị G Trong Pi, input node v tồn đường tới output node u, ta khơng biết u đến đỉnh đích t hay khơng Như vậy, ta biểu diễn Pi tập vector đường với số phần tử số output node Gi, giá trị phần tử vector định nghĩa đường ngắn từ input node đến output node (bao gồm độ dài đường đi) Bước minh họa Thuật toán Bước 3: Tổng hợp phần kết để xây dựng lên đồ thị phụ thuộc máy master Sau thực thuật tốn Dijkstra lần đồ thị phụ thuộc để tìm đường ngắn từ đỉnh s đến đỉnh t Đây kết cuối cho câu truy vấn Q(s,t) đồ thị G Thuật toán 2: Thủ tục LocalEval Đầu vào: mảnh đồ thị Fi câu truy vấn Q(s, t) Đầu ra: Tập vector đường Pi 1: Pi ← 4; 2: if s ! Vi then 3: Vi in ← Vi.in ,{s}; 4: if t ! Vi then 5: Vi.out ← Vi out ,{t}; 6: for each node v ! Vi 7: v.visited = false; Khoa học & Công nghệ - Số 9/Tháng - 2016 8: for each node v ! Vi in 9: v.pvec ← Dijkstra(Gi, v, Vi out); 10: if v.pvec ≠ then 11: Pi ← v.pvec; 12: return Pi; Thuật tốn thực tính tốn phần kết cho câu truy vấn Q đồ thị Đầu tiên, (1) khởi tạo tạo Pi tập vector rỗng, v.pvec ! Pi vector đường đi, phần tử v.pvec[u] đường từ input node v đến output node u (2) Sau thực việc kiểm tra đỉnh nguồn đích để thêm vào tập Vi.in hay Vi.out tương ứng Cuối cùng, (3) sử dụng thuật tốn Dijkstra tính tốn kết đường ngắn v.pvec từ input node v đến đỉnh output node u ! Vi.out sau: tồn ghi giá trị đường X(v,u) (khoảng cách ngắn danh sách đỉnh qua theo thứ tự) vào vector v.pvec; ngược lại, không tồn đường đi, giá trị khoảng cách trả ∞ đường khơng thêm vào v.pvec Sau thêm v.pvec khác vào Pi Ví dụ 3: Trong ví dụ này, chúng tơi thực thuật tốn 2, sử dụng câu truy vấn mơ tả Ví dụ Theo Thuật toán 2, phải thực trả lời câu truy vấn Q(1, 16) máy cục nhận phần kết P1, P2, P3 Sau tổng hợp thành đồ thị phụ thuộc trả lời câu truy vấn Q đồ thị Tuy nhiên, đây, chúng tơi trình bày áp dụng thuật tốn đề xuất mảnh đồ thị F1 Khởi tạo ta có Pi = 4, Vi.in = {2} Vi.out = {7, 11, 12} Trên V1, tồn đỉnh (1) đỉnh nguồn câu truy vấn nên đỉnh (1) thêm vào Vi.in, V1.in = {1, 2}; đỉnh (16) không tồn V1, nên Vi.out giữ ngun Sau thực Dijkstra tìm đường ngắn từ input node đến output node ta thu vector đường Bảng Bảng Kết thực câu truy vấn Q F1 v.pvec (7) (11) (12) (1).pvec X(1,7) = [3, X(1,11) = [5, X(1,12) = [4, {1, 3, 7}] {1, 4, 11}] {1, 3, 5, 12}] (2).pvec X(2,7) = [8, X(2,11) = {2, 3, 7}] [∞, {4}] X(2,12) = [8, {2, 3, 5, 12}] Như vậy, P1 gồm vector với giá trị đường từ đỉnh input node đến đỉnh output node Kết gửi tới máy chủ điều phối để xây dựng lên đồ thị phụ thuộc Hồn tồn tương tự, ta thực tính kết P2, P3 mảnh đồ thị F1 F2 tương ứng Bảng Bảng Journal of Science and Technology 59 ISSN 2354-0575 Bảng Kết thực câu truy vấn Q F2 v.pvec (2) (14) (7).pvec X(7,2) = [∞, {4}] X(7,14) = [2, {7, 14}] Bảng Kết thực câu truy vấn Q F3 v.pvec (16) (11).pvec X(11,16) = [7, {11, 13, 15, 16}] (12).pvec X(12,16) = [5, {12, 15, 16}] (14).pvec X(14,16) = [1, {14, 16}] Sau có kết từ P1, P2, P3 từ máy slaver gửi lên, máy master tiến hành xây dựng đồ thị phụ thuộc Gd = (Vd, Ed) sau: với X(v,u) Pi tạo hai đỉnh đồ thị phụ thuộc tương ứng Xv Xu cạnh nối giữ chúng với trọng số giá trị khoảng cách X(v,u) Giá trị đường X(v,u) dùng cho việc truy vết đường cạnh nối Xv Xu tồn kết đường ngắn ngất trả lời cho câu truy vấn Q đồ thị Gd đồ thị G Hình Đồ thị phụ thuộc Gd tạo từ kết Pi Bằng việc sử dụng thuật tốn Dijkstra tìm đường ngắn từ đỉnh X1 đến X16 đồ thị Gd ta tìm kết đường P’ (màu đỏ): X1 -> X7 -> X14 -> X16 với độ dài = Tiếp theo, nối giá trị đường X(1,7), X(7,14) X(14,16) theo thứ tự ta tìm câu trả lời P(Q): -> -> -> 14 -> 16, có độ dài = kết cuối cho câu truy vấn Q đồ thị G Cài đặt toán sử dụng MapReduce Trong phần này, chúng tơi trình bày kỹ thuật sử dụng MapReduce để cài đặt thuật tốn đề xuất Mơ hình sử dụng MapReduce để trả lời câu truy vấn Q đồ thị phân tán G thể Hình 60 Hình Mơ hình MapReduce sử dụng để trả lời câu truy vấn đồ thị phân tán Trong mơ hình này, chúng tơi sử dụng Job để cài đặt thuật toán Ở đây, số Map Tasks phụ thuộc số phần đồ thị toán, Reduce Task sử dụng vào mục đích tổng hợp phần kết tìm câu trả lời cuối cho câu truy vấn Q đồ thị G Dữ liệu mảnh đồ thị lưu hệ thống HDFS Hadoop gồm k mảnh Cách thức hoạt động mơ sau: (1) câu truy vấn Q(s,t) đưa ra, máy chủ điều phối (master) chuyển xuống slavers (giả sử có k máy slavers); (2) máy thực thi hàm Map cách gọi thủ tục LocalEvalMapper, thủ tục có nhiệm vụ tìm đường ngắn từ input node đến output node cách gọi hàm LocalEval(Fi , Q) trình bày trả kết tập vector đường chứa Pi Kết Map Task ghi xuống hệ thống HDFS gửi đến Reduce Task với khóa K1 Ở đây, chúng tơi chọn giá trị khóa nhằm mục đích tất phần kết tập hợp máy để tạo lên đồ thị phụ thuộc Gd (3) Sau đó, máy chủ điều phối thực hàm Reduce cách gọi thủ tục EvalReducer, thủ tục có nhiệm vụ tạo đồ thị phụ thuộc Gd từ phần kết gửi đến hàm Map thực hàm Dijkstra để tìm đường ngắn từ đỉnh nguồn đến đỉnh đich trả kết cuối cho câu truy vấn Q đồ thị G Thực nghiệm đánh giá kết Thiết lập môi trường thực nghiệm Các cài đặt sử dụng cho thực nghiệm thuật toán báo sau: a) Môi trường thực nghiệm Hệ thống Hadoop dùng để thực nghiệm báo bao gồm 17 máy tính để bàn: máy Khoa học & Công nghệ - Số 9/Tháng - 2016 Journal of Science and Technology ISSN 2354-0575 dùng làm master node, 16 máy slaver node dùng cho việc tính tốn tìm kết tốn Mỗi máy tính có CPUs nhớ RAM GB Tất thuật toán báo cài đặt Java b) Dữ liệu thực nghiệm Bài báo sử dụng liệu mạng đường thành phố New York [7] với kích thước 264.346 đỉnh 733.846 cạnh, đỉnh định danh địa điểm thành phố cạnh đường từ địa điểm đến địa điểm khác Mỗi cạnh có trọng số khoảng cánh hai địa điểm Để tạo phần đồ thị khác mà đảm bảo tính đắn liệu, báo sử dụng công cụ GraphLab [8] cho việc phân mảnh đồ thị thành nhiều đồ thị Chúng chuẩn bị liệu với số phần đồ thị 4, 8, 16 32 c) Câu truy vấn Chúng chọn ngẫu nhiên câu truy vấn: Tìm đường ngắn từ đỉnh có mã “1” đến đỉnh có mã “14” đồ thị Câu truy vấn tồn kết đường ngắn với tổng độ dài = 111751, đưa từ kết chạy thuật tốn Dijkstra đồ thị ban đầu (chưa phân mảnh) Chúng dùng kết để đối chiếu với kết sinh từ thuật toán đề xuất d) Kết thực nghiệm Trong phần này, chúng tơi trình bày kết việc thực câu truy vấn nêu đo lượng thời gian trả lời câu truy vấn môi trường phân tán với liệu có kích thước khác Hình cho thấy kết chia đồ thị thành nhiều phần đồ thị thực thuật toán song song đồ thị thời gian thực thuật toán giảm dần Cụ thể liệu chia thành phần đồ thị thời gian thực thuật tốn 200s, chia thành phần đồ thị thời gian thực giảm 120s số đồ thị 32 thời gian giảm cịn 52s e) Phân tích Hình rằng, thời gian trả lời câu truy vấn tỉ lệ nghịch với số phần đồ thị Thời gian giảm nhanh tăng số lượng hàm Map dùng cho việc tìm kiếm kết phần Ở đây, phần đồ thị thực hàm Map Thời gian thực bao gồm thời gian khởi tạo Job Hadoop, ghi/đọc liệu từ HDFS thời gian chạy thuật toán trả lời câu truy vấn Chính vậy, chúng tơi không so sánh mặt thời gian thực thuật toán song song phân tán với thời gian thuật toán chạy máy Đề xuất chúng tơi có ý nghĩa việc xử lý phân tán với liệu lớn, mà máy tính đơn khơng giải mặt lưu trữ việc xử lý tính tốn Hình Kết thời gian thực thi câu truy vấn với số lượng đồ thị khác Kết luận Bài báo trình bày cách tiếp cận để giải tốn tìm đường ngắn từ đỉnh đến đỉnh khác đồ thị phân tán Chúng đưa thuật toán dựa kỹ thuật ước lượng phần khai thác tảng hỗ trợ xử lý liệu song song phân tán MapReduce Kết thực nghiệm liệu đồ thị thực tế tính hiệu cách tiếp cận cho việc xử lý đồ thị lớn môi trường phân tán Do đó, đề xuất áp dụng cho ứng dụng khác thực tế phân tích mạng xã hội, mạng giao thơng, vv Tiếp theo hướng nghiên cứu này, tập trung vào loại tốn khác mơi trường phân tán ví dụ tốn truy vấn theo biểu thức quy có điều kiện Tài liệu tham khảo [1] Lê Minh Hoàng, “Chuyên đề Lý thuyết đồ thị”, Đại Học Sư Phạm Hà Nội, 1999-2002 [2] Dean, Jeffrey, and Sanjay Ghemawat, “MapReduce: Simplified Data Processing on Large Clusters”, Communications of the ACM 51.1 (2008): 107-113 [3] N D Jones, An Introduction to Partial Evaluation ACM Computing Surveys (CSUR), 28(3):480– 503, 1996 [4] P Buneman, G Cong, W Fan, and A Kementsietsidis, Using Partial Evaluation in Distributed Query Evaluation, In Proceedings of the 32nd International Conference on Very Large Databases, Khoa học & Công nghệ - Số 9/Tháng - 2016 Journal of Science and Technology 61 ISSN 2354-0575 pages 211–222 VLDB Endowment, 2006 [5] W Fan, J Li, S Ma, N Tang, and Y Wu, Adding Regular Expressions to Graph Reachability and Pattern Queries, In Data Engineering (ICDE), 2011 IEEE 27th International Conference on, pages 39–50 IEEE, 2011 [6] W Fan, X Wang, and Y Wu, Performance Guarantees for Distributed Reachability Queries, Proceedings of the VLDB Endowment, 5(11):1304–1316, 2012 [7] Camil Demetrescu 2014, “9th DIMACS Implementation Challenge: Shortest Paths”, Accessed January 08, 2016 http://www.dis.uniroma1.it/challenge9/download.shtml [8] Low, Yucheng, et al, “Graphlab: A new Framework for Parallel Machine Learning”, arXiv preprint arXiv:1408.2041 (2014) A NOVEL APPROACH TO SHORTEST PATH PROBLEM ON DISTRIBUTED GRAPH Abstract: Recently, the efficient of query evaluation on big graphs is an important research topic in computer science A widely-used query is the shortest path query between two nodes in a graph, which can be evaluated on a general graph by using a few well-known algorithms such as Dijkstra, Johnson or FloydWarshall; however, it is nontrivial to answer this kind of query in a distributed graph In this paper, we propose a novel approach based on the partial evaluation to solve shortest path problem between two nodes on distributed graph We show that our algorithm can be readily implemented in the MapReduce framework, in parallel Using a real-life data we perform experiments and show that our algorithm is scalable on large graphs on the distributed systems Keywords: Graph Querying, MapReduce, Shorstest Path, Distributed Graph, Partial Evaluation 62 Khoa học & Công nghệ - Số 9/Tháng - 2016 Journal of Science and Technology ... áp dụng cho tốn tìm đường ngắn nhất, sử dụng đồ thị phân tán có trọng số Bằng cách gán trọng số vào đồ thị phân tán Hình 1, có đồ thị phân tán có trọng số Hình Hình Ví dụ đồ thị phân tán có trọng... họa đồ thị phân tán Hình ví dụ minh họa đồ thị phân tán Trong ví dụ này, đồ thị phân tán G gồm đồ thị G1, G2 G3 đồ thị liên kết Gc với cạnh vẽ nét đứt Trong ví dụ này, liệu đồ thị đồ thị liên... đồ thị thành đồ thị nhỏ việc lưu trữ đồ thị nhỏ hệ thống file phân tán việc sử dụng thuật tốn tìm đường ngắn hệ thống phân tán trở thành toán với nhiều thách thức Đồ thị phân tán Cơ sở liệu phân

Ngày đăng: 28/04/2021, 03:09

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w