Luận án Nghiên cứu và phát triển một số độ đo liên kết trong bài toán khuyến nghị cộng tác

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8

Trang 9

Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Luận án Nghiên cứu và phát triển một số độ đo liên kết trong bài toán khuyến nghị cộng tác", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
Tóm tắt nội dung tài liệu: Luận án Nghiên cứu và phát triển một số độ đo liên kết trong bài toán khuyến nghị cộng tác
ác giả v3 và tác giả v1 cũng như tác giả v3 và tác giả v6 trong tương lai là như nhau.
Tiếp đến, tính giá trị độ đo liên kết trọng số dựa trên số lượng tác giả trong mỗi bài báo
푛 푛
sẽ nhận được 푆 (v3, v1) = (3 + 1/3)/2 1.67, và 푆 (v3, v6) = (3 + 1/2)/2 = 1.75 do giữa hai
tác giả v3 và v2 có 3 bài báo được viết chung và trong cả ba bài báo này đều chỉ do hai tác
giả này viết. Vì vậy, trọng số liên kết trong mỗi bài báo được xác định bằng 1 (theo công
thức (1.15)) và do đó tổng trọng số giữa tác giả v3 và v2 là 3; đối với tác giả v2 và tác giả v1
có một bài báo được viết chung song trong bài báo đó lại bao gồm 4 tác giả vì thế trọng số
liên kết giữa hai tác giả v2 và v1 được xác định bằng 1/3. Tương tự như vậy, giữa hai tác giả
v2 và v6 có một bài báo được viết chung và số lượng tác giả trong bài báo đó là 3 vì vậy trọng
số liên kết giữa hai tác giả này là 1/3.
Dễ nhận thấy rằng, đối với độ đo liên kết trọng số dựa trên số lượng bài báo chung trong
một số trường hợp cho ra giá trị độ đo liên kết như nhau. Điều này gây khó khăn trong việc
dự đoán mức độ cộng tác trong tương lai. Khi áp dụng độ đo liên kết trọng số dựa trên số
푛
lượng tác giả trong mỗi bài báo, giá trị độ đo liên kết đã có sự phân biệt hơn (푆 (v3, v1) =
푛 푛 푛
1.67 so với 푆 (v3, v6) = 1.75). Tuy vậy, sự khác biệt giữa 푆 (v3, v1) và 푆 (v3, v6) là chưa
nhiều để tác giả v3 đưa ra quyết định cộng tác với tác giả v1 hay v6.
Giả sử trong công thức (1.11), nếu thay thế trọng số cộng tác 휔푛 bởi 휔 푡 thì giá trị độ
đo liên kết trọng số dựa trên thứ tự tác giả và thời gian công bố của mỗi bài báo đối với hai
푡 푡
cặp tác giả (v3, v1) và (v3, v6) được tính bằng 푆 (v3, v1) = 1.29 và 푆 (v3, v6) 0.805. Khác
푡
với độ đo trọng số dựa trên số tác giả trong mỗi bài báo, mức độ tương đồng 푆 (v3, v1) >
푡
푆 (v3, v6), có sự khác biệt này là do giữa hai cặp tác giả (v2, v1) và (v2, v6) có sự khác biệt
về thứ tự tác giả trong bài báo cùng với thời gian công bố giữa hai bài báo được viết chung
bởi cặp tác giả (v2, v1) và (v2, v6).
Có thể thấy rằng, trọng số liên kết 휔 푡 cũng đã phản ánh được một khách quan hơn mức
độ cộng tác giữa hai tác giả so với hai loại trọng số liên kết 휔푛 và 휔푛 . Thật tiếc, cho đến
nay, chưa có nghiên cứu nào sử dụng loại trọng số này trong các độ đo liên kết có trọng số
như đã đề cập. Do vậy, luận án đã đề xuất các độ đo liên kết trọng số mở rộng dựa trên thứ
tự của các tác giả và thời gian bài báo được xuất bản xác định bởi các công thức (2.1), (2.2),
푡 푡 푡
và (2.3) tương ứng với các ký hiệu độ đo liên kết lần lượt là 푆 , 푆 , 푆퐽 .
45
Các công thức từ (2.1) đến (2.3) đã được công bố trong nghiên cứu CT5.
(,)(,)u z v z
Spt ( u , v ) pt pt (2.1)
CN z ()() u v 2
pt
SAA ( u , v )
pt(,)(,)u z pt v z 1 (2.2)
z ()() u v
2Log (1 zz ()pt ( z , z ))
pt(,)(,)u z pt v z
z ()() u v
pt 2 (2.3)
SJC ( u , v )
u ()() upt(,)(,)u u v v pt v v
Trong đó, 휔 푡( , 푣) được xác định bởi công thức (1.5) trong chương 1.
2.2. Các độ đo liên kết dựa trên nội dung bài báo
Các độ đo liên kết dựa trên trọng số giới thiệu trong mục 1.1.3 và mục 2.1 đã phản ánh
được mức độ liên kết giữa hai cặp tác giả thông qua số lượng tác giả, thứ tự của các tác giả
và thời gian xuất bản các bài báo. Tuy nhiên, trong mạng đồng tác giả, mỗi một mối cộng
tác giữa hai tác giả lại ẩn chứa nội dung của bài báo mà hai tác giả cộng tác, nội dung của
các bài báo mà mỗi tác giả đã viết có thể cho chúng ta biết về chủ đề hay lĩnh vực họ đang
nghiên cứu, từ đó có thể biết được liệu những tác giả nào có lĩnh vực hay nội dung nghiên
cứu tương đồng (hoặc gần) với tác giả cần xem xét, từ đó có thêm thông tin để dự đoán xem
hai tác giả nào sẽ có khả năng cộng tác với nhau trong tương lai.
Pu = {pu1, pu2, , pum} Pv = {pv1, pv2, , pvn}
u v
Puz = {puz1, , puzk} (v, z)
(u, z) Pvz = {pvz1, , pvzq}
z
Nz = {(x1, (x1, z)), , (xl, (xl, z))}
Hình 2.1 Minh họa độ đo liên kết mở rộng
Một số nghiên cứu trước đó đã xem xét mức độ tương đồng giữa hai tác giả thông qua
tập các từ khóa xuất hiện trong các bài báo hoặc tập các từ xuất hiện trong tên và nội dung
tóm tắt của bài báo [5, 50, 75, 92], sử dụng véc-tơ trọng số TF-IDF [87] hoặc xem xét mức
độ tương quan giữa các tác giả dựa trên các lĩnh vực mà các bài báo họ đã công bố được
46
phân vào [54]. Với cách này, không xem xét được tính tương đồng ngữ nghĩa hai tập từ, bởi
lẽ hai từ khác nhau vẫn có thể có nghĩa tương đồng hoặc cùng thuộc về một chủ đề nào đó
hoặc có thể cùng một mảng nghiên cứu được phân vào các lĩnh vực khác nhau và một lĩnh
vực nghiên cứu có thể được diễn đạt với các tên khác nhau. Vì vậy, trong luận án này đã sử
dụng phương pháp phân tích chủ đề để xác định mức độ tương đồng giữa hai bài báo. Trên
thực tế, có nhiều phương pháp phân tích theo chủ đề. Tuy nhiên, vì khuôn khổ luận án có
hạn nên chỉ lựa chọn kỹ thuật LDA bởi kỹ thuật này khá trực quan, có nhiều mã nguồn đáng
tin cậy được chia sẻ trên mạng Internet có thể sử dụng lại được và đã được sử dụng trong
mô hình CTR [86] để khuyến nghị bài báo khoa học.
Mặt khác, việc hai tác giả u, v đã từng cùng cộng tác với một tác giả z nào đó cũng sẽ
là cầu nối để hai tác giả u, v sẽ cộng tác với nhau trong tương lai. Độ đo liên kết đã được đề
xuất như KMC [92] hay AKMC [75] mới chỉ xem xét mức độ tương đồng giữa hai tác giả u,
v thông qua hai tập bài báo (Pu, Pv) được công bố bởi họ (dựa trên hai tập từ khóa hoặc hai
tập từ xuất hiện trong nội dung tóm tắt của các bài báo) mà chưa xem xét đến mức độ tương
đồng giữa tập bài báo được viết bởi tác giả u, z (Puz) với tập bài báo được viết chung bởi tác
giả v, z (Pvz). Nếu hai tập bài báo (Pu, Pv) chỉ có một vài bài báo liên quan đến nhau, nhưng
nếu những bài báo liên quan này lại xuất hiện tương ứng trong hai tập bài báo (Puz, Pvz) thì
khả năng cộng tác giữa u và v càng cao bởi họ đã từng cùng cộng tác với tác giả z trong một
số lĩnh vực.
Từ phân tích trên kết hợp với những khảo sát về sự ảnh hưởng của nội dung bài báo đến
các độ đo liên kết trong công trình nghiên cứu CT3, độ đo liên kết mở rộng dựa trên nội
dung bài báo trong mạng đồng tác giả được luận án đề xuất. Hình 2.1 sẽ minh họa cho độ đo
liên kết đã đề xuất.
Hình 2.1 xem xét sự tương tác giữa hai tác giả u và v thông qua một tác giả z có mối
cộng tác với cả hai tác giả u và v. Pu và Pv lần lượt là tập các bài báo đã được công bố bởi
tác giả u và v; Puz và Pvz là tập các bài báo được công bố bởi cặp tác giả (u, z) và (v, z) tương
ứng; (u, z) và (v, z) là trọng số liên kết giữa u với z, và v với z tương ứng; Nz là tập các
tác giả đã cộng tác với z cùng với trọng số liên kết với z.
Để xác định mức độ tương đồng giữa hai tác giả, có thể kết hợp mức độ tương đồng
giữa hai tập bài báo được công bố bởi hai tác giả u, v (S(Pu, Pv) có thể xem như là mức độ
tương đồng về lĩnh vực nghiên cứu) với mức độ tương tự giữa hai tập bài báo được viết
chung bởi hai tác giả (u, z) và (v, z) (S(Puz, Pvz)) dựa trên ý tưởng của độ đo liên kết trọng số
푛
theo láng giềng chung (푆 ).
47
Có hai cách kết hợp là kết hợp tích và kết hợp tuyến tính.
a) Kết hợp tích, ký hiệu là SP_LDAcosin(u, v) được tính theo công thức (2.4) [CT5]
SP_ LDA cos in (,) u v
1 1 1 (2.4)
z ()() u v
1 SPPSPP (u , v ) 1 ( uz , vz )
ee()()uv
Trong đó,
xxav av
uv
SP(,) Puv P (2.5)
xxav av
uv
m
av 1
xu( j ) x ui ( j ), j 1: K (2.6)
m i 1
xxav av
uz vz
SP(,) Puz P vz (2.7)
xxav av
uz vz
k
av 1
xuz( j ) x uzi ( j ), j 1, K (2.8)
k i 1
Xu = {xu1,,xum}, Xv = {xv1,,xvn}, Xuz = {xuz1,,xuzk}, Xvz = {xvz1,,xvzq} lần lượt là tập
các véc-tơ trong không gian K chiều, biểu diễn các bài báo trong Pu, Pv và Pvz tương ứng;
푣
là véc-tơ trung bình từ tập các bài báo của tác giả u; m, n lần lượt là số lượng bài báo
được công bố bởi tác giả u, v; k, q lần lượt là số bài báo được viết chung bởi tác giả u và z,
và v và z.
Trong công thức (2.4), mức độ tương đồng giữa hai tác giả càng cao nếu họ có nhiều
tương đồng về lĩnh vực nghiên cứu và mức độ tương đồng trung bình giữa tập các bài báo
của hai nút với láng giềng chung càng cao.
b) Kết hợp tuyến tính, ký hiệu là SLDAcosin (u, v)
Độ đo liên kết dựa trên nội dung bài báo (SLDAcosin) được xây dựng dựa trên sự kết hợp
tuyến tính mức độ tương đồng giữa hai tập bài báo mà hai tác giả đã công bố (trong Hình
2.1 chính là hai tập Pu và Pv), và mức độ tương đồng giữa hai tập bài báo mà mỗi tác giả đã
viết chung với tác giả láng giềng chung (trong Hình 2.1 là tập Puz và Pvz). SLDAcosin được xác
định bởi công thức (2.9).
S(,) u v
LDAcos in
1 (2.9)
SP( Pu , P v ) (1 ) SP ( P uz , P vz )
| (uv ) ( ) | z ()() u v
48
Trong đó, hệ số kết hợp (0, 1), S(Pu, Pv) được tính theo công thức (2.5) và S(Puz,
Pvz) được tính theo công thức (2.7).
Mức độ tương đồng giữa hai tác giả dựa trên nội dung bài báo được đề xuất trong công
thức (2.9) có thể áp dụng cho hai tác giả bất kỳ, trong trường hợp hai tác giả không có láng
giềng chung (tức là không có tác giả nào cùng viết chung với hai tác giả đó) thì thành phần
thứ hai (chứa S(Puz, Pvz)) trong công thức (2.9) sẽ bằng 0. Như vậy, công thức (2.9) có tính
phổ quát cao hơn công thức (2.4), đồng thời tham số cho phép điều chỉnh sự ảnh hưởng
của từng thành phần (thành phần thứ nhất chứa S(Pu, Pv), và thành phần thứ hai chứa S(Puz,
Pvz)) tùy thuộc vào từng trường hợp cụ thể.
Phương pháp LDA được sử dụng để phân tích mỗi bài báo vào K chủ đề khác nhau (K
nguyên dương), thông tin của mỗi bài báo được sử dụng để phân tích chủ đề bao gồm tên và
nội dung tóm tắt của bài báo với mong muốn xác định được một cách chính xác nhất và có
tính tương đồng cao về ngữ nghĩa lĩnh vực nghiên cứu của mỗi tác giả thông qua nội dung
của các bài báo. Sau khi áp dụng kỹ thuật LDA đối với tập các bài báo, sẽ nhận được một
véc-tơ độ thuộc p trong không gian K chiều tương ứng với bài báo thứ p, các giá trị của mỗi
j
phần tử p trong p cho biết bài báo thứ p thuộc vào chủ đề thứ j với độ thuộc bằng bao
nhiêu. Véc-tơ p được luận án sử dụng như là một véc-tơ đặc trưng cho bài báo thứ p, và
dùng để tính các độ đo liên kết mở rộng mà luận án đã đề xuất.
Trên cơ sở các độ đo liên kết trọng số đã được giới thiệu trong mục 1.1.3 và mục 2.1,
và độ đo liên kết dựa trên nội dung bài báo (SLDAcosin) đã được đề xuất, có thể kết hợp các độ
đo liên kết trọng với chỉ số SLDAcosin để tạo ra một độ đo liên kết mở rộng nhằm tăng cường
(cải thiện) mức độ chính xác dự đoán khi áp dụng vào bài toán dự đoán liên kết trong mạng
đồng tác giả. Trên cơ sở đó, việc kết hợp các độ đo liên kết trọng số với SLDAcosin đã được đề
xuất trong luận án theo các công thức tổng quát từ (2.10) đến (2.12). Các đề xuất của luận
án về việc kết hợp tuyến tính giữa các độ đo liên kết trọng số với độ đo liên kết dựa trên nội
dung bài báo trên cơ sở việc phân tích sự ảnh hưởng của các độ đo liên kết trong mạng đồng
tác giả đã được công bố trong công trình nghiên cứu CT2.
type type
SCN_ LDA cos in(,) u v S CN (,)(1) u v S LDA cos in (,) u v (2.10)
type type
SAA_LDAcosin(,) u v S AA (,)(1) u v S LDAcosin (,) u v (2.11)
type type
SJC_LDAcosin(,) u v SJC (,)(1) u v S LDAcosin (,) u v (2.12)
Trong đó, type {‘np’, ‘na’, ‘pt’} tương ứng với các kiểu trọng số liên kết, hệ số kết
hợp (0, 1) cho biết mức độ ảnh hưởng của độ đo liên kết trọng số đến độ đo liên kết kết
49
hợp, hệ số này cũng sẽ được tính thông qua thực nghiệm. Như vậy, ba kiểu trọng số liên kết
và ba độ đo liên kết khi kết với hợp đô đo SLDAcosin sẽ cho ra được 9 cách kết hợp khác nhau.
2.3. Thuật toán tính độ đo liên kết và đánh giá độ phức tạp của
thuật toán
Trong mục này, luận án trình bày các thuật toán dưới dạng giả mã để tính toán giá trị
độ đo liên kết dựa trên trọng số và dựa trên nội dung bài báo đã trình bày bày trong mục
1.1.3, 2.1 và 2.2. Ở đây, giả thiết mạng đồng tác giả được lưu dưới dạng danh sách kề. Do
vậy, tập láng giềng ((u)) của một tác giả đã được xác định.
Đầu tiên, luận án sẽ trình bày thuật toán 2.1 để xác định ba loại trọng số (type = {‘np’,
‘na’, ‘pt’}) làm cơ sở để tính toán các độ đo liên kết trọng số.
Thuật toán 2.1 Weighted_based_type
(T)
Đầu vào: Tập quan các hệ cộng tác E , tc thời gian hiện tại, tf là thời gian đầu tiên
(T)
hai tác giả u, v cộng tác, loại trọng số cần tính type và tập các bài báo P .
Đầu ra: Giá trị trọng số dựa trên type ứng với các cặp tác giả u, v có quan hệ cộng
(T)
tác trong E (휔푡 푒).
1: For (u,v) E(T)
2: (u,v) := 0
3: For p Puv // tập các bài báo được viết chung bởi hai tác giả u, v
4: If type == ‘np’
5: (u,v) := (u,v) + 1
6: Else
7: If type == ‘na’
8: (u,v) := (u,v)+ 1/(p.numofauthors - 1)
9: Else // tính trọng số theo type = ’pt’
10: tp := p.year; du := p.order(u); dv := p.order(v); t0 := tf - 1
11: (u,v) := (u,v) + DCL(du, dv)*(tp – t0)/(tc – t0)
12: End If
13: End If
14: End For
15: End For
// DCL(du, dv) được xác định theo công thức (1.4) trong chương 1
50
Mệnh đề 2.1. Thuật toán 2.1 có độ phức tạp thời gian là O(NDQ). Trong đó, N là tổng số
tác giả trong mạng, D và Q lần lượt là số láng giềng lớn nhất và số bài báo lớn nhất của
một tác giả nào đó.
Chứng minh. Dễ nhận thấy, thuật toán sẽ thực hiện hai vòng For lồng nhau (dòng 1, 3).
- Xét vòng For thứ 2 (dòng 3): Dễ nhận thấy, cần phải duyệt vòng For theo tập số bài
báo chung của hai tác giả u, v (Puv). Do vậy, độ phức tạp thời gian được xác định là T1
(Q) = O(Q).
- Xét vòng For thứ 1 (dòng 1): Dễ nhận thấy, cần phải duyệt vòng For theo số lượng
(T) (T)
cộng tác trong E . Do vậy, độ phức tạp thời gian được xác định là T2 (|E |, Q) =
(T) (T)
|E |T1(Q) = O(|E |Q).
Mặt khác, do đồ thị biểu diễn mối quan hệ cộng tác giữa các tác giả là một đơn đồ thị
vô hướng. Vì vậy, ta có mối quan hệ (tổng bậc của tất cả các nút bằng hai lần số cạnh)
(T) (T)
2|E | = ∑푣∈ ( ) |Γ(푣)|. Từ đó, |E | ND/2. Như vậy, độ phức tạp thời gian khi xét
với vòng For thứ nhất là T2(N, D, Q) = O(NDQ).
Tóm lại, độ phức tạp thời gian của thuật toán 2.1 là:
T(N, D, Q) = T2 (N, D, Q) = O(NDQ).
푡 푒
Do các độ đo liên kết trọng số dựa trên CN (bao gồm 푆 , với type là kiểu trọng số
liên kết) đều có cách tính tương tự nhau, chỉ khác biệt ở việc tính trọng số liên kết giữa hai
tác giả. Nên để cho ngắn gọn, luận án sẽ trình bày một thuật toán chung để tính toán giá trị
của các độ đo liên kết trọng số dựa trên CN thông qua Thuật toán 2.2 dưới đây.
Mệnh đề 2.2. Thuật toán 2.2 có độ phức tạp thời gian là O(NDQ +ND2). Trong đó, N là
tổng số tác giả trong mạng, D và Q lần lượt là số láng giềng lớn nhất và số bài báo lớn nhất
của một tác giả nào đó.
Chứng minh. Dễ nhận thấy, thuật toán sẽ thực hiện tính trọng số cho các quan hệ cộng tác
(type) theo Thuật toán 2.1, sau đó thực hiện ba vòng For lồng nhau (dòng 1, 3, 4).
- Để tính trọng số cho các quan hệ cộng tác theo Thuật toán 2.1 thì độ phức tạp thời
gian được xác định là T1(N, D, Q) = O(NDQ).
- Xét vòng For thứ 3 (dòng 4): cần duyệt theo số láng giềng của tác giả v ((v)), do đó
độ phức tạp thời gian được xác định là T2(D) = O(D).
- Xét vòng For thứ 2 (dòng 3): cần duyệt theo số láng giềng của tác giả u ((u)), do đó
2
độ phức tạp thời gian được xác định là T3(D) = DT2(D) = O(D ).
- Xét vòng For thứ nhất (dòng 1): cần duyệt theo tất cả các tác giả trong mạng (V(T)),
2
do đó độ phức tạp thời gian được xác định là T4(N, D) = NT3(D) = O(ND ).
51
Tóm lại, độ phức tạp thời gian của thuật toán 2.2 là:
2
T(N, Q, D) = T1(N, D, Q) + T4(N, D) = O(NDQ+ND ).
Thuật toán 2.2 Weighted_Metrics_based_CN
Đầu vào: Tập các tác giả V(T), tập các cộng tác E(T ), tập các bài báo P(T) và type
{‘np’, ‘na’, ‘pt’} tương ứng với các kiểu trọng số liên kết.
Đầu ra: Giá trị độ đo liên kết trọng số dựa trên CN ứng với các cặp tác giả có chung
푡 푒
láng giềng (푆 ).
(T ) (T)
1: type := Weighted_based_type(E , P , type)// tính trọng số liên kết cho các quan
hệ cộng tác
2: For u V(T)
3: hset := new HashSet()
4: For v (u)
5: For x (v)\{u}
6: If (check(x) ==0 && hset.contains(x))
7: 푡 푒 푡 푒
푆 ( , ) := 푆 ( , ) + (type(u, v) + type(v, x))/2
8: Else If (check(x) == 0)
9: 푡 푒
hset.add(x) 푆 ( , ) := (type(u, v) + type(v, x))/2
10: End If
11: End For
12: End For
13: Check(u) := 1
14: End For
52
Tương tự như các độ đo liên kết trọng số dựa trên CN, các độ đo liên kết trọng số dựa
푡 푒
trên AA (bao gồm 푆 ) cũng được trình bày trên một Thuật toán chung để tính toán giá trị
của các độ đo liên kết dựa trên Thuật toán 2.3 dưới đây.
Thuật toán 2.3 Weighted_Metrics_based_AA
Đầu vào: Tập các tác giả V(T), tập các cộng tác E(T ), tập các bài báo P(T) và type
{‘np’, ‘na’, ‘pt’} tương ứng với các kiểu trọng số liên kết.
Đầu ra: Giá trị độ đo liên kết trọng số dựa trên AA ứng với các cặp tác giả có láng
푡 푒
giềng chung (푆 ).
(T ) (T)
1: type := Weighted_based_type(E , P , type)// tính trọng số liên kết cho các quan
hệ cộng tác
2: For u V(T)
3: For v (u) // lần lượt xét các láng giềng của u
4: wv := 0 hset : = new HashSet()
5: For y (v) // lần lượt xét các láng giềng của v
6: wv := wv + type(y, z) // tính tổng trọng số của v
7: End For
8: For x (v)\{u} // lần lượt xét các láng giềng của v
9: If (check(x) ==0 && hset.contains(x))
10: ( (u , v ) ( v , x ))
푆푡 푒( , ) := 푆푡 푒( , ) + type type
2Log (1 wv )
11: Else If (check(x) == 0)
12: hset.add(x)
13: 푡 푒
푆 ( , ) :=
14: End If
15: End For
16: End For
17: Check(u) := 1
18: End For
53
Mệnh đề 2.3. Thuật toán 2.3 có độ phức tạp thời gian là O(NDQ +ND2). Trong đó, N là
tổng số tác giả trong mạng, D và Q lần lượt là số láng giềng lớn nhất và số bài báo lớn nhất
của một tác giả nào đó.
Chứng minh. Dễ nhận thấy, thuật toán sẽ tính toán trọng số liên kết cho các quan hệ cộng
tác (type), sau đó thực hiện hai vòng For lồng nhau (dòng 2, 3), đối với vòng For thứ hai
thì thực hiện hai vòng For liên tiếp (dòng 5, 8).
- Để tính trọng số cho các quan hệ cộng tác theo Thuật toán 2.1 thì độ phức tạp thời
gian được xác định là T1(N, D, Q) = O(NDQ).
- Xét vòng For dòng 5: cần duyệt theo số láng giềng của tác giả v ((v)), do đó độ phức
tạp thời gian được xác định là T2(D) = O(D).
- Xét vòng For dòng 8: cần duyệt theo số láng giềng của tác giả v ((v)), do đó độ phức
tạp thời gian được xác định là T3(D) = O(D).
- Xét vòng For thứ hai (dòng 3): cần duyệt theo số láng giềng của tác giả u ((u)), do
2
đó độ phức tạp thời gian được xác định là T4(D) = D(T2(D)+T3(D)) = O(D ).
- Xét vòng For thứ nhất (dòng 1): cần duyệt theo tất cả các tác giả trong mạng (V(T)),
2
do đó độ phức tạp thời gian được xác định là T5 (N, D) = NT4(D) = O(ND ).
Tóm lại, độ phức tạp thời gian của thuật toán 2.3 là:
2
T(N, Q, D) = T1(N, D, Q) + T5(N, D) = O(NDQ+ND ).
Tương tự như hai Thuật toán 2.2 và 2.3, các độ đo liên kết trọng số dựa trên JC (bao
푡 푒
gồm 푆퐽 ) cũng được trình bày trên một Thuật toán chung để tính toán giá trị của các độ đo
liên kết theo Thuật toán 2.4 dưới đây.
Mệnh đề 2.4. Thuật toán 2.4 có độ phức tạp thời gian O(NDQ +ND2). Trong đó, N là tổng
số tác giả trong mạng, D và Q lần lượt là số láng giềng lớn nhất và số bài báo lớn nhất của
một tác giả nào đó.
Chứng minh. Dễ nhận thấy, thuật toán sẽ tính toán trọng số liên kết cho các quan hệ cộng
tác (type), sau đó từ dòng 2 đến dòng 9 thuật toán sẽ thực hiện hai vòng For lồng nhau (dòng
2, 4), từ dòng 10 đến 23 thuật toán sẽ thực hiện ba vòng For lồng nhau (dòng 10, 12, 13).
- Để tính trọng số cho các quan hệ cộng tác theo Thuật toán 2.1 thì độ phức tạp thời File đính kèm:
luan_an_nghien_cuu_va_phat_trien_mot_so_do_do_lien_ket_trong.pdf

