Hình 5 ở bên,thể hiện chỉ số cấu trúc liên kết đồ thị cho 2 đỉnh đầu tiên của đồ thịG thể hiện trong hình 3.Các đỉnh còn lại thực hiện tương tự.Chỉ số cấu trúc liên kết đồ thị là số đườn
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
_ & _
BÀI TẬP LỚN
CHỦ ĐỀ
“Khai phá Nhóm K đồ thị con phù hợp trong mạng truyền thông”
Giảng viên hướng dẫn : TS Nguyễn Mạnh Hùng Lớp : Cao học HTTT- K27B Nhóm : 9
Trang 2MỤC LỤC
I Tìm hiểu lý thuyết 3
1 Tìm hiểu về khai phá Nhóm K đồ thị con phù hợp 3
2 Xác định các khái niệm trong các định nghĩa trên đồ thị 3
3 Xây dựng chỉ số offline 5
3.1 Cấu trúc chỉ số 5
3.2 Xây dựng chỉ số 11
4 Top-K interesting subgraph query processing – Xử lý truy vấn Nhóm K đồ thị con phù hợp 12
4.1 Lọc ứng viên sử dụng chỉ số cấu trúc liên kết 12
4.2 Thuật toán lọc đỉnh ứng viên 13
4.3 Cách tính Top-K đồ thị con phù hợp 15
5 Tính toán, phát triển đường dẫn cơ sở 15
5.1 Tạo ra Size-1 ứng viên phù hợp (Generating Size-1 Candidate Matches) 15
5.2 Giá trị thực tế và Giá trị giới hạn trên (UBScore) của ứng viên phù hợp 16
5.3 Tính toán giới hạn trên sử dụng đường dẫn nhanh hơn các cạnh 17
5.4 Greedy Path Set Selection (Chọn tập đường dẫn tham lam) 18
5.5 Path Based Upper Bound Score Computation (tính điểm giới hạn trên dựa vào đường dẫn) 19 II Tìm hiểu chương trình 21
1 Tìm hiểu một số hàm và thủ tục 21
2 Nhập vào dữ liệu tương ứng với Bài báo 22
3 Chạy chương trình xuất ra danh sách cạnh được sắp xếp theo chiều giảm dần của trọng số 25
4 Xây dựng các cấu trúc chỉ số offline 26
4.1 Tìm các đường dẫn biến đổi trong đồ thị G 26
4.2 Tính Chỉ số cấu trúc liên kết đồ thị Topology 27
4.3 Tính Chỉ số trọng số lớn nhất của đường dẫn biến đổi MMW 27
2
Trang 3I Tìm hiểu lý thuyết
1 Tìm hiểu về khai phá Nhóm K đồ thị con phù hợp
- Khai phá Nhóm K đồ thị con phù hợp: Là việc tìm ra Nhóm K đồ thị con phùhợp đáp ứng các truy vấn
- weightG là một hàm được xác định trên cạnh với miền giá trị R ∈[0, 1]
- weightG (e) là giá trị trọng số của cạnh e
Ví dụ: Ở hình trên là đồ thị G có:
Tập đỉnh |VG| = 13 đỉnh, Tập cạnh |EG| = 18 cạnh
Tập các dạng đỉnh TG = {A, B, C}, 3 dạng đỉnh
Trọng số cạnh tạo bởi đỉnh 1 và đỉnh 2 là 0.2
Định nghĩa 2: Truy vấn đồ thị con trên mạng
Truy vấn đồ thị con Q trên mạng G
Đồ thị con Q được xác định bởi tập đỉnh VQ và tập cạnh EQ
3 4
5 6
7 8
9
13 12
0.1 0.2
0.2 0.5
0.6 0.3
0.2
Network G
A
B A
A
3 2
4 1
Query Q
Trang 4Định nghĩa 3: Đồ thị con đẳng cấu
Đồ thị g = (Vg, Eg, typeg) là đồ thị con đẳng cấu với đồ thị g′ = (Vg ′, Eg ′, typeg
′)Nếu tồn tại một đồ thị con đẳng cấu từ g tới g′ Một đồ thị con đẳng cấu là một hàmđơn ánh M được xác định trên tập đỉnh của đồ thị: Vg →Vg ′thỏa mãn:
(1) ∀v ∈ Vg, thì M(v) ∈ Vg′ và typeg(v) = typeg′(M(v))
(2) ∀e = (u, v) ∈ Eg, e′ = (M(u), M(v)) ∈ Eg′
Định nghĩa 4: Sự phù hợp
Đồ thị truy vấn Q có thể là đồ thị con
đẳng cấu với nhiều đồ thị con của G Mỗi đồ thị
con của G như vậy được gọi là một truy vấn phù
hợp hoặc một đồ thị con phù hợp của G với Đồ
thị truy vấn Q
Truy vấn Q có thể trả kết quả là tất cả đồ
thị con phù hợp từ đồ thị G
Ví dụ: ở hình bên thì đồ thị con của mạng G
được tạo bởi các đỉnh (8,9,5,6) là một sự phù hợp cho truy vấn Qtrong mạng G
Cho đồ thị vô hướng G, có trọng số
Một truy vấn vô hướng Q, có trọng số
A
3 2
4 1
3 4
5 6
7 8
9
13 12
0.1 0.2
0.2 0.5
0.6 0.3
0.9 0.6 0.8 0.8
0.1 0.7 0.7
0.3 0.4 0.5 0.4
0.2
Network G
A
B A
A
3 2
4 1
3 4
5 6
7 8
9
13 12
0.1 0.2
0.2 0.5
0.6 0.3
0.9
0.1
0.7 0.7
0.3 0.4 0.5 0.4
Trang 5Phương pháp cơ bản: Ranking After Matching (RAM) - Xếp hạng sau khi so sánh
Để giải quyết vấn đề khai phá nhóm K đồ thị con phù hợp, đầu tiên phải xác địnhtất cả đồ thị con phù hợp thuộc mạng G, sau đó là sắp xếp các đồ thị con phù hợpnày
Ví dụ: Ở hình bên, Cho truy vấn Q
3.1.1 Chỉ số cấu trúc liên kết đồ thị - Graph Topology Index
Chỉ số cấu trúc liên kết đồ thị quy định cấu trúc của đồ thị G Nó lưu trữ cho
mỗiđỉnh n, số d-hop của mỗidạngđỉnh, d={1,…,D}, tương ứng với một đường dẫn có độ dài d, xuất phát từ đỉnh n, nơi mà một đường dẫn biến đổi được định
nghĩa như sau:
Định nghĩa 7: Đường dẫn biến đổi - Metapath
Một đường dẫn u → u′ là từ đỉnh u tới đỉnh u′ trong đồ thị G = (VG, EG,
typeG,weightG) là một chuỗi(v0, v1, , vk) của các đỉnh u = v0 và u′ =vk, và(vi-1,vi) ∈ EG.
3 4
5 6
7 8
9
13 12
0.1 0.2
0.2 0.5
0.6 0.3
Network G 0.2
A
B A
A
3 2
4 1
Query Q
Trang 6Độ dài của một đường dẫn bằng số các cạnh trong đường dẫn Nếu dạng đỉnh
sử dụng id thay thế cho mỗi đỉnh trên đường dẫn, thì đường dẫn đó được gọi làđường dẫn biến đổi Như vậy đường dẫn biến đổi tương ứng từ u → u’ là(typeG(v0), typeG(v1),…., typeG(vk))
Ví dụ: Ở hình 3, thì đường dẫn biến đổi (5,4,7) tương ứng với đường dẫn là
3 4
5
6
7 8
9
13 12
0.1 0.2
0.2 0.5
Network G 0.2
A
B A
A
3 2
4 1
Query Q
Trang 7Hình 5 ở bên,thể hiện chỉ số cấu trúc liên kết đồ thị cho 2 đỉnh đầu tiên của đồ thịG thể hiện trong hình 3.Các đỉnh còn lại thực hiện
tương tự.Chỉ số cấu trúc liên kết đồ thị là số đường dẫn biến đổi tương ứng giữa 2 đỉnh bất kỳ và riêng biệt.
chẳng hạn, với d= 1 , đường dẫn biến đổi xuất phát từ đỉnh 1 đến đỉnh dạng A chỉ có 1 đường dẫn biến đổi là (1,2), như vậy chỉ số cấu trúc liên kết đồ thị giữa đỉnh 1 và đỉnh dạng A bằng1, hay ký hiệu: topology(1(A))=1
Với d=2,đường dẫn biến đổi xuất phát từ đỉnh 2 đi qua đỉnh dạng B đến đỉnh dạng C để được đường dẫn (A,B,C) có 2 đường dẫn biến
đổi là (2,1,11) và (2,7,11), nhưng đây không phải là đường dẫn đến các đỉnh riêng biệt, như vậy chỉ số cấu trúc liên kết đồ thị giữa đỉnh 2,
đi qua đỉnh B đến đỉnh dạng C chỉ tính 1 đường, hay ký hiệu: topology(2(B,C))=1
Điền một số giá trị cho Hình 5 như sau:
Là đường dẫn từ 1 đỉnh đến 1 đỉnh liền kề với nó
+ Xét các đường dẫn biến đổi xuất phát từ đỉnh Id=1 (Đỉnh có dạng B):
+ Xét các đường dẫn biến đổi xuất phát từ đỉnh Id=2 (Đỉnh có dạng A):
Đường dẫn biến đổi có
độ dài d=2(2-hop) // đi
3 4
5 6
7 8
9
13 12
0.1 0.2
0.2 0.5
0.6 0.3
0.9
0.1
0.7 0.7
0.3 0.4 0.5 0.4
Network G
Hình 3
0.2
Trang 8Là đường dẫn từ 1 đỉnh đến 1 đỉnh liền kề với đỉnh liền kề với nó.
+ Xét các đường dẫn biến đổi xuất phát từ đỉnh Id=1(Đỉnh có dạng B):
Có 1 đường tương ứng với (B,A,A) là (1,2,3) ký hiệu là topology ( 1 (A,A))=1
Có 1 đường tương ứng với (B,A,B) là (1,2,7), ký hiệu là topology ( 1 (A,B))=1
Có 1 đường tương ứng với (B,C,B) là (1,11,7) ký hiệu là topology ( 1 (C,B))=1
Có 1 đường tương ứngvới (B,A,C) là (1,2,13) ký hiệu là topology ( 1 (A,C))=1
+ Xét các đường dẫn biến đổi xuất phát từ đỉnh Id=2(Đỉnh có dạng A):
Có 1 đường tương ứng với (A,A,A) là (2,3,4) ký hiệu là topology ( 2 (A,A))=1
Có 2 đường tương ứng với (A,B,A) là (2,7,8) và (2,7,4) ký hiệu là topology ( 2 (B,A))=2
Có 1 đường tương ứng với (A,C,A) là (2,13,3) ký hiệu là topology ( 2 (C,A))=1
Có 2 đường tương ứng với (A,A,C) là (2,3,12)và (2,3,13) ký hiệu là topology ( 2 (A,C))=2
Có 1 đường tương ứng với (A,B,C) là {(2,1,11) hoặc (2,7,11)} // Chỉ tính đường dẫn đến các đỉnh riêng biệt
Có 1 đường tương ứngvới (A,C,C) là (2,13,12) ký hiệu là topology ( 2 (C,C))=1
+ Xét tương tự với đỉnh còn lại của đồ thị G sẽ được các chỉ số cấu trúc liên kết đồ thị tương ứng với các đường dẫn biến đổi như trong Hình 5
Chỉ số cấu trúc liên kết đồ thị rỗng chỉ ra rằng không đường dẫn biến đổi tương ứng từ đỉnh dạng t, có độ dài d đến đỉnh n.
Nghĩa là, ở Hình 5 trên, với đỉnh có Id=1, d=1, Chỉ số cấu trúc liên kết đồ thị tới đỉnh B rỗng thì không có đường dẫn biến đổi
tạo bởi đỉnh có Id=1, d=1 tới đỉnh B, tức là topology (1,B )= Ø.
Chỉ số cấu trúc liên kết đồ thị đóng vai trò quan trọng trong việc làm giảm không gian tìm kiếm bằng cách cắt tỉa bớt các đỉnh ứng
viên mà nó không thể được tạo cho một đỉnh truy vấn nhất định
8
Trang 93.1.2 Chỉ số trọng số lớn nhất của đường dẫn biến đổi (MMW)
Chỉ số trọng số đường dẫn biến đổi lớn
nhất có cùng kích thước với chỉ số cấu trúc
lớn nhất của đường dẫn biến đổi (MMW)
của 4 đỉnh đầu tiên trong đồ thị G
Đối với đỉnh 1, có 1 đường
dẫn tương ứng với đường dẫn
(B,A)là đường dẫn biến đổi (1,2)
có trọng số là 0.2, thì chỉ số
trọng số lớn nhất cho đường
dẫn biến đổi tương ứng với
(B,A) là 0.2, có thể viết gọn lại
như sau: MMW( 1 ,(A)) = 0.2
Tính tương tự cho các chỉ số
MMW khác tại đỉnh 1 với độ
dài của đường dẫn khác nhau,
trong Hình 6 biểu thị kết quả cho độ dài đường dẫn biến đổi bằng d=1 và d=2.
Đối với đỉnh 2, có 2 đường dẫn tương ứng với đường dẫn (A,B,A) là 2 đường dẫn
biến đổi (2,7,4) và (2,7,8) có trọng số tương ứng là 0.7+0.1=0.8 và 0.7+0.5=1.2 Lựa chọn trọng số lớn nhất cho đường dẫn biến đổi (B,A) là 1.2, có thể viết gọn lại như
sau: MMW( 2,(B,A)) = 1.2
Tính tương tự cho các chỉ số MMW khác tại đỉnh 2 với độ dài của đường dẫn d=1
và d=2 để cho ra kết quả như Hình 6
Trong phần VI-C, chỉ số chỉ số trọng số lớn nhất của đường dẫn biến đổi (MMW)
được sử dụng cho việc tính các điểm ràng buộc chặt chẽ, điều đó dẫn tới việc cắt tỉa,lựa chọn các ứng viên có khả năng phù hợp cao hơn
A
3 2
4 1
3 4
5
6
7 8
9
13 12
0.1 0.2
0.2 0.5
0.6 0.3
0.9
0.1
0.7 0.7
0.3 0.4 0.5 0.4
Network G
Hình 3
0.2
Trang 103.1.3 Danh sách cạnh được sắp xếp–Sorted Edge Lists
Ngoài hai chỉ số trên, chúng tôi còn giữ lại danh sách các cạnh đã sắp xếp,
mà nó vẫn phù hợp với các cạnh trong đồ thị Từ mỗi dạng cạnh, tất cả các cạnhcủa các dạng đó được lưu trữ theo thứ tự không tăng của các giá trị phù hợp.Như vậy, các cạnh phù hợp nhất sẽ đứng đầu danh sách
Danh sách các cạnh được biểu diễn bởi các cặp đỉnh Với mọi danh sáchcạnh, một hàm băm được duy trì, nó sẽ trỏ từ mỗi nút của đồ thị đến tập hợp cácdòng trong danh sách cạnh có chứa đỉnh của đồ thị
Ví dụ: Xét danh sách cạnh AA Con trỏ, trỏ từ đỉnh 4 tới các cạnh (3,4) và (4,5)
tương ứng Như vậy con trỏ truy cập nhanh tới các cạnh phù hợp của từng dạng chotừng đỉnh cụ thể
Hai đỉnh bất kỳ có liên kết với nhau tạo thành một cạnh với trọng số tươngứng Liệt kê các cạnh với trọng số tương ứng có dạng đỉnh tương tự nhau thì
được một danh sách cạnh (Ví dụ: các cạnh AB, BA trong đồ thị G thuộc cùng một danh sách cạnh, các cạnh AA trong đồ thị G thuộc cùng một danh sách
cạnh)
Ví dụ, trong đồ thị G (hình 3): danh sách cạnh AB có các cạnh (2,7), (5,6),
(8,7), (2,1), (4,7)
Danh sách các cạnh AA của đồ thị G (hình 3) trước và sau khi sắp xếp theo
chiều không tăng của trọng số:
Trang 113.2 Xây dựng chỉ số
Chúng ta có thể tính cả các cấu trúc chỉ số và danh sách cạnh được sắp xếp ẩn(offline) như sau:
Đối với việc xây dựng các chỉ số cấu trúc liên kết đồ thị (MMW) và chỉ số
trọng số lớn nhất của đường dẫn biến đổi, điểm giao nhau đầu tiên thì cần được
tổ chức thực hiện từ mỗi đỉnh trên đồ thị Đối với mỗi đỉnh, d-hop, mỗi đỉnh liền
kề được đến thăm đến độ dài lớn nhất là D Đối với chỉ số cấu trúc liên kết đồ thị,điểm giao nhau đầu tiên giữ lại giới hạn của các node đã thăm hiện tại trong hàng
đợi Sau mỗi hop của điểm giao nhau và các đường dẫn thực tế từ đỉnh gốc được
thực hiện trong các điều kiện tương ứng các đường dẫn biến đổi của nó và chỉ sốcấu trúc liên kết đồ thị được cập nhật trên cơ sở số điểm cuối dọc theo đường dẫnbiến đổi Để cập nhật chỉ số MMW, tổng trọng số các cạnh cho mỗi đường dẫn vàchỉ số MMW được cập nhật với trọng số lớn nhất của bất kỳ đường dẫn biến đổitương ứng Tuy nhiên, với giá trị D nhỏ thì không quá phức tạp Ngoài ra, lưu ýrằng việc xây dựng những chỉ số này chỉ cần thực hiện một lần và được tính ẩn
(trước) Nếu B là số đỉnh liền kề số trung bình, thì tổng số d-hop lên tới D là
O(BD) Do vậy việc tính toán chỉ số MMW và chỉ số cấu trúc liên kếtlà O(|VG|BD).Không gian cần thiết để lưu trữ 2 chỉ số là O(|VG|TD) trong đó T là số dạng đỉnh.Khi tăng số dạng đỉnh, thì kích thước của hai chỉ số có thể cũng tăng rất nhanh.Tuy nhiên, hầu hết các mạng thông tin không đồng nhất thì chỉ có một vài dạngđỉnh, và cũng tuân theo một giản đồ Các giản đồ đó có thể tự hạn chế số lượngcác dạngcạnh Bên cạnh đó ở phần V chúng ta sẽ thảo luận một cách để làm giảmkích thước của các chỉ số này mà không làm mất nhiều hiệu quả
Các danh sách cạnh được sắp xếp được tạo ra bằng nhóm các dạng cạnh và sắpxếp các cạnh theo mỗi dạng theo thứ tự không tăng Nếu đồ thị có nhiều dạng thì
sách cạnh làO(|EG|log(2∨E G∨ ¿
O¿ ¿ Như vậy, xây dựng đỉnhkế tiếp của đồ thị là trỏ tới các hàng trong các danhsách cạnh, thời gian xử lý và không gian lưu trữ làO¿ ¿).
11
Trang 124 Top-K interesting subgraph query processing – Xử lý truy vấn Nhóm K đồ thị
con phù hợp
Cho một truy vấn Q với tập đỉnh VQ và tập cạnh EQ, khai phá top-K đồ thị
con phù hợp bằng cách duyệt qua danh sách cạnh đã sắp xếp từ trên xuống dưới,
việc tăng tốc độ duyệt danh sách cạnh như sau Đầu tiên xét mỗi đỉnh trong tập
đỉnh VQ, một tập các đỉnh từ đồ thị lớn có thể là ứng viên tiềm năng cho các truy
vấn, được xác định bằng chỉ số cấu trúc liên kết (thuật toán 1).
Các cạnh trong danh sách cạnh được sắp xếp có chứa các đỉnh khác so với
các đỉnh ứng viên tiềm năng được đánh dấu là không hợp lệ Nhiều cạnh được tỉa
đi và làm tăng tốc độ duyệt trên danh sách cạnh Truy vấn Q sau đó được xử lý
bằng cách sử dụng danh sách cạnh tương tự như xử lý truy vấn Nhóm-K(Phần
IV-B) đã thích ứng để xử lý các truy vấn mạng Thảo luận phương pháp trong
Phần IV-B là tiếp tục cải tiến làm nhanh hơn bằng những ràng buộc chặt chẽ sử
dụng chỉ số MMW (thuật toán 2).
Ở đây sẽ thảo luận về phương pháp làm giảm không gian tìm kiếm bằng
cách cắt tỉa các đỉnh ứng viên mà không thể khởi tạo cho một đỉnh truy vấn cụ
thể, sử dụng chỉ số cấu trúc liên kết Việc xử lý truy vấn Nhóm-K liên quan đến
việc duyệt qua danh sách cạnh từ trên xuống dưới top-K có thể được cắt tỉa nếu
một số cạnh trong danh sách cạnh được đánh dấu là không hợp lệ, do đólàm giảm
kích thước của danh sách cạnhmột cách hiệu quả
Ví dụ Tỉa ứng viên:
Trong hình bên, truy vấn Q bao gồm 4 đỉnh: Q1, Q2, Q3, Q4 Các đỉnh ứng viên
phù hợp với các dạng đỉnh như sau:
Trong truy vấn ta thấy đỉnh Q2 được kết nối bởi 2 đỉnh
dạng A ở độ dài d= 1 Tuy nhiên, tương ứng với đỉnh 2
trong đồ thị G, ở độ dài d= 1trong chỉ số cấu trúc liên kết
chỉ ra rằng chỉ có 1 đỉnh của kiểu A Như vậy đỉnh 2
không thể là ứng viên tiềm năng phù hợp của truy
vấn đỉnh Q2 Tương tự như vậy, chúng ta quan sát
thấy đỉnh 8 và đỉnh 10 cũng không thể là ứng viên
tiềm năng của truy vấn đỉnh Q2 Vì vậy tập các ứng
viên tiềm năng được thể hiện trong hình 7 Các đỉnh
màu đỏ được lọc ra
A
3 2
4 1
3 4
5 6
7 8
9
13 12
0.1 0.2
0.2 0.5
0.6 0.3
0.9
0.1
0.7 0.7
0.3 0.4 0.5 0.4
Network G
Hình 3
0.2
Trang 13Các ứng viên tiềm năng có thể được xác định cho 1 đỉnh truy vấn q bằng cách,
đầu tiên tính toán các cấu trúc liên kết cho q (tương tự như một hàng trong chỉ số
cấu trúc liên kết đồ thị) và sau đó kiểm tra nếu truy vấn đỉnh q như một đồ thị con
phù hợp với một đỉnh ứng viên tiềm năng p trong đồ thị Cấu trúc phù hợp này có thểđược kiểm tra bằng cách xem xét tất cả các đường dẫn trong các truy vấn với độ dài
từ 1 đến D và kiểm tra sự xuất hiện của nó trong đồ thị Chúng ta hãy biểu diễn cấu
trúc chỉ số liên kết cho các truy vấn bằng queryTopology.
Algorithm 1 Candidate Node Filtering Algorithm
Input: (1) Query Node q,
(2) Graph Node p, (3) topology[p], (4) queryTopology[q], (5) Index Parameter D.
Output: Is p a potential candidate node for query node q?
1: for d = 1 D do
2: for mp = 1 Td do // TD đường dẫn biến đổi khác nhau của độ dài D
3: if queryTopology[q][d][mp] > topology[p][d][mp] then
4: Return False
5: Return True
Đối với mỗi độ dài d Kiểm tra độ dài d của đường dẫn thay đổi, bằng
cách so sánh chỉ số cấu trúc liên kết đồ thị đưa vào với các giá trị chỉ số cấu trúc liên kết đồ thị trên đồ thị cần truy vấn G tương ứng (bước 3)
Tìm các ứng viên p phù hợp với truy vấn q.
Cắt tỉa ứng viên làm rút ngắn được danh sách cạnh
Ví dụ: Đỉnh 2, 8 và 10 được cắt tỉa bởi truy vấn đỉnh Q2
Truy vấn Q2 (đỉnh dạng A), với độ dài d=1, thì chỉ số cấu trúc liên kết đồ thị = 2 (có 2 liên kết độ dài 1 đến đỉnh dạng A)
Trong khi đó các đỉnh dạng A trong đồ thị G là 2, 8, 10 có chỉ số cấu trúc
liên kết đồ thị = 1, như vậy 3 đỉnh này bị loại theo thuật toán 1.
Như vậy danh sách cạnh cần xét sẽ loại đi các cạnh tạo bởi các đỉnh bị loại
Tức là, danh sách cạnh truy vấn cạnh (Q2, Q3) tương ứng với cạnh AA
được đánh dấu là không hợp lệ là: (2, 3), (8,9) và (10,9)
Trang 14- mp=1 // chỉ có 1 đường dẫn biến đổi khác nhau của độ dài 1 , AA
//if queryTopology[q][d][mp] > topology[p][d][mp] then
Q 1 Có 1 đường dẫn biến đổi AA
Các đỉnh 2, 3, 4, 5, 8, 9, 10 đều có ít nhất 1 đường dẫn biến đổi độ dài 1đến đỉnh A
Nên không loại được đỉnh nào với truy vấn Q 1 độ dài 1
+ d=2
- mp=1 // chỉ có 1 đường dẫn biến đổi khác nhau của độ dài 1, AAA
//if queryTopology[q][d][mp] > topology[p][d][mp] then
Q 1 Có 1 đường dẫn biến đổi AAA
Các đỉnh 2, 3, 4, 5, 8, 9, 10 đều có ít nhất 1 đường dẫn biến đổi độ dài 2đến đỉnh A
Nên không loại được đỉnh nào với truy vấn Q 1 độ dài 2
- mp=2 // chỉ có 1 đường dẫn biến đổi khác nhau của độ dài 1, AAA B
//if queryTopology[q][d][mp] > topology[p][d][mp] then
Q 1 Có 1 đường dẫn biến đổi AAA B
Các đỉnh 2, 3, 4, 5, 8, 9, 10 đều có ít nhất 1 đường dẫn biến đổi độ dài 3đến đỉnh A
Nên không loại được đỉnh nào với truy vấn Q 1 độ dài 2
2 Input: Q 2 (đỉnh Q 2 là đỉnh dạng A )
+ d=1
- mp=1 // có 2 đường dẫn biến đổi khác nhau của độ dài 1 , AA, đó là 2,1 và 2,3
//if queryTopology[q][d][mp] > topology[p][d][mp] then
Q 2 Có 2 đường dẫn biến đổi AA
Các đỉnh 2, 8, 10 chỉ có nhất 1 đường dẫn biến đổi độ dài 1 đến đỉnh A
Nên bị loại bởi truy vấn Q 2 độ dài 1
Q 2 Có 1 đường dẫn biến đổi AA B
Các đỉnh 2, 10 không có đường dẫn biến đổi độ dài 2 đến đỉnh B
Nên bị loại bởi truy vấn Q 2 độ dài 2
Như vậy truy vấn Q 2 đã loại các nút 2, 8, 10
Suy ra các cạnh tạo bởi các đỉnh này cũng bị loại khỏi danh sách cạnh, tương tự với Q 3
và Q 4
Ý tưởng:
Lưu lại Top-K đồ thị con phù hợp nhất Các danh sách cạnh được sắp xếp
từ trên xuống dưới theo chiều không tăng của trọng số Mỗi lần 1 cạnh có trọng
số lớn nhất lấy từ danh sách cạnh bất kỳ được chọn, tất cả có thể phù hợp vớiSize-1, cạnh đó được lấy ra để tính toán
Ứng viên Size-1 phù hợp sẽ được phát triển một cạnh tại một thời điểm,cho đến khi phát triển đến kích thước cần truy vấn Trong quá trình phát triển,
14