31
LI M ĐU ... Môn hc Cu trc d liu nâng cao l mt môn cơ bn, nn tng cho mi ngưi hc v lm v công ngh thông tin. Trong môn hc ny, chng ta đưc tm hiu, nghiên cu rt nhiu cu trc d liu cng vi nhng ng dng ca chng trong thc t. Ti liu ny nhm gii thiu v cu trc splay tree – cây splay v ng dng splay tree trong “Kỹ thuật cá nhân hóa web ngữ nghĩa trong trường hợp bùng nổ lượng truy cập web” Chng tôi xin trân trng tỏ lòng bit ơn ti Tin sĩ Nguyn Mnh Hng - ngưi đã trc tip ging dy môn hc Cu trc d liu nâng cao. Chng tôi cũng xin chân thnh cm ơn các bn bè v đồng nghip đã nhit tnh gip đỡ đ tôi hon thnh bi tập ny. Mặc d đã cố gắng nhưng chắc hẳn ti liu không tránh khỏi nhng thiu sót. V vậy chng tôi rt mong đưc Thầy cng các bn nhận xét v góp ý đ tôi đưc đ ti liu ny đưc hon thin hơn. Chu ́ ng tôi xin trân thnh cm ơn! H Ni, thng 1 năm 2012 Nhóm hc viên thc hin: Đ Quang Hòa - Lê Thanh Mai 1

Tai Lieu Splay Tree

  • Upload
    do-hoa

  • View
    137

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Tai Lieu Splay Tree

LƠI MƠ ĐÂU

Môn hoc Câu truc dư liêu nâng cao la môt môn cơ ban, nên tang cho môi ngươi hoc

va lam vê công nghê thông tin. Trong môn hoc nay, chung ta đươc tim hiêu, nghiên cưu

rât nhiêu câu truc dư liêu cung vơi nhưng ưng dung cua chung trong thưc tê. Tai liêu nay

nhăm giơi thiêu vê câu truc splay tree – cây splay va ưng dung splay tree trong “Kỹ

thuật cá nhân hóa web ngữ nghĩa trong trường hợp bùng nổ lượng truy cập web”

Chung tôi xin trân trong tỏ lòng biêt ơn tơi Tiên sĩ Nguyên Manh Hung - ngươi đã

trưc tiêp giang day môn hoc Câu truc dư liêu nâng cao. Chung tôi cũng xin chân thanh

cam ơn các ban bè va đồng nghiêp đã nhiêt tinh giup đỡ đê tôi hoan thanh bai tập nay.

Mặc du đã cố gắng nhưng chắc hẳn tai liêu không tránh khỏi nhưng thiêu sót. Vi vậy

chung tôi rât mong đươc Thầy cung các ban nhận xét va góp ý đê tôi đươc đê tai liêu nay

đươc hoan thiên hơn.

Chung tôi xin trân thanh cam ơn!

Ha Nôi, thang 1 năm 2012

Nhóm hoc viên thưc hiên:

Đô Quang Hòa - Lê Thanh Mai

1

Page 2: Tai Lieu Splay Tree

Phần 1: Splay tree

1.1 Giơi thiêu vê Splay treeSplay tree đươc các tác gia D.D.Sleator va R.E.Tarjan đưa ra năm 1983. Cây

Splay la cây tim kiêm nhị phân, song môi phép toán trên cây đi kèm theo thao tác câu

truc lai cây, như các cây tư điêu chinh khác la cây AVL hay cây đỏ đen, đươc goi la

splaying cây. Vơi cây AVL hoặc cây đỏ - đen, chung ta không quan tâm tơi tần suât truy

cập cua các phần tử dư liêu, ma thay cho điêu đó chung ta luôn luôn đam bao cây không

bao giơ mât cân băng tai moi đinh, va do đó thơi gian thưc hiên các phép toán trên cây la

O(logn). Đê cai đặt cây AVL hoặc cây đỏ - đen, ta cần phai đưa vao môi đinh thông tin

vê sư cân băng hoặc vê mau cua đinh đó.

Trong khi đó, Splaying cây nhăm muc đích giam bơt tổng thơi gian truy cập dư

liêu băng cách dịch chuyên các dư liêu đươc thương xuyên truy cập lên gần gốc cây, va

vi vậy sư truy cập tơi các dư liêu đó sẽ nhanh hơn. Ưu điêm cua Splay cây la chung ta

không cần lưu thông tin vê sư cân băng cua các đinh, va do đó, tiêt kiêm đươc bô nhơ va

sư cai đặt cũng đơn gian hơn.

Bên canh đó, Splay tree la cây nhị phân tim kiêm nên cũng khá ro rang, dê hiêu va

dê dang thưc hiên các thao tác cơ ban như: tim kiêm, xoá, chèn,…

Y tương cua Splay tree la sắp xêp các nut vừa đươc xét, có tần suât sử dung cao vê

gốc va xem xét vơi các nut trong có nhiêu con cháu hay các nut lá.

Viêc chuyên môt đinh v bât kỳ lên gốc cây la rât đơn gian băng cách sử dung các

phép quay cây (trái hoặc phai), môi lần quay đinh v đươc chuyên lên 1 mưc. Chẳng han,

di chuyên nut đươc truy nhập x vê gốc bơi phép quay:

2

Page 3: Tai Lieu Splay Tree

1.2 Nguyên tắc hoạt động cua splay treeTrên cây splay, các phép quay đươc định nghĩa băng các quy tắc quay đê quay dần

nut đươc xét vê gốc

Có 2 phương pháp đê quay:

- Bottom Up: Xuât phát từ nut đươc truy cập, ta quay nut nay từ dươi lên trên cho

đên khi nó trơ thanh nut gốc.

- Top Down: Xuât phát từ gốc cua cây, ta quay nut nay từ trên xuống dươi đên khi

đên nut đang đươc truy cập.

- Trên cây splay, các phép quay đươc định nghĩa băng các quy tắc quay đê quay

dần nut đươc xét vê gốc. Nêu x la gốc cua cây thi không phai thưc hiên gi.

1.2.1 Phương phap Bottom UpPhu thuôc vao câu truc cua đương dẫn truy cập va luôn đam bao cây Splay vẫn la

cây tim kiêm nhị phân, phương pháp Bottom Up sử dung 3 quy tắc quay cơ ban sau:

Dang 1: Zig

Gia sử cha cua nut x la gốc cua cây, ta thưc hiên quay x quanh nut cha cua x.

Dang 2:

Zig-Zig

Cha cua

nut x không

phai la gốc cua cây, nut x la con trái ( hoặc con phai) cua nut gốc, cha cua nut x la con

phai (hoặc con trái) cua nut gốc. Ta thưc hiên phép quay cha cua x quanh ông cua x va

quay x quanh cha cua x.

3

Quay y quanh z

Quay x quanh y

Page 4: Tai Lieu Splay Tree

Dang 3: Zig-Zag

Cha cua nut x không la gốc cua cây, nut x la con trái (hoặc con phai) cua nut gốc,

cha cua nut x la con phai (hoặc con trái) cua nut gốc. Ta thưc hiên quay x quanh cha cua

x va quay x quanh ông cua x.

Ví du: Ap dung quy tắc quay đê quay nut a thanh nut gốc.

4

Quay x quanh y

Quay x quanh z

i

h

H

g

f

e

d

c

b

a

I

J

G

A

B

C

D

E F

Cha cña a lµ nót b, kh«ng ph¶i lµ nót

gèc,b vµ a ®Òu lµ con

ph¶i,¸p dông quy t¾c

zig-zig

i

h

g

f

e

d

a

b

c

i

h

HHf

e

d

a

b

c

II

JJ

GG

AA

BB

F

D

EE

DCC

i

h

H

g

f

a

d e

b

c

J

G

A

B F

E

DC

i

h

Hf

a

d e

b

c

I

J

G

A

B F

E

D

Cha cua a la nut d, không phai la nut gốc,

d la con trái, còn a la con phai,Ap dung quy tắc

zig-zag

Page 5: Tai Lieu Splay Tree

1.2.2 Phương phap phân tich Top – DownPhu thuôc vao câu truc cua đương dẫn truy cập va luôn đam bao cây Splay vẫn la

cây tim kiêm nhị phân, phương pháp Bottom Up sử dung 4 quy tắc quay cơ ban sau:

Dang 1: Zig

Cha cua nut Y la gốc cua cây, ta thưc hiên: Quay nut Y quanh nut cha cua Y. Nut Y

trơ thanh nut chu cua X.

i

h

H

g

f

a

d e

b

c

J

G

A

B F

E

DC

i

h

Hf

a

d e

b

c

I

J

G

A

B F

E

DC

i

h

H

a

f g

d e

b

c

I

J

G

A

BF

E

DC

i

h

H

a

f

d e

b

c

I

J

G

A

BF

E

DC

f

d

b

c

A

B

E

DC

a

h

i

I JH

g

e

GF

f

d

b

c

A

B

E

DC

a

h

i

I JHe

GF

Cha cua a la nut f, không phai la nut gốc, f la con trái, còn a la con phai.

Ap dung quy tắc zig-zag

Cha cua a la nut h, không phai la nut gốc, a

va h đêu la con tráiAp dung quy tắc zig-zig

5

Page 6: Tai Lieu Splay Tree

Dang 2: Zig - Zig

Cha cua nut Z không phai la gốc, nut Z va cha cua nut Z cung la con trái (hoặc con

phai) cua nut gốc. Ta thưc hiên: Quay cha cua Z quanh ông cua Z va quay Z quanh cha

cua Z

Dang 3: Zig – Zag

Cha cua nut Z không la gốc cua cây, nut Z la con trái (hoặc con phai), cha cua nut Z

la con phai (trái) cua nut gốc. Ta thưc hiên quay cha cua Z quanh ông cua Z.

Dang 4: Reasembling

Thưc hiên: sắp xêp lai cây

6

Page 7: Tai Lieu Splay Tree

VÍ DỤ:

Ap dung các quy tắc đê quay nut 18 trơ thanh nut gốc

7

- 6 -

Zig-Zag Zig-Zig

Reasemble

Zig

Page 8: Tai Lieu Splay Tree

1.3 Các phep cập nhật trên Splay Tree1.3.1 Find (i, T) - Tim kiêm nut i trên cây T

- Tim kiêm nut i trên T, như BST

- Nêu tim thây, quay nut i vê gốc

- Nêu không có i, quay nut cuối cung đươc thăm trên đương dẫn tim

kiêm vê gốc.

Ví du tim nut 42 trên cây T

50

60

70

65

63

66

40

43

20

16

25

Dang zig-zag =>quay nut 43 quanh nut 40, quay

nut 43 quanh 50

Nut 42 không tim thây trên cây, nut 43 đươc thăm lần cuối cung trên đương dẫn tim kiêm => quay nut 43

43

40

20

16

43

50

60

70

65

63

66

8

Ví dụ tim nút 65 trên cây T

50

60

70

65

63

66

40

43

20

16

25

50

60

70

65

63

66

40

43

20

16

Dang zig

=>quay nut 65 quanh nut 70, quay nut 65 quanh 60

70

65

66

60

63

50

40

43

20

16

Dang zig-zag

=> quanh 65 quanh 50

65

Page 9: Tai Lieu Splay Tree

1.3.2 Catenate (T1,T2) - Nối 2 cây T1 va T2 đươc 1 cây BST

- Tim nut i lơn nhât trong cây T1

- Quay i vê lam gốc T1

- Nối T2 lam con phai cua nut gốc i

Ví du nối 2 cây sau

1.3.3 Split (i,T) – Tach cây T tại node iTrương hơp 1: iÎ T

• Quay nut i vê lam gốc cua T

• Cắt liên kêt trái hoặc liên kêt phai cua nut i

=> cây T đươc tách tai nut i thanh 2 cây : T1, T2

T1 T2

i

T1T2

i

T1 T2

60

55

75

90

65

10

25

29

8

23

5

Cây T1 Cây T2

10

25

29

8 23

5

60

55

75

90

65

9

Page 10: Tai Lieu Splay Tree

Trương hơp 2: iÏT

• Quay nut i- (nut có giá trị liên trươc i) hoặc i+ ( nut có giá trị liên sau i) vê

gốc cua T

• Cắt liên kêt phai cua nut i- hoặc liên kêt trái cua i+

• => cây T đươc tách tai nut i- hoặc i+ thanh 2 cây: T1, T2

Quay i vê gốc

TT2

i

T1

iCắt liên kêt phai cua i

Cắt liên kêt trái cua i

T2

T1

ii

T2

T1

i

T1

Quay i- vê gốc

T

T2

i

T1

i-

Cắt liên kêt phai cua i-

Cắt liên kêt trái cua i +

T2

T1

ii-

Quay i + vê gốc

T2

T1

i+

T2

T1

i+

- 9 -

Cắt liên kêt trái cua nut 60

Ví du tách cây T tai nut 60

50

60

70

65

63

66

40

43

20

16

50

40

43

20

16

60

70

65

63

66

Cây T1

50

40

43

20

16 Cây T2

60

70

65

63

66

Quay nut 60 (dang zig)

10

Page 11: Tai Lieu Splay Tree

1.3.4 Insert (i,T) Insert (i,T) - Phép chèn 1

- Chèn nut vao như trong BST

- Quay nut vừa đươc chèn vê gốc

- Nêu đã có i trong T thi quay nut đó vê gốc

Insert (i,T) – Phép chèn 2:

- Thưc hiên Split(i,T) ta đươc 2 cây con T1, T2

- Nối cây T1 thanh con bên trái cua nut i, T2 thanh con bên phai cua nut i

Ví du chèn nut 42 vao cây T

Split(i,T)Nối T2 thanh con

phai cua iT1

T2

T2

T1

ii

T

Nối T1 thanh con trái cua i

50

60

70

65

63

66

40

43

20

16

Split(42,T)

42

Cây T1

40

20

16

Cây T2

43

50

60

70

65

63

66

40

20

16

43

50

60

70

65

63

66

Nôi T1 thanh con trái cua 42Nối T2 thanh con phai cua 42

11

Page 12: Tai Lieu Splay Tree

1.3.5 Delete (i,T) – Xoa nút i khỏi cây T

• Quay nut i vê nut gốc cua cây T (nêu nut i không có trên cây T thi quay nut

đươc thăm lần cuối cung trên đương dẫn tim kiêm)

• Cắt bỏ liên kêt trái va liên kêt phai cua nut i, ta đươc hai cây T1 va T2

• Xóa nut i

• Catenate(T1, T2)

Ví du xóa nut 40 khỏi cây T

Ví du xóa nut 80 khỏi cây T

Quay nut 40 vê gốc 40

20

16

25

50

60

70

65

63

66

43

50

60

70

65

63

66

43

20

16

25

50

60

70

65

63

66

40

43

20

16

25

40

12

50

60

70

65

63

66

40

43

20

16

25

Quay nut i Cắt liên kêt trái va

liên kêt phai cua nut i, xóa nut i

T’T2

T1

ii

T

Catenate(T1, T2)

T2

T1

ii

50

60

70

65

63

66

40

43

20

16

25

70

Page 13: Tai Lieu Splay Tree

Phần 2 : Bài báo khoa học

KỸ THUẬT CÁ NHÂN HểA WEB NGỮ NGHĨA

Trong trường hợp bùng nổ lượng truy cập web

Khái lược

Sư phỏt triên vũ bóo vê kơch thươc cũng như lương sử dung cua World Wide Web vẫn đang tiêp tuc tao ra nhưng thách thưc va nhu cầu to lơn mơi. Nhu cầu mong muốn dư đoán đươc nhưng sơ thích cua ngươi dung nhăm giai quyêt va cai thiên viêc duyêt môt trang web có thê đat đươc thông qua viêc cá nhân hóa các trang web. Kỹ thuật cá nhân hóa đươc thưc hiên dưa trên nhưng khai báo vê sơ thích cu thê cua ngươi dung va môt quá trỡnh lặp đi lặp lai cua viêc kiêm định hoat đông duyêt web cua ngươi dung, thu thập nhưng yêu cầu cua quá trỡnh nay vê cỏc đối tương ban thê hoc (ontological objects) va lưu giư chung trong các hồ sơ (profile) nhăm muc đích cung câp các nôi dung mang tính cá nhân. Vân đê ma chung ta sẽ đê cập la trương hơp khi môt số trang web trơ nên phor biên trong môt giai đoan ngắn va đươc truy cập thương xuyên liên tuc trong môt không gian va thơi gian giơi han. Muc tiêu cua chung ta la đối phó đươc vơi sư bung nổ vê lương truy cập nay va có thê tiêp tuc thu hut đươc nhưng ngươi dung tiêm năng trong tương lai có cung nhưng mối quan tâm chung đên vơi nhưng trang web có lương truy cập cao nay. Do đó, trong bai báo nay, chung tôi sẽ đê xuât môt kỹ thuật cá nhân hóa web mơi, dưa trên các câu truc dư liêu tiên tiên.

Các câu truc dư liêu đươc sử dung bao gồm Cây Splay (1) va các đống Nhị phân (Binary Heaps) (2). Chung tôi sẽ miêu ta kiên truc cua kỹ thuật, phân tích mưc đô phưc tap vê không gian va thơi gian va chưng mỡnh vê mặt hiêu năng cua đê xuât đưa ra. Thêm nưa, chung tôi sẽ so sánh vê ca hai mặt lý thuyêt va thử nghiêm kỹ thuật đê xuât đó vơi các cách tiêp cận khác nhăm chưng mỡnh cho tính hiêu qua cua nó. Giai pháp cua chung tôi đat đươc đô phưc tap vê không gian O(P2) va chay trong thơi gian la k.logP, tai đó k la số lương các trang va P la số lương các đối tương ban thê (ontonology) cua các trang Web.

Cỏc từ khua-thanh phần: personalization (cá nhân hóa), ontologies (các đối tương ban thê hoc), câu truc dư liêu thích nghi (adaptive data structure).

I. Giơi thiêu

Web ngư nghĩa (The Semantic Web) đó trơ thanh môt đũn bẩy đưa viêc tích hơp các tri thưc trên Web lên các câp đô mơi. Bât châp nhưng nô lưc danh cho các vân đê vê nghiên cưu va kỹ thuật, có rât ít các ưng dung thưc tê triên khai va đánh giá vê web ngư nghĩa đối vơi nhưng ngươi dung thưc. Web ngư nghĩa chi có thê đươc cung câp nêu nó đươc vận hanh bơi nhu cầu, ngư canh, các hồ sơ cua ngươi dung đê có thê tích hơp môt cách liên tuc các tri thưc lên web nhăm cung câp các nôi dung thưc sư đươc mong đơi.

Ngư canh va sư tuy biên (customization) la môt trong nhưng yêu tố chu yêu quyêt định tính chính xác, hiêu qua, phu hơp cua các thông tin truy cập trên các thư viên số cua Internet ma nói chung lai đó la Web ngư nghĩa. Trong các ưng dung Web truyên thống, ngươi dung duyêt Web theo các câu truc siêu văn ban đó đươc định nghĩa trươc. Vỡ vậy, viêc tỡm kiêm nôi dung yơu cầu ngươi dung phai hiêu đươc bố cuc cua trang Web, ma bố cuc nay thỡ khung phai lỳc nao cũng rừ rang. Viêc bổ sung va cỏc ưng dung Web cỏc kiên nghị đó đươc cá nhân hóa sẽ cung câp các hương đi thay thê cho viêc xuât ban dư liêu, va tăng cương kha năng cho ngươi dung trong viêc tỡm kiêm cỏc dư liêu ma ho quan tom. Tuy nhiơn, tơnh hiêu qua cua viêc cỏ nhon hua đươc dưa trên chât lương cua hồ sơ ngươi dung va mối quan hê giưa các đối tương nôi dung. Viêc mô hỡnh hua cỏc dư liêu sẽ đươc xuât ban va hồ sơ ngươi dung băng các đối tương ban thê hoc (ontologies) sẽ cho phép thê hiên đươc hiêu qua hơn các mối quan tâm cua ngươi dung va các

13

Page 14: Tai Lieu Splay Tree

mối quan hê giưa các bô phận thông tin, thông qua viêc thuc đẩy các tính năng tiên tiên cua công nghê Web ngư nghĩa. Chính các mối quan hê vê ngư nghĩa nay có thê đươc khai thác đê thu đươc các kêt qua vê cá nhân hóa đươc chính xác hơn.

Kỹ thuật cá nhân hóa đươc thưc hiên dưa trên nhưng khai báo vê sơ thích cu thê cua ngươi dung va môt quá trỡnh lặp đi lặp lai cua viêc kiêm định hoat đông duyêt web cua ngươi dung, thu thập nhưng yêu cầu cua quá trỡnh nay vê cỏc đối tương ban thê hoc (ontological objects) va lưu giư chung trong các hồ sơ (profile) nhăm muc đích cung câp các nôi dung mang tính cá nhân.

Chung tôi hương tơi viêc lưu giư các dư liêu quan hê giưa các đối tương ban thê hoc liên quan đên tính phổ biên cua chung va các yêu cầu cua ngươi dung vê các đối tương ban thê liên quan đên viêc duyêt các nôi dung đó. Các thuật toán vê cá nhân hóa va tiên cử nhăm đưa ra các kiên nghị các trang web đên ngươi dung thông qua viêc truy cập hiên tai cua ho va dưa vao các mẫu duyêt web cua ngươi dung trong quá khư. Vân đê chung ta quan tâm la trương hơp khi môt số trang web trơ nên phổ biên trong môt thơi gian ngắn va đươc truy cập thương xuyên trong không gian va thơi gian giơi han. Muc tiêu cua chung ta la giai quyêt vân đê bung nổ vê truy cập nay va giơi thiêu đươc các trang web có lương truy cập cao nay đên ngươi dung tiêm năng tương lai có cung mối quan tâm chung. Vỡ thê, trong bai bỏo nay, chỳng tui đê xuât môt kỹ thuật cỏ nhon hua web mơi, dưa trơn cỏc câu trỳc dư liêu tiơn tiên.

Các câu truc dư liêu đươc sử dung bao gồm Cây Splay (1) va các đống Nhị phân (Binary Heaps) (2). Chung tôi sẽ miêu ta kiên truc cua kỹ thuật, phân tích mưc đô phưc tap vê không gian va thơi gian va chưng mỡnh vê mặt hiêu năng cua đê xuât đưa ra. Thêm nưa, chung tôi sẽ so sánh vê ca hai mặt lý thuyêt va thử nghiêm kỹ thuật đê xuât đó vơi các cách tiêp cận khác nhăm chưng minh cho tính hiêu qua cua nó. Giai pháp cua chung tôi đat đươc đô phưc tap vê không gian O(P2) va chay trong thơi gian la k.logP, tai đó k la số lương các trang va P la số lương các đối tương ban thê (ontonology) cua các trang Web.

II. Các nghiên cứu trươc đây

Viêc cá nhân hóa Web đó trơ thanh môt vân đê quan trong do sư phổ biên cua các ưng dung vê thương mai điên tử [1,7,9]. Môt số phương pháp cho viêc cá nhân hóa website đó đươc đê xuât [1,3,4,6]. Muc tiêu cua môt trang web đó đươc cá nhân hóa la thu đươc nhưng ích lơi từ các tri thưc đat đươc từ viêc phân tích vê hanh vi duyêt web cua ngươi dung kêt hơp vơi các thông tin đươc thu thập khác, ví du như vê vị trí truy cập cua ngươi dung, các mẫu vê duyêt web cua ngươi dung trong quá khư, hay các đồ ma ho đó mua trơn mang [16,5,6,7,9]. Môt vân đê rât quan trong khác nưa la câu truc cua môt trang web va các nghiên cưu mang tính thống kê vê các liên kêt va trang web năm trong câu truc đó. UPR la môt thuật toán vê Đánh giá bậc cua trang web (Page Rank) tai đó kêt hơp các dư liêu sử dung va các kỹ thuật phân tích vê các liên kêt nhăm đánh giá vê kha năng truy cập cua các trang Web dưa trên sư quan trong cua chung trong môt sơ đồ tổng thê vê viêc duyêt ca trang Web [15].

Môt kỹ thuật cá nhân hóa đươc sử dung rât rông rói khỏc la kỹ thuật cỏ nhon hua viêc khai phỏ dư liêu sử dung web (Web usage data mining personalization) [1]. Vi du, môt thuật toán phân lơp cho viêc các nhân hóa Web dưa trên kỹ thuật khai thác các dư liêu sử dung web đó đươc đê xuât. Thuật toán nay gắn cho tai khoan ngươi dung ca các thông tin mang tính chât tĩnh, thông qua các kỹ thuật xêp nhóm cổ điên, va các hanh vi đông cua ngươi dung, từ đó đê xuât môt thuật toán phân lơp lai mơi va hiêu qua hơn [17].

Viêc kêt hơp Điên toán Thông minh (Computational Intelligent) cũng đó đươc ưng dung trong ngư canh cua quá trỡnh cỏ nhon hua Web, thung qua viêc cung câp cỏc vơ du khỏc nhau vê cỏc hê thống thung minh, đươc thiêt kê đê cung câp cho ngươi sử dung Web các thông tin ma ho tỡm kiêm, ma khung cần phai đũi hỏi ho phai hỏi môt cỏch rừ rang [19].

14

Page 15: Tai Lieu Splay Tree

Mặt khỏc, môt hê thống cung câp đoc tiêu thuyêt online xây dưng các mô hỡnh hồ sơ va đưa ra các khuyên nghị ma không cần ngươi dung phai tư dẫn dắt [18] . Nói chung, viêc cá nhân hóa trong thơi gian gần đây cũng đó đươc sử dung vao môt số các lĩnh vưc khác. Trong quang cáo, môt kỹ thuật xây dưng muc tiêu cho các quang cáo trưc tuyên mơi cũng đó đươc đê xuât [28], vơi viêc sử dung va thay đổi cho phu hơp môt số các kỹ thuật vê từ vưng va thu thập thông tin khá manh đó đươc kiêm thử đầy đu, đê xây dưng môt ươc lương vê sư ham thích cua môt ngươi dung đối vơi các san phẩm va dịch vu cu thê dưa trên viêc phân tích hanh vi duyêt web cua ngươi dung đó. Hơn nưa, các kỹ thuật theo hương tiêp cận nghiên cưu thiêt kê kêt hơp các hanh vi va công nghê đươc đê xuât nhăm hô trơ cho viêc mô hỡnh hóa ngươi dung tôt hơn trong các ưng dung quang cáo trên mobile đó đươc cá nhân hóa [29]. Thậm chí trong quá trỡnh download cỏc trũ chơi trên điên thoai băng các thiêt bị điên thoai, môt hê thống giơi thiêu các trũ chơi trên điên thoai đó đươc cá nhân hóa sẽ đươc đưa ra, hoat đông dưa trên viêc phân tích nhưng thơi gian trong ngay, va thơi gian trong tuần đươc sử dung đê cung câp các kinh nghiêm đó đươc cá nhân hóa nhiêu hơn [31].

Ngay khi viêc bung nổ vê lương truy cập đươc coi như la môt vân đê vê thuật toán, môt số bai báo cũng đó đươc trỡnh bay. Môt bô khung (framework) vê thuật toỏn mơi cho phôp phỏt hiên cỏc dâu hiêu cua sư bưng nổ đó đươc giơi thiêu: môt bô câu truc dư liêu tổng quát hóa cây nhị phân dịch chuyên (Shifted Binary Tree), va môt thuật toỏn tỡm kiêm phỏng đoán nhăm tỡm ra môt câu trỳc dư liêu hiêu qua lam đầu vao cho thuật toán.

Ngoai ra, viêc cá nhân hóa ngư nghĩa đó đươc cai thiên trong các thư viên số cũng như các cổng thông tin Web. Viêc duyêt web theo ngư nghĩa (Semantic Browsing) cung câp các nôi dung Web đươc tao ra môt cách linh đông theo ngư canh, từ đó cai tiên lai tri thưc cho phu hơp hơn vơi mong muốn cua ngươi dung. Ví du, vơi môt thư viên số vê y hoc đang tồn tai trong thưc tê, Thư viên điên tử quốc gia vê truyên nhiêm (The National electronic Library of Infection – NeLI, www.neli.org.uk) [32], đươc bổ sung mơi băng môt ontology vê lĩnh vưc truyên nhiêm, từ đó cho phép các dịch vu vê ngư nghĩa mơi có thê đươc phát triên môt cách định tính. Trong quỏ trỡnh nay, viêc hồ sơ hóa các nhóm đươc sử dung đê cai tiên quá trỡnh duyêt ngư nghĩa, thung qua viêc tơch hơp cỏc nguồn tri thưc phon tỏn. Dịch vu đươc đánh giá thông qua viêc phân tích log cua máy chu web, viêc cai tiên môt cách linh hoat các hồ sơ va thông qua viêc phan hồi định tính từ chính nhưng ngươi dung thưc tê cua cổng thông tin NeLI.

Mang Internet bao gồm các Websites sử dung nhưng loai câu truc khác nhau đươc coi như la xương sống cua quá trỡnh xoy dưng chỳng. Tuy nhiơn, ngươi dung thỡ lai duyêt web dưa trơn nôi dung cua chỳng, khung quan tom đên câu truc. Tai muc [33], chung ta sẽ thao luận vê kha năng sử dung các ontologies trong viêc khám phá các câu truc cua các websites va viêc sử dung đê tao ra các gơi ý vê duyêt web cho cỏc khách viêng thăm các website đó. Môt hê thống log đặc biêt cho phép thu thập đươc các dư liêu truy cập sẽ đươc giơi thiêu cũng như các kỹ thuật đươc sử dung cho viêc khai phá dư liêu. Ontology cua các hồ sơ ngươi dung sẽ đươc xây dưng thông qua viêc khai thỏc cỏc mu hỡnh định hương ngươi dung.

Hơn nưa, viêc bổ sung thêm các ưng dung web vơi các dư liêu cá nhân hóa la môt mối quan tâm chính nhăm cai thiên các truy cập cua ngươi dung đên các nôi dung xuât ban, va vỡ vậy, cu thê đam bao đươc hoat đông duyêt thông tin cua ngươi dung đươc thanh công. Trong muc [34], môt mô hỡnh định nghĩa cho các khuyên nghị cá nhân hóa bổ sung dưa trên viêc xây dưng hồ sơ ngươi dung, các mô hỡnh vê lĩnh vưc ban thê hoc (ontological domain models), va cỏc lý do ngư nghĩa đưa ra. Cỏch tiêp cận nay cung câp môt cỏch trỡnh bay ơ câp cao vê cỏc ưng dung đó đươc thiêt kê dưa trên môt mô hỡnh siơu đặc ta lĩnh vưc (domain-specific metamodel) cho ưng dung Web goi la WebML.

Viêc tơch hơp dư liêu sử dung vơi nôi dung, câu trỳc hay dư liêu hồ sơ ngươi dung sẽ cai thiên kêt qua cua quá trỡnh cỏ nhon hua. Trong muc [35], SEWep sẽ đươc trỡnh bay, đó la môt hê thống tao ra ca hai nôi dung la các Logs vê viêc sử dung cũng như ngư nghĩa cua nôi dung cua website nhăm muc đích các nhân hóa nó. Nôi dung Web đươc giai thích môt cách ngư nghĩa

15

Page 16: Tai Lieu Splay Tree

sử dung viêc phân câp các khái niêm (taxonomy). C-logs sẽ đươc giơi thiêu, đây la môt dang mơ rông cua thư viên log thông tin vê quá trỡnh duyêt Web, nu sẽ bao gồm cỏc tri thưc kê thừa từ cỏc ngư nghĩa cua cỏc liên kêt. C-logs đươc sử dung như đầu vao cho quá trỡnh khai phỏ viêc sử dung Web, va đưa ra kêt qua la tập hơp các khuyên nghị đươc tập trung mang tính ngư nghĩa va rông lơn hơn.

Thỏch thưc cua cỏc cung nghê khai phỏ Web nghư nghĩa trong lĩnh vưc hoc trưc tuyên (e-Learning) có thê liên quan đên viêc dư trư sẵn các kinh nghiêm đó đươc cá nhân hóa đên vơi ngươi dung. Đặc biêt la các ưng dung nay có thê thu đươc các nhu cầu va yêu cầu mang tính cá nhân cua ngươi hoc. Trong muc [36], có đê xuât môt bô khung (framework) cho viêc cá nhân hóa e-Learning dưa trên viêc kêt hơp các hồ sơ sử dung va các ontology vê lĩnh vưc nay. Nhưng ngươi viêt đó phon biêt hai giai đoan khác nhau trong ca quá trỡnh, môt danh cho cỏc nhiêm vu offline bao gồm chuẩn bị dư liêu, tao ontology, va khai phá thông tin vê sử dung; va môt la danh cho các nhiêm vu online liên quan đên viêc tao ra các khuyên nghị đên ngươi dung.

Viêc khai phá các dư liêu vê sử dung Web đó đươc sử dung môt cách hiêu qua như môt hương tiêp cận cho viêc cá nhân hóa tư đông va coi như la cách đê vươt qua các thiêu sót cua các cách tiêp cận truyên thống như viêc loc mang tính công tác. Bât châp sư thanh công cua các vân đê đó, có các hê thống, ma giống như trong các hê thống truyên thống hơn, không đưa vao tai khoan cỏc tri thưc ngư nghĩa vê lĩnh vưc liơn quan. Khung cu cỏc tri thưc vê ngư nghĩa nay, cỏc hê thống cỏ nhon hua khung thê gơi ý đươc các loai khác nhau cua các đối tương phưc tap dưa trên các thuôc tính cơ ban cua chung. Các hê thống nay vừa không thê có các kha năng diên giai môt cách tư đông hoặc lý do vê các mô hỡnh ngươi dung hay các khuyên nghị vơi ngươi dung. Viêc tích hơp các tri thưc ngư nghĩa trong thưc tê la thách thưc chu yêu nhât cho các thê hê cá nhân hóa tiêp theo. Trong muc [37], sẽ trỡnh bay nôi dung khỏi quỏt vê cỏc cỏch tiêp cận trong viêc sỏp nhập cỏc tri thưc ngư nghĩa vao quỏ trỡnh khai phỏ dư liêu sử dung Web va cỏc quỏ trỡnh cỏ nhon hua. Đặc biêt la sẽ có các thao luận vê các vân đê va các đặc ta cho viêc tích hơp thanh công các tri thưc ngư nghĩa từ các nguồn khác nhau, ví du như nôi dung va câu truc cua các Websites sẽ đươc sử dung trong viêc cá nhân hóa. Va cuối cung, sẽ trinh bay môt bô khung chung cho viêc tích hơp đầy đu các ontologies liên quan đên môt lĩnh vưc vơi quá trỡnh khai phỏ viêc sử dung Web va cỏc quỏ trỡnh cỏ nhon hua tai cỏc giai đoan khác nhau, bao gồm các viêc tiên xử lý va các giai đoan khám phá mẫu, cũng như la trong giai đoan cuối cung ma tai đó các mẫu đó khỏm phỏ sẽ đươc sử dung cho viêc cỏ nhon hua.

III.Viêc cỏ nhõn húa và những sự bựng nổ vê truy cập

Viêc cá nhân hóa có thê đươc xác định như thiêt kê, quan lý va cung câp nôi dung dưa trơn cỏc thung tin đó biêt, quan sỏt đươc hoặc mang tính chât dư đoán. Các kỹ thuật cá nhân hóa kêt hơp môt cá nhân ngươi dung, sơ thích cua anh/chị ta va các thói quen truy cập trên website, vơi các nôi dung dưa trên hồ sơ cua ngươi dung đó. Trong thê giơi bung nổ thông tin hiên nay, có rât nhiêu các công nghê tương tư nhau đươc sử dung như la môt cách đê loc va tổ chưc các dư liêu quan trong nhât đối vơi ho.

Nêu đươc thưc hiên chính xác, viêc cá nhân hóa các kinh nghiêm cua môt khách viêng thăm các trang web, sẽ lam cho nhưng thơi gian ma anh ta sử dung trên các website, hay các ưng dung có hiêu qua va hâp dẫn hơn. Viêc cá nhân hóa cũng có thê có giá trị đối vơi môt tổ chưc, môt cổng thông tin hay môt cửa hang trưc tuyên, vỡ nu sẽ quyêt định các kêt qua kinh doanh mong đơi như tăng lương ngươi dung phan hồi, hoặc liên quan đên viêc quang bá thông tin đên các khách hang.

Trong nghiên cưu nay, chung tôi sẽ cố gắng đê giai quyêt trương hơp bung nổ lương truy cập cá nhân vao các trang web. Rât nhiêu khía canh trong đơi sống hang ngay đươc mô ta trong sư kiên [27]. Môt số lương lơn không mong đơi các sư kiên xay ra trong pham vi thơi gian nhât định đươc goi la môt sư bung nổ (burst), nó sẽ dẫn đên các hanh đông hoặc các tiên trỡnh khung bỡnh thương. Sư bung nổ có thê xay ra trong rât nhiêu hoan canh hang ngay từ kinh tê đên các hiên tương tư nhiên, ví du như hoat đông bán hang hay sư kiên sao rơi. Phu thuôc vao mưc đô

16

Page 17: Tai Lieu Splay Tree

quan trong cua hiên tương hay quá trỡnh quan sỏt đươc, viêc tỡm ra môt cỏch hiêu qua cỏc sư bưng nổ la vu cưng cần thiêt. Môt cỏch cu thê, môt sư bưng nổ phu thuôc vao pham vi thơi gian ma chỳng ta tập trung vao, cũn goi la kơch thươc cua cửa sổ.

Các sư bung nổ cũng xay ra đối vơi lưu lương truy cập cua môt website, va anh hương đên chưc năng cua website trên rât nhiêu khía canh. Khi ma ngay cang có nhiêu các doanh nghiêp thương mai tham gia vao các hoat đông trên mang, thưc sư la cần thiêt đê lam cho các website cua ho hâp dẫn vơi khách hang. Môt cách đê cai thiên lưu lương truy cập cua trang web đó la thưc hiên quang cáo trưc tuyên trên các máy tỡm kiêm (search engine). Trong trương hơp nay, bơn canh cỏc kêt qua tỡm kiêm trơn trang web tỡm kiêm, sẽ cu môt quang cỏo đươc hiên thị thêm vao. Môt vân đê phát sinh vơi viêc tra tiên cho môi lần click vao liên kêt đó la viêc thưc hiên các click gia. Môt ngươi nao đó có thê sử dung các đoan mó tư đông hoặc lập trỡnh đê mô phỏng mố số lương lơn các click cua môt trỡnh duyêt lơn môt link quang cỏo. Va dĩ nhiơn, số lương click phai đu lơn đê đat đương lương tiên mong muốn. Vỡ vậy, khi cu môt sư bưng nổ cỏc click cu thê đươc coi la các click gia.

Trong bai bỏo nay, chỳng tui sẽ xử lý vơi trương hơp có bung nổ lương viêng thăm đối vơi môt webpage, va lam thê nao đê môt ngươi nao đó có thê thu đươc tri thưc từ thưc tê nay va trơ giup trong viêc cá nhân hóa web. Môt mẫu các viêng thăm hay truy cập sẽ đươc coi la bung nổ (bursty) khi chung xay ra vơi cương đô lơn qua môt giai đoan thơi gian giơi han. Cu thê, trong các trương hơp bung nổ, môt vai trang web sẽ trơ nên rât phổ biên trong môt thơi gian ngắn va đươc truy cập rât thương xuyên trong môt không gian thơi gian giơi han. Các mẫu đó cũng đươc quan sát trong môt số lương lơn các ưng dung Internet vơi số lương nghiên cưu [10]. Trong các trương hơp mẫu vê tỡm kiêm web bưng nổ, ngươi dung cố gắng tỡm kiêm cỏc kêt qua cu thê nao đó thuôc vê các ontology giơi han đươc quan tâm trong môt khoang thơi gian ngắn. Như môt quá trỡnh liơn tuc, cần thiêt phai cu môt kỹ thuật thu thập va lưu giư hiêu qua đê giư lai nhưng ontology đó đươc cá nhân hóa va các kêt qua thương xuyên cua ngươi dung.

Chỳng ta cu môt tập cỏc ontology cua các Webpages va môt số lương truy cập ngẫu nhiên đươc thưc hiên đên tât ca các Webpages bơi các ngươi dung. Chung ta xác định môt tập các webpages đươc ngươi dung mong muốn khi các webpages nay trơ thanh các trang đươc viêng thăm nhiêu nhât xác định bơi số lương viêng thăm đươc ghi lai trong từng khoang thơi gian nhât định. Cu thê hơn, chung ta sẽ đêm đối vơi môi webpage, xem có bao nhiêu truy cập đó đươc thưc hiên từ lần cuối cung nó đó đươc viêng thăm. Nêu con số nay la đu đê xác nhận trang web nay đươc yêu thích va thơi gian ma các truy cập đươc thưc hiên thỏa món, thỡ cỏc mẫu truy cập nay đươc coi la sư bung nổ vê truy cập.

Vỡ sư quỏ tai cua cỏc webpages, viêc xử lý cỏc ontology cung câp nhiêu thuận lơi hơn, từ khi nó giup sáng tỏ đươc vân đê. Vơi viêc tăng đêu cua số lương các webpages, nó đó trơ thanh môt vân đê khó vơi môt ngươi dung đê có thê định vị đươc nhưng thông tin ma mỡnh mong đơi trên môt website. Đê ngươi sử dung đươc đơn gian, có rât nhiêu các website có thê tổ chưc các webpages cua ho thanh cỏc ontology nhăm hô trơ trong viêc tỡm kiêm môt webpage dưa trơn viêc ân định chung vơi môt ontology.

Do đó, muc đích cua chung ta la lam sao thu lai đươc nhưng lơi ích cua viêc tổ chưc các Webpages thanh các ontologies va sử dung chung trong viêc xử lý cỏc bưng nổ vê truy cập đê môt ontology xác định cua Webpages. Ví du, chung tôi gia sử răng môt dung thương xuyên viêng thăm môt ontology nhât định cua môt website cửa hang trưc tuyên va vỡ muc đích thương mai, anh ta viêng thăm ontology cua video va âm thanh. Tai điêm nay, môt kỹ thuật cá nhân hóa web nhăm xử lý cỏc bưng nổ vê truy cập, nơn đươc cung câp tơi ngươi dung va các ontology cua các webpages ma ngươi dung đó lưa chon ra ontology vê video va om thanh cũng đươc viêng thăm.

IV. Cỏc trang web và các đối tượng bản thể (Ontologies)

17

Page 18: Tai Lieu Splay Tree

Trươc khi mô ta thuật toán vê cá nhân hóa cua chung tôi, chung tôi sẽ phai giai thích vê cách ma các trang web có thê đươc ân định tương ưng vơi các đối tương ban thê (ontologies). Ontology trong khoa hoc máy tính la đối tương diên ta các thưc thê, ý tương hay các sư kiên, cung vơi các thuôc tính va mối quan hê cua chung, tương ưng vơi môt hê thống ontology cu thê. Chung tôi sẽ sử dung công cu phân tích log cua Web có tên ORGAN, cung câp môt giai pháp tích hơp trong viêc phon tơch quỏ trỡnh xoy dưng va thưc hiên, thưc hiên trơn ca cỏc ngư nghĩa vê nôi dung cua site cũng như viêc viêng thăm các trang web. Thông tin vê sơ thích cua ngươi dung liên quan đên các chu đê cua website sẽ đươc trích rut ra, sau đó đươc kêt hơp vơi ORGAN như la môt ưng dung trong quá trỡnh ra quyêt định cua ngươi quan trị vê viêc tổ chưc lai câu truc cua Website. Do đó, trươc khi sử dung thuật toán cá nhân hóa cua chung tôi trên site, chung tôi sử dung công cu ORGAN đê quy các trang web cua website vê cỏc Ontology phư hơp.

V. Mô tả vấn đê (bài toán)

Chung ta sẽ mô ta bai toán như sau: chung ta có môt tập hơp P ontologies cua các webpages va N users. Môi Webpage thuôc vê môt ontology nhât định va môi hồ sơ ngươi dung đươc lưu trong môt cây mơ rông (splayed tree). Giống như hồ sơ, chung ta định nghĩa các “logfile” cua các webpages ma ngươi dung đó ghô thăm. Trong cây mơ rông, chung ta lưu các ontology cua các webpages. Tuy thuôc theo các thuôc tính cua cây mơ rông, hang muc đươc viêng thăm cuối cung sẽ đươc đưa vê gốc cua cây. Trong trương hơp cua chung ta, chung ta sẽ chinh sửa lai cây, vỡ vậy hang muc đươc truy cập thương xuyên nhât sẽ la hang muc đươc đưa vê nut gốc. Trong thưc tê, chung ta hương đên mơ rông môt ontology khi chung ta quan sát thây có sư bung nổ vê lương viêng thăm đên nó. Sau khi môt ontology đươc mơ rông vê nut gốc do có sư bung nổ vê truy cập, sẽ không cần phai câu truc lai hay mơ rông lai cây. Vỡ vậy, cỏc ontology xuât hiên ơ cỏc mưc trơn cua coy mơ rông cua môi ngươi dung sẽ la nhưng hang muc thuôc vê sơ thích cua ngươi dung đó.

18

Page 19: Tai Lieu Splay Tree

Từ luc chung ta giư hồ sơ cua môi ngươi dung, chung ta mong muốn xây dưng đươc câu truc dư liêu ma sẽ lưu các ontology phổ biên nhât ma đươc nhiêu ngươi viêng thăm nhât website A cũng mong muốn đươc viêng thăm nhât. Vỡ vậy, đối vơi môi ontology, chung ta xây dưng môt hang đơi. Hang đơi ma chung ta đó lưa chon cho cỏc muc đích nói trên đươc sử dung la các đống nhị phân (binary heap). Môi môt ontology giư môt đống nhị phân vơi các ontology khác va mưc đô phổ biên cua chung. Tuy thuôc vao các thuôc tính cua hang đơi ưu tiên, ơ nut gốc, chung ta lưu giá trị key nhỏ nhât va do đó chung ta có thê truy cập chung trong thơi gian la O(1). Chung ta lưu lương phổ biên cua môi ontology băng dâu (-), nhăm giư đươc giá trị lơn nhât trong nut gốc cua hang đơi ưu tiên. Môi lần chung ta quan sát thây có sư bung nổ vê viêng thăm đên môt topology A, chung ta sẽ tăng môt đơn vị đêm cua đô phổ biên cua ontology nay trong tât ca các hang đơi ưu tiên cua các ontology tỡm thây trong mưc cao nhât cua cây mơ rông cua môi ngươi dung xác định. Ngoai ra chung ta cũn tăng lương đêm cua các ontology nay trong hang đơi ưu tiên cua ontology A. Do đó, chung ta có thê rut ra đươc ontology nao la phổ biên nhât đối vơi ngươi dung ma đó viêng thăm ontology A trong môt thơi gian cố định.

Phu thuôc vao điêu kiên nêu trong cây mơ rông, chung ta lưu các ontology cua Webpages, có thê sẽ có môt cách tiêp cận khác. Trong trương hơp Webpages, đê đam bao răng, có ít nhât môt phần lơn các trang cua môt ontology sẽ đươc mơ rông vê đên nut gốc, chung ta có thê tuân theo kỹ thuật dươi đây. Chung ta gia sử răng môt trang x đươc truy cập thơi gian k, đu đê xác định răng trang nay la trang đươc truy cập thương uyên nhât. Khi đó, từ khi nut cha cua nut nay thuôc vê cung ontology, chung ta sẽ duyêt cây từ dươi lên. Ngưỡng trên cua số lương cua các câp ma

19

Page 20: Tai Lieu Splay Tree

chung ta duyêt lên sẽ phu thuôc vao số lương cua các ontologies va Webpages. Cho z la nut đươc duyêt trươc cuối cung cua nốt x thuôc vê cung ontology vơi x. Khi đó chung ta sẽ mơ rông tât ca các nut thuôc vê cây con cua nó vê vơi nut gốc. Tiêp theo, chung ta muốn phân biêt/ đánh dâu các ontology đươc viêng thăm nhiêu nhât bơi ngươi dung. Các ontologies gần vơi nut gốc cua cây, la các nut đươc ưa thích bơi ngươi dung. Vỡ vậy, vân đê duy nhât cũn lai đê quyêt định đó la đô sâu cua cây, giá trị sẽ thê hiên giơi han, phía trên đó tât ca các ontologies đêu đươc coi la đươc ngươi dung ưa thích.

Thuật toỏn

1. Khi (Webpage A cua ontology W đươc truy cập bơi ngươi dung.

/* Thu thập cỏc thung tin từ file log cua webpage*/

2. Nêu (truy cập nay tao ra môt bung nổ vê truy cập đên ontology W)

3. Thỡ

/* Sắp xêp lai cây splay cua ngươi dung, từ đó ontology vơi mẫu truy cập bung nổ cuối cung sẽ đươc đưa vê nut gốc*/

4. Di chuyên (splay) ontology W vê nut gốc cua cây mơ rông cua ngươi dung

/* Cập nhật hang đơi ưu tiên cua các ontologies nhăm đưa ra đươc các ontologies phổ biên cua ngươi dung*/

5. Định nghĩa tập hơp các ontologies, TOP, đó tồn tai trong cỏc level cao nhât cua coy mơ rông

6. Tăng số đêm cua W trong tât ca các hang đơi ưu tiên cua các ontologies thuôc vê TOP

7. Tăng số đêm cua các ontologies thuôc vê TOP trong hang đơi ưu tiên cua W

8. Tra vê như đó khuyên nghị nỳt gốc cua hang đơi ưu tiên cua W

9. endif

10. else

11. continue

VI. Phõn tơch

A. Yờu cầu vê khụng gian

Khi chung ta quan tâm đên đô phưc tap vê không gian, ơ đây không gian, theo mong đơi sẽ chu yêu la không gian đươc tao ra bơi hai câu truc dư liêu.

- Các cây Splay: Chung ta cần môt cây splay cho môi ngươi dung. Trong trương hơp xâu nhât, tai môi môt cây Splay chung ta sẽ lưu W webpages. Vỡ vậy, nêu dưa trơn cỏc trương tăng thêm cần thiêt cho môi nut cua cây Splay, không gian cần thiêt sẽ la 5.N.W

- Hang đơi ưu tiên: đối vơi môi ontology, chung ta sử dung môt hang đơi ưu tiên. Vỡ vậy, đối vơi P ontologies, chung ta sẽ mât môt khung gian la O(P2).

B. Yờu cầu vê thời gian

Nêu liên quan đên đô phưc tap vê thơi gian, môi môt truy cập sẽ cần:

- u.log(Ŵ/ŵ), cho u nỳt cua coy Splay. Giỏ trị nay cũng chơnh la u.log(#pages).

- Chung ta cần thơi gian O(1) đê quay trơ lai nut gốc cua cây từ môi hang đơi ưu tiên. Vỡ vậy sẽ mât N.O(1) đê có thê giơi thiêu môt ontology đên N ngươi dung.

Cuối cung, chung ta cần cập nhật các hang đơi ưu tiên. Nói cách khác, trươc khi giơi thiêu nut gốc cua môt hang đơi ưu tiên cua ontology, chung ta phai tăng các khóa cua các

20

Page 21: Tai Lieu Splay Tree

ontology ma chung ta tỡm thây trong sơ thơch cua ngươi dung, nêu ho đó hoan toan năm trong hang đơi ưu tiên cua ontology đó đươc mơ rông (splayed). Cuối cung, chung ta phai tăng khóa cua ontology đó đươc mơ rông đó, trong tât ca các hang đơi ưu tiên cua mưc cao nhât cua cây mơ rông cua ngươi dung. Nghĩa la nêu tính tổng, ta sẽ mât k.logP thơi gian.

VII. Tổng kết và các công viêc trong tương lai

Các thuật toán vê khuyên nghị va cá nhân hóa có muc tiêu la giơi thiêu các trang web đên ngươi dung dưa trên nôi dung ma ho đang truy cập va các mẫu duyêt web trong quá khư cua ho. Trong bai báo nay, chung tôi đưa ra môt kỹ thuật cá nhân hóa web, dưa tren các câu truc dư liêu tiên tiên. Khái niêm chính cua viêc nay la đối phó vơi trương hơp bung nổ vê lương truy cập đên môt trang web thông qua viêc xây dưng môt thuật toán có tác dung giơi thiêu đên nhưng ngươi viêng thăm trang web cua môt đối tương ontology cu thê cua các trang web A, các đối tương ontologies cua trang web ma nhưng ngươi viêng thăm A trươc đó cũng mong muốn đươc duyêt qua. Các câu truc dư liêu đươc sử dung la Cây Splay (1) va Các đống nhị phân (Binary heaps) (2). Chung tôi mô ta kiên truc cua kỹ thuật cũng như phân tích đô phưc tap vê không gian va thơi gian. Giai pháp cua chung tôi đat đươc đô chính xác vê không gian la O(P2) va chay mât thơi gian la k.logP trong đó k la số lương các trang va P la số lương cua các ontologies.

Các bươc nghiên cưu tiêp theo trong tương lai bao gồm viêc cai tiên các thuật toán nhăm đưa vao tai khoan ngươi dung nhưng phan hồi không rừ rang cua ngươi dung vê các lưa chon san phẩm cuối cung, không chi la các cửa hang hay các dịch vu trưc tuyên. Đây la trương hơp đặc biêt hiêu qua cho các hoat đông thưc hiên vê kinh doanh trưc tuyên (e-businesses) dưa trên các dịch vu Web di đông RESTful gon nhẹ.

21

Page 22: Tai Lieu Splay Tree

KÊT LUẬN

Splay tree đươc các tác gia D.D.Sleator va R.E.Tarjan đưa ra năm 1983. Splaying

cây nhăm muc đích giam bơt tổng thơi gian truy cập dư liêu băng cách dịch chuyên các

dư liêu đươc thương xuyên truy cập lên gần gốc cây, va vi vậy sư truy cập tơi các dư liêu

đó sẽ nhanh hơn. Ưu điêm cua Splay cây la chung ta không cần lưu thông tin vê sư cân

băng cua các đinh, va do đó, tiêt kiêm đươc bô nhơ va sư cai đặt cũng đơn gian hơn.

Vi thơi gian có han nên chưa thê nghiên cưu sâu cũng như tim hiêu nhiêu hơn nưa

các ưng dung cua splay tree. Rât mong nhận đươc sư đóng góp ý kiên cua thầy giáo va

các hoc viên khác.

22

Page 23: Tai Lieu Splay Tree

TÀI LIỆU THAM KHẢO

[1]. Giáo trinh thuật toán. NXB Thống kê 2002. Nhóm Ngoc Anh Thư dịch

[2]. Slide Bai giang môn hoc Câu truc dư liêu nâng cao. TS Nguyên Manh Hung

[3]. Tai liêu COMP670 online Algorithm – Self-organized – Splay Tree. Hung Lau Yung

[4]. Handbook of Data Structures and applications. 2005. Dinesh P.Mehta va Sartaj

Sahni.

[5]. Các câu truc dư liêu cao câp. Website congdongCviet.com

23