khai thÁc t一p m影c trển c愛 sỞ d頴 liu s渦 l営ng cị s衛 phỂn c … · 2016. 4....

123
ҤI HӐC QUӔC GIA HÀ NӜI TRѬӠNG ҤI HӐC KHOA HӐC TӴ NHIểN _______________________ NGUYӈN DUY HÀM PHỄT TRIӆN MӜT SӔ THUҰT TOỄN HIӊU QUҦ KHAI THÁC TҰP MӨC TRểN CѪ SỞ DӲ LIӊU SӔ LѬӦNG Cị SӴ PHỂN CҨP CÁC MӨC DӴ THҦO LUҰN ỄN TIӂN Sƾ TOỄN HӐC HƠ Nӝi 2016

Upload: others

Post on 21-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

Đ萎I H窺C QU渦C GIA HÀ N浦I

TR姶云NG Đ萎I H窺C KHOA H窺C T衛 NHIểN

_______________________

NGUY右N DUY HÀM

PHỄT TRI韻N M浦T S渦 THU一T TOỄN HI烏U QU謂 KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LI烏U S渦 L姶営NG

Cị S衛 PHỂN C遺P CÁC M影C

D衛 TH謂O LU一N ỄN TI蔭N Sƾ TOỄN H窺C

HƠ N瓜i ậ 2016

Page 2: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

Đ萎I H窺C QU渦C GIA HÀ N浦I

TR姶云NG Đ萎I H窺C KHOA H窺C T衛 NHIểN

_______________________

NGUY右N DUY HÀM

PHỄT TRI韻N M浦T S渦 THU一T TOỄN HI烏U QU謂 KHAI THỄC T一P M影C TRểN C愛 SỞ D頴 LI烏U S渦 L姶営NG

Cị S衛 PHỂN C遺P CÁC M影C

Chuyên ngành: C愛 S雲 TOỄN CHO TIN H窺C

Mư s嘘: 62.46.01.10

D衛 TH謂O LU一N ỄN TI蔭N Sƾ TOỄN H窺C

NG姶云I H姶閏NG D郁N KHOA H窺C:

1. TS.NGUY右N TH卯 H唄NG MINH

2. PGS.TS. VẪ ĐỊNH B謂Y

HƠ N瓜i ậ 2016

Page 3: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

i

L云I CAM ĐOAN

Tôi xin cam đoan lu壱n án này là công trình nghiên cứu do tác gi違 th詠c

hiện d逢噂i s詠 h逢噂ng d磯n của t壱p th吋 cán b瓜 h逢噂ng d磯n. Lu壱n án có sử dụng

thông tin trích d磯n từ nhiều ngu欝n tham kh違o khác nhau, các thông tin trích

d磯n đều đ逢ợc ghi rõ ngu欝n g嘘c. Các s嘘 liệu th詠c nghiệm, k院t qu違 nghiên cứu

trình bày trong lu壱n án là hoàn toàn trung th詠c, ch逢a đ逢ợc công b嘘 b荏i tác gi違

nào hay trong bất kì công trình nào khác.

Tác gi違

Nguy宇n Duy Hàm

Page 4: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

ii

L云I C謂M 愛N

Lu壱n án Ti院n sƿ nƠy đ逢ợc th詠c hiện t衣i tr逢運ng Đ衣i h丑c Khoa h丑c và T詠 nhiên

ậ Đ衣i h丑c Qu嘘c gia Hà N瓜i v噂i s詠 h逢噂ng d磯n khoa h丑c của TS. Nguy宇n Th鵜 H欝ng

Minh, PGS.TS.Võ Đình B違y và TS. Lê Quang Minh. Nghiên cứu sinh xin bày tỏ

lòng bi院t 挨n sơu sắc t噂i thầy giáo, cô giáo h逢噂ng d磯n đư đ鵜nh h逢噂ng khoa h丑c, t壱n

tơm giúp đỡ và ch雨 b違o t雨 m雨 trong su嘘t quá trình nghiên cứu m噂i có th吋 hoàn thiện

b違n lu壱n án này. Nghiên cứu sinh luôn ghi nh噂 công lao d衣y dỗ, dìu dắt vào con

đ逢運ng khoa h丑c của c嘘 PGS.TS Hoàng Chí Thành ậ ng逢運i đư h逢噂ng d磯n Nghiên

cứu sinh 荏 giai đo衣n đầu làm nghiên cứu khoa h丑c. Nghiên cứu sinh xin chân thành

c違m 挨n các nhƠ khoa h丑c, tác gi違 các công trình nghiên cứu đư đ逢ợc trích d磯n trong

lu壱n án vì đơy lƠ ngu欝n tài liệu quý báu đ吋 Nghiên cứu sinh phát tri吋n và hoàn thiện

các công b嘘 của mình.

Nghiên cứu sinh xin chân thành c違m 挨n Ban Giám hiệu, lãnh đ衣o Khoa Toán

ậ C挨 ậ Tin h丑c, các thầy cô, gi違ng viên B瓜 môn Tin h丑c ậ Tr逢運ng Đ衣i h丑c Khoa

h丑c T詠 nhiên ậ Đ衣i h丑c Qu嘘c gia Hà N瓜i đư t衣o nh英ng điều kiện thu壱n lợi nhất đ吋

Nghiên cứu sinh hoƠn thƠnh ch逢挨ng trình h丑c t壱p và th詠c hiện hoàn tất lu壱n án của

mình.

Nghiên cứu sinh xin chân thành c違m 挨n Ban Giám hiệu Tr逢運ng Đ衣i h丑c An

ninh nhân dân, t壱p th吋 giáo viên B瓜 môn Toán ậ Tin h丑c Tr逢運ng Đ衣i h丑c An ninh

nhơn dơn n挨i Nghiên cứu sinh công tác và các b衣n bè thân thi院t đư luôn t衣o điều

kiện, đ瓜ng viên, khuy院n khích và hỗ trợ t嘘i đa đ吋 Nghiên cứu sinh hoàn thành b違n

lu壱n án này.

Cu嘘i cùng, con xin c違m 挨n B嘘 Mẹ, đặc biệt là Mẹ ậ ng逢運i đư luôn hy sinh tất

c違 vì s詠 nghiệp h丑c t壱p của các con, rất ti院c mẹ đư không đợi đ逢ợc đ院n ngày con

hoàn thành lu壱n án. Xin c違m 挨n gゥ。@ģ↓ョィ, ch鵜 gái vƠ các em đư luôn đ欝ng hành,

đ瓜ng viên, chia sẻ giúp duy trì nhiệt huy院t và ngh鵜 l詠c đ吋 đi đ院n hoàn thành b違n

lu壱n án này./

TP.Hồ Chí Minh, tháng 04 năm 2016

Page 5: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

iii

M影C L影C

L云I CAM ĐOAN....................................................................................... I

L云I C謂M 愛N ......................................................................................... II

M影C L影C ........................................................................................ III

DANH M影C B謂NG................................................................................ VI

DANH M影C CÁC HÌNH VẼ, Đ唄 TH卯 ............................................... VIII

DANH M影C CÁC KÍ HI烏U VÀ CH頴 VI蔭T T溢T ................................ XI

MỞ Đ井U .......................................................................................... 1

CH姶愛NG 1. T蔚NG QUAN V陰 KHAI THÁC T一P M影C .................... 7

1.1. Bài toán khai thác t壱p m映c .................................................................................... 7

1.1.1. M瓜t s嘘 đ 鵜 nh nghƿa .................................................................................................. 7

1.1.2. Bài toán khai thác FI............................................................................................ 14

1.2. Các ph逢挨ng pháp khai thác FI ...........................................................................15

1.2.1. Sh逢挨ng pháp khai thác FI trên CSDL ngang ...................................................... 15

1.2.2. Ph逢挨ng pháp khai thác FI trên CSDL d丑c d詠a trên ITậtree................................ 17

1.3. M瓜t s嘘 ph逢挨ng pháp khai thác FWI vƠ FWUI trên QDB ............................20

1.3.1. Gi噂i thiệu ............................................................................................................. 20

1.3.2. Khai thác FWI ..................................................................................................... 21

1.3.3. Khai thác FWUI .................................................................................................. 24

1.3.4. Khai thác TRFIk ................................................................................................... 26

1.4. Khai thác FI tr ên CSDL có s詠 phân c医p các m映c ..........................................27

1.5. Ti院p c壱n bitậvector tr ong khai thác FI .............................................................30

1.6. K院t lu壱n ch逢挨ng .....................................................................................................32

CH姶愛NG 2. KHAI THÁCT一P M影C PH蔚 BI蔭N TRểN C愛 SỞ D頴

LI烏U S渦 L姶営NG .................................................................................. 34

Page 6: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

iv

2.1. Thu壱t toán khai thác t壱p F WI ............................................................................34

2.1.1. Gi噂i thiệu ............................................................................................................. 34

2.1.2. Thu壱t toán tính giao của hai IWS ........................................................................ 38

2.1.3. Thu壱t toán khai thác FWI .................................................................................... 40

2.1.4. K院t qu違 th詠c nghiệm............................................................................................ 46

2.2. Thu壱t toán khai thác F WUI ................................................................................51

2.2.1. Cấu trúc Multi bit segment .................................................................................. 51

2.2.2. Thu壱 t toán xác đ 鵜nh giao MBiS ........................................................................... 53

2.2.3. Thu壱t toán khai thác FWUI d詠a trên MBiSậtree ................................................ 54

2.2.4. K院t qu違 th詠c nghiệm............................................................................................ 56

2.3. Thu壱t toán khai thác TRF WUIk .........................................................................61

2.3.1. M瓜t s嘘 khái niệm ................................................................................................. 61

2.3.2. Cấu trúc DTab ..................................................................................................... 62

2.3.3. Cấu trúc TRậtree ................................................................................................. 62

2.3.4. Thu壱t toán khai thác TRFWUIk sử dụng cấu trúc d英 liệu DTab ......................... 63

2.3.5. Thu壱t toán khai thác nhanh TRFWUIk d詠a trên cấu trúc DHeap........................ 66

2.3.6. K院t qu違 th詠c nghiệm............................................................................................ 70

2.4. K院t lu壱n ch逢挨ng .....................................................................................................72

CH姶愛NG 3. KHAI THÁC T一P M影C PH蔚 BI蔭N TRÊN C愛 SỞ D頴

LI烏U S渦 L姶営NG CÓ S衛 PHÂN C遺P CÁC M影C ............................... 74

3.1. Gi噂i thi羽u bài toán .................................................................................................74

3.2. Thu壱t toán khai thác F WUI tr ên HQDB ..........................................................78

3.2.1. Thu壱t toán xác đ鵜nh weight cho các mục cha ...................................................... 78

3.2.2. Thu壱t toán thêm mục cha vào CSDL .................................................................. 79

3.2.3. Thu壱t toán khai thác FWUI ................................................................................. 80

3.3. M瓜t s嘘 c違i ti院n nâng cao hi羽u qu違 khai thác F WUI tr ên HQDB.................84

3.3.1. Cấu trúc EDBV.................................................................................................... 84

3.3.2. Tính tidset nút cha từ tidset nút con .................................................................... 89

3.3.3. Ki吋m tra m嘘i quan hệ cha con đ嘘i v噂i các mục trong t壱p mục ........................... 91

Page 7: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

v

3.3.4. Thu壱t toán khai thác nhanh FWUI trên HQDB ................................................... 92

3.4. K院t qu違 th詠c nghi羽m .............................................................................................93

3.4.1. CSDL th詠c nghiệm .............................................................................................. 93

3.4.2. K院t qu違 th詠c nghiệm............................................................................................ 94

3.5. K院t lu壱n ch逢挨ng .................................................................................................. 100

K蔭T LU一N VÀ H姶閏NG PHÁT TRI韻N ............................................. 101

1. Các k院t qu違 đ衣t đ逢嬰c ......................................................................................... 101

2. H逢噂ng phát tr i吋n................................................................................................. 102

DANH M影C CÔNG TRÌNH KHOA H窺C C曳A TÁC GI謂 LIÊN QUAN

Đ蔭N LU一N ÁN .................................................................................... 103

TÀI LI烏U THAM KH謂O..................................................................... 104

Page 8: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

vi

DANH M影C B謂NG

B違ng 1.1. Các giao d鵜ch của BDB DB .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 8

B違ng 1.2. Các giao d鵜ch của HDB DB .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 9

B違ng 1.3. ID của các mục của HBD DB.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 9

B違ng 1.4. Các giao d鵜ch của HDB DB bằng ID. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN10

B違ng 1.5. Giao d鵜ch của QDB DB. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN11

B違ng 1.6. Tr丑ng s嘘 các mục của QDB DB. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN11

B違ng 1.7. Các giao d鵜ch của WDB DB .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN12

B違ng 1.8. Tr丑ng s嘘 của các mục của WDB DB. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN13

B違ng 1.9. BDB DB . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN14

B違ng 1.10. BDB DB theo chiều d丑c. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN19

B違ng 1.11. Giá tr鵜 tw của CSDL DB trong ví dụ 1.4 .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN23

B違ng 1.12. twu các giao d鵜ch của DB trong ví dụ 1.4 . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN25

B違ng 1.13. HDB DB trong Ví dụ 1.2 sau khi thêm mục cha .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN30

B違ng 2.1. Bitậvector. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN35

B違ng 2.2. DBV của bitậvector trong ví dụ 2.1 . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN35

B違ng 2.3. IWS từ bitậvector trong ví dụ 2.1 . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN35

B違ng 2.4. Ch雨 s嘘 các bit 1 của IWS(X) .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN38

B違ng 2.5. M違ng MAP . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN40

B違ng 2.6. IWS của các mục .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN44

B違ng 2.7. Mô t違 CSDL th詠c nghiệm.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN47

B違ng 2.8. Bitậvector v噂i 96 phần tử .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN51

B違ng 2.9. MBiS từ bitậvector 荏 B違ng 2.8 . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN52

B違ng 2.10. Topậrankậk. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 62

B違ng 3.1. Giao d鵜ch của HD .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN75

B違ng 3.2. Tr丑ng s嘘 . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN75

B違ng 3.3. Tên mặt hàng của các mục .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN75

Page 9: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

vii

B違ng 3.4. Giao d鵜chcủa HD........................................................................................82

B違ng 3.5. Tr丑ng s嘘 ......................................................................................................82

B違ng 3.6. twu của các giao d鵜ch.................................................................................82

B違ng 3.7. T壱p 1–itemset phổ bi院n .............................................................................83

B違ng 3.8. M違ng MAP v噂i65.535 phần tử ................................................................86

B違ng 3.9. Bi吋u di宇n s嘘 nguyên K d逢噂i d衣ng b嘘n đo衣n, mỗ i đo 衣n là m瓜t word ..86

B違ng 3.10. Mô t違 CSDL ...............................................................................................93

B違ng 3.11. Các mức trên cây phân cấp .......................................................................94

B違ng 3.12. So sánh b瓜 nh噂 và s嘘 l逢ợng các mục .....................................................94

B違ng 3.13. Th詠c nghiệm trên CSDL SALEậFACTậSYNC ....................................95

B違ng 3.14. So sánh th運i gian ch衣y trên CSDL SALEậFACTậ1997 ......................99

Page 10: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

viii

DANH M影C CÁC HÌNH VẼ, Đ唄 TH卯

Hình 1.1. Cây phân cấp Tr .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 9

Hình 1.2. Cây phân cấp Tr bi吋u di宇n theo ID . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN10

Hình 1.3. Thu壱t toán Apriori trong khai thác t壱p mục phổ bi院n . NNNNNNNNNNNNNNNNNNNNNNNN16

Hình 1.4. Thu壱t toán FPậGrowth d詠a trên cấu trúc FPậtree .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN17

Hình 1.5. Thu壱t toán Eclat d詠a trên cấu trúc ITậtree . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN18

Hình 1.6. Cây IT tree v噂i minsup = 0,5 của CSDL DB. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN19

Hình 2.1. Thu壱t toán xác đ鵜 nh giao hai IWS . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN39

Hình 2.2. Thu壱t toán tính ws của t壱p mục X .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN T

Hình 2.3. Thu壱t toán xây d詠ng cây IWSậtree . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN43

Hình 2.4. Thu壱t toán khai thác FWI d詠a trên IWSậtreeNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTS@@

Hình 2.5. IWSậtree v噂i nút A(minws = 0,4) .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 44

Hình 2.6. IWSậtree v噂i nútA vàB(minws = 0,4) . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN45 @

Hình 2.7. IWSậtree v噂i minws = 0,4 .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN46

Hình 2.8. So sánh th運i gian ch衣y v噂i CSDL RETAIL. . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN47

Hình 2.9. So sánh th運i gian ch衣y v噂i CSDL BMSậPOS. . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN47

Hình 2.10. So sánh th運i gian ch衣y v噂i CSDL SALEậFACTậ1997. . NNNNNNNNNNNNNNNNNNN48

Hình 2.11. So sánh th運i gian ch衣y v噂i CSDL SALEậFACTậ1997+1998. .NNNNNNNNN48

Hình 2.12. So sánh th運i gian ch衣y v噂i CSDL SALEậFACTậSYNC. NNNNNNNNNNNNNNNNNN48

Hình 2.13. So sánh th運i gian ch衣y v噂i CSDL CONNECT. . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN48

Hình 2.14. So sánh th運i gian ch衣y v噂i CSDL ACCIDENTS. .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN49

Hình 2.15. So sánh b瓜 nh噂 sử dụng v噂i CSDL RETAIL. . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN49

Hình 2.16. So sánh b瓜 nh噂 sử dụng v噂i CSDL BMSậPOS. .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN49

Hình 2.17. So sánh b瓜 nh噂 sử dụng v噂i CSDL SALEậFACTậ1997. . NNNNNNNNNNNNNNNNN49

Page 11: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

ix

no

Hình 2.18. So sánh b瓜 nh噂 sử dụng v噂i CSDL SALEậFACTậ1997+1998. . NNNNNNN50

Hình 2.19. So sánh b瓜 nh噂 sử dụng v噂i CSDL SALEậFACTậSYNC. .NNNNNNNNNNNNNNN50

Hình 2.20. So sánh b瓜 nh噂 sử dụng v噂i CSDL CONNECT.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN50

Hình 2.21. So sánh b瓜 nh噂 sử dụng v噂i CSDL ACCIDENT. .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN50

Hình 2.22. Thu壱t toán xác đ鵜nh giao hai MBiS . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN53

Hình 2.23. Thu壱t toán tính wus d詠a trên MBiS . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN54

Hình 2.24. Thu壱t toán khai thác FWUI d詠a trên MBiSậtree.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN56

Hình 2.25. So sánh th運i gian ch衣y trên CSDL RETAIL. . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN57

Hình 2.26. So sánh th運i gian ch衣y trên CSDL BMSậPOS. . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN57

Hình 2.27. So sánh th運i gian ch衣y trên CSDL SALEậFACTậ1997. . NNNNNNNNNNNNNNNNNN57

Hình 2.28. So sánh th運i gian ch衣y trên CSDL SALEậFACTậ1997+1998...........58

Hình 2.29. So sánh th運i gian ch衣y trên CSDL SALEậFACTậSYNC. NNNNNNNNNNNNNNNNN58

Hình 2.30. So sánh th運i gian ch衣y trên CSDL CONNECT. .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN58

Hình 2.31. So sánh th運i gian ch衣y trên CSDL ACCIDENTS. .NNNNNNNNNNNNNNNNNNNNNNNNNNNNN58

Hình 2.32. So sánh b瓜 nh噂 sử dụng trên CSDL RETAIL. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN58

Hình 2.33. So sánh b瓜 nh噂 sử dụng trên CSDL BMSậPOS. .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN59

Hình 2.34. So sánh b瓜 nh噂 sử dụng trên CSDL SALEậFACTậ1997. . NNNNNNNNNNNNNNNN59

Hình 2.35. So sánh b瓜 nh噂 sử dụng trên CSDL SALEậFACTậ1997+1998. . NNNNNN59

Hình 2.36. So sánh b瓜 nh噂 sử dụng trên CSDL SALEậFACTậSYNC. .NNNNNNNNNNNNNN59

Hình 2.37. So sánh b瓜 nh噂 sử dụng trên CSDL CONNECT. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN60

Hình 2.38. So sánh b瓜 nh噂 sử dụng trên CSDL ACCIDENT. .NNNNNNNNNNNNNNNNNNNNNNNNNNNNN60

Hình 2.39. DTab v噂i k = 5 .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN62

Hình 2.40. Thu壱t toán t衣o TRậtree sử dụng DTab.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN64

Hình 2.41. Thu壱t toán l丑c ra TRFWUIk .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN66

Hình 2.42. DHeap v噂i k = 5 v噂i CSDL trong ví dụ 1.4. NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN66

Page 12: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

x

Hình 2.43. Thu壱t toán chèn m瓜t nút m噂i vào DHeap . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN68

Hình 2.44. Thu壱t toán t衣o TRậtree sử dụng DHeap .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN69

Hình 2.45. Thu壱t toán l丑c ra TRFWUIk . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 70

Hình 2.46. So sánh th運i gian ch衣y trên CSDL MBSậPOS . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN70

Hình 2.47. So sánh th運i gian ch衣y trên CSDL RETAIL . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN71

Hình 2.48. So sánh th運i gian ch衣y trên CSDL CONNECT . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN71

Hình 2.49. So sánh th運i gian trên CSDL SALEậFACTậ1997 .NNNNNNNNNNNNNNNNNNNNNNNNNNNNN71

Hình 2.50. So sánh th運i gian trên CSDL SALEậFACTậ1997+1998. NNNNNNNNNNNNNNNNNN71

Hình 2.51. So sánh th運i gian trên CSDL SALEậFACTậSYNC . NNNNNNNNNNNNNNNNNNNNNNNNNN72

Hình 3.1. T壱p các cây phân cấp Tr . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN75

Hình 3.2. Thu壱t toán tính weight cho các mục cha.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN79

Hình 3.3. Thu壱t toán thêm mục cha vào CSDL .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN80

Hình 3.4. Thu壱t toán khai thác FWUI từ HQDB .NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN81

Hình 3.5. Cây HITậtree v噂i CSDL HD và minwus = 0,6 . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN83

Hình 3.6. Sử dụng các phép AND và d鵜ch bit đ吋 tách các đo衣n hai byte .NNNNNNNNNN87

Hình 3.7. Thu壱t toán tính nhanh wus của các t壱p mục . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN89

Hình 3.8. Thu壱t toán xác đ鵜nh tidset các mục và tính twu của các giao d鵜ch . NNNN90

Hình 3.9. Thu壱t toán khai thác nhanh FWUI trên HQDB . NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN93

Hình 3.10. So sánh th運i gian trên CSDL SALEậFACTậ1997 .NNNNNNNNNNNNNNNNNNNNNNNNNNNNN97

Hình 3.11. So sánh th運i gian trên CSDLSALEậFACTậ1997+1998. NNNNNNNNNNNNNNNNNNN97

Hình 3.12. So sánh th運i gian trên CSDL SALEậFACTậSYNC . NNNNNNNNNNNNNNNNNNNNNNNNNN97

Hình 3.13. So sánh th運i gian trên CSDL SALEậFACTậ1997 .NNNNNNNNNNNNNNNNNNNNNNNNNNNNN98

Hình 3.14. So sánh th運i gian trên CSDL SALEậFACTậ1997+1998. NNNNNNNNNNNNNNNNNN98

Hình 3.15. So sánh th運i gian trên CSDL SALEậFACTậSYNC . NNNNNNNNNNNNNNNNNNNNNNNNNN98

Page 13: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

xi

DANH M影C CÁC KÍ HI烏U VÀ CH頴 VI蔭T T溢T

Stt Từ vi院t t逸t Thu壱t ng英 ti院ng Anh Thu壱t ng英 ti院ng Vi羽t

1. CSDL Database C挨 s荏 d英 liệu

2. DBV Dynamic bitậvector Bit đ瓜ng

3. EDBV Extended dynamic bitậvector Bit đ瓜ng m荏 r瓜ng

4. EIWS Extendedinterval word segment Các đo衣n word m荏 r瓜ng

5. FI Frequent itemset T壱p mục phổ bi院n

6. FPậtree Frequent PatternậTree Cây FP

7. FWI Frequent weighted itemset T壱p mục phổ bi院n có

tr丑ng s嘘

8. FWUI Frequent weighted utility itemset T壱p mục phổ bi院n tr丑ng

s嘘 h英u ích

9. HQDB Hierachy quantitative database C挨 s荏 d英 liệu s嘘 l逢ợng có

s詠 phân cấp các mục

10. ITậtree Itemset tidsetậtree Cây ITậtree

11. IWS Interval word segment Các đo衣n word

12. MBiS Multi bit segment Các đo衣n bit 1 liên ti院p

13. BDB Binary database C挨 s荏 d英 liệu nh鵜 phân

14. HDB Hierachical database C挨 s荏 d英 liệu có phân cấp

các mục

15. WDB Weighted database C挨 s荏 d英 liệu tr丑ng s嘘

16. MByS Multi byte segment Các đo衣n byte

17. QDB Quantitative database C挨 s荏 d英 liệu s嘘 l逢ợng

18. DTab Dynamic table B違ng đ瓜ng

19. TRFIk Topậrankậk frequent itemset K nhóm t壱p mục phổ bi院n

có thứ h衣ng cao nhất

20. TRFWUIk

Topậrankậk frequent weight

utility itemset

K nhóm t壱p mục phổ bi院n

tr丑ng s嘘 h英u ích có thứ

h衣ng k cao nhất

Page 14: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

xii

21. DHeap Dynamic heap Heap đ瓜ng

22. Item Item Mục

23. Itemset Set of items T壱p mục

24. LI Large integer S嘘 nguyên l噂n (tám byte)

Page 15: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

1

MỞ Đ井U

S詠 phát tri吋n m衣nh m胤 của Công nghệ thông tin trong nh英ng năm gần

đơy đư thúc đ育y s詠 phát tri吋n chung của toàn xã h瓜i. V噂i các ứng dụng của

Công nghệ thông tin, con ng逢運i đư có nh英ng “trợ thủ” đắc l詠c hỗ trợ mình

trong cu瓜c s嘘ng cũng nh逢 trong công việc. Công nghệ thông tin ứng dụng

trong rất nhiều lƿnh v詠c đ逢a đ院n s詠 tiện lợi và k院t n嘘i m丑i ng逢運i trên khắp th院gi噂i l衣i v噂i nhau. Các ứng dụng nh逢 ngơn hƠng điện tử, th逢挨ng m衣i điện tử,

v.v… đư giúp cho con ng逢運i ti院t kiệm rất nhiều th運i gian và công sức so v噂i

thao tác thủ công tr逢噂c đơy. Trong nh英ng ứng dụng đó, thông tin, d英 liệu

th逢運ng xuyên đ逢ợc đ逢a vƠo đ吋 các hệ th嘘ng thông tin l逢u tr英 và xử lý. Bên

c衣nh đó, m瓜t s嘘 l逢ợng l噂n các d英 liệu đ逢ợc c壱p nh壱t hàng ngày và t詠 đ瓜ng

l逢u tr英 thông qua các ho衣t đ瓜ng của con ng逢運i khi t逢挨ng tác v噂i các hệ

th嘘ng thông tin, m衣ng xã h瓜i, v.v…@lƠm cho d英 liệu càng ngày càng l噂n

và phức t衣p. Ngoài việc phục vụ cho các hệ th嘘ng thông tin ho衣t đ瓜ng theo chức năng

sẵn có thì m瓜t vấn đề đặt ra là làm sao có th吋 khai thác hiệu qu違 các lo衣i d英

liệu l逢u tr英 trong hệ th嘘ng, tìm ra các tri thức quan tr丑ng, các quy lu壱t của

d英 liệu phục vụ cho việc đ逢a ra các d詠 đoán, d詠 báo nhằm hỗ trợ ra quy院t

đ鵜nh và các nhu cầu liên quan khác. Ví dụ từ c挨 s荏 d英 liệu (CSDL) của hệ

th嘘ng bán hàng trong siêu th鵜 có th吋 tìm ra đ逢ợc quy lu壱t (thói quen) mua

hàng của các khách hàng. Khách hƠng th逢運ng mua các mặt hàng nào cùng v噂i

nhau? hay đ瓜 tuổi từ “A” đ院n “B” th逢運ng 逢a thích mặt hàng nào?, v.v... Từ

đó đ吋 giúp cho việc tri吋n khai các k院 ho衣ch phát tri吋n s違n ph育m hiệu qu違 h挨n

của các hệ th嘘ng bán hƠng nh逢 trung tơm th逢挨ng m衣i, siêu th鵜, v.v…

Khai thác tập mục phổ biến trên CSDL nhị phân

Từ nh英ng yêu cầu thi院t th詠c đó, lƿnh v詠c khai thác d英 liệu đư vƠ đang đ逢ợc phát tri吋n m衣nh trong th運i gian gần đơy. M瓜t trong nh英ng bài toán quan

tr丑ng trong khai thác d英 liệu đ逢ợc quan tâm nghiên cứu là khai thác t壱p mục

Page 16: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

2

phổ bi院n (frequent itemsets ậ FI), từ FI có th吋 khai thác lu壱t k院t hợp, đ逢a ra nh英ng d詠 báo, d詠 đoán vƠ tìm ra quy lu壱t của d英 liệu nhằm phục vụ cho các

nhu cầu khác nhau của con ng逢運i.

Thu壱t toán đầu tiên đ逢ợc bi院t t噂i trong khai thác FI là đ逢ợc đề xuất b荏i

Agrawal và các đ欝ng s詠 [2] năm 1993 sau đó chính Agrawal đề xuất thu壱t

toán Apriori [1] năm 1994. Tuy nhiên thu壱t toán này s噂m b瓜c l瓜 h衣n ch院 về

th運i gian xử lý do đ丑c CSDL nhiều lần. Ti院p theo Han và các đ欝ng s詠 đề xuất

thu壱t toán FPậGrowth [20] vƠ Grahne cùng các đ欝ng s詠 đề xuất FP-Growth*

[16] d詠a trên việc nén d英 liệu lên cây FPậtree (frequent patternậtree) v噂i ch雨 hai lần đ丑c CSDL, đơy lƠ thu壱t toán hiệu qu違 về b瓜 nh噂 sử dụng, song l衣i t嘘n

th運i gian cho duyệt cây FPậtree đ吋 khai thác các FI. Ti院p đ院n Zaki và các

đ欝ng s詠 đề xuất thu壱t toán Eclat [54] d詠a trên cấu trúc ITậtree (Itemset

Tidsetậtree) v噂i ch雨 m瓜t lần đ丑c d英 liệu đ吋 chuy吋n CSDL ngang thành CSDL

d丑c v噂i các mục và tidset (set of transactions ậ t壱p các giao d鵜ch) của chúng.

Tuy nhiên, Eclat có h衣n ch院 là cần nhiều b瓜 nh噂 đ吋 l逢u tr英 tidset, do đó gián

ti院p 違nh h逢荏ng đ院n hiệu qu違 về mặt th運i gian của thu壱t toán này. Ti院p theo

Zaki và các đ欝ng s詠 [55] đề xuất cấu trúc diffset, v噂i t逢 t逢荏ng sử dụng phần

bù của tidset, nh逢ng cách lƠm nƠy ch雨 th詠c s詠 có hiệu qu違 trên CSDL dày.

Tuy nhiên, trong th詠c t院 CSDL th逢a m噂i là lo衣i CSDL phổ bi院n.

M瓜t s嘘 phát tri吋n gần đơy v噂i cấu trúc Nậlist [8, 9,10,11,12, 15, 28, 45]

là các nghiên cứu d詠a trên ti院p c壱n FPậGrowth nhằm gi違m b瓜 nh噂 giúp gián

ti院p c違i ti院n th運i gian khai thác của h逢噂ng ti院p c壱n này. Tuy nhiên, các nghiên

cứu này m噂i đề c壱p trên CSDL nh鵜 phơn, ch逢a đ逢ợc nghiên cứu áp dụng trên

CSDL s嘘 l逢ợng, do đặc thù của CSDL s嘘 l逢ợng cần tính tr丑ng s嘘 các giao

d鵜ch của các t壱p mục đ吋 xác đ鵜nh đ瓜 hỗ trợ của các t壱p mục, mƠ đơy lƠ m瓜t

khó khăn của ti院p c壱n FPậGrowth.

Khai thác tập mục phổ biến trên CSDL số lượng

Các chủ đề nghiên cứu trên CSDL s嘘 l逢ợng nh逢 khai thác t壱p mục phổ

bi院n có tr丑ng s嘘 (frequent weighted itemsetậFWI) [7, 23, 24, 27, 34, 37, 39,

Page 17: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

3

42, 47, 48, 49, 50, 51, 52, 53] hay khai thác t壱p mục phổ bi院n tr丑ng s嘘 h英u ích

(frequent weighted utility itemset ậFWUI) [22, 35, 44 ], hay t壱p mục h英u ích

cao - hight utility item set [14, 25, 26, 31] đư đ逢ợc quan tâm nghiên cứu nh逢.

Rakumar và đ欝ng s詠 [23] đề xuất bài toán khai thác lu壱t k院t hợp tr丑ng

s嘘 và m瓜t framework đ吋 khai thác FWI. Sau đó Tao và đ欝ng s詠 [39] đề xuất

thu壱t toán khai thác FWI d詠a trên ti院p c壱n Apriori v噂i hai đ瓜 đo tr丑ng s嘘 giao

d鵜ch (transaction weight – tw) vƠ đ瓜 hỗ trợ tr丑ng s嘘 (weight support ậ ws), tuy

nhiên nh逢 đư trình bƠy 荏 trên cách ti院p c壱n này rất t嘘n th運i gian do quét

CSDL nhiều lần. Ti院p đ院n, Vo và các đ欝ng s詠 [42] đề xuất cấu trúc WITậtree

trong khai thác FWI và MWITậtree [44] trong khai thác FWUI theo ti院p c壱n

Eclat [54] v噂i ch雨 m瓜t lần quét CSDL. H衣n ch院 của các ph逢挨ng pháp nƠy lƠ

cần nhiều b瓜 nh噂 l逢u tr英 tidset của các t壱p mục bằng các danh sách, làm t嘘n

th運i gian xác đ鵜nh giao tidset của các t壱p mục, do đó th運i gian khai thác ch逢a

đ逢ợc t嘘i 逢u.

M瓜t bài toán m噂i đ逢ợc đặt ra và phát tri吋n gần đơy trong khai thác FI là

khai thác k nhóm t壱p mục phổ bi院n có thứ h衣ng cao nhất (Topậrankậk

frequent itemsetậTRFIk) [8, 11, 15, 28] Khai thác FI thông th逢運ng không

ki吋m soát đ逢ợc s嘘 l逢ợng các t壱p mục phổ bi院n tìm thấy. Trong nhiều tr逢運ng

hợp ch雨 cần quan tơm đ院n m瓜t s嘘 l逢ợng nhất đ鵜nh các FI, hay s嘘 l逢ợng các

nhóm FI có đ瓜 hỗ trợ l噂n nhất. Khai thác TRFIk gi違i quy院t đ逢ợc đòi hỏi này.

Bài toán khai thác TRFIk đư đ逢ợc Deng gi噂i thiệu vƠo năm 2007 [8] v噂i thu壱t

toán FAE, sau đó đ逢ợc Fang đề xuất thu壱t toán VTK [15] đ吋 gi違i quy院t. Ti院p

theo, Deng [11] đề xuất thu壱t toán NTK d詠a trên cây PPCậtree (Preậorder

Postậorder Code tree) và cấu trúc Nậlist. Gần đơy, Le vƠ các đ欝ng s詠 [28] đề

xuất thu壱t toán iNTK là m瓜t c違i ti院n của NTK. iNTK sử dụng cấu trúc Nậlist

v噂i khái niệm subsume đ逢ợc gi噂i thiệu trong [45]. Đây đ逢ợc xem là thu壱t

toán hiệu qu違 nhất cho đ院n hiện nay, mặc dù iNTK t嘘n th運i gian cho việc t衣o

cây PPCậtree. Tuy nhiên, các nghiên cứu trên m噂i ch雨 đề c壱p đ院n CSDL nh鵜

Page 18: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

4

phân, còn trên CSDL s嘘 l逢ợng bài toán khai thác Topậrankậk v磯n ch逢a đ逢ợc

quan tâm nghiên cứu.

Khai thác tập mục phổ biến trên CSDL có sự phân cấp các mục

Bên c衣nh CSDL nh鵜 phân, CSDL s嘘 l逢ợng, thì CSDL có s詠 phân cấp các

mục là lo衣i CSDL có nhiều trong ứng dụng th詠c t院. CSDL có s詠 phân cấp các

mục là CSDL có th吋 hiện m嘘i quan hệ khách quan gi英a các mục d逢噂i d衣ng

cây phân cấp, các mục có mặt trong CSDL là các mục 荏 nút lá của cây phân

cấp. Năm 1995, Han vƠ các đ欝ng s詠 [21] lần đầu tiên đề c壱p t噂i bài toán khai

thác FI trên CSDL có s詠 phân cấp các mục. Ti院p theo, Liu và các đ欝ng s詠

[32] đề xuất bài toán khai thác FI v噂i nhiều ng逢ỡng hỗ trợ trên CSDL có s詠

phân cấp các mục, theo đó, mỗi mục có m瓜t ng逢ỡng hỗ trợ riêng biệt. Từ đó

đ院n nay đư có nhiều nghiên cứu liên quan đ院n bài toán này [4, 5, 6, 30, 32, 40,

41] . Tuy nhiên các ti院p c壱n hiện nay đ嘘i v噂i khai thác trên CSDL có s詠 phân

cấp các mục còn có nhiều h衣n ch院, trong đó đặc biệt là t嘘n th運i gian và b瓜

nh噂 đ吋 thêm các mục cha trên cây phân cấp vào CSDL. Ngoài ra các nghiên

cứu hiện t衣i ch逢a đề c壱p trên CSDL s嘘 l逢ợng có s詠 phân cấp các mục.

Động lực nghiên cứu của luận án

Bài toán khai thác FI trên m瓜t s嘘 lo衣i CSDL nh逢 đư phơn tích 荏 trên mặc

dù đư đ逢ợc quan tâm nghiên cứu nhiều, nh逢ng cho đ院n hiện nay các ph逢挨ng

pháp khai thác FI trên các lo衣i CSDL s嘘 l逢ợng còn h衣n ch院 là t嘘n b瓜 nh噂 và

th運i gian xử lý ch逢a đ逢ợc t嘘i 逢u. Mặt khác, khai thác FI trên CSDL s嘘 l逢ợng

có s詠 phân cấp các mục hiện nay ch逢a đ逢ợc quan tâm nghiên cứu, mặc dù

đơy lƠ lo衣i CSDL có nhiều trong các ứng dụng th詠c t院. Đ欝ng th運i, CSDL s嘘

l逢ợng có s詠 phân cấp các mục là s詠 k院t hợp gi英a CSDL s嘘 l逢ợng và CSDL có

s詠 phân cấp các mục. Do đó, đề xuất thu壱t toán khai thác hiệu qu違 FI trên

CSDL s嘘 l逢ợng có s詠 phân cấp các mục có th吋 áp dụng đ吋 khai thác hiệu qu違

FItrên các CSDL s嘘 l逢ợng và CSDL có s詠 phân cấp các mục, giúp c違i thiện

th運i gian và b瓜 nh噂 trong khai thác FI trên các hệ th嘘ng thông minh.

Page 19: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

5

Trên c挨 s荏 đó, Nghiên cứu sinh ch丑n đề tƠi “PHÁT TRI韻N M浦T S渦

THU一T TOÁN HI烏U QU謂 KHAI THÁC T一P M影C TRÊN CSDL S渦

L姶営NG CÓ S衛 PHÂN C遺P CÁC M影C” lƠm đề tài nghiên cứu cho lu壱n

án Ti院n sƿ của mình. Lu壱n án h逢噂ng đ院n các mục tiêu sau:

1. Đề xuất một số cấu trúc dữ liệu mới, thuật toán mới để nâng cao hiệu

quả khai thác FWI và FWUI biến trên CSDL số lượng. Từ đó áp dụng cho

khai thác tập mục phổ biến trên CSDL số lượng có sự phân cấp các mục.

2. Đề xuất thuật toán hiệu quả để khai thác k nhóm tập mục phổ biến trọng

số hữu ích có thứ hạng cao nhất trên CSDL số lượng.

3. Đề xuất cấu trúc dữ liệu, thuật toán hiệu quả để khai thác FWUI trên

CSDL số lượng có sự phân cấp các mục.

Từ các mục tiêu nghiên cứu trên, lu壱n án đ逢ợc cấu trúc bao g欝m ngoài

phần m荏 đầu và phần k院t lu壱n, n瓜i dung lu壱n án đ逢ợc trình bày trong ba

ch逢挨ng:

Chương 1: “Tổng quan về khai thác t壱p mục” trình bƠy các khái niệm về

khai thác FI các ph逢挨ng pháp khai thác FI, FWI, FWUI và TRFIk. Phân tích

逢u đi吋m và h衣n ch院 của các ph逢挨ng pháp nƠy đ欝ng th運i đề xuất h逢噂ng nghiên

cứu của lu壱n án.

Chương 2: “Khai thác t壱p mục phổ bi院n trên c挨 s荏 d英 liệu s嘘 l逢ợng”

trình bày m瓜t s嘘 cấu trúc d英 liệu m噂i đ吋 bi吋u di宇n tidset của các t壱p mục, trên

c挨 s荏 đó đề xuất các ph逢挨ng pháp hiệu qu違 đ吋 khai thác nhanh FWI, FWUI

trên CSDL s嘘 l逢ợng. Đ欝ng th運i, trong ch逢挨ng nƠy cũng đề xuất bài toán khai

thác k nhóm t壱p mục phổ bi院n tr丑ng s嘘 h英u ích có thứ h衣ng cao nhất

(TRFWUIk) trên CSDL s嘘 l逢ợng và thu壱t toán hiệu qu違 đ吋 gi違i quy院t bài toán

này v噂i hai cấu trúc DTab và DHeap.

Chương 3: “Khai thác t壱p mục phổ bi院n trên c挨 s荏 d英 liệu s嘘 l逢ợng có

s詠 phân cấp các mục” đề xuất thu壱t toán khai thác FWUI trên CSDL s嘘 l逢ợng

Page 20: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

6

có s詠 phân cấp các mục. Trình bày m瓜t m荏 r瓜ng của cấu trúc d英 liệu trong

ch逢挨ng 2 vƠ m瓜t s嘘 đề xuất nhằm c違i ti院n thu壱t toán khai thác hiệu qu違 FWUI

trên CSDL s嘘 l逢ợng có s詠 phân cấp các mục.

Page 21: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

7

CH姶愛NG 1. T蔚NG QUAN V陰 KHAI THÁC T一P M影C

1.1. Bài toán khai thác t壱p m映c

Mục đích của việc khai thác t壱p mục lƠ đ吋 xác đ鵜nh nhóm các mục (item)

có tần suất xuất hiện thỏa mãn m瓜t ng逢ỡng nƠo đó của ng逢運i sử dụng đ逢a

vào. Trong đó, bƠi toán khai thác t壱p mục phổ bi院n là m瓜t bài toán con của

bài toán khai thác t壱p mục v噂i việc khai thác các t壱p mục có tần suất xuất

hiện nhiều trong CSDL. Tần suất xuất hiện này thỏa mưn ng逢ỡng do ng逢運i sử

dụng đ逢a vƠo (đ逢ợc g丑i lƠ ng逢ỡng phổ bi院n). Từ các FI khai thác đ逢ợc có th吋

sinh ra t壱p lu壱t k院t hợp nhằm khám phá m嘘i quan hệ tiềm 育n, h英u ích gi英a các

mục trong CSDL, phục vụ các yêu cầu xuất phát từ đòi hỏi của th詠c t院 của

ng逢運i sử dụng. Có th吋 nói, từ khi đ逢ợc gi噂i thiệu đ院n nay, đư có khá nhiều

công trình nghiên cứu liên quan nhằm mục đích gi違i quy院t t嘘t bài toán này.

Và hiện nay, bài toán khai thác t壱p mục đang đ逢ợc ti院p tục nghiên cứu đ吋 tìm

ra các gi違i pháp hiệu qu違 h挨n.

N瓜i dung ch逢挨ng 1 s胤 trình bày m瓜t s嘘 đ鵜nh nghƿa vƠ khái niệm liên

quan đ院n bài toán khai thác t壱p mục trên m瓜t CSDL nh逢 CSDL nh鵜 phân,

CSDL có s詠 phân cấp các mục, CSDL s嘘 l逢ợng và m瓜t bi院n th吋 của CSDL s嘘

l逢ợng là CSDL tr丑ng s嘘. Đ欝ng th運i ch逢挨ng 1 gi噂i thiệu tổng quát m瓜t s嘘 ti院p

c壱n chính cho bài toán khai thác t壱p mục trên các lo衣i CSDL đó.

1.1.1. Một số định nghĩa

Định nghĩa 1.1. CSDL nhị phân (Binary DatabaseậBDB) là m瓜t b瓜

g欝m hai thành phần: T, I trong đó:

T = {t1, t2, ..., tm} là t壱p g欝m m giao d鵜ch của CSDL

I = {i1, i2, ..., in} là t壱p g欝m n mục trong CSDL

Trong đó 建賃 ={捲賃迭 , 捲賃鉄 , … , 捲賃�} trong đó 捲賃日 = ど hoặc な v噂i i = [1, …,

n].

Page 22: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

8

Ví dụ 1.1: Cho CSDL DB v噂i t壱p các mục I = {A, B, C, D, E} và t壱p các

giao d鵜ch T đ逢ợc bi吋u di宇n b荏i B違ng 1.1 nh逢 sau:

B違ng 1.1. Các giao d鵜ch của BDB DB

Mục

Giao d鵜ch A B C D E

t1 1 1 0 1 1

t2 0 1 1 1 0

t3 1 1 0 1 1

t4 1 1 1 0 1

t5 1 1 1 1 1

t6 0 1 1 0 1

Các mục xuất hiện trong m瓜t giao d鵜ch của CSDL t逢挨ng ứng có giá tr鵜 1,

ng逢ợc l衣i có giá tr鵜 0. Ví dụ giao d鵜ch t1 = {1, 1, 0, 1, 1} có nghƿa các mục A,

B, D, E có trong giao d鵜ch, mục C không có trong giao d鵜ch.

CSDL nh鵜 phân là CSDL bi吋u di宇n s詠 xuất hiện hay không của các mục

trong các giao d鵜ch. Trong nhiều tr逢運ng hợp, các mục trong CSDL có m嘘i

quan hệ v噂i nhau đ逢ợc th吋 hiện qua các cây phân cấp, ví dụ "computer" là

mức khái quát của "Desktop" và "Notebook", hay "Printer" là mức khái quát

của "Laser priter", "Ink-Jet printer", v.v… Nh英ng CSDL có th吋 hiện m嘘i quan

hệ của các mục thông qua cây phân cấp đ逢ợc CSDL nh鵜 phân có s詠 phân cấp

các mục.

Định nghĩa 1.2. CSDL nhị phân có sự phân cấp các mục

(Hierarchical Database–HDB) là m瓜t b瓜 g欝m ba thành phần: T, I, Tr, trong

đó:

T = {t1, t2, ..., tm} là t壱p g欝m m giao d鵜ch của CSDL

I = {i1, i2, ..., in} là t壱p g欝m n mục trong CSDL

Page 23: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

9

Trong đó, 建賃 ={捲賃迭 , 捲賃鉄 , … , 捲賃�} trong đó 捲賃日 = ど hoặc な v噂i i = [1, …,

n].

Tr là cây phân cấp th吋 hiện m嘘i quan hệ của các mục trong CSDL.

Cho HDB DB có t壱p các mục I = {Desktop, Dot–matrix printer, Ink–jet

printer, Laser printer, Notebook, Scanner}, các giao d鵜ch T đ逢ợc bi吋u di宇n

nh逢 B違ng 1.2 và cây phân cấp th吋 hiện quan hệ các mục nh逢 Hình 1.1.

Hình 1.1. Cây phân cấp Tr

Đ吋 đ挨n gi違n, ta gán các mục trên cây phân cấp Tr bằng các ID nh逢 B違ng 1.3:

B違ng 1.3. ID các mục của HBD DB

ID mục Tên mục

A Desktop

B Inkậjet Printer

C Laser Printer

D Notebook

B違ng 1.2. Các giao d鵜ch của HDB DB

Giao d鵜ch Mục

t1 Notebook, Laser printer

t2 Scanner, Dot–matrix printer

t3 Dot–matrix printer, Ink–jet printer

t4 Notebook, Dot–matrix printer, Laser printer

t5 Scanner

t6 Desktop

Ink ậ jet

Scanner

Laser

Non ậ impact Dot ậ matrix

Printer

Desktop Notebook

Computer

Page 24: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

10

E Scanner

F Dotậmatrix Printer

G Nonậimpact

H Computer

K Printer

Từ ID đ逢ợc đ鵜nh nghƿa trong B違ng 1.3, các giao d鵜ch trong B違ng 1.2 và

cây phân cấp Tr đ逢ợc bi吋u di宇n l衣i nh逢 trong B違ng 1.4 và Hình 1.2.

B違ng 1.4. Các giao d鵜ch của HDB DB bằng ID

Giao d鵜ch mục

t1 D, C

t2 E, F

t3 F, B

t4 D, F, C

t5 E

t6 A

Hình 1.2. Cây phân cấp Tr bi吋u di宇n theo ID

T壱p J = {G, K, H} là t壱p các mục cha của cây phân cấp không xuất hiện

trong các giao d鵜ch của CSDL DB. Tuy nhiên chúng có vai trò nhất đ鵜nh, th吋

hiện m嘘i quan hệ của các mục trong CSDL DB. Do đó, khi khai thác FI trên

CSDL phân cấp đòi hỏi ph違i khai thác c違 t壱p các mục trên cây phân cấp bao

g欝m (I 姦 J).

CSDL nh鵜 phân là CSDL th吋 hiện s詠 có mặt hay không của mục trong

các giao d鵜ch của CSDL mƠ không quan tơm đ院n giá tr鵜 (tr丑ng s嘘, lợi ích, s嘘

B

E

C

G F

K

A D

H

Page 25: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

11

l逢ợng, v.v…) của các mục trong các giao d鵜ch. Trong nhiều ứng dụng th詠c t院

nh逢 CSDL bán hƠng trong siêu th鵜, CSDL đ挨n thu嘘c, v.v… mỗi mục trên mỗi

đ挨n hƠng th逢運ng kèm theo s嘘 l逢ợng và giá tr鵜 của chúng. Các CSDL d衣ng

nƠy đ逢ợc g丑i là CSDL s嘘 l逢ợng.

Định nghĩa 1.3. CSDL số lượng (Quantitative DatabaseậQDB) là m瓜t

b瓜 ba thành phần: T, I, W, trong đó:

T = {t1, t2, ..., tm} là t壱p g欝m m giao d鵜ch của CSDL

I = {i1, i2, ..., in} là t壱p g欝m n mục trong CSDL

W = {w1, w2, …, wn} là t壱p g欝m n tr丑ng s嘘 của các mục t逢挨ng ứng trong

t壱p I

Trong đó, tk = {捲賃迭, 捲賃鉄 , …,捲賃�} là giao d鵜ch thứ k, 捲賃日 là s嘘 nguyên ch雨

s嘘 l逢ợng của mục thứ i trong giao d鵜ch, k = 1.. m.

Ví dụ 1.2: Cho QDB DB v噂i t壱p các mục I = {A, B, C, D, E}, các giao

d鵜ch T đ逢ợc bi吋u di宇n trong B違ng 1.5, tr丑ng s嘘 các mục nh逢 trong b違ng 1.6.

B違ng 1.5. Giao d鵜ch của QDB BD

Giao d鵜ch A B C D E 建怠 1 1 0 4 1 建態 0 1 3 0 1 建戴 2 1 0 3 2 建替 3 1 1 0 1 建泰 1 2 2 1 3 建滞 0 1 1 1 0

B違ng 1.6. Tr丑ng s嘘 các mục trong QDB DB

Mục Tr丑ng s嘘

A 0,6

B 0,1

Page 26: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

12

Theo B違ng 1.5, QDB DB có sáu giao d鵜ch {t1, t2, t3, t4, t5, t6}, ví dụ giao

d鵜ch 建怠 = {1, 1, 0, 4, 1} có nghƿa lƠ trong giao d鵜ch 建怠 có m瓜t mục A, m瓜t mục

B, b嘘n mục D, m瓜t mục E, không có mục C.

Trong nhiều ứng d詠ng th詠c t院, CSDL s嘘 l逢ợng có th吋 không quan tâm

đ院n s嘘 l逢ợng của các mục trong mỗi giao d鵜ch, mà ch雨 quan tơm đ院n tr丑ng s嘘

của chúng. Ví dụ CSDL vi ph衣m giao thông, ng逢運i ta ch雨 quan tơm lƠ ng逢運i

vi ph衣m lỗi gì và mức tiền ph衣t t逢挨ng ứng cho từng lỗi ấy, hay CSDL khám

bệnh, ng逢運i ta quan tơm đ院n bệnh nhân có nh英ng triệu chứng gì mức đ瓜 nặng

nhẹ (tr丑ng s嘘) của từng triệu chứng ấy, v.v… Các CSDL đó đ逢ợc g丑i là

CSDL có tr丑ng s嘘 hay CSDL tr丑ng s嘘 ậ m瓜t bi院n th吋 của CSDL s嘘 l逢ợng v噂i

s嘘 l逢ợng của các mục xuất hiện trong CSDL là 1.

Định nghĩa 1.4. CSDL trọng số (Weighted database –WDB) là m瓜t b瓜

g欝m ba thành phần: T, I, W, trong đó:

T = {t1, t2, ..., tm} là t壱p g欝m m giao d鵜ch của CSDL

I = {i1, i2,.., in} là t壱p g欝m n mục trong CSDL

W = {w1, w2, …, wn} là t壱p g欝m n tr丑ng s嘘 của các mục t逢挨ng ứng trong

t壱p I

Ví dụ 1.3: Cho WDB DB v噂i t壱p mục I = {A, B, C, D, E}, các giao d鵜ch

đ逢ợc bi吋u di宇n trong B違ng 1.7, tr丑ng s嘘 các mục đ逢ợc th吋 hiện trong B違ng

1.8.

C 0,3

D 0,9

E 0,2

B違ng 1.7. Các giao d鵜ch của WDB DB

Giao d鵜ch Mục 建怠 A, B, D, E 建態 B, C, E 建戴 A, B, D, E

Page 27: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

13

B違ng 1.8. Tr丑ng s嘘 của các mục của WDB DB

mục Tr丑ng s嘘

A 0,6

B 0,1

C 0,3

D 0,9

E 0,2

Định nghĩa 1.5. T壱p g欝m nhiều mục của m瓜t CSDL đ逢ợc g丑i là t壱p

mục (itemset). X là t壱p mục n院u X I trong đó I là t壱p tất c違 các mục trong

CSDL và |X| >1.

Định nghĩa 1.6. Tidset của t壱p mục X là t壱p hợp các giao d鵜ch chứa X.

Nh逢 v壱y:

tidset(X) = {t|t ∈ T , X ∈ t}

Định nghĩa 1.7. Đ瓜 hỗ trợ của m瓜t t壱p mục (support) là tần suất xuất

hiện của t壱p mục đó trong CSDL vƠ đ逢ợc xác đ鵜nh theo công thức sau:

support(X) = 賃陳 × などど%

Trong đó:

- k là s嘘 giao d鵜ch chứa X

- m là s嘘 l逢ợng giao d鵜ch của CSDL

Ví dụ 1.4: D詠a vào CSDL B違ng 1.1, ta cósupport(A) = 替滞 × などど% ≈

66,7% (A xuất hiện trong b嘘n giao d鵜ch t1, t3, t4, t5). T逢挨ng t詠 ta có

support(AB) = 戴滞 × などど% = 50% (AB xuất hiện trong ba giao d鵜ch t1, t3, t5).

建替 A, B, C, E 建泰 A, B, C, D, E 建滞 B, C, D

Page 28: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

14

Đ吋 khai thác FI, ng逢運i ta đ逢a vƠo m瓜t ng逢ỡng, g丑i lƠ ng逢ỡng phổ bi院n

(minsup), t壱p mục phổ bi院n theo ng逢ỡng minsup là t壱p mục có support 半 minsup. Nh逢 v壱y t壱p mục phổ bi院n ậ FI đ逢ợc xác đ鵜nh nh逢 sau:

FI = {X I| support(X) 半 minsup}

Định nghĩa 1.8. FI g欝m k phần tử theo ng逢ỡng minsup cho tr逢噂c g丑i là

k–itemset.

Định nghĩa 1.9. Rank của m瓜t t壱p mục X, kí hiệu là RX là thứ h衣ng của

t壱p mục đó theo đ瓜 phổ bi院n (support) của t壱p mục đó.

RX = |{Y I | support(Y) 半 support(X)}|

Định nghĩa 1.10. Cho m瓜t giá tr鵜 nguyên k và CSDL DB, TRFIk của

CSDL DB đ逢ợc xác đ鵜nh nh逢 sau:

TRFIk = {X I| Rx 判 k}

1.1.2. Bài toán khai thác FI

Bài toán khai thác FI trên CSDL DB cho tr逢噂c là bài toán tìm tất c違 các

t壱p mục của CSDL có tần s嘘 xuất hiện trong các giao d鵜ch thỏa mưn ng逢ỡng

minsup do ng逢運i dùng xác đ鵜nh tr逢噂c. Các t壱p mục đ逢ợc khai thác theo

ng逢ỡng minsup đ逢ợc g丑i là FI của DB.

Ví dụ 1.5: Xét CSDL trong B違ng 1.1. g欝m sáu giao d鵜ch đ逢ợc mô t違 l衣i

nh逢 B違ng 1.9:

B違ng 1.9. BDB DB

Giao d鵜ch Các mục trong các giao d鵜ch

t1 A, B, D, E

t2 B, C, E

t3 A, B, D, E

t4 A, B, C, E

t5 A, B, C, D, E

t6 B, C, D

Page 29: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

15

FI của DB v噂i minsup = 0,5 nh逢 sau:

FI = {A, B, C, D, E, AB, AD, AE, BC, BD, BE, DE, ABD, ABE, BDE,

ABDE}

Bài toán khai thác FI là bài toán tìm tất c違 các t壱p mục của CSDL có tấn

suất xuất hiện thõa mưn ng逢ỡng minsup cho tr逢噂c.

1.2. Các ph逢挨ng pháp khai thác FI

1.2.1. Phương pháp khai thác FI trên CSDL ngang

CSDL ngang đ逢ợc hi吋u là CSDL giao d鵜ch đ逢ợc mô t違 nh逢 các đ鵜nh

nghƿa về các lo衣i CSDL đư nêu 荏 trên (Đ鵜nh nghƿa 1.1, đ院n Đ鵜nh nghƿa 1.4).

Có hai ph逢挨ng pháp chính khai thác FI trên CSDL ngang đó lƠ Apriori vƠ FP-

Growth.

1.2.1.1. Thuật toán Apriori

Thu壱t toán Apriori [1] do Agrawal vƠ các đ欝ng s詠 đề xuất năm 1994.

Thu壱t toán này khai thác FI bằng cách quét CSDL nhiều lần. Ý t逢荏ng nh逢

sau: Thu壱t toán quét CSDL lần thứ nhất đ吋 sinh ra t壱p1–itemset phổ bi院n, từ

t壱p 1-itemset phổ bi院n quét CSDL lần thứ hai đ吋 sinh ra t壱p 2–itemset phổ

bi院n, v.v… cho đ院n khi không tìm đ逢ợc bất kì t壱p phổ bi院n nào n英a thì dừng.

Thu壱t toán Apriori d詠a trên tính chất đ逢ợc đặt tên là tính chất Apriori (còn

đ逢ợc g丑i là tính chất bao đóng gi違m) nh逢 sau:

Cho hai t壱p mục X và Y của CSDL DB:

N院u X Y ⟹ support(X) 半 support(Y)

Do đó:

N院u support(X) < minsup ⟹Y X, support(Y) < minsup

N院u (Y) > minsup ⟹X Y, support(X)> minsup

D詠a vào tính chất trên, thu壱t toán Apriori đ逢ợc mô t違 nh逢 trong Hình

1.3:

Page 30: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

16

Thuật toán 1.1: Apriori

Input: CSDL DB và một ngưỡng minsup

Output: Các FI của DB thỏa minsup

1. Quét CSDL để tính support của các 1 – itemset, so sánh support với

minsup để lọc ra FI gồm 1–itemset (L1) thỏa mãn minsup

2. Quét CSDL và sử dụng Lk–1 để sinh ra ứng viên k–itemset. Loại bỏ các k–itemset không phải là FI thu được k–itemset phổ biến (Lk).

3. Lặp lại bước に cho đến khi không tạo ra ứng viên nào nữa. FI khai thác được = L1 姦 L2...

Hình 1.3. Thuật toán Apriori trong khai thác FI

Ngày nay các CSDL th詠c t院 có xu h逢噂ng tăng rất nhanh về dung l逢ợng,

b荏i v壱y việc quét CSDL nhiều lần là không kh違 thi do rất t嘘n th運i gian. Đ欝ng

th運i việc sinh ra t壱p các ứng viên 荏 mỗi b逢噂c quét CSDL cần l逢ợng b瓜 nh噂

l噂n đ吋 l逢u tr英. Do đó thu壱t toán Apriori ít đ逢ợc quan tâm nghiên cứu và sử

dụng trong th運i gian gần đơy.

1.2.1.2. Thuật toán FP–Growth với cấu trúc FP–tree

Thu壱t toán FPậGrowth [21] do Han và đ欝ng s詠 đề xuất năm 2000 đư

phần nào gi違i quy院t các h衣n ch院 của Apriori về c違 th運i gian xử lý và b瓜 nh噂

sử dụng. Ti院p sau đó Grahne vƠ đ欝ng s詠 đề xuất FPậGrowth* [17]. Đơy là

m瓜t ti院p c壱n thú v鵜 v噂i việc sử dụng cấu trúc cây FPậtree (Frequent Parternậtree) đ吋 nén toàn b瓜 CSDL v噂i mỗi nút trên FPậtree là các mục của CSDL

ban đầu. Đ欝ng th運i, thu壱t toán FPậGrowth ch雨 cần hai lần quét CSDL, gi違m

đáng k吋 th運i gian so v噂i thu壱t toán Apriori, đặc biệt lƠ trong các tr逢運ng hợp

CSDL l噂n.

B逢噂c đầu tiên, thu壱t toán FPậGrowth quét CSDL và sắp x院p l衣i tr壱t t詠

các mục theo thứ t詠 tần suất xuất hiện gi違m dần trên mỗi giao d鵜ch. B逢噂c thứ

2, FPậGrowth quét CSDL và nén toàn b瓜 d英 liệu lên cây FPậtree. B逢噂c thứ 3,

duyệt FPậtree đ吋 khai thác các FI:

Page 31: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

17

Thu壱t toán FPậGrowth đ逢ợc mô t違 nh逢 trong Hình 1.4

Thuật toán 1.2: FP–Growth

Input: CSDL DB và một ngưỡng minsup

Output: Các FI của DB thỏa minsup

1. Quét toàn bộ CSDL DB và tính support của từng danh mục. Sau đó xác định những danh mục có support lớn hơn minsup và sắp xếp giảm dần

theo support vào trong f_list.

2. Tạo cây FP–tree chỉ có một nút gốc được gán nhãn là ╉null╊, ký hiệu root.

a. Với mỗi giao dịch trong DB được thể hiện như sau: chọn và sắp xếp

những danh mục phổ biến theo thứ tự giảm dần trong f_list.

b. Quét CSDL và nén chúng lên cây FP–tree

3. Duyệt cây FP–tree để khai thác các FI thỏa mãn minsup

Hình 1.4. Thuật toán FP–Growth khai thác FI dựa trên cấu trúc FP–tree

H衣n ch院 của thu壱t toán này là quét CSDL đ院n hai lần và đặc biệt là t嘘n

th運i gian trong duyệt cây FPậtree đ吋 xây d詠ng các FI.

1.2.2. Phương pháp khai thác FI trên CSDL dọc dựa trên IT–tree

Thu壱t toán Eclat [54] đ逢ợc đề xuất b荏i Zaki sử dụng cấu trúc ITậtree

(Tidset Itemsetậtree) đ吋 l逢u tidset của các t壱p mục trên mỗi nút vƠ đ逢a ra khái niệm l噂p t逢挨ng đ逢挨ng đ吋 k院t n嘘i các t壱p mục trong cùng m瓜t l噂p t逢挨ng

đ逢挨ng đ吋 t衣o ra t壱p mục m噂i. Thu壱t toán Eclat v噂i ch雨 m瓜t lần quét CSDL là

m瓜t ti院p c壱n hiện đ衣i, ti院t kiệm th運i gian xử lý và có th吋 áp dụng khai thác FI

trên nhiều lo衣i CSDL m瓜t cách hiệu qu違. Trong đó, nhiều nghiên cứu đư m荏

r瓜ng và bi院n đổi cấu trúc ITậtree m瓜t cách phù hợp đ吋 áp dụng khai thác FI

trên nhiều lo衣i CSDL khác nh逢 khai thác trên CSDL tr丑ng s嘘 [42] CSDL s嘘

l逢ợng [44] và CSDL có s詠 phân cấp các mục [41] m瓜t cách hiệu qu違 h挨n.

Ti院p c壱n Eclat sử dụng tính chất Apriori đ吋 cắt nhánh các t壱p mục không

thỏa ng逢ỡng phổ bi院n. Do v壱y các t壱p mục trên ITậtree là các FI thỏa mãn

ng逢ỡng minsup.

Nh逢 v壱y n院u t壱p mục X không thỏa mưn ng逢ỡng minsup thì các t壱p mục

là phủ của X cũng không thỏa ng逢ỡng minsup, do v壱y ta không cần xét nhánh

Page 32: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

18

do t壱p mục X t衣o ra. Áp dụng tính chất bao đóng gi違m trên cây ITậtree s胤 cắt

nhánh đ逢ợc tất c違 các nhánh chắc chắn không chứa FI và các t壱p mục trên

ITậtree chính là FI cần khai thác.

1.2.2.1. Cấu trúc IT–tree

ITậtree có cấu trúc g欝m nhiều mức, mỗi mức g欝m nhiều l噂p t逢挨ng

đ逢挨ng. Mỗi l噂p t逢挨ng đ逢挨ng g欝m các nút có cùng nút cha 荏 mức trên. Mỗi

nút g欝m hai thành phần:

- T壱p mục X

- Tidset của X

Mỗi l噂p t逢挨ng đ逢挨ng đ逢ợc t衣o ra từ m瓜t mục cha 荏 mức trên k院t hợp lần

l逢ợt các nút phía sau nó trong cùng m瓜t l噂p t逢挨ng đ逢挨ng. Do v壱y các nút

trong cùng m瓜t l噂p t逢挨ng đ逢挨ng có cùng s嘘 l逢ợng phần tử ch雨 khác nhau

phần tử cu嘘i cùng. M瓜t nút m噂i đ逢ợc chèn vào ITậtree n院u đ瓜 hỗ trợ

(support) của nó thỏa mãn ng逢ỡng phổ bi院n (minsup) do đó các nút trên ITậ

tree sau khi xây d詠ng xong chính là các FI cần khai thác.

1.2.2.2. Thuật toán Eclat

Thuật toán 1.3: Eclat

Input: CSDL DB và một ngưỡng minsup

Output: Các FI của DB thỏa minsup

Method: Eclat

1. Quét toàn bộ CSDL DB xác định tidset của các mục. Chọn các mục có

support thỏa ngưỡng minsup (1–itemset).

2. Chèn 1–itemset vào mức 1 của IT–tree

3. Mỗi nút ở mức k – 1 kết hợp với các nút có cùng nút chavới nó tạo ra các

nút ở mức k nếu support của các nút này thỏa ngưỡng minsup.

4. Lặp lại bước 3 cho đến khi không thể tạo thêm nút mới trên IT–tree.

5. Duyệt cây IT–tree để lấy ra các FI (Tất cả các nút trên IT–tree là FI).

Hình 1.5. Thuật toán Eclat dựa trên cấu trúc IT–tree

Ví dụ 1.6: Cho CSDL BDB DB trong ví dụ 1.1 và minsup = 0,5:

Page 33: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

19

Bước 1: Quét CSDL chuy吋n sang CSDL theo chiều d丑c nh逢 trong B違ng

1.10

B違ng 1.10. BDB DB theo chiều d丑c

Mục Tidset

A 1, 3, 4, 5

B 1, 2, 3, 4, 5, 6

C 2, 4, 5, 6

D 1, 3, 5, 6

E 1, 2, 3, 4, 5

Bước 2 và 3: ITậtree đ逢ợc xây d詠ng v噂i ng逢ỡng minsup = 0,5.

Hình 1.6. Cây IT tree v噂i minsup = 0,5 của CSDL DB

Đầu tiên, t壱p 1–itemset đ逢ợc đ逢a vƠo mức đầu tiên của cây ITậtree. Sau

đó, các cặp nút trong cùng m瓜t l噂p t逢挨ng đ逢挨ng đ逢ợc k院t n嘘i v噂i nhau đ吋 t衣o

ra các t壱p mục m噂i 荏 mức ti院p theo n院u t壱p mục m噂i thỏa mưn ng逢ỡng

minsup nh逢 trên Hình 1.4.

Bước 4: Các FI khai thác đ逢ợc: {A, B, C, D, E, AB, AB, AE, BC, BD,

BE, DE, ABD, ABE, ADE, BCE, BDE, ABDE}

Thu壱t toán Eclat v噂i cấu trúc ITậtree lƠ h逢噂ng ti院p c壱n t嘘t nhất đ逢ợc bi院t

đ院n hiện nay v噂i ch雨 m瓜t lần quét CSDL. Tuy nhiên, ph逢挨ng pháp nƠy có

A1,3,4,5

AB1,3,4,5

ABD1,3,5 ABE1,3,4,5

AD1,3,5 AE1,3,4,5

ADE1,3,5 BCE2,4,5 BDE1,3,5

BC2,4,5,6 BD1,3,5,6

B1,2,3,4,5,6 C2,4,5,6 D1,3,5,6 E1,2,3,4,5

BE1,2,3,4,5 DE1,3,5

{}

ABDE1,3,5

Page 34: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

20

nh逢ợc đi吋m l噂n là t嘘n b瓜 nh噂 sử dụng đ吋 l逢u tidset của các t壱p mục, do mỗi

giao d鵜ch chứa t壱p mục cần m瓜t ô nh噂. Đ欝ng th運i b瓜 nh噂 t衣m cần thi院t trong

quá trình tính toán trung gian cũng rất l噂n. Các h衣n ch院 này làm cho th運i gian

tính toán của thu壱t toán Eclat ch逢a đ逢ợc t嘘i 逢u. Do đó, nghiên cứu đề xuất

các ph逢挨ng pháp m噂i nhằm t嘘i 逢u b瓜 nh噂 đ吋 nâng cao hiệu qu違 khai thác FI

trên các lo衣i CSDL theo h逢噂ng ti院p c壱n này có tính th詠c t院 cao. Đơy cũng

chính là m瓜t trong nh英ng mục tiêu nghiên cứu của lu壱n án.

1.3. M瓜t s嘘 ph逢挨ng pháp khai thác FWI và FWUI trên QDB

1.3.1. Giới thiệu

QDB theo Đ鵜nh nghƿa 1.3 là CSDL đ逢ợc xuất hiện nhiều trong th詠c t院,

ví dụ CSDL giao d鵜ch bán hàng trong các siêu th鵜, CSDL các đ挨n thu嘘c,

v.v…Trong đó các giao d鵜ch có s嘘 l逢ợng các mặt hàng cùng lợi nhu壱n (lợi

ích) của các mặt hàng đó. Do đó, bài toán khai thác FWI và FWUI từ QDB

đ逢ợc nhiều ng逢運i quan tâm nghiên cứu.

M瓜t d衣ng rút g丑n của QDB là CSDL tr丑ng s嘘 (Đ鵜nh nghƿa 1.4) v噂i các

giao d鵜ch nh鵜 phân, tức là các mục xuất hiện trong giao d鵜ch là 1, các mục

không xuất hiện là 0, mỗi mục có m瓜t tr丑ng s嘘 xác đ鵜nh. CSDL tr丑ng s嘘 cũng

là CSDL đ逢ợc sử dụng nhiều trong các ứng dụng th詠c t院. V噂i CSDL tr丑ng s嘘,

ng逢運i ta không quan tơm đ院n s嘘 l逢ợng mỗi mục trong các giao d鵜ch, mà quan

tơm đ院n mục đó có xuất hiện hay không và tr丑ng s嘘 của nó. Ví dụ CSDL tai

n衣n giao thông, v噂i mỗi vụ tai n衣n giao thông ng逢運i ta ch雨 cần bi院t có lỗi A,

lỗi B và mức ph衣t của các lỗi ấy, hay CSDL bệnh nhân, mỗi ng逢運i bệnh có

m瓜t s嘘 triệu chứng và các triệu chứng đó nặng hay nhẹ, 荏 mức đ瓜 nào, v.v…

Do đó, bên c衣nh khai thác FWUI trên QDB thì khai thác FWI trên CSDL

tr丑ng s嘘 cũng đ逢ợc quan tâm khai thác từ nhiều nhóm nghiên cứu về khai

thác d英 liệu trên th院 gi噂i [7, 23, 24, 27, 34, 37, 39, 42, 47, 48, 49, 50, 51, 52,

53].

Page 35: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

21

1.3.2. Khai thác FWI

1.3.2.1. Giới thiệu

Bài toán khai thác FWI đ逢ợc đề xuất lần đầu tiên b荏i Ramkumar và

đ欝ng s詠 [37], trong nghiên cứu này, các tác gi違 đư đ逢a ra mô hình mô t違 khái

niệm về lu壱t k院t hợp có tr丑ng s嘘, trong đó đề xuất thu壱t toán WIS đ吋 khai thác

FWI. Sau đó, việc nghiên cứu bài toán khai thác FWI đ逢ợc chia làm hai

h逢噂ng ti院p c壱n riêng biệt d詠a theo các cách thức xác đ鵜nh đ瓜 đo hỗ trợ tr丑ng

s嘘 (weight support ậ ws) khác nhau.

H逢噂ng ti院p c壱n thứ nhất kh荏i đầu b荏i Yun vƠ đ欝ng s詠 [50] sử dụng m瓜t

hƠm trung bình đ吋 tính tr丑ng s嘘 của t壱p mục, từ đó tính ws của t壱p mục bằng

tích của tr丑ng s嘘 và đ瓜 hỗ trợ của t壱p mục đó. Do tính tr丑ng s嘘 của t壱p mục

bằng hàm trung bình nên m瓜t t壱p mục có th吋 nh壱n giá tr鵜 tr丑ng s嘘 l噂n h挨n khi

thêm vào m瓜t mục m噂i, điều nƠy không đ違m b違o tính chất bao đóng gi違m. Đ吋

gi違i quy院t vấn đề, Yun & Leggett [51] đề xuất thu壱t toán WSPAN sử dụng

mô hình maximumậweightedậupperậbound, trong đó các mục đ逢ợc gán các

giá tr鵜 khác nhau trong ph衣m vi weight ậ range đ逢ợc đ鵜nh nghƿa tr逢噂c. Sau

đó, Lan vƠ các đ欝ng s詠 [24] (t逢挨ng t詠 [52, 53]) đề xuất ti院p mô hình sequenc

ậmaximumậweight đ吋 rút g丑n l衣i upperậbound của các ws nhằm gi違m b噂t s嘘

l逢ợng ứng viên trong quá trình khai thác. Cách ti院p c壱n theo h逢噂ng này xem

xét song song tr丑ng s嘘 và đ瓜 hỗ trợ của t壱p mục trong quá trình khai thác.

Thêm n英a, theo cách tính ws của cách ti院p c壱n này, m瓜t t壱p mục xuất hiện

trong giao d鵜ch ti cũng t逢挨ng đ逢挨ng v噂i xuất hiện trong giao d鵜ch tj, điều này

không ph違n ánh đ逢ợc tầm quan tr丑ng khác nhau của các giao d鵜ch trong

CSDL th詠c t院.

H逢噂ng ti院p c壱n thứ hai đ逢ợc đề xuất lần đầu tiên b荏i Tao vƠ đ欝ng s詠

[39] d詠a trên đ瓜 đo tr丑ng s嘘 giao d鵜ch (transaction weight ậ tw) đ逢ợc tính

bằng trung bình c瓜ng các tr丑ng s嘘 của các mục có trong giao d鵜ch và giá tr鵜

ws của m瓜t t壱p mục đ逢ợc xác đ鵜nh bằng t雨 s嘘 gi英a tổng các tw của các giao

Page 36: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

22

d鵜ch có chứa t壱p mục đó và cho tổng tw của tất c違 giao d鵜ch. Theo cách ti院p

c壱n này thì giá tr鵜 ws của t壱p mục vừa ph違n ánh đ逢ợc mức đ瓜 xuất hiện của

t壱p mục trong các giao d鵜ch, vừa th吋 hiện đ逢ợc mức đ瓜 quan tr丑ng khác nhau

của các giao d鵜ch. M瓜t 逢u đi吋m n英a của cách ti院p c壱n này là thỏa mãn tính

chất bao đóng gi違m m瓜t cách t詠 nhiên. Tuy nhiên, thu壱t toán do Tao vƠ đ欝ng

s詠 đề xuất d詠a vào việc sinh ứng viên theo ph逢挨ng pháp Apriori nên cần đ丑c

CSDL nhiều lần, d磯n đ院n t嘘n th運i gian xử lý và c違 b瓜 nh噂 l逢u tr英. Ti院p theo,

Le [27] (Vo vƠ các đ欝ng s詠 [42]) đề xuất cách thức l逢u tr英 tr丑ng s嘘 trên cây

WITậtree, m瓜t m荏 r瓜ng của cây ITậtree. Do ch雨 cần quét CSDL m瓜t lần,

cùng v噂i áp dụng chi院n l逢ợc Diffset đ吋 khai thác FWI trên cây WITậtree, nên

ph逢挨ng pháp nƠy tỏ ra hiệu qu違 h挨n ph逢挨ng pháp theo h逢噂ng ti院p c壱n Apriori

tr逢噂c đó. H衣n ch院 của ph逢挨ng pháp nƠy lƠ 荏 chỗ t嘘n b瓜 nh噂 đ吋 l逢u tr英 tidset,

đó cũng lƠ nguyên nhơn lƠm cho th運i gian xử lý ch逢a đ逢ợc t嘘i 逢u.

Theo h逢噂ng ti院p c壱n thứ hai này, Tao [39] vƠ các đ欝ng s詠 đ逢a ra công thức tính các đ衣i l逢ợng tr丑ng s嘘 giao d鵜ch (transaction weight ậ tw) vƠ đ瓜 hỗ

trợ tr丑ng s嘘 (weight support ậ ws), trong đó tw của m瓜t giao d鵜ch là trung

bình c瓜ng của tr丑ng s嘘 của các mục trong giao d鵜ch đó, còn ws của m瓜t t壱p

mục lƠ th逢挨ng của tổng tw của các giao d鵜ch ch逢a t壱p mục đó v噂i tổng tw của

CSDL. Cách tính này đ逢ợc th吋 hiện qua hai đ鵜nh nghƿa 1.15 vƠ 1.16 nh逢 sau:

Định nghĩa 1.11. Tr丑ng s嘘 giao d鵜ch của các giao d鵜ch tw đ逢ợc xác

đ鵜nh nh逢 công thức 1.1:

tw(tk) =

∑ 栂日乳日乳(�入)鎚岫痛入岻 (1.1)

V噂i:

ậ tw(建賃) là tr丑ng s嘘 giao d鵜ch của 建賃

ậ 拳沈乳 là tr丑ng s嘘 của mục �珍 trong 建賃

ậ 嫌岫建賃岻 là s嘘 các mục có mặt trong 建賃

Từ WDB DB trong ví dụ 1.4, ta có giá tr鵜 tw của các giao d鵜ch đ逢ợc tính

nh逢 trong B違ng 1.11:

Page 37: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

23

B違ng 1.11. 鵜 ủ ụ

Giao dịch tw

t1 tw(t1) = 岫待,滞 + 待,怠 + 待,苔 + 待,態岻替 = 0,45

t2 tw(t2) = 岫待,怠 + 待,戴 + 待,態岻戴 = 0,20

t3 tw(t3) = 岫待,滞 + 待,怠 + 待,苔 + 待,態岻替 = 0,45

t4 tw(t4) = 岫待,滞 + 待,怠 + 待,戴 + 待,態岻替 = 0,30

t5 tw(t5) = 岫待,滞 + 待,怠 + 待,戴 + 待,苔 + 待,態岻泰 = 0,42

t6 tw(t6) = 岫待,怠 + 待,戴 + 待,苔岻戴 = 0,43

Sum_tw 0,45+0,20+0,45+0,30+0,42+0,43 = 2,25

Định nghĩa 1.12. Đ瓜 hỗ trợ tr丑ng s嘘 (ws) của t壱p mục X đ逢ợc tính

nh逢 công thức 1.2: 拳嫌岫隙岻 = ∑ 建拳岫建賃岻痛入∈痛岫�岻嫌憲兼_建拳 (1.2)

Trong đó, t(X) là t壱p các giao d鵜ch chứa t壱p mục X và sum_tw = ∑ 建拳岫建賃岻陳賃=怠

V噂i t壱p mục BD trong DB 荏 ví dụ 1.4 đ逢ợc xác đ鵜nh nh逢 sau:

ws(BD) = 痛栂岫痛迭岻+痛栂岫痛典岻+痛栂岫痛天岻+痛栂岫痛展岻痛栂岫痛迭岻+ 痛栂岫痛鉄岻+ 痛栂岫痛典岻+ 痛栂岫痛填岻+痛栂岫痛天岻+痛栂岫痛展岻 = 待,替泰+待,替泰+待,替態+待,替戴態,態泰 ≈0,78.

T壱p mục X đ逢ợc g丑i là phổ bi院n n院u và ch雨 n院u ws(X) 半 minws, v噂i

minws đ逢ợc xác đ鵜nh b荏i ng逢運i sử dụng. Bài toán khai thác FWI trên CSDL

tr丑ng s嘘 là bài toán tìm tất c違 các t壱p mục X (X I) thỏa mãn ws(X) 半 minws.

1.3.2.2. Một số nghiên cứu liên quan

Ramkumar vƠ các đ欝ng s詠 [37] đ逢a ra bƠi toán khai thác FWI trên CSDL tr丑ng s嘘. Sau đó, Tao vƠ đ欝ng s詠 [39] đề xuất mô hình gi違i quy院t bài

toán này d詠a trên hai đ衣i l逢ợng tr丑ng s嘘 giao d鵜ch (tw) vƠ đ瓜 hỗ trợ tr丑ng

s嘘 (ws) v噂i công thức tính nh逢 trên trong đ鵜nh nghƿa 1.15 vƠ đ鵜nh nghƿa 1.16.

Page 38: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

24

Le và các đ欝ng s詠 [27] (Vo vƠ các đ欝ng s詠 [42]) đề xuất cấu trúc WITậ

tree là m瓜t m荏 r瓜ng của ITậtree [54]. Mỗi nút trên WITậtree g欝m ba thành

phần ws, itemset, tidset. S詠 k院t n嘘i hai nút trong cùng m瓜t l噂p t逢挨ng đ逢挨ng

荏 mức k t衣o ra nút m噂i 荏 mức k+1, n院u ws của t壱p mục m噂i t衣o thành này

thỏa ng逢ỡng minws, t壱p mục 荏 nút m噂i chính là hợp từ hai t壱p mục của hai

nút phía trên và tidset m噂i chính là giao của hai tidset của hai nút đó. Sau khi

xây d詠ng xong WITậtree, các t壱p mục trên cây chính là tất c違 các FWI thỏa

ng逢ỡng khai thác minws.

Vo vƠ các đ欝ng s詠 [43] sử dụng cấu trúc d英 liệu WITậtree vƠ đề xuất

thu壱t toán khai thác FWI v噂i m瓜t c違i ti院n m噂i lƠ đ逢a ra ph逢挨ng pháp xác đ鵜nh

nhanh ws của các t壱p mục m噂i t衣o thành từ ws của các t壱p mục tr逢噂c đó vƠ áp

dụng kƿ thu壱t diffset [55] thay cho tidset của t壱p mục trong quá trình tính

toán. C違i ti院n này của nhóm tác gi違 đư c違i ti院n rõ rệt về mặt th運i gian so v噂i

các gi違i pháp tr逢噂c đó. Tuy nhiên các ti院p c壱n theo diffset không hiệu qu違

trên các CSDL th逢a.

1.3.3. Khai thác FWUI

Bên c衣nh khai thác FWI, bài toán khai thác FWUI trên QDB cũng nh壱n

đ逢ợc m瓜t s嘘 quan tâm nghiên cứu [22, 35, 44 ]. Việc khai thác FWUI liên

quan đ院n việc xác đ鵜nh tr丑ng s嘘 h英u ích của các giao d鵜ch twu (transaction

weight utility) vƠ đ瓜 hỗ trợ tr丑ng s嘘 h英u ích wus (weight utility support).

Khan và đ欝ng s詠 [22] đư đ逢a ra đ鵜nh nghƿa hai đ衣i l逢ợng là tr丑ng s嘘 h英u

ích của giao d鵜ch ậ transaction weight utility (twu) vƠ đ瓜 hỗ trợ tr丑ng s嘘 h英u

ích ậ weight utility support (wus) đ逢ợc bi吋u di宇n l衣i nh逢 sau:

Định nghĩa 1.13. Tr丑ng s嘘 h英u ích của các giao d鵜ch twu đ逢ợc đ鵜nh

nghƿa nh逢 công thức 1.3:

V噂i:

twu(建賃) = ∑ 岫栂日 × 掴入日岻�日=迭鎚岫痛入岻 (1.3)

Page 39: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

25

– twu(建賃) là tr丑ng s嘘 h英u ích của 建賃;

ậ 捲賃日 là s嘘 l逢ợng mục thứ i trong 建賃, i {1,…, n};

ậ 拳沈 là tr丑ng s嘘 của mục i;

ậ s(建賃岻 là tổng các mục trong 建賃

B違ng 1.12 là giá tr鵜 twu của các giao d鵜ch của CSDL DB đ逢ợc cho trong

ví dụ 1.4

B違ng 1.12. twu các giao d鵜ch của DB trong ví dụ 1.4

Tid Twu

t1 ど,は + ど,な + ど,ひ × ね + ど,にば = 1,13

t2 ど,な + ど,ぬ × ぬ + ど,にの = 0,4

t3 ど,は × に + ど,な + ど,ひ × ぬ + ど,に × にぱ = 1,1

t4 ど,は × ぬ + ど,な + ど,ぬ + ど,には = 0,6

t5 ど,は + ど,な × に + ど,ぬ × に + ど,ひ + ど,に × ぬひ = 0,58

t6 ど,な + ど,ぬ + ど,ひぬ = 0,43

Sum_twu 1,13 + 0,4 + 1,1 + 0,6 + 0,58 + 0,43 = 4,24

Định nghĩa 1.14. Đ瓜 hỗ trợ tr丑ng s嘘 h英u ích của các t壱p mục wus đ逢ợc

đ鵜nh nghƿa nh逢 công thức 1.4:

wus(X) = ∑ 痛栂通岫痛入岻�入�岫�岻聴通陳 _痛栂通 (1.4)

Trong đó, T(X) là t壱p các giao d鵜ch chứa t壱p mục X và sum_twu = ∑ 建拳憲岫建賃 岻陳賃=怠 .

M瓜t t壱p mục X đ逢ợc g丑i là phổ bi院n v噂i ng逢ỡng minwus (do ng逢運i sử

dụng đ逢a vƠo) n院u wus(X) 半 minwus. BƠi toán xác đ鵜nh t壱p mục phổ bi院n trên

QDB lƠ bƠi toán xác đ鵜nh tất c違 các t壱p X sao cho X I và wus(X) 半 minwus.

Page 40: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

26

Các t壱p mục phổ bi院n xác đ鵜nh theo minwus thỏa ng逢ỡng tính chất bao

đóng gi違m, điều nƠy đư đ逢ợc chứng minh trong [44].

Khan và các đ欝ng s詠 [22] đề xuất bài toán khai thác FWUI bằng việc đề

xuất hai đ瓜 đo trong khai thác FWUI là tr丑ng s嘘 h英u ích của giao d鵜ch ậ twu

vƠ đ瓜 hỗ trợ tr丑ng s嘘 h英u ích ậ wus, đ欝ng th運i đề xuất m瓜t “framework” trong

việc gi違i quy院t bài toán khai thác FWUI trên QDB d詠a trên hai đ瓜 đo nƠy.

Vo và các đ欝ng s詠 đề xuất m瓜t cấu trúc d英 liệu có tên MWITậtree [45]

là m瓜t m荏 r瓜ng khác của ITậtree đ吋 khai thác FWUI v噂i ch雨 m瓜t lần quét d英

liệu d詠a trên tính chất bao đóng gi違m của wus. Cấu trúc này g欝m nhiều nút

mỗi nút g欝m ba thành phần {X, t(X), wus(X)} trong đó X là t壱p mục, t(X) là

tidset(X) và wus(X) lƠ đ瓜 hỗ trợ tr丑ng s嘘 h英u ích của X. Tuy nhiên ti院p c壱n

này có h衣n ch院 là b瓜 nh噂 sử dụng l逢u tr英 tidset của các t壱p mục còn rất l噂n,

điều này 違nh h逢荏ng đ院n th運i gian khai thác FWUI.

1.3.4. Khai thác TRFIk

Khai thác FI là bài toán tr丑ng tâm trong khai thác d英 liệu đ逢ợc nhiều

nhóm nghiên cứu quan tâm. Tuy nhiên, trong nhiều tr逢運ng hợp khai thác FI

v噂i ng逢ỡng cho tr逢噂c không đáp ứng đ逢ợc các đòi hỏi th詠c t院. Ví dụ, v噂i

ng逢ỡng minsup đ逢a vƠo thì s嘘 l逢ợng các FI khai thác đ逢ợc quá nhiều hoặc

quá ít, nghƿa lƠ ng逢運i sử dụng không ki吋m soát đ逢ợc s嘘 l逢ợng các FI tìm

thấy, v.v… Trong nh英ng tr逢運ng hợp nh逢 v壱y khai thác TRFIk s胤 gi違i quy院t

đ逢ợc yêu cầu trên.

Fang và các đ欝ng s詠 [15] đư đề xuất thu壱t toán VTK đ吋 khai thác TRFIk

trên CSDL nh鵜 phân. Thu壱t toán VTK khai thác d英 liệu theo chiều d丑c g欝m

hai b逢噂c. Đầu tiên VTK quét CSDL đ吋 chuy吋n d英 liệu sang chiều d丑c và tính

support của các 1–itemset vƠ đ逢a chúng vƠo TRFIậTable theo thứ t詠 gi違m

dần của support. Mỗi thành phần trên TRFIậTable g欝m hai thành phần, m瓜t

là count (support của t壱p mục) hai là danh sách các t壱p mục có cùng support.

Page 41: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

27

B逢噂c thứ 2, các l–itemset trong TRFIậTable đ逢ợc k院t n嘘i v噂i nhau đ吋 t衣o ra

các (l+1)–itemset, các t壱p mục m噂i đ逢ợc t衣o thành s胤 đ逢ợc chèn vào TRFIậTable n院u support của nó l噂n h挨n giá tr鵜 t衣i ch雨 s嘘 k của TRFIậTable (phần tử

cu嘘i của TRFIậTable). Thu壱t toán k院t thúc khi không còn t壱p mục nƠo đ逢ợc

c壱p nh壱t vào TRFIậTable. VTK là m瓜t thu壱t toán khá hiệu qu違 song nó có

m瓜t s嘘 đi吋m y院u nh逢:

- B瓜 nh噂 sử dụng l噂n trong l逢u tr英 tidset của các t壱p mục.

- T嘘n nhiều th運i gian th詠c hiện k院t n嘘i các l–itemset đ吋 t衣o ra (l+1)–

itemset từ TRFIậTable, do ph違i xét 系陳態 cặp v噂i m là s嘘 l逢ợng các t壱p

mục trong TRFIậTable.

Deng và các đ欝ng s詠 [8,10] đư đề xuất thu壱t toán NTK d詠a trên cấu trúc

Nậlist đ吋 ti院t kiệm b瓜 nh噂, gi違m th運i gian tính toán trong khai thác TRFIk.

NTK t衣o ra cây PPCậtree gi嘘ng v噂i cây FPậtree. D詠a trên PPCậtree sinh ra

Nậlist của các 1–itemset, từ đó khai thác TRFIk. NTK tuy đư c違i thiện đ逢ợc

b瓜 nh噂 l逢u tr英 tidset của các t壱p mục, song v磯n t嘘n th運i gian nhiều do quét

CSDL hai lần đ吋 t衣o ra PPCậtree.

Le cùng các đ欝ng s詠 [28] đ逢a ra m瓜t c違i ti院n của NTK v噂i thu壱t toán

iNTK d詠a trên cấu trúc Nậlist giúp gi違m th運i gian trong tính giao các Nậlist

của các t壱p mục. Tuy nhiên cũng nh逢 NTK thu壱t toán iNTK v磯n ph違i quét

CSDL hai lần đ吋 t衣o cây PPCậtree và t嘘n th運i gian duyệt cơy đ吋 t衣o Nậlist

của 1–itemset.

Hai thu壱t toán NTK và iNTK c違i ti院n đ逢ợc b瓜 nh噂 nh逢ng v磯n gặp ph違i

h衣n ch院 thứ hai của VTK đã nêu 荏 trên.

1.4. Khai thác FI trên CSDL có s詠 phân c医p các m映c

CSDL có s詠 phân cấp các mục theo Đ鵜nh nghƿa 1.2 là CSDL có nhiều

trong các ứng dụng th詠c t院, trong đó các mục trong CSDL có m嘘i quan hệ

nhất đ鵜nh v噂i nhau thông qua cây phân cấp, các mục t衣i nút lá là các mục có

Page 42: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

28

mặt trong các giao d鵜ch trong CSDL, các mục 荏 nút cha trên cây phân cấp là

các mục 荏 mức khái quát của các mục nút lá.

M瓜t s嘘 đ鵜nh nghƿa liên quan đ院n khai thác FI trên CSDL có s詠 phân cấp

các mục đ逢ợc trình bày trong [32]:

Định nghĩa 1.15. M瓜t giao d鵜ch t = tid, X v噂i X ∈ (I 姦 J), X = (Y 姦 Z)

là t壱p các mục có trong giao d鵜ch (Y) và các mục cha của Y trên cây phân cấp

(Z).

Định nghĩa 1.16. T壱p X là FI thì support(X) 半 minsup, đ欝ng th運i trong

X không t欝n t衣i m瓜t cặp mục nào có quan hệ cha con, nh逢 v壱y X là phổ bi院n

khi: { �憲喧喧剣堅建岫隙岻 半 兼�券嫌憲喧 ∀隙沈 , 隙珍 ∈ 隙, 隙沈 ≠ �欠堅�券建岫隙珍 岻

Có hai ti院p c壱n khai thác FI trên CSDL có s詠 phân cấp các mục, đó lƠ

khai thác v噂i m瓜t ng逢ỡng phổ bi院n và khai thác v噂i nhiều ng逢ỡng phổ bi院n.

Các ng逢ỡng phổ bi院n khác nhau đ嘘i v噂i mỗi cấp trên cây phân cấp.

Khai thác với một ngưỡng phổ biến

Khai thác FI trên CSDL phân cấp sử dụng cùng m瓜t ng逢ỡng phổ bi院n là

việc coi các mục cha trên cấp phân cấp và các mục con (là các mục trong

CSDL) có cùng m瓜t vai trò nh逢 nhau, đ逢ợc khai thác v噂i cùng m瓜t ng逢ỡng

phổ bi院n. M瓜t s嘘 nghiên cứu theo ti院p c壱n nƠy nh逢 [21]. Tuy nhiên h逢噂ng

ti院p c壱n này s噂m b瓜c l瓜 nhiều h衣n ch院 do các mục tuy ít xuất hiện nh逢ng l衣i

quan tr丑ng và cần đ逢ợc quan tơm h挨n các mục khác. Đ欝ng th運i các mục cha

trên cây phân cấp s胤 có tần suất xuất hiện nhiều h挨n sau khi đ逢ợc thêm vào

CSDL đ吋 khai thác. Do đó, khi khai thác nhiều kh違 năng s胤 ít xuất hiện các

mục con trong các t壱p mục phổ bi院n tìm thấy. Do v壱y cần đặt ra nhiều

ng逢ỡng phổ bi院n đ吋 có th吋 l丑c đ逢ợc các t壱p mục phổ bi院n đáp ứng đ逢ợc nhu

cầu của ng逢運i sử dụng.

Page 43: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

29

Khai thác với nhiều ngưỡng phổ biến

Khai thác t壱p mục phổ bi院n trên CSDL phân cấp mà mỗi mục đ逢ợc xác

đ鵜nh m瓜t ng逢ỡng hỗ trợ khác nhau, điều này giúp cho việc khai thác các lu壱t

k院t hợp thú v鵜 từ các mục ít xuất hiện trong CSDL nh逢ng l衣i có tầm quan

tr丑ng cao h挨n các mục khác. M瓜t s嘘 nghiên cứu theo h逢噂ng này [32, 40] đư

cho rằng việc khai thác t壱p mục phổ bi院n v噂i nhiều ng逢ỡng hỗ trợ là cần thi院t

và cần đ逢ợc đầu t逢 nghiên cứu h挨n n英a trên nhiều lo衣i CSDL khác nhau.

Định nghĩa 1.17. ms(x) lƠ đ瓜 hỗ trợ nhỏ nhất của mục x ∈ (I 姦 J), m瓜t

t壱p mục X = {x1, x2, …, xk} v噂i xi ∈ (I 姦 J) và 1 判 i 判 � đ逢ợc g丑i là phổ bi院n

n院u:

support(X) 半 兼�券掴日∈�ms(xi)

Liu và các đ欝ng s詠 [32] đề xuất bài toán khai thác t壱p mục phổ bi院n trên

CSDL có s詠 phân cấp các mục v噂i nhiều ng逢ỡng hỗ trợ theo ti院p c壱n Apriori.

Ti院p đ院n, Tseng và đ欝ng s詠 [40] đ逢a ra các công thức xác đ鵜nh các ng逢ỡng

hỗ trợ t嘘i thi吋u đ嘘i v噂i các mục, từ đó đ逢a ra công thức tính ng逢ỡng hỗ trợ

cho các t壱p mục. Sau đó sử dụng ph逢挨ng pháp sinh ứng viên theo h逢噂ng ti院p

c壱n Apriori đ吋 khai thác FI. Ph逢挨ng pháp nƠy có đặc đi吋m ng逢運i sử dụng t詠

đ逢a ra các ng逢ỡng t嘘i thi吋u cho các mục theo quan đi吋m cá nhơn đ吋 có th吋

khai thác đ逢ợc các lu壱t thú v鵜, tuy nhiên chính điều nƠy cũng lƠm khó khăn

cho ng逢運i sử dụng khi s嘘 l逢ợng các mục cần quan tâm l噂n. Đ欝ng th運i cách

ti院p c壱n Apriori t嘘n nhiều th運i gian khai thác do quét CSDL nhiều lần.

K院 thừa các công thức từ [40], Vo và các đ欝ng s詠 [41] sử dụng h逢噂ng

ti院p c壱n theo thu壱t toán Eclat [54] v噂i việc đề xuất cấu trúc d英 liệu GITậtree

là m瓜t m荏 r瓜ng của ITậtree. Tuy nhiên, h衣n ch院 của nghiên cứu này là việc

thêm các mục cha trên cây phân cấp vào các giao d鵜ch của CSDL, thao tác

nƠy lƠm tăng b瓜 nh噂 l逢u tr英 CSDL d磯n đ院n tăng th運i gian khai thác do ph違i

phai thác trên CSDL l噂n h挨n.

Page 44: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

30

V噂i HDB DB trong Ví dụ 1.2, sau khi thêm các mục cha vào các giao

d鵜ch có chứa nút con, CSDL m噂i s胤 g欝m các giao d鵜ch nh逢 B違ng 1.13:

B違ng 1.13. HDB DB trong Ví dụ 1.2 sau khi thêm mục cha

Giao d鵜ch Mục

t1 D, C, G, K, H

t2 E, F, K

t3 F, B, G, K

t4 D, F, C, G, K, H

t5 E

t6 A, H

Nh逢 v壱y, HDB DB bao g欝m sáu giao d鵜ch tổng c瓜ng m逢運i m瓜t mục nh逢

trong B違ng 1.4, sau khi thêm các mục cha vào các giao d鵜ch có chứa mục con

ta có CSDL DB m噂i g欝m sáu giao d鵜ch vƠ hai m逢挨i m嘘t mục nh逢 trong B違ng

1.13.

1.5. Ti院p c壱n bitậvector trong khai thác FI

Các thu壱t toán khai thác FI d詠a trên ITậtree trên CSDL nh鵜 phân hay các

m荏 r瓜ng của ITậtree đ吋 khai thác trên các lo衣i CSDL khác nh逢: cấu trúc

GITậtree khai thác FI trên CSDL nh鵜 phân có s詠 phân cấp các mục, cấu trúc

WITậtree dùng trong khai thác FWI trên CSDL tr丑ng s嘘, hay MWITậtree

dùng trong khai thác FWUI trên CSDL s嘘 l逢ợng, v.v… cho thấy hiệu qu違 cao

về mặt th運i gian do ch雨 cần duyệt d英 liệu m瓜t lần. Tuy nhiên nh逢 đư phân tích

荏 trên, b瓜 nh噂 sử dụng l逢u tidset của các t壱p mục là rất l噂n.

Đư có m瓜t s嘘 nghiên cứu nhằm t嘘i 逢u hóa b瓜 nh噂 đ吋 nâng cao hiệu qu違

của các ph逢挨ng pháp d詠a trên ITậtree. M瓜t trong s嘘 đó lƠ thu壱t toán dEclat

[56] do Zaki và đ欝ng s詠 đề xuất v噂i cấu trúc diffset thay vì tidset. Tuy nhiên

diffset ch雨 có hiệu qu違 trên CSDL dày (là CSDL có nhiều mục trên mỗi giao

d鵜ch). Trong khi th詠c t院 CSDL th逢a l衣i rất phổ bi院n.

Page 45: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

31

M瓜t h逢噂ng hiệu qu違 là sử dụng ph逢挨ng pháp bitậvector do ti院t kiệm

đ逢ợc b瓜 nh噂 l逢u tr英 tidset (mỗi giao d鵜ch ch雨 cần m瓜t bit), đ欝ng th運i t壱n dụng

đ逢ợc t嘘c đ瓜 cao của các phép toán trên bit (bitwise).

Đầu tiên, Luoie & Liu [33] đề xuất sử dụng bitậvector trong bi吋u di宇u

tidset của các t壱p mục và sau đó Dong & Han [13] (Song vƠ các đ欝ng s詠 [39])

cụ th吋 hóa bằng đề xuất cấu trúc BitTable, v噂i việc sử dụng bitậvector bằng

m違ng các byte đ吋 ghi nh壱n các giao d鵜ch của t壱p mục. BitTable ch雨 cần sử

dụng (|脹|腿 +1) byte cho mỗi t壱p mục đ吋 l逢u tidset (T là s嘘 l逢ợng giao d鵜ch trong

CSDL), đ欝ng th運i sử dụng phép toán AND trên bit đ吋 tính giao hai tidset

nhằm xác đ鵜nh tidset của t壱p mục m噂i từ hai t壱p mục đư có.

Tuy nhiên, v噂i CSDL có s嘘 l逢ợng các giao d鵜ch l噂n, việc bi吋u di宇n trên

BitTable có th吋 ch逢a hiệu qu違 b荏i BitTable chứa nhiều byte có giá tr鵜 = 0, (do

BitTable của mỗi t壱p mục sử dụng l逢ợng b瓜 nh噂 bằng nhau là (|脹|腿 +1) byte).

Điều nƠy lƠm cho ph逢挨ng pháp sử dụng BitTable trong bi吋u di宇n tidset lãng

phí b瓜 nh噂, đ欝ng th運i d磯n đ院n t嘘n th運i gian trong xác đ鵜nh giao của hai

BitTable.

Ti院p đ院n, Vo và các đ欝ng s詠 đề xuất cấu trúc DBV (Dynamic bitậvector)

[43] là m瓜t c違i ti院n của BitTable v噂i việc lo衣i bỏ các byte có giá tr鵜 bằng 0 荏

đầu và cu嘘i trong bi吋u di宇n tidset trên m違ng byte.

Tuy nhiên DBV còn chứa nhiều byte có giá tr鵜 bằng 0 “荏 gi英a”, điều này

làm cho cấu trúc DBV ch逢a th壱t s詠 t嘘i 逢u về b瓜 nh噂, do đó t嘘n th運i gian khi

tính toán trên các byte có giá tr鵜 bằng 0. Đặc biệt trên các CSDL th逢a, s嘘

l逢ợng các byte có giá tr鵜 bằng 0 rất l噂n.

Ngoài ra, cấu trúc BitTable và DBV sử dụng m違ng byte, nghƿa là mỗi

phần tử có đ瓜 l噂n m瓜t byte. Do đó, s嘘 l逢ợng các phần tử của mỗi DBV là rất

l噂n, nhất là trên các CSDL có s嘘 l逢ợng giao d鵜ch nhiều. Nghiên cứu sử dụng

các phần tử là các s嘘 nguyên l噂n nh逢 b嘘n byte hay tám byte s胤 tăng t嘘c tính

Page 46: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

32

toán trên DBV lên rất nhiều do hiện nay các th院 hệ máy tính hỗ trợ 64 bit là

phổ bi院n. Tuy nhiên, khó khăn khi sử dụng các s嘘 nguyên l噂n là việc xác đ鵜nh

tidset của các t壱p mục đ吋 tính các giá tr鵜 twu, wus trong khai thác FWUI trên

QDB và tw, ws trong khai thác FWI trên CSDL tr丑ng s嘘.

1.6. K院t lu壱n ch逢挨ng

Có th吋 nói, khai thác FI là m瓜t khâu rất quan tr丑ng trong khai thác d英

liệu, phục vụ cho việc khai thác lu壱t k院t hợp và các yêu cầu khác nhằm ch雨 ra

m嘘i quan hệ, quy lu壱t gi英a các mục trong CSDL. Vì v壱y, bƠi toán nƠy đư thu

hút đ逢ợc nhiều nhóm nghiên cứu trên th院 gi噂i quan tâm nghiên cứu. Từ thu壱t

toán Apriori v噂i nhiều lần quét CSDL, đ院n thu壱t toán FPậGrowth v噂i ch雨 hai

lần quét CSDL và duyệt cây FPậtree. Ti院p đ院n Zaki v噂i ti院p c壱n theo d英 liệu

d丑c đư đề xuất khai thác FI v噂i ch雨 m瓜t lần quét CSDL.

Bên c衣nh CSDL nh鵜 phân, khai thác t壱p mục phổ bi院n trên QDB cũng đư

nh壱n đ逢ợc nhiều quan tâm từ các nhóm nghiên cứu về khai thác d英 liệu trên

th院 gi噂i. Trong đó, khai thác FWI v噂i hai đ瓜 đo tw và ws trên CSDL tr丑ng s嘘

là m瓜t tr逢運ng hợp riêng của QDB đ逢ợc quan tâm từ rất s噂m v噂i việc áp dụng

các thu壱t toán Apriori, FPậGrowth hay Eclat. Cùng v噂i đó lƠ khai thác FWUI

trên QDB v噂i đ瓜 đo twu của các giao d鵜ch và wus của các t壱p mục đ逢ợc bi院t

đ院n lần đầu tiên v噂i nghiên cứu của Khan và đ欝ng s詠. Ph逢挨ng pháp khai thác

FWI và FWUI từ QDB t嘘t nhất đ院n hiện nay lƠ ph逢挨ng pháp ti院p c壱n quét

CSDL m瓜t lần sử dụng cấu trúc MWITậtree [44]. Tuy nhiên, nh逢 đư phơn tích 荏 trên, các cấu trúc d英 liệu hiện t衣i sử dụng trong các thu壱t toán còn

nhiều h衣n ch院. Do đó, cần phát tri吋n các cấu trúc m噂i đ吋 c違i thiện về b瓜 nh噂

và th運i gian khai thác của các thu壱t toán hiện t衣i.

CSDL có s詠 phân cấp các mục là CSDL có mặt nhiều trong các ứng

dụng th詠c t院. Do đó, th運i gian gần đơy khai thác FI trên lo衣i CSDL nƠy đư

nh壱n đ逢ợc nhiều quan tâm nghiên cứu. Từ việc khai thác cùng m瓜t ng逢ỡng hỗ

trợ, ti院p đ院n là khai thác trên nhiều ng逢ỡng hỗ trợ, mỗi mục có m瓜t ng逢ỡng

Page 47: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

33

hỗ trợ riêng vƠ qua đó xơy d詠ng các công thức xác đ鵜nh đ瓜 hỗ trợ t嘘i thi吋u

cho các t壱p mục. Tuy nhiên, các nghiên cứu hiện t衣i còn có nhiều h衣n ch院,

th運i gian và b瓜 nh噂 sử dụng còn l噂n, nhiều t欝n t衣i cần đ逢ợc nghiên cứu khắc

phục đ吋 có th吋 khai thác hiệu qu違 h挨n trên lo衣i CSDL này. M瓜t trong s嘘 đó lƠ

việc thêm các mục nút cha trên các cây phân cấp vào các giao d鵜ch có chứa

các mục con của nó trong CSDL là m瓜t h衣n ch院 l噂n, có th吋 s胤 gây ra s詠 bùng

nổ về dung l逢ợng CSDL, nhất là trên các CSDL có nhiều cây phân cấp hay

các cây phân cấp có đ瓜 cao l噂n. Đơy lƠ các đi吋m h衣n ch院 cần đ逢ợc c違i ti院n đ吋

gi違m th運i gian khai thác và dung l逢ợng b瓜 nh噂 sử dụng.

CSDL s嘘 l逢ợng có s詠 phân cấp các mục là lo衣i CSDL có s詠 khác biệt

nhiều so v噂i các CSDL hiện có, đơy lƠ s詠 k院t hợp gi英a CSDL s嘘 l逢ợng và

CSDL có s詠 phân cấp các mục. Do đó việc khai thác cần có các ph逢挨ng pháp

riêng biệt, đặc thù. Tuy nhiên, hiện nay nghiên cứu khai thác t壱p mục trên

CSDL s嘘 l逢ợng có s詠 phân cấp các mục ch逢a đ逢ợc quan tâm. Do v壱y, bài

toán khai thác t壱p mục trên CSDL s嘘 l逢ợng có s詠 phân cấp các mục cần đ逢ợc

đặt ra nghiên cứu. Đề xuất thu壱t toán khai thác hiệu qu違 trên CSDL s嘘 l逢ợng

có s詠 phân cấp các mục có th吋 đ逢ợc áp dụng vào khai thác hiệu qu違 trên

CSDL s嘘 l逢ợng và CSDL có s詠 phân cấp, khắc phục nh英ng h衣n ch院 hiện t衣i

của các thu壱t toán khai thác t壱p mục phổ bi院n trên hai lo衣i CSDL nƠy nh逢 đư

phân tích 荏 trên là các mục tiêu của lu壱n án.

Page 48: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

34

CH姶愛NG 2. KHAI THÁCT一P M影C PH蔚 BI蔭N TRÊN C愛 SỞ

D頴 LI烏U S渦 L姶営NG

Ti院p c壱n bitậvector trong bi吋u di宇n tidset của các t壱p mục là m瓜t h逢噂ng

phát tri吋n hiệu qu違, do t壱n dụng đ逢ợc t嘘c đ瓜 tính toán của các phép toán trên

bit, đ欝ng th運i ti院t kiệm đ逢ợc b瓜 nh噂 l逢u tr英 tidset do mỗi giao d鵜ch ch雨 cần

đánh dấu b荏i m瓜t bit. Các nghiên cứu đư có nh逢 sử dụng ph逢挨ng pháp bit

[33], BitTable [13] hay DBV [43] còn có nhiều h衣n ch院 nh逢 đư phơn tích 荏

ch逢挨ng m瓜t. Trong ch逢挨ng nƠy, lu壱n án trình bày m瓜t s嘘 c違i ti院n theo h逢噂ng

ti院p c壱n này v噂i việc đề xuất hai cấu trúc d英 liệu IWS và MBiS sử dụng trong

thu壱t toán khai thác t壱p phổ bi院n. Đ欝ng th運i, ch逢挨ng 2 cũng trình bƠy về m瓜t

đề xuất hiệu qu違 cho bài toán khai thác hiệu qu違 FWUIk trên CSDL s嘘 l逢ợng

v噂i hai cấu trúc DTab và DHeap.

2.1. Thu壱t toán khai thác t壱p FWI

Phần này lu壱n án trình bày về cấu trúc Interval word segment - IWS là

m瓜t c違i ti院n của BDV, đư đ逢ợc công b嘘 t衣i h瓜i th違o qu嘘c t院 SMC 2015 [34] ,

sau đó đ逢ợc phát tri吋n m荏 r瓜ng, thử nghiệm trên nhiều b瓜 d英 liệu h挨n vƠ công

b嘘 t衣i [36].

2.1.1. Giới thiệu

Định nghĩa 2.1. Interval word segment (IWS) của m瓜t t壱p mục X thu瓜c

CSDL DB là m瓜t cấu trúc g欝m nhiều đo衣n, trong đó mỗi đo衣n là các word

(hai byte) liên ti院p khác 0 trên bitậvector bi吋u di宇n tidset của t壱p mục X.

Mỗi đo衣n g欝m hai thành phần:

Start: V鵜 trí word đầu tiên của đo衣n trên bitậvector.

Word list: Danh sách giá tr鵜 các word liên ti院p khác 0.

Ví dụ 2.1: Cho t壱p mục X của CSDL DB bi吋u di宇n b荏i m瓜t bitậvector

đ逢ợc cho d逢噂i d衣ng các byte nh逢 b違ng 2.1

Page 49: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

35

B違ng 2.1. Bitậvector

Ch雨 s嘘 byte 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Giá tr鵜 0 0 0 0 6 9 0 0 0 1 5 1 4 6 0 0 0 0 0 0 0 0 0 1 5 4 6 0 0 0 0 0

Bitậvector trong B違ng 2.1 (còn đ逢ợc g丑i là BitTable) g欝m 21 byte có

giá tr鵜 bằng 0, bitậvector trên đ逢ợc bi吋u di宇n qua cấu trúc DBV [43] trong

B違ng 2.2 nh逢 sau:

B違ng 2.2. DBV của bitậvector trong ví dụ 2.1

Ch雨 s嘘 byte 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Giá tr鵜 6 9 0 0 0 1 5 1 4 6 0 0 0 0 0 0 0 0 0 1 5 4 6

DBV 5(6, 9, 0, 0, 0, 1, 5, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 4, 6)

DBV lo衣i bỏ các byte có giá tr鵜 bằng 0 荏 đầu và cu嘘i của bitậvector, do

đó trong nhiều tr逢運ng hợp DBV ti院t kiệm b瓜 nh噂 khá t嘘t, nh運 v壱y tăng t嘘c đ瓜

tính toán trong khai thác FI. Tuy nhiên trong cấu trúc DBV v磯n còn t欝n t衣i

các byte bằng 0, nhất lƠ trên các CSDL th逢a thì s嘘 byte bằng 0 càng nhiều. Do

đó cấu trúc DBV v磯n ch逢a t嘘i 逢u đ逢ợc b瓜 nh噂.

Cấu trúc MByS [16] sử dụng trong khai thác nhanh FWUI trên QDB v噂i

mỗi phần tử có đ瓜 l噂n m瓜t byte. MByS là cấu trúc lo衣i bỏ các byte có giá tr鵜

bằng 0 trên DBV, do đó MByS bao g欝m nhiều đo衣n, mỗi đo衣n là m瓜t dãy

byte có giá tr鵜 khác 0 liên ti院p.

Cấu trúc IWS đ逢ợc đề xuất trong [34] là m瓜t m荏 r瓜ng của MByS, v噂i

mỗi phần tử là m瓜t word (hai byte). IWS lo衣i bỏ hoàn toàn các word có giá tr鵜

bằng 0 khỏi DBV, bằng cách này đư gi違i quy院t đ逢ợc h衣n ch院 về lãng phí b瓜

nh噂 của DBV.

B違ng 2.3. IWS từ bitậvector trong ví dụ 2.1

Ch雨 s嘘 word 3 5 6 7 12 13 14

Giá tr鵜 các byte 6 9 0 1 5 1 4 6 0 1 5 4 6 0

Giá tr鵜 các word 1545 1 1281 1030 1 1284 1536

IWS {3(1545), 5(1, 1281, 1030), 12(1, 1284, 1536)}

Page 50: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

36

IWS đ逢ợc bi吋u di宇n nh逢 trong B違ng 2.3 có ba đo衣n, đo衣n thứ nhất từ

word có ch雨 s嘘 là 3, giá tr鵜 lƠ 1545. Đo衣n thứ hai bắt đầu từ word ch雨 s嘘 là 5

v噂i ba phần tử là 1, 1281 và 1030, v.v… Nh逢 v壱y, cấu trúc IWS đư lo衣i bỏ

hoàn toàn các word bằng 0, ch雨 l逢u gi英 các đo衣n word liên ti院p có giá tr鵜 khác

0.

Mệnh đề 2.1. Đo衣n Sx = 嫌掴(欠鎚猫 ,欠鎚猫+怠 , … , 欠�猫 ) đ逢ợc g丑i lƠ đo衣n con

của đo衣n Sy = 嫌槻 岾欠鎚熱 , 欠鎚熱+怠 , … , 欠�熱 峇 n院u thỏa mãn ba điều kiện sau:

1. 嫌掴 = 嫌槻 + 建岫 建 半 ど岻 2. �掴 判 �槻

3. 欠鎚猫 = 欠鎚熱+痛 , 欠鎚猫+怠 = 欠鎚熱+痛+怠 , … , 欠�猫 = 欠鎚熱+痛+�猫

Chứng minh: Từ 欠鎚猫= 欠鎚熱 + 痛,欠鎚猫 + 怠 = 欠鎚熱 + 痛 + 怠, …, 欠�猫 = 欠鎚熱 +痛+�猫 , Sx

thay bằng Sx = 嫌槻+痛 岾欠鎚熱 +痛 , 欠鎚熱 +痛+怠 … , 欠鎚熱+痛+�猫 峇 Sy. Do đó, Sx đ逢ợc g丑i là

đo衣n con của Sy.

Ví dụ 2.2: Sx = 6(1281, 1030) v噂i sx = 6 là m瓜t đo衣n con của Sy = 5(1,

1281, 1030) v噂i sy =5. B荏i vì, v噂i t = 1 ta có:

1. 嫌掴 = 嫌槻 + 建 岫建 = な岻

2. �掴 = ば, �槻 = ば ⟹ �掴 判 �槻

3. 欠滞 = 決滞 = 1281, 欠胎= 決胎 = 1030

Mệnh đề 2.2. 嫌掴岫捲怠 , 捲態 … , 捲賃 岻 ∈ IWS(X) n院u và ch雨 n院u

嫌掴岫捲怠 ,捲態 … , 捲賃 岻 lƠ đo衣n con của m瓜t đo衣n thu瓜c IWS(X).

Ví dụ 2.3: Cho IWS(X) = {3(1545), 5(1, 1281, 1030), 12(1, 1284,

1536)}. Đo衣n 6(1281, 1030) ∈ IWS(X) b荏i vì 6(1281, 1030) lƠ đo衣n con

của đo衣n 5(1, 1281, 1030) thu瓜c IWS(X) theo ví dụ 2.2.

Định nghĩa 2.2. Giao gi英a hai đo衣n Sx = 嫌掴岫捲怠 , 捲態 … , 捲賃 岻 và Sy =

嫌槻岫検怠 , 検態 … , 検鎮岻 lƠ đo衣n Sz, kí hiệu là Sz = Sx 堪 Sy,

V噂i:

sz = max(sx, sy)

Page 51: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

37

m = min(k+sx, l+sy)

Sz = 嫌佃(権鎚年 , 権鎚年+迭 … , 権陳), v噂i: 権鎚年= 捲鎚年& 検鎚年;権鎚猫+迭= 捲鎚年+怠 & 検鎚年+怠; …;権陳= 捲陳 & 検陳.

Trong đó “&” lƠ phép AND trên bit.

Ví dụ 2.4: Cho hai đo衣n �掴=5(1, 1281, 1030), k = 2 và �槻= 6(3220,

8726, 3104), l = 2. Ta có: 嫌佃= max(5, 6) = 6;

m = min((5+2), (6+2)) = 7; ⟹ �佃 = は岫権滞 , 権胎岻 v噂i: 権滞 =@捲滞&検滞 = 1281 & 3220 = 1024 権胎 = 捲胎 & 検胎 = 1030 & 8725 = 6

Do đó, giao của �掴 và �槻 là �佃=6(1024, 6). Định nghĩa 2.3. Giao của IWS(X) và IWS(Y) đ逢ợc đ鵜nh nghƿa là

IWS(X姦Y) = IWS(X) 堪 IWS(Y). IWS(X姦Y) chứa các đo衣n, mỗi đo衣n là

giao của các đo衣n trên IWS(X) và IWS(Y) theo Đ鵜nh nghƿa 2.2.

Ví dụ 2.5:

IWS(X) = {3(1545), 5(1, 1281, 1030), 12(1, 1284, 1536)}

IWS(Y) = {6(3220, 8726, 3104), 10(1242, 8721, 6527,6)} ⟹ IWS(X姦Y) = {6(1024, 6), 12(1, 4)} 1281

Định lý 2.1. Cho đo衣n Si = si(欠鎚日 , 欠鎚日+怠 , …, 欠�日 ) ∈ IWS(X), l là ch雨 s嘘 bit

1 của 欠鎚乳 (từ trái sang ph違i) v噂i si 判 sj判 ei. l đ逢ợc ánh x衣 lên bitậvector

theo công thức 2.1:

k = (sj – 1) × 16 + l (2.1)

Trong đó, k ch雨 s嘘 bit 1 trên bitậvector của bit có ch雨 s嘘 l của a sj.

Chứng minh: sj là ch雨 s嘘 của 欠鎚乳 trên wordậvector. Nh逢 v壱y có (sj ậ 1)

word tr逢噂c 欠鎚乳. Điều nƠy có nghƿa lƠ có [(sj ậ 1) × 16] bit tr逢噂c 欠鎚乳trên bitậ

vector (mỗi word có 16 bit). Do đó, bit có v鵜 trí l trong word thứ sj đ逢ợc ánh

x衣 lên bitậvector v噂i v鵜 trí k theo công thức:

Page 52: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

38

k = (sj – 1) × 16 + l.

Ví dụ 2.6: Cho IWS(X) = {3(1545)}, ch雨 s嘘 các bit 1 của X đ逢ợc xác

đ鵜nh nh逢 trong B違ng 2.4:

B違ng 2.4. Ch雨 s嘘 các bit 1 của IWS(X)

Ch雨 s嘘 bit 1 trên word 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Giá tr鵜 các bit 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1

Giá tr鵜 word 1545

Ch雨 s嘘 bit 1 trong word {6,7,13,16}

Ta thấy IWS(X) ch雨 có m瓜t đo衣n v噂i m瓜t phần tử, do v壱y start của

IWS(X) = 3, nên có (3 ậ 1) ×16 = 32 bit tr逢噂c IWS(X). D詠a trên công thức 2.1

và B違ng 2.4 ta có ch雨 s嘘 các bit 1 của IWS(X) trên bitậvector lần l逢ợt là:

32 + 6 = 38;

32 + 7 = 39;

32 + 13 = 45;

32 + 16 = 48;

Do đó, tidset(X) = {38, 39, 45, 48}

Định nghĩa 2.4. Cho t壱p mục X của CSDL DB, các ch雨 s嘘 bit 1 trong

IWS(X) là các giao d鵜ch trong CSDL DB, công thức 1.2 đ逢ợc đ鵜nh nghƿa l衣i

nh逢 công thức 2.2:

ws(X) = ∑ 建拳岫痛日岻� ∈�激�岫隙岻�憲兼_建拳 (2.2)

Trong đó: Sum_tw = ∑ 建拳岫建賃岻陳賃 = 怠 v噂i m là s嘘 l逢ợng các giao d鵜ch trong

CSDL DB.

2.1.2. Thuật toán tính giao của hai IWS

Khai thác FWI v噂i đ鵜nh d衣ng d英 liệu d丑c theo ti院p c壱n Eclat [5] đòi hỏi

ph違i tính giao các tidset đ吋 xác đ鵜nh t壱p mục m噂i đ逢ợc t衣o thành từ hai t壱p

mục cũ. Điều nƠy đ欝ng nghƿa v噂i việc tính giao của hai IWS của hai t壱p mục

t逢挨ng ứng theo Đ鵜nh nghƿa 2.3.

Page 53: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

39

Thu壱t toán xác đ鵜nh giao của hai IWS đ逢ợc trình bƠy nh逢 Hình 2.1

Thuật toán 2.1: INTERSECTION_IWS

Input:

- IWS(X) gồmn1 đoạn, đoạn thứ I có start là IWS(X) [i].start

- IWS(Y) gồmm1đoạn, đoạn thứjcóstart là IWS(Y) [j].start

Output: Z = IWS(X) 堪 IWS(Y)

Method name: INTERSECTION_IWS()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

INTERSECTION_IWS (IWS(X), IWS(Y))

i = 1; j = 1; Z = ;

while (i 判 n1 and j 判 m1)

4oạn i1 của IWS(X岻 và đoạn j1 của IWS(Y岻 là các đoạn giao đầu tiên

của IWS(X) và IWS(Y) tính từ đoạn i (IWS(X岻岻 và đoạn j (IWS(Y))

S = ;

Start = max(IWS(X) [i1].start, IWS(Y) [j1].start);

End = min(IWS(X) [i1].end, IWS(Y) [j1].end);

for all k ∈ [Start, End] do

S = S 姦 {IWS(X) [k] 堪 IWS(Y) [k]};

Loại bỏ các Word = 0 trong S và thêm S vào Z

if (End = IWS(X) [i1].end) then

i = i1 + 1;

j = j1;

if (End = IWS(Y) [i1].end) then

j = j1+ 1;

i = i1;

Return Z

Hình 2.1. Thuật toán xác định giao hai IWS

Đầu vào của thu壱t toán là IWS(X) và IWS(Y). Trong đó, IWS(X) có n1

đo衣n. IWS(Y) có m1 đo衣n. Đầu ra là Z là m瓜t IWS. Dòng 4, xác đ鵜nh đo衣n giao

ti院p theo của IWS(X) và IWS(Y). Dòng 5 và 6, tính đầu và cu嘘i đo衣n giao k院t

qu違. Dòng 7 đ院n 9, tính S lƠ đo衣n giao k院t qu違. Dòng 10, lo衣i các word có giá

Page 54: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

40

tr鵜 bằng 0 khỏi S (có th吋 t衣o ra nhiều đo衣n m噂i). Dòng 10 đ院n dòng 15, xác

đ鵜nh đo衣n giao ti院p theo trên IWS(X) và IWS(Y).

D宇 nh壱n thấy đ瓜 phức t衣p thu壱t toán là O(n1+ m1), v噂i n1 và m1 lần l逢ợt là

s嘘 l逢ợng các đo衣n của IWS(X) và IWS(Y).

2.1.3. Thuật toán khai thác FWI

a. Cấu trúc IWSậtree

Từ cấu trúc IWS lu壱n án đề xuất cấu trúc IWSậtree đ吋 khai thác FWI

theo d英 liệu d丑c. Mỗi nút của IWSậtree g欝m ba thành phần:

ậ X là m瓜t t壱p mục,

– IWS(X) là IWS của X,

– ws(X) là giá tr鵜 ws của X.

Các nút của IWSậtree 荏 mức thứ nhất là các 1–itemset, từ mức thứ hai,

các nút 荏 mức d逢噂i đ逢ợc t衣o thành từ s詠 k院t hợp của hai nút 荏 mức trên v噂i

các điều kiện sau:

- Hai nút cùng s嘘 l逢ợng phần tử và ch雨 khác nhau phần tử cu嘘i cùng.

- wus của t壱p mục t衣o thành thỏa mưn ng逢ỡng minwus do ng逢運i sử

dụng đ逢a vƠo. b. Thuật toán tính nhanh wus dựa trên IWS

Khai thác FWI trên CSDL tr丑ng s嘘 là ph違i xác đ鵜nh ws của các t壱p mục

theo công thức 2.2. Do đó cần xác đ鵜nh v鵜 trí các bit 1 của IWS của các t壱p

mục, điều nƠy đ欝ng nghƿa v噂i việc xác đ鵜nh tidset của các t壱p mục. Đ吋 gi違i

quy院t hiệu qu違 vấn đề này, lu壱n án đề xuất sử dụng m瓜t m違ng MAP g欝m

65.535 phần tử nh逢 trong B違ng 2.5. Phần tử thứ i của m違ng MAP chứa m瓜t

danh sách các bit 1 trong bi吋u di宇n nh鵜 phân của i. D詠a trên m違ng MAP ta có

th吋 tính đ逢ợc v鵜 trí các bit 1 của IWS trên bitậvector.

B違ng 2.5. M違ng MAP

Ch雨 s嘘 m違ng 1 2 … 65.534 65.535

Giá tr鵜 nh鵜 phân 0000000000000001 0000000000000010 … 1111111111111110 1111111111111111

MAP 16 15 … 1, 2, …, 14, 15 1, 2, …, 15, 16

Page 55: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

41

Thu壱t toán tính ws của t壱p mục X đ逢ợc trình bƠy trong Hình 2.2. B逢噂c thứ

nhất tidset của các t壱p mục đ逢ợc xây d詠ng theo Đ鵜nh lý 2.1 d詠a trên công

thức 2.1 và m違ng MAP. B逢噂c thứ 2 tính ws theo công thức 2.2.

Thuật toán 2.2: CALCULATION_WS

Input: IWS(X)

- Output: ws của tập mục X

- Method name: CALCULATION_WS()

1

2

3

4

5

6

7

8

9

CALCULATION_WS(IWS(X))

tidset(X) = ;

for all i IWS(X) do

for all j MAP [i] do

tidset(X) (si – 1) × 16 + j; y = 0;

for all i ∈ tidset(X) do

y = y + tw(建沈);

ws = y/sum_tw;

return ws

Hình 2.2. Thuật toán tính ws của tập mục X

Đầu vào của thu壱t toán là IWS của t壱p mục X, đầu ra là ws(X). Dòng 1

đ院n dòng 4, xây d詠ng tidset của X d詠a trên công thức 2.1 và m違ng MAP.

Dòng 5 đ院n dòng 8, tính ws(X) theo công thức 2.2. Cu嘘i cùng, dòng 9 tr違 vềgiá tr鵜 ws của X.

V噂i m違ng MAP việc tính toán ws là khá đ挨n gi違n và ti院t kiệm th運i gian

tính toán. Vì ch雨 cần O(1) đ吋 xác đ鵜nh v鵜 trí m瓜t bit 1 trên bitậvector.

Do đó, đ瓜 phức t衣p thu壱t toán là O(k) v噂i k là s嘘 các giao d鵜ch chứa t壱p

mục X.

Page 56: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

42

c. Thuật toán

Lu壱n án đề xuất thu壱t toán IWSậFWI [34, 36] khai thác FWI trên CSDL

tr丑ng s嘘 d詠a trên cấu trúc IWSậtree v噂i l逢ợng ti院p c壱n d英 liệu d丑c. IWSậtree

đ逢ợc t衣o ra nh逢 sau:

Tr逢噂c h院t, mức thứ nhất của cây bao g欝m các nút chứa các 1–itemset có

đ瓜 đo ws thỏa ng逢ỡng minws. Tất c違 các nút 荏 mức thứ nhất cùng thu瓜c m瓜t

l噂p t逢挨ng đ逢挨ng. Mỗi nút khi k院t n嘘i v噂i lần l逢ợt từng nút phía sau nó trong

cùng m瓜t l噂p t逢挨ng đ逢挨ng t衣o ra các nút cùng m瓜t l噂p t逢挨ng đ逢挨ng 荏 mức

d逢噂i. Hai nút chứa hai t壱p mục X1X2…XkY1 và X1X2…XkY2 thu瓜c cùng m瓜t

l噂p t逢挨ng đ逢挨ng k院t n嘘i v噂i nhau (các t壱p mục thu瓜c các nút trong cùng m瓜t

l噂p t逢挨ng đ逢挨ng có cùng đ瓜 dài và khác nhau phần tử cu嘘i cùng):

- T衣o ra nút m噂i X1X2…XkY1Y2

- ws(X1X2…XkY1Y2) 半 minws

Nh逢 v壱y các k–itemset đ逢ợc t衣o thành từ các (kậ1)–itemset 荏 cùng m瓜t

l噂p t逢挨ng đ逢挨ng 荏 mức trên v噂i điều kiện t壱p mục m噂i t衣o thành thỏa mãn

ng逢ỡng minws do ng逢運i sử dụng đ逢a vƠo. Do đó, các t壱p mục trên các nút

của IWSậtree chính là các FWI cần khai thác.

Thu壱t toán đệ quy t衣o IWSậtree đ逢ợc trình bƠy nh逢 Hình 2.3.

Thuật toán 2.3: CREATE_IWS–tree

Input: tậpP (tập 1–itemset) và minws;

Output: Tập P chứa tất cả FWI của CSDL DB với ngưỡng minws

Method name: CREATE_IWS_Tree()

1

2

3

4

5

CREATE_IWS_Tree(P)

IWS–tree =

for all li ∈ [P] do

[Pi] = ;

for all lj ∈ [P], (vớij >i) do

X = li 姦 lj;

Page 57: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

43

6

7

8

9

10

11

Y = INTERSECTION_IWS(IWS(li), IWS(lj));

ws_X= CALCULATION_WS(Y);//ws của tập mục X

if (ws_X 半 minws) then

[Pi] = [Pi] 姦 {(X, Y, ws_X};

IWS–tree = IWS–tree 姦Pi;

CREATE_IWS_Tree( [Pi])

Hình 2.3. Thuật toán xây dựng IWS–tree

Đầu vào của thu壱t toán là l噂p t逢挨ng đ逢挨ng P (chứa các t壱p mục có cùng

đ瓜 dài ch雨 khác nhau phần tử cu嘘i và thỏa mãn minws). Dòng 1 đ院n dòng 4,

v噂i mỗi t壱p mục li k院t n嘘i v噂i tất c違 các t壱p mục lj đứng phía sau li thu瓜c cùng

l噂p t逢挨ng đ逢挨ng P t衣o ra X là t壱p mục m噂i. Dòng 6 tính Y = IWS(X) theo

thu壱t toán INTERSECTION_IWS trong Hình 2.1. Dòng 7, tính ws(Y) là ws

của t壱p mục X. N院u ws(X) thỏa ng逢ỡng minws thêm {X, Y, ws_X} vào P i t衣i

dòng 9. Sau khi xây d詠ng xong l噂p t逢挨ng đ逢挨ng P i, P i đ逢ợc thêm vào IWSậ

tree t衣i dòng 10. Cu嘘i cùng g丑i đệ quy v噂i l噂p t逢挨ng đ逢挨ng m噂i P i sau khi k院t

n嘘i li v噂i tất c違 các lj sau nó 荏 dòng 11.

Thu壱t toán IWS_FWI khai thác FWIs trên CSDL tr丑ng s嘘 đ逢ợc trình bày

trong Hình 2.4

Thuật toán 2.4: IWS_FWIs

Input: QDB DB và minws;

Output: IWS–tree chứa các FWI của DB theo ngưỡng minws

Method name: IWS_FWIs()

1

2

3

4

5

IWS_FWIs(minws)

P = ;

for all iI do

if (CALCULATION_WS(i) 半 minws) then

P = P姦 {i};

CREATE_IWS_TREE(P);

Hình 2.4. Thuật toán khai thác FWI dựa trên IWS–tree

Page 58: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

44

Đầu vào thu壱t toán là CSDL tr丑ng s嘘 D và minws. Dòng 1, P đ逢ợc gán

bằng . Từ dòng 2 đ院n dòng 4, P bằng t壱p 1–itemset thỏa mãn minws. Dòng

5, g丑i hàm IWSậtree đ吋 t衣o cây IWSậtree theo thu壱t toán 3 荏 Hình 2.3.

Sau đơy lƠ m瓜t ví dụ khai thác FWI trên CSDL tr丑ng s嘘 theo thu壱t toán

IWS_FWI.

Ví dụ 2.7: Khai thác FWI trên CSDL DB trong ví dụ 2.1 v噂i minws =

0,4. IWS và ws của các mục đ逢ợc xác đ鵜nh nh逢 trong B違ng 2.6.

B違ng 2.6. IWS của các mục

mục Tidset BitTable IWS ws

A 1, 3, 4, 5 000111012 {1(29)} 0,72

B 1, 2, 3, 4, 5, 6 001111112 {1(63)} 1,00

C 2, 4, 5, 6 001110102 {1(58)} 0,60

D 1, 3, 5, 6 001101012 {1(53)} 0,78

E 1, 2, 3, 4, 5 000111112 {1(31} 0,81

Trong ví dụ này, mỗi IWS ch雨 có m瓜t đo衣n v噂i m瓜t phần tử duy nhất.

Các giá tr鵜 ws của mục thỏa mãn minws. Do v壱y, P = {A, B, C, D, E} và A, B,

C, D, E đ逢ợc thêm vào IWSậtree. Thu壱t toán đệ quy IWS_tree() đ逢ợc th詠c

hiện nh逢 sau:

Với nút A:

Hình 2.5. IWSậtree v噂i nút A (minws = 0,4)

[] 畦{怠岫態苔岻}待,胎態畦畦稽{怠岫態苔岻}待,胎態 畦経{怠岫態怠岻}待,泰苔 畦継{怠岫態苔岻}待,胎態

畦稽経{怠岫態怠岻}待,泰苔 畦稽継{怠岫態苔岻}待,胎態 畦経継{怠岫態怠岻}待,泰苔

畦稽経継{怠岫態怠岻}待,泰苔

畦稽系{怠岫態怠岻 }待,泰苔

稽{怠岫滞戴岻}怠.待待 系{怠岫泰腿岻}待,滞待 経{怠岫泰戴岻}待,胎腿 継{怠岫戴怠岻}待,腿怠

Page 59: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

45

K院t n嘘i hai nút A và B. Ta có, IWS(A) 堪 IWS(B) = {1(29)} 堪 {1(63)}, do đó IWS(AB) = {1(29)}. D詠a trên thu壱t toán 2.2, ta có ws(AB)

= ws(A) = 0,72 > minws, nên AB đ逢ợc thêm vào IWSậtree.

Ti院p theo, k院t n嘘i A và C. IWS(A) 堪 IWS(C) = {1(29)} 堪 {1(58)}, nên

IWS(AC) = {1(24)}. Do ws(AC) = 0,32 < minws, nên AC không đ逢ợc thêm

vào IWSậtree.

T逢挨ng t詠 nh逢 trên, các t壱p mục {AD, AE, ABC, ABD, ABE, ABDE}

đ逢ợc thêm vào IWSậtree nh逢 trong Hình 2.5.

Với nút B:

Hình 2.6. IWSậtree v噂i nút A và B (minws = 0,4)

K院t n嘘i hai nút B và C. Ta có, IWS(B) 堪 IWS(C) = {1(63)} 堪 {1(58)}, nên IWS(BC) = {1(29)}. Do ws(BC) = 0,72 > minws, nên BC

đ逢ợc chèn vào IWSậtree.

Ti院p theo, k院t n嘘i B và D. Ta có, IWS(B) 堪 IWS(D) = {1(63)} 堪 {1(53)}, nên IWS(BD) = {1(53)}. Do, ws(BD) = 0,78 > minws, nên BD

đ逢ợc thêm vào IWSậtree.

T逢挨ng t詠, các t壱p mục {BE, BDE} đ逢ợc thêm vào IWSậtree nh逢 trong

Hình 2.6.

Sau khi xét t逢挨ng t詠 v噂i các nút C, D và E còn l衣i, IWSậtree đầy đủ

đ逢ợc th吋 hiện nh逢 trong Hình 2.7.

[]

畦{怠岫態苔岻}待,胎態 稽{怠岫滞戴岻 }怠.待待

畦畦稽{怠岫態苔岻}待,胎態 畦経{怠岫態怠岻 }待,泰苔 畦継{怠岫態苔岻}待,胎態 稽系{怠 岫態苔岻}待,胎態 稽経{怠,岫泰戴岻 }待,胎腿 稽継{怠 岫戴怠岻}待,腿苔

畦稽経{怠岫態怠岻}待,泰苔 畦稽継{怠岫態苔岻}待,胎態 畦経継{怠岫態怠岻}待,泰苔

畦稽経継{怠岫態怠岻}待,泰苔

畦稽系{怠岫態怠岻 }待,泰苔 稽経継{怠 岫態怠岻}待,泰苔

Page 60: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

46

Nh逢 v壱y, v噂i minws = 0,4 ta có t壱p các FWI theo: {A, B, C, D, E, AB,

AD, AE, BC, BD, BE, DE, ABD, ABE, ADE, BDE, ABDE}.

Hình 2.7. IWSậtree v噂i minws = 0,4

2.1.4. Kết quả thực nghiệm

2.1.4.1. Môi trường thực nghiệm

Hệ th嘘ng thử nghiệm đ逢ợc cƠi đặt bằng C# 2014 trên Microsoft

Windows 8.1 Pro 64 bit, Net Framework 4.5,v噂i CPU Intel® Haswell Core™

i5 ậ 1.4 GHz, Ram 4Gb. Hệ th嘘ng phần mềm đ逢ợc sử dụng: Visual Studio

2013 Ultimate.

2.1.4.2. CSDL thực nghiệm

CSDL th詠c nghiệm g欝m BMSậPOS, RETAIL, ACCIDENTS,

CONNECT, CHESS đ逢ợc lấy từ http: //fimi.cs.helsinki.fi/data/ và SALEậ

FACTậ1997, SALEậFACTậ1997+1998, SALEậSYNC đ逢ợc lấy từ CSDL

FOODMART2000 của Microsoft SQL server, trong đó SALEậFACTậ

1997+1998 đ逢ợc tổng hợp từ b違n SALEậFACTậ1997 và SALEậFACTậ

1998, còn SALEậFACTậSYNC đ逢ợc k院t hợp từ SALEậFACTậ1997, SALEậ

FACTậ1998 và SALEậFACTậDEC_1998.

畦{怠岫態苔岻}待,胎態 稽{怠岫滞戴岻}怠.待待 系{怠岫泰腿岻 }待,滞待 経{怠岫泰戴岻 }待,胎腿 継{怠岫戴怠岻 }待,腿怠

畦畦稽{怠岫態苔岻}待,胎態 畦経{怠岫態怠岻 }待,泰苔 畦継{怠岫態苔岻 }待,胎態 稽系{怠 岫態苔岻}待,胎態 稽経{怠,岫泰戴岻}待,胎腿 稽継{怠 岫戴怠岻 }待,腿苔 経�{怠,戴,泰,滞}待 ,滞 経継{な岫にな岻 }ど,のひ

畦稽経{怠岫態怠岻}待,泰苔 畦稽継{怠岫態苔岻 }待,胎態 畦経継{怠岫態怠岻}待,泰苔

畦稽経継{怠岫態怠岻}待,泰苔

系継{怠 岫戴怠岻}待,腿苔

畦稽系{怠岫態怠岻}待,泰苔 稽経継{怠 岫態怠岻}待,泰苔

Page 61: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

47

Các CSDL thử nghiệm đ逢ợc mô t違 cụ th吋 trong B違ng 2.7 nh逢 sau:

Các CSDL 1, 2, 6, 7 nguyên g嘘c đ逢ợc thêm vào m瓜t b違ng m噂i v噂i các

giá tr鵜 ng磯u nhiên trong kho違ng [1, 10] làm giá tr鵜 tr丑ng s嘘 của các mục.

2.1.4.1. Kết quả thực nghiệm

Phần này trình bày bi吋u đ欝 th運i gian th詠c thi và b瓜 nh噂 sử dụng của ba

ph逢挨ng pháp DBV, DIFFSET và IWS trên các CSDL th詠c nghiệm.

a. So sánh thời gian thực thi

Hình 2.8. So sánh th運i gian ch衣y v噂i CSDL RETAIL.

Hình 2.9. So sánh th運i gian ch衣y v噂i CSDL BMSậPOS.

135,576

64,141

27,69

0

50

100

150

0,6 0,5 0,4 0,3 0,2 0,1

tim

e(s

)

minws(%)

DBV

DIFFSET

IWS

232,209

61,511

125,091

0

50

100

150

200

250

0,6 0,5 0,4 0,3 0,2 0,1

tim

e(s

)

minws(%)

DBV

IWS

DIFFSET

B違ng 2.7. Mô t違 CSDL th詠c nghiệm

Stt CSDL S嘘 l逢ợng mục S嘘 l逢ợng giao d鵜ch Ghi chú

1. RETAIL 16.470 88.162 Thêm tr丑ng s嘘

2. BMSậPOS 1.657 515.597 Thêm tr丑ng s嘘

3. SALEậFACTậ1997 1.753 20.522

4. SALEậFACTậ1997+1998 1.753 54.537

5. SALEậFACTậSYNC 1.753 58.308

6. CONNECT 468 340.183 Thêm tr丑ng s嘘

7. ACCIDENTS 130 67.557 Thêm tr丑ng s嘘

Page 62: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

48

Hình 2.10. So sánh th運i gian ch衣y v噂i CSDL SALEậFACTậ1997.

Hình 2.11. So sánh th運i gian ch衣y v噂i CSDL SALEậFACTậ1997+1998.

Hình 2.12. So sánh th運i gian ch衣y v噂i CSDLSALEậFACTậSYNC.

Hình 2.13. So sánh th運i gian ch衣y v噂i CSDLCONNECT.

309,301

68,836

98,594

0

100

200

300

400

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minws(%)

DBV

IWS

DIFFSET

2501,68

250,34

563,70

0

500

1000

1500

2000

2500

3000

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minws(%)

DBV

IWS

DIFFSET

2748,776

640,854

322,957 0

1000

2000

3000

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minws(%)

DBV

DIFFSET

IWS

41,935 48,812

6,094 0

20

40

60

0,96 0,95 0,94 0,93 0,92 0,9

tim

e(s

)

minws

DBV

IWS

DIFFSET

Page 63: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

49

Hình 2.14. So sánh th運i gian ch衣y v噂i CSDL ACCIDENTS.

b. So sánh bộ nhớ sử dụng

Hình 2.15. So sánh b瓜 nh噂 sử dụng v噂i CSDL RETAIL.

Hình 2.16. So sánh b瓜 nh噂 sử dụng v噂i CSDL BMSậPOS.

Hình 2.17. So sánh b瓜 nh噂 sử dụng v噂i CSDLSALEậFACTậ1997.

212,667

112,667

30,742 0

50

100

150

200

250

0,9 0,8 0,7 0,6 0,5

tim

e(s

)

minws

DBV

IWS

DIFFSET

160,687

24,002 48,479

0

50

100

150

200

0,6 0,5 0,4 0,3 0,2 0,1

me

mo

ry(M

b)

minws(%)

DBV

IWS

DIFFSET

213,67

103,038

431,725

0

200

400

600

0,6 0,5 0,4 0,3 0,2 0,1

me

mo

ry(M

b)

minws(%)

DBV

IWS

DIFFSET

622,14

509,81 542,7

0

200

400

600

800

0,03 0,02 0,1 0,06 0,03 0,01

me

mo

ry(M

b)

minws(%)

DBV

IWS

DIFFSET

Page 64: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

50

Hình 2.18. So sánh b瓜 nh噂 sử dụng v噂i CSDLSALEậFACTậ1997+1998.

Hình 2.19. So sánh b瓜 nh噂 sử dụng v噂i CSDLSALEậFACTậSYNC.

Hình 2.20. So sánh b瓜 nh噂 sử dụng v噂i CSDLCONNECT.

Hình 2.21. So sánh b瓜 nh噂 sử dụng v噂i CSDL ACCIDENT.

1477,976

1284,567

1344,846

0

500

1000

1500

2000

0,3 0,2 0,1 0,06 0,03 0,01

me

mo

ry(M

b)

minws(%)

DBV

IWS

DIFFSET

1543,975

1400,239 1482,239

0

500

1000

1500

2000

0,6 0,5 0,4 0,3 0,2 0,1

me

mo

ry(M

b)

minws(%)

DBV

IWS

DIFFSET

41,935

48,81

6,094

0

20

40

60

0,96 0,95 0,94 0,93 0,92 0,9

me

mo

ry(M

b)

minws(%)

DBV

IWS

DIFFSET

78,172

112,667

30,742

0

50

100

150

0,9 0,8 0,7 0,6 0,5

me

mo

ry(M

b)

minws(%)

DBV

IWS

DIFFSET

Page 65: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

51

Các k院t qu違 thử nghiệm cho thấy hiệu qu違 của IWS trên các CSDL th逢a

(RETAIL, MBSậPOS) và các CSDL trung bình (các CSDL SALE_FACT),

còn trên các CSDL dày (CONNECT, ACCIDENT) thì DIFFSET có hiệu qu違

rõ rệt, do v噂i các CSDL dày thì tidset của các t壱p mục l噂n, nên diffset s胤 nhỏ

(do diffset lấy phần bù).

Đ嘘i v噂i các CSDL th逢a vƠ trung bình, s嘘 l逢ợng các mục xuất hiện trên

các giao d鵜ch không quá nhiều, do đó IWS của các t壱p mục s胤 lo衣i bỏ đ逢ợc

nhiều word có giá tr鵜 = 0 trong bi吋u di宇n tidset của nó, nên IWS s胤 không quá

l噂n, đ欝ng nghƿa v噂i s嘘 l逢ợng đo衣n của IWS là nhỏ. Do v壱y, việc xác đ鵜nh

giao IWS của các t壱p mục là rất nhanh (do đ瓜 phức t衣p thu壱t toán xác đ鵜nh

giao phụ thu瓜c vào s嘘 l逢ợng các đo衣n của các IWS), d磯n đ院n th運i gian khai

thác khi sử dụng IWS là nhỏ so v噂i DBV hay DIFFSET.

2.2. Thu壱t toán khai thác FWUI

Phần này trình bày về cấu trúc d英 liệu Multi bit segment và áp dụng vào

bƠi toán khai thác FWUI. Đơy lƠ m瓜t c違i ti院n khác của DBV [43] N瓜i dung

nƠy đư đ逢ợc công b嘘 t衣i công trình [35].

2.2.1. Cấu trúc Multi bit segment

Định nghĩa 2.5. Multi bit segment (MBiS) là m瓜t cấu trúc l逢u l衣i các

đo衣n bit 1 liên ti院p từ bitậvector bi吋u di宇n tidset của t壱p mục. Mỗi đo衣n MBiS

g欝m thành phần:

Start: Ch雨 s嘘 bit 1 đầu đo衣n

End: Ch雨 s嘘 bit 1 cu嘘i đo衣n

M瓜t ví dụ về MBiS nh逢 sau:

B違ng 2.8. Bitậvector v噂i 96 phần tử

Ch雨 s嘘 bit 1 2 … 15 16 17 … 35 36 37 … 58 59 60 … 80 81 82 … 96

Giá tr鵜 bit 0 0 0 0 1 1 … 1 0 0 … 0 1 1 … 1 0 0 … 0

Page 66: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

52

B違ng 2.8 trình bày bitậvector g欝m 96 phần tử (t逢挨ng ứng v噂i 12 byte).

MBiS của bitậvector trên g欝m hai đo衣n t逢挨ng ứng nh逢 sau:

MBiS: [16,35], [59,80]

Cho MBiS(X) và MBiS(Y) là các MBiS củat壱p mục X và t壱p mục Y thu瓜c

CSDL DB. Ta có các đ鵜nh nghƿa sau:

Định nghĩa 2.6. MBiS của t壱p mục X bao g欝m nhiều đo衣n, mỗi đo衣n là

các bit 1 liên ti院p trên bitậvector bi吋u di宇n tidset của t壱p mục X:

MBiS(X) = { [嫌怠 , �怠], [嫌態 , �態], ..., [嫌賃 , �賃]},

Với ei 半 si,i {1, 2,...,k} và 嫌沈 > �沈−怠 ,i ∈ {2, 3, ...,k}.

Ví dụ 2.8: Trong B違ng 2.8, MBiS có hai đo衣n là [16, 35] và [59, 80] nh逢

trong B違ng 2.9.

B違ng 2.9. MBiS từ bitậvector 荏 B違ng 2.8

[16, 35] [59, 80]

Đo衣n 1 Đo衣n 2

Định nghĩa 2.7. Phần tử i đ逢ợc g丑i là thu瓜c MBiS(X)(i ∈ MBiS(X)) n院u

và ch雨 n院u t欝n t衣i m瓜t đo衣n [嫌珍, �珍 ] là m瓜t đo衣n củaMBiS(X) sao cho 嫌珍 判 i判�珍 .

Ví dụ 2.9: V噂i MBiS(X) = {[16, 35], [59, 80]}, ta nói rằng 30 thu瓜c

MBiS(X) b荏i vì 16 判 30 判 35, mà [16, 35] là m瓜t đo衣n thu瓜c MBiS(X).

Định nghĩa 2.8. Giao của MBiS(X) và MBiS(Y) đ逢ợc đ鵜nh nghƿa lƠ

MBiS(X) 堪 MBiS(Y). N院u ∀i ∈ MBiS(X) 堪 MBiS(X), thìi ∈MBiS(X) và i ∈ MBiS(Y) vƠ ng逢ợc l衣i.

Ví dụ 2.10: V噂i MBiS(X) = { [5, 20], [35, 50]}và MBiS(Y) = {[15, 25],

[40, 60]}. MBiS(X) 堪 MBiS(Y) = { [15, 20], [40, 50]}.

Định nghĩa 2.9. Cho t壱p mục X của CSDL DB, các ch雨 s嘘 bit 1 trong

MBiS(X) là các giao d鵜ch trong CSDL DB, do đó công thức 1.4 đ逢ợc vi院t l衣i

nh逢 sau:

Page 67: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

53

wus(X) = ∑ 建拳憲岫建�岻� ∈�稽��岫隙岻�憲兼_建拳憲 (2.3)

Trong đó: Sum_twu = ∑ 建拳憲岫建賃岻陳賃 = 怠 v噂i m là s嘘 l逢ợng các giao d鵜ch

trong CSDL DB.

2.2.2. Thuật toán xác định giao MBiS

Thuật toán 2.5: INTERSECTION_MBiS

Input: MBiS(X) có n1 đoạn. 4oạn i có Starts = Si và End = Ei

MBiS(Y) có m1 đoạn. 4oạn j có Starts = Sj và End = Ej

Output: Z = MBiS(X) 堪 MBiS(Y)

Method name: INTERSECTION_MBiS()

1

2

3

4

5

6

7

8

9

10

11

12

13

INTERSECTION_MBiS(MBiS(X), MBiS(Y))

Z = ∅; while (i 判 券怠 and j 判 兼怠)

i1 IWS(X) và j1 IWS(Y岻 là các đoạn giao đầu tiên của IWS(X) và

IWS(Y), tính từ đoạn i trên IWS(X岻 và đoạn j trên IWS(Y);

Start = max(MBiS(X) [i1].start, MBiS(Y) [j1].start);

End = min(MBiS(X) [i1].end, MBiS(Y) [j1].end);

Z = Z 姦 { [Start,End]};

if(End = MBiS(X) [i1].end)then

i = i1 + 1;// chuyển sang đoạn khác trênMBiS(X)

j = j1;

else

j = j1 + 1;// chuyển sang đoạn khác trênMBiS(Y)

i = i1;

return Z;//Z là kết quả củaMBiS(X) 堪 MBiS(Y)

Hình 2.22. Thuật toán xác định giao hai MBiS

Đ瓜 phức t衣p của thu壱t toán INTERSECTION_MBiS trong hình 2.22 là

O(n + m), v噂i n và m là s嘘 l逢ợng đo衣n t逢挨ng ứng của MBiS(X) và MByS(Y).

Đ吋 xác đ鵜nh giao của hai MBiS, ta ch雨 cần xác đ鵜nh max và min của các đo衣n

Page 68: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

54

giao nh逢 dòng 5 vƠ 6, đó chính lƠ start vƠ end của đo衣n giao cần tìm. Do đó

ti院t kiệm đ逢ợc th運i gian trong xử lý.

2.2.3. Thuật toán khai thác FWUI dựa trên MBiSậtree

2.2.3.1. Cấu trúc MBiSậtree

Cấu trúc d英 liệu MBiSậtree đ逢ợc đề xuất trong [35] dùng đ吋 khai thác

FWUI trên QDB. Mỗi nút trên MBiSậtree g欝m ba thành phần X, MBiS(X) và

wus(X), trong đó:

ậ X là m瓜t t壱p mục,

ậ MBiS(X) là MBiS của X,

ậ wus(X) là giá tr鵜 wus của X.

K院t n嘘i hai nút X và Y t衣o ra nút m噂i X 姦 Y, v噂i điều kiện X và Y có cùng

đ瓜 dài và cùng tiền t嘘 |X|ậ1 phần tử. Đ欝ng th運i wus(X 姦 Y) 半 minwus v噂i

minwus do ng逢運i sử dụng đ鵜nh nghƿa.

2.2.3.2. Thuật toán tính wus của tập mục

Đ吋 khai thác FWUI trên QDB, cần ph違i xác đ鵜nh wus của các t壱p mục

theo công thức 2.3. Do đó cần ph違i xác đ鵜nh tidset của các t壱p mục d詠a trên

MBiS của các t壱p mục. Thu壱t toán đ逢ợc trình bày trong Hình 2.23.

Thuật toán2.6: CALCULATION_WUS

Input: MBiS(X)

Output: wus của X

Method name: CALCULATION_WUS()

1

2

3

4

CALCULATION_WUS(MBiS(X))

for all i ∈ MBiS(X) do

for all j ∈ đoạn i của MBiS(X) do

s = s + twu(建珍岻;

return (s/Sum_twu);

Hình 2.23. Thuật toán tính wus dựa trên MBiS

Page 69: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

55

Việc tính wus của t壱p mục d詠a trên MBiS rất đ挨n gi違n, do cấu trúc

MBiS l逢u các đầu và cu嘘i đo衣n bit 1 liên ti院p trên bitậvector. Do đó ch雨 cần

đ瓜 phức t衣p O(1) đ吋 xác đ鵜nh các ID giao d鵜ch. Nên đ瓜 phức t衣p thu壱t toán

CALCULATION_WUS() là O(k) v噂i k là s嘘 l逢ợng các giao d鵜ch chứa X. Nói

cách khác k chính là tổng s嘘 bit 1 trên bitậvector của t壱p mục X.

2.2.3.3. Thuật toán MBiS–FWUI

L噂p trên cùng (mức 0) của MBiSậtree đ逢ợc kí hiệu là []. L噂p thứ nhất

chứa các 1–itemset thỏa mãn minwus. Mức thứ k chứa các k–itemset thỏa mãn

minwus.

Mỗi mức của MBiSậtree chứa các l噂p t逢挨ng đ逢挨ng, mỗi l噂p t逢挨ng

đ逢挨ng đ逢ợc t衣o thành từ m瓜t mục cha 荏 mức trên k院t hợp lần l逢ợt v噂i các nút

cùng l噂p t逢挨ng đ逢挨ng của mục cha đó. Các nút trong cùng m瓜t l噂p t逢挨ng đ逢挨ng ch雨 khác nhau phần tử cu嘘i cùng. Mức k chứa các k–itemset đ逢ợc t衣o

từ s詠 k院t hợp các cặp nút từ mức (k ậ 1) g欝m các (k ậ 1)–itemset. Mỗi nút

đ逢ợc thêm vào MBiSậtree n院u giá tr鵜 wus của t壱p mục đó 半 minwus. Do v壱y,

MBiSậtree chứa tất c違 các FWUI khai thác theo ng逢ỡng minwus.

Quá trình xây d詠ng MBiSậtree theo mô t違 trên đ逢ợc trình bày bằng thu壱t

toán MBiSậFWUI.

Thuật toán 2.7: MBiS_FWUI

Input: QDB BD vàminwus;

Output: MBiS–tree chứa tất cả FWUI thỏa mãn minwus của DB

Method name: MBiS_FWUI()

1

2

3

4

MBiS_FWUI()

[] = jI|wus_ j半 minwus; MBiS–tree = ; P = ;

FWUI_MINE(P);

FWUI_mine( [P])

Page 70: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

56

5

6

7

8

9

10

11

12

13

14

for all li ∈ [P] do

[Pi] = ;

for all lj∈ [P], (vớij>i) do

X = li 姦 lj;

Y =INTERSECTION_MBiS(MBiS(li), MBiS(lj));

wus_X = CALCULATION_WUS(Y);

if (wus_X 半 minwus) then

[Pi] = [Pi] 姦 {(X, Y, wus_X)};

MBiS–tree = MBiS–tree姦 [Pi];

FWUI_MINE( [Pi])

Hình 2.24. Thuật toán khai thác FWUI dựa trên MBiS–tree

Đầu vào của thu壱t toán MBiSậFWUI là QDBD và minwus. Tr逢噂c h院t,

CSDL đ逢ợc quét m瓜t lần đ吋 tính wus của các mục (dòng 2), các mục thỏa

mãn minwus đ逢ợc đ逢a vƠo mức 0 của MBiS (dòng 3). Từ dòng 6 đ院n dòng 9,

k院t n嘘i m瓜t nút v噂i các nút sau đó (j > i) trong cùng m瓜t l噂p t逢挨ng đ逢挨ng. Dòng 10 tính giao MBiS của t壱p mục m噂i t衣o thành 荏 b逢噂c 9 theo thu壱t toán

2.5. Dòng 11 tính wus theo thu壱t toán 2.6. Dòng 12, t壱p mục X đ逢ợc k院t n衣p

vào l噂p P i n院u thỏa mãn minwus. Dòng 13, l噂p t逢挨ng đ逢挨ng P i đ逢ợc k院t n衣p

vào MBiSậtree. Cu嘘i cùng, dòng 14 g丑i đệ qui v噂i l噂p P i.

2.2.4. Kết quả thực nghiệm

CSDL th詠c nghiệm và môi tr逢運ng th詠c nghiệm nh逢 trong mục 2.1.4. S嘘

l逢ợng cho các mục xuất hiện trong các giao d鵜ch đ逢ợc thêm bằng cách sinh

ng磯u nhiên trong kho違ng [1, 10] đ嘘i v噂i các CSDL: RETAIL, BMSậPOS,

CONNECT, ACCIDENTS.

Sau đơy lƠ hình các k院t qu違 th詠c nghiệm v噂i cấu trúc MBiS đ逢ợc sử

dụng trong thu壱t toán MBiS_FWUI so sánh v噂i các thu壱t toán khi cƠi đặt

bằng cấu trúc DBV và DIFFSET.

Page 71: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

57

2.2.4.1. So sánh thời gian thực thi:

Hình 2.25. So sánh th運i gian ch衣y trên CSDL RETAIL.

Hình 2.26. So sánh th運i gian ch衣y trên CSDL BMSậPOS.

Hình 2.27. So sánh th運i gian ch衣y trên CSDL SALEậFACTậ1997.

Hình 2.28. So sánh th運i gian ch衣y trên CSDL SALEậFACTậ1997+1998.

139,571

29,648

64,141

0

50

100

150

0,6 0,5 0,4 0,3 0,2 0,1

tim

e(s

)

minws(%)

DBV

MBiS

DIFFSET

232,209

85,102

125,091

0

50

100

150

200

250

0,6 0,5 0,4 0,3 0,2 0,1

tim

e(s

)

minws(%)

DBV

MBiS

DIFFSET

309,301

98,594

72,427

0

100

200

300

400

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minws(%)

DBV

DIFFSET

MBiS

2501,68

345,81

563,70

0

500

1000

1500

2000

2500

3000

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minws(%)

DBV

MBiS

DIFFSET

Page 72: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

58

Hình 2.29. So sánh th運i gian ch衣y trên CSDL SALEậFACTậSYNC.

Hình 2.30. So sánh th運i gian ch衣y trên CSDL CONNECT.

Hình 2.31. So sánh th運i gian ch衣y trên CSDL ACCIDENTS.

2.2.4.1. So sánh bộ nhớ:

Hình 2.32. So sánh b瓜 nh噂 sử dụng trên CSDL RETAIL.

2748,776

640,854 526,32

0

1000

2000

3000

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minws(%)

DBV

DIFFSET

MBiS

41,935

55,202

6,094 0

20

40

60

0,96 0,95 0,94 0,93 0,92 0,9

tim

e(s

)

minws(%)

DBV

MBiS

DIFFSET

212,667

139,278

30,742 0

100

200

300

0,9 0,8 0,7 0,6 0,5

tim

e(s

)

minws(%)

DBV

MBiS

DIFFSET

160,687

35,131

48,479

0

50

100

150

200

0,6 0,5 0,4 0,3 0,2 0,1

me

mo

ry(M

b)

minws(%)

DBV

MBiS

DIFFSET

Page 73: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

59

Hình 2.33. So sánh b瓜 nh噂 sử dụng trên CSDL BMSậPOS.

Hình 2.34. So sánh b瓜 nh噂 sử dụng trên CSDL SALEậFACTậ1997.

Hình 2.35. So sánh b瓜 nh噂 sử dụng trên CSDL SALEậFACTậ1997+1998.

Hình 2.36. So sánh b瓜 nh噂 sử dụng trên CSDL SALEậFACTậSYNC.

213,67

144,981

431,725

0

100

200

300

400

500

0,6 0,5 0,4 0,3 0,2 0,1

me

mo

ry(M

b)

minws(%)

DBV

MBiS

DIFFSET

622,14 720

542,7

0

200

400

600

800

0,03 0,02 0,1 0,06 0,03 0,01

me

mo

ry(M

b)

minws(%)

DBV

MBiS

DIFFSET

1477,976 1549,32

1344,846

0

500

1000

1500

2000

0,3 0,2 0,1 0,06 0,03 0,01

me

mo

ry(M

b)

minws(%)

DBV

MBiS

DIFFSET

1543,975 1699,922

1482,239

0

500

1000

1500

2000

0,6 0,5 0,4 0,3 0,2 0,1

me

mo

ry(M

b)

minws(%)

DBV

MBIS

DIFFSET

Page 74: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

60

Hình 2.37. So sánh b瓜 nh噂 sử dụng trên CSDL CONNECT.

Hình 2.38. So sánh b瓜 nh噂 sử dụng trên CSDL ACCIDENT.

Hình 2.25 đ院n 2.29 và Hình 2.32 đ院n 2.36 cho thấy rằng cấu trúc MBiS

hiệu qu違 h挨n DBV và DIFFSET trên các CSDL th逢a. Ví dụ, trên CSDL

RETAIL v噂i minws = 0,1%. Th運i gian khai thác của MBiS, DIFFSET và

DBV lần l逢ợt là 29,648s, 64,141s và 139,571s. B瓜 nh噂 sử dụng của IWS,

MBiS, DIFFSET và DBV lần l逢ợt là 35,131MB, 48,479MB và 160,687MB.

Hình 2.30, 2.31, 2.37 và 2.38 cho thấy MBiS không t嘘t h挨n DBV và

DIFFSET trên các CSDL dày. Do MBiS b鵜 phân m違nh thành quá nhiều đo衣n

bit 1, do đó việc xác đ鵜nh giao MBiS của các cặp t壱p mục s胤 t嘘n nhiều th運i

gian do s嘘 l逢ợng các đo衣n bit 1 là rất l噂n.

41,935 46,579

6,094

0

10

20

30

40

50

0,96 0,95 0,94 0,93 0,92 0,9

me

mo

ry(M

b)

minws(%)

DBV

MBiS

DIFFSET

78,172

132,436

30,742

0

20

40

60

80

100

120

140

0,9 0,8 0,7 0,6 0,5

me

mo

ry(M

b)

minws(%)

DBV

MBiS

DIFFSET

Page 75: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

61

2.3. Thu壱t toán khai thác TRFWUIk

Phần này trình bày ki院n thức c挨 s荏 về bài toán khai thác TRFWUIk trên

QDB vƠ đề xuất hai cấu trúc m噂i DTab và DHeap v噂i hai thu壱t toán t逢挨ng

ứng DTabậTRFWUI và DHEAP_TRFWUI khai thác FWUIk trên QDB.

N瓜i dung về cấu trúc DTab đư đ逢ợc công b嘘 t衣i công trình [19].

2.3.1. Một số khái niệm

Định nghĩa 2.10. (Rank của m瓜t t壱p mục) Cho m瓜t t壱p mục X ( I) của

QDB DB. Rank của X là Rx đ逢ợc xác đ鵜nh nh逢 sau:

Rx = |{wus(Y)|wus(Y) >wus(X), ∀Y I}| +1.

Bổ đề 2.1 : Cho hai t壱p mục X và Y (X, YI). N院u wus(X) = wus(Y) thì Rx

= Ry.

Định nghĩa 2.11. TRFWUIk của QDB BD là t壱p tất c違 các t壱p mục X

mà X I và Rx 判 k:

TRFWUIk = X {∀ X I, Rx 判 k}

Ví dụ 2.11: Xét CSDL DB trong ví dụ 1.4, ta có TRFWUI3, TRFWUI4,

TRFWUI5 nh逢 trong B違ng 2.10.

B違ng 2.10. B違ng TRFWUIk

K TRFWUIk Số lượng

3 {1,0: B},{0,898: E, BE},{0,803: A, AB, ABE} 6

4 {1,0: B},{0,898: E, BE},{0,803: A, AB, ABE}, {0,764: D, BD} 8

5 {1,0: B},{0,898: E, BE},{0,803: A, AB, ABE}, {0,764: D,

BD},{0,662: AD, DE, ABD, ADE, BDE, ABDE} 14

Từ B違ng 2.10, v噂i k = 3 ta có sáu FWUI và k = 5 có m逢運i b嘘n FWUI

thỏa mưn. Trong đó E và BE có cùng nhóm do cùng đ瓜 đo wus. T逢挨ng t詠, A,

AB và ABE có cùng nhóm do có cùng wus = 0,803.

Page 76: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

62

Bổ đề 2.2: T壱p mục X (X I) của m瓜t QDB DB, n院u X TRFWUIk thì

các t壱p mục Y (Y I và X Y) TRFWUIk.

Nh逢 v壱y, bài toán khai thác TRFWUIk từ QDB là bài toán tìm tất c違 các

t壱p mục X sao cho {X|X I, Rx 判 k}

2.3.2. Cấu trúc DTab

DTab [45] là m瓜t danh sách liên k院t hai chiều g欝m k phần tử có giá tr鵜

gi違m dần. Nh逢 v壱y phần tử thứ k là phần tử có giá tr鵜 nhỏ nhất g丑i là min–

DTab. Ví dụ v噂i k = 5 trong B違ng 2.10 ta có DTab nh逢 Hình 2.39:

1,0 → ←

0,898 → ←

0,803 → ←

0,764 → ←

0,662 → NULL

Hình 2.39. DTab v噂i k = 5

DTab trong Hình 2.40 có năm phần tử, phần tử thứ nhất có giá tr鵜 1,0,

phần tử thứ hai có giá tr鵜 0,898, v.v..., min–DTab = 0,662.

V噂i cấu trúc nh逢 trên, việc thêm m瓜t phần tử vƠo DTab đ吋 đ違m b違o thứ

t詠 gi違m dần có chi phí O(k). Đ欝ng th運i v噂i nó là việc lo衣i phần tử cu嘘i cùng

ra khỏi DTab mất chi phí O(1).

2.3.3. Cấu trúc TR–tree

TRậtree là m瓜t cây g欝m nhiều mức, mỗi mức g欝m nhiều l噂p t逢挨ng

đ逢挨ng, mỗi l噂p t逢挨ng đ逢挨ng g欝m nhiều nút, các nút trong cùng m瓜t l噂p

t逢挨ng đ逢挨ng có cùng nút cha 荏 mức trên, có s嘘 phần tử bằng nhau và ch雨 khác

nhau phần tử cu嘘i cùng.

Đ吋 t嘘i 逢u b瓜 nh噂 l逢u tr英 tidset của các t壱p mục vƠ tăng t嘘c đ瓜 tính toán

trong khai thác TRFWUIk, trong phần này tidset của các t壱p mục đ逢ợc bi吋u

di宇n b荏i cấu trúc IWS [35, 37] đư đ逢ợc trình bày trong mục 2.1.

Mỗi nút g欝m ba thành phần:

- T壱p mục X

Page 77: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

63

- IWS của X

- wus của X

K院t hợp hai nút trong cùng m瓜t l噂p t逢挨ng đ逢挨ng t衣o ra nút m噂i trên TRậ

tree 荏 mức ti院p theo n院u wus của t壱p mục m噂i t衣o thành 半 min–DTab. Đ欝ng

th運i chèn wus(X) vào DTab và c壱p nh壱t l衣i min–DTab m噂i.

2.3.4. Thuật toán khai thác TRFWUIk sử dụng cấu trúc dữ liệu DTab

Thu壱t toán DTAB_TRFWUI d詠a trên TRậtree g欝m ba b逢噂c nh逢 sau:

Bước 1: Quét CSDL tính wus của các mục, n院u s嘘 l逢ợng mục có giá tr鵜

wus khác nhau 半 k thì ch雨 lấy đúng k wus khác nhau l噂n nhất. Các mục này

đ逢ợc đ逢a vƠo l噂p thứ nhất của TRậtree và là m瓜t l噂p t逢挨ng đ逢挨ng. Đ欝ng th運i

đ逢a các giá tr鵜 wus của các mục này vào DTab theo thứ t詠 gi違m dần. min–

DTab là giá tr鵜 nhỏ nhất wus trong DTab (DTab[k]).

Bước 2: K院t n嘘i các cặp l–itemset (Xl và và Yl) trong các l噂p t逢挨ng

đ逢挨ng đ吋 t衣o ra các (l+1)–itemset là {X, wus_X, IWS(X)} 荏 l噂p ti院p theo n院u

wus_Xl và wus_Yl cùng 半 min–DTab:

N院u DTab ch逢a đủ k phần tử thì bổ sung wusậX vào DTab

Ng逢ợc l衣i, n院u wus_X 半 min–DTab thì:

- N院u trên DTab đư t欝n t衣i m瓜t giá tr鵜 = wus_X thì thêm nút m噂i {X,

wus_X, IWS(X)} vào TRậtree.

- Ng逢ợc l衣i, lo衣i phần tử thứ k trên DTab (DHaep) và chèn wus_X

vào DTab sao cho đ違m b違o tính gi違m dần của DTab, đ欝ng th運i thêm

nút m噂i {X, wus_X, IWS(X)} vào TRậtree.

Bước 3: Lặp l衣i b逢噂c 2 cho đ院n khi nào không có thêm t壱p mục nào

đ逢ợc t衣o ra.

K院t thúc thu壱t toán, các t壱p mục trên TRậtree có wus 半 min–DTab là các

TRFWUIk khai thác đ逢ợc.

Page 78: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

64

Thu壱t toán đ逢ợc mô t違 nh逢 Hình 2.40:

Thuật toán 2.9: GEN_DTAB–TR–TREE

Input: QDB DB và k;

Output: DTab, TR–tree

Method name: GEN_DTAB–TR–TREE()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

GEN_DTAB–TR–TREE(DB, k)

d = 0;

[] = jI, j là 1–itemset; for all j ∈ [] do

if (d 判k) then

DTab ←wus_X;

Update min–DTab;

P = [];

DTAB–TR–TREE( [P]);

for all li ∈ [P] do

[Pi] = ;

if (wus_li半min–DTab) then

for all lj∈ [P], với (j> i) do

if (wus _lj 半 min–DTab) then

X = lI 姦 lj;

IWS_X = INTERSECTION_IWS(IWS(li), IWS(lj));

Tính wus_X dựa trên IWS(X);

if (wus_X 半 min–DTab) then

[Pi] = [Pj] 姦 {(X, wus_X, IWS_X};

if (wus_X>min–DTab) then

DTab ←wus_X;

Update min–DTab;

DTAB–TR–TREE( [Pi]);

Hình 2.40. Thuật toán tạo TR–tree sử dụng DTab

Page 79: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

65

Dòng 3, tìm các 1–itemset và sắp x院p gi違m dần theo wus. Dòng 4 đ院n

dòng 6, k院t n衣p các 1–itemset vào DTab. Dòng 15 sử dụng hai thu壱t toán

INTERSECTION_IWS(IWS(li), IWS(lj)) đ逢ợc trình bày trong [16] dùng đ吋

tính giao hai IWS. Dòng 17 và 18, n院u wus 半 min–DTab thì chèn nút m噂i vào

TRậtree. Dòng 19 đ院n dòng 21, n院u wus > min–DTab chèn wus vào DTab và

c壱p nh壱t l衣i giá tr鵜 min–DTab. Dòng 22 g丑i đệ quy v噂i l噂p t逢挨ng đ逢挨ng m噂i

P i.

Nh逢 v壱y ch雨 các t壱p mục trong cùng m瓜t l噂p t逢挨ng đ逢挨ng có giá tr鵜

wus 半 min–DTab m噂i đ逢ợc xét k院t n嘘i v噂i nhau đ吋 t衣o ra các t壱p mục m噂i,

các t壱p mục m噂i nƠy cũng ph違i có wus 半 min–DTab m噂i đ逢ợc chèn vào TRậ

tree, đ欝ng th運i min–DTab đ逢ợc c壱p nh壱t m噂i sau mỗi lần chèn m瓜t wus vào

DTab. Đơy lƠ điều kiện đ吋 cắt nhánh nhanh trên TRậtree.

K院t thúc thu壱t toán GEN_TRậTree t衣o ra cây TRậtree chứa các t壱p mục

đư đ逢ợc xét trong quá trình khai thác TRFWUIk, nhiều t壱p mục thu瓜cTRậtree

nh逢ng không lƠ TRFWUIk do các wus đ逢ợc c壱p nh壱t trên DTab đư lo衣i các

t壱p mục này khỏi TRFWUIk. Thu壱t toán DTabậTRFWUI trong Hình 2.41 có

chức năng l丑c các t壱p mục trên TRậtree là TRFWUIk

Thuật toán 2.10: DTAB_TRFWUI

Input: QDB DB và ngưỡng k

Output: Z là TRFWUIk

Method name: DTAB_TRFWUI()

1

2

3

DTAB_TRFWUI(TR–tree,min–DTab)

GEN_DTAB–TR–TREE(DB, k)

Z = ∅;

for all X ∈ TR–tree do

if (X.wus 半 min–DTab)then

Page 80: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

66

4 Z ← {X.itemset, X.wus};

Hình 2.41. Thuật toán lọc ra TRFWUIk

Thu壱t toán DTAB_TRFWUI g丑i hàm GEN_DTABậTRậTREE() đ吋 t衣o

TRậtree 荏 dòng 1, sau đó xét tất c違 các nút thu瓜c TRậtree và l丑c ra các t壱p

mục có wus không nhỏ h挨n min–DTabậchính là TRFWUIk từ dòng 2 đ院n

dòng 5.

2.3.5. Thuật toán khai thác nhanh TRFWUIk dựa trên cấu trúc DHeap

2.3.5.1. Cấu trúc DHeap

Cấu trúc DTab dùng đ吋 c壱p nh壱t các giá tr鵜 wus thỏa mưn ng逢ỡng min–

DTab của các t壱p mục trong quá trình khai thác TRFWUIk nh逢 đư trình bƠy 荏

trên có chi phí O(k) đ吋 chèn m瓜t phần tử m噂i. Tuy nhiên, v噂i nh英ng tr逢運ng

hợp giá tr鵜 k l噂n thì chi phí cho việc chèn các giá tr鵜 m噂i vào DTab v磯n t嘘n

nhiều th運i gian. Đ吋 gi違i quy院t vấn đề này, lu壱n án đề xuất cấu trúc Dynamic

Heap (DHeap) lƠ hƠng đợi 逢u tiên (Heap) nghƿa lƠ các giá tr鵜 l噂n h挨n s胤 có

thứ t詠 逢u tiên xử lý tr逢噂c (đ嘘ng max). Thao tác c壱p nh壱t giá tr鵜 m噂i vào

DHeap mất chi phí O(log(k)). Nên thay th院 DTab bằng DHeap s胤 giúp gi違m

th運i gian đáng k吋 trong khai thác TRFWUIk. M瓜t ví dụ v噂i DHeap đ逢ợc trình

bày trong hình 2.42.

Hình 2.42. DHeap v噂i k = 5 v噂i CSDL trong ví dụ 1.4

1.0

0,803 0,898

0,764 0,662

Page 81: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

67

2.3.5.2. Thuật toán chèn một phần tử vào DHeap

Thu壱t toán chèn m瓜t giá tr鵜 m噂i vƠo DHeap đ逢ợc trình bƠy nh逢 Hình

2.43:

Thuật toán 2.9: INSERT_DHEAP

Input: value và DHeap

Output: DHeap đã được cập nhật

Method name: INSERT_DHEAP()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

DOWNHEAP(DHeap)

if (DHeap = NULL) then

exit;

CurrentIndex = DHeap [0]; // Top Heap

while (CurrentIndex <DHeap.Size) do

Child1 = CurrentIndex * 2;

Child2=(Child1 = =DHeap.Size ? Child1 : Child1 +1);

Child = DHeap [Child1].value <DHeap [Child2].value ? Child1: Child2;

if (DHeap [CurrentIndex].value<DHeap [Child].value) then

exit;

else

swap(DHeap [CurrentIndex], DHeap [Child]);

CurrentIndex = Child; ––– – – – – – – – – – – – – – – – – – – – – – – – – – – – –

UPHEAP(DHeap)

if (DHeap = NULL) then

exit;

CurrentIndex = DHeap.Size – 1;

while(CurrentIndex>0 and DHeap [CurrentIndex].value<DHeap

[CurrentIndex/2].Value) do

swap(DHeap [CurrentIndex], DHeap [CurrentIndex/2]);

Page 82: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

68

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

CurrentIndex = CurrentIndex/2; – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

INSERT _DHEAP(itemset, value, DHeap)

if (DHeap = NULL) then

DHeap = new array of lengthk;

if (DHeap.Size = 0) then

DHeap [0].value = value;

DHeap.Size = 1;

return true;

if (DHeap.Size<k) then

DHeap.Size = DHeap.Size + 1;

DHeap [DHeap.Size].value = value;

UpHeap(DHeap);

return true;

if (value>DHeap [0].value) then

return false;

if (value = DHeap [0].value) then

DHeap [0].addToCollection(itemset); // Nhiều tập mục cùng giá trị return true;

DHeap [0].value = value;

DHeap [0].clearCollection();

DHeap [0].addCollection(itemset);

DownHeap(DHeap);

Hình 2.43. Thuật toán chèn một nút mới vào DHeap

2.3.5.3. Thuật toán khai thác nhanh TRFWUIk dựa trên DHeap

Thu壱t toán DHEAP_TRFWUI khai thác nhanh TRFWUIk trên CSDL s嘘

l逢ợng d詠a trên cấu trúc DHeap g欝m b嘘n b逢噂c nh逢 thu壱t toán

DTAB_TRFWUI. Ch雨 thay cấu trúc DTab bằng cấu trúc DHeap trong quá

Page 83: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

69

trình c壱p nh壱t các giá tr鵜 wus. Hình 2.44 là thu壱t toán t衣o cây TRậtree k院t hợp

DHeap trong quá trình cắt nhánh các t壱p mục chắc chắn không thỏa mãn:

Thuật toán 2.9: GEN_DHEAP–TR–TREE

Input: QDB DB và k;

Output: DHeap, TR–tree

Method name: GEN_DHEAP–TR–TREE()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

GEN_DHEAP–TR–TREE(DB, k)

d = 0;

[] = jI|j là 1–itemset; for all j ∈ [] do

if (d 判k) then

INSRERT_DHEAP(wus_j); // wus của mục j

DHEAP–TR–TREE( [P]);

P = [];

for all li ∈ [P] do

[Pi] = ;

if (wus_li 半 min–Dheap) then

for all lj ∈ [P], (vớij > i) do

if (wus_lj 半 min–DTab) then

X = li 姦lj;

IWS_X = INTERSECTION_IWS(IWS(li), IWS(lj));

Tính wus_X dựa trên IWS(X);

if (wus_X半 min–DHeap) then

[Pi] = [Pi] 姦 {(X, wus_X, IWS_X};

if (wus_X >min–DHeap) then

INSRERT_DHEAP(wus_X);

DHEAP–TR–TREE( [Pi]);

Hình 2.44. Thuật toán tạo TR–tree sử dụng DHeap

Page 84: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

70

Thu壱t toán l丑c TRFWUIk từ TRậtree nh逢 Hình 2.45

Thuật toán 2.10: DHEAP_TRFWUI

Input: QDB DB và ngưỡng k

Output: Z là TRFWUIk

Method name: DHEAP_TRFWUI()

1

2

3

4

DHEAP_TRFWUI(TR–tree, min–DHeap)

GEN_DHEAP–TR–TREE(DB, k)

Z = ∅;

for all X ∈TR–tree do

if (X.wus 半min–DHeap)then

Z ← {X.itemset, X.wus};

Hình 2.45. Thuật toán lọc ra TRFWUIk

2.3.6. Kết quả thực nghiệm

2.3.6.1. CSDL thực nghiệm

Phần này trình bày các k院t qu違 th詠c nghiệm về th運i gian th詠c thi của hai

ph逢挨ng pháp đề xuất DHeap_TRFWUI và DTab_TRFWUI v噂i ph逢挨ng pháp

VTK. CSDL th詠c nghiệm đ逢ợc trình bƠy nh逢 trong B違ng 2.7

2.3.6.2. Kết quả thực nghiệm

Hình 2.46. So sánh th運i gian ch衣y trên CSDL MBSậPOS

75,28 141,21

527,81

0

100

200

300

400

500

600

100 200 300 400 500

Tim

e(s

)

k

Dheap-TRFWUI

DTab-TRFWUI

VTK

Page 85: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

71

Hình 2.47. So sánh th運i gian ch衣y trên CSD L RETAIL

Hình 2.48. So sánh th運i gian ch衣y trên CSDL CONNECT

Hình 2.49. So sánh th運i gian trên CSDL SALEậFACTậ1997

Hình 2.50. So sánh th運i gian trên CSDL SALEậFACTậ1997+1998

107,4 211,66

728,12

0

200

400

600

800

100 200 300 400 500

Tim

e(s

)

k

Dheap-TRFWUI

DTab-TRFWUI

VTK

68,2 164,22

578,62

0

200

400

600

800

100 200 300 400 500

Tim

e(s

)

k

DHeap-TRFWUI

DTab-TRFWUI

VTK

104,2

279,02

732,06

0

200

400

600

800

100 200 300 400 500

Tim

e(s

)

k

DHeap-TRFWUI

DTab-TRFWUI

VTK

97,61

269,2

685,1

0

200

400

600

800

100 200 300 400 500

Tim

e(s

)

k

DHeap-TRFWUI

DTab-TRFWUI

VTK

Page 86: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

72

Hình 2.51. So sánh th運i gian trên CSDL SALEậFACTậSYNC

Các k院t qu違 th詠c nghiệm từ Hình 2.46 đ院n 2.51 cho thấy hiệu qu違 của

ph逢挨ng pháp DtabậTRFWUI và DHEAP_TRFWUI so v噂i VTK trên các

CSDL th詠c nghiệm. Ph逢挨ng pháp hiệu qu違 nhất là DHEAP_TRFWUI v噂i

việc sử dụng cấu trúc DHeap. Ví dụ trên CSDL RETAIL v噂i k = 500, VTK có

th運i gian xử lý là 527,81s, DTabậTRFWUI là 141,21s, trong khi

DHEAP_TRFWUI là 107,4s. Th運i gian ch衣y của VTK nhiều h挨n 3,74 lần so

v噂i DTabậFWUI và nhiều h挨n DHEAP_TRFWUI 4,91 lần.

K院t qu違 th詠c nghiệm 荏 trên cho thấy việc sử dụng DHeap, DTab là rất

hiệu qu違, không t嘘n th運i gian l丑c ra các t壱p mục cùng l噂p đ吋 k院t n嘘i chúng l衣i

do trên cây TRậtree đư có sẵn các l噂p. Đ欝ng th運i việc c壱p nh壱t các giá tr鵜

min–DTab v噂i chi phí O(1) trên DTab, DHeap và cắt nhánh nhanh trên TRậ

tree. Ngoài ra, thao tác tìm và chèn m瓜t phần tử m噂i vào DHeap ch雨 mất th運i

gian O(nlogn).

2.4. K院t lu壱n ch逢挨ng

Ch逢挨ng nƠy t壱p trung trình bày các k院t qu違 nghiên cứu khai thác nhanh

t壱p mục phổ bi院n trên QDB v噂i các cấu trúc m噂i đề xuất MBiS [35], IWS

[36] theo ti院p c壱n c違i ti院n cấu trúc d英 liệu l逢u tidset theo bitậvector. Đ欝ng

th運i đ逢a ra bài toán khai thác Topậrankậk t壱p phổ trên QDB vƠ đề xuất hai

109,12

281,17

739,15

0

200

400

600

800

100 200 300 400 500

Tim

e(s

)

k

DHeap-TRFWUI

DTab-TRFWUI

VTK

Page 87: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

73

cấu trúc DTab [18], DHeap v噂i hai thu壱t toán DTabậTRFWUI [18] và

DHEAP_TRFWUI đ吋 gi違i quy院t hiệu qu違 bài toán này.

Các đề xuất về t嘘i 逢u bitậvector v噂i IWS bằng cách lo衣i bỏ hoàn toàn

các word hai byte có giá tr鵜 bằng 0 trong bi吋u di宇n bitậvector tidset của t壱p

mục. Nghƿa lƠ IWS ch雨 l逢u các word khác 0 liên ti院p trên bitậvector tidset của

các t壱p. Đ欝ng th運i đề xuất sử dụng m違ng MAP l逢u tr英 v鵜 trí bit 1 đ嘘i v噂i các

s嘘 có giá tr鵜 trong kho違ng hai byte đ吋 tính nhanh ws (đ嘘i v噂i khai thác FWI)

và wus (đ嘘i v噂i khai thác FWUI). Các đề xuất này th壱t s詠 có hiệu qu違 nhất là

đ嘘i v噂i các CSDL th逢a. K院t qu違 th詠c nghiệm trong mục 2.2.4.3 đư th吋 hiện rõ

điều đó.

Bên c衣nh đó, ch逢挨ng 2 đề xuất cấu trúc MBiS, bằng cách ch雨 l逢u các

đo衣n bit 1 liên ti院p trên bitậvector của các t壱p mục. V噂i cấu trúc này việc xác

đ鵜nh giao MBiS của hai t壱p mục rất nhanh, do ch雨 cần tính l衣i đầu và cu嘘i mỗi

đo衣n giao. Đ欝ng th運i, việc tính ws (đ嘘i v噂i khai thác FWI) hay tính wus (đ嘘i

v噂i khai thác FWUI). Các k院t qu違 th詠c nghiệm trong mục 2.2.4.3 cho thấy

hiệu qu違 của MBiS so v噂i DBV, tuy nhiên MBiS không hiệu qu違 h挨n IWS,

do việc l逢u các đo衣n bit 1 liên ti院p làm cho MBiS b鵜 “phơn m違nh” quá nhiều

d磯n t噂i việc xác đ鵜nh giao của các MBiS t嘘n nhiều th運i gian.

Cu嘘i cùng, ch逢挨ng 2 đề xuất bài toán khai thác TRFWUIk trên QDB,

đơy lƠ bƠi toán ch逢a đ逢ợc đề c壱p tr逢噂c đơy, mặc dù đư có nhiều công b嘘 liên

quan đ院n bài toán này trên CSDL nh鵜 phân. Cấu trúc DTab v噂i khai thác theo

ti院p c壱n m瓜t lần quét CSDL đư cho thấy hiệu qu違 so v噂i thu壱t toán VTK. Ti院p

theo lu壱n án đề xuất cấu trúc DHeap d詠a trên cấu trúc Heap, v噂i cấu trúc

DHeap việc tìm v鵜 trí chèn wus của t壱p mục m噂i là O(nlogn) giúp gi違m th運i

gian khai thác TRFWUIk. Các k院t qu違 th詠c nghiệm trong mục 2.3.3.2 đư cho

thấy hiệu qu違 của các đề xuất m噂i nói trên.

Page 88: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

74

CH姶愛NG 3. KHAI THÁC T一P M影C PH蔚 BI蔭N TRÊN C愛 SỞ

D頴 LI烏U S渦 L姶営NG CÓ S衛 PHÂN C遺P CÁC M影C

CSDL s嘘 l逢ợng có s詠 phân cấp các mục là s詠 k院t hợp gi英a CSDL s嘘

l逢ợng và CSDL có s詠 phân cấp các mục. Do đó, về c挨 b違n ph逢挨ng pháp khai

thác t壱p mục phổ bi院n trên CSDL s嘘 l逢ợng có s詠 phân cấp các mục có th吋

đ逢ợc k院 thừa từ các ph逢挨ng pháp khai thác t壱p mục phổ bi院n trên CSDL s嘘

l逢ợng và CSDL có s詠 phân cấp. Vì v壱y, việc khó khăn vƠ phức t衣p của bài

toán khai thác FWUI trên CSDL s嘘 l逢ợng có s詠 phân cấp cũng đ逢ợc k院 thừa

từ các bài toán trên. NgoƠi ra, đặc tr逢ng riêng của bài toán này là việc xác

đ鵜nh tr丑ng s嘘 của các mục cha trên cây phân cấp nh逢 th院 nƠo? VƠ xác đ鵜nh s嘘

l逢ợng của từng mục cha trong các giao d鵜ch của CSDL ra sao?, v.v ...

Trong ch逢挨ng nƠy, lu壱n án đề xuất bài toán khai thác FWUI trên CSDL

s嘘 l逢ợng có s詠 phân cấp các mục vƠ đề xuất m瓜t thu壱t toán d詠a trên cấu trúc

HIT-tree đ吋 khai thác FWUI, n瓜i dung nƠy đư đ逢ợc trình bày t衣i công b嘘 [19].

Ti院p theo lu壱n án trình bày m瓜t s嘘 c違i ti院n nâng cao hiệu qu違 khai thác FWUI

trên CSDL s嘘 l逢ợng có s詠 phân cấp các mục nh逢 đề xuất cấu trúc SDBV, đề

xuất đ鵜nh lý về việc xác đ鵜nh tidset mục nút cha d詠a trên tidset mục nút con

vƠ xác đ鵜nh nhanh m嘘i quan hệ cha ậ con gi英a các mục trên cây phân cấp.

Các n瓜i dung này s胤 đ逢ợc công b嘘 trong th運i gian t噂i.

Ngoài ra, các cấu trúc đư đề xuất trong ch逢挨ng 2 nh逢 IWS, MBiS đều

đ逢ợc áp dụng vƠo đ吋 gi違i quy院t hiệu qu違 h挨n bƠi toán khai thác FWUI trên

CSDL s嘘 l逢ợng có s詠 phân cấp các mục trong ch逢挨ng nƠy.

3.1. Gi噂i thi羽u bài toán

Định nghĩa 3.1. CSDL s嘘 l逢ợng có s詠 phân cấp các mục ậHierachy

quantity databases (HQDB) là m瓜t b瓜 g欝m b嘘n thành phần: T, I, W, Tr trong

đó, T = {t1, t2, …, tm} là t壱p các giao d鵜ch, I = {i1, i2, …, in} là t壱p các mục, W

Page 89: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

75

= {w1, w2, …, wn} là t壱p các tr丑ng s嘘 (lợi ích) t逢挨ng ứng của mỗi mục trong

t壱p các mục I và Tr là t壱p các cây phân cấp th吋 hiện m嘘i quan hệ gi英a các

mục. Mỗi giao d鵜ch tk có d衣ng tk = {捲賃迭, 捲賃鉄, …, 捲賃�}, trong đó 捲賃日 là s嘘

nguyên ch雨 s嘘 l逢ợng mục thứ i trong giao d鵜ch tk, k = 1.. m.

Ví dụ 3.1: Cho HQBD HD = T, I, W, Tr v噂i t壱p mục I = {A, B, C, D,

E}, các giao d鵜ch T và tr丑ng s嘘 W đ逢ợc trình bày trong B違ng 3.1 và B違ng 3.2,

các cây phân cấp Tr các mục nh逢 trong Hình 3.1.

B違ng 3.1. Giao d鵜ch của HD B違ng 3.2. Tr丑ng s嘘

Giao dịch A B C D E F Item Weight

t1 1 1 0 2 1 0 A 0,3

t2 0 1 3 0 1 0 B 0,2

t3 2 1 0 2 2 2 C 0,5

t4 3 1 1 0 1 0 D 0,6

t5 1 2 2 1 3 1 E 0,9

t6 0 1 1 1 0 1 F 0,1

Và t壱p các cây phân cấp Tr nh逢 trong Hình 3.1

Hình 3.1. T壱p các cây phân cấp Tr

Trong đó các kí hiệu A, B, C, D, E, F lƠ đ衣i diện cho t壱p các mặt hàng

theo B違ng 3.3 nh逢 sau:

B違ng 3.3. Tên mặt hàng của các mục

ID mục mục

A Desktop

B Inkậjet Printer

B

E

C

G F

K

A D

H

Page 90: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

76

Theo B違ng 3.1 và B違ng 3.2, CSDL HD có sáu giao d鵜ch {t1, t2, t3, t4, t5,

t6} và sáu mục {A, B, C, D, E, F}, tr丑ng s嘘 của các mục t逢挨ng ứng là {0,3,

0,2, 0,5, 0,6, 0,9, 0,1}. Giao d鵜ch t1 = {1, 1, 0, 2, 1, 0} có nghƿa lƠ trong giao d鵜ch t1 có m瓜t mục A(Desktop), m瓜t mục B(Inkậjet Printer), hai mục

D(Notebook), m瓜t mục E(Scanner) và không có mục C, F nào.

T壱p J = {G, K, H} là t壱p các mục cha của cây phân cấp không xuất hiện

trong các giao d鵜ch của CSDL HD. Tuy nhiên chúng có vai trò nhất đ鵜nh, th吋

hiện m嘘i quan hệ của các mục trong CSDL HD. Do đó, khi khai thác FI trên

CSDL phân cấp đòi hỏi ph違i khai thác c違 t壱p các mục trên cây phân cấp bao

g欝m (I 姦 J).

Liu và các đ欝ng s詠 [33] đ逢a ra m瓜t s嘘 đ鵜nh nghƿa (3.2, 3.3) đ吋 khai thác

FI trên CSDL có s詠 phân cấp các mục nh逢 sau:

Định nghĩa 3.2. M瓜t giao d鵜ch t = tid, X v噂i X ∈ (I 姦 J), X = (Y 姦 Z) là

t壱p các mục có trong giao d鵜ch (Y) và các mục cha của Y trên cây phân cấp

(Z).

Định nghĩa 3.3. T壱p X là FI thì support(X) > minsup, đ欝ng th運i trong X

không t欝n t衣i m瓜t cặp mục nào có quan hệ cha con, nh逢 v壱y X là phổ bi院n

khi:

C Laser Printer

D Notebook

E Scanner

F Dotậmatrix Printer

G Nonậimpact

H PC

K Printer

Page 91: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

77

{�憲喧喧剣堅建岫隙岻 半 兼�券嫌憲喧 ∀隙沈 , 隙珍 ∈ 隙, 隙沈 ≠ �欠堅�券建岫隙珍岻 Đ吋 khai thác FI trên CSDL có s詠 phân cấp các mục bao g欝m c違 các mục

cha, trong nghiên cứu [19] đư đề xuất các đ鵜nh nghƿa sau:

Định nghĩa 3.4. Mục cha trên cây phân cấp thu瓜c các giao d鵜ch chứa

mục con của nó. V噂i mỗi mục cha X trên cây phân cấp và tk ∈ T:

X ∈ tk n院u và ch雨 n院u Y ∈ tk và Y là con 荏 nút lá của X trên cây phân cấp.

Khai thác FWUI trên HQDB cần ph違i tính toán xác đ鵜nh tr丑ng s嘘 của các

mục cha, đ欝ng th運i ph違i xác đ鵜nh s嘘 l逢ợng các mục cha trong từng giao d鵜ch

d詠a trên các mục con của chúng trong mỗi giao d鵜ch. Thông th逢運ng có th吋

xác đ鵜nh các đ衣i l逢ợng này thông qua các hàm MAX, MIN, SUM hay

AVERAGE đ嘘i v噂i các giá tr鵜 s嘘 l逢ợng và tr丑ng s嘘 của các mục con của nó.

Tuy nhiên, n院u sử dụng công thức MIN hoặc AVERAGE thì s嘘 l逢ợng và

tr丑ng s嘘 của mục cha s胤 nhỏ h挨n của mục con của nó trong nhiều tr逢運ng hợp.

Điều này là không th詠c t院, do mục cha là mức khái quát của mục con nên s嘘

l逢ợng và tr丑ng s嘘 của nó không th吋 nhỏ h挨n của mục con của nó. Bên c衣nh

đó, n院u tính theo công thức SUM của s嘘 l逢ợng hay tr丑ng s嘘 của các mục con

thì giá tr鵜 s嘘 l逢ợng, tr丑ng s嘘 của mục cha s胤 l噂n h挨n của mục con rất nhiều,

nhất là các mục cha gần nút g嘘c. N院u ng逢ỡng khai thác đủ l噂n thì ch雨 có các

mục cha xuất hiện trong các FI khai thác đ逢ợc, các nút con có vai trò nhỏ h挨n

nên s胤 không thỏa mưn ng逢ỡng, điều này không ph違n ánh đúng th詠c t院 của

các CSDL. Do đó, trong lu壱n án nƠy xác đ鵜nh s嘘 l逢ợng và tr丑ng s嘘 của mục

cha bằng cách lấy MAX của s嘘 l逢ợng và tr丑ng s嘘 của các mục con của nó.

Cách xác đ鵜nh nƠy đ違m b違o s嘘 l逢ợng và tr丑ng s嘘 của mục cha l噂n h挨n nh逢ng

không quá khác biệt v噂i s嘘 l逢ợng và tr丑ng s嘘 của mục con của nó.

Định nghĩa 3.5. Tr丑ng s嘘 của mục cha trên cây phân cấp bằng tr丑ng s嘘

l噂n nhất của tr丑ng s嘘 các mục con của nó 荏 nút lá:

Page 92: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

78

weight(A) = max(weight(A1), weight(A2), …, weight(Ak))

Trong đó A là mục cha trên cây phân cấp, A1, A2, ...,Ak là các nút lá của A

Ví dụ 3.2: weight(K) = max(weight(C), weight(B), weight(F)) =

max(0,5; 0,2;0,1) = 0,5

Định nghĩa 3.6. S嘘 l逢ợng của mục cha trên cây phân cấp 荏 trong giao

d鵜ch nào thì bằng s嘘 l逢ợng l噂n nhất của s嘘 l逢ợng các mục con của nó 荏 trong

giao d鵜ch đó.

quantity(A) ∈ tk = max(quantity(A1), quantity(A2), …, quantity(Ak))

Trong đó: A, A1, A2, ...,Ak ∈tk và A1, A2, ..., Ak là con của A trên cây phân

cấp.

Ví dụ 3.3: quantity(K) ∈ t5 = max(quantity(B), quantity(C),

quantity(F))(do B, C, F ∈t5) = max(2; 2; 1) = 2

Định nghĩa 3.7. T壱p mục X ∈ 岫I 姦 J) v噂i I là t壱p các mục trong CSDL

(t壱p nút lá trên cây phân cấp) và J là t壱p các mục cha trên cây phân cấp đ逢ợc

g丑i là phổ bi院n n院u wus(X) 半 minwus, v噂i minwus do ng逢運i dùng xác đ鵜nh

tr逢噂c.

3.2. Thu壱t toán khai thác FWUI trên HQDB

Đ吋 khai thác FWUI trên HQDB bao g欝m c違 các mục cha trên cây phân

cấp, cần xác đ鵜nh weight cho các mục cha (theo Đ鵜nh nghƿa 3.5), đ欝ng th運i

cần xác đ鵜nh s嘘 l逢ợng cho các mục cha (theo Đ鵜nh nghƿa 3.6) trong mỗi giao

d鵜ch khi thêm các mục cha này vào trong các giao d鵜ch (theo Đ鵜nh nghƿa 3.4).

3.2.1. Thuật toán xác định weight cho các mục cha

Thu壱t toán xác đ鵜nh weight cho các mục cha trên cây phân cấp theoĐ鵜nh

nghƿa 3.5 đ逢ợc trình bày nh逢 sau:

Page 93: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

79

Thuật toán3.1: CALCULATION_WEGHTED

Input: R là gốc cây phân cấp Tr.

- Output: WA = {h, weght(h), h là các nút cha trên Tr}

- Method name: CALCULATION_WEGHTED()

1

2

3

4

5

6

CALCULATION_WEGHTED(R)

for all r ∈ child of R do

if (weight(r) = 0)then

CALCULATION_WEGHTED(r);

else

weight(R) = max(weight(R), weight(r));

ChènR.weightvào WeightTable;

Hình 3.2. Thuật toán tính weight cho các mục cha

Thu壱t toán CALCULATION_WEGHTED trong Hình3.2 là m瓜t thu壱t toán

đệ quy. Bắt đầu từ R là g嘘c của cây phân cấp. Duyệt h院t toàn b瓜 cơy đ吋 xác đ鵜nh

weight của các mục cha. Mỗi khi xác đ鵜nh đ逢ợc weight của m瓜t mục cha (line 6)

nó s胤 đ逢ợc chèn vào WeightTable (b違ng WeightTable) chứa weight của tất c違

các mục trong CSDL).

3.2.2. Thuật toán thêm mục cha vào CSDL

Thu壱t toán thêm các mục cha vƠo CSDL đ欝ng th運i xác đ鵜nh weight cho

các mục cha trong các giao d鵜ch đ逢ợc trình bƠy nh逢 Hình 3.3 sau đơy:

Thuật toán 3.2: ADD_PARENT

Input: CSDL HD và cây phân cấpTr.

- Output: CSDL HD (HD + các mục nút cha được chèn vào trong các giao dịch)

- Method name: ADD_PARENT()

1

2

ADD_PARENT (R)

for all t ∈HD do

for all i ∈ t do

Page 94: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

80

3

4

5

6

7

8

if (∀r Tr|r là cha của i) then

if (r t) then

r.quantity = max(r.quantity, i.quantity);

else

t←r;

r.quantity = i.quantity;

Hình 3.3. Thuật toán thêm mục cha vào CSDL

Thu壱t toán ADD_PARENT() quét lần l逢ợt từng giao d鵜ch trong CSDL,

v噂i mỗi mục trong CSDL tìm các mục cha của nó trên cây cấp và thêm vào

CSDL n院u các mục cha nƠy ch逢a đ逢ợc thêm vào b荏i m瓜t mục nào trong cùng

phân giao d鵜ch. Dòng 1, quét từng dòng CSDL. Dòng 2, quét từng mục trên

mỗi giao d鵜ch. Dòng 3, tìm các r là mục cha của i trên cây phân cấp Tr. Dòng

4 đ院n dòng 8, ki吋m tra xem mục r đư đ逢ợc chèn vƠo CSDL tr逢噂c đó ch逢a,

n院u đư chèn r欝i thì xác đ鵜nh l衣i s嘘 l逢ợng cho r theo Đ鵜nh nghƿa 3.6, còn n院u

ch逢a chèn thì chèn r vào giao d鵜ch t v噂i quantity bằng quantity của mục i.

3.2.3. Thuật toán khai thác FWUI

3.2.3.1. Cấu trúc HIT–tree

Đ吋 khai thác FWUI trên HQDB theo Đ鵜nh nghƿa 3.6, lu壱n án đề ngh鵜 sử

dụng cấu trúc HITậtree. HITậtree là m瓜t m荏 r瓜ng của ITậtree [54]. HITậtree

g欝m nhiều mức, mỗi mức g欝m nhiều l噂p t逢挨ng đ逢挨ng, mỗi l噂p t逢挨ng đ逢挨ng

bao g欝m nhiều nút. Mỗi nút bao g欝m ba thành phần: X, tidset(X), wus(X) trong đó X là m瓜t t壱p mục, tidset(X) là t壱p các giao d鵜ch chứa X và wus(X) là

đ瓜 hỗ trợ tr丑ng s嘘 h英u ích của X đ逢ợc xác đ鵜nh theo công thức 1.4. Mỗi l噂p

t逢挨ng đ逢挨ng đ逢ợc t衣o ra từ s詠 k院t n嘘i m瓜t mục cha 荏 l噂p trên v噂i lần l逢ợt các

nút phía sau nó trong cùng l噂p t逢挨ng đ逢挨ng, nút m噂i đ逢ợc t衣o thành khi và

ch雨 khi wus(X) của nút đó thỏa mưn ng逢ỡng minwus.

Page 95: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

81

3.2.3.2. Thuật toán khai thác FWUI

Thuật toán 3.3: MINE_FWUIs

Input: HQDB HD, cây phân cấp Tr và ngưỡng minwus

Output: HIT–tree chứa các FWUI.

Method name: MINE_FWUIs()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

MINE_FWUIs()

for all R ∈ TR do

CALCULATION_WEIGHTED(R);

ADD_PARENT();

F = { i ∈ (I姦 J), wus_i 半 minwus};

HIT–tree = ∅;

CREATE_HIT–tree(F)

P = ∅;

for all i ∈ F do

for j ∈ F(vớij>i)do //j phía sau i

X = Fi 姦Fj;

if (∀x’∈X ¬ x╊ ∈ X: parent(x’) = x╊)then

T = tidset(Fi) 堪 tidset(Fj) ;

if (wus_X 半 minwus) then

P = P 姦 X, T, wus_X; HIT–tree = HIT–tree 姦 X, T, wus_X; CREATE_HIT–tree(P); // gọi đệ quy với lớp P

Hình 3.4. Thuật toán khai thác FWUI từ HQDB

Ví dụ 3.4: Thu壱t toán MINE_FWUIs trong Hình 3.4 v噂i CSDL HD

trong ví dụ 3.1 và minwus = 0,6 nh逢 sau:

Dòng 2, thủ tục ADD_PARENT() cho k院t qu違 nh逢 B違ng 3.4. Việc thêm

các mục cha, s嘘 l逢ợng mục cha vƠo CSDL đ逢ợc th詠c hiện theo Đ鵜nh nghƿa

3.4 và 3.6, việc thêm tr丑ng s嘘 các mục cha theo Đ鵜nh nghƿa 3.5, ta có k院t qu違

Page 96: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

82

là B違ng 3.4 vƠ 3.5. Đ欝ng th運i, twu của các giao d鵜ch đ逢ợc tính nh逢 trong

B違ng 3.6.

B違ng 3.4. Giao d鵜chcủa HD B違ng 3.5. Tr丑ng s嘘

ID A B C D E F G H K Item Trọng số

t1 1 1 0 2 1 0 1 2 1 A 0,3

t2 0 1 3 0 1 0 3 0 3 B 0,2

t3 2 1 0 2 2 2 1 2 2 C 0,5

t4 3 1 1 0 1 0 1 3 1 D 0,6

t5 1 2 2 1 3 1 2 1 2 E 0,9

t6 0 1 1 1 0 1 1 1 1 F 0,1

G 0,5

H 0,6

K 0,5

B違ng 3.6. twu của các giao d鵜ch

ID twu

t1 ど,ぬ + ど,に + に × ど,は + ど,ひ + ど,の + に × ど,は + ど,のば = 0,68

t2 ど,に + ど,の × ぬ + ど,ひ + ど,の × ぬ + ど,の × ぬの = 1,12

t3 ど,ぬ × に + ど,に + ど,は × に + ど,ひ × に + ど,な × に + ど,の + ど,は × に + ど,の × にぱ = 0,84

t4 ど,ぬ × ぬ + ど,に + ど,の + ど,ひ + ど,の + ど,は × ぬ + ど,のの = 0,76

t5 ど,ぬ + ど,に × に + ど,の × に + ど,は + ど,ひ × ぬ + ど,な + ど,の × に + ど,は × ど,の × にひ = 0,84

t6 ど,に + ど,の + ど,は + ど,な + ど,の + ど,は + ど,のば = 0,43

Sum_twu = 4,67

Dòng 4, t壱p F (1–itemset phổ bi院n) g欝m {A, B, C, D, E, G, H, K} nh逢

B違ng 3.7:

Page 97: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

83

B違ng 3.7. T壱p 1–itemset phổ bi院n

mục wus F

A ど,はぱ + ど,ぱね + ど,ばは + ど,ぱねね,ばは = 0,65 A

B ど,はぱ + な,なに + ど,ぱね + ど,ばは + ど,ぱね + ど,ねぬね,ばは = 1,0 B

C な,なに + ど,ばは + ど,ぱね + ど,ねぬね,ばは = 0,67 C

D ど,はぱ + ど,ぱね + ど,ぱね + ど,ねぬ岻ね,ばは = 0,6 D

E ど,はぱ + な,なに + ど,ぱね + ど,ばは + ど,ぱねね,ばは = 0,91 E

F ど,ぱね + ど,ぱね + ど,ねぬね,ばは = 0,45

G ど,はぱ + な,なに + ど,ぱね + ど,ばは + ど,ぱね + ど,ねぬね,ばは = 1,0 G

H ど,はぱ + ど,ぱね + ど,ばは + ど,ぱね + ど,ねぬね,ばは = 0,76 H

K ど,はぱ + な,なに + ど,ぱね + ど,ばは + ど,ぱね + ど,ねぬね,ばは = 1,0 K

Từ dòng 6 đ院n dòng 16 thủ tục đệ quy CREATE_HIT–tree() xây d詠ng

cây HITậtree, sau khi xây d詠ng xong cây HIT-tree v噂i ng逢ỡng minwus, các

t壱p mục t衣i các nut trên cây HIT-tree là FWUI cần khai thác. Cây HIT-tree

v噂i ng逢ỡng minwus = 0,6 của CSDL HD nh逢 Hình 3.5.

Hình 3.5. Cây HITậtree v噂i CSDL HD và minwus = 0,6

Page 98: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

84

Xét nút A trên cây HIT–tree:

A k院t hợp v噂i B: tidset(AB) = tidset(A) 堪 tidset(B) = {1, 3, 4, 5} 堪 {1, 2,

3, 4, 5, 6} = {1, 3, 4, 5}, wus(AB) = 0,68 >minwus⟹ k院t n衣p AB vào HITậ

tree.

A k院t hợp v噂i C: tidset(AC) = tidset(A) 堪 tidset(C) = {1, 3, 4, 5} 堪 {2, 4,

5, 6} = {4, 5}, wus(AC) = 0,34 <minwus ⟹ không k院t n衣p AC vào HITậtree.

T逢挨ng t詠 k院t n衣p {AE, AG, AK} vào HITậtree.

A k院t hợp v噂i H, không xét do H là cha của A trên cây phân cấp.

T逢挨ng t詠 v噂i các nút B, C, D, E, G, H, K ta có cây HITậtree nh逢 Hình

3.5 có các nút là FWUI.

3.3. M瓜t s嘘 c違i ti院n nâng cao hi羽u qu違 khai thác FWUI trên HQDB

3.3.1. Cấu trúc EDBV

Thu壱t toán Eclat đ逢ợc Zaki và các đ欝ng s詠 [54] đề xuất d詠a trên ITậtree

có hiệu qu違 về mặt th運i gian so v噂i các ph逢挨ng pháp khác. Tuy nhiên b瓜 nh噂

dùng đ吋 l逢u tr英 tidset của các t壱p mục là rất l噂n, đơy chính lƠ h衣n ch院 của

ph逢挨ng pháp nƠy. Gi違i quy院t đ逢ợc vấn đề b瓜 nh噂 s胤 nâng cao hiệu qu違 về mặt

th運i gian của ti院p c壱n này.

Zaki và các đ欝ng s詠 [55] đề xuất sử dụng kƿ thu壱t diffset thay cho tidset.

Kƿ thu壱t diffset là m瓜t gi違i pháp hiệu qu違 nhằm rút g丑n b瓜 nh噂 so v噂i tidset,

đ欝ng th運i giúp tính nhanh đ瓜 hỗ trợ trong bài toán khai thác FI. Tuy nhiên, do

đặc đi吋m diffset là lấy phần bù của tidset nên diffset không có hiệu qu違 trên

các CSDL th逢a.

Vo và các đ欝ng s詠 [43] đề xuất DBV nhằm rút g丑n b瓜 nh噂 l逢u tr英 tidset

bằng BitTable [13] và rút ngắn th運i gian tính toán. Cách ti院p c壱n này khá hiệu

qu違 khi lo衣i bỏ hoàn toàn các byte 0 荏 đầu và cu嘘i trên bitậvector và sử dụng

Page 99: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

85

phép AND trên bit đ吋 tính giao tidset của hai t壱p mục. Đ欝ng th運i sử dụng m瓜t

m違ng LOOKUP đ吋 đ鵜nh nghƿa tr逢噂c s嘘 l逢ợng các bit 1 trong các byte, điều

này giúp tính nhanh đ瓜 hỗ trợ của các t壱p mục thông qua DBV. Từ đó DBV

đ逢ợc sử dụng v噂i m違ng mà mỗi phần tử là m瓜t byte. Đơy lƠ m瓜t h衣n ch院 l噂n

của DBV, do khi tính giao gi英a hai DBV của các t壱p mục ph違i sử dụng nhiều

phép toán AND trên bit gi英a các byte của hai DBV.

Cấu trúc MBiS đ逢ợc đề xuất vƠ trình bƠy trong ch逢挨ng 2 lƠ cấu trúc l逢u

gi英 các đo衣n bit 1 liên ti院p nhau trên BitTable. MBiS có đặc đi吋m là xác đ鵜nh

giao gi英a các tidset thông qua MBiS rất nhanh, do ch雨 cần c壱p nh壱t l衣i các đầu

và cu嘘i mỗi đo衣n. Tuy nhiên, cấu trúc MBiS s胤 không có hiệu qu違 nhiều trên

các d英 liệu l噂n do tính phân m違nh của tidset rất l噂n d磯n đ院n MBiS rất t嘘n b瓜

nh噂 đ吋 l逢u tr英 và t嘘n th運i gian trong xác đ鵜nh giao do s嘘 đo衣n của mỗi MBiS

l噂n.

3.3.1.1. Xác định tidset của tập mục dựa trên EDBV

Lu壱n án đề xuất cấu trúc EDBV (Extend DBV) và EIWS (Extend DBV)

bằng cách sử dụng các s嘘 nguyên l噂n tám byte (Large Integer ậ LI) thay vì

các s嘘 nguyên m瓜t byte nh逢 DBV [29], MByS [17] và hai byte nh逢 IWS [34,

36] Sử dụng các LI giúp cho quá trình tính giao EDBV hay EIWS của hai t壱p

mục nhanh h挨n. Do mỗi phép AND trên bit th詠c hiện trên các LI, mỗi LI có

64 bit đ衣i diện cho 64 giao d鵜ch liên ti院p.

Tuy nhiên vấn đề đặt ra là làm th院 nƠo đ吋 tính đ逢ợc wus của t壱p mục v噂i

EDBV và EIWS v噂i các LI. Không đủ b瓜 nh噂 đ鵜nh nghƿa tr逢噂c m瓜t m違ng 264

phần tử đ吋 l逢u v鵜 trí các bit 1 của các s嘘 trong kho違ng từ 1 đ院n 264 nh逢 cách

làm trên MByS hay IWS.

Đ吋 tính nhanh tidset của t壱p mục phục vụ cho việc tính wus theo công

thức 1.4, lu壱n án đ鵜nh nghƿa tr逢噂c m瓜t m違ng MAP g欝m 216 (65536) phần tử

Page 100: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

86

nh逢 đ嘘i v噂i cấu trúc IWS. Trong đó, phần tử thứ i chứa m瓜t danh sách v鵜 trí

các bit 1 của i tính từ trái qua ph違i đ逢ợc mô t違 nh逢 B違ng 3.8:

B違ng 3.8. M違ng MAP v噂i 65.535 phần tử

Index 0 1 2 … 65.534 65.535

Value 0000000000000001 0000000000000001 0000000000000010 … 111..110 111..111

MAP Null 16 15 … 1, 2,.., 14, 15 1, 2,..,15, 16

Ti院p theo, sử dụng b嘘n phép AND trên bit v噂i 65.535 k院t hợp v噂i ba

phép d鵜ch ph違i bit đ吋 tách lần l逢ợt các s嘘 nguyên hai byte (word) từ ph違i qua

trái. Mỗi lần AND v噂i 65.535 ta đ逢ợc m瓜t word, ánh x衣 word vào MAP ta

đ逢ợc danh sách v鵜 trí các bit 1 trong word đó, từ đó ta xác đ鵜nh đ逢ợc ID giao

d鵜ch của các t壱p mục.

Ví dụ 3.5: Cho K là m瓜t LI, K = 178.455.221.385.174.000, bi吋u di宇n nh鵜 phân của K bao g欝m 64 bít nh逢 sau:

0000001001111010000000000001010000001110111110100001101111110000

Cụ th吋, s嘘 K đ逢ợc mô t違 nh逢 trong B違ng 3.9

B違ng 3.9. Bi吋u di宇n s嘘 nguyên K d逢噂i d衣ng b嘘n đo衣n, mỗi đo衣n là m瓜t word

Binary 0000001001111010 0000000000010100 0000111011111010 0001101111110000

Index 634 20 3.834 7.126

MAP 7,10,11,12,13,15 12,14 5,6,7,9,10,11,12,13,15 4,5,7,8,9,10,11,12

Đo衣n 1 2 3 4

634 20 3.834 7.126

AND

65.535 = 7.126 MAP[7.126] = {4, 5, 7, 8, 9, 10, 11, 12}

B逢噂c 1 → 0 634 20 3.834

AND

65.535 = 3.834 MAP[3.834]={5, 6, 7, 9, 10, 11, 12, 13, 15}

Page 101: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

87

Hình 3.6 mô t違 ba lần d鵜ch bit trên K đ吋 tách các word, sau đó ánh x衣 vào

MAP đ吋 có v鵜 trí các bit trong các word đư đ逢ợc đ鵜nh nghƿa tr逢噂c.

Định lý 3.1. Ch雨 s嘘 của bit 1 có v鵜 trí thứ i trong đo衣n thứ j của word thứ

k thu瓜c EDBV trên bitậvector là l đ逢ợc xác đ鵜nh theo công thức 3.1:

l = (k–1) × 64 + (j–1)×16 + i (3.1)

Trong đó:

ậ j là s嘘 hiệu đo衣n word của block

ậ i là ch雨 s嘘 m瓜t bit 1 trong đo衣n thứ j của block thứ k

ậ k là ch雨 s嘘 word của EDBV.

Chứng minh:

D宇 thấy tr逢噂c block thứ k có (k – 1) × 64 bit (do mỗi block tám byte có

64 bit). T逢挨ng t詠 tr逢噂c đo衣n thứ j có (j ậ 1) × 16 (mỗi đo衣n hai byte có 16

bit). Do đó, ch雨 s嘘 bit 1 thứ i của đo衣n thứ j thu瓜c block k trên bit ậ vector

đ逢ợc xác đ鵜nh theo công thức:

Index_bit–vector(i) =(k – 1) × 64 +(j – 1)×16 + i

Ví dụ 3.6: V噂i s嘘 K trong ví dụ 3.5, ta có t壱p v鵜 trí các bit 1 của K đ逢ợc

xác đ鵜nh nh逢 sau:

Word thứ 4: 7.126 có t壱p ch雨 s嘘 {4, 5, 7, 8, 9, 10, 11, 12} → {52, 53, 55,

56, 57, 58, 59, 60} do mỗi s嘘 đ逢ợc c瓜ng thêm v噂i (4 ậ 1) × 16 = 48 theo công

thức 3.1.

B逢噂c 2 → 0 0 634 20

AND

65.535 = 20 MAP[20] = {12, 14}

B逢噂c 3 → 0 0 0 634

AND

65.535 = 634 MAP[634] = {7, 10, 11, 12, 13, 15}

Hình 3.6. Sử dụng các phép AND và d鵜ch bit đ吋 tách các đo衣n hai byte

Page 102: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

88

Word thứ ba: 3.834 có t壱p ch雨 s嘘 {5, 6, 7, 9, 10, 11, 12, 13, 15} → {37,

38, 39, 41, 42, 43, 44, 45, 47}, do mỗi v鵜 trí đ逢ợc c瓜ng thêm (3 ậ 1) × 16 = 32

theo công thức 3.1.

Word thứ hai: 20 có t壱p ch雨 s嘘 {12, 14}→ {20, 22} do mỗi v鵜 trí đ逢ợc

c瓜ng thêm (2 ậ 1) × 16 = 16 theo công thức 3.1.

Word thứ nhất: 634 có t壱p ch雨 s嘘 {7, 10, 11, 12, 13, 15} t壱p này gi英

nguyên do đơy lƠ word s嘘 m瓜t nên (j ậ 1) = 0 v噂i j = 1

Do đó, t壱p hợp các index bit 1 của K là {7, 10, 11, 12, 13, 15, 20, 22, 37,

38, 39, 41, 42, 43, 44, 45, 47, 52, 53, 55, 56, 57, 58, 59, 60}.

3.3.1.2. Thuật toán tính nhanh wus của tập mục dựa trên mảng MAP

Tính wus theo công thức 1.4 lƠ thao tác th逢運ng xuyên trong các bài toán

khai thác FWUI. Do đó, đòi hỏi ph違i xác đ鵜nh đ逢ợc tidset của các t壱p mục

t逢挨ng ứng. D詠a trên m違ng MAP và Đ鵜nh lý 3.1, lu壱n án đề xuất thu壱t toán

xác đ鵜nh nhanh wus của t壱p mục d詠a trên m違ng MAP đ逢ợc trình bƠy nh逢

trong hình 3.7.

Thuật toán 3.4: FAST_ CALCULATION_WUS

Input: EDBV(X)

Output: wus củatập mục X

Methode name: FAST_CALCULATION_WUS()

1

2

3

4

5

6

7

FAST_CALCULATION_WUS(EDBV(X))

for all i EDBV(X) do //xét các word trong EDBV(X)

k = EDBV(X) [i];// lấy word thứ i

t = ぬ;// dùng để xác định vị trí các đoạn trong k

while (k > 0)

m = k &65535;// lấy đoạn thứ t trong k

pos = i × 64 +(t×16);

for all j MAP [m] do// xét danh sách với chỉ số m

Page 103: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

89

8

9

10

11

12

13

14

15

tidset(X)pos + j;// ánh xạ ra vị trí trên bit–vector

k = k >> 16;// k dịch phải 16 bít

t– – ;// chuyển sang đoạn tiếp theo trên k

y = 0;

for all i tidset(X) do

y + = twu [i];

wus = y/sum_twu;

return wus

Hình 3.7. Thuật toán tính nhanh wus của các tập mục

3.3.2. Tính tidset nút cha từ tidset nút con

Việc thêm các mục cha vào CSDL khi khai thác t壱p mục trên CSDL

phân cấp theo các ph逢挨ng pháp tr逢噂c đơy làm cho b瓜 nh噂 tăng lên vƠ t嘘n th運i

gian quét và chèn d英 liệu. Trong phần này, lu壱n án đề xuất gi違i pháp tính

tidset mục cha thông qua các mục con của nó trên cây phân cấp ậ là các mục

có trong CSDL g嘘c.

Định lý 3.2. Tidset của mục cha trên cây phân cấp đ逢ợc xác đ鵜nh bằng

hợp tidset các mục con của nó 荏 nút lá.

Nh逢 v壱y, tidset(X) = tidset(X1) 姦 tidset(X2) 姦...姦 tidset(Xk).

Trong đó X1, X2,..., Xk là các mục con 荏 nút lá của mục X.

Ví dụ 3.7: Xét CSDL HD, do H là cha của A và D trên cây phân cấp nên

tidset(H) = tidset(A) 姦tidset(D) = {1, 3, 4, 5} 姦 {1, 3, 5, 6} = {1, 3, 4, 5, 6}

Chứng minh: D宇 thấy từ Đ鵜nh nghƿa 3.3, các mục cha thu瓜c các giao

d鵜ch có chứa mục con của nó 荏 nút lá, do đó tidset của mục cha s胤 chính là

hợp tidset của tất c違 tidset các mục con của nó 荏 nút lá.

Thu壱t toán xác đ鵜nh tidset mục cha d詠a vào tidset mục con của nó đ欝ng

th運i tính twu của các giao d鵜ch đ逢ợc trình bƠy nh逢 trong Hình 3.8.

Page 104: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

90

Thuật toán 3.5: CREAT_TIDSET

Input: HQDB HD, minsup

Output: tập L chứa các 1–itemset

- Method name: CREAT_TIDSET()

1

2

3

4

5

6

7

8

9

10

11

12

13

CREAT_TIDSET(Tr)

for all t ∈ T do

twu [t] = 0;

L = ∅;

for all i ∈ t do

tidset(i) ← t;// cập nhật tidset cho mục i

twu [t] = twu [t] + quantity [i] ×weight [i];

for all h ∈ parent(i) of Tr do

tidset(h) ← t; //cập nhật tidset cho mục cha của i

weight(h) = max(weight(h), weight(i));

quantity (h) = max(quantity(h), quantity(i);

L← h;

for all l ∈ L do

twu [t] = twu [t] + quantity(l) ×weight(l);

Hình 3.8. Thuật toán xác định tidset các mục và tính twu của các giao dịch

Thu壱t toán CREAT_TIDSET() th詠c hiện nh逢 sau:

Dòng 2, quét lần l逢ợt từng giao d鵜ch, dòng 3, 4 gán các giá tr鵜 ban đầu

twu của giao d鵜ch t = 0, L = ∅ là t壱p các mục cha có nút con trong giao d鵜ch t.

Dòng 5 xét từng mục trong giao d鵜ch t. Dòng 6, xây d詠ng tidset của mục i.

Dòng 7 tính twu của giao d鵜ch t đ嘘i v噂i mục i (là các mục có sẵn trong

CSDL). Dòng 8, xét các mục cha của mục i. Dòng 9 xây d詠ng tidset cho mục

cha của h, dòng 10 vƠ 11 xác đ鵜nh weight và quantity cho mục h theo các

Đ鵜nh nghƿa 3.4 và 3.5. Dòng 12, k院t n衣p h vào Lật壱p các mục cha đ逢ợc thêm

Page 105: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

91

vào giao d鵜ch t. Dòng 13 và 14, tính twu [t] v噂i các mục cha có nút con trong

giao d鵜ch t.

Nh逢 v壱y, thu壱t toán CREAT_TIDSET() ch雨 cần m瓜t lần quét CSDL đư

xây d詠ng xong tidset của tất các các mục, đ欝ng th運i tính twu của các giao

d鵜ch mà không cần ph違i thêm các mục cha vƠo CSDL nh逢 thu壱t toán

MINE_FWUIs trong Hình 3.4. Bằng việc xác đ鵜nh tidset mục cha thông qua

các mục con trong các giao d鵜ch đư bỏ đ逢ợc công đo衣n tiêu t嘘n nhiều th運i

gian là quét và thêm các mục cha vào CSDL.

3.3.3. Kiểm tra mối quan hệ cha con đối với các mục trong tập mục

Dòng s嘘 11 trong thu壱t toán MINE_FWUIs 荏 Hình 3.4 có chức năng

ki吋m tra m嘘i quan hệ cha con của các cặp hai mục trong X–là mục m噂i t衣o

thành từ F i và F j, cũng gi嘘ng nh逢 Vo vƠ các đ欝ng s詠 [42] đư xét h院t tất c違 các

cặp phần tử trong X v噂i nhau (có tất c違 系賃態 cặp v噂i k là s嘘 l逢ợng mục của t壱p

mục X). Trong phần này lu壱n án đề xuất ph逢挨ng pháp ki吋m tra nhanh tính cha

con của các mục trong t壱p mục đ逢ợc t衣o thành trên HITậtree d詠a vào Đ鵜nh lý

3.2 nh逢 sau:

Đ鵜nh lý 3.3. Cho F i = X1X2...XkY1 và F j = X1X2…XkY2 là hai t壱p mục

thu瓜c hai nút bất kì trong cùng m瓜t l噂p t逢挨ng đ逢挨ng trên HITậtree, t壱p mục X

= F i 姦 F j = X1X2…XkY1Y2. Ta nói rằng trong X không t欝n t衣i hai cặp mục nào

có quan hệ cha con khi và ch雨 khi Y1 và Y2 không có quan hệ cha con v噂i

nhau.

Chứng minh: Th壱t v壱y, F i = X1X2...XkY1, F j = X1X2...XkY2 và X =

X1X2...XkY1Y2. Do F i và F j thu瓜c các nút trên HITậtree nên không t欝n t衣i cặp

mục nào có quan hệ cha con trong F i và F j →Y1 và Y2 không có m嘘i quan hệ

cha con v噂i các mục trong t壱p{X1X2...Xk}. Đ欝ng th運i t壱p mục X1X2...Xk thu瓜c

Page 106: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

92

mục cha của F i và F j trên HITậtree, do đó X1X2…Xk không t欝n t衣i m嘘i quan

hệ cha con gi英a các mục. Do đó, các mục trong X không có m嘘i quan hệ cha

con khi và ch雨 khi cặp {Y1, Y2} không có m嘘i quan hệ cha con v噂i nhau trên

cây phân cấp Tr.

3.3.4. Thuật toán khai thác nhanh FWUI trên HQDB

D詠a trên các c違i ti院n đư trình bƠy 荏 trên, thu壱t toán khai thác nhanh

FWUI từ HQDB có tên FAST_MINE_FWUIs đ逢ợc đề xuất trong phần này.

Trong đó module ADD_PARENT() đ逢ợc sử dụng trong thu壱t toán

MINE_FWUIs không còn đ逢ợc sử dụng trong thu壱t toán này. Đ欝ng th運i cấu

trúc EDBV v噂i các phần tử là các LI và việc ki吋m tra nhanh m嘘i quan hệ gi英a

các mục trong t壱p mục đ逢ợc thi院t l壱p.

Thuật toán3.6: FAST_MINE_FWUIs

Input: HQDBHD và độ đo minwus

Output: HIT–tree chứa tất cả các FWUI

Method name: FAST_MINE_FWUIs()

1

2

3

4

5

6

7

8

9

10

FAST_MINE_FWUIs()

CREATE_TIDSET(Tr)

F = { i ∈ (I 姦 J), wus_i 半 minwus}; //tâp 1–itemset thỏa mãn minwus

HIT–tree = ∅;

CREATE_HIT–TREE(F)

P = ∅; // khởi tạo một lớp mới

for all i ∈ F do

for j ∈ F (vớij>i)do //duyệt các j sau i

if (Y1parent(Y2) and Y1parent(Y2)) then

X = Fi姦 Fj;

T = EDBV(Fi) 堪 EDBV(Fj); //T là EDBV củaX

Page 107: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

93

11

12

13

14

15

wus_X = FAST_CALCULATION_WUS(X);

if (wus_X 半 minwus)then

P = P 姦 X, T, wus_X; HIT–tree = HIT–tree 姦 X, T, wus_X; CREATE_HIT–TREE(P)

Hình 3.9. Thuật toán khai thác nhanh FWUI trên HQDB

Thu壱t toán FAST_MINE_FWUIs() trong Hình 3.9 sử dụng thủ tục

CREATE_TIDSET() v噂i m瓜t lần quét CSDL đ吋 xây d詠ng tidset của các mục

bao g欝m c違 các mục thu瓜c mục cha trên cây phân theo Đ鵜nh lý 3.2. Bên c衣nh

đó, thu壱t toán này tính twu của tất c違 các giao d鵜ch. Dòng 10 của thu壱t toán

MINE_FWUIs() ki吋m tra toàn b瓜 các cặp mục trong t壱p mục X đ逢ợc thay

bằng dòng 8 trong FAST_MINE_FWUIs() v噂i việc ki吋m tra đúng m瓜t cặp (Y1,

Y2), trong đóY1, Y2 lần l逢ợt là các phần tử cu嘘i cùng của F i và F j theo Đ鵜nh lý

3.3. Dòng 12 trong MINE_FWUIs() đ逢ợc thay th院 bằng dòng 10 trong

FAST_MINE_FWUIs() v噂i việc sử dụng cấu trúc EDBV thay cho cấu trúc

DBV.

3.4. K院t qu違 th詠c nghi羽m

3.4.1. CSDL thực nghiệm

CSDL th詠c nghiệm bao g欝m ba CSDL SALEậFACTậ1997, SALEậ

FACTậ1997+1998 và SALEậFACTậSYNC đ逢ợc cho trong b違ng 2.7. Đơy lƠ

các HQDB rút ra từ CSDL Foodmart2000 của SQL2000. B違ng 3.10 mô t違 về

các CSDL:

B違ng 3.10. Mô t違 CSDL th詠c nghiệm

Tên CSDL S嘘 l逢ợng giao d鵜ch

SALEậFACTậ1997 20.522

SALEậFACTậ1997+1998 54.537

Page 108: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

94

SALEậFACTậSYNC 58.308

Các CSDL có chung cây phân cấp g欝m sáu cấp đ逢ợc trình bày cụ th吋

trong B違ng 3.11

B違ng 3.11. Các mức trên cây phân cấp

Mức Tên các mức S嘘 l逢ợng nút

1 Product_family 3

2 Product_department 24

3 Product_category 48

4 Product_subcategory 56

5 Product_class 110

6 Product 1560

Theo B違ng 3.11 các CSDL th詠c nghiệm có ba cây phân cấp (mức m瓜t có

ba nút). Đ瓜 cao của cây phân cấp là sáu (có sáu cấp).

3.4.2. Kết quả thực nghiệm

3.4.2.1. So sánh bộ nhớ

B違ng 3.12. So sánh b瓜 nh噂 và s嘘 l逢ợng các mục

CSDL So sánh MINE_FWUIs FAST_MINE_F WUIs

SALEậFACTậ1997 S嘘 l逢ợng mục 275.539 86.837

B瓜 nh噂 13,52 MB 4,65 MB

SALEậFACTậ1997+1998

S嘘 l逢ợng mục 783.639 251.395

B瓜 nh噂 38,16 MB 13,46 MB

SALEậFACTậSYNC

S嘘 l逢ợng mục 840.079 269.720

B瓜 nh噂 40,92 MB 14,44 MB

B違ng 3.12 th吋 hiện việc thêm và không thêm các mục thu瓜c mục cha

trên cây phân cấp gi英a hai thu壱t toán MINE_FWUIs và

Page 109: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

95

FAST_MINE_FWUIs. S嘘 l逢ợng mục vƠ dung l逢ợng b瓜 nh噂 tăng lên đáng k吋

sau khi thêm các mục cha trên cây phân cấp vào CSDL.

Ví dụ v噂i CSDL SALEậFACTậ1997, s嘘 l逢ợng mục ban đầu là 86.837,

sau khi thêm các mục cha lƠ 275.539, nh逢 v壱y việc thêm mục cha trên cây

phân cấp làm s嘘 l逢ợng mục tăng 317%. T逢挨ng t詠 nh逢 v壱y, dung l逢ợng d英

liệu là 4,65 MB, sau khi thêm mục cha là 13,52 MB, nh逢 v壱y dung l逢ợng d英

liệu tăng 290%.

3.4.2.2. So sánh hàm MAX và SUM

Trong mục này, lu壱n án th嘘ng kê s嘘 l逢ợng và % GậFWUI (Generalized

FWUI: là các FWUI chứa ít nhất m瓜t mục cha trên cây phân cấp) trên CSDL

SALEậFACTậSYNC v噂i 02 ng逢ỡng minwus khá nhỏ là 0,001% và 0,003%.

Đ欝ng th運i, so sánh s嘘 l逢ợng và % GậFWUI khai thác đ逢ợc khi sử dụng hàm

MAX và SUM khi xác đ鵜nh tr丑ng s嘘 của các mục cha và s嘘 l逢ợng của các

mục cha trong từng giao d鵜ch.

B違ng 3.13. Th詠c nghiệm trên CSDL SALEậFACTậSYNC

S嘘

cấp

minwus = 0,001% minwus = 0,003%

GậFWUI GậFWUI

Max Sum Max Sum

% S嘘 l逢ợng % S嘘 l逢ợng % S嘘 l逢ợng % S嘘 l逢ợng

0 1559 102

3 65,57% 4.528 73,99% 5.993 62,3% 818 87,53% 1.719

4 92,84% 21.783 95,48% 34.476 90,50% 4.128 97,52% 6.821

5 98,49% 103.292 99,16% 185.371 97,88% 1.906 99,43% 30.612

6 98,97% 151.435 99,43% 274.248 98,58% 26.580 99,62% 45.827

Page 110: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

96

S嘘 liệu th詠c nghiệm từ b違ng 3.13 v噂i CSDL SALEậFACTậSYNC cho

thấy cơy có đ瓜 cao cƠng l噂n thì s嘘 l逢ợng các FWUI khai thác đ逢ợc cƠng l噂n,

điều nƠy lƠ hợp lý do cƠng có nhiều mục cha đ逢ợc thêm vƠo CSDL h挨n.

T逢挨ng t詠 nh逢 th院, s嘘 l逢ợng GậFWUI cũng đ逢ợc khai thác nhiều h挨n.

So sánh % vƠ s嘘 l逢ợng GậFWUI khai thác đ逢ợc khi sử dụng công thức SUM vƠ MAX cũng có s詠 khác biệt đáng k吋, trong đó s嘘 l逢ợng khi sử dụng

hƠm SUM l噂n h挨n khá nhiều so v噂i hƠm MAX trong cùng m瓜t ng逢ỡng phổ

bi院n wus. Ví dụ v噂i wus = 0,003% vƠ cơy phơn cấp có sáu cấp, s嘘 l逢ợng Gậ

FWUI khi sử dụng hƠm MAX lƠ 26.580, khi sử dụng hƠm SUM lƠ 45.827. Do

khi sử dụng hƠm SUM s胤 t衣o ra các mục cha có s嘘 l逢ợng vƠ tr丑ng s嘘 khá l噂n,

do nó khi k院t hợp các mục cha nƠy v噂i nhiều mục khác (có s嘘 l逢ợng vƠ tr丑ng

s嘘 nhỏ) s胤 t衣o ra nhiều GậFWUI.

Từ các s嘘 liệu trên có th吋 thấy khi sử dụng hàm SUM s胤 khó ki吋m soát

s嘘 l逢ợng các FWUI khai thác đ逢ợc so v噂i sử dụng hƠm MAX, đ欝ng th運i

nhiều FWUI s胤 không th詠c t院 do các mục có tr丑ng s嘘 và s嘘 l逢ợng thấp nh逢ng

đ逢ợc k院t hợp v噂i các mục cha có tr丑ng s嘘 và s嘘 l逢ợng l噂n nên thỏa mãn

ng逢ỡng minwus, do đó các FWUI nƠy th逢運ng là các FWUI không “mong

đợi” đ嘘i v噂i ng逢運i sử dụng. Do v壱y sử dụng hàm MAX d宇 ki吋m soát và th詠c

t院 h挨n. 3.4.2.3. So sánh thời gian

K院t qu違 th詠c nghiệm trên ba CSDL cho trong B違ng 3.10v噂i thu壱t toán

MINE_FWUIs khi sử dụng các cấu trúc DBV, MBiS, EDBV và EIWS đ逢ợc

ch雨 ra trong các hình 3.10ậ3.12:

Page 111: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

97

Hình 3.10. So sánh th運i gian trên CSDL SALEậFACTậ1997

Hình 3.11. So sánh th運i gian trên CSDLSALEậFACTậ1997+1998

Hình 3.12. So sánh th運i gian trên CSDL SALEậFACTậSYNC

Hình 3.10ậ3.12 so sánh th運i gian ch衣y của b嘘n cấu trúc DBV, MBiS,

EDBV và EIWS v噂i thu壱t toán MIN_FWUIs. K院t qu違 ch雨 ra rằng thu壱t toán

308,02

234,82

174,82

156,32

,000

50,000

100,000

150,000

200,000

250,000

300,000

350,000

,300 ,200 ,100 ,060 ,030 ,010

tim

e (

s)

minwus (%)

DBV

MBiS

EDBV

EIWS

2634,16

2228,732

1028,981

899,458

0

500

1000

1500

2000

2500

3000

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minwus(%)

DBV

MBiS

SDBV

EIWS

2757,776

2109,512

1292,55

910,23

0

500

1000

1500

2000

2500

3000

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minwus(%)

DBV

MBiS

EDBV

EIWS

Page 112: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

98

MINE_FWUIs hiệu qu違 nhất khi sử dụng cấu trúc EIWS. Ví dụ, CSDL

SALEậFACTậ1997, v噂i ng逢ỡng minwus = 0,01%, th運i gian ch衣y v噂i DBV,

MBiS, EDBV và EIWS lần l逢ợt là 308,022s, 234,823s, 174,823s và 156,321s.

Nh逢 v壱y EIWS nhanh h挨n EDBV, MBiS vàDBV lần l逢ợt là 1,12; 1,34 và

1,76 lần.

K院t qu違 th詠c nghiệm v噂i thu壱t toán FAST_MINE_FWUIs và

MINE_FWUIs đ逢ợc trình bày qua các Hình 3.13ậ3.15:

Hình 3.13. So sánh th運i gian trên CSDL SALEậFACTậ1997

Hình 3.14. So sánh th運i gian trên CSDL SALEậFACTậ1997+1998

Hình 3.15. So sánh th運i gian trên CSDL SALEậFACTậSYNC

156,321

45,563

0

50

100

150

200

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minwus(%)

MINE_FWUIs- EIWS

FAST_MINE_FWUIs-EIWS

393,452

899,458

0

200

400

600

800

1000

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minwus(%)

FAST_MINE_FWUIs-EIWS

MINE_FWUIs-EIWS

495,872

1021,441

0

500

1000

1500

0,3 0,2 0,1 0,06 0,03 0,01

tim

e(s

)

minwus(%)

FAST_MINE_FWUIs -EIWS

MINE_FWUIs - EIWS

Page 113: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

99

Hình 3.13ậ3.15 ch雨 ra s詠 hiệu qu違 của thu壱t toán FAST_MINE_FWUIs

so v噂i MINE_FWUIs khi cùng sử dụng cấu trúc EIWS. Điều này th吋 hiện các

逢u đi吋m của việc không chèn thêm mục cha vƠo CSDL vƠ xác đ鵜nh nhanh

m嘘i quan hệ cha con của t壱p mục t衣o thành từ hai t壱p mục trong cùng m瓜t l噂p

t逢挨ng đ逢挨ng trên HITậtree. Cụ th吋 ta có k院t qu違 đ嘘i v噂i CSDL SALEậ

FACTậ1997 nh逢 trong B違ng 3.14 sau đơy:

B違ng 3.14. So sánh th運i gian ch衣y trên CSDL SALEậFACTậ1997

Thuật toán

minwus

MINE_FWUIs FAST_MINE_FWUIs

DBV MBiS EDBV EIWS EDBV EIWS

0,3% 18,413 16,687 11,687 6,213 4,687 2,333

0,2% 45,597 33,537 21,537 12,382 11,537 6,431

0,1% 57,263 42,031 26,031 19,324 17,031 10,123

0,06% 71,821 60,923 30,923 28,412 24,923 14,244

0,03% 121,462 90,767 52,767 45,463 30,767 18,549

0,01% 308,022 234,823 174,133 156,321 90,651 45,563

Từ b違ng 3.14, v噂i minwus = 0,01% thu壱t toán FAST_MINE_FWUIs v噂i

cấu trúc EDBV có th運i gian ch衣y là 90,651s nhanh h挨n thu壱t toán

MINE_FWUIs (174,133s) là 1,93 lần. Điều này cho thấy tính hiệu qu違 của

việc không thêm mục cha vào CSDL và việc xác đ鵜nh nhanh m嘘i quan hệ cha

con của các mục trong t壱p mục t衣o thành từ hai t壱p mục trong cùng m瓜t l噂p

t逢挨ng đ逢挨ng của HITậtree.

Bên c衣nh đó, cấu trúc EIWS cho thấy hiệu qu違 khá t嘘t so v噂i các ph逢挨ng

pháp khác. Ví dụ v噂i minwus = 0,01%, thu壱t toán FAST_MINE_FWUIs v噂i

cấu trúc EDBV có th運i gian ch衣y là 90,651s, v噂i cấu trúc EIWS có th運i gian

Page 114: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

100

ch衣y lƠ 45,563s. Nh逢 v壱y sử dụng cấu trúc EIWS nhanh h挨n 49,8% so v噂i

cấu trúc EDBV.

3.5. K院t lu壱n ch逢挨ng

Ch逢挨ng nƠy của lu壱n án đề xuất hai cấu trúc EDBV và EIWS v噂i các

phần tử là các LI, đơy lƠ các m荏 r瓜ng của DBV vƠ IWS. Đ欝ng th運i đề xuất sử

dụng m違ng MAP đ鵜nh nghƿa tr逢噂c v鵜 trí các bit 1 của các s嘘 nguyên hai byte

và sử dụng các phép d鵜ch và AND bit đ吋 “cắt” các word (hai byte) từ các LI

đ吋 ánh x衣 vào m違ng MAP đ吋 tính tidset của các t壱p mục giúp tính nhanh wus

của chúng. Các k院t qu違 th詠c nghiệm từ Hình 3.10ậ3.12 đư cho thấy hiệu qu違

của EIWS vƠ EDBV đ嘘i v噂i các cấu trúc tr逢噂c đó trên ba CSDL th詠c nghiệm

lấy từ b違n Foodmart2000 của SQL2000.

Bên c衣nh đó, ch逢挨ng nƠy đề xuất hai đ鵜nh lý nhằm t嘘i 逢u b瓜 nh噂 và ti院t

kiệm th運i gian khai thác FWUI trên HQDB. Thứ nhất, Đ鵜nh lý 3.2 đ逢a ra

cách xác đ鵜nh tidset mục cha thông qua tidset của các mục con 荏 nút lá trên

cây phân cấp. Bằng đ鵜nh lý này, việc khai thác trên HQDB không t嘘n th運i

gian thêm mục cha vào các giao d鵜ch của HQDB nh逢 các ph逢挨ng pháp tr逢噂c

đơy và đ欝ng th運i không t嘘n b瓜 nh噂 đ吋 l逢u tr英 các mục cha này trong CSDL,

điều này th壱t s詠 có hiệu qu違, nhất là trên các CSDL có nhiều cây phân cấp và

đ瓜 sâu của các cây phân cấp là l噂n. Thứ hai, Đ鵜nh lý 3.3 chứng minh việc xác

đ鵜nh trong t壱p mục m噂i t衣o thành từ hai t壱p mục cùng l噂p t逢挨ng đ逢挨ng trên

HIT ậ tree bằng cách ki吋m tra m嘘i quan hệ của đúng m瓜t cặp mục cu嘘i của

t壱p mục m噂i. Trong khi các ph逢挨ng pháp tr逢噂c đơy ki吋m tra 2× (m ậ 1) cặp

v噂i m là s嘘 l逢ợng mục của t壱p mục cần ki吋m tra. K院t qu違 th詠c nghiệm từ

Hình 3.13 ậ 3.15 cho thấy hiệu qu違 khi áp dụng hai đ鵜nh lý đề xuất trong

ch逢挨ng nƠy.

Page 115: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

101

K蔭T LU一N VÀ H姶閏NG PHÁT TRI韻N

Các kết quả đạt được

Lu壱n án đư tìm hi吋u các nghiên cứu đư có về khai thác t壱p mục phổ bi院n

trên CSDL, đặc biệt là khai thác FWI và FWUI trên QDB và khai thác FI trên

CSDL có s詠 phân cấp các mục. Trên c挨 s荏 đó, lu壱n án đư đề xuất m瓜t s嘘 cấu

trúc m噂i nh逢 MBiS [35], IWS [34, 36], đ吋 nâng cao hiệu qu違 khai thác t壱p

mục phổ bi院n trên QDB, CSDL có s詠 phân cấp các mục, đ欝ng th運i đề xuất

cấu trúc DTab và DHeap trong khai thác nhanh TRFWUIk. Từ đó áp dụng

vào gi違i quy院t hiệu qu違 bài toán khai thác FWUI trên HQDB. Các k院t qu違

nghiên cứu trình bày trong lu壱n án đư đ逢ợc công b嘘 trên các t衣p chí và h瓜i

th違o uy tín.

Các cấu trúc d英 liệu đ逢ợc đề xuất trong lu壱n án nh逢 IWS và MBiS là các

cấu trúc m噂i, c違i ti院n hiệu qu違 rõ rệt so v噂i các cấu trúc đư có nh逢 BitTable

hay DBV về b瓜 nh噂 sử dụng cũng nh逢 th運i gian xử lý. Bên c衣nh đó, đ嘘i v噂i

cấu trúc IWS, lu壱n án đề xuất sử dụng m瓜t m違ng MAP đ鵜nh nghƿa tr逢噂c v鵜 trí

bit 1 trong các phần tử của cấu trúc đ吋 tính nhanh wus (đ嘘i v噂i khai thác

FWUI) và ws (đ嘘i v噂i khai thác FWI) trên QDB. Hiệu qu違 của các cấu trúc

nƠy đ逢ợc minh h丑a cụ th吋 qua các k院t qu違 th詠c nghiệm.

Lu壱n án đề xuất hai cấu trúc EDBV và EIWS là m荏 r瓜ng của các cấu

trúc DBV và IWS t逢挨ng ứng, bằng cách sử dụng các phần tử là các LI. Lu壱n

án đ逢a ra gi違i pháp sử dụng các phép d鵜ch bit vƠ AND bit đ吋 v磯n sử dụng

đ逢ợc m違ng MAP nh逢 đ嘘i v噂i cấu trúc IWS giúp tính nhanh wus (đ嘘i v噂i khai

thác FWUI) và ws (đ嘘i v噂i khai thác FWI). Các cấu trúc này cho thấy hiệu

qu違 trong việc gi違m th運i gian ch衣y so v噂i các cấu trúc khác.

Lu壱n án đề xuất cấu trúc DTab và DHeap và thu壱t toán t逢挨ng ứng cho

bài toán khai thác TRFWUIk. Các cấu trúc này và thu壱t toán đề xuất đư cho

Page 116: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

102

thấy hiệu qu違 của chúng về th運i gian xử lý so v噂i các thu壱t toán tr逢噂c đó.

Điều nƠy đ逢ợc ki吋m chứng qua các k院t qu違 th詠c nghiệm.

Lu壱n án đề xuất m瓜t s嘘 đ鵜nh lý nhằm xác đ鵜nh tidset của các mục cha

thông qua tidset của mục con trên cây phân cấp vƠ xác đ鵜nh nhanh m嘘i quan

hệ cha con của các mục trong m瓜t t壱p mục đ吋 gi違m b瓜 nh噂 l逢u tr英 CSDL và

tăng t嘘c tính toán cho bài toán khai thác FWUI trên HQDB. Bên c衣nh đó,

lu壱n án áp dụng các cấu trúc đư đề xuất vào gi違i quy院t bài toán khai thác

FWUI trên HQDB m瓜t cách hiệu qu違.

Hướng phát triển

Lu壱n án đư nghiên cứu các ph逢挨ng pháp khai thác t壱p mục phổ bi院n trên

CSDL s嘘 l逢ợng và CSDL s嘘 l逢ợng có s詠 phân cấp các mục. Lu壱n án đề xuất

m瓜t s嘘 thu壱t toán v噂i các cấu trúc d英 liệu m噂i hiệu qu違 h挨n các ph逢挨ng pháp

khai thác t壱p phổ bi院n đư có. Tuy nhiên, các bài toán trên CSDL s嘘 l逢ợng có

s詠 phân cấp các cần đ逢ợc m荏 r瓜ng và nghiên cứu ti院p nh逢: 1. Gi違i quy院t bài toán khai thác t壱p mục phổ bi院n đóng đ嘘i v噂i HQDB.

2. Nghiên cứu các h逢噂ng ti院p c壱n hiệu qu違 h挨n trong khai thác t壱p mục phổ

bi院n trên HQDB dày.

3. M荏 r瓜ng bài toán khai thác FWUI trên HQBD l噂n, khi đó cần sử dụng các

hệ th嘘ng tính toán hiệu năng cao đ吋 gi違i quy院t bài toán v噂i các mô hình

song song hóa thu壱t toán m瓜t cách hợp lý.

Page 117: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

103

DANH M影C CÔNG TRÌNH KHOA H窺C C曳A TÁC GI謂

LIÊN QUAN Đ蔭N LU一N ÁN

[1] Nguyen Duy Ham, Vo Dinh Bay, Nguyen Thi Hong Minh, Tzung Pei

Hong, “MBiS: an efficient method for mining frequent weighted utility

itemsets from QDB”, Journal of Computer Science and Cybernetics, 31(1),

pp. 17 – 30, 2015.

[2] Nguyen Duy Ham, Bay Vo, Nguyen Thi Hong Minh, Tzung Pei Hong,

“An improved algorithm for mining frequent weighted itemsets”, in Proc. of

the International conf on IEEE System, Man, Cybernetics, Hong Kong, pp.

2579 – 2584, 2015.

[3] Nguy宇n Duy HƠm, Võ Đình B違y, Nguy宇n Th鵜 H欝ng Minh, “Thu壱t toán

hiệu qu違 khai thác t壱p phổ bi院n từ c挨 s荏 d英 liệu s嘘 l逢ợng có s詠 phân cấp

mục”, Hội nghị khoa học quốc gia lần thứ 8:“Nghiên cứu cơ bản và ứng

dụng CNTT”, Viện CNTT ậ Đ衣i h丑c Qu嘘c gia Hà N瓜i, pp. 679–686, 2015.

[4] Nguy宇n Duy HƠm, Võ Đình B違y, Nguy宇n Th鵜 H欝ng Minh, “Thu壱t toán

hiệu qu違 khai thác Top ậ rank ậ k t壱p phổ bi院n tr丑ng s嘘 h英u ích”, Hội thảo

quốc gia lần thứ 18: “Một số vấn đề chọn lọc về CNTT và TT”, 2015.

[5] Nguyen Duy Ham, Bay Vo, Nguyen Thi Hong Minh, Witold Pedrycz,

“An Efficient Algorithm for Mining Frequent Weighted Itemsets using

Interval Word Segments”, Applied Intelligence, 2016 (Accepted 31/3/2016 )

Page 118: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

104

TÀI LI烏U THAM KH謂O

[1] Agrawal, R., & Srikant, R. (1994). Fast algorithms for minings association

rules. Proc. of the 20th International Conf on Very Large Data Bases ,

pp. 487-499.

[2] Agrawal, R., Imielinski, T., & Swami, A. (1993). Mining association rules

between sets of items in large databases. Proc. of the 1993 ACM

SIGMOD International conference on Management of data, 22(2), 207-

216.

[3] Agrawal, R., Mannila, H., Srikant, R., Toivonen, H., & Verkamo, I. A. (1996).

Fast discovery of association rules. Proc.of Conf on Advances in

Knowldege Discovery and Data Mining, pp. 307-328.

[4] Ali, Z. S., & Rathore, Y. (2014.). A effective and efficient algorithm for cross

level frequent pattern mining. Proc. of Conf on Advances in Engineering

and Technology Research, pp. 1-6.

[5] Baralis, E., Cagliero, L., Cerquitelli, T., & Garza, P. (2012). Generalized

association rule mining with constraints. Information Science (Elsevier

Science Inc), 194, pp. 68-84.

[6] Baralis, E., Cagliero, L., Cerquitelli, T., D’Elia, V., & Garza, P. (2014).

Expressive generalized itemsets. Information Sciences, 278, pp. 327-343.

[7] Cai, C. H., Fu, A. C., Cheng, C. H., & Kwong, W. W. (1998). Mining

association rules with weighted items. Proc. of Conf on IEEE

Intelligence Database Engineering and Applications Symposium, pp. 68-

77.

[8] Deng, H. Z., & Fang, G. (2007). Mining top-rank-k-frequent patterns. Proc. of

Conf on Machine Learning and Cybernetics, pp. 1763ậ1768.

[9] Deng, H.-Z. (2012). A new algorithm for fast mining frequent itemsets using

N-list. Science china information science, 55(9), pp. 2008-2030.

[10] Deng, H.-Z., & Long, S. (2014). Fast mining frequent itemsets using

Nodesets. Expert Systems with Applications, 41(10), pp. 4505-4512.

Page 119: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

105

[11] Deng, Z.-H. (2014). Fast mining top-rank-k - frequent patterns by using Node-

list. Expert Systems with Applications, pp. 1763-1768.

[12] Deng, Z.-H., & Lv, S.-L. (2015). PrePost+: An efficient N-Lists-based

Algorithm for Mining Frequent Itemsets via Children-Parent

Equivalence Pruning. Expert Systems with Applications, 42(13), pp.

5424-5432.

[13] Dong, J., & Han, M. (2007). BitTable-FI An efficient mining frequent itemsets

algorithm. Knowledge-Based Systems, 20(4), pp. 329-335.

[14] Erwin, A., Gopalan, R. P., & Achuthan, R. N. (2007). CTU-Mine: An efficient

hight utility itemset mining algorithm using the pattern growth approach.

Computer and Informaition Technology, CIT, pp. 71-76.

[15] Fang, G., & Deng, Z.-H. (2008). VTK: Vertical mining of top-rank-k frequent

pattern. Proc. of the Conf on Fifth International Fuzzy Systems and

Knowdelge Discovery 2008, pp. 620 - 624.

[16] Grahne, G., & Zhu, J. (2005). Fast algorithms for frequent itemset mining

using FP-trees. Proc. of Conf on IEEE Transactions on Knowledge anh

Data Mining and Data Engineering, 17(10), pp. 1347-1362.

[17] Hàm, N. D., B違y, V. Đ., & Minh, N. T. (2014). M瓜t ph逢挨ng pháp khai thác nhanh FWUI trên CSDL s嘘 l逢ợng. Hội thảo quốc gia lần thứ 17: "Một

số vấn đề chọn lọc về CNTT và TT", pp. 280-285.

[18] Hàm, N. D., B違y, V. Đ., & Minh, N. T. (2015). Thu壱t toán hiệu qu違 khai thác

Top ậ Rank ậ K t壱p phổ bi院n tr丑ng s嘘 h英u ích. " Hội thảo quốc gia lần

thứ 18: Một số vấn đề chọn lọc về CNTT và TT".

[19] Hàm, N. D., B違y, V. Đ., & Minh, N. T. (2015). Thu壱t toán hiệu qu違 khai thác

t壱p phổ bi院n từ c挨 s荏 d英 liệu s嘘 l逢ợng có s詠 phân cấp mục. Hội thảo

quốc gia lần thứ 8: "Nghiên cứu cơ bản và ứng dụng CNTT", pp. 679ậ686.

[20] Han , J., Pei , J., & Yin, Y. (2000). Mining frequent patterns without candidate

generation. Proc. of conf on ACM SIGMOD Management of Data, pp. 1-

12.

Page 120: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

106

[21] Han, J., & Fu, F. (1995). Discovery of multiple-level association rules from

large databases. Proc. of 21th conf on Very Largr Databases, (pp. 420-

431). Zurich, pp. 420-431.

[22] Khan, M. S., Muyeba, M., & Coenen, F. (2008). A weighted utility framework

for mining association rules. Proc. of conf on IEEE European Modeling

Symposium, pp. 87-92.

[23] Lan, C. G., Hong, P. T., & Lee, Y. H. (2014). An efficient approach for

finding weighted sequential patterns from sequence databases. Applied

Intelligence, 41(2), pp. 439-452.

[24] Lan, C. G., Hong, P. T., Lee, Y. H., Wang, L. S., & Tsai, W. C. (2013).

Enhancing the efficiency in mining weighted frequent itemsets. Proc. of

IEEE Internationnal conf on System, Man, Cybernetics (SMC), pp. 1104-

1108.

[25] Lan, G. C., Hong, P. T., & Tseng, V. S. (2011). Discovery of hight utility

itemsets from on-shelf time periods of products. Expert Systems with

Applications, 38(6), pp. 5851-5857.

[26] Le, B., Cao, T. A., Nguyen, H., & Vo, B. (2009). A novel algorithm for

mining hight utility itemsets. Proc. of the Conf on 1st Asian Inteleigent

Information and Databases systems, pp. 13-16.

[27] Le, B., Nguyen, H., & Vo, B. (2010). Efficient Algorithms for Mining

Frequent Weighted Itemsets from Weighted Items Databases. Proc. of

the International Conf on Computing and Communication Technologies

2010 (RIVF 2010), pp. 1-6.

[28] Le, B., Vo, B., Le, Q., & Le, T. (2015). Enhancing the mining top-rank-k

frequent patterns. Proc. of IEEE internationnal conf on System, Man,

Cybernetics (SMC), pp. 2008-2012

[29] Le, T., & Vo, B. (2015). An N-list-based algorithm for mining frequent closed

patterns. Expert Systems with Applications, 42(19), pp. 6648-6657.

[30] Lee, Y. C., Hong, P. T., & Chen C, H. (2010). Mining Generalized

Association Rules with Quantitative Data under Multiple Support

Page 121: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

107

Constraints, Computational Collective Intelligence. Technologies and

Applications Lecture Notes in Computer Science, 6422, pp. 224-231.

[31] Lin, W. C., Lan, C. G., & Hong, P. T. (2015). Mining hight utility itemsets for

transaction deletion in a dynamic databases. Intelligence Databases

Analys, pp. 43-55.

[32] Liu, B., Hsu, W., & Ma, Y. (1999). Mining association rules with multiple

mining supports. Proc. of International Conf on Knowdelge Discovery

and Data Mining, pp. 337-341.

[33] Louie, E., & Lin, T. (2000). Finding Association Rules Using Fast Bit

Computation: Machine-Oriented Modeling. Foundations of intelligent

system International Symposium, ISMIS , pp. 497-505.

[34] Nguyen, H., Vo, B., Nguyen, M., & Hong, P. T. (2015). An improved

algorithm for mining frequent weighted itemsets. Proc. of the

International conf on IEEE System, Man, Cybernetics. Hong Kong, pp.

2579 - 2584.

[35] Nguyen, H., Vo, B., Nguyen, M., & Hong, P. T. (2015). MBiS:an efficient

method for mining frequent weighted utility itemsets from QDB. Journal

of Computer Science and Cybernetics, 31(1), pp. 17-30.

[36] Nguyen, H., Vo, B., Nguyen, T. H., & Witold, P. (2016). An Efficient

Algorithm for Mining Frequent Weighted Itemsets using Interval Word

Segments. Applied Intelligence.

[37] Ramkumar, G. D., Ranka, S., & Tsur, S. (1998). Weighted Association Rules:

Model and Algorithm. Proc. of conference on Knowledge Discovery and

Data Mining - KDD, pp. 1-13.

[38] Song, W., Yang, B., & Xu, Z. (2008). Index-BitTableFI: An improve

algorithm for mining frequent itemsets. Knowledge - Based System,

21(6), pp. 507-513.

[39] Tao, F., Murtagh, F., & Farid, M. (2003). Weighted Association Rules mining

using weighted support and signifocance framework. Proc. of conference

on ACM SIGKDD, pp. 661-666.

Page 122: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

108

[40] Tseng, M. C., & Lin, W. Y. (2007). Efficient mining of generalized

association rules with non-uniform minimum support. Data &

Knowledge Engineering, 66(1), pp. 41-64.

[41] Vo, B., & Le, B. (2009). Fast Algorithm for Mining Generalized Association

Rules. International Journal of Database and Application, 2(3), pp. 1-

12.

[42] Vo, B., Coenen, F., & Le, B. (2013). A new method for mining Frequent

Weighted Itemsets base on WIT-trees. Expert systems with Applications,

40(4), pp. 1256-1264.

[43] Vo, B., Hong, P. T., & Le, B. (2012). DBV-Miner: A Dynamic Bit - Vector

approach for fast mining frequent close itemsets. Expert Systems with

Applications, 39(8), pp. 7196-7206.

[44] Vo, B., Le, B., & Jason, J. J. (2012). A Tree-based Approach for Mining

Frequent Weighted Utility Itemsets. Computational Collective

Intelligence Tecnologies and Applications, 7653, pp. 114-123.

[45] Vo, B., Le, T., Coenen, F., & Hong, P. T. (2014). Mining frequent itemsets

using the N-list and subsume concepts. International Journal of Machine

Learning and Cybernetics, 7(2), pp 253-265

[46] Vo, B., Nguyen, Y., & Nguyen, D. (2013). Mining frequent weighted close

itemsets. Proc. of Conf on Advanced Computational Methods for

Knowledge Engineering, pp. 379-390.

[47] Wang, W., Yang, J., & Yu, P. (2000). Efficient mining of weighted

association rules (WAR). Proc. of the conference on ACM SIGKDD

Knowledge Discovery and Data Mining, pp. 270-274.

[48] Yang, J. K., Hong, P. T., Lan, C. G., & Chen, M. Y. (2014). A two phase

approach for mining weighted partial periodic pattern. Engineering

Applications of Artificial Intelligence, 30(4), pp. 225-234.

[49] Yun, U., & Eunchul, Y. (2014). An efficient approach for mining weighted

approximate closed frequent patterns considering noise constraints.

International Journal of Uncertainty Fuzziness and Knowledge-Based

Systems 22(6), pp. 879-912.

Page 123: KHAI THÁC T一P M影C TRểN C愛 SỞ D頴 LIU S渦 L営NG Cị S衛 PHỂN C … · 2016. 4. 11. · lòng bi院t n sơu sắc t噂i thầ y gá c o i ô , giáo h噂 ng d磯n

109

[50] Yun, U., & Leggett, J. J. (2005). WFIM: Weighted Frequent Itemset Mining

with a weight range and a minimum weight. In: Proceedings of SIAM

International Conference on Data Mining, pp. 636-640.

[51] Yun, U., & Leggett, J. J. (2006). WSpan: Weighted Sequential pattern mining

in large sequence databases. Pro. of IEEE International Conference on

Intelligent Systems, pp. 512-517.

[52] Yun, U., & Pyun, G. (2015). Efficient mining of robust closed weighted

sequential patterns without information loss. International Journal on

Artificial Intelligence Tools, 24(1), pp. 1-28.

[53] Yun, U., Lee, G., & Ryu, H. K. (2014). Mining maximal frequent patterns by

considering weight conditions over data streams. Knowl.-Based Syst. 55,

pp. 49-65.

[54] Zaki, M. J. (2000). Scalable algorithms for association mining. IEEE

transactions on Knowledge and Data Engineering, 12(3), pp. 372-390.

[55] Zaki, M. J., & Gouda, K. (2003). Fast vertical mining using Diffset. Proc. of

the ninth ACM SIGKDD International conf on Knowledge Discovery and

Data Mining, pp. 327-335.