B  GIÁO D C VÀ ĐÀO T O

B  QU C PHÒNG

Ọ Ậ Ỹ Ệ Ự H C VI N K  THU T QUÂN S

Đ U H I PHONG

Ứ Ậ

Ầ Ử Ợ Ọ Ố Ậ Ể NGHIÊN C U PHÁT TRI N MÔ HÌNH, THU T TOÁN  KHAI PHÁ T P PH N T  CÓ TR NG S  VÀ L I ÍCH CAO

Ơ Ở

LU N ÁN TI N SĨ C  S  TOÁN H C CHO TIN H C

HÀ N I – NĂM 2018

2

B  GIÁO D C VÀ ĐÀO T O

B  QU C PHÒNG

Ọ Ậ Ỹ Ệ Ự H C VI N K  THU T QUÂN S

Đ U H I PHONG

Ứ Ậ

Ầ Ử Ợ Ọ Ố Ậ Ể NGHIÊN C U PHÁT TRI N MÔ HÌNH, THU T TOÁN  KHAI PHÁ T P PH N T  CÓ TR NG S  VÀ L I ÍCH CAO

ơ ở ọ ọ Chuyên ngành: C  s  Toán h c cho Tin h c

Mã số : 62.46.01.10

Ơ Ở

LU N ÁN TI N SĨ C  S  TOÁN H C CHO TIN H C

NG

ƯỜ ƯỚ I H

NG D N KHOA H C:

1. TS NGUY N M NH HÙNG

2. PGS.TS ĐOÀN VĂN BAN

Ộ HÀ N I ­ 2018

4

Ờ 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.

5

Ờ Ả Ơ L I C M  N

ậ ượ ự ệ ạ ệ Lu n án này đ c th c hi n và hoàn thành t i Khoa Công ngh  Thông

ự ể ạ ượ ế ệ ể ả ọ ỹ ậ tin, H c vi n k  thu t Quân s . Đ  đ t đ ế   c k t qu  này không th  thi u

ướ ỗ ợ ủ ướ ẫ ỏ ự ị s  đ nh h ng và h  tr  c a giáo viên h ng d n. Tôi luôn t ả ơ    lòng c m  n

ữ ườ ứ ỡ và tri ân nh ng ng i đã giúp đ  trong quá trình nghiên c u sau đây.

ỏ ế ơ ướ Tôi luôn t lòng bi ớ ủ t  n công lao to l n c a hai giáo viên h ẫ   ng d n.

ữ ầ ườ ầ ậ ớ ướ ẫ ỡ Th y   là   nh ng   ng i   Th y   l n   t n   tình,   h ng   d n   và   giúp   đ   trong

nghiên c u. ứ

ả ạ ầ ọ ơ Tôi  trân  tr ng  c m  n   Lãnh   đ o,  Th y/Cô   trong  Khoa   Công   ngh ệ

ạ ọ ự ệ ậ ạ ọ ỹ ề   Thông tin, Phòng Sau đ i h c ­ H c vi n K  thu t Quân s  đã t o đi u

ậ ợ ệ ọ ậ ứ ỡ ki n thu n l i, giúp đ  trong quá trình h c t p và nghiên c u.

ả ơ ớ ệ ầ ạ ồ Tôi c m  n t i Ban Giám Hi u, Th y/Cô và b n bè đ ng nghi p t ệ ạ   i

ườ ạ ọ ứ ệ ể ạ ậ tr ề ng Đ i h c Thăng Long đã t o đi u ki n đ  tôi t p trung nghiên c u.

ấ ả ự ươ Tôi xin dành t t c  s  yêu th ng và l ờ ả ơ ớ i c m  n t ố ẹ   i gia đình, b  m ,

ị ườ ẽ ạ ộ ợ v  con, anh ch  em và ng ự   i thân luôn là đ ng viên m nh m  giúp tôi th c

ệ ậ hi n Lu n án.

ả ơ Xin chân thành c m  n!

ả ậ Tác gi lu n án

ậ ả  Đ u H i Phong

6

Ụ Ụ M C L C

7

Ữ Ế Ụ Ắ Ệ DANH M C CÁC KÝ HI U VÀ CÁC CH  VI T T T

ậ ữ ế ậ ữ ế Thu t ng  ti ng Anh Thu t ng  ti ng Vi ệ t ST T

ự ế

ố ứ

1. 2. 3. 4. 5. 6. 7. 8. ừ ế   T  vi t tắ t AU CFP CSDL CUP CWU FI FP IT

ợ L i ích th c t ẫ ổ ế M u ph  bi n nén ơ ở ữ ệ C  s  d  li u ẫ ợ ợ ậ ẫ ả ợ ọ Actual Utility Compact Frequent Pattern Database Compressed Utility Pattern M u l Candidate Weighted Utility Frequent Itemsets Frequent Pattern Index Table High Candidate Weighted i ích nén ọ L i ích tr ng s   ng viên ổ ế T p ph  bi n ổ ế M u ph  bi n ỉ ố B ng ch  s ứ L i ích  ng viên có tr ng 9. HCWU

ố ứ ọ Utility Low Candidate Weighted s  caoố ợ L i ích tr ng s   ng viên 10. LCWU th pấ

Utility Remaining Transaction ợ ị ạ 11. RTWU L i ích giao d ch còn l i

B ng  ng viên

ả ứ ợ ị

ả 12. 13. 14. 15. TC TWU UL UT

Weighted Utilization Table Candidate Transaction Weighted Utility L i ích tr ng s  giao d ch Utility List Utility Table Vertical Mining using ố ọ ợ i ích Danh sách l ợ ị i ích B ng giao d ch l ọ ề Khai phá theo chi u d c 16. VMUDG

ề ọ Diffset Groups Vertical Mining of Weighted ử ụ s  d ng các nhóm Diffset Khai phá theo chi u d c 17. VMWFP ổ ế ọ ố Frequent Patterns ậ t p ph  bi n có tr ng s

8

Ụ Ả DANH M C CÁC B NG

9

10

Ở Ầ M  Đ U

ệ ấ ộ ọ ọ   Ngày nay, công ngh  thông tin đóng m t vai trò r t quan tr ng trong m i

ộ ố ủ ạ ố ượ ậ ữ ệ khía c nh c a cu c s ng con ng ườ , giúp thu th p kh i l i ổ   ng d  li u kh ng

ữ ệ ể ượ ư ữ ề ồ ồ ừ l  t nhi u ngu n khác nhau. D  li u này có th  đ c l u tr  và duy trì đ ể

ữ ệ ứ ế ộ ạ   t o ra thông tin và tri th c. Khai phá d  li u là m t quá trình tìm ki m thông

ượ ử ụ ữ tin h u ích t ừ ố ượ  s  l ng l n d  li u ớ ữ ệ . Thông tin đó đ c s  d ng ể ự đ  d  đoán

ươ ộ ượ ữ ệ các xu h ngướ , hành vi trong t ng lai. Hàng ngày m t l ổ   ng d  li u kh ng

ữ ệ ự ồ ượ ạ l c t o ra trong các lĩnh v c khác nhau. Do đó, khai phá d  li u đang tr đ ở

ậ ữ ộ ỹ ượ ứ ụ ộ thành m t k  thu t h u ích và đ ự   ớ c  ng d ng r ng l n trong các lĩnh v c

ươ khác nhau. Các ph ng pháp khai phá d  li u đ ữ ệ ượ ử ụ , giúp xây d ngự c s  d ng

ự ữ ệ ủ ừ ế ị ư mô hình d  đoán , phát hi nệ   hành vi c a d  li u, t đó đ a ra quy t đ nh

ữ ệ ở ừ [44]. Khai phá d  li u đang tr ổ ế t  nên ph  bi n nh ng ữ   thành công  trong

ư ự ế ễ nhi uề   lĩnh v c khác nhau nh  y t , tài chính, vi n thông, kinh doanh, giáo

ư ỹ d c,…ụ [43]. Khai phá d  li u ậ ữ ệ  g mồ  các k  thu t khác nhau nh : phân l pớ ,

ậ ế ợ ụ phân c m, khai phá lu t k t h p,…

ậ ế ợ ữ ậ ấ ộ ọ ỹ Khai phá lu t k t h p là m t trong nh ng k  thu t quan tr ng nh t trong

ậ ế ợ ữ ệ ụ ố   ủ khai phá d  li u. M c đích chính c a khai phá lu t k t h p là tìm ra m i

ệ ữ ầ ử quan h  gi a các ph n t khác nhau trong c  s  d  li u ơ ở ữ ệ  [54]. Bài toán khai

ậ ế ợ ổ ế ậ ồ phá lu t k t h p g m hai bài toán con đó là khai phá t p ph  bi n và sinh

ổ ế ề ậ lu t k t h p ậ ế ợ ,  trong đó bài toán khai phá t p ph  bi n thu hút nhi u nhà

ướ ế ớ ứ nghiên c u trong n c và th  gi i quan tâm. ậ Khai phá t p ph  bi n ổ ế   trong

ự ế ẫ ứ ế ạ ượ ầ ủ th c t v n còn nhi uề  h n ch , không đáp  ng đ c nhu c u c a ng ườ ử  i s

ủ ừ ầ ử ư ự ọ ừ ị d ngụ  nh  đánh giá s  quan tr ng c a t ng ph n t trong t ng giao d ch hay

ụ ữ ể ắ ạ ậ trong c  s  d  li u ơ ở ữ ệ . Đ  kh c ph c nh ng h n ch  c a ế ủ   khai phá  t p ph ổ

ứ ề ấ ề bi nế  truy n th ng ố , các nhà nghiên c u đã đ  xu t mô hình m  r ng ở ộ , có tính

ứ ộ ầ ử ủ ọ đ nế  m c đ  quan tr ng khác nhau c a các ph n t ư   ơ ở ữ ệ  trong c  s  d  li u nh :

ổ ế ậ ọ ố khai phá t p ph  bi n có tr ng s  (WFI – Weight ed Frequent Itemsets) [11],

11

ợ [58], [72], [32], [33], [64],…; khai phá t p  ậ l i ích cao (HUI – High Utility

Itemsets) [13], [39], [23], [38], [62], [60], [26], [77], [65], [55], [17],…

ế ớ ứ ề ề ấ Trên th  gi ữ ệ   i, có r t nhi u nhà nghiên c u quan tâm v  khai phá d  li u.

ệ ữ ệ ươ ề ả ộ ặ Đ c bi t, trong H i th o Châu Á Thái Bình D ng v  Khai phá d  li u và

ố ế ề ữ ệ ứ ả ộ Khám phá tri th c – PAKDD và H i th o Qu c t v  Khai phá d  li u –

ậ ế ợ ậ ợ ề ề ICDM, nhi u công trình v  khai phá, phân tích lu t k t h p và t p l i ích cao

ượ ữ ứ ầ ố đã đ ế   c công b . Trong nh ng năm g n đây, các nghiên c u lên quan đ n

ượ ậ ợ t p l i ích cao đã đ c công b ố [62], [55], [38], [77], [17], [26], [24], [23],

[37], [15],…

ệ ề ậ ế ợ ứ ề ậ ạ T i Vi t Nam, đã có nhi u nhóm nghiên c u, lu n án v  lu t k t h p và

ổ ế ạ ệ ệ ọ ệ ậ t p ph  bi n t i Vi n Hàn lâm Khoa h c và Công ngh  Vi t Nam, tr ườ   ng

ạ ọ ạ ọ ạ ọ ố ộ ộ ố Đ i h c Qu c gia Hà N i, Đ i h c Bách Khoa Hà N i, Đ i h c Qu c gia

ề ế ố ồ ả ượ ự ệ ố thành ph  H  Chí Minh th c hi n và đã có nhi u k t qu  đ c công b . Các

ề ấ ử ụ ậ ấ ượ thu t toán đ  xu t s  d ng c u trúc cây FP­tree đ c Han, Wang và Yin gi ớ   i

ệ ệ thi u năm 2000 trong ở ấ    [30], cách khai phá cây FP­tree không đ  quy b i c u

ề ấ trúc cây COFI­tree do Mohammad El­Hajj và Osmar R. Zaiane đ  xu t năm

ự ệ ễ 2003 trong [19], [20], [21]. Năm 2010, Nguy n Huy Đ c ứ  [2] th c hi n nghiên

ụ ổ ề ầ ợ ậ ứ c u đ  tài “Khai phá t p m c c  ph n cao và l i ích cao trong c  s  d ơ ở ữ

ử ụ ệ ệ ấ ả ơ li u” s  d ng c u trúc cây đ n gi n và khai phá không dùng đ  quy. Năm

ộ ố ứ ề ể ậ ễ 2016, Nguy n Duy Hàm [1] nghiên c u đ  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 c  s  d  li u s  l ấ ậ   ng có s  phân c p t p

ộ ố ả ế ụ ư ệ ả ậ ổ ế   m c” đã đ a ra m t s  c i ti n nâng cao hi u qu  khai thác t p ph  bi n

ố ữ ố ượ ọ ự ấ tr ng s  h u ích trên CSDL s  l ng có s  phân c p. Ngoài ra, hàng năm các

ề ọ ọ ủ ộ ố ấ ề ệ ả ộ ố H i th o Qu c gia v  “M t s  v n đ  ch n l c c a Công ngh  Thông tin”

ơ ả ứ ụ ứ ệ ấ   và “Nghiên c u c  b n và  ng d ng Công ngh  thông tin ­ FAIR” có r t

ữ ệ ế ề nhi u báo cáo liên quan đ n khai phá d  li u.

12

ổ ế ứ ữ ậ ộ ọ ố M t trong nh ng thách th c trong khai phá t p ph  bi n có tr ng s  và

ố ậ ợ ậ ọ ậ ợ t p l ổ ế i ích cao đó là t p ph  bi n có tr ng s , t p l i ích cao không có tính

ấ ố ượ ứ ấ ả ượ ch t đóng [6] ­ tính ch t làm gi m s  l ng  ng viên đ c sinh ra và không

ậ ợ ế ế ầ ậ gian tìm ki m. H u h t các thu t toán khai phá t p l ề ử ụ   i ích cao đ u s  d ng

ủ ấ ợ tính ch t đóng c a TWU (Transaction Weighted Utility) ị   [39] d ch là l i ích

ọ ị ộ ố giao d ch có tr ng s ự ố  [39]  do Liu và c ng s  công b . Tuy nhiên, ng ưỡ   ng

ớ ợ ẫ ự ế ủ ầ ử TWU v n còn khá cao so v i l i ích th c t ậ  c a các t p ph n t ẫ   , do đó v n

ộ ố ượ ứ ầ ớ ế còn phát sinh m t s  l ng l n các  ng viên không c n thi ố   t, làm tiêu t n

ế ờ th i gian và không gian tìm ki m.

ứ ữ ậ ở ứ Trên c  s ơ ở nh ng nghiên c u, nh n xét và đánh giá trên , nghiên c u sinh

ề ọ ứ ể ậ đã ch n đ  tài “ ậ   Nghiên c u phát tri n mô hình, thu t toán khai phá t p

ố ọ ợ ứ ề ậ ế   ” làm đ  tài nghiên c u cho lu n án ti n ph n tầ ử có tr ng s  và l i ích cao

ủ sĩ c a mình.

ứ ụ M c tiêu nghiên c u

ổ ế ứ ậ ậ ậ ổ ế   ­ Nghiên c u các thu t toán khai phá t p ph  bi n, t p ph  bi n

ậ ợ ọ ố có tr ng s  và t p l i ích cao.

ự ấ ằ ả ữ ệ ­ Xây d ng mô hình, c u trúc d  li u nh m gi m không gian tìm

ơ ở ự ự ế ể ậ ậ   ki m và d a trên c  s  đó đ  xây d ng các thu t toán khai phá t p

ổ ế ậ ợ ố ọ ph  bi n có tr ng s  và t p l i ích cao.

ố ượ ứ Đ i t ng nghiên c u

ể ắ ỉ ậ ứ ấ ữ ệ ­ Các mô hình, c u trúc d  li u đ  c t t a t p  ng viên đ ượ ử  c s

ổ ế ổ ế ậ ậ ậ ụ d ng trong các thu t toán khai phá t p ph  bi n, t p ph  bi n có

ậ ợ ọ ố tr ng s  và t p l i ích cao.

ổ ế ậ ợ ậ ậ ọ ố ­  Các thu t toán khai phá t p ph  bi n có tr ng s  và t p l i ích

cao.

ứ ạ Ph m vi nghiên c u

13

ứ ổ ổ ế ề ậ ậ ổ ế   ­ Nghiên c u t ng quan v  khai phá t p ph  bi n, t p ph  bi n

ậ ợ ọ ố có tr ng s  và t p l i ích cao.

ữ ệ ứ ấ ậ ­ Nghiên c u, đánh giá các mô hình, c u trúc d  li u và thu t toán

ố ậ ợ ổ ế ậ ọ khai phá t p ph  bi n có tr ng s , t p l i ích cao.

ươ ứ Ph ng pháp nghiên c u

ữ ệ ậ ấ ậ ­ Thu th p, phân tích các mô hình, c u trúc d  li u, thu t toán liên

ổ ế ổ ế ế ậ ậ ọ ố quan đ n khai phá t p ph  bi n, t p ph  bi n có tr ng s  và t p l ậ ợ   i

ích cao.

ữ ệ ự ấ ậ ậ   ­ Xây d ng mô hình, c u trúc d  li u và thu t toán khai phá t p

ố ậ ợ ổ ế ọ ph  bi n có tr ng s , t p l i ích cao.

ử ệ ệ ệ ậ ­ L p trình, th  nghi m, so sánh, đánh giá hi u năng, hi u qu  s ả ử

ề ấ ủ ậ ụ d ng tài nguyên c a các thu t toán đ  xu t.

ở ầ ữ ầ ậ ậ ộ ồ   ế Ngoài nh ng ph n m  đ u và k t lu n, n i dung lu n án bao g m

ươ ượ đ c trình bày trong 3 ch ng.

ươ ớ ơ ở ệ ệ ươ Ch ng 1 gi i thi u các khái ni m c  s  liên quan; ph ng pháp khai

ổ ế ổ ế ậ ợ ậ ậ ọ ố phá t p ph  bi n, t p ph  bi n có tr ng s  và t p l i ích cao.

ươ ậ ợ ậ Ch ng 2 i ích trình bày mô hình CWU, các thu t toán khai phá t p l

ư ự cao d a trên mô hình CWU nh : HP, PPB, CTU­PRO+.

ươ ẫ ợ ấ Ch ng 3 trình bày c u trúc cây m u l ế ợ   i ích nén (CUP) k t h p

ợ ậ ợ ậ danh sách l i ích và thu t toán HUI­Growth khai phá t p l ự   i ích cao d a

ắ ỉ ấ ấ ậ trên c u trúc cây CUP; trình bày c u trúc c t t a RTWU và hai thu t toán

ầ ự ậ ợ ự ấ tu n t , song song khai phá t p l ắ ỉ ậ   i ích cao d a trên c u trúc c t t a t p

ứ ng viên RTWU là EAHUI­Miner, PEAHUI­Miner.

14

ƯƠ Ổ Ế Ổ Ậ Ề CH NG 1. T NG QUAN V  KHAI PHÁ T P PH  BI N

ươ ệ ế ậ Ch ng này trình bày các khái ni m liên quan đ n khai phá t p ph ổ

ậ ế ợ ố ậ ợ ổ ế ế ậ ọ ạ bi n, lu t k t h p, t p ph  bi n có tr ng s , t p l i ích cao; phân lo i các

ươ ố ậ ợ ổ ế ổ ế ậ ậ ọ ph ng pháp khai phá t p ph  bi n, t p ph  bi n có tr ng s , t p l i ích

ế ủ ữ ư ề ể ấ ậ ạ cao và phân tích nh ng  u đi m, h n ch  c a chúng. Đ  xu t thu t toán

ổ ế ề ậ ọ ố ọ khai phá t p ph  bi n có tr ng s  theo chi u d c [I].

ớ ệ 1.1. Gi i thi u chung

ổ ế ầ ử ậ ậ ố ầ ấ Khai phá t p ph  bi n là tìm ra các t p ph n t ệ ớ    có s  l n xu t hi n l n

ộ ưỡ ỗ ợ ố ể ậ ơ h n m t ng ng h  tr t i thi u (minsupp). Tuy nhiên, khai phá t p ph ổ

ứ ấ ử ữ ế ạ ấ ả ầ ử ầ ế bi n có nh ng h n ch . Th  nh t, nó x  lý t t c  các ph n t có t m quan

ầ ử ỉ ứ ư ọ ỗ ộ ị tr ng nh  nhau. Th  hai, trong m t giao d ch m i ph n t ạ  ch  có tr ng thái

ữ ệ ế ệ ặ ấ ấ ạ xu t hi n ho c không xu t hi n. Rõ ràng nh ng h n ch  này làm cho bài

ổ ế ề ậ ớ ợ ố toán khai phá t p ph  bi n truy n th ng không phù h p v i các c  s  d ơ ở ữ

ự ế ệ ơ ở ữ ệ ủ ụ ư ặ ỗ ị li u th c t , ví d  nh  trong c  s  d  li u c a siêu th , m i m t hàng có

ố ượ ả ọ ặ ầ t m quan tr ng hay giá c  khác nhau, s  l ỗ   ng mua các m t hàng trong m i

ổ ế ậ ậ ị ỉ ả   giao d ch cũng khác nhau,… Vì v y, mô hình khai phá t p ph  bi n ch  ph n

ố ươ ầ ử ơ ở ữ ệ ệ ấ ánh m i t ữ ng quan gi a các ph n t ư    xu t hi n trong c  s  d  li u, nh ng

ủ ừ ầ ử ữ ệ ụ ể ả không ph n ánh ý nghĩa c a t ng ph n t ữ   ắ  d  li u. Đ  kh c ph c nh ng

ượ ể ượ ư ậ ọ nh c đi m trên có hai mô hình đ ố   ổ ế c đ a ra: T p ph  bi n có tr ng s  ­

ậ ợ WFI và T p l i ích cao ­ HUI.

ự ư ộ ậ   Năm 1998, Ramkumar [48] và c ng s  đã đ a ra mô hình khai phá t p

ổ ế ọ ph  bi n có tr ng s  ( ố Weighted Frequent Itemsets – WFI). Trong đó, m iỗ

ầ ử ộ ọ ư ợ ả ộ ọ ph n t ố  có m t tr ng s  khác nhau nh : l i ích, giá c , đ  quan tr ng hay

ộ ậ ầ ử ượ ổ ế ọ ố ố ượ s  l ng,…M t t p các ph n t đ c xem là ph  bi n có tr ng s  khi giá

15

ố ủ ọ ớ ơ ộ ị ưỡ ướ ừ tr  có tr ng s  c a chúng l n h n m t ng ng cho tr c. T  mô hình này

ổ ế ố ượ ư ề ậ ọ ậ nhi u thu t toán khai phá t p ph  bi n có tr ng s  đ c đ a ra [11], [72],

[64], [33], [58], [73],…

ậ ợ ư ộ ự Năm 2003 Chan [13] và c ng s  đã đ a ra mô hình khai phá t p l i ích

ế ủ ụ ữ ạ ắ cao (High Utility Itemsets – HUI), kh c ph c nh ng h n ch  c a mô hình

ổ ế ổ ế ậ ậ ọ ố khai phá t p ph  bi n và t p ph  bi n có tr ng s . Mô hình này cho phép

ườ ử ụ ượ ầ ủ ừ ầ ử ọ ng i s  d ng đánh giá đ c t m quan tr ng c a t ng ph n t qua hai

ọ ố ọ ợ ợ ợ tr ng s  khác nhau g i là l i ích trong và l i ích ngoài. L i ích trong có th ể

ố ượ ầ ử ừ ị ợ ể ợ là s  l ng t ng ph n t trong giao d ch; l i ích ngoài có th  là l ậ   i nhu n

ả ủ ầ ử ủ ặ ặ ợ ộ ho c giá c  c a các m t hàng. L i ích c a m t ph n t là tích hai giá tr  l ị ợ   i

ợ ộ ậ ầ ử ượ ậ ợ ọ ích trong và l i ích ngoài. M t t p ph n t đ c g i là t p l i ích cao khi

ị ợ ủ ơ ộ ưỡ ườ ị giá tr  l ớ i ích c a nó l n h n m t ng ng do ng i dùng đ nh nghĩa tr ướ   c.

ậ ợ ờ ộ ố ể ư ế ị Nh  khai phá t p l ọ   i ích cao có th  đ a ra m t s  quy t đ nh quan tr ng

ư ố ể ế ả ạ ồ nh  t i đa hóa doanh thu, gi m thi u chi phí, h n ch  hàng t n kho,…

ổ ế ậ 1.2. T p ph  bi n

ổ ế ầ ử ế ậ ậ Khai phá t p ph  bi n là quá trình tìm ki m t p các ph n t ố ầ    có s  l n

ệ ớ ấ ơ ộ ưỡ ướ ề ấ ượ xu t hi n l n h n m t ng ng cho tr c và v n đ  này đ c R. Agrawal,

ề ấ ấ ừ T. Imielinski và A. Swami  [5] đ  xu t năm 1993, xu t phát t ầ  nhu c u bài

ơ ở ữ ệ ữ ệ ệ ằ ị ố   toán phân tích d  li u trong c  s  d  li u giao d ch, nh m phát hi n các m i

ệ ữ ạ ệ ị ị ậ quan h  gi a các t p hàng hóa đã bán t i siêu th . Vi c xác đ nh này không

ệ ự ỉ ự ữ ự ệ ấ phân bi ủ   t s  khác nhau gi a các hàng hóa, ch  d a vào s  xu t hi n c a

chúng.

ộ ố ơ ở ế ệ ế ầ Ph n ti p theo đây nêu m t s  khái ni m c  s  liên quan đ n bài toán

ậ ế ợ ổ ế ậ lu t k t h p và t p ph  bi n.

16

ơ ở ệ 1.2.1. Khái ni m c  s

1, i2,…,in} là t pậ

ơ ở ữ ệ ị Cho D = {T1, T2,…Tm} là c  s  d  li u giao d ch và I = {i

i (cid:0)

(cid:0) ầ ử ơ ở ữ ệ ỗ ị các ph n t trong c  s  d  li u D. M i giao d ch T ậ  I. T p X I có k

ầ ử ph n t ầ ử ượ ọ  đ ậ c g i là t p k­ph n t .

ị ộ ỗ ợ ủ ầ ử [6]  Đ  h  tr ộ ậ  c a m t t p ph n t X trong c  s  d ơ ở ữ Đ nh nghĩa 1.1.

(cid:0) ỉ ố ữ ố ệ ệ ị li u D, kí hi u là Support(X), là t  s  gi a s  các giao d ch T D có ch aứ

ố ổ ị ậ t p X và t ng s  giao d ch trong D,

(1.1)

ổ ế ậ ườ ậ ế ợ ậ ế ợ ể T p ph  bi n th ớ ạ   ng dùng đ  sinh lu t k t h p. Lu t k t h p v i d ng

ầ ử ượ ậ ớ ị X (cid:0) Y, v i X, Y là hai t p ph n t , đ ệ   c xác đ nh thông qua hai khái ni m

ậ ủ ậ ượ ị ư ộ ộ ỗ ợ đ  h  tr  và đ  tin c y c a lu t đ c đ nh nghĩa nh  sau:

(cid:0) ị ộ ỗ ợ ủ ậ ơ ở ữ ệ [6] Đ  h  tr  c a lu t X Y trong c  s  d  li u D là t ỉ Đ nh nghĩa 1.2.

(cid:0) (cid:0) ệ ữ ố ị ứ ổ ố ị l gi a s  các giao d ch T D có ch a X Y và t ng s  giao d ch trong D,

(cid:0) ệ kí hi u là Support(X Y) và

(1.2)

(cid:0) ị ậ ủ ậ ộ ỉ ố ủ ố ị [6] Đ  tin c y c a lu t X Y là t  s  c a s  giao d ch Đ nh nghĩa 1.3.

(cid:0) ệ ứ ố trong D, kí hi u là Confidence(X (cid:0) Y), ch a X ị  Y và s  giao d ch trong D có

ứ ậ ch a t p X.

(1.3)

ị ầ ử ậ ượ ổ ế ế ậ ọ [6]  T p ph n t X đ c g i là t p ph  bi n n u có Đ nh nghĩa 1.4.

ớ ưỡ ỗ ợ ố ể ướ Support(X) ≥ minsupp, v i minsupp là ng ng h  tr  t i thi u cho tr c.

17

ị ậ ượ ọ ậ [6] Lu t X (cid:0) Y đ ế c g i là tin c y n u có Confidence(X Đ nh nghĩa 1.5.

ưỡ ậ ố ể ướ (cid:0) Y) ≥ minconf, v i minconf là ng ớ ng tin c y t i thi u cho tr c.

ổ ế ộ ố ậ ấ T p ph  bi n có m t s  tính ch t sau:

(cid:0) (cid:0) ấ ả ử ớ [4]  Gi s  X, Y I là hai t p  ậ ph n tầ ử  v i X Y thì Tính ch t 1.1.

Support(X) (cid:0) Support(Y).

ấ ủ ậ ấ ả ử ầ ử) Gi s  X, Y là hai Tính ch t 1.2 .  [4] (Tính ch t đóng c a t p ph n t

(cid:0) ổ ế ế ậ t p ậ ph n tầ ử, X, Y (cid:0) I. N u Y là t p ph  bi n và X Y thì X cũng là t pậ

ổ ế ph  bi n.

ấ ậ [4] Cho X, Y là hai t p ậ ph n tầ ử, X (cid:0) Y và X là t p không Tính ch t 1.3.

ổ ế ổ ế ậ ph  bi n thì Y cũng là t p không ph  bi n.

ộ ố ươ ổ ế ậ 1.2.2. M t s  ph ng pháp khai phá t p ph  bi n

ươ ự Ph ệ ế ố ng pháp d a trên quan h  k t n i

ươ ườ ượ ử ụ ế ố ể ự ệ Ph ng pháp th ng đ ậ   c s  d ng là d a vào vi c k t n i đ  sinh t p

ứ ổ ế ầ ử ng viên (k+1)­ph n t ầ ử ừ ậ  t t p ph  bi n k­ph n t , sau đó duy t l ệ ạ ơ ở i c  s

ể ậ ị ươ ậ ữ ệ d  li u giao d ch  đ  xác nh n. Trong các ph ng pháp này, thu t toán

ổ ế ấ ả ơ Apriori là ph  bi n và đ n gi n nh t.

ự ậ ư R. Agrawal, and R. Srikant [6] đ a ra thu t toán Apriori d a trên ph ươ   ng

ế ố ứ ử ậ ộ ừ pháp k t n i. Thu t toán này x  lý t ng m c m t (level­wise), nghĩa là xác

ầ ử ồ ổ ế ậ ớ ị ổ ế ị đ nh các t p ph  bi n có k­ph n t ậ , r i m i xác đ nh t p ph  bi n (k+1)­

ầ ử ư ớ ề ấ ơ ả ủ ậ ph n t . Đi u này đ a t ọ   i tính ch t c  b n c a thu t toán Apriori là m i

ổ ế ổ ế ủ ậ ứ ậ ậ ậ t p con c a t p ph  bi n cũng là t p ph  bi n. Vì v y, các  ng viên ph ổ

ầ ử ề ế ể ượ ế ợ ằ bi n có chi u dài (k+1)­ph n t có th  đ c sinh ra b ng cách k t h p các

ổ ế ầ ử ố ể ạ ậ ộ ậ t p ph  bi n có k­ph n t . M t phép n i đ  t o ra t p có k­ph n t ầ ử ượ   c  đ

18

ầ ử ự ệ ể ả ố ượ ứ ượ th c hi n khi (k­1)­ph n t chung. Đ  gi m s  l ng  ng viên đ c sinh

ổ ế ủ ậ ấ ượ ử ụ ả ấ ra, tính ch t đóng c a t p ph  bi n đ ả   c s  d ng. Tính ch t này đ m b o

ầ ử ế ậ ắ ậ ằ r ng n u trong t p k­ph n t ắ ậ   ổ ế  có t p con không ph  bi n thì ch c ch n t p

ầ ử ể ắ ỉ ậ ổ ế k­ph n t ậ  này cũng không ph  bi n. Do v y, có th  c t t a t p này đi mà

ế ầ không c n xét ti p.

ậ ượ ề ươ Thu t toán DHP [45]  đ ấ ự c đ  xu t d a trên ph ng pháp Apriori, s ử

ươ ắ ỉ ố ư ả ộ ụ d ng ph ng pháp c t t a và băm. Hai cách t ậ   ệ ố i  u c i thi n t c đ  thu t

ứ ứ ự ấ ỗ ầ ặ   ệ ắ ỉ toán: cách th  nh t là d a vào vi c c t t a các  ng viên trong m i l n l p

ộ ỗ ợ ắ ỉ ứ ể ị và cách th  hai là c t t a các giao d ch đ  tính nhanh đ  h  tr .

ươ ử ụ ấ Ph ng pháp s  d ng c u trúc cây

ươ ử ụ ậ ệ ự ấ ỹ ậ ợ Ph ng pháp s  d ng c u trúc cây d a trên k  thu t li t kê t p h p. Các

ứ ượ ủ ồ ị ờ ử ụ ồ ị ậ ị ng viên đ c xác đ nh nh  s  d ng đ  th  con c a đ  th  các t p ph n t ầ ử

ượ ọ ừ ể ệ (Hình 1.1), còn đ c g i là cây t ặ  đi n ho c cây li t kê [3]. Khi đó, vi cệ

ổ ế ươ ứ ự ệ ậ ớ ừ ể sinh các t p ph  bi n t ng  ng v i vi c xây d ng cây t đi n. Cây có th ể

ề ộ ề ấ ừ ể ượ ặ khai phá theo chi u r ng ho c chi u sâu. C u trúc cây t đi n đ c xem là

ể ậ ơ ở c  s  cho phát tri n thu t toán.

19

ừ ể ệ Hình 1.. Cây t ặ  đi n (ho c cây li t kê)

ậ ử ụ ừ ể ượ ự Thu t toán AIS [5] s  d ng cây t đi n, đ ể ừ   c xây d ng theo ki u t ng

ướ ậ ộ ở ỗ ớ ử ụ ứ ầ b c m t. Các t p ph n t ầ ử ượ ư  đ c đ a ra m i m c g n v i s  d ng c  s ơ ở

ế ợ ầ ử ậ ị ữ ệ d  li u giao d ch. Thu t toán k t h p các ph n t theo th  t ứ ự ừ ể  t đi n đ ể

ậ ứ ậ ứ ế ộ ỗ ợ ủ sinh t p  ng viên, sau đó đ m đ  h  tr  c a các t p  ng viên trên c  s  d ơ ở ữ

ệ ị ươ ả ơ ộ li u giao d ch. Đây là ph ng pháp đ n gi n khai phá toàn b  không gian

tìm ki m. ế

ử ụ ế ề ậ ậ ộ Thu t   toán   Eclat   [74]   s   d ng   cách   ti p   c n   theo   chi u   r ng   tr ướ   c

ủ ậ ầ ử ố ư ự ậ (breadth­first) d a trên phép giao t p tid c a t p ph n t ậ    gi ng nh  thu t

ứ ủ ờ   toán c a Savasere [51], sau đó phân chia các  ng viên vào các nhóm r i

ử ụ ứ ế ậ ươ ự ư ậ nhau, s  d ng cách ti p c n phân vùng  ng viên t ng t nh  thu t toán

ậ ượ ấ ợ Apriori song song. Thu t toán Eclat [74] đ c trình bày h p lý nh t trên cây

ệ ậ ớ ừ ể t ề ộ  đi n v i phép duy t cây theo chi u r ng. Thu t toán Monet và Partition

ủ ự ệ ề ấ ị [31], [51] đ  xu t xác đ nh s  giao nhau đ  quy c a danh sách tid (tid­lists)

ộ ố ế ể ệ ả ủ và m t s  bi n th  hi u qu  c a mô hình này.

20

ử ụ ậ ươ ế ậ ọ Thu t toán VIPER [53] s  d ng ph ng pháp ti p c n d c (vertical) theo

ổ ế ể ưở ơ ả ủ ậ tid đ  khai phá t p ph  bi n. Ý t ể   ậ ng c  b n c a thu t toán này là bi u

ơ ở ữ ệ ề ễ ằ ọ ị ơ ị di n c  s  d  li u giao d ch theo chi u d c b ng véc t nh  phân. Véc t ơ

ượ ử ụ ủ ậ ứ ổ ế ể ế ự ệ ấ này đ c s  d ng đ  đ m s  xu t hi n c a t p  ng viên ph  bi n khá

ủ ậ ể ễ ệ ả hi u qu . Đây là cách bi u di n nén khác c a t p tid cho phép đ t đ ạ ượ   c

ố ư ề ả ấ ậ ộ ố ể m t s  đi m t i  u trong thu t toán. V  b n ch t, VIPER không khác nhau

ề ề ươ ự ế ệ ủ ế ớ nhi u so v i Eclat v  ph ng pháp đ m. S  khác bi ề ể   t ch  y u là v  bi u

ễ ơ ả ể ử ệ ễ di n véc t bit nén và x  lý hi u qu  bi u di n này.

ươ ưở ậ ố ệ Ph ng pháp tăng tr ự ng đ  quy d a trên h u t

ươ ự ế ẫ Ph ng pháp FP­growth [30] tìm ki m m u d a trên h u t ậ ố ử ụ   , s  d ng

ể ể ổ ế ễ ẫ ị ấ c u trúc cây m u ph  bi n (FP­tree) đ  bi u di n CSDL giao d ch làm cho

ộ ỗ ợ ủ ậ ầ ử ệ ổ ế ẫ ơ vi c tính đ  h  tr c a t p ph n t nhanh h n. Cây m u ph  bi n [30]

ễ ể ạ ị ượ ự ủ bi u di n d ng nén c a CSDL giao d ch, đ c xây d ng theo th  t ứ ự ả    gi m

ộ ỗ ợ ủ ế ể ỗ ầ d n đ  h  tr  c a các ph n t ầ ử ừ ố  t g c đ n lá. M i cây FP có th  xem nh ư

ộ ấ ữ ệ ề ố ự ị m t c u trúc d  li u cây d a trên ti n t ủ  (prefix­based) c a CSDL giao d ch

ầ ử ứ ổ ế ậ ỗ ượ ộ ch a các ph n t ph  bi n. Do v y, m i nút đ c gán nhãn là m t ph n t ầ ử

ư ữ ộ ỗ ợ ủ ậ ầ ử ồ ầ ử nào đó và l u tr đ  h  tr c a t p ph n t ữ  g m nh ng ph n t trên

ườ ừ ộ ố đ ng đi t ấ ỳ ế  m t nút b t k  đ n nút g c.

ổ ế ớ ọ ử ụ ậ ẫ ấ Thu t toán CT­PRO [57], s  d ng c u trúc cây m u ph  bi n m i g i là

ổ ế ứ ủ ẫ cây nén m u ph  bi n (CFP­Compact Frequent Pattern) ch a đ  các thông

ư ư ế ỉ ượ ư ữ tin nh  trong cây FP, nh ng ch  chi m 50% l ng l u tr  [57]. Các tác giả

ệ ấ ậ ớ ề đ  xu t thu t toán khai phá CT­PRO không đ  quy khác v i FP­Growth.

ự ậ ề   Trong quá trình khai phá, thu t toán FP­Growth xây d ng các cây FP có đi u

ụ ể ề ệ ậ ắ ki n do đó làm tăng chi phí. Đ  kh c ph c đi u này, thu t toán CT­PRO

ơ ở ữ ệ ế ờ ế ỗ ượ chia c  s  d  li u theo các phép chi u r i nhau, m i phép chi u đ ể   c bi u

21

ư ộ ệ ễ ượ di n nh  m t cây CFP. Sau đó, quá trình khai phá không đ  quy đ ự   c th c

ộ ậ ừ ư ế ệ ộ hi n m t nhánh đ c l p trên t ng phép chi u. Trong cây FP, các nút l u tr ữ

ầ ử ầ ử ượ ộ ỗ ợ đ  h  tr  và nhãn ph n t . Tuy nhiên trên cây CFP, các ph n t đ c đánh

ề ủ ỉ ố ư ề ả ả ch  s  theo b ng tiêu đ  (Header Table). B ng tiêu đ  c a cây CFP l u tr ữ

ầ ử ỏ ỏ ớ ứ ộ ỗ ợ ủ ừ đ  h  tr  c a t ng ph n t và ch a con tr  tr  t i các nút trên nhánh ngoài

ố ủ ủ ươ ứ cùng bên trái c a cây CFP. Đây chính là nút g c c a cây con t ớ   ng  ng v i

ầ ử các ph n t khác nhau.

ắ ầ ừ ầ ử ộ ỗ ợ ấ ấ Quá trình khai phá b t đ u t ph n t ả    có đ  h  tr  th p nh t trong b ng

ỉ ượ ề ộ ượ ầ ớ ỏ tiêu đ . Do t a đ c m t l ng l n các nút ban đ u nên đã thu nh  đáng k ể

ỏ ế ầ ử ố ệ ấ c u trúc cây. Duy t theo các con tr  đ n các ph n t gi ng nhau thì đ ượ   c

ố ấ ả ế ế ộ ị ế m t phép chi u đ n cu i t t c  các giao d ch. Phép chi u này cũng đ ượ   c

ễ ể ượ ọ ư ộ bi u di n nh  m t cây CFP và đ ụ ộ c g i là cây CFP c c b . Sau đó, các cây

ụ ộ ượ ệ ệ ổ ế ể ấ ẫ CFP c c b  đ c duy t đ  quy đ  trích xu t các m u ph  bi n.

ộ ố ươ M t s  ph ng pháp song song

ổ ế ữ ệ ậ Ngày nay, khai phá d  li u nói chung và khai phá t p ph  bi n nói

ơ ở ữ ệ ả ố ặ ớ ứ ề riêng ph i đ i m t v i nhi u thách th c khi c  s  d  li u có kích th ướ   c

ổ ế ư ứ ậ ượ ầ ậ ớ l n. Các thu t toán khai phá t p ph  bi n ch a đáp  ng đ c yêu c u v ề

ố ượ ờ ộ ớ ữ ệ th i gian, b  nh  khi kh i l ng d  li u ngày càng gia tăng. Do đó, song

ậ ả ế ấ song hoá thu t toán là chìa khóa gi ấ   ề ữ ệ ớ i quy t v n đ  d  li u l n. Có ba v n

ế ế ở ộ ậ ả ề ượ đ  đ c quan tâm khi thi t k  thu t toán song song: kh  năng m  r ng b ộ

ệ ằ ớ ả ề nh , phân vùng làm vi c và cân b ng t ấ   i. Năm 2005, Ruan [50] đ  xu t

ử ụ ề ố ậ ậ ả thu t toán song song PMFI s  d ng cây ti n t . Thu t toán PMFI gi m chi

ộ ữ ạ ằ ạ ồ ộ ử   ộ ử phí liên l c và đ ng b  gi a các b  x  lý b ng cách t o cho các b  x  lý

ố ượ ệ ả ổ ế ủ ậ ứ ụ ộ ậ làm vi c đ c l p, gi m s  l ng  ng viên c a t p ph  bi n toàn c c nh ờ

ổ ế ụ ộ ệ ữ ậ ụ ố xét m i quan h  gi a t p ph  bi n c c b  và toàn c c. Năm 2006, Yanbin

22

ề ấ ậ ằ ọ [68] đ  xu t thu t toán Apriori song song b ng các đ c song song các giao

ể ả ế ầ ố ượ ế ị d ch đ u vào. Cho đ n nay, đ  gi i quy t bài toán có kh i l ữ ệ   ng d  li u

ề ượ ề ấ ậ ớ l n nhi u thu t toán song đã đ c đ  xu t: [63], [8], [67], [68], [78], [76],

[70], [10], [28], [49], [47], [18], [16], [34], [41], [59], [71], [9],…

ổ ế ọ ậ 1.3. ố T p ph  bi n có tr ng s

ổ ế ở ộ ủ ậ ậ ọ ố Khai phá t p ph  bi n có tr ng s  là m  r ng c a khai phá t p ph ổ

ầ ử ế ỗ ộ ọ ố ươ ị ứ bi n khi m i ph n t trong giao d ch có m t tr ng s  t ng  ng. Ví d , t ụ ừ

ậ ế ợ ổ ế ể ố ọ ọ ố ậ t p ph  bi n có tr ng s  có th  sinh ra các lu t k t h p có tr ng s  nh ư

ườ ẽ ả ặ “80% ng i mua 3 chai soda s  có kh  năng mua 4 gói ăn v t”. Trong khi

ậ ế ợ ỉ ư ư ề ố ườ ướ lu t k t h p truy n th ng ch  đ a ra nh  “60% ng i mua 1 chai n c soda

ậ ế ợ ả ặ ố ọ ẽ s  có kh  năng mua 1 gói ăn v t”. Do đó lu t k t h p có tr ng s  không ch ỉ

ỗ ợ ơ ế ế ệ ộ ậ ủ ụ ậ ị ệ   ả c i thi n đ  tin c y c a lu t mà còn h  tr  c  ch  ti p th  có m c tiêu, hi u

ả ơ ự ứ ằ ặ ị qu  h n b ng cách xác đ nh ho c phân chia khách hàng d a trên m c đ ộ

ố ượ ặ trung thành ho c kh i l ng hàng mua.

ứ ề ấ ậ ậ ổ ế   ề Các nhà nghiên c u đã đ  xu t nhi u thu t toán khai phá t p ph  bi n

ọ có tr ng s  nh ố ư [48], [11], [66], [72], [33], [32], [32], [64], [66]…

ơ ở ệ 1.3.1. Khái ni m c  s

ậ ị ầ ử Cho D = {T1, T2,…Tm} là t p giao d ch, I = {i ậ 1, i2,…,in} là t p các ph n t

1, w2,…,wn} là các tr ng s  t

ậ ố ươ ọ ứ ị trong t p giao d ch D, W = {w ng  ng các

i (cid:0)

ầ ử ị ượ ộ ị ớ ọ ph n t ỗ  trong I. M i giao d ch T I đ c gán v i m t đ nh danh g i là tid.

i ch a X n u X

(cid:0) (cid:0) ứ ế ậ Xét t p X I, ta nói giao d ch Tị ầ ử ứ    ch a ộ ậ  Ti. M t t p ph n t

ầ ử ọ ầ ử ậ ớ ặ k ph n t g i là t p k­ph n t (k­itemsets). V i ph n t ầ ử (cid:0)  i I, c p (i, w)

ượ ọ ầ ử ố ủ ầ ử ọ ố ọ đ c g i là ph n t có tr ng s , trong đó w là tr ng s  c a ph n t i.

23

i, là giá trị

ị ố ủ ầ ử ọ [58] Tr ng s  c a ph n t ệ  i, kí hi u là w Đ nh nghĩa 1.6.

ầ ử ủ ự ự ọ ớ ắ g n v i ph n t i d a trên s  quan tr ng c a nó.

ể ọ ố ị ượ ờ ặ Tr ng s  có th  là giá m t hàng trong siêu th  hay l ng th i gian truy

ộ ậ c p trên m t trang web nào đó,…

ị ộ ỗ ợ ộ ậ ố ủ , kí hi u làệ Đ nh nghĩa 1. ọ 7. [58] Đ  h  tr  có tr ng s  c a m t t p X

ượ ố ủ ầ ử ổ WSupp(X), đ ọ c tính là t ng các tr ng s  c a các ph n t ậ  trong t p X nhân

ớ ộ ỗ ợ ủ v i đ  h  tr  c a X.

WSupp(X) =  * Support(X) (1.4)

ị ổ ế ậ ậ ố ọ [58] T p X là t p ph  bi n có tr ng s  khi đ  h  tr ộ ỗ ợ Đ nh nghĩa 1.8.

ộ ỗ ợ ố ủ ố ố ớ ọ ọ ể ơ có tr ng s  c a X l n h n đ  h  tr  có tr ng s  t i thi u (minwsupp) cho

ướ tr c.

WSupp(X) ≥ minwsupp. (1.5)

ộ ỗ ợ ượ ế ọ ệ ế ả ố N u tr ng s  và đ  h  tr đ c xem xét riêng bi t thì k t qu  khai

ụ ả ể ẫ ế ấ ầ ẩ   phá có th  d n đ n m t mát các thông tin c n quan tâm. Ví d , s n ph m

ượ ấ ẽ ị ạ ỏ ế ạ ị đang đ c khuy n m i và có giá tr  bán th p s  b  lo i b  vì không có đ ủ

ộ ỗ ợ đ  h  tr .

ộ ỗ ợ ị ọ ệ ố ằ ị Vi c nhân hai giá tr  tr ng s  và đ  h  tr  làm cân b ng hai giá tr  này ,

ề ả ọ ọ ỉ trong đó tr ng s ố cho phép  đi u ch nh đ  h  tr . ộ ỗ ợ Khi  gi m tr ng s  s ố ẽ

ả ọ ấ ả ố ằ ọ gi m đ  h  tr ộ ỗ ợ có tr ng s ế ố. N u cho t t c  các tr ng s  b ng 1 thì đ  h ộ ỗ

ằ ố ọ ợ tr  có tr ng s  chính b ng đ  h  tr ộ ỗ ợ..

24

ộ ố ươ 1.3.2. M t s  ph ng pháp khai phá t p ậ ph  bi n ổ ế có tr ng sọ ố

ự ậ ả ọ ố a. Thu t toán d a trên kho ng tr ng s

ọ ậ Năm 2005, thu t toán WFIM khai phá t pậ  ph  bi n ổ ế  có tr ng s ố (WFI –

ố ọ ự Weighted Frequent Itemsets) d a trên m t ộ  kho ngả  tr ng s  (weight range)

ố ố ọ ể và tr ng s  t i thi u (minimum weight) do Unil Yun và Jonh J.Legget [72]

ư ậ ộ ố ưở ề đ  xu t ọ ấ , cho phép đ a ràng bu c tr ng s  vào thu t toán tăng tr ẫ   ng m u,

ố ố ề ấ ả ả ẫ ọ ỉ do v n đ m b o tính ch t đóng thông qua đi u ch nh tr ng s  t ể i thi u và

ậ ả ọ ị ậ kho ng tr ng s . ố Thu t toán WFIM cho phép xác đ nh các t p ph  bi n ổ ế có

ọ ươ ụ ể tr ng s ố quan tr ng  ọ có ít ph n tầ ử. Ph ng pháp này có th  áp d ng cho

ớ ộ ỗ ợ ấ ầ ử ượ ọ CSDL  dày đ c  ặ v i đ  h  tr th p. Các ph n t đ ấ c cung c p tr ng s ố

ố ố ượ ả ọ ầ ử ổ ế khác nhau trong kho ng tr ng s . S  l ng các ph n t ọ    ph  bi n có tr ng

ể ượ ề ả ằ ỉ ố s  có th  đ c đi u ch nh b ng các kho ng khác nhau.

ầ ử ọ ố ủ ọ ị ố ủ Tr ng s  c a m t t p ộ ậ   ph n t là giá tr  trung bình tr ng s  c a các

ầ ử ầ ử ố ọ ầ ử ỏ ph n t ậ  trong t p ph n t . Tr ng s  W ủ ừ  ph n t c a t ng th a mãn:

(1.6) Wmin ≤ W ≤ Wmax

ệ ắ ỉ ậ ứ ử ụ ề ậ Thu t toán WFIM s  d ng 02 đi u ki n c t t a t p  ng viên sau:

ề ệ ­ Đi u ki n 1: (support < minsupp && weight < minweight) đ  hộ ỗ

ợ ủ ậ ầ ử ộ ỗ ợ ố ỏ ơ ể tr  c a t p ph n t nh  h n đ  h  tr  t ố ủ   ọ i thi u và tr ng s  c a

ầ ử ỏ ơ ố ố ọ ậ t p ph n t nh  h n tr ng s  t ể i thi u.

ệ ề ộ ỗ ợ ủ ậ ­ Đi u ki n 2: (support * W ầ   Max < minsupp) đ  h  tr  c a t p ph n

ớ ọ ấ ủ ố ớ ộ ử t nhân v i tr ng s  l n nh t c a m t ph n t ầ ử trong CSDL giao

ộ ỗ ợ ố ỏ ơ ơ ở ữ ệ ề ể ị d ch nh  h n đ  h  tr  t ệ   i thi u. Trong c  s  d  li u đi u ki n,

ố ố ọ ể ủ ệ ề ượ ử ụ ể tr ng s  t ẫ i thi u c a m u đi u ki n đ ớ   c s  d ng đ  nhân v i

ộ ỗ ợ đ  h  tr .

25

ổ ế ậ ẫ ử ụ Trong thu t toán WFIM s  d ng cây m u ph  bi n (FP­ ể tree) đ  nén

ổ ế ậ ọ ố ượ CSDL giao d chị và khai phá t p ph  bi n có tr ng s . CSDL đ ệ ầ   c duy t l n

ạ ỏ ầ ử ứ ề ệ th  nh t ấ   đểlo i b  các ph n t ỏ  không th a mãn c  ả hai đi u ki n trên.

ầ ử ữ ổ ế ọ ố ạ ượ ắ ế ầ Nh ng ph n t ph  bi n có tr ng s  còn l c s p x p tăng d n theo i đ

ủ ư ả ọ ệ ạ tr ng s ề ố và đ a vào b ng tiêu đ  (header table) c a cây FP . Duy t l i các

ự ụ ế ể ắ ị giao d ch đã s p x p đ  xây d ng cây FP toàn c c. Quá trình khai phá đ ượ   c

ệ ừ ướ ự ươ ự ư ậ th c hi n t d i lên trên t ng t nh  thu t toán FP­Growth [30]. Thu tậ

ổ ế ở ộ ệ ả ả ậ toán WFIM có kh  năng m  r ng và hi u qu  cho khai phá t p ph  bi n có

ố ượ ữ ọ ố ớ ậ tr ng s . Tuy nhiên, v i nh ng d  li u ữ ệ dày, s  l ọ   ổ ế ng t p ph  bi n có tr ng

ẽ ả ổ ộ ố ủ ọ s  ố s  thay đ i thùy thu c vào kho ng tr ng s  c a các ph n t ầ ử,  nên  vi cệ

ữ ệ ử ố ờ duy t ệ c  s ơ ở d  li u hai l n ầ s  ẽ làm t n th i gian x  lý.

ậ ả ử ụ Thu t toán s  d ng b ng băm

ề ệ ấ ậ ả Zi­guo Huai and Ming­he Huang [32] đ  xu t thu t toán hi u qu  cho

ổ ế ố ự ậ ấ ả ọ khai phá t p ph  bi n có tr ng s  d a trên c u trúc b ng băm. Ph ươ   ng

ả ế ấ ị ọ ề pháp này gi i quy t v n đ  phát sinh khi giá tr  tr ng số và CSDL thay đ iổ

ế ậ ư nh ng c ộ ầ ỉ ầ h  c n m t l n duy t ệ  c  sơ ở d  li u. ệ   ữ ệ Thu t toán liên quan đ n vi c

ự ệ ả ầ ọ ố ị ị xây d ng b ng băm có tr ng s . Duy t giao d ch đ u tiên xác đ nh t ấ ả  t c

ậ ặ ậ ả ỗ ươ ứ các t p con không r ng. Đ t các t p con vào b ng băm, t ng  ng theo s ố

ầ ử ử ụ ư ị ỉ ượ l ng các ph n t trong đó. S  d ng hàm băm, tìm đ a ch  băm. Khi l u tr ữ

ứ ế ỗ ị trong   danh   sách   liên   k t,   m i   nút   ch a   các   giá   tr :   Item,   Item_Count,

ế ậ ồ Item_Weight, Next_Item. N u trong danh sách đã có t p con r i thì tăng

ế ậ Item_Count lên 1, ng ượ ạ ẽ c l ố i s  thêm t p con vào cu i danh sách. Ti p theo,

ặ ạ ư tính toán WSupp(X) và l u nó vào Item_Weight. L p l i các quá trình trên

ệ ể ả ộ ị cho toàn b  giao d ch. Vi c khai phá có th  song song hóa do các b ng băm

ả ủ ề ệ ớ ươ ộ ậ đ c l p v i nhau.  Đi u này giúp nâng cao hi u qu  c a ph ng pháp.

26

ổ ế ậ ậ ợ ớ ọ ố Thu t toán này phù h p v i bài toán khai phá t p ph  bi n có tr ng s  khi

ị ọ ỉ ầ ự ổ ố có s  thay đ i giá tr  tr ng s  và CSDL thì ch  c n tính l ạ ộ ỗ ợ ọ   i đ  h  tr  tr ng

ầ ử ầ ữ ệ ả ổ ố ủ s  c a ph n t trên b ng băm và ph n d  li u thay đ i.

ự ậ ọ ố ấ ỉ Thu t toán d a trên tr ng s  x p x

ổ ế ố ấ ỉ ượ ậ ọ Khai phá t p ph  bi n có tr ng s  x p x  đ c Unil Yun và Keun Ho

ề ấ ự ủ ọ ự ầ ấ ố ừ Ryu [73] đ  xu t d a vào s  g n đúng c a tr ng s . Xu t phát t ệ    quan ni m

ớ ữ ệ ớ ữ ệ ự ế ẽ ẫ ễ ằ ộ cho r ng v i d  li u l n, đ  nhi u trong d  li u th c t ử   ế  s  d n đ n x  lý

ễ ủ ữ ệ ể ấ ả ộ ừ ự ế k t qu  không chính xác. Đ  nhi u c a d  li u có th  xu t phát t s  không

ử ắ ắ ỗ ườ ả ưở ế ch c ch n trong x  lý hay l i đo l ng, làm  nh h ế   ự ng tiêu c c đ n k t

ể ị ả ả ậ ả ưở ự ổ ớ ế qu  khai phá. T p k t qu  có th  b   nh h ng l n khi có s  thay đ i nh ỏ

ộ ỗ ợ ủ ầ ử ố ườ ị ề ọ v  tr ng s  hay đ  h  tr  c a các ph n t trong môi tr ễ ng b  nhi u. Do đó,

ậ ượ ề ấ ằ ả ầ ớ thu t toán WAF đ c đ  xu t nh m làm gi m b t yêu c u v  đ  h  tr ề ộ ỗ ợ

ố ế ổ ế ả ử ủ ậ ậ ọ ọ tr ng s . K t qu  x  lý c a thu t toán WAF là các t p ph  bi n có tr ng s ố

ữ ệ ậ ớ ỉ ợ ấ x p x . Thu t toán này không phù h p v i các bài toán có d  li u không b ị

nhi u. ễ

ự ệ ươ ưở Quá trình khai phá th c hi n theo ph ng pháp tăng tr ẫ ng m u [29],

ộ ỗ ợ ọ ố ủ ậ ầ ử ượ ị [30]. Đ  h  tr  tr ng s  c a t p ph n t X đ c xác đ nh là tích đ  h  tr ộ ỗ ợ

ớ ọ ườ ộ ỗ ợ ọ ễ ố ố ủ ủ c a X v i tr ng s  c a X. Tùy vào môi tr ng nhi u, đ  h  tr  tr ng s  có

ε ể ộ ị ượ ọ ộ ỗ ợ ọ ố ấ ỉ ả th  tăng hay gi m m t giá tr   , đ c g i là đ  h  tr  tr ng s  x p x .

ậ ượ ổ ế ố ấ ỉ ế ậ ọ ọ T p P đ c g i là t p ph  bi n có tr ng s  x p x  n u WSupp(P) ­ ε

ưỡ ộ ỗ ợ ọ ố ố ổ ế ể ậ ơ ớ l n h n ng ng đ  h  tr  tr ng s  t i thi u. Tuy nhiên, t p ph  bi n có

ố ấ ệ ả ả ấ ả ậ ọ ơ ỉ tr ng s  x p x  không đ m b o tính ch t ph n đ n đi u [5]. Do v y, đ ể

ệ ấ ơ ả ưỡ ả duy   trì   tính   ch t   ph n   đ n   đi u,   tác   gi dùng   ng ng   MaxW(P)   *

ε ể ạ ớ ị ọ ậ ố ớ   Support(P) ­   đ  lo i b t các t p. Trong đó, MaxW là giá tr  tr ng s  l n

ấ ộ ị nh t trong m t CSDL giao d ch.

27

ậ Thu t toán song song

ề ấ ậ   Năm 2009, Preetham Kumar and Ananthnarayana  [33]  đ  xu t thu t

ố ự ố ượ ọ toán song song khai phá t p ậ ph  bi n ổ ế có tr ng s  d a trên s  l ng, mà

ộ ầ ỉ ầ ệ ậ ấ ừ ch  c n m t l n duy t CSDL. Thu t toán này xu t phát t ầ ầ  yêu c u c n tìm

ấ ả ố ượ ự ậ ủ ặ t ổ ế t c  các t p ph  bi n d a trên s  l ữ   ng c a các m t hàng trong nh ng

ể ệ ặ ấ ộ ị ỉ ầ l n mua hàng. Các m t hàng có th  ch  xu t hi n trong m t vài giao d ch

ể ượ ư ớ ố ượ ớ ợ ậ ấ nh ng có th  đ c mua v i s  l ng l n nên l ậ   i nhu n r t cao. Thu t

ự ạ ạ ọ ố toán này chia làm hai giai đo n. Giai đo n 1: xây d ng cây tr ng s  (WT –

ộ ầ ỉ ớ ạ ỉ ệ Weighted Tree) ch  v i m t l n duy t CSDL. Giai đo n 2: t a các ph n t ầ ử

ổ ế ủ ọ ố ượ ắ không ph  bi n trên cây tr ng s  và các nhánh c a cây đ ế c s p x p theo

ứ ự ệ ầ ọ ượ ế th  t ố  tăng d n theo tr ng s . Công vi c khai phá đ c ti n hành song

ủ song trên các nút c a cây.

ưở ế ậ ế ợ ủ ỗ Ý t ng c a cách ti p c n này là k t h p m i ph n t ầ ử ớ ấ ả  v i t t c  giao

ầ ử ệ ấ ớ ọ ố ị d ch xu t hi n cùng v i ph n t đó. Cây tr ng s  (WT ­ Weighted Tree) có

ấ ượ ứ ạ ạ hai lo i nút khác nhau. Lo i nút th  nh t đ ộ c gán nhãn thu c tính tên và

ỏ ỏ ớ ứ ỏ ộ ỉ ố ứ ị ch a hai con tr . M t con tr  tr  t ọ   i nút ch a ch  s  giao d ch và các tr ng

ỏ ế ể ễ ầ ỏ ộ ầ ủ   ế ế ố s ; con tr  kia tr  đ n thu c tính k  ti p. Nút này bi u di n ph n đ u c a

ứ ứ ể ạ ầ ầ ấ ỗ ễ   ồ m i nhánh riêng. Lo i nút th  hai g m hai ph n: ph n th  nh t bi u di n

ỉ ố ứ ể ễ ầ ọ ố ị ch  s  giao d ch và ph n th  hai bi u di n tr ng s , cho bi ế ố ượ t s  l ng mua

ỏ ỏ ế ặ ộ ị ỉ ho c giá bán trong giao d ch. Nút này ch  có m t con tr  tr  đ n đ i t ố ượ   ng

ế ệ ạ ỏ ầ ử ệ ộ ti p theo có thu c tính riêng bi t này. Vi c lo i b  ph n t ổ ế    không ph  bi n

ế ổ ố ủ ắ ỉ ề ệ ọ ộ ự d a trên đi u ki n c t t a. N u t ng tr ng s  c a các nút trên m t nhánh

ộ ỗ ợ ỏ ơ ố ố ọ ạ ỏ ể ỏ nh  h n đ  h  tr  có tr ng s  t i thi u thì lo i b  nhánh đó kh i cây. Còn

ạ ầ ử ượ ắ ộ ỗ ợ ố ế l i các ph n t trên cây đ ầ c s p x p tăng d n theo đ  h  tr  t ể i thi u có

ứ ự ế ả ọ ố ọ ố tr ng s  và k t qu  là cây tr ng s  có th  t .

28

ầ ử ệ ằ ố Vi c khai phá song song b ng cách phân ph i các ph n t ổ ế    ph  bi n

ộ ử ứ ự ộ ỗ ợ ầ ỗ ị cho các b  x  lý theo th  t đ  h  tr  tăng d n. M i nút song song ch u

ấ ả ổ ế ầ ử ế ậ ệ trách nhi m sinh t t c  các t p ph  bi n liên quan đ n ph n t ổ ế    ph  bi n

ể ự ế ợ ệ ệ ớ ỗ ọ   k t h p v i nút đó. Đ  th c hi n công vi c này, m i nút song song đ c

ộ ị ươ ầ ử ứ ổ ế ọ m t nhánh giao d ch t ớ ng  ng v i ph n t ố    ph  bi n trên cây tr ng s ,

ươ ầ ử ứ ượ ọ ự sau đó xây d ng cây con t ng  ng cho ph n t đó, đ ầ   c g i là cây ph n

ử ỗ ẽ ầ ử t . M i nút song song khai phá riêng r cây ph n t sau khi chúng đ ượ   c

ị ạ ỏ ự ố   xây d ng xong. Cây này b  lo i b  ngay sau khi chúng khai phá xong. Cu i

ấ ả ổ ế ậ ượ ạ ạ ẽ ượ ậ cùng, t t c  các t p ph  bi n đ c t o ra t i các nút s  đ c t p h p t ợ ạ   i

ể ị ấ ả ổ ế ậ ậ nút chính (master) đ  xác đ nh t t c  các t p ph  bi n. Thu t toán này khá

ả ề ờ ộ ầ ệ ầ ỉ hi u qu  v  th i gian, không gian do ch  yêu c u m t l n duy t c  s  d ệ ơ ở ữ

li u. ệ

ậ ự Thu t toán d a trên cây WIT

ư ậ ộ Bay Vo, F Coenen và Bac Le  [64]  đ a ra m t thu t toán khai phá

ố ừ ọ ố ọ ị nhanh các t p  ậ ph  bi n ổ ế có tr ng s  t CSDL giao d ch có tr ng s  D =

1, i2,…,in} v i các tr ng s  t

ầ ử ợ ọ ớ I ={i ố ươ   ng ậ {T1, T2,…,Tm}, t p h p các ph n t

1,   w2,…,wn}.   Thu t   toán   này   d a   trên   c u   trúc   cây   WIT

ứ ự ấ ậ ng   W   =   {w

ủ ọ ố ộ ị ị (Weighted Itemsets­Tidset), tính toán tr ng s  giao d ch c a m t giao d ch

k) và

ệ Tk, kí hi u là tw(T

(1.7)

ộ ỗ ợ ọ ầ ử ượ và đ  h  tr ố ủ ậ  tr ng s  c a t p ph n t ệ  X, kí hi u: ws(X) đ c tính

ư nh  sau:

(1.8)

29

k  và T(X) là t pậ

ố ượ ầ ử ị ng ph n t trong giao d ch T trong đó |Tk| là s  l

ứ ậ ầ ử ị giao d ch có ch a t p ph n t X.

ứ ậ ữ ệ ỉ ố ồ D  li u trên cây WIT g m danh sách ch  s  (tid) ch a t p ph n t ầ ử

ị ộ ỗ ợ ọ ố ỗ ồ   giúp tính toán nhanh giá tr  đ  h  tr  tr ng s . M i nút trên cây WIT g m

ườ ế ậ ầ ử 3 tr ng liên quan đ n t p ph n t :

ầ ử ậ ­ X: t p ph n t

ứ ậ ợ ị ­ T(X): t p h p các giao d ch ch a X

ộ ỗ ợ ọ ố ủ ­ ws: đ  h  tr  tr ng s  c a X

ố ủ ồ ấ ả ầ ử Nút g c c a cây WIT bao g m t t c  các nút con 1­ph n t ứ  (m c 1)

ộ ớ ươ ộ ươ ề ố ớ ỗ và thu c cùng m t l p t ng đ ng v i ti n t là r ng. Các nút trong

ẽ ở ớ ươ ứ ươ ớ ớ ề ố ầ ử ủ m c 1 s  tr  thành l p t ng đ ng m i v i ti n t là ph n t c a chính

ề ố ẽ ế ợ ể ạ ớ nó. Các nút có cùng ti n t s  k t h p v i nhau đ  t o thành l p t ớ ươ   ng

ươ ớ ượ ặ ạ ể ạ ớ ươ ươ đ ng m i. Quá trình này đ c l p l i đ  t o các l p t ng đ ớ   ng m i

ở ứ ộ ầ ỉ ầ ơ m c cao h n trong cây WIT. Quá trình này ch  c n m t l n duy t c  s ệ ơ ở

ữ ệ d  li u.

ề ấ ậ ậ 1.3.3. Đ  xu t thu t toán khai phá t p ph  bi n ổ ế có tr ng sọ ố theo chi uề

d cọ

ề ặ ấ a. Đ t v n đ

ế ậ ư ề ớ ọ   Năm 2003, Zaki [75] đ a ra cách ti p c n m i khai phá theo chi u d c,

ỉ ư ự ệ ậ ứ ỉ ố ể ừ ị ch  l u s  khác bi t ch  s  giao d ch trong các t p  ng viên đ  t đó sinh ra

ổ ế ử ụ ậ ậ ấ ấ ỹ các t p ph  bi n. K  thu t này s  d ng c u trúc diffset thay cho c u trúc

́ ỉ ư ự ề ấ ố ̣ tidset truy n th ng. C u trúc diffset ch  l u s  khác nhau trong cac giao dich

́ ́ ́ ư ổ ế ̉ ̣ ̉ ̃ cua môt mâu  ng viên t ̀ ộ ấ   ư ̣  tâp ph  bi n sinh ra cua chinh no. Đây là m t c u

30

́ ́ ̀ ̉ ư ̃ ư ́ ơ ̉ ̣ ̉ ̣ ̉ trúc giúp giam manh kich th ́ ươ c cua bô nh  cân đê l u tr  kêt qua trung gian,

ổ ế ậ ờ ộ ỗ ợ ồ đ ng th i giúp tính toán nhanh đ  h  tr  trong bài toán tìm t p ph  bi n.

ự ậ ố ộ Năm 2009, El­Megid và c ng s  công b  thu t toán VMUDG [22] tìm

ổ ế ạ ấ ả ậ ổ ế ự ồ ấ ậ t p ph  bi n d a trên c u trúc diffset, phân lo i t t c  t p ph  bi n g m 2

ầ ử ự ự ậ ph n t thành các nhóm d a trên diffset. D a trên các nhóm này, thu t toán

ả ế ư ậ VMUDG [22] có các c i ti n nh  sau ầ   ộ ỗ ợ ủ  : tính toán đ  h  tr  c a N t p ph n

ộ ầ ả ờ ử ớ t ủ    v i m t l n tính toán, gi m th i gian tính toán thao tác trên diffset c a

ầ ử ổ ế ỗ ậ ủ ề ể ệ ả ậ t p ph n t ầ    và gi m đi u ki n ki m tra tính ph  bi n c a m i t p ph n

. ử t

ể ử ụ ề ặ ế ấ ậ ượ ấ V y v n đ  đ t ra là “Làm th  nào đ  s  d ng đ c c u trúc diffset

ụ ậ ậ ọ ố ổ ế trong bài toán khai phá t p ph  bi n có tr ng s  và t n d ng đ ượ ứ   c s c

ộ ử ủ ề ề ạ ầ ậ ậ m nh c a nhi u b  x  lý? Trong ph n này lu n án đ  xu t ầ   ấ thu t toán tu n

ậ ổ ế ậ ự t VMWFP và thu t toán song song PVMWFP khai phá t p ph  bi n có

ố ử ụ ọ ượ ấ tr ng s , s  d ng c u trúc diffset [I], đã đ c trình bày và đăng trong K ỷ

ộ ố ấ ọ ọ ứ ề ề ầ ả ộ ố ế y u H i th o qu c gia l n th  15: “M t s  v n đ  ch n l c v  CNTT và

TT" năm 2012.

ụ ệ ể ọ ơ ở ữ ệ   Đ  minh h a cho khái ni m diffset, ta xét ví d  sau: Cho c  s  d  li u

ầ ử ỉ ầ ư ậ ấ ỗ ợ ả nh  ư B ng 1.1 . Trong c u trúc Diffset, m i ph n t ch  c n l u t p h p các

ầ ử ứ ả ư B ng 1.2 tid không ch a ph n t đó nh .

ả ơ ở ữ ệ ọ B ng 1.. C  s  d  li u minh h a

Transaction

A, B, C, D, F, G C, D, E, F, H A, B, C, D, F, G A, C, E, F A, B, C, D, E, F, G B, D, E, G, H Tid T1 T2 T3 T4 T5 T6

31

ầ ử ả ả B ng 1.. B ng Diffset các ph n t

Diffset

Item A B C D E F G H 2, 6 2, 4 6 4 1, 3 6 2, 4 1, 3, 4 5 Supp 4 4 5 5 4 5 4 2

ướ ộ ỗ ợ ử ụ ấ ọ Hình 1.2 d i đây minh h a cách tính đ  h  tr  khi s  d ng c u trúc

ầ ử ủ ứ ớ diffset v i các vùng ch a tid c a hai ph n t ệ  a và b. Ký hi u: U – T p t ậ ấ   t

ủ ủ ả c  tid; t(a) – tidsets c a a; diffsets c a a là d(a) = U \ t(a); và d(ab) = d(b) \

ộ ỗ ợ ể ằ ấ ậ d(a). Có th  tính đ  h  tr  cho t p ab trên c u trúc diffset b ng cách tính

ị ể ậ ứ (cid:0) ố s  giao d ch trong vùng ch a (hình 1.2). V y, chúng ta có th  tính đ  h ộ ỗ

ợ ủ ệ tr  c a ab, kí hi u là (cid:0) (ab) và

(cid:0) (ab) = |t(a) (cid:0) t(b)| = (cid:0) (a) \ |d(ab)| (1.9)

Trong đó:

(cid:0) (a) = |t(a)| = |U| ­ |d(a)| (1.10)

ộ ỗ ợ ự Hình 1.. Tính đ  h  tr  d a trên Diffset

32

ư ơ ở ữ ệ ộ ỗ ợ ủ ụ ể ả Ví d , đ  tính đ  h  tr  c a AB nh  c  s  d  li u (B ng 1.1 và 1.2) ta

có: (cid:0) (A) = 6 – 2 = 4 và d(AB) = d(B) \ d(A) = {2, 4} \ {2, 6} = {4}. V yậ

(cid:0) (AB) = (cid:0) (A) ­ |d(AB)| = 4 ­ |{4}| = 4 – 1 = 3.

ươ ự T ng t , d(ABC) = d(C) – d(AB) = {6} – {4} = {6} nên (cid:0) (ABC) =

(cid:0) (AB) ­ |d(ABC)| = 3 – 1 = 2.

ầ ự ậ Thu t toán tu n t VMWFP [I]

ủ ữ ư ự ể ậ D a trên nh ng  u đi m c a thu t toán VMUDG (Vertical  Mining

ượ ở ề ậ ấ using Diffset Groups) [22] đã đ c phân tích ậ    trên, lu n án đ  xu t thu t

ố ớ ế ậ ổ ọ ọ toán   khai   phá   t p   ph   bi n   có   tr ng   s   v i   tên   g i   VMWFP   (Vertical

ụ ể ươ ự ư ậ Mining of Weighted Frequent Patterns). C  th , t ng t nh  thu t toán

ử ụ ậ ấ ậ   VMUDG, thu t toán VMWFP s  d ng c u trúc diffset trong khai phá t p

ổ ế ọ ố ph  bi n có tr ng s .

ậ ượ ọ ớ ơ ở ữ ệ ả B ng 1.1 Thu t toán đ c minh h a v i c  s  d  li u cho trong và các

ố ủ ẩ ử ọ ượ ắ ế ầ ả ọ tr ng s  c a các ph n t sau khi đã đ c s p x p gi m d n theo tr ng s ố

ả nh  ư B ng 1.3.

ả ầ ử ả ọ B ng 1.. ố ủ B ng tr ng s  c a các ph n t

H 0.9 E 0.8 F 0.7 G 0.7 D 0.5 C 0.3 B 0.3 A 0.1

ồ ậ ướ Thu t toán VMWFP g m các b c sau:

ướ B ự c 1. Xây d ng nhóm

ầ ử ủ ọ G i x.diffset ={Diffset c a ph n t x}

ướ ướ ầ ử ừ ự D i đây là các b c xây d ng các nhóm cho t ng ph n t x:

ướ ơ ả ự B c 1.1. Xây d ng các nhóm c  b n (constructing basic groups):

33

ầ ử ậ ồ và Nhóm Gi  g m các 02 thành ph n: ầ itemset  – t p ph n t diffset  –

ấ ả ậ ậ ộ ủ diffset c a nhóm. Sinh t t c  các t p 2­itemsets. G p các t p 2­itemsets có

i. Ta có:

ể ạ cùng diffset đ  t o thành 1 nhóm G

ầ ử ộ thu c 2­itemsets có cùng diffset}; ­ Gi.itemset = {các ph n t

i};

­ Gi.diffset = {diffset c a Gủ

i có đ  h  tr  theo công th c 1.11.

ượ ừ ộ ỗ ợ ứ ậ Các t p X đ c sinh ra t nhóm G

Support(X) = T ­ C – I (1.11)

Trong đó:

ố ổ ị + T là T ng s  giao d ch;

ố + C là S  các tid trong diffset c a ti n t ủ ề ố ;

ủ ậ ầ ử ố + I là S  các tid trong diffset c a t p ph n t ;

ụ ớ ơ ở ữ ệ ả ạ B ng 1.1 Ví d , v i c  s  d  li u trong ệ   sau khi duy t và t o đ ượ   c

ầ ử ế ạ ả ư B ng 1.2 diffset cho các ph n t nh ậ    ta ti n hành sinh và t o diffset các t p

ề ố ủ ư 2­itemsets c a ti n t A nh  sau: d(AB) = d(B) – d(A) = {2, 4} – {2, 6} =

ươ ự ủ ậ ươ {4}, t ng t ta có t p diffset c a AC, AD, AE, AF, AG, AH t ứ   ng  ng

ư ế ế ộ ậ   nh  là {}, {4}, {1, 3}, {}, {4}, {1, 3, 4, 5}. Ti p theo, ti n hành g p các t p

ấ ộ 2­itemsets có cùng diffset thành m t nhóm. Ta th y, AB, AD, AG có cùng

1 có: G1.itemset = ABDG

ộ ộ ậ t p diffset {4} nên g p ABDG thành m t nhóm G

2.itemset = ACF và G2.diffset= {};

ươ ự ng t , nhóm G và G1.diffset = {4}. T

G3.itemset=AE và G3.diffset= {1, 3}; G4.itemset = AH và G4.diffset={1, 3, 4,

ế ả ư Hình 1.3. 5}. K t qu  nh

ơ ả ề ố Hình 1.. Các nhóm c  b n có ti n t A

34

ướ ự ớ B c 1.2. Xây d ng l p các nhóm (constructing class groups)

i và Gj có cùng ti n t

k

ế ợ ơ ả ề ố ể ạ K t h p 2 nhóm c  b n G đ  t o thành nhóm N

k.itemset) ≥ minwsupp. Trong đó:

ề ệ ớ v i đi u ki n WSupp(N

k.itemset đ

ượ ừ ớ ượ ộ ỗ ợ ủ ậ + Đ  h  tr  c a t p X đ c sinh ra t l p N c tính nh ư

sau:

Supp(X) = T ­ C – TI (1.12)

Trong đó:

ổ ị ố T là T ng s  giao d ch; ­

ề ố ủ ố C là S  các tid trong diffset c a ti n t ; ­

i.diffset (cid:0)  Gj.diffset;

ố ­ TI là S  các tid trong G

ố ủ ậ ọ ổ ượ + T ng tr ng s  c a t p X đ c tính:

Weight(X) = (1.13)

Trong đó:

ố ủ ầ ử ọ ậ i trong t p X; wi là tr ng s  c a ph n t ­

ộ ỗ ợ ọ ố ủ ậ ượ + Đ  h  tr  tr ng s  c a t p X đ c tính:

WSupp(X) = Supp(X) * Weight(X) (1.14)

ườ ợ  Ví d , xét tr ụ ộ ỗ ợ ủ ậ   ể ng h p minwsupp = 3. Đ  tính đ  h  tr  c a t p

ớ ề ố ượ X v i ti n t A đ c sinh t G ừ 1.itemset (cid:0) G2.itemset = ABCDFG trong

ề ố ti n t ư  A nh  sau:

1.diffset (cid:0)

ổ ố ị + Supp(X) = T ng s  giao d ch – |{A}.diffset| – |G G2.diffset|

= 6 ­ |{2, 6}| ­ |{4}|) = 6 – 2 – 1 = 3.

35

ọ ổ + T ng tr ng s ố Weight(ABCDFG) = (0.1 + 0.3 + 0.3 + 0.5 + 0.7 + 0.7) =

2.6.

ộ ỗ ợ ố ớ ủ ậ ấ +   Đ   h   tr ọ   có   tr ng   s l n   nh t   c a   t p   ABCDFG   là

1 và G2 thành 1 l p. ớ

ộ WSupp(ABCDFG) = 3 * 2.6 = 7.8 > 3 nên g p 2 nhóm G

(cid:0) ự ớ ậ ớ ề ố ượ ừ  T ng t ươ , v i t p X v i ti n t A đ c sinh ra t G1 G3 =

ABDEG có:

+ Supp(X) = 6 ­ |{2, 6}| ­ |{1, 3, 4}| = 6 – 2 – 3 = 1

ọ ố ổ + T ng tr ng s  Weight(ABDEG) = (0.1 + 0.3 + 0.5 + 0.8 + 0.7) = 2.4

ỗ ộ ợ ố ớ ủ ấ ậ +   Đ   h   tr ọ   có   tr ng   s l n   nh t   c a   t p   ABDEG   là

1 và G3 thành 1

ộ WSupp(ABCDFG) = 1 * 2.4 = 2.4 < 3 nên không g p nhóm G

l p. ớ

 ử ế ợ ơ ả ề ố Sau khi th  k t h p các nhóm c  b n có ti n t A nh  G ư 1 và G4;

ượ ớ ủ ề ố c l p các nhóm c a ti n s  A nh ư G2 và G3; G2 và G4; G3 và G4. Ta đ

Hình 1.4.

ướ ổ ế ậ ọ B ố c 2. Tìm các t p ph  bi n có tr ng s :

ượ ớ ề ố ủ ự Sau khi tìm đ c l p các nhóm c a các ti n t ệ  thì th c hi n khai phá

ố ư ổ ế ọ ậ t p ph  bi n có tr ng s  nh  sau:

ậ ừ ớ ­ Sinh các t p con X t 1 nhóm trong l p:

ộ ỗ ợ ủ ậ ứ + Tính đ  h  tr  c a t p X theo công th c (1.11);

ứ ổ ọ ố + Tính t ng tr ng s  Weight(X) theo công th  (1.13);

+ Tính WSupp(X) = Supp(X) * Weight(X);

36

ế ổ ế ư ậ + N u WSupp(X) ≥ minwsupp thì đ a X vào danh sách t p ph  bi n có

ọ ố tr ng s  cao;

ờ ế ợ ậ ớ ­ Sinh các t p con X nh  k t h p các nhóm trong l p:

ộ ỗ ợ ủ ậ ứ + Tính đ  h  tr  c a t p X theo công th c (1.12 ) ;

ứ ọ ổ ố + Tính t ng tr ng s  Weight(X) theo công th c (1.13);

+ Tính WSupp(X) = Supp(X) * Weight(X)

ế ư ậ + N u WSupp(X) ≥ minwsupp thì đ a X vào danh sách t p ph ổ

ế ọ ố bi n có tr ng s .

ướ ế ậ D i đây là chi ti t thu t toán VMWFP [I].

ổ ế ố ừ ậ ậ ọ Thu t toán tìm các t p ph  bi n có tr ng s  t các nhóm ti n t ề ố

ậ ậ Thu t toán 1.1. Thu t toán VMWFP

Input:

ậ ị ­ D ­ T p các các giao d ch,

ầ ử ậ ­ I – T p các ph n t ,

ố ỗ ợ ố ọ ­ minwsupp – tr ng s  h  tr  t ể i thi u,

ố ổ ị ­ T ­ T ng s  giao d ch

Output:

ổ ế ậ ọ ố ­ Danh sách các t p ph  bi n có tr ng s  – WFIs

D{

D và j > i { For each item xi (cid:0) GS = {}; For each item xj (cid:0)

ầ ử ộ xj; //G p 2 ph n t

ơ ả ­ R = xi (cid:0) ự //Xây d ng các nhóm c  b n

­ Call Basic_Groups_Construction(R, d(R));

37

}

ự ớ ­ Call Class_Groups_Construction(xi); //Xây d ng l p các nhóm

}

ổ ế ậ ọ ố //Sinh và tìm t p ph  bi n có tr ng s

­ Call Generation_Weight_Frequent_Patern(xi);

Return WFIs;

ơ ả ủ ụ ự Th  t c xây d ng các nhóm c  b n

ủ ụ Th  t c Basic_Groups_Construction(new_item, new_diffset)

Input:

ơ ả ủ ề ố ­ GS – Nhóm c  b n c a ti n t ;

­ new_item – 1 ph n t ầ ử ;

ủ ậ ­ new_diffset – t p diffset c a new_item.

Output:

ế ­ Thêm new_item vào GS n u có cùng diffset

For each group g (cid:0) GS {

Grouped=False;

new_item;

If (new_diffset == g.diffset) { ­ g.itemset = g.itemset (cid:0) ­ Grouped=True;  Exit;

}

}

If (!Grouped)

GS.add new group(new_diffset, new_item);

38

ủ ụ ớ Th  t c xây d ng l p các nhóm  ự

ủ ụ Th  t c Class_Groups_Construction(x)

Input:

ố ổ ị ­ T­ T ng s  giao d ch;

ủ ề ố ố ­ C – S  tid trong diffset c a ti n t x;

ơ ả ủ ề ố ­ GS – Nhóm c  b n c a ti n t x;

Output:

ủ ề ố ­ L p các nhóm c a ti n t x;

ớ For each group gi (cid:0)

GS và j > i { GS { For each group gj (cid:0)

gj.itemset;

gj.diffset |;

­ itemsets = gi.itemset (cid:0) ­ Tính TI = | gi.diffset (cid:0) If ((T – C – TI) * Weight(X) ≥ minwsupp) {

gj;

­ new_group = gi (cid:0) ­ GS.add_new_group();

­ new_group.itemset.add(gi.itemset,gi.diffset);

­ new_group.itemset.add(gj.itemset,gj.diffset);

}

}

}

ơ ả ượ ử ­ Xóa các nhóm c  b n đã đ c x  lý trong GS;

ổ ế ậ ọ ố Sinh và tìm t p ph  bi n có tr ng s

ủ ụ Th  t c Generation_Weight_Frequent_Patern(x)

Input:

ủ ề ố ớ ­ GS – L p các nhóm c a ti n t x

Output:

ố ủ ề ố ổ ế ậ ọ ­ WFIs – t p ph  bi n có tr ng s  c a ti n t x;

39

ổ ế ậ ọ ố

//Sinh và tìm t p ph  bi n có tr ng s For each group gi (cid:0)

GS { For each itemset Y (cid:0) gi {

(cid:0) ấ ấ ả ­ Trích xu t t ậ t c  các t p con X Y;

ộ ỗ ợ ậ ứ ­ Tính đ  h  tr  t p Supp(X) theo công th c 1.11;

ổ ­ Tính t ng Weight(X);

If (Supp(X) * Weight(X) ≥ minwsupp {

ư ­ Đ a X vào WFIs;

}

}

} For each group gi (cid:0)

GS và j > i {

gj;  ấ GS { For each group gj (cid:0) ­ g = gi (cid:0) ậ ­ Trích xu t các t p con X trong g;

ộ ỗ ợ ậ ứ ­ Tính đ  h  tr  t p Supp(X) theo công th c 1.12;

ổ ­ Tính t ng Weight(X);

If (Supp(X) * Weight(X) ≥ minwsupp {

ư ­ Đ a X vào WFIs;

}

}

}

Return WFIs;

ộ ứ ạ ậ Đ  ph c t p thu t toán VMWFP

ệ ề ứ ạ ủ ộ ườ ậ  Đ  ph c t p c a thu t toán VMWFP trong tr ợ   ng h p M nh đ  1.1.

n), trong đó n là t p t

ậ ấ ả ầ ử ổ ố ấ ấ x u nh t là O(2 t c  các ph n t ; m là t ng s  giao

ầ ử ố ừ ố ổ ị ị d ch, v là s  ph n t trung bình trong t ng giao d ch và v là t ng s  các

ầ ử ấ ả ị ph n t trong t t c  các giao d ch.

40

ứ Ch ng minh:

ườ ấ ấ ậ ợ ấ ả Tr ng h p x u nh t cho thu t toán VMWFP là có t t c   nhóm c ơ

ơ ả ả ượ b n đ c sinh ra (các nhóm có Diffset khác nhau) và các nhóm c  b n trong

ề ố ế ợ ộ ỗ ợ ọ ố ớ ề ớ ơ cùng ti n t k t h p v i nhau đ u có đ  h  tr  tr ng s  l n h n ng ưỡ   ng

ệ ừ ầ ử ừ ể minwsupp. Sau khi duy t t ng ph n t ị  trong t ng giao d ch đ  tìm Diffset

ầ ử ớ ừ ế ự ướ ớ cho t ng ph n t v i chi phí v. Chi ti ệ t th c hi n các b c v i chi phí sau:

2 * m2;

ơ ả ự ớ + Xây d ng nhóm c  b n v i chi phí là n

ự ớ ườ ấ ợ + Xây d ng l p các nhóm: trong tr ấ ng h p x u nh t thì các nhóm c ơ

ấ ả ả ề b n đ u có Diffset khác nhau nên có t ế ợ ớ   t c  nhóm và các nhóm này k t h p v i

ộ ỗ ợ ọ ố ớ ơ ề ưỡ ộ nhau đ u có đ  h  tr  tr ng s  l n h n ng ng minwsupp nên g p các nhóm

ủ ừ ề ố ớ ớ này vào l p các nhóm c a t ng ti n t v i chi phí là ;

ổ ế ậ ố ọ ườ ợ ấ ả + Sinh các t p ph  bi n có tr ng s : Trong tr ng h p t ậ   t c  các t p

n ­1 t p đ ậ

ổ ế ẽ ậ ọ ố ượ ề ề đ u là t p ph  bi n có tr ng s  thì s  có 2 c sinh ra và đ u là

ổ ế ọ ố ậ t p ph  bi n có tr ng s .

ứ ạ ậ ộ ườ ấ ấ ợ Do đó, đ  ph c t p thu t toán trong tr ng h p x u nh t là O() =

O(2n).

ậ Thu t toán song song PVMWFP[I]

ổ ế ậ ậ ố ọ ề   Đây là thu t toán song song khai phá t p ph  bi n có tr ng s  theo chi u

ự ừ ậ ở ầ ọ ượ d c đ c xây d ng t thu t toán VMWFP ph n trên mô hình chia s  b ẻ ộ

nh .ớ

ướ ậ Các b c cho thu t toán song song PVMWFP:

Master:

ữ ệ ề ỗ ­ Phân chia d  li u cho m i Thread theo chi u ngang;

ề ố ộ ậ ử ­ Phân chia các ti n t cho các Thread đ c l p x  lý

41

Thread:

ầ ử ặ ủ ­ Tìm diffset c a các ph n t ữ ệ ụ    và các c p 2­itemsets trên d  li u c c

b ;ộ

ầ ử ượ ớ ỗ đ c phân chia ­ For each xi (cid:0) Local{//V i m i ph n t

ủ ậ ợ ừ + T p h p diffset c a x t các Thread khác;

+ GS = {};

D và j > i { + For each item xj (cid:0)

xj; o R = xi (cid:0)

ậ ợ ặ o T p   h p   các   c p   R   (2­itemsets)   có

ề ố ủ ti n t x và d(R) ­ diffset c a R;

o Call Basic_Groups_Construction(R,

d(R));

}

+ Call Class_Groups_Construction(xi);

+ Call Generation_Weight_Frequent_Patern(xi);

}

ộ ử ụ ậ ọ Ví d , minh h a thu t toán PVMWFP song song 2 b  x  lý P0 và P1

ả B ng 1.1 ớ ơ ở ữ ệ v i c  s  d  li u trong .

Chia CSDL cho P0, P1 nh  ư Hình 1.5.

Tid Items Tid

4 A, C, E, F 1

5 2

Items A, B, C, D,  F, G C, D, E, F,  H A, B, C, D, 6 A, B, C, D,  E, F, G B, D, E, G, 3

42

H

F, G P0 P1

Hình 1.. Chia CSDL cho P0, P1

ỗ ộ ử ộ ượ ụ ế Trên m i b  x  lý ti n hành tìm diffset trên CSDL c c b  đ ế   c k t

ả ư Hình 1.6. qu  nh

Diffset 2 2

Diffset 6 4 6 4

1, 3

Item A B C D E F G H 2 1, 3 Item A B C D E F G H 6 4 4, 5

P0 P1

Hình 1.. Diffset trên CSDL c c bụ ộ

ả ử ề ố ử ề ố ử Gi s  phân công P0 x  lý ti n t : A, C, E, G và P1 x  lý ti n t : B, D,

ỗ ộ ử ủ ừ ề ố ậ ợ F, H. Trên m i b  x  lý t p h p diffset c a t ng ti n t ; sinh và tìm diffset

ả ượ ủ ự ế ặ cho các c p 2­itemsets d a vào diffset c a 1­itemsets, k t qu  đ c nh ư

Hình 1.7.

Ti n tề ố Ti n tề ố Diffset

A B

BC:{6};  BD:{}; BE: {1, 3}; BF: {6}; BG:{};  BH:{1, 3, 4,  5};

C D

Diffset AB:{4};  AC:{}; AD: {4}; AE: {1,3}; AF: {}; AG:{4};  AH:{1, 3, 4,  5}; CD:{4};  CE:{1, 3};  CF:{}; CG: {2, 4}; CH: DE:{1, 3};  DF:{6};  DG:{2};  DH:{1, 3,

43

Ti n tề ố Ti n tề ố Diffset

E F

5}; FG:{2, 4};  FH:{1, 3,  5};

G H

Diffset {1, 3, 4, 5}; EF:{6};  EG:{2, 4};  EH:{4, 5}; GH:{1, 3,  5};  P0

ề ố ặ Hình 1.. Diffset các c p theo ti n t P1  cho P0 và P1

ỗ ộ ử ổ ế ộ ậ ố ớ ậ ọ Trên m i b  x  lý đ c l p khai phá t p ph  bi n có tr ng s  v i các

ề ố ượ ti n t đã đ c phân công.

ộ ứ ạ ậ Đ  ph c t p thu t toán PVMWFP

ệ ứ ạ ủ ộ ườ ậ ề   Đ  ph c t p c a thu t toán PVMWFP trong tr ợ   ng h p M nh đ :

ậ ấ ả ầ ử ấ ổ ị ấ x u nh t là , trong đó n là t p t t c  các ph n t ố ; m là t ng s  giao d ch, v

ầ ử ố ầ ử ừ ổ ố là s  ph n t ị  trung bình trong t ng giao d ch, v là t ng s  các ph n t trong

ấ ả ử ị t ố t c  các giao d ch và p là s  Thread tham gia x  lý.

ứ Ch ng minh:

ườ ấ ấ ợ ấ ả Tr ậ ng h p x u nh t cho thu t toán PVMWFP là có t t c   nhóm c ơ

ượ ơ ả ả b n đ c sinh ra (các nhóm có diffset khác nhau) và các nhóm c  b n trong

ề ố ế ợ ộ ỗ ợ ọ ố ớ ề ớ ơ cùng ti n t k t h p v i nhau đ u có đ  h  tr  tr ng s  l n h n ng ưỡ   ng

ệ ừ ầ ử ừ ể minwsupp. Sau khi duy t t ng ph n t ị  trong t ng giao d ch đ  tìm diffset

ầ ử ớ ừ ế ự ướ cho t ng ph n t v i chi phí v. Chi ti ệ t  th c hi n các b ừ   c trên t ng

ớ Thread v i chi phí sau:

2 * m2;

ơ ả ự ớ + Xây d ng nhóm c  b n v i chi phí là n

ự ớ ườ ấ ợ + Xây d ng l p các nhóm: trong tr ấ ng h p x u nh t thì các nhóm c ơ

ề ấ ả ả b n đ u có diffset khác nhau nên có t ế ợ   t c  nhóm và các nhóm này k t h p

44

ố ớ ề ơ ưỡ ộ ộ ỗ ợ ọ ớ v i nhau đ u có đ  h  tr  tr ng s  l n h n ng ng minwsupp nên g p các

ủ ừ ề ố ớ ớ nhóm này vào l p các nhóm c a t ng ti n t v i chi phí là ;

ổ ế ậ ọ ố ườ ợ ấ ả + Sinh các t p ph  bi n có tr ng s : Trong tr ng h p t ậ   t c  các t p

n ­1 t p đ ậ

ổ ế ẽ ậ ọ ố ượ ề ề đ u là t p ph  bi n có tr ng s  thì s  có 2 c sinh ra và đ u là

ổ ế ọ ố ậ t p ph  bi n có tr ng s .

ả ử ề ố ượ ử ố Gi s , các ti n t đ c phân chia cho các Thread x  có s  các nhóm

ớ ươ ươ ượ ơ ả c  b n trong các l p là t ng đ ng nên chi phí tính toán đ ề   c chia đ u

ứ ạ ậ ộ ườ ấ ợ cho p Thread. Do đó, đ  ph c t p thu t toán trong tr ấ   ng h p x u nh t là

O( *()) = O().

ế ả ậ K t qu  đánh giá thu t toán

ậ ượ ề ấ ớ Thu t toán song song PVMWFP [I] đ ậ   c đ  xu t so sánh v i thu t

ầ ự ậ ượ ặ toán tu n t VMWFP. Thu t toán PVMWFP đ c cài đ t theo mô hình chia

ư ệ ớ ượ ỗ ợ ở ữ ậ ẻ ộ s   b  nh  trên th   vi n OpenMP   đ c h   tr b i ngôn  ng  l p trình

ự ệ Visual Studio.NET th c hi n trên máy IBM T61, Core 2 Due, RAM 2Gb, s ố

ơ ở ữ ệ ử ự ệ ệ ớ Thread th c hi n là 3. Sau khi th  nghi m trên các c  s  d  li u v i 52

ầ ử ẫ ị ượ ế ph n t và 3984 giao d ch sinh ng u nhiên đ c k t qu  nh ả ư Hình 1.8.

ế ả ớ Hình 1.. K t qu  so sánh VMWFP và PVMWFP v i 3 thread

ậ ợ 1.4. T p l i ích cao

ổ ế ừ ơ ở ữ ệ ề ứ ậ Khai phá t p ph  bi n t ụ   ị  c  s  d  li u giao d ch có nhi u  ng d ng

ế ổ ế ụ ụ ủ ậ trong kinh doanh, y t , giáo d c,... M c tiêu c a khai phá t p ph  bi n là

ầ ử ậ ệ ớ ầ ấ ấ ơ ộ ưỡ tìm ra các t p ph n t có t n su t xu t hi n l n h n m t ng ng h  tr ỗ ợ

ể ướ ậ ự ổ ế ừ ậ ộ ố t i thi u cho tr c. T  t p ph  bi n sinh ra các lu t d a trên đ  tin c y t ậ ố   i

ổ ế ơ ả ầ ử ể ọ ậ thi u. Trong bài toán khai phá t p ph  bi n c  b n, m i ph n t là t ươ   ng

45

ươ ệ ủ ầ ử ấ ấ ỉ đ ế ầ ng nhau và ch  quan tâm đ n t n su t xu t hi n c a ph n t trong các

ự ế ị ầ ử giao d ch. Tuy nhiên, trong th c t , các ph n t ơ ở ữ ệ  trong c  s  d  li u giao

ườ ị ượ ư ố ượ ị d ch th ộ ng có các thu c tính đ nh l ng khác nhau nh : s  l ơ ng, đ n giá,

ư ệ ợ ợ l i ích,... Năm 2003, Chan [13] đã đ a ra khái ni m l ủ ậ i ích c a t p ph n t ầ ử

ữ ắ ượ ầ ử ể ổ ế ơ ả ụ ể đ  kh c ph c nh ng nh ủ ậ c đi m c a t p ph n t ợ    ph  bi n c  b n. L i

ầ ử ủ ộ ị ượ ự ợ ộ ích c a m t ph n t trong m t giao d ch đ c tính toán d a trên l i ích

ị ợ ầ ử ủ ụ ề ợ trong giao d ch và l i ích ngoài c a ph n t đó. Ví d  v  l i ích trong giao

ư ố ượ ể ế ỗ ầ ề ợ ủ ặ ị d ch k  đ n nh  s  l ng c a m t hàng trong m i l n mua hàng; v  l i ích

ể ể ế ị ợ ư ị ậ ngoài giao d ch có th  k  đ n nh  giá tr  l ặ i nhu n do m t hàng đó đem l ạ   i.

ộ ậ ợ ị ợ ỏ ơ ủ ộ M t t p có l i ích cao khi giá tr  l i ích c a nó không nh  h n m t ng ưỡ   ng

ố ể ướ ợ l i ích t i thi u cho tr c.

ậ ợ ứ ữ ộ M t trong nh ng thách th c khi khai phá t p l i ích cao là các t p l ậ ợ   i

ấ ố ượ ậ ượ ích không có tính ch t đóng [6]. Do v y, s  l ứ ng các  ng viên đ c sinh

ấ ớ ứ ế ể ẫ ờ ế ra r t l n, d n đ n không gian tìm ki m và th i gian ki m tra các  ng viên

ứ ượ ứ ề có chi phí cao. Đây là thách th c đ c nhi u nhà nghiên c u quan tâm [13],

[39], [23], [12], [40], [24], [62], [55], [60], [77], [65], [17], [26],…

ơ ở ệ 1.4.1. Khái ni m c  s

1, T2, T3,…,Tm} và

ộ ơ ở ữ ệ ị ồ Cho m t c  s  d  li u g m các giao d ch D = {T

(cid:0) ầ ử ệ ấ ị (item) xu t hi n trong các giao d ch, X I I={i1, i2, i3,…,in} là các ph n t

ầ ử ậ ậ ượ ầ ử ọ là t p các ph n t (itemsets). T p X đ ậ c g i là t p k­ph n t khi s ố

ượ ầ ử ủ l ng ph n t c a X là k.

ậ ợ ể ả ư ệ ậ Đ  thu n l i trong gi i thích các khái ni m, lu n án đ a ra m t c  s ộ ơ ở

ữ ệ ị ượ ễ ể ướ ạ ả ư B ng 1.4 d  li u giao d ch đ c bi u di n d ả i d ng b ng nh ợ . L i ích

ầ ử ượ ủ ả B ng 1.5 ngoài c a các ph n t đ c cho trong .

46

ả ơ ở ữ ệ ị B ng 1.. ọ C  s  d  li u giao d ch minh h a

Giao d chị

F C D E 1 1 1 2 0 0 0 25 1 2 0 0 0 0 0 12 0 2 0 8 1 0 1 4 0 0 1 2 3 2 0 0 0 0 1 0 0 2 0 4 ầ ử A B 0 1 1 0 0 0 1 0 0 2 0 0 0 0 2 3 0 2 0 0 ợ ủ Ti d 1 2 3 4 5 6 7 8 9 10 ả B ng 1.. L i ích c a các ph n t

Item ợ L i ích A B C D E F 2 3 10 1 6 5

ị ầ ử ủ ợ [38] L i ích trong (internal utility) c a ph n t là giá Đ nh nghĩa 1.9.

k, Tj) – là l

ầ ử ị ủ ừ ệ ị ợ tr  c a ph n t đó trong t ng giao d ch. Ký hi u: O(i i ích trong

j.

ủ c a ph n t i ầ ử k trong giao d ch Tị

1) = 1; O(C, T1) = 2 trong B ng 1.4.

ụ ả Ví d , O(A, T

ị ầ ử ủ ợ là giá tr ị Đ nh nghĩa 1.10. [38] L i ích ngoài (external utility) c a ph n t

k}) là l

ầ ử ả ợ ệ ợ ợ l ủ i ích c a ph n t đó trong b ng l i ích. Ký hi u: S({i ủ   i ích ngoài c a

ph n t i ầ ử k.

ụ ả Ví d , S({A}) = 3; S({B}) = 10 trong B ng 1.5.

ị ầ ử ủ ợ ị  trong giao d ch là tích c a l ủ ợ   i Đ nh nghĩa 1.11. [38] L i ích c a ph n t

k,Tj) là l

ợ ầ ử ủ ợ ích trong và l i ích ngoài c a ph n t đó. ệ  Ký hi u: U(i ầ   ủ i ích c a ph n

j.

iử k trong giao d ch Tị t

(1.15) U(ik,Tj) = S({ik}) * O(ik,Tj)

47

1) = 3*1 = 3; U({C}, T1) = 1 * 2 = 2.

ụ Ví d , U({A}, T

j là

ị ủ ậ ầ ử ợ ị X trong giao d ch T Đ nh nghĩa 1.12. [38] L i ích c a t p ph n t

j, ký hi u làệ

ị ợ ấ ả ầ ử ủ ậ ị ổ t ng giá tr  l i ích t t c  ph n t c a t p X trong giao d ch T

U(X, Tj).

(1.16) U(X, Tj) =

1) = 3*1 + 1*2 = 5.

ụ Ví d , U({AC}, T

ị ộ ậ ầ ử ủ ợ X trong c  s  d ơ ở ữ Đ nh nghĩa 1.13. [38] L i ích c a m t t p ph n t

ệ ổ ợ ầ ử ấ ả ứ ị li u là t ng l ủ ậ i ích c a t p ph n t X trong t t c  giao d ch ch a X. Ký

ệ hi u: AU(X).

AU(X) = (1.17)

1, T5 nên:

ụ ệ ậ ấ ị Ví d , xét t p{AC}, vì {AC} xu t hi n trong các giao d ch: T

AU({AC}) = U({AC}, T1) + U({AC}, T5) = (3 * 1 + 1 * 2) + (3 * 2 + 1 * 8) =

19.

ị ầ ử ợ ậ ượ ọ l i ích cao: T p X đ ậ   c g i là t p Đ nh nghĩa 1.14. ậ  [38] T p ph n t

ầ ử ợ ế ph n t l i ích cao (HU – High Utility) n u AU(X) ≥ minutil, ng ượ ạ ọ   i g i c l

ầ ử ợ ậ ấ ưỡ ợ ố X là t p ph n t l i ích th p, trong đó minutil là ng ng l i ích t ể   i thi u

ướ cho tr c.

ụ ợ ố ầ ử ợ ể ậ Ví d , l i ích t i thi u minutil = 12 thì {AC} là t p ph n t l i ích cao.

ị ủ ổ ợ ị ợ ộ  [38] L i ích c a m t giao d ch là t ng l ủ   i ích c a các Đ nh nghĩa 1.15.

j) là l

j.

ầ ử ệ ị ợ ủ ị ph n t trong giao d ch đó. Ký hi u: TU(T i ích c a giao d ch T

(1.18) TU(Tj) =

1) = 1 * 3 + 2 * 1 + 1 * 6 + 1 * 5 + 1 * 2 = 18, TU(T2) = 1 * 10

ụ Ví d , TU(T

+ 25 * 1 = 35.

48

ị ộ ậ ố ủ ợ ọ ị ầ    [38] L i ích giao d ch có tr ng s  c a m t t p ph n Đ nh nghĩa 1.16.

ổ ợ ứ ậ ầ ử ủ ị ử t X là t ng l i ích c a các giao d ch có ch a t p ph n t ệ    X. Ký hi u:

TWU(X) và

TWU(X) = (1.19)

1) + TU(T5) = 18 + 24 = 42.

ụ Ví d : TWU({AC}) = TU(T

ị ế ớ [39] N u TWU(X) ≥ minutil v i minutil là ng ưỡ   ng Đ nh nghĩa 1.17.

ố ể ợ ứ ướ ầ ử ợ ậ ọ t i thi u l i ích  ng viên cho tr c thì X g i là t p ph n t l i ích giao

ố ọ ị d ch có tr ng s  cao (HTWU ­ High Transaction Weighted Utility). Ng ượ   c

ạ ượ ầ ử ợ ọ ố ấ ị l i, X đ ậ c g i là t p ph n t l ọ i ích giao d ch có tr ng s  th p (LTWU –

Low Transaction Weighted Utility).

ị ộ ậ ầ ử ộ ị [38] Cho m t t p ph n t X và m t giao d ch T, sao Đ nh nghĩa 1.18.

ợ ấ ả ầ ử ủ ộ ượ ậ  T. T p h p t t c  các ph n t c a T không thu c X đ ệ   c kí hi u cho X (cid:0)

là T\X.

1 \ {AC} = {DEF}.

ụ ả Ví d , trong B ng 1.4 thì T

ị ợ ạ ủ ậ ầ ử [38]  L i ích còn l i c a t p ph n t X trong giao Đ nh nghĩa 1.19.

ổ ợ ầ ử ủ ị ị d ch T là t ng l i ích c a các ph n t ệ    trong T\X trong giao d ch T. Kí hi u:

RU(X, T) và

RU(X, T) = (1.20)

ị ỗ ậ ầ ử ớ ế ậ [38] V i m i t p ph n t X, ta thi t l p danh sách Đ nh nghĩa 1.20.

ươ ứ ệ ớ ỗ ố ủ ợ l i ích t ng  ng v i X, kí hi u là utility­list. M i thành t c a danh sách

ườ có 3 tr ng: tid, iutil, rutil. Trong đó:

ỉ ố ủ ị ­ tid: ch  s  c a giao d ch T ứ j ch a X;

49

ợ ủ ệ ở ươ ứ ­ iutil: l i ích c a X trong tid, kí hi u b i iutil(X, tid), t ớ   ng  ng v i

ứ công th c (1.16) ;

ợ ạ ủ ệ ở ­ rutil: l i ích còn l i c a X trong tid, kí hi u b i rutil(X, tid), t ươ   ng

ứ ứ ớ ng v i công th c (1.20) ;

ị ợ ủ ậ ầ ử [38] Xét danh sách l i ích (utility­list) c a t p ph n t X. Đ nh lý 1.1.

ế ổ ỏ ơ ưỡ ợ ố ể N u t ng iutils và rutils nh  h n ng ng l i ích t i thi u (minutil) thì l ợ   i

ỏ ơ ợ ứ ậ ọ ậ ố ủ ọ ị ích giao d ch có tr ng s  c a m i t p ch a t p X cũng nh  h n l i ích t ố   i

thi u. ể

ộ ố ươ ậ ợ 1.4.2. M t s  ph ng pháp khai phá t p l i ích cao

ầ ự ậ ậ ợ khai phá t p l i ích cao a. Thu t toán tu n t

ự ề ấ ậ ạ ộ Năm 2005, Liu và c ng s  [39] đ  xu t thu t toán hai giai đo n (Two­

ậ ợ ạ ậ Phase) tìm t p l ế ợ i ích cao. Giai đo n 1 k t h p các t p trong HTWUs đ ể

ậ ứ ạ ộ ầ ứ ệ ạ ỗ sinh t p  ng viên t i m i m c. Giai đo n 2 thêm m t l n duy t CSDL đ ể

ậ ạ ượ ầ ậ ầ lo i các t p đ ệ   c đánh giá quá cao. Thu t toán Two­Phase c n ít l n duy t

ậ ộ ớ ơ CSDL, không gian b  nh  và chi phí tính toán ít h n. Tuy nhiên, thu t toán

ớ ơ ở ữ ệ ợ ố ợ ớ ữ ệ   ề này phù h p v i c  s  d  li u truy n th ng, không phù h p v i d  li u

ệ ạ ả ồ ề ầ ị lu ng (streams), vì ph i duy t l i CSDL nhi u l n, khi có thêm giao d ch

ớ ừ ồ ữ ệ ử ẽ ề ậ ố ờ m i t lu ng d  li u. Do v y, s  làm t n nhi u th i gian cho x  lý Vào/Ra

và chi phí CPU.

ề ấ ậ ộ ệ   Erwin, A., Gopalan, R.P., N.R. Achuthan [23] đ  xu t m t thu t toán hi u

ả ọ ợ ươ ưở qu  g i là CTU­PRO cho khai phá l ử ụ i ích s  d ng ph ng pháp tăng tr ng.

ự ể ớ ọ ữ ệ ẫ ợ ộ ễ Erwin và các c ng s  bi u di n d  li u m i g i là cây m u l i ích nén

ượ ừ ậ ợ (CUP­tree) đ ở ộ c m  r ng t cây CFP [57] cho khai phá t p l i ích. Trong

ậ ượ ử ụ ể ỉ ậ ứ thu t toán này, mô hình TWU đ ả   c s  d ng đ  t a t p  ng viên, làm gi m

50

ộ ầ ệ ạ ơ ở ữ ệ ế ả không gian tìm ki m và gi m m t l n duy t l i c  s  d  li u. Erwin và các

ự ự ệ ậ ớ ậ ộ c ng s  đã th c nghi m so sánh thu t toán CTU­PRO v i hai thu t toán

ả ự ế ệ ơ Two­Phase và CTU­Mine cho k t qu  th c hi n nhanh h n trên c  s  d ơ ở ữ

ớ ơ ở ữ ệ ả ơ ư ệ ậ ặ ậ ệ li u đ m đ c. Thu t toán này cũng hi u qu  h n v i c  s  d  li u th a và

ưỡ ng ỗ ợ ấ ng h  tr  th p.

ề ấ ậ ộ ự Năm 2012, Mengchi Liu và c ng s  [38] đ  xu t thu t toán HUI­Miner

ậ ợ ậ ứ ầ cho khai phá t p l i ích cao không c n sinh t p  ng viên, trong khi các

ậ ướ ộ ượ ề ứ ớ thu t toán khác tr c đó đ u sinh ra m t l ố   ng l n các  ng viên, tiêu t n

ứ ể ạ ậ ớ ờ ộ b  nh , th i gian khi t o và ki m tra các  ng viên. Thu t toán HUI­Miner

ấ ợ ể ư ữ ợ ử ụ s  d ng c u trúc danh sách l i ích (utility­list) đ  l u tr thông tin l i ích

ệ ắ ỉ ủ ụ ụ ệ ế ị ầ ử ậ và thông tin ph c v  vi c quy t đ nh vi c c t t a c a các t p ph n t . Cách

ế ậ ậ ớ ti p c n này, so v i các thu t toán IHUPTWU [12], UP­Growth [62], UP­

ả ự ả ơ ệ ể ế ệ Growth+ [60], cho k t qu  th c hi n hi u qu  h n  đáng k . Tuy nhiên,

ẫ ố ấ ể ư ữ ề ậ ớ ộ thu t toán này v n t n r t nhi u b  nh  trung gian đ  l u tr  danh sách l ợ   i

ậ ợ ế ích trong quá trình tìm ki m t p l i ích cao.

ự ấ ậ ộ ề Năm 2013, Guo và c ng s  [15] đ  xu t thu t toán PB khai phá t p l ậ ợ   i

ả ự ế ệ ậ ỹ ộ   ích cao hi u qu  d a trên mô hình TWU [40], k  thu t hình chi u và m t

ớ ươ ầ ử ử ậ ỉ ụ ấ c u trúc ch  m c m i. Ph ệ ng pháp này x  lý đ  quy các t p ph n t theo

ứ ự ề ố ỉ ụ ượ ử ụ ệ ấ th  t ti n t . Trong quá trình đ  quy, c u trúc ch  m c đ c s  d ng đ ể

ậ ứ ế ị ươ ứ sinh nhanh các t p  ng viên ti p theo, tìm các giao d ch t ng  ng, làm

ữ ầ ả ầ ộ ớ ơ ươ gi m yêu c u tính toán và yêu c u b  nh . H n n a, ph ư   ng pháp còn đ a

ứ ắ ỉ ố ượ ệ ả ằ ả ộ ứ ra m t cách th c c t t a hi u qu  nh m gi m s  l ng  ng viên do đó làm

ứ ể ả ậ ả ờ ợ gi m th i gian ki m tra các  ng viên. Thu t toán tính c  TWU và l i ích

ậ ươ ả ộ ủ c a các t p cùng lúc. Ph ớ ử ụ   ng pháp này cho phép làm gi m b  nh  s  d ng

ậ ợ ế ờ ả ự ế ệ ấ và th i gian tìm ki m t p l i ích cao. K t qu  th c nghi m cho th y yêu

51

ề ộ ệ ậ ơ ớ ờ ơ ớ ự ầ c u v  b  nh  ít h n và th i gian th c hi n nhanh h n so v i hai thu t toán

ự ưở ủ CTU­PRO [23] và Two­Phase [39]. D a trên ý t ậ ng c a thu t toán này,

ự ề ấ ậ ậ ượ lu n án đ  xu t thu t toán HP d a trên mô hình CWU đã đ c trình bày

ươ trong ch ng 2.

ự ằ ấ ộ Năm 2014, Philippe Fournier và c ng s  [26] xem xét th y r ng HUI­

ậ ứ ự ệ ạ ạ ộ Miner th c hi n khai phá m t giai đo n, không t o các t p  ng viên theo

ệ ạ ờ ố ế   mô hình hai giai đo n. Do đó HUI­Miner tiêu t n th i gian cho vi c liên k t

ể ậ ờ ố ợ ủ ể ạ đ  t o ra các t p và t n th i gian đ  đánh giá l ể ả   ỗ ậ i ích c a m i t p. Đ  gi m

ế ầ ự ề ự ệ ấ ộ ộ các liên k t c n th c hi n, Philippe và c ng s  đ  xu t m t chi n l ế ượ ắ   c c t

ớ ọ ươ ỉ t a m i g i là EUCP (Estimated Utility Cooccurrence Pruning). Ph ng pháp

ố ự ắ ỉ ầ ướ ợ này cho phép c t t a không c n ghép n i d a trên c tính l ặ   i ích các c p

ầ ử ệ ấ ậ ph n t cùng xu t hi n. Thu t toán này có tên là FHM (Fast High­utility

ự ệ ậ ớ ấ   Minner). Th c nghi m so sánh FHM v i thu t toán HUI­Miner cho th y

ế ố ả ầ ơ gi m 95% các k t n i và nhanh h n sáu l n.

ậ ợ ư ậ Năm 2015, Zida, Philippe, Lin [77] đ a ra thu t toán khai phá t p l i ích

ử ụ ậ ỹ ả   cao EFIM (EFficient high­utility Itemset Mining), s  d ng k  thu t làm gi m

ể ờ ứ ử ậ ả ấ ầ ớ ộ đáng k  th i gian x  lý và yêu c u b  nh . Th  nh t, thu t toán gi m chi

ệ ữ ệ ử ụ ế ằ ấ ợ phí duy t d  li u b ng cách s  d ng hình chi u CSDL và h p nh t các giao

ớ ủ ợ ử ụ ứ ậ ậ ố ị d ch gi ng nhau. Th  hai, thu t toán s  d ng hai c n trên m i c a l ậ   i ích t p

ầ ử ợ ợ ụ ộ ph n t là: l i ích cây con (utility sub­tree) và l i ích c c b  (local utility) cho

ứ ệ ế ả ậ ộ ỉ ử ụ   phép t a m t cách hi u qu  không gian tìm ki m. Th  ba, thu t toán s  d ng

ậ ế ợ ự ể ả ậ ớ ỹ k  thu t đ m nhanh l i ích d a trên m ng đ  tính c n trên v i chi phí b ộ

ế ớ ờ nh  và th i gian tuy n tính.

ậ ợ ự ậ ộ Năm 2016, J. Liu và c ng s  trình bày thu t toán khai phá t p l i ích cao

ế ạ ầ ậ ộ ứ trong m t giai đo n không c n sinh  ng viên theo ba cách ti p c n: tăng

52

ưở ậ ợ ế ượ ệ tr ng t p l i ích cao, chi n l ấ   c duy t không quay lui (look ahead) và c u

ụ ể ữ ệ ế ưở ậ ợ trúc d  li u tuy n tính. C  th , quá trình tăng tr ng t p l ự i ích d a trên

ệ ộ ệ ậ ả ượ ắ ỉ ế vi c tìm m t cây li t kê t p đ o ng ằ   c và c t t a không gian tìm ki m b ng

ợ ế ượ ệ ị ậ c n trên l i ích. Chi n l c duy t không quay lui cho phép xác đ nh t p l ậ ợ   i

ầ ệ ờ ử ụ ấ ích cao, không c n li ữ ệ   ấ t kê nh  s  d ng tính ch t đóng. C u trúc d  li u

ế ậ ợ ớ ợ ự ế tuy n tính cho phép tính toán c n trên l ầ i ích g n v i l i ích th c t ậ   , do v y

ắ ỉ ự ứ ế ậ ờ ồ ị giúp c t t a nhanh t p các  ng viên, đ ng th i xác đ nh tr c ti p đ ượ ậ   c t p

ả ữ ệ ư ệ ệ ả ộ ợ l ự i ích cao m t cách hi u qu . Các th c nghi m trên c  d  li u th a và dày

ấ ậ ượ ả ơ ệ ề ậ ấ ặ đ c cho th y thu t toán đ c đ  xu t hi u qu  h n thu t toán HUI­Miner

[38], UP­Growth [62], IHUP [12].

ữ ậ ượ ở ậ ợ Ngoài nh ng thu t toán đ c đánh giá trên, khai phá t p l i ích cao

ượ ấ ứ ữ ề ầ ẫ v n đ c r t nhi u nhà nghiên c u quan tâm trong nh ng năm g n đây

ư nh : IHUP [12], d2HUP [37] , FOSHU [27], HURI [46], TTBM [42], HAUP

[35], HUC­Prune [7], TUS [69], TKU và TKO [61],…..

ậ ợ ậ Thu t toán song song khai phá t p l i ích cao

ử ụ ề ậ ấ ớ   Năm 2008, A.Erwin [25] đ  xu t thu t toán s  d ng mô hình TWU v i

ưở ữ ệ ẫ ợ ự ẫ ấ tăng tr ng m u d a trên c u trúc d  li u cây m u l i ích nén (CTU­tree).

ự ệ ậ ượ ế ồ Thu t toán th c hi n song song l ể ư   c đ  chi u (projection scheme) đ  l u

ữ ữ ệ ế ớ ộ ớ tr ả ự   ủ  trên đĩa khi b  nh  chính không đ  vì d  li u quá l n. K t qu  th c

ơ ở ữ ệ ớ ự ệ ệ ậ ả ỉ ặ   ệ nghi m ch  ra thu t toán th c hi n hi u qu  khi c  s  d  li u l n, dày đ c.

ự ề ấ ộ ộ ươ Năm 2009, Bay Vo [65] và c ng s  đã đ  xu t m t ph ng pháp song

ậ ợ ớ ữ ệ ượ ề ọ song khai phá t p l i ích cao v i d  li u đ c phân chia theo chi u d c, s ử

ể ư ấ ữ ữ ệ ỗ ộ ử ụ ộ ụ d ng c u trúc cây WIT đ  l u tr d  li u c c b  trên m i b  x  lý. Các

ầ ử ỉ ử ề ụ ỗ ph n t ủ ế    trên m i SlaveSite (Máy ph ) ch  g i v  MasterSite (Máy ch ) n u

ủ ơ ớ ưỡ ố ỉ ế ợ ể ể TWU c a nó l n h n ng ng t i thi u và MasterSite ch  k t h p đ  khai

53

ậ ợ ệ ở ế ậ ấ phá t p l i ích cao n u các t p đó xu t hi n hai SlaverSite khác nhau.

ậ ợ ỉ ượ ạ Thu t toán này ch  phù h p khi CSDL đã đ c phân ho ch, các ph n t ầ ử

ụ ộ ằ ỗ ớ trong các CSDL c c b  giao v i nhau b ng r ng.

ộ ậ Năm 2013, Kannimuthu và các c ng s ự  [56]  trình bày thu t toán khai

ậ ợ ườ ị ợ phá t p l i ích cao FUI [52] trong môi tr ng song song, tính giá tr  l i ích

ổ ợ ẽ ượ ở song song trên các SlaveSite và t ng l i ích s  đ c tính MasterSite. C ụ

ượ ư ị ượ ự ể ữ ệ th , d  li u đ c l u tr ữ ạ  t i các v  trí khác nhau đ ệ c th c hi n theo hai

ị ợ ạ ạ ầ giai đo n. Giai đo n đ u tính toán giá tr  l ậ i ích cho các t p trên c  s  d ơ ở ữ

ự ụ ệ ệ ệ ộ ể ả   li u c c b  phân tán. Công vi c này do các SlaveSite th c hi n đ  c i

ứ ự ệ ệ ầ ạ ờ ộ ớ ự   thi n th i gian th c hi n và đáp  ng yêu c u b  nh . Giai đo n hai, th c

ệ ổ ợ ầ ử ở ủ ậ ằ hi n tính t ng l i ích c a các t p ph n t MasterSite, b ng cách tăng giá

ị ừ ậ ợ ế tr  t các SlaveSite theo thu t toán khai phá l i ích phân tán. K t qu  s ả ẽ

ượ ọ ậ ợ ể ị ợ ờ đ c l c, đ  tìm ra t p l i ích cao nh  so sánh giá tr  l ầ   ủ ậ i ích c a t p ph n

ưỡ ợ ố ể ậ ợ ử ớ t v i ng ng l i ích t i thi u. Thu t toán khai phá l i ích phân tán s  s ẽ ử

ể ế ợ ậ ợ ị ụ d ng MasterSite đ  k t h p, so sánh và xác đ nh các t p l i ích cao trong s ố

ả ự ệ ạ ấ ờ ế các SlaveSite trong m ng phân tán. K t qu  th c nghi m cho th y th i gian

ơ ấ ầ ự ự ề ậ ớ th c thi nhanh h n r t nhi u so v i thu t toán FUI tu n t .

ố ộ ể ậ Đ  tăng t c đ  tính toán trong quá trình khai phá các thu t toán, các tác

ậ ố ư gi ả ườ  th ng t p trung quan tâm t ậ ứ i  u quá trình sinh t p  ng viên. Tuy nhiên,

ự ệ ộ ớ ờ ớ ạ ở ộ ả do b  nh  và th i gian th c hi n có gi i h n, nên kh  năng m  r ng khi d ữ

ệ ớ ề ầ ứ ấ li u l n là v n đ  c n nghiên c u. Năm 2016, Yan Chen ộ  [14] và c ng s  đ ự ề

ỉ ậ ợ ậ ấ ấ xu t thu t toán khai phá song song x p x  t p l ự   i ích cao (PHUI­Miner) d a

ữ ư ủ ể ấ ể trên nh ng  u đi m c a HUI­Miner ẫ  [38] và cách l y m u đ  có th  v a s ể ừ ử

ẽ ừ ử ụ ậ ồ ờ ụ d ng riêng r  v a s  d ng đ ng th i. Trong thu t toán PHUI­Miner, không

ậ ợ ủ ế ượ gian tìm ki m c a quá trình khai phá t p l i ích cao đ c phân chia và gán

54

ụ ươ ấ ớ cho các nút trong c m. Ngoài ra, ph ẫ ng pháp l y m u v i kích th ướ ầ   c c n

ế ả ự ụ ế ệ ằ ả ả thi t nh m m c đích đ m b o tính chính xác. K t qu  th c nghi m cho

ộ ữ ệ ệ ấ ả th y PHUI­Miner có hi u qu  cao trên các b  d  li u khác nhau và v ượ   t

ộ ơ ớ ậ tr i h n so v i thu t toán HUI­Miner [38].

ở ộ ứ ữ ề ệ ầ Nh ng năm g n đây, nhi u nghiên c u quan tâm vi c m  r ng khai

ậ ợ ố phá t p l ứ ậ i ích cao. Đa s  các nghiên c u t p trung vào các bài toán trên d ữ

ệ ậ ượ ư ậ ộ li u t p trung, đ ể   c l u trên m t máy tính. Các thu t toán này không th  áp

ượ ườ ợ ữ ệ ớ ể ả ụ d ng đ c trong tr ng h p d  li u l n và phân tán. Đ  gi ế ấ i quy t v n đ ề

ộ ư ậ này, Ying Chun Lin và c ng s ự [36] đ a ra thu t toán khai phá song song

ưở ự ậ ợ t p l i ích cao theo mô hình tăng tr ề ả   ng (PHUI­Growth), d a trên n n t ng

ộ ố ở ộ ề ả ớ Hadoop v i m t s  tính năng kh  năng m  r ng cao, chi phí truy n thông

ử ụ ế ể ệ ậ ấ th p. Thu t toán có s  d ng ki n trúc MapReduce đ  phân chia nhi m v ụ

ệ ố ữ ệ ử ụ ệ ể ả ệ   và s  d ng h  th ng t p phân tán Hadoop đ  qu n lý d  li u sao cho vi c

ậ ợ ệ ề ả ộ khai phá song song t p l i ích cao trên nhi u máy tính m t cách hi u qu .

ế ậ ươ 1.5. K t lu n ch ng

ươ ệ ậ ạ Trong ch ng 1, lu n án trình bày các khái ni m, phân lo i và phân

ượ ộ ố ủ ể ươ ậ ế ợ ư tích  u nh c đi m c a m t s  ph ậ   ng pháp khai phá lu t k t h p, t p

ố ậ ợ ổ ế ậ ọ ể ổ ế ph  bi n, t p ph  bi n có tr ng s , t p l ủ   ừ ữ ư i ích cao. T  nh ng  u đi m c a

ậ ề ậ ấ ậ thu t toán ậ   VMUDG [22], lu n án đ  xu t thu t toán song song khai phá t p

ổ ế ề ọ ố ph  bi n có tr ng s  theo chi u d c ọ [I].

ổ ế ạ ậ ằ ọ ỉ Bên c nh đó, cũng ch  ra r ng bài toán khai phá t p ph  bi n có tr ng s ố

ợ ự ễ ượ ứ và l i ích cao có ý nghĩa th c ti n và đang đ c quan tâm nghiên c u. Tuy

ậ ợ ậ ọ ố ộ ố ổ ế nhiên, khai phá t p ph  bi n có tr ng s  và t p l i ích cao có m t s  thách

ấ ậ ổ ế ậ ợ ứ ứ ố ọ th c sau: Th  nh t, t p ph  bi n có tr ng s  và t p l i ích cao không có

ề ử ụ ứ ấ ậ ố ưỡ tính ch t đóng. Th  hai, đa s  các thu t toán đ u s  d ng ng ơ   ng cao h n

55

ứ ầ ế ể ắ ỉ ứ ậ ứ ề m c c n thi t đ  c t t a  ng viên. Đi u này làm tăng t p  ng viên, không

ế ờ gian tìm ki m và th i gian tính toán.

ứ ậ ậ ự ấ Do đó, lu n án t p trung nghiên c u, x ữ ệ   ây d ng mô hình, c u trúc d  li u

ơ ở ự ế ả ằ ậ   ự nh m gi m không gian tìm ki m và d a trên c  s  đó xây d ng các thu t

ậ ợ ậ ố ọ ổ ế toán khai phá t p ph  bi n có tr ng s  và t p l i ích cao.

56

ƯƠ Ậ Ợ Ậ CH NG 2. THU T TOÁN KHAI PHÁ T P L I ÍCH CAO

Ự D A TRÊN MÔ HÌNH CW U

ươ ề ậ ấ ổ Trong ch ế   ng 1, lu n án trình bày t ng quan các v n đ  liên quan đ n

ổ ế ế ủ ư ể ậ ạ ậ   ữ khai phá t p ph  bi n, phân tích nh ng  u đi m, h n ch  c a các thu t

ổ ế ổ ế ậ ợ ậ ậ ố ọ toán khai phá t p ph  bi n, t p ph  bi n có tr ng s  và t p l i ích cao.

ệ ậ ợ ậ ố ặ Đ c bi t, trong khai phá t p l i ích cao, đa s  các thu t toán dùng mô hình

ể ắ ỉ ố ượ ứ ượ ợ TWU đ  c t t a s  l ng  ng viên đ c sinh ra. Mô hình đánh giá l i ích

ị ớ ớ ợ ề ơ ự ế ủ ậ ậ ứ t p  ng viên này cho giá tr  l n h n nhi u so v i l i ích th c t c a t p do

ố ượ ậ ứ ế ậ v y làm tăng s  l ng t p  ng viên và tăng không gian tìm ki m và chi phí

tính toán.

ươ ề ậ Do  đó, trong ch ấ ng 2  lu n  án  đ   xu t  mô  hình  CWU  ( Candidate

ố ượ ứ ế ả Weighted Utility) làm gi m s  l ờ   ng  ng viên, không gian tìm ki m và th i

ừ ề ậ ấ ậ gian tính toán. T  mô hình CWU, lu n án đ  xu t hai thu t toán khai phá

ử ụ ỉ ố ế ậ ậ ợ t p l i ích cao: thu t toán HP [II] s  d ng ch  s  hình chi u và CTU­PRO+

ử ụ ấ ở ộ [III] s  d ng c u trúc cây ủ m  r ng c a cây CFP [57] cho khai phá t p l ậ ợ   i

ạ ậ ậ ấ ề ích cao. Bên c nh đó lu n án cũng đ  xu t thu t toán song song PPB khai

ụ ợ ậ ế ợ ỉ ố ự ế ớ phá t p m c l i ích cao d a trên ch  s  hình chi u k t h p v i danh sách

ợ l i ích [V].

ớ ệ 2.1. Gi i thi u chung

ậ ợ ị ợ ế ậ Khai phá t p l i ích cao là quá trình tìm ki m các t p có giá tr  l i ích

ộ ơ ưỡ ướ ầ ử ỗ ị ợ ộ ớ l n h n m t ng ng cho tr c, trong đó m i ph n t có m t giá tr  l i ích

ượ ợ ị ợ ị đ ự c tính d a trên l i ích trong giao d ch và l ậ   i ích ngoài giao d ch. Do v y

ể ấ ủ ừ ầ ử ậ ợ ộ có th  th y tác đ ng c a t ng ph n t là khác nhau. Khai phá t p l i ích

ượ ứ ự ừ ụ ề ẻ ị ụ cao đ c  ng d ng trong nhi u lĩnh v c, t bán l ụ   , d ch v  Web, giáo d c,

57

ế ả ả ượ ự ệ ủ ầ ử y t ,…do nó ph n  nh đ c s  khác bi t c a các ph n t ứ    trong các  ng

ự ế ậ ợ ấ ụ d ng th c t . Tuy nhiên, t p l i ích cao không có tính ch t đóng nên quá

ậ ứ ậ ợ ờ trình sinh t p  ng viên trong khai phá t p l ầ i ích cao yêu c u th i gian và

ớ ấ ớ ộ không gian b  nh  r t l n.

ậ ợ ứ ề ầ G n đây, các nhà nghiên c u v  khai phá t p l ậ i ích cao t p trung vào

ươ ố ượ ả ứ ư ằ các ph ng pháp làm gi m s  l ng  ng viên b ng cách đ a ra các mô

ưỡ ậ ợ ả ờ hình, ng ng c n trên, danh sách l i ích,…do đó gi m th i gian sinh và

ư ứ ề ể ế ầ ộ ớ ầ ki m tra các  ng viên cũng nh  yêu c u v  không gian b  nh . H u h t các

ậ ợ ậ ư thu t toán khai phá t p l i ích cao nh : UP­Growth [62], Udepth [55], Two­

ề ử ụ Phase   [39],   PB   [15],   CTU­PRO   [23],…   đ u   s d ng   mô   hình   TWU

ể ỉ ậ ứ ả (Transactions Weighted Utility) đ  t a t p  ng viên, gi m không gian tìm

ki m. ế

ươ ớ ự ậ ậ Trong ch ng này lu n án trình bày các thu t toán m i d a trên các mô

ữ ệ ấ ượ ề ậ ợ ấ ợ hình, c u trúc d  li u đ ơ c đ  xu t phù h p h n trong khai phá t p l i ích

ụ ể ư cao. C  th  nh  sau:

ề ấ ­ Đ  xu t mô hình CWU (Candidate Weighted Utility) [II],  đ ượ   c

trình bày trong 2.1.

ậ ợ ề ậ ấ ­ Đ  xu t thu t toán HP khai phá t p l ự i ích cao d a trên ch  s ỉ ố

ế ầ hình chi u và mô hình CWU [II], trình bày trong ph n 2.2.

ậ ợ ề ấ ậ ­ Đ  xu t thu t toán song song PPB [V], khai phá t p l i ích cao

ỉ ố ế ợ ượ ự d a trên ch  s  hình chi u và danh sách l i ích đ c trình bày

trong 2.3.

ự ề ấ ậ ậ ­ Đ  xu t thu t toán CTU­PRO+ [III], d a trên thu t toán CTU­

ử ụ ượ PRO s  d ng mô hình CWU đ c trình bày trong 2.4.

58

ậ ợ ệ 2.2. ả Mô hình hi u qu  khai phá t p l i ích cao

ặ ấ ề 2.2.1. Đ t v n đ

ậ ợ ậ ố ử ụ Đa s  các thu t toán khai phá t p l i ích cao s  d ng mô hình TWU

ơ ở ể ắ ỉ ầ ử ớ ộ ậ ứ làm c  s  đ  c t t a các t p  ng viên. V i m t ph n t ầ   ộ ậ  a và m t t p ph n

ử ầ ử ậ ề ố t {X}, ta nói t p ph n t {aX} có ti n t là a. Khi đó, TWU({aX}) = là

ủ ươ ự ủ ậ ậ c n trên c a AU({aX}). T ng t , TWU({X}) là c n trên c a AU({X}).

(cid:0) ẽ ớ ứ ặ ằ ố ơ ị ấ Ta th y {X} {aX} nên s  giao d ch ch a {X} s  l n h n ho c b ng s ố

ứ ậ ị ẽ ớ ặ ơ giao   d ch   ch a   {aX}.   Do   v y,   TWU({X})   s ằ     l n   h n   ho c   b ng

TWU({aX}).

ậ ợ ậ Trong các thu t toán khai phá t p l i ích cao Udepth [55], [15],... t p l ậ ợ   i

ượ ề ả ử ấ ả ích cao đ c khai phá theo chi u sâu. Gi s , {aX} là t ề   ậ t c  các t p có ti n

ầ ử ấ ả ề ố ầ ử ố t là ph n t a, {bX} là t ậ t c  các t p có ti n t là ph n t b. Gi ả ử ≺ b, s  a

ầ ử ứ ẽ ậ khi khai phá các t p trong {bX} s  không còn ch a ph n t a, trong khi đó

ể ẫ ị ợ ồ ầ ử ề tính TWU({bX}) có th  v n g m giá tr  l ủ i ích c a ph n t a. Đi u này làm

ứ ầ ủ ậ ớ ơ ế cho TWU({bX}) là c n trên c a AU({bX}) l n h n m c c n thi t và khi

ể ỉ ệ ẽ ả ậ ứ dùng TWU({bX}) đ  t a các t p  ng viên s  không hi u qu .

ừ ữ ở ề ấ ậ T  nh ng phân tích trên, lu n án đ  xu t mô hình CWU ( Candidate

ử ụ ậ ợ ậ Weighted Utility) và s  d ng trong thu t toán HP khai phá t p l i ích cao

ố ượ ả ậ ứ cho phép gi m s  l ng t p  ng viên [II].

ề ấ 2.2.2. Đ  xu t mô hình CWU

ậ ợ ể ả ộ ơ ở ữ ệ ệ Đ  thu n l i trong gi i thích các khái ni m, m t c  s  d  li u giao

ượ ễ ể ướ ạ ủ ợ ả ư B ng 2.1 ị d ch đ c bi u di n d ả i d ng b ng nh . L i ích ngoài c a các

ầ ử ượ ả B ng 2.2 ph n t đ c cho trong .

59

ị ề ố ủ ầ ử ậ ậ [II] T p ti n t ộ  c a m t ph n t It là t p các ph n t ầ ử Đ nh nghĩa 2.1.

ứ ậ ướ ầ ử trong t p I mà đ ng tr c ph n t It: SetPrefix(It) = {j  I | j  It}.

ị ề ố ủ ầ ử ứ ự [II] Ti n t ộ ậ  c a m t t p ph n t có th  t ậ    Y là t p Đ nh nghĩa 2.2.

1 c a t p Y, kí hi u là

ầ ử ứ ướ ầ ử ầ ủ ậ ệ các ph n t trong I đ ng tr c ph n t đ u tiên y

SetPrefix(Y) và

(2.1) SetPrefix(Y) = {j  I | j  y1}

ơ ở ữ ệ ả ọ ị B ng 2.. C  s  d  li u giao d ch minh h a

Giao d chị

A B 0 1 1 0 0 0 1 0 0 2 0 0 0 0 2 3 0 2 0 0 ợ ủ Ti d C D E F 1 1 1 2 1 2 0 0 25 0 3 2 0 0 1 4 0 0 12 0 5 2 0 8 0 6 0 1 4 1 7 0 1 2 0 8 2 0 0 3 0 1 9 0 0 0 2 0 4 10 ầ ử ả B ng 2.. L i ích c a các ph n t

Item ợ L i ích A B C D E F 2 3 10 1 6 5

ị ứ ợ ố Đ nh nghĩa 2.3. ọ [II] L i ích  ng viên có tr ng s  (CWU – Candidate

ủ ậ ầ ử ệ ượ ị Weighted Utility) c a t p ph n t Y, ký hi u là CWU(Y) đ c xác đ nh

ư nh  sau:

ặ Đ t X = SetPrefix(Y), thì

60

(cid:0) ế N u X = thì .

ị ưỡ ố ể ợ ng t i thi u l i ích Đ nh nghĩa 2.4. [II] Khi CWU(Y)  α v i ớ α là ng

ứ ướ ậ ọ ợ ứ ọ ố ng   viên   cho   tr c,   ta   g i   Y   là   t p   l i   ích   ng   viên   có   tr ng   s   cao

ượ ọ (HCWU­ High Candidate Weighted Utility). Ng ượ ạ c l i, Y đ ậ   c g i là t p

ứ ấ ọ ố ợ l i   ích   ng   viên   có   tr ng   s   th p   (LCWU   –   Low   Candidate   Weighted

Utility).

k­1

ấ ầ ử ậ ứ ự [II] Cho 3 t p ph n t có th  t I, Y ỏ k­1,Yk th a mãn Y Tính ch t 2.1.

k­1 = {y1, y2,…, yk­1 | yi  yi+1 v iớ

(cid:0) ề ố ủ c a Y I, Yk (cid:0) I và Yk­1 là ti n t ụ ể k. C  th : Y

k = {y1, y2,…, yk­1, yk | yi  yi+1 v i i=1..k­1} thì

ề ố ủ ậ ớ i=1..k­2} là ti n t c a t p Y

SetPrefix(Yk­1) = SetPrefix(Yk).

ứ Ch ng minh:

ị Theo đ nh nghĩa 2.1 ta có:

SetPrefix(Yk­1) ={i  I | i  y1 } (*)

SetPrefix(Yk) ={i  I | i  y1 } (**)

k) = SetPrefix(Yk­1)

ừ T  (*) và (**) suy ra SetPrefix(Y

k là t p k­ph n t

k­1

ị ầ ử ậ ứ ự ầ ử ậ [II] Xét 2 t p ph n t có th  t , Y , Y Đ nh lý 2.1.

k. N u Yế

k  (cid:0)

ầ ử ậ ề ố ủ là t p (k­1)­ph n t và là   ti n t c a Y HCWUs thì Yk­1  (cid:0)

ứ HCWUs. Ch ng minh:

ứ ậ ọ ị ậ ị G i TSet1 là t p các giao d ch ch a Y ứ   k, TSet2 là t p các giao d ch ch a

k nên TSet1 (cid:0)

ề ố ủ ậ ấ c a Y TSet2, theo Tính ch t 2.1 ta Yk­1. Vì Yk­1 là t p ti n t

k­1) = SetPrefix(Yk) và theo Đ nh nghĩa 2.3

ậ ị có t p X = SetPrefix(Y ta có:

61

k (cid:0)

ư ậ ế Nh  v y, n u Y HCWUs. HCWUs thì Yk­1 (cid:0)

ầ ử ủ ấ ậ Đây là tính ch t đóng c a các t p ph n t theo mô hình CWU. Nghĩa là,

ế n u CWU( Yk­1) <  thì CWU(Yk) <  ■

α ị ả ử ậ ồ . [II] Gi s  HCWUs g m các t p Y có CWU(Y) , HUs Đ nh lý 2.2

α α ậ ưỡ ợ ố ể ồ g m các t p Y có AU(Y) ớ  v i là ng ng l i ích t i thi u cho tr ướ   c.

Khi đó HUs (cid:0) HCWUs.

ứ Ch ng minh:

ặ Đ t X = SetPrefix(Y),

ị Xét giao d ch b t k  T ấ ỳ j, đ t Zặ j =Tj\XY. Khi đó,

ợ Xét l ủ ậ i ích c a t p Y:

ư ậ ớ ọ ậ Nh  v y, v i m i t p Y thì AU(Y) .

Do đó, HUs (cid:0) HCWUs (đpcm).

ố ứ ứ ề ệ ơ M nh đ  sau minh ch ng mô hình CWU có s   ng viên ít h n mô hình

ề ệ ậ ư TWU, lu n án đ a ra m nh đ  sau.

ề ệ ậ ấ ỳ . [II] Cho t p b t k  Y, ta luôn có CWU(Y) ≤ TWU(Y). M nh đ  2.1

ứ Ch ng minh:

62

ọ G i X = SetPrefix(Y). Khi đó,

ề ệ ậ ồ . [II]  Cho HCWUs g m các t p Y có CWU(Y) vàα M nh đ  2.2

α α ồ ưỡ ợ ậ HTWUs g m các t p Y có TWU(Y) ớ , v i là các ng ng l i ích t ố   i

(cid:0) ể ướ thi u cho tr c, thì HCWUs HTWUs.

ứ Ch ng minh:

ậ ấ ỳ ế N u X là t p b t k  thu c ộ HCWUs thì CWU (X) .α

α ề ệ Theo M nh đ  2.1 , ta có TWU(X) CWU(X) ộ , do đó X thu c HTWUs.

(cid:0) ậ V y, HCWUs HTWUs.

ậ ợ ậ ỉ ố ự 2.3. Thu t toán HP khai phá t p l ế   i ích cao d a trên ch  s  hình chi u

và mô hình CWU

ầ ậ ậ ượ ả Trong ph n này, lu n án trình bày thu t toán HP đ c c i ti n t ế ừ

ậ ế ợ ử ụ thu t toán PB [15] s  d ng k t h p hai mô hình TWU và CWU.

ậ ứ ể ư ự ậ ạ ả ờ ữ   Thu t toán PB d a trên b ng t p  ng viên t m th i (TC) đ  l u tr  và

ị ị xác đ nh nhanh các giá tr  TWU và AU trong quá trình khai phá. Có m t s ộ ố

ướ ể ả ế ư ậ b c trong thu t toán PB có th  c i ti n nh  sau:

ầ ử ự ả ậ ồ ậ ­ Khi xây d ng b ng TC cho t p g m 1 ph n t ả   , thu t toán đã ph i

ệ ữ ệ ấ ể ứ ầ ầ ố ị tiêu t n hai l n duy t d  li u. L n th  nh t đ  tính TU cho các giao d ch,

ầ ử ừ ứ ể ầ l n th  hai đ  tính TWU và AU cho t ng ph n t .

’ đ

j

ậ ứ ặ ượ ự ế ị ­ M t khác, t p  ng viên X c sinh tr c ti p trên các giao d ch T

ứ ằ ớ ề ố ứ ậ ch a X, b ng cách ghép X v i ph n t I đ ng sau t p ti n t X trong ầ ử p (cid:0)  i

63

ư ậ ỉ ố ự ả ậ ị giao d ch T ả   j d a trên b ng ch  s  (IT). Khi đó, . Nh  v y, thu t toán ph i

j.

ạ ủ ậ ị ị tính l i giá tr  U c a t p X trong các giao d ch T

ộ ồ ạ ữ ậ ượ ­ M t t n t i n a trong thu t toán PB là sau khi tính đ ủ   c TWU c a

ầ ử ầ ử ỏ ơ ưỡ ừ t ng ph n t ạ ỏ  đã không lo i b  các ph n t có TWU nh  h n ng ng t ố   i

ể ướ ủ ự ề ấ thi u cho tr ờ   c d a vào tính ch t đóng c a TWU. Đi u này làm tăng th i

ấ ả ợ ủ ậ ề ố ớ ầ ử ể ể gian ki m tra t t c  h p c a t p ti n t v i ph n t ậ ứ    đó đ  sinh ra t p  ng

viên.

ậ ­ Trong thu t toán PB, các ph n t ầ ử ượ ử  đ c x  lý theo th  t ứ ự ừ ể  t đi n và

ế ợ ậ ậ ứ ề ố ớ ầ ử ằ sinh các t p  ng viên b ng cách k t h p t p ti n t v i ph n t phía sau

ầ ử ị ệ ấ ầ ườ trong các giao d ch. Khi các ph n t ấ  có t n su t xu t hi n cao (th ng là

ầ ử ượ ử ậ các ph n t ặ  có TWU ho c AU cao) đ ả c x  lý sau, kh  năng t p ti n t ề ố

ượ ế ợ ầ ử ứ ề đ ớ c k t h p v i các ph n t đ ng sau càng cao. Đi u này làm tăng s ố

ượ ứ l ng  ng viên.

ồ ạ ữ ể ắ ủ ư ậ ậ ụ Đ  kh c ph c nh ng t n t i trên c a thu t toán PB, lu n án đ a ra

ế ợ ả ử ụ ể ậ ả   thu t toán HP s  d ng k t h p c  hai mô hình: TWU và CWU đ  làm gi m

ộ ố ấ ử ụ ậ ứ ậ ố ượ s  l ng t p  ng viên. Trong thu t toán HP s  d ng m t s  c u trúc sau:

k g m 3 tr

ứ ả ồ ườ ườ ậ ­ B ng  ng viên TC ng: tr ứ ng itemsets ch a các t p k­

ầ ử ườ ứ ợ ứ ố ọ ườ ph n t , tr ng CWU ch a l i ích  ng viên có tr ng s  và tr ng AU

1

ứ ợ ự ế ủ ậ ứ ả ch a l i ích th c t ị  c a t p  ng viên. Các giá tr  CWU, AU trong b ng TC

ầ ử ượ ệ ơ ở ữ ệ ầ ậ ồ g m các t p 1­ph n t đ c tính toán trong 1 l n duy t c  s  d  li u. Khi

ượ ỗ ầ ư ấ ả ậ ợ đó CWU đ c tính nh  TWU. Sau m i l n tìm t t c  các t p l i ích cao

ộ ề ố ừ ả ớ v i m t ti n t X, giá tr   v i ị ớ X = SetPrefix(Y). T  b ng TC ể k có th  xác

ậ ợ ạ ỏ ả ậ ị đ nh ngay t p l i ích cao và lo i b  các t p không có kh  năng sinh ra các

ợ ủ ự ả ụ ừ B ng 2.1. ậ t p có l ấ i ích cao d a vào tính ch t đóng c a CWU. Ví d , t

64

ọ ị ả ầ ử ủ ợ B ng 2.2. CSDL giao d ch minh h a và L i ích c a các ph n t , ta xây

ượ ả ứ ầ ử ả B ng 2.3. ự d ng đ c b ng  ng viên 1­ph n t trong

ả ả ớ ậ ầ ử B ng TC ồ 1 v i t p g m 1­ ph n t B ng 2..

A B C D E F

Itemset s

CWU 99 102 133 50 113 87 12 AU 24 40 24 45 57

X c a t p X g m các giao d ch T

j ch a t p X, v  trí p

ỉ ố ả ủ ậ ồ ị ứ ậ ị ­ B ng ch  s  IT

j và U(X,Tj).

ầ ử ủ ậ ệ ố ị ủ c a ph n t ấ  cu i cùng c a t p X xu t hi n trong giao d ch T

A  c a t p {A} trong

ụ ả ỉ ố ủ ậ ả ứ ự ắ ớ B ng 2.4 Ví d , b ng ch  s  IT . V i th  t ế    s p x p

ị ừ ả ứ ể ậ ị trong giao d ch, t b ng IT ầ   A có th  xác đ nh nhanh t p các  ng viên 2­ph n

ế ợ ầ ử ứ ừ ớ ị ử ằ t b ng cách k t h p A v i các ph n t đ ng sau A trong t ng giao d ch.

ụ ớ ẽ ị ị ượ ậ ứ Ví d , v i giao d ch 5 và sau v  trí 1 s  sinh đ c t p các  ng viên {AC},

ẽ ị ị ượ ậ ứ {AE}. Trong giao d ch 8, sau v  trí 1 s  sinh đ c t p các  ng viên {AB},

8) = U({A}, T8) +

ừ ả ể {AE}, {AF}. T  B ng 2.4, có th  tính nhanh U({AB},T

8) = 9 đã đ

ị ượ c tính trong U({B}, T8) = 9 + 10*2 = 29, trong đó giá tr  U(A, T

A.

ự ả quá trình xây d ng b ng IT

ủ ậ ả ả B ng 2.. B ng ch  s  IT ỉ ố A c a t p {A}

A c a ph n t

ả U({A},Tj) 3 6 9 6 ầ ử ủ Tid 1 5 8 9 ả B ng 2. ố V  trí cu i 1 1 1 1 . B ng UT A

Tid 1 5 8 9 U(A, Tj) 3 6 9 6

65

i ch a giá tr  l

ả ị ợ ị ợ ứ ầ ử ­ B ng giao d ch l i ích ­ UT ủ i ích c a ph n t i trong các giao

j ch a i và U(i, T

j). Sau khi tìm t t c  t p l

ồ ị ứ ấ ả ậ ợ ị d ch g m giao d ch T ớ ề   i ích cao v i ti n

i  s  tính đ

ầ ử ự ả ẽ ượ ầ ử ớ ố t là ph n t i, d a vào b ng UT c CWU(Y) v i ph n t i =

A  c a   ph n   t

ụ ả ầ ử ủ ả B ng   2.5. SetPrefix(Y).  Ví   d ,   b ng   UT A   trong và   A   =

SetPrefix(B), CWU(B) = TU(T2) + TU(T4)+ TU(T8) – U(A, T8) = 35 + 22 + 45 –

2) + TU(T4)+ TU(T8) = 35 + 22 + 45 = 102.

ư (3*3) = 93. Nh ng TWU(B) = TU(T

ả ậ 2.3.1. Mô t thu t toán HP

ậ ậ Thu t toán 2.1. Thu t toán HP [II]

Input:

ơ ở ữ ệ ị ­ D: c  s  d  li u giao d ch,

ợ ầ ử ả ­ B ng l ỗ i ích m i ph n t

ưỡ ợ ,  ố ­ minutil: ng ng l i ích t ể i thi u.

Output:

ấ ả ậ ợ ­ T t c  các t p l i ích cao ­ HUs

D { For each Tj(cid:0)

TU(Tj) =0; For each i (cid:0) Tj{

1(Itemsets, CWU,

ầ ử ự ả ộ ­ Tính TU(Tj) = TU(Tj) + U(i, Tj); ứ //Xây d ng b ng  ng viên m t ph n t TC

AU);

If (i ∉ TC1)

1; }

ả {­ Chèn (i, TU(Tj), U(i, Tj)) vào b ng TC

If (i (cid:0) TC1){

1;

­ CWU(i) = CWU(i) + TU(Tj) trong b ng TC ­ AU(i) = AU(i) + U(i, Tj);

}

}

For each i (cid:0) TC1 {

66

1 theo th  t

ứ ự ả ầ If (CWU(i) (cid:0) ư minutil) ậ {­ Đ a i vào t p HCWU gi m d n theo AU;}

If (AU(i) (cid:0)

minutil)  ậ ư {­ Đ a i vào t p HUs;}

1 là r ng thì thoát

ế ỗ } //N u HCWUs

ế ạ ắ ầ ử ầ ử có CWU < i các ph n t trong minutil và s p x p l

If (Empty(HCWUs1)) Exit(1); ạ //Lo i các ph n t giao  For each Tj (cid:0) D {

For each i (cid:0) Tj{

If (CWU(ij) < minutil) { ­ Lo i iạ j kh iỏ  Tj; ­ TU(Tj) = TU(Tj) – U(ij, Tj);

ắ ả ầ  Tj gi m d n theo AU;

1;

ậ ả } ế j (cid:0) ­ S p x p i ậ ạ ­ C p nh t l i CWU cho b ng TC

} For each i (cid:0) HCWUs1 {

ữ ệ For each Tj(cid:0)

j

ắ ế  Ds { //D  li u đã s p x p ầ ử i trong T

ượ ắ ế đã đ c s p x p

ị vt = 0; //V  trí ph n t For each h (cid:0) Tj{//Ph n t ầ ử If (h = i) {

i

ự ả //Xây d ng b ng UT

i;

i;

ự ả ­ Chèn (Tj, U(h, Tj)) vào b ng UT //Xây d ng b ng IT

i;

ả ­ Chèn (Tj, vt, U(h, Tj) vào b ng IT

­ Break;

}

vt = vt + 1;

67

}

}

ặ ố ượ ầ ử ầ ử //k là s  l ng ph n t ậ  trong t p ph n t

ấ ả ậ ợ ề t c  t p l i ích cao theo chi u sâu ­ Đ t k = 1;  ­  Search­HU({i}, k, ITi);  //Tìm t

ớ ề ố v i ti n t  i

ấ ề ố ậ ạ //Sau khi tìm t t các t p HUs có i là ti n t thì tính l i các giá tr ị

TU

For each (j, U) (cid:0) UTi

TU(Tj) = TU(Tj) – U(i, Tj);

}

Return HUs;

ự //Xây d ng hàm Search­HU

Hàm Search­HU(X, k, IT{x})

ề ố ậ ầ ử ả ố ; k – s  ph n t ậ  trong t p; IT ỉ ố ủ   X – b ng ch  s  c a

Input: X – t p ti n t ậ t p X.

ậ ợ i ích cao. Output: danh sách các t p có l

k+1 v i X là ti n t

X

ự ả ề ố ự ả ớ //Xây d ng b ng TC d a trên b ng IT

TCk+1={}; For each (j, p) (cid:0) ITX{

ủ ậ Tj { ầ ử ố  cu i cùng c a t p X

HCWUsk){

For each ip+1 (cid:0) //p là ph n t If (ip+1 (cid:0)       X’ = X (cid:0)  ip+1;        If (X’ ∉ TCk+1)

k+1;

ả Chèn (X’, TU(Tj), U(X, Tj) + U(ip+1,Tj)) vào b ng TC

If (X’ (cid:0) TCk+1){

­ CWU(X’) = CWU(X’) + TU(Tj);  ­ AU(X’) = AU(X’) + U(X, Tj) + U(ip+1, Tj);

}

68

If (k = 1)

CWU(ip+1) = CWU(ip+1) – U(ip, Tj);

}//End If

}//End For

}//End For For each X’ (cid:0) TCk+1 {

If (CWU(X’) ≥ minutil)

k+1;

ậ Chèn X’ vào t p HCWUs

If (AU(X’) (cid:0)

minutil)  ậ Chèn X’ vào t p HUs;

} For each X’ (cid:0)

{X’} t

HCWUsk+1 { ự ­ Xây d ng IT ITừ X;

ậ ợ ề ớ   i ích cao theo chi u sâu v i

ề ố ti n t ­ k = k +1;  ­ Search­HU ({X’}, k, ITX’); //tìm t p l ậ  là t p {X’}

}

Return HUs;

ụ ọ ậ 2.3.2. Ví d  minh h a thu t toán HP

ầ ọ ướ ủ ậ ẽ Trong ph n này s  minh h a các b c c a thu t toán thông qua c  s ơ ở

ị ả ợ ươ ứ ả B ng 2.1 B ng 2.2 ữ ệ d  li u giao d ch trong ả  và b ng l i ích t ng  ng trong

ưỡ ợ ố ể ớ v i ng ng l i ích t i thi u minutil = 56.

j (cid:0)

ướ B c 1, ệ ừ  duy t t ng T D:

ươ ứ ớ   ng  ng v i 1.1. Tính TU(Tj) ={18, 35, 12, 22, 24, 12, 8, 45, 12, 14} t

ủ ị ừ TU c a các giao d ch t ế  1 đ n 10.

1 g m: CWU, AU c a t ng ph n t

ả ủ ừ ầ ử ồ ự 1.2. Xây d ng b ng TC ả   . Ta có b ng

ả ả ư B ng 2.6. ế TC1 có k t qu  nh

ả ả ớ ậ ầ ử B ng 2.. B ng TC ồ 1 v i t p g m 1 ph n t

69

A B C D E F

Itemset s

CWU 99 102 133 50 113 87 12 AU 24 40 24 45 57

ướ ầ ử ệ ả B c 2, B ng 2.6 duy t các ph n t i trong .

1. Ta đ

ầ ử ế ư ậ 2.1. N u ph n t có CWU(i) ≥ 56 thì đ a vào t p HCWU c,ượ

1 sau khi s p x p gi m d n theo AU g m: {C, E, B, A, F}.

ế ắ ả ầ ồ ậ t p HCWU

ư ế ậ ượ ậ 2.2. N u AU(i) ≥ 56 thì đ a vào t p HUs. Ta đ c t p HUs ={C:57}.

j:

ướ ệ ạ ừ B c 3, duy t l i t ng T

ế 3.1. N u CWU(i) < minutil thì:

j, ta th y có CWU(D) = 50 < 56 nên lo i D

ạ ị ấ ạ ỏ 3.1.1. Lo i i kh i giao d ch T

ỏ ị kh i các giao d ch 1, 6, 7, 9.

ậ ạ ị ạ ủ ị ậ 3.1.2. C p nh t l ỏ   i TU c a các giao d ch 1, 6, 7, 9 vì D đã b  lo i kh i

ậ ị ượ các giao d ch trên. V y ta đ c TU ={12, 35, 12, 22, 24, 6, 2, 45, 6, 14}

ớ ị ừ ươ ứ t ng  ng v i các giao d ch t ế  1 đ n 10.

ế ạ ắ ỏ ị ả   ị 3.2. Sau khi lo i D kh i các giao d ch và s p x p các giao d ch gi m

ượ ế ả ả ư B ng 2.7 ầ d n theo AU đ c k t qu  nh .

ơ ở ữ ệ ắ ế ả ạ ị B ng 2.. C  s  d  li u giao d ch sau khi s p x p và lo i D

Tid C 2 1 25 2 0 3 12 4 8 5 4 6 2 7 0 8 0 9 4 10 E B A F TU 12 1 1 35 0 0 12 0 2 22 0 0 24 2 2 6 0 0 2 0 0 45 3 2 6 2 0 14 0 2 1 0 1 0 0 1 0 3 0 0 0 1 0 1 0 0 0 2 0 0

70

1 sau khi lo i D, đ

ậ ạ ậ ả ạ ượ ế 3.3. C p nh t l i CWU cho b ng TC c k t qu  nh ả ư

ả B ng 2.8.

ả ả ậ ạ B ng 2.. B ng TC i CWU ậ 1 sau khi c p nh t l

A B C D E F

Itemset s

CWU 87 102 115 50 107 75 12 AU 40 24 45 57

ớ ỗ c 4 B ướ , v i m i ph n t 24 ầ ử (cid:0)  i HCWU1:

ự ế ệ ả ử ớ ầ ử 4.1. N u CWU(i) > minutil thì th c hi n: (gi s  v i ph n t C có

CWU(C) = 115 > minutil).

ả ự 4.1.1. Xây d ng b ng UT ; ả C nh  ư B ng 2.9.

C c a ph n t

ả ả ầ ử ủ B ng 2.. B ng UT C

U(C, Tj)

Tid 1 2 4 5 6 7 10 1*2 = 2 1*25 = 25 1*12 = 12 1*8 = 8 1*4 = 4 1*2 = 2 1*4 = 4

ả ự 4.1.2. Xây d ng b ng IT ; ả C nh  ư B ng 2.10

ầ ử ả ả B ng 2.. B ng ch  s  IT C ủ ỉ ố C c a ph n t

ố ị Tid V  trí cu i 1 2 4 5 6 7 10 1 1 1 1 1 1 1 U(C, Tj) 1*2 = 2 1*25 = 25 1*12 = 12 1*8 = 8 1*4 = 4 1*2 = 2 1*4 = 4

71

ặ 4.1.3. Đ t k =1;

ớ ề ố ằ 4.1.4. Tìm t ấ ả ậ ợ t c  t p l ề i ích cao theo chi u sâu v i ti n t C b ng cách

ọ g i hàm Search­HU({C}, k, IT{C}).

(cid:0) ướ ệ ừ ộ B c 5, duy t t ng b  (j, U) UTi.

j) = TU(Tj) – U(i, Tj). Gi

C thì giá tr  TUị

ậ ậ ả ử ớ 5.1. C p nh t TU(T s  v i UT

ẽ ả ị ươ ứ ủ c a các giao d ch 1, 2, 4, 5, 6, 7, 10 s  gi m đi t ng  ng là {2, 25, 12, 8, 4,

ầ ượ ủ ừ ế ả ị ừ ế 2, 4}. K t qu  TU l n l t c a t ng giao d ch t 1 đ n 10 là {10, 10, 12, 10,

16, 2, 0, 45, 6, 10}.

ậ ợ ể ị B c 6ướ , hi n th  danh sách t p l i ích cao trong HUs.

Hàm Search­HU({C}, k, ITC)

2 v i C là ti n t

ự ả ề ố ự ả ớ //Xây d ng b ng TC d a trên b ng IT C

ướ B c 1, TC2 = {};

C th c hi n. Gi

ướ ỗ ộ ớ ự ệ ả ử ớ ộ B c 2, V i m i b  (j, p) trong IT s  v i b  (1, 1) –

ị ị trong giao d ch 1 và v  trí 1.

j  th cự

ứ ớ ỗ ị 2.1. V i m i ph n t i ị ầ ử p+1  đ ng sau v  trí p trong giao d ch T

ệ ả ử ớ ầ ử hi n. Gi s  v i ph n t E.

(cid:0) 2.1.1. Ta có, E (cid:0) E; ạ ậ  HCWU1 nên t o t p {CE} = C

1)=12; U({C}, T1) + U(E,

ư 2.1.2. Ta có, {CE} (cid:0) TC2 nên đ a: {CE}; TU(T

T1) = 2 + 5*1 =7 vào TC2(Itemsets, CWU, AU).

ướ ầ ử ớ ị ị ặ ạ B c 2.1 L p l i , v i hai ph n t A, F sau v  trí 1 trong giao d ch 1

2 = ({CE}, {CA}, {CF}) và B ng TC

ượ ả đ c HCWU . ả 2 nh  ư B ng 2.11

72

2 v i ti n t

ả ả ớ ề ố ị B ng 2.. B ng TC C trong giao d ch 1

Itemsets CE CA CF CWU 12 12 12 AU 7 5 4

ướ ớ ộ ị ị ặ ạ B c 2 L p l i ầ   , v i b  (2, 1) – trong giao d ch 2, sau v  trí 1 có ph n

(cid:0) B ử (cid:0) t B. ạ ậ  HCWU1 nên t o t p {CB} = {C}

2) = 35; U({C}, T2) + U(B,

(cid:0) ấ ư Ta th y, {CB} TC2 nên đ a: {CB}; TU(T

ế ả ư B ngả T2) = 25 + 10 * 1 = 35 vào TC2(Itemsets, CWU, AU). K t qu  nh

2.12.

2 v i ti n t

ả ả ớ ề ố ị B ng 2.. B ng TC C trong giao d ch 1 và 2

Itemsets CWU

CE CA CF CB 12 12 12 35 AU 7 5 4 35

ớ ộ ị ị ặ ạ B c 2 L p l i ướ , v i b  (4, 1) ­ trong giao d ch 4, sau v  trí 1 có ph n t ầ ử

(cid:0) B (cid:0) B. ạ ậ  HCWU1 nên t o t p {CB} = {C}

ỉ ậ ủ ậ ị 2.1.3. Vì {CB} (cid:0) TC2 nên ch  c p nh t giá tr  CWU và AU c a {CB}

ả trong B ng 2.12 ư  nh  sau:

CWU({CB}) = CWU({CB}) + TU(T4) = 35 + 22 = 57;

AU({CB}) = AU({CB}) + U({C}, T4) + U(B, T4) = 35 + 12 + 10 = 57.

ươ ướ ớ ộ ự ặ ạ B c 2 T ng t , l p l i v i các b  (5, 1), (6, 1), (7, 1), (10, 1) ta

2 v i ti n t

ượ ế ớ ề ố ế ả ả ư B ng 2.13 đ ả ả c k t qu  b ng TC C k t qu  nh .

2 v i ti n t

ả ả ớ ề ố B ng 2.. B ng TC C trong CSDL

CWU AU

Itemset s

73

CE CA CF CB 50 36 18 57 39 19 10 57

p+1) = CWU(ip+1) – U(ip, Tj). Ví d , phía sau

ế ụ 2.1.4. N u k = 1 thì CWU(i

ầ ử ầ ử ị ủ ph n t C trong giao d ch 1 có các ph n t E, A, F và CWU c a các ph n t ầ ử

ề ả ậ ị này đ u gi m đi U({C},T ệ ộ 1) = 2. V y sau khi duy t b  (1, 1) thì giá tr  CWU

ủ ươ ự ệ ộ ươ ứ t ng  ng c a E, A, F là 105, 85, 73. T ng t , sau khi duy t các b : (2, 1),

1 có k t quế

ả ị (4, 1), (5, 1), (6, 1), (7, 1), (10, 1) thì giá tr  CWU trong b ng TC ả

ả nh  ư B ng 2.14 .

ả ả ậ ạ B ng 2.. B ng TC i CWU ậ 1 sau khi c p nh t l

A B C D E F

Itemset s

CWU 77 24 AU 65 40 115 50 93 69 12 24 45 57

(cid:0) ướ ệ ừ ậ B c 3, duy t t ng t p X’ TC2.

2 = ({CB}).

ỉ 3.1. Ch  có CWU({CB}) = 57 > 56 nên HCWU

ỉ 3.2. Ch  có AU({CB}) = 57 > 56 nên HUs = {C:57, CB:57}.

(cid:0) ướ ớ B c 4, ỗ  v i m i X’ HCWU2

{CB} t

C đ

ả ừ ả ượ ế ả ả ư B ng 2.15 ự 4.1. Xây d ng b ng IT b ng IT c k t qu  nh .

ủ ậ ả ả B ng 2.. B ng ch  s  IT ỉ ố {CB} c a t p {CB}

ị Tid V  trí cu i  2 4 2 2 U({CB},Tj) 35 22

4.2. k = k + 1; //k = 1 +1 = 2

ể ọ 4.3. G i hàm ấ ả ậ ợ t c  t p l i ích cao Search­HU({CB}, k, IT{CB}) đ  tìm t

ớ ề ố v i ti n t {CB}.

74

ậ ợ ể ồ ọ Khi g i hàm i ích cao g m 3 Search­HU({CB}, k, IT{CB}) đ  tìm t p l

ầ ử ằ ệ ả ộ ph n t b ng cách duy t 2 b  (2, 2) và (4, 2) trong b ng IT ể {CB}  đ  sinh

ứ ầ ử ư ị ị ị ồ ng viên g m 3 ph n t ố   . Nh ng v  trí 2 trong giao d ch 2 và 4 là v  trí cu i

ậ ứ ầ ử ồ ượ nên không có t p  ng viên g m 3 ph n t nào đ ậ c sinh ra. V y, sau khi

ậ ợ ớ ề ố ượ ế ế tìm ki m t p l i ích cao v i ti n t C đ c HUs = {C, CB}. Và k t thúc

hàm Search­HU({C}, 1, IT{C}).

ặ ạ ướ ươ ậ ợ ể L p l i b c 4 trong ch ng trình chính đ  tìm t p l ớ   i ích cao v i

1 b ng cách g i hàm

ề ố ầ ử ằ ọ ti n t là các ph n t E, B, A, F trong HCWU Search­

ư ầ ử ở ố C trên. HU gi ng nh  ph n t

ế ớ ưỡ ợ ố ể K t thúc quá trình khai phá v i ng ng l i ích t i thi u minutil = 56

ta thu đ ượ ậ ợ c t p l i ích cao HUs= {C:57, CB:57}.

ả ướ ẽ ấ B ng 2.16 , d ệ   ử ụ i đây s  cho ta th y s  d ng mô hình CWU hi u

ả ơ ắ ỉ ứ ệ qu  h n mô hình TWU trong vi c c t t a các  ng viên. Mô hình CWU

ứ ứ sinh ra 13  ng viên còn mô hình TWU sinh ra 16  ng viên.

ả ị B ng 2.. So sánh giá tr  CWU và TWU

CWU TWU Ti nề   tố

C {C}:115, {CB}:57, {CF}:18,  {CA}:36, {CE}:50 {C}:115, {CB}:57, {CF}:18,  {CA}:36, {CE}:50

{E}:107, {EB}:45, {EF}:69,

E {E}:93, {EB}:45, {EF}:67,  {EA}:71, {EAF}:55 {EA}:81, {EAF}:57

{B}:65, {BF}:45, {BA}:45 {B}:102, {BF}:45, {BA}:45 B

{A}:87, {AF}:57 A

75

CWU TWU Ti nề   tố

F {F}:75

ộ ứ ạ ậ 2.3.3. Đ  ph c t p tính toán thu t toán HP

ệ ề ứ ạ ủ ậ ộ ườ Đ  ph c t p c a thu t toán HP trong tr ấ   ợ ng h p x u M nh đ  2.3.

2), trong đó n là t p t

ấ ậ ấ ả ầ ử ố ổ nh t là O(2mn t c  các ph n t ; m là t ng s  giao

X là t p h p các

ầ ử ố ị ậ ợ ị d ch, w là s  ph n t ừ  trung bình trong t ng giao d ch và ST

ứ ậ ấ ớ ị giao d ch ch a t p X (l n nh t là m).

ứ Ch ng minh:

ườ ấ ủ ấ ậ ợ ấ ả Tr ng h p x u nh t c a thu t toán HP khi t t c  các ph n t ầ ử ề    đ u

ậ ộ ồ ướ ớ thu c HCWU và đó thu t toán HP g m các b c v i chi phí sau:

ự ả ầ ử ừ ằ + Xây d ng b ng TC ừ    trong t ng ệ 1 b ng cách duy t qua t ng ph n t

ớ ị giao d ch v i chi phí là m * w;

1 v i chi phí là n.

ệ ả ể ớ + Duy t qua b ng TC ị 1 đ  xác đ nh HCWU

ệ ạ ừ ầ ử ầ ử ừ ạ ị + Duy t l i t ng ph n t trong t ng giao d ch, lo i ph n t có CWU

ệ ắ ỏ ơ ế ạ ự ầ ử ừ ị nh  h n minutil và th c hi n s p x p l i các ph n t trong t ng giao d ch

2).

ầ ả ớ gi m d n theo AU v i chi phí là m * (w + w

ườ ấ ấ ậ ợ ấ ả ầ ử ề Tr ng h p x u nh t cho thu t toán HP là t t c  n ph n t đ u là các

1 và |STX| = m. Đ  ti n hành khai phá v i m i t p ph n t

ể ế ỗ ậ ầ ử ớ ậ t p HCWU (k­

ự ệ itemsets) X (cid:0) HCWUk th c hi n:

X và ITX v i chi phí là m * w;

ự ả ớ ớ + V i k=1 thì xây d ng b ng UT

ự ệ ớ ế + V i k = 2 đ n n th c hi n:

76

k t

ự ả ừ ả ế ợ ằ ­ Xây d ng b ng TC b ng IT ầ   X b ng cách k t h p các ph n

X| *

ứ ớ ử t ị  phía sau X trong các giao d ch ch a X v i chi phí là |ST

ườ ấ ợ ấ ả ị (w – k), trong tr ấ ng h p x u nh t là t ề   t c  các giao d ch đ u

X| = m;

ứ ậ ch a t p X và |ST

k v i s  l

ớ ố ượ ớ ậ ­ Tìm t p HCWU ấ ng l n nh t là (n ­ k)

X’ t

X v i chi phí là |ST

X|, v i X’ = X

ự ả ừ ả ớ ớ ­ Xây d ng b ng IT b ng IT

(cid:0) ứ ườ ấ ợ ị  i trong các giao d ch ch a X, trong tr ấ ng h p x u nh t là

X| = m. Nên chi phí

ấ ả ứ ậ ị t ề t c  các giao d ch đ u ch a t p X và |ST

X’ là m * (w – k);

ự ả xây d ng b ng IT

ậ ậ ộ ứ ạ Do v y, thu t toán HP có đ  ph c t p tính toán là O(m * n + n + m *

w2 + m * w + n * () = O(2mn2).

ậ ử ụ ấ ậ Thu t toán HP đ ượ ả ế ừ c c i ti n t thu t toán PB [15], s  d ng c u trúc

ậ ứ ể ề ả ả ậ ả b ng IT và b ng TC đ  tính nhanh các t p  ng viên, c  hai thu t toán đ u có

ứ ạ ườ ợ ố ấ ườ ộ đ  ph c t p trong tr ng h p t t nh t là O(m *w) và trong tr ng h p t ợ ồ   i

2).

ấ nh t là O(2mn

ả ự ế ệ 2.3.4. K t qu  th c nghi m

ả ự ệ ầ ậ ậ ớ   ế Trong ph n này, lu n án so sánh k t qu  th c hi n thu t toán HP v i

ậ thu t toán Two Phase [39], PB [15].

ườ Môi tr ữ ệ ng và d  li u

ậ ượ ự ệ Thu t toán đ ớ   c th c hi n trên máy tính IBM core 2 due 2.4GHz v i 2

ạ ộ ớ ươ ượ ế ằ GB b  nh , ch y trên Windows 7. Ch ng trình đ c vi t b ng Visual C+

ữ ệ ử ệ ượ ồ + 2010. D  li u th  nghi m g m: Mushroom và T30I4D100K đ c sinh t ừ

ủ ộ ữ ệ ượ ữ ệ ủ ể ặ ả ướ ộ b  sinh d  li u c a IBM. Đ c đi m c a b  d  li u đ c mô t phía d i:

77

Database T D N

T30I4D100K 30 100.000 100

Mushroom 23 8.124 119

ầ ử ố ố ộ ị trong đó T – s  ph n t trung bình trong m t giao d ch; N – s  ph n t ầ ử

ố ị khác nhau; D – s  giao d ch.

ộ ữ ệ ị ợ ư ề ừ Các b  d  li u này đ u ch a có giá tr  l i ích ngoài cho t ng ph n t ầ ử

ỉ ị ế ầ ử ệ ậ ấ và trong các giao d ch ch  cho bi t ph n t xu t hi n. Do v y, s  l ố ượ   ng

ầ ử ị ượ ừ ế ợ ph n t trong các giao d ch đ ẫ c sinh ng u nhiên, t 1 đ n 5 và l i ích

ầ ử ừ ủ ỗ ổ ợ ể ị ngoài c a m i ph n t t ế  0.1 đ n 10. Hình 2.1.  bi u th  phân b  l i ích

ầ ử ủ ế ệ ngoài c a các ph n t trong T30I4D100K. Hình 2.2. cho bi t vi c phân b ổ

ầ ử ợ l ủ i ích ngoài c a các ph n t trong Mushroom.

ố ợ ể ồ ầ ử Hình 2.. Bi u đ  phân b  l ủ i ích ngoài c a các ph n t ngoài trên

T30I4D100K

78

ố ợ ể ồ ầ ử Hình 2.. Bi u đ  phân b  l ngoài trên

ủ i ích ngoài c a các ph n t Mushroom

ố ứ ự ờ ệ Th i gian th c hi n và s   ng viên

ữ ử ệ ậ ậ ớ Th  nghi m, so sánh gi a thu t toán HP v i các thu t toán Two Phase,

ộ ữ ệ ượ ể ệ PB trên b  d  li u T30I4D100K đ c th  hi n trong Hình 2.3, 2.4, 2.5 t ngươ

ứ ố ượ ứ ươ ứ ng. C  th , ụ ể Hình 2.3 so sánh s  l ng  ng viên t ớ ng  ng v i các ng ưỡ   ng

ố ể ự ệ ờ ợ l i ích t i thi u khác nhau. Hình 2.4 so sánh th i gian th c hi n khai phá, khi

ưỡ ợ ố ự ệ ổ thay đ i ng ng l i ích t i thi u. ờ ể Hình 2.5 so sánh th i gian th c hi n khai

ố ị ưỡ ợ ố ổ ố ượ ể phá khi c  đ nh ng ng l i ích t i thi u là 20% và thay đ i s  l ng giao

ố ứ ự ệ ờ ị Hình 2.6, 2.7 so sánh s   ng viên sinh ra và th i gian th c hi n khai phá d ch.

ữ ậ ươ ứ ưỡ ợ ố ể gi a các thu t toán t ớ ng  ng v i các ng ng l i ích t i thi u khác nhau trên

ộ ữ ệ b  d  li u Mushroom.

ố ượ ứ ượ ữ ệ Hình 2.. S  l ng  ng viên đ c sinh ra trên d  li u T30I4D100KN100K

79

ữ ệ ự ệ ờ Hình 2.. Th i gian th c hi n trên d  li u T30I4D100KN100K

ự ờ ớ ố ượ Hình 2.. Th i gian th c hi n theo s  l ị ng giao d ch v i ng ưỡ   ng

ệ minutil=20%

ố ượ ứ ượ ữ ệ Hình 2.. S  l ng  ng viên đ c sinh ra trên d  li u Mushroom

80

ữ ệ ự ờ ệ Hình 2.. Th i gian th c hi n trên d  li u Mushroom

ậ ợ ậ 2.4. Thu t toán song song PPB khai phá t p l ự i ích cao d a trên ch  s ỉ ố

ế ợ hình chi u và danh sách l i ích

ậ ợ ậ ượ Thu t toán song song PPB [V] khai phá t p l i ích cao đ c công b ố

ề ệ ạ trong t p chí Công ngh  Thông tin và Truy n thông: “Các công trình nghiên

ộ ố ề ụ ứ ể ấ ứ c u, phát tri n và  ng d ng CNTT­TT" có m t s  đ  xu t sau:

ả ớ ợ ậ ứ ể ỉ ố ế ợ ­ Dùng b ng ch  s  k t h p v i danh sách l i ích đ  sinh t p  ng viên,

ậ ợ ộ ậ ứ ử ạ tìm t p l i ích cao, lo i nhanh các  ng viên và đ c l p x  lý các ph n t ầ ử

ộ ử ừ trên t ng b  x  lý.

ả ượ ư ợ ­ Gi n l ữ c thông tin l u tr  trong danh sách l i ích.

ậ ợ ự ậ ­ Xây d ng thu t toán song song khai phá t p l i ích cao trên mô hình

ớ ẻ ộ chia s  b  nh .

ộ ơ ở ữ ệ ậ ợ ệ ể ả ị Đ  thu n l i trong gi i thích các khái ni m, m t c  s  d  li u giao d ch đ ượ   c

ễ ướ ạ ể ả ủ ợ ư B ng 2.17 bi u di n d ả i d ng b ng nh . L i ích ngoài c a các ph n t ầ ử ượ   c  đ

ả cho trong B ng 2.18 .

81

ả ơ ở ữ ệ ị B ng 2.. ọ C  s  d  li u giao d ch minh h a

Ti d 1 2 3 4 5 6 7 8 9 10 Giao d chị C D E 1 1 2 0 0 25 2 0 0 0 0 12 2 0 8 0 1 4 0 1 2 2 0 0 0 1 0 2 0 4 F 1 0 1 0 0 1 0 3 0 0

ầ ử ả A B 0 1 1 0 0 0 1 0 0 2 0 0 0 0 2 3 0 2 0 0 ủ ợ ả i ích ngoài c a các ph n t B ng l B ng 2..

Item L i íchợ A B C D E F 2 3 10 1 5 6

ư ữ ể ả ộ ậ ộ ử ữ ệ   Đ  gi m không gian l u tr  và đ c l p tính toán trên các b  x  lý, d  li u

ậ ượ ổ ứ ư trong thu t toán PPB đ ch c nh  sau: c t

ậ ứ ầ ử ạ ỏ ơ ị ­ Lo i các t p  ng viên 1 ph n t có TWU nh  h n trong các giao d ch.

ắ ế ầ ử ả ợ ầ ử ­ S p x p các ph n t ầ  gi m d n theo l ủ i ích c a ph n t ­ AU.

j đ

ầ ử ỗ ị ượ ư ữ ồ ộ ­ M i m t ph n t trên giao d ch T c l u tr  g m (i, UR), trong đó

ầ ử ổ ợ ầ ử ừ ầ ử ế i là tên ph n t , UR là t ng l i ích các ph n t tính t ph n t ố    i đ n cu i

j, đ

j)= iutil(i, Tj) + rutil(i, Tj) và

ượ ứ ị giao d ch T c tính theo công th c UR(i, T

ư ị iutil, rutil nh  trong Đ nh nghĩa 1.20 .

k, Tj) = UR(ik, Tj) ­

ớ ổ ứ ữ ệ ư ể V i cách t ch c d  li u nh  trên có th  tính iutil(i

k.

ầ ử ngay phía sau i UR(ik+1, Tj) và rutil(ik, Tj) = UR(ik+1, Tj), trong đó ik+1 là ph n t

ầ ử ố ả cu i thì UR(i N u iế k là ph n t ư   k+1, Tj) = 0. Đây là cách làm gi m không gian l u

ầ ư ữ ị ợ ư ẫ tr  vì không c n l u giá tr  iutil và rutil trong danh sách l i ích, nh ng v n tính

ị ượ ả đ c c  hai giá tr  này.

82

ụ ả ợ ọ ở B ng 2.17 và ơ ở ữ ệ Ví d , xét c  s  d  li u minh h a ả b ng l i ích ngoài các

ầ ử ả ệ ữ ệ ớ ầ ầ ớ B ng 2.18 ph n t trong , v i minutil = 56. V i l n duy t d  li u đ u tiên ta

ủ ừ ầ ử ớ ị ươ ứ tính TWU, AU c a t ng ph n t : A, B, C, D, E, F v i giá tr  TWU t ng  ng là

ị ươ ứ 99, 102, 133, 50, 113, 87 và giá tr  AU t ng  ng là 24, 40, 57, 24, 45, 12. Ta

ế ấ ạ ị ắ   ỏ th y TWU(D) = 50 < 56 nên lo i D kh i các giao d ch. Sau đó, ti n hành s p

ầ ử ầ ỗ ị ượ ả ế x p các ph n t ả  trên m i giao d ch gi m d n theo AU ta đ c nh ư B ng 2.19.

ả ợ ầ ử ị B ng 2.. ả B ng l i ích các ph n t trong các giao d ch

Giao d chị

Tid 1 2 3 4 5 6 7 8 9 10 (C, 12), (E, 10), (A, 5), (F, 2) (C, 35), (B, 10),  (E, 12), (F, 2) (C, 22), (B, 10) (C, 24), (E, 16), (A, 6) (C, 6), (F, 2) (C, 2) (E, 45), (B, 35), (A, 15), (F, 6) (A, 6) (C, 14), (E, 10)

ượ ử ụ ồ ậ ộ ố ấ 2.4.1. M t s  c u trúc đ c s  d ng trong thu t toán PPB g m:

ả ầ ử ợ ồ ự ế ợ ­ B ng TC , l i ích th c t ­ AU và l i ích còn l ạ   i ậ k g m các t p k­ph n t

1 đ

ả ị ượ ủ ứ c a  ng viên – RU. Các giá tr  AU, RU trong b ng TC c tính trong cùng

ộ ầ ệ m t l n duy t khi tính TWU, trong đó RU(X) = TWU(X) – AU(X).

1 v i t p g m 1 ph n t

ả ả ớ ậ ồ ầ ử B ng 2.. B ng TC

AU RU

Itemset s A B C D E F 24 40 57 24 45 12 75 62 76 26 68 75

83

ụ ừ ơ ở ữ ệ ả ợ ọ ở B ng 2.17 và Ví d , t c  s  d  li u minh h a ả b ng l i ích ngoài các

1 nh  trong

ầ ử ả ả ứ ầ ử ư B ng 2.18, B ngả ph n t trong ta có b ng  ng viên 1 ph n t ­ TC

2.20.

ả ủ ậ ồ ị ị ứ ậ ­ B ng ch  s  IT

j; itutil(X, Tj) – giá tr  l

ỉ ố X c a t p X g m các giao d ch T ấ ệ ủ ậ ị ầ ử ố cu i cùng c a t p X xu t hi n trong giao d ch T ph n t

j; rutil(X, Tj) – giá tr  l

ủ ậ ị ị ợ ầ ử ích c a t p X trong giao d ch T ủ   j ch a t p X; v  trí p c a ị ợ   i ạ   i i ích các ph n t còn l

j. Ví d , t

ậ ị ụ ừ ả ầ ử ợ sau t p X trong giao d ch T b ng l i ích các ph n t trong các giao

ả ự ượ ả B ng 2.19 B ngả ị d ch trong , ta xây d ng đ c b ng ch  s  IT ủ ậ ỉ ố C c a t p {C} trong

ượ ư 2.21 đ c tính nh  sau: iutil({C}, T

1) = UR({C}, T1) – UR({E}, T1) = 12 – 10 = 2;  ộ    v i các giao d ch 2, 4, 5, 6, 7, 10. V i m t

ươ ự ớ ớ ị ng t rutil({C}, T1) = UR({E},T1); t

ứ ự ượ ắ ế ị ừ ả ể th  t đã đ c s p x p trong giao d ch, t b ng IT ậ   ị C có th  xác đ nh nhanh t p

ầ ử ằ ế ợ ầ ử ứ ứ ớ các  ng viên 2­ph n t b ng cách k t h p C v i các ph n t đ ng sau C trong

ụ ớ ị ị ị ượ ậ ứ các giao d ch. Ví d , v i giao d ch 5 và sau v  trí 1, sinh đ c t p các  ng viên

ể {CE}, {CA} và có th  tính nhanh iutil({CE}, T

5) = iutil({C}, T5) + (UR({E}, T5) ­  ự   ,

ươ UR({A}, T5)) = 8 + (16 ­ 6) = 18 và rutil({CE}, T5) = UR({A}, T5) = 6. T ng t

iutil({CA},T5) = iutil({C}, T5) + (UR({A}, T5) ­ 0) = 8 + (6 ­ 0) = 14 và rutil({CA},

T5) = 0.

ủ ậ ả ả B ng 2.. B ng ch  s  IT ỉ ố C c a t p {C}

ố ị Tid V  trí cu i 1 2 4 5 6 7 10 1 1 1 1 1 1 1 iutil({C},Tj) 2 25 12 8 4 2 4 rutil({C},Tj) 10 10 10 16 2 0 10

ả ử ớ ơ ồ ử ậ ồ ả Hình Gi s  v i hai lu ng x  lý, s  đ  thu t toán PPB mô t trong

2.8.

ơ ồ ậ Hình 2.. S  đ  thu t toán song song PPB

84

ả ậ 2.4.2. Mô t thu t toán song song PPB

ậ ậ Thu t toán 2.2. Thu t toán song song PPB

Input:

ơ ở ữ ệ ị ­ D: C  s  d  li u giao d ch;

ợ ả ­ B ng l ỗ i ích m i ph n t

ầ ử ; ố ưỡ ợ i ích t ­ minutil ­ ng ng l ể i thi u.

ố ­ p – S  Thread

Output:

ấ ả ậ ợ ­ T t c  các t p l i ích cao

Master:

ữ ệ ỗ ồ ­ Phân chia d  li u cho m i lu ng;

ụ ộ ợ ­ Đ i các Thread tính xong TWU, AU c c b  thì:

ụ + Tính TWU, AU toàn c c và ự Xây d ng TC

1 toàn c c;ụ 1;

1 và HUs1 t ươ ừ

ạ ừ ả + T o danh sách HTWUs b ng TC

ế ỗ ng trình ;

1 r ng thì d ng ch ả

ế ắ ầ 1 gi m d n theo AU; ầ ử ) 

+ N u HTWUs ế + S p x p HTWUs ạ ỏ ị

: ượ ử ậ ợ ­ Đ i các Thread lo i b  các ph n t ầ ử  trong các giao d ch thì ph n t ợ ữ ệ + T p h p d  li u đã đ c x  lý;

1 cho các Thread;

ầ ượ ừ ầ ử + Chia l n l t t ng ph n t i trong HTWUs

Theads:

ữ ệ ừ ậ ệ ­ Nh n phân chia d  li u t

1 t

ự ả + Xây d ng b ng TC ể ự  Master đ  th c hi n: ừ ữ ệ ụ ộ  d  li u c c b

ợ ế ắ ệ  : ự 1 và th c hi n

­ Đ i Master s p x p xong danh sách HTWUs ầ ử ỏ ơ ị ạ ỏ + Lo i b  ph n t

có TWU nh  h n minutil trong giao d ch. ị ầ ử ả ầ ế ạ ắ trong giao d ch gi m d n theo AU + S p x p l

ừ ự ệ ậ ừ ầ ử i các ph n t ượ Master và th c hi n: ­ Nh n t ng ph n t

i đ ả ự + Xây d ng b ng IT c phân chia t i;

+ k=1;

85

ậ ọ + G i hàm ể PB­Miner({i}, k, ITi) đ  khai phá t p các HUIs;

//Hàm PB­Miner

Hàm PB­Miner(X, k, IT{x})

Input:

ả ;   trong t p;  ỉ ố ủ ậ ITX – b ng ch  s  c a t p X.

ề ố ậ ­ X – t p ti n t ầ ử ố ­ k – s  ph n t ­ Output:

ậ ợ

{X}

ề ố ự ả ­ HUs ­ T p có l ả d a trên b ng IT i ích cao. ớ k+1 v i X là ti n t

ự //Xây d ng b ng TC TCk+1={}; For each (j, p) (cid:0) IT{X}{

ủ ậ

For each ip+1 (cid:0) //p là ph n t If (ip+1 (cid:0) Tj { ầ ử ố  cu i cùng c a t p X  HTWUk)

ip+1;

X’ = X (cid:0) If (X’ ∉ TCk+1)

k+1 (Itemsets, AU, RU).

p+2,Tj) = 0;

ố Chèn   (X’,   iutil(X,   Tj)   +   (UR(ip+1,Tj)   ­   UR(ip+2,Tj),  UR(ip+2,Tj)) vào b ng TC //Chú ý, n u iế p+2 là cu i thì UR(i

If (X’ (cid:0) TCk+1){

­ RU(X’) = RU(X’) + UR(ip+2, Tj);  ­ AU(X’) = AU(X’) + iutil(X, Tj) + (UR(ip+1, Tj) ­ UR(ip+2,

Tj);

}

}

} For each X’ (cid:0) TCk+1 {

ậ If (AU(X’) + RU(X’)) ≥ minutil { k+1;

If (AU(X’) (cid:0)

ậ Chèn X’ vào t p HTWU  minutil) { Chèn X’ vào t p HUs;

} For each X’ (cid:0)

{X’} t

HTWUsk+1 { ự ­ Xây d ng IT ITừ {X};

86

ậ ợ ớ ề ố ­ k = k +1;  ­ Call PB­Miner ({X’}, k, ITX’);  //Tìm t p l ề i ích cao theo chi u sâu v i ti n t ậ  là t p {X’}

} Return HUs;

ụ ậ ọ 2.4.3. Ví d  minh h a thu t toán PPB

ầ ọ ướ ủ ử ậ ồ Trong ph n này minh h a các b ớ c c a thu t toán v i hai lu ng x  lý.

ơ ở ữ ệ ả ị ợ ươ ả ả ứ ở B ng 2.17 C  s  d  li u giao d ch, b ng l i ích t ng  ng và B ng 2.18 ,

ưỡ ợ ố ể ng ng l i ích t i thi u minutil = 56.

Master:

ữ ệ ướ ự ể ệ ­ B c 1, Master th c hi n phân chia d  li u cho các Threads đ  tính

ậ ượ ụ ộ ừ ủ ụ ộ TWU, AU c c b . Khi nh n đ c đ  TWU, AU c c b  t các Thread thì

ụ ị ượ ế tính giá tr  TWU, AU toàn c c và đ c k t qu  nh ả ư Hình 2.9.

E 113 45 D 50 24

Item A TWU 99 24 AU ế C B 102 133 57 40 ả F 87 12 ụ Hình 2.. K t qu  TWU và AU toàn c c

1 toàn c c. Ví d , đ  tính RU c a ph n t

ế ự ả ụ ể ủ ụ Ti p theo, xây d ng b ng TC ầ ử

ư ươ ự A nh  sau: RU(A) = TWU(A) – AU(A) = 99 – 24 = 75, t ng t cho B, C, D,

ụ ượ ế ả ả ư B ng 2.22. E, F toàn c c đ c k t qu  nh

1 toàn c c v i t p g m 1 ph n t

ả ả ụ ớ ậ ầ ử ồ B ng 2.. B ng TC

Itemsets A B C D E F AU 24 40 57 24 45 12 RU 75 62 76 26 68 75

87

ả ị ạ ấ ừ B ng 2.22 ướ ­ B c 2, t ậ    ta th y TWU(D)= 50 < 56 nên D b  lo i. Do v y,

danh sách HTWU1 = {A, B, C, E, F}. Và danh sách HU1 = {C} vì AU(C) = 57 >

56.

1 gi m d n theo AU ta có: HTWU

1

ướ ế ắ ả ầ ­ B c 3, s p x p danh sách HTWU

= {C, E, B, A, F}.

ướ ế ắ ạ ờ ị ­ B c 4, ch  các Threads lo i D trong các giao d ch và s p x p các

ầ ử ả ầ ậ ị ph n t trong giao d ch gi m d n theo AU. Sau đó t p h p d  li u đ ợ ữ ệ ượ ế   c k t

ả ả ư B ng 2.19 qu  nh .

ộ ậ ướ ệ ­ B c 5, phân công công vi c cho các Thread đ c l p khai phá c  th ụ ể

ư ớ ề ố nh  sau: Thread 1 khai phá HUIs v i ti n t : C, B, F; Thread 2 khai phá HUIs

ớ ề ố v i ti n t : E, A.

Threads:

ữ ệ ướ ậ ượ ẽ ­ B c 1, sau khi nh n d  li u đ c phân chia thì các Thread s  tính

ụ ộ ầ ử ừ ử ể ậ ợ TWU, AU c c b  cho t ng ph n t . Sau đó g i cho Master t p h p đ  tính

1  toàn c c đ

ự ụ ả ụ ượ ế ả TWU, AU toàn c c và xây d ng b ng TC c k t qu  nh ư

ả B ng 2.22 .

ụ ừ ướ ậ ẽ ạ ỏ ­ B c 2, sau khi nh n TWU toàn c c t Master s  lo i D kh i các

ầ ử ế ế ắ ị ừ ả ị giao d ch và ti n hành s p x p các ph n t ầ    trong t ng giao d ch gi m d n

ử ề ữ ệ ậ ợ ượ ế ả ư B ngả theo AU và g i v  cho Master t p h p d  li u đ c k t qu  nh

2.19.

ữ ệ ướ ậ ợ ­ B c 3, sau khi Master t p h p d  li u và phân chia các ph n t ầ ử

ể ộ ậ ụ HTWU1  cho các Thread đ  đ c l p khai phá HUIs. Ví d , trong Thread 1

ầ ử ự ệ ớ th c hi n khai phá v i ph n t C.

C t

ự ượ ả ả ụ ị 3.1. Xây d ng đ c b ng IT ừ B ng 2.19 . Ví d , trong giao d ch 1 thì

1) =UR(C, T1) – UR(E, T1) = 12 – 10 = 2; rutil(C, T1) =

ầ ử ph n t C có iutil(C, T

88

ươ ự ị ượ ế cho các giao d ch 2, 3, 5, 6, 7, 10 đ c k t qu  nh ả ư UR(E, T1) = 10. T ng t

ả B ng 2.23 .

ầ ử ả ả B ng 2.. B ng ch  s  IT C ủ ỉ ố C c a ph n t

ố ị Tid V  trí cu i 1 2 4 5 6 7 10 1 1 1 1 1 1 1 iutil(C, Tj) 12 ­ 10 = 2 35 ­ 10 = 25 22 ­ 10 = 12 24 ­ 16 = 8 6 ­ 2 = 4 2 ­ 0 = 2 14 ­ 10 = 4 rutil(C, Tj) 10 10 10 16 2 0 10

ậ ọ 3.2. G i hàm ừ ề ố   ti n t ể PB­Miner({C}, 1, ITC) đ  khai phá các t p HUIs t

C.

ự ồ ướ Quá trình th c hi n c sau: ệ Hàm PB­Miner({C}, k, ITC) g m các b

2 v i C là ti n t

C

ự ả ề ố ự ả ớ //Xây d ng b ng TC d a trên b ng IT

ướ B c 1, TC2 = {};

C th c hi n. Gi

ướ ỗ ộ ớ ự ệ ả ử ớ ộ B c 2, V i m i b  (j, p) trong IT s  v i b  (1, 1) –

ị ị trong giao d ch 1 và v  trí 1.

j  th cự

ứ ớ ỗ ị 2.1. V i m i ph n t i ị ầ ử p+1  đ ng sau v  trí p trong giao d ch T

ệ ả ử ớ ầ ử hi n. Gi s  v i ph n t E.

2.1.1. Ta có, E (cid:0) E = {CE}; HCWU1 nên gán Itemsets = C (cid:0)

ự ệ 2.1.2. Và Itemsets (cid:0) TC2 nên th c hi n:

­ iutil({CE}, T1) = iutil({C},T1) + (UR(E,T1) ­ UR(A, T1)) = 2 +

(10 ­ 5) = 2 + 5 = 7;

­ rutil({CE},T1) = UR(A, T1) = 5;

89

1),   rutil({CE},T1))   vào   b ngả

ộ ­   Chèn   b   (Itemsets,   iutil({CE},   T

TC2(Itemsets, AU, RU);

ướ ầ ử ớ ị ị ặ ạ B c 2.1 L p l i , v i hai ph n t A, F sau v  trí 1 trong giao d ch 1

ả B ng TC . ả 2 nh  ư B ng 2.24

2 v i ti n t

ả ả ớ ề ố ị B ng 2.. B ng TC C trong giao d ch 1

Itemsets CE CA CF AU 7 5 4 RU 5 2 0

ướ ớ ộ ị ị ặ ạ B c 2 L p l i ầ   , v i b  (2, 1) – trong giao d ch 2, sau v  trí 1 có ph n

B ử (cid:0) t B = {CB}; HCWU1 nên gán Itemsets = {C} (cid:0)

ự ệ Và Itemsets (cid:0) TC2 nên th c hi n:

­ iutil({CB},T2) = iutil({C},T1) + (UR(B,T2) ­ UR((cid:0) ,T2)) = 25

+ (10 ­ 0) = 25 + 10 = 35;

­ rutil({CB},T2) = UR((cid:0) ,T2) = 0;

2),   rutil({CB},T2))   vào   b ngả

ộ ­   Chèn   b   (Itemsets,   iutil({CB},T

ế ả ả ư B ng 2.25. TC2(Itemsets, AU, RU). K t qu  nh

2 v i ti n t

ả ả ớ ề ố ị B ng 2.. B ng TC C trong giao d ch 1 và 2

Itemsets CE CA CF CB AU 7 5 4 35 RU 5 2 0 0

ớ ộ ị ị ặ ạ B c 2 L p l i ướ , v i b  (4, 1) ­ trong giao d ch 4, sau v  trí 1 có ph n t ầ ử

B (cid:0) B = {CB}; HTWU1 nên gán Itemsets = {C} (cid:0)

90

ủ ậ ậ ị Và Itemsets  (cid:0) TC2  nên c p nh t giá tr  AU và RU c a {CB} trong

ư ả B ng 9 nh  sau:

­ AU({CB}) = AU({CB}) + iutil({C}, T4) + (UR(B, T4) ­ UR((cid:0) ,

T4)) = 35 + 12 + (10 ­ 0) = 57;

­ RU({CB}) = RU({CB}) + rutil((cid:0) , T4) = 0 + 0 = 0;

ươ ướ ớ ộ ự ặ ạ B c 2 T ng t , l p l i v i các b  (5, 1), (6, 1), (7, 1), (10, 1) ta

2 v i ti n t

ượ ế ớ ề ố ế ả ả ư B ng 2.26. đ ả ả c k t qu  b ng TC C. K t qu  nh

2 v i ti n t

ả ả ớ ề ố B ng 2.. B ng TC C

AU RU

Itemset s CE CA CF CB 39 19 10 57 11 2 0 0

(cid:0) ướ ệ ừ ậ B c 3, duy t t ng t p X’ TC2.

3.1. Ta có, AU({CB}) + RU({CB}) = 57 + 0 = 57 > 56 nên HTWU2 = ({CB}).

3.2. Ta có, AU({CB}) = 57 > 56 nên HUs = {CB:57}.

(cid:0) ướ ớ B c 4, ỗ  v i m i X’ HTWU2

{CB} t

C đ

ả ừ ả ượ ế ả ả ư B ng 2.27 ự 4.1. Xây d ng b ng IT b ng IT c k t qu  nh .

ủ ậ ả ả B ng 2.. B ng ch  s  IT ỉ ố {CB} c a t p {CB}

ố   iutil({CB},Tj)

ị Tid V  trí cu i 2 4 2 2 rutil({CB},Tj) 0 0 35 22

4.2. k = k + 1; //k = 1 +1 = 2

91

ể ọ 4.3. G i hàm ấ ả ậ ợ t c  t p l i ích cao PB­Miner({CB}, k, IT{CB}) đ  tìm t

{CB} để

ệ ằ ả ớ ề ố v i ti n t ộ  {CB} b ng cách duy t 2 b  (2, 2) và (4, 2) trong b ng IT

ầ ử ứ ồ ư ị ị ị sinh  ng viên g m 3 ph n t . Nh ng v  trí 2 trong giao d ch 2 và 4 là v  trí

ầ ử ố ồ ượ ậ ậ ứ cu i nên không có t p  ng viên g m 3 ph n t nào đ c sinh ra. V y, sau

ậ ợ ớ ề ố ượ ế khi tìm ki m t p l i ích cao v i ti n t C đ ế   c HUs = {C, CB}. Và k t

thúc hàm PB­Miner({C}, 1, IT{C}).

ồ ậ ợ ớ ề ố ố Lu ng 1 l p l ặ ạ ướ i b c 4 tìm t p l i ích cao v i ti n t là B, F gi ng nh ư

ầ ử ở ươ ự ồ ậ ợ ự ệ ph n t C trên. T ng t , lu ng 2 th c hi n tìm t p l i ích cao v i ti n t ớ ề ố

E, A.

ế ớ ưỡ ợ ố ể K t thúc quá trình khai phá v i ng ng l i ích t i thi u minutil = 56

ồ trên 2 lu ng ta thu đ ượ ậ ợ c t p l i ích cao HUIs= {C:57, CB:57}.

ả ử ả ướ ẽ ấ B ng 2.28 Gi s  minutil = 40, thì d i  đây s  cho ta th y s ử

ỉ ố ế ụ ả ợ ớ ợ ố ượ d ng   b ng   ch   s   k t   h p   v i   danh   sách   l i   ích   cho   s   l ứ   ng   ng

ụ ế ế ể ợ ớ ơ ợ ớ ớ   viên  ít h n so  v i k t  h p v i mô hình TWU. C  th ,  k t  h p v i

ợ ứ ế ớ ợ danh sách l i  ích sinh ra 19  ng viên và k t  h p v i  mô hình TWU

ứ sinh ra 23  ng viên.

ố ượ ứ ả ợ B ng 2.. So sánh s  l ng  ng viên trên danh sách l i ích và TWU

Lu ngồ Utility­list TWU Ti nề   tố

ồ Lu ng 0

C

{C}:133, {CE}:50, {CEA}:36, {CB}:57 {CA}:21, {CF}:22

B

{B}:102, {BA}:35,  {BF}:26 {C}:133, {CE}:56,  {CEA}:42,  {CEAF}:18,  {CB}:57, {CA}:42 {CAF}:18, {CF}:42 {B}:102, {BA}:45 {BAF}:45, {BF}:45

92

Lu ngồ Utility­list TWU Ti nề   tố

F {F}:87 {F}:87

E

ồ Lu ng 1 {E}:113, {EB}:45,  {EBA}:5, {EBAF}:45,  {EBF}:36, {EA}:51,  {EF}:35 {E}:113, {EB}:45,  {EBA}:45,  {EBAF}:45,  {EBF}:45, {EA}:85 {EAF}:63, {EF}:75

A {A}:99, {AF}:20 {A}:99, {AF}:63

ộ ứ ạ ủ ậ 2.4.4. Đ  ph c t p tính toán c a thu t toán PPB

ẻ ộ ự ậ ớ Thu t toán song song PPB d a trên mô hình chia s  b  nh  nên không

ứ ạ ữ ệ ề ấ ậ ộ ượ m t chi phí truy n d  li u và đ  ph c t p thu t toán đ c tính tu n t ầ ự ở

ự ệ Master và song song khi th c hi n trên các Thread.

ệ ề ứ ạ ủ ậ ộ ườ Đ  ph c t p c a thu t toán PPB trong tr ấ   ợ ng h p x u M nh đ  2.4.

ậ ấ ả ầ ử ế ấ nh t là , trong đó p ti n trình (Thread); n là t p t t c  các ph n t ; m là

ầ ử ố ố ị ị ổ t ng s  giao d ch, w là s  ph n t ừ  trung bình trong t ng giao d ch và v là

ầ ử ố ấ ả ị ổ t ng s  các ph n t trong t t c  các giao d ch.

ứ Ch ng minh:

ườ ấ ủ ấ ậ ợ ấ ả Tr ng h p x u nh t c a thu t toán PPB khi t t c  các ph n t ầ ử ề    đ u

ộ ồ ướ ớ ậ thu c HCWU và thu t toán PPB g m các b c v i chi phí sau:

Master:

ớ ị + Chia m giao d ch cho p Thread v i chi phí là m;

1 t

ả ậ ợ ừ ớ + T p h p b ng TC các Thread v i chi phí n;

93

1 t

1

ạ ừ ả ả ằ + T o danh sách HTWUs b ng TC ệ 1 b ng cách duy t qua b ng TC

ớ v i chi phí n;

1 gi m d n theo AU v i chi phí

ắ ế ạ ầ ử ả ầ ớ + S p x p l i các ph n t trong HTWUs

n2.

ợ ữ ệ ử ậ ớ + T p h p d  li u đã x  lý v i chi phí m;

1 cho các Thread v i chi phí là

ầ ử ừ ớ + Phân chia t ng ph n t trong HTWUs

1;

ẽ ụ ư ậ ầ ử ỗ n. Nh  v y m i Thread s  ph  trách n/p ph n t trong HTWUs

Thread:

1 t

ự ả ừ ữ ệ ụ ộ ớ + Xây d ng b ng TC d  li u c c b  v i chi phí là m/p * w;

ệ ạ ừ ầ ử ụ ộ ừ ạ ị + Duy t l i t ng ph n t trong t ng giao d ch c c b , lo i ph n t ầ ử    có

ệ ắ ỏ ơ ế ạ ự ầ ử TWU nh  h n minutil và th c hi n s p x p l i các ph n t ừ  trong t ng giao

2).

ả ầ ớ ị d ch gi m d n theo AU v i chi phí là m/p * (w + w

X v i chi phí là m * w;

ự ả ớ ớ + V i k=1 thì xây d ng b ng IT

ự ệ ế ớ + V i k=2 đ n n th c hi n:

k t

ự ả ừ ả ằ ­ Xây d ng b ng TC b ng IT ầ ử ế ợ X b ng cách k t h p các ph n t

X| * (w –

ứ ớ ị phía sau X trong các giao d ch ch a X v i chi phí là |ST

ườ ấ ợ ấ ả ề k), trong tr ấ ng h p x u nh t là t ứ   ị t c  các giao d ch đ u ch a

X| = m;

ậ t p X và |ST

k v i s  l

ớ ố ượ ớ ậ ­ Tìm t p HCWUs ấ ng l n nh t là n – k;

X’ t

X v i chi phí là |ST

X|, v i X’ = X

ự ả ừ ả ớ ớ ­ Xây d ng b ng IT b ng IT

(cid:0) ứ ườ ấ ợ ị  i trong các giao d ch ch a X, trong tr ấ ng h p x u nh t là

X| = m. Chi phí xây

ấ ả ứ ậ ị t ề t c  các giao d ch đ u ch a t p X hay |ST

X’ là m * (w – k);

ả ự d ng b ng IT

94

ậ ậ ườ ấ ợ ộ Do v y, thu t toán PPB trong tr ứ ạ   ấ ng h p x u nh t có đ  ph c t p

tính toán là O(m + n + n + (m/p * w2)+ (m * w) +  = O(2m).

ả ự ệ ế 2.4.5. K t qu  th c nghi m

ả ự ế ệ ầ ậ ỉ Trong ph n này ch  so sánh k t qu  th c hi n thu t toán PPB­Miner

ậ ậ ượ ớ v i thu t toán HP [II] do thu t toán HP đã đ c so sánh, đánh giá là t ố ơ   t h n

ậ ớ v i thu t toán TP [39], PB [15].

ườ Môi tr ữ ệ ng và d  li u

ậ ượ ự ệ Thu t toán đ ớ   c th c hi n trên máy tính HP core 7 due 2.4GHz v i 4

ự ệ ạ ớ ộ ờ ố ồ ồ GB b  nh , ch y trên Windows  7. S  lu ng th c hi n  đ ng th i  là 4.

ươ ượ ế ằ ữ ệ ử ệ Ch ng trình đ c vi ồ   t b ng Visual C++ 2010. D  li u th  nghi m g m:

ượ ừ ộ ữ ệ ủ Mushroom và T30I4D100K đ c sinh t ặ    b  sinh d  li u c a IBM. Đ c

ủ ộ ữ ệ ượ ể ả ướ đi m c a b  d  li u đ c mô t phía d i:

Database T D N

T30I4D100K 30 100.000 100

Mushroom 23 8.124 119

ầ ử ố ố ộ ị trong đó T – s  ph n t trung bình trong m t giao d ch; N – s  ph n t ầ ử

ố ị khác nhau; D – s  giao d ch.

ộ ữ ệ ị ợ ư ề ừ Các b  d  li u này đ u ch a có giá tr  l i ích ngoài cho t ng ph n t ầ ử

ị ỉ ế ầ ử ấ ố ượ ệ ậ và trong các giao d ch ch  cho bi t ph n t xu t hi n. Do v y, s  l ng cho

ầ ử ỗ ỗ ị ượ ẫ ớ ị m i ph n t trong m i giao d ch đ c sinh ng u nhiên v i giá tr  thu c t ộ ừ    1

ợ ầ ử ừ ỗ ế đ n 5 và l ủ i ích ngoài c a m i ph n t t ế  0.1 đ n 10. Hình 2.10 cho bi tế

95

ổ ợ ệ ầ ử Hình 2.11 vi c phân b  l ủ i ích ngoài c a các ph n t trong T30I4D100K.

ế ổ ợ ệ ầ ử cho bi t vi c phân b  l ủ i ích ngoài c a các ph n t trong Mushroom.

ố ợ ể ồ ầ ử Hình 2.. Bi u đ  phân b  l ủ i ích ngoài c a các ph n t trên T30I4D100K

ố ợ ể ồ ầ ử Hình 2.. Bi u đ  phân b  l ủ i ích ngoài c a các ph n t trên Mushroom

(cid:0) ố ậ ứ ự ệ ờ ượ Th i gian th c hi n và s  t p  ng viên đ c sinh ra

ả ự ế ệ ậ ớ ậ   ữ   K t qu  th c nghi m, so sánh gi a thu t toán PPB­Miner v i thu t

ộ ữ ệ toán HP [II] trên b  d  li u T30I4D100K và Mushroom. Hình 2.12 so sánh

ậ ợ ự ờ ổ ưỡ ợ ệ th i gian th c hi n khai phá t p l i ích cao khi thay đ i ng ng l i ích t ố   i

ố ượ ứ ượ ươ ứ ớ thi u, ể Hình 2.13 so sánh s  l ng  ng viên đ c sinh ra t ng  ng v i các

ưỡ ợ ố ể ờ ng ng l i ích t i thi u khác nhau. Hình 2.14 và Hình 2.15 so sánh th i gian

ậ ợ ự ệ ố ứ ủ ậ th c hi n khai phá t p l i ích cao và s   ng viên sinh ra c a hai thu t toán

ứ ưỡ ợ ố ể ươ t ớ ng  ng v i các ng ng l i  ích t ộ ữ ệ   i thi u khác nhau trên b  d  li u

Mushroom.

96

ữ ệ ự ệ ờ Hình 2.. Th i gian th c hi n trên d  li u T30I4D100KN100K

ố ượ ứ ượ ữ ệ Hình 2.. S  l ng  ng viên đ c sinh trên d  li u T30I4D100KN100K

ữ ệ ự ờ ệ Hình 2.. Th i gian th c hi n trên d  li u Mushroom

97

ố ượ ứ ượ ữ ệ Hình 2.. S  l ng  ng viên đ c sinh ra trên d  li u Mushroom

ậ 2.5. Thu t toán CTU­PRO+

ậ ợ ậ Thu t toán CTU­PRO+ [III] cho khai phá t p l i ích cao đ ượ ả ế   c c i ti n

ậ ử ụ ượ ớ ừ t thu t toán CTU­PRO [23]  s  d ng mô hình CWU [II] đ c gi ệ   i thi u

ử ụ ẫ ợ ầ ậ ấ trong ph n 2.2. Thu t toán CTU­PRO+ s  d ng c u trúc cây m u l i ích

ầ ử ắ ầ ợ nén, các ph n t ế  trong cây s p x p tăng d n theo l ể i ích AU đ  các ph n t ầ ử

ợ ề ố ủ ậ ợ ượ ướ có l ẽ i ích cao s  là ti n t c a các t p l i ích và đ c khai phá tr c. Sau

ẽ ượ ậ ậ ạ ằ ừ ị ợ ủ đó, giá tr  CWU s  đ c c p nh t l i b ng cách tr  đi l ề   i ích c a các ti n

ượ ế ậ ớ ộ ố ấ ệ ố t đã đ c khai phá. Ti p theo, lu n án gi i thi u m t s  c u trúc và các

ướ ự ấ b c xây d ng các c u này.

ộ ố ấ 2.5.1. M t s  c u trúc

ậ ợ ể ả ệ ậ ọ Đ  thu n l i trong gi ư   i thích các khái ni m, minh h a thu t toán, đ a

ộ ơ ở ữ ệ ị ượ ễ ể ướ ạ ư B ngả ra m t c  s  d  li u giao d ch đ c bi u di n d ả i d ng b ng nh

ả ợ ầ ử ượ ả B ng 2.30 2.29. B ng l ủ i ích ngoài c a các ph n t đ c cho trong .

ầ ử ượ ỉ ố  Các ph n t trong CSDL đ c đánh ch  s  1, 2, 3,… theo th ứ

ự ầ t tăng d n theo AU.

98

ầ ử ả ồ  B ng ph n t chung – GlobalItemTable g m các ph n t ầ ử ứ     ng

ợ ố ượ ắ ế viên l ọ i ích có tr ng s  cao đ ầ c s p x p tăng d n theo AU. Trong

ự ệ ầ ả ầ ử ầ l n   duy t   CSDL   đ u   tiên   xây   d ng   b ng   ph n   t chung

ủ ầ ử (GlobalItemTable),   CWU   c a   các   ph n   t chính   là   TWU.   Trong

ầ ử ỉ ố ả ồ ợ b ng này g m: ch  s  (index), ph n t (item), l ộ ơ   i ích trên m t đ n

ầ ử ị ố ượ ổ ầ ử ủ ợ v  ph n t (utility), t ng s  l ng c a ph n t (quantity), l i  ích

ứ ọ ố ợ ự ế ủ ầ ử ng viên có tr ng s  (CWU), l i ích th c t c a ph n t (AU) và

ỏ ỏ ế ủ ẫ ố ợ con tr tr đ n g c c a nhánh trong cây m u l i  ích nén chung

(GlobalCUP­Tree).

ơ ở ữ ệ ả ọ ị B ng 2.. C  s  d  li u giao d ch minh h a

TU

Tid Gia o  d cị h

1 2 2 0 0 1 2 2 1 1 1 2 0 1 0 1 0 0 0 1 0 1 3 1 1 1 0 1 0 0 0 0 0 4 1 0 1 0 0 1 0 1 1 0 5 0 0 10 15 0 10 8 2 10 5 6 0 0 0 0 1 0 1 0 0 0 80 195 110 225 37 105 62 205 95 185

12 4 4 5 60 2 1299

ả ả ợ ầ ử ủ 1 2 3 4 5 6 7 8 9 10 T nổ g B ng 2.. B ng l i ích c a các ph n t

Item ợ L i ích 1 10 2 150 3 25 4 35 5 5 6 2

99

ẫ ỗ ợ  M i nút c a cây m u l ủ i  ích nén chung – GlobalCUP­Tree

ỉ ố ả ồ ươ ị ợ ứ bao g m: ch  s  (index), m ng CWU t ớ ng  ng v i giá tr  l i ích

ứ ỏ ứ ố ượ ố ủ ả ọ ậ ng viên có tr ng s  c a 1 t p, m ng con tr  ch a s  l ng t ươ   ng

ứ ủ ừ ầ ử ị ỏ ỏ ế ng c a t ng ph n t trong giao d ch, con tr đ n nút anh em tr

ỏ ỏ ế ứ cùng m c, con tr  tr  đ n nút cha.

ả ị  M ng CWU[] = {T0, T1,…, Tn}, trong đó Ti  là giá tr  CWU

ầ ử ừ ỉ ố ứ Hình ủ ậ c a t p ph n t t ế  nút ch  s  i đ n nút ch a T ụ i.Ví d , trong

ạ ủ ậ ị 2.16 t i nút  có CWU[2] = 185, đây là giá tr  CWU c a t p ph n ầ

ử ươ ầ ử ự ế ứ t ỉ ố  có ch  s  {245} t ớ ậ ng  ng v i t p ph n t th c t {152}.

Hình 2.. GlobalCUP­Tree và GlobalItemTable

ậ ầ ử ợ  T p I = HCWU trong ậ   {i1, i2,…, in} là t p h p các ph n t

ượ ạ ươ ứ ỉ ố ị giao   d ch   đ c   ánh   x   t ớ ng   ng   v i   các   ch   s trong

ẫ ợ ỉ ố GlobalItemTable, sau đó chèn các ch  s  index vào cây m u l i ích

100

ắ ầ ừ ủ ố ượ ỏ ở ỏ nén, b t đ u t nút g c c a nhánh cây đ c tr b i con tr PST

ủ c a ph n t i ầ ử 1 trong GlobalItemTable.

ướ ẫ ợ ự ượ c xây d ng cây m u l i ích nén đ c mô t ả ướ  d i đây: a. Các b

ướ ầ ử ự ả B c 1: Xây d ng b ng ph n t chung – GlobalItemTable

Procedure ConstructGlobalItemTable

Input:

ơ ở ữ ệ ị

­ D: C  s  d  li u giao d ch,  ưỡ ợ ố ­ minutil: ng i ích t ng l ể i thi u.

Output:

­ GlobalItemTable,

ậ ợ ­ T p l i ích cao 1­itemsets

For each t (cid:0)

t {

D { For each i (cid:0) If (i (cid:0)

ủ GlobalItemTable)  ố ượ Tăng s  l ng và CWU, AU c a i;

Else

ố ượ ủ Chèn i, s  l ng và CWU, AU c a i vào GlobalItemTable;

}

} For each i (cid:0) GlobalItemTable{

ạ ỏ

­ Lo i b  các item i có CWU(i) < minutil; ­ If (AU(i) ≥ minutil) In ra i;

ắ ầ

ế ỉ ố } ­ S p x p các item trong GlobalItemTable theo AU tăng d n; ­ Gán ch  s  index cho các item trong GlobalItemTable;

ả ử ưỡ ợ ố ể ơ ở ữ ệ ị Gi s  ng ng l i ích t

ầ ử ỏ ơ ưỡ ợ ả trong B ng 2.29 , ta có ph n t i thi u là 129.9, trong c  s  d  li u giao d ch   ố   i 6 có CWU là 99 nh  h n ng i ích t ng l

ự ệ ể ạ ắ ỏ ế   thi u   nên   lo i   6   kh i   GlobalItemTable.   Sau   đó   th c   hi n   s p   x p

ứ ự ế ầ GlobalItemTable theo th  t AU tăng d n. K t qu  nh ả ư Hình 2.16.

101

ướ ự B c 2: Xây d ng GlobalCUP­Tree

Procedure ConstructGlobalCUPTree

Input:

ơ ở ữ ệ ị

­ D: C  s  d  li u giao d ch; ­ GlobalItemTable.

Output:

­ GlobalCUP­Tree.

For each transaction t (cid:0) D {

mappedTrans = {}; For each i (cid:0) t

getIndex(i);

ỉ ố ủ ấ

mappedTrans = mappedTrans (cid:0) // L y ch  s  index c a i trong GlobalItemTable; ế ứ ự ắ ầ  tăng d n index;

­ S p x p mappedTrans theo th  t ­ G i ọ InsertToCUPTree(mappedTrans);

}

ủ ụ ẫ ợ Th  t c chèn mappedTrans vào cây m u l i ích nén (CUP­Tree)

Procedure InsertToCUPTree

Input:

ầ ử ượ ủ ậ đ c ánh x ạ ỉ ố ­ mappedTrans:  T p ch  s  index c a các ph n t

ớ v i GlobalItemTable;

Output:

ặ ­ CUP­Tree// GlobalCUPTree ho c LocalCUPTree

­ firstItem = mappedTrans[1];

ượ ỏ ở ố ủ c tr  b i GlobalItemTable[firstItem].PST;

­ currNode = nút g c c a nhánh cây đ For each next i (cid:0) mappedTrans{

If (currNode có con là i)

ố ượ ủ Tăng s  l ng, CWU[firstItem­1] c a nút con;

Else{

ố ượ ạ ị ­ T o nút con và gán giá tr  cho s  l ủ   ng và CWU[firstItem­1] c a

102

nó;

ứ ớ ế ớ ­ Liên k t v i nút anh em cùng m c v i nó – LinkSibling[i];

}

}

ụ ị ả ị ở B ng 2.29 Ví d , trong giao d ch 1 trong CSDL giao d ch có các ph nầ

ươ ứ ỉ ố ớ ử t 1, 3, 4 t ng  ng v i các ch  s  2, 1, 3 trong GlobalItemTable. Sau đó, ch ỉ

ượ ắ ế ầ ố s  1, 2, 3 đ c s p x p tăng d n thành 1, 2, 3 và chèn vào GlobalCUP­Tree.

ầ ừ ỉ ố ạ ằ ị T i nút có ch  s  3 thì CWU[1] = 80 vì giao d ch b ng đ u t ỉ ố  ch  s  1 và

ị ươ ả ỉ ố ủ ứ ươ ứ ế m ng các giá tr  t ng  ng c a ch  s  1, 2, 3 t ng  ng là 1, 2, 1. K t qu ả

ự xây d ng GlobalCUP­Tree nh ư Hình 2.16.

ưở ậ Ý t ng thu t toán CTU­PRO+

ự ượ Sau khi xây d ng đ ậ   c GlobalItemTable và GlobalCUP­Tree, thu t

ẽ ệ ự toán CTU­PRO+ s  duy t cây t ừ ướ  d i lên trên d a vào GlobalItemTable

ể ế ướ ơ ả ủ ư ậ đ  ti n hành khai phá. Các b ệ   c c  b n c a thu t toán nh  sau: (1) Duy t

ắ ầ ừ ỉ ố ớ ầ ử ấ cây t ừ ướ  d i lên trên v i ch  s  j b t đ u t ph n t ớ  có AU l n nh t. (2)

ử ụ ầ ử ế ấ ả ỉ ố ế ị S  d ng ph n t ậ  ch  s  j này, thu t toán chi u đ n t t c  giao d ch có

ề ố ầ ử ỉ ố ừ ti n t là ph n t ệ  ch  s  j. (3) Duy t GlobalCUP­Tree t nút có ph n t ầ ử

ề ố ỉ ố ự ể ố ch  s  j làm ti n t lên nút g c đ  xây d ng LocalItemTable và LocalCUP­

ầ ử ỉ ố ự ợ Tree cho ph n t ch  s  j. (4) Xây d ng HUP­Tree và tính l i ích th c t ự ế

ầ ử ể ư ậ ợ ệ ậ ủ c a các t p ph n t . (5) duy t HUP­Tree  đ  đ a ra t p l i ích cao. (6)

ậ ạ ậ ầ ử ế ậ ị C p nh t l i giá tr  CWU cho các t p ph n t ti p theo.

ậ ồ ướ Thu t toán CTU­PRO+ g m các b c chính sau:

ậ CTU­PRO+ Thu t toán 2.3. Procedure

Input:

103

­ GlobalItemTable,

­ GlobalCUP­Tree.

Output:

ầ ử ợ ậ ­ Các t p ph n t có l i ích cao

For each i (cid:0) GlobalItemTable{

ở ạ ớ ố ­ Kh i t o HUP­Tree v i i là nút g c;

­ Call ConstructLocalItemTable(i); ­ For each j (cid:0) LocalItemTable

If (CWU(j) ≥ minutil)

ủ Gán j là nút con c a i trong HUP­Tree;

­ Call ConstructLocalCUPTree(i);

­ Call RecMine(i);

ầ ử ệ ể ậ ợ ­ Duy t HUP­Tree đ  in t p ph n t có l i ích cao;

}

ướ ả ế ủ ụ ượ ọ ậ D i đây là mô t chi ti t các th  t c đ c g i trong thu t toán CTU­

PRO+:

ầ ử ự ả riêng – LocalItemTable ­ Xây d ng b ng ph n t

ỉ ố ụ ộ ấ C u trúc LocalItemTable: ch  s  c c b  ­ Local Index, mã ph n t ầ ử ố    g c

ố ượ ầ ử ố ố ượ ủ – Item id, s  l ng ph n t g c – Item Quantity, s  l ng c a ph n t ầ ử

ế chi u – Projection Index, CWU, AU.

Procedure ConstructLocalItemTable(x)

Input:

­ GlobalCUP­Tree

Output:

­ LocalItemTable For each occurrence of node x (cid:0) GlobalCUP­Tree{

104

PathtoRoot{

For each j (cid:0) If (j (cid:0) LocalItemTable)

ố ượ ủ Tăng s  l ng, CWU, AU c a j trong LocalItemTable

lên;

Else

ư ươ ứ ng, CWU, AU t ng  ng vào

ố ượ Đ a j và s  l LocalItemTable;

}

}

ụ ể ầ ử ả ự Ví d , đ  xây d ng b ng ph n t ỉ ố    riêng – LocalItemTable cho ch  s  5

ươ ứ ầ ử ệ ừ ẽ ố ể ỉ ố (t ớ ng  ng v i ph n t 2), s  duy t t nút có ch  s  5 lên g c đ  tính CWU,

ầ ử ệ ấ ầ ử ỉ ố AU cho các ph n t xu t hi n cùng ph n có t ỉ ố    ch  s  5. Ta có ch  s  2

ươ ứ ầ ử ệ ở ị (t ớ ng  ng v i ph n t ấ  1) xu t hi n 3 giao d ch nên có CWU({21}) = 205

+ 185 + 125 = 515 và AU({21}) = (1+1+1) * 150 + (1+1+2) *10 = 490. T ngươ

ầ ử ế ả ư Hình 2.17. ự ớ t , v i các ph n t khác và ta có k t qu  nh

105

ơ ở ữ ệ ế Hình 2.. Khai phá trên C  s  d  li u chi u

106

ẫ ợ ự i ích nén riêng – LocalCUP­Tree ­ Xây d ng cây m u l

ấ ả C u   trúc   nút   trong   LocalCUP­Tree:   mã   nút   (node­id),   m ng   CWU

ị ợ ứ ớ ố ủ ứ ậ ả ọ ươ t ng  ng v i giá giá tr  l i ích  ng viên có tr ng s  c a 1 t p, m ng con

ỏ ứ ố ượ ươ ầ ử ứ ừ ị tr  ch a s  l ng t ủ ừ ng  ng c a t ng ph n t trong t ng giao d ch (giá tr ị

ố ượ ố ầ ử ủ ế ố ượ s  l ng cu i cùng là s  l ng c a ph n t ỏ ỏ ế    hình chi u), con tr  tr  đ n

ỏ ỏ ế ứ nút anh em cùng m c, con tr  tr  đ n nút cha.

Procedure ConstructLocalCUPTree(x)

Input: GlobalCUP­Tree

Output: LocalCUP­Tree

GlobalCUP­Tree{

For each occurrence of x (cid:0) ở ạ Kh i t o mappedTrans; For each j (cid:0)

getIndex(j);

ắ ầ ỉ ố ươ ứ LocalItemTable to root mappedTrans = mappedTrans (cid:0) ế S p x p mappedTrans tăng d n theo ch  s  t ủ ng  ng c a ph n t ầ ử ;

Call InsertToCUPTree(mappedTrans)

}

ừ ơ ở ữ ệ ế c  s  d  li u hình chi u ­ RecMine ­ Khai phá t

ầ ử ố ỉ ố ế ấ ồ ỗ C u trúc HUP­Tree: m i nút g m ch  s  chi u, ph n t g c, giá tr  l ị ợ   i

ự ế ủ ậ ầ ử ỉ ố ủ ế ộ ố ích th c t c a t p ph n t . Nút g c là nút ch  s  chi u i c a m t ph n t ầ ử

ị ợ trong GlobalItemTable và giá tr  l ủ i ích c a nó.

ưở ầ ử ự ộ Ý t ng: sau khi xây d ng xong LocalItemTable cho m t ph n t có

ỉ ố ế ẽ ch  s  chi u i s  gán các ph n t ầ ử (cid:0)  j LocalItemTable trong HCWU là con

ỉ ố ị ợ ế ố ồ ờ ủ c a nút g c ch  s  chi u i, đ ng th i tính luôn giá tr  l i ích th c t ự ế ủ ủ    c a c a

ầ ử ầ ử ố ậ ớ ủ ơ ớ ậ t p hai ph n t (ph n t ầ    g c và con c a nó). V i các t p l n h n hai ph n

ệ ẽ ừ ỉ ố ủ ế ử t thì s  duy t LocalCUP­Tree t ế    các nút con c a ch  s  chi u i lên đ n

ể ậ ậ ớ ữ   ị ố g c đ  tìm các t p m i và tính giá tr  CWU cho các t p đó. Sau đó nh ng

107

ầ ử ủ ớ ơ ớ ph n t ẽ  nào có CWU l n h n minutil s  đính kèm v i con c a nút ch  s ỉ ố

ế chi u i.

Procedure RecMine(x)

Input:

­ LocalItemTable;

­ LocalCUP­Tree

Output:

­ HUP­Tree

For each child i (cid:0) x

LocalCUP­Tree

CWU[i] = 0; For each occurrence i (cid:0) For each j (cid:0) PathtoRoot

ị ủ Tăng giá giá tr  CWU c a j trong LocalCUP­Tree;

For each k (cid:0) LocalItemTable

If (CWU(k) ≥ minutil)

ủ ủ Tính AU c a k và gán là con c a i trong HUP­Tree

RecMine(i);

}

ậ ạ ậ ị i giá tr  CWU ­ C p nh t l

ậ ợ ớ ề ố ẽ ậ ậ ạ Sau khi khai phá các t p l i ích cao v i ti n t i, s  c p nh t l i giá tr ị

ừ ằ ợ ề ố ủ ừ CWU b ng cách tr  đi l ủ i ích c a ti n t ấ    i trên t ng nhánh c a cây có xu t

ầ ử ệ ụ ạ hi n ph n t i. Ví d , t i nút  trên GlobalCUP­Tree trong Hình 2.16 sau

ấ ả ậ ợ ớ ề ố ầ ử ỉ ố khi khai phá t t c  các t p l i ích cao v i ti n t là ph n t ầ    ch  s  5 (ph n

ị ạ ầ ử ỉ ố ử ố t ể  g c là 3) thì chuy n các giá tr  còn l i lên nút cha (ph n t ch  s  4) nh ư

sau:

ầ ử ỉ ố ể ­ Chuy n ph n t ch  s  4 có CWU({4}) = 225 – 150 = 75 và s  l ố ượ   ng

= 15 lên nút cha.

108

ầ ử ậ ỉ ộ ỉ ố ­ T p ph n t ch  s  {234} đã có trên nút cha nên ch  g p các giá tr ị

ố ượ ụ ể ớ CWU và s  l ng v i nút cha. C  th , CWU({234}) = 200 + (205 – 150) =

ố ượ ươ ứ 255 và s  l ng t ng  ng là 3+1, 2+ 1, 20 +2.

ế ử ụ N u s  d ng mô hình TWU ta có TWU({4}) = 225 và TWU({234}) =

ộ ưỡ ứ ầ ơ 200 + 205 = 405. Đây là m t ng ng cao h n m c c n thi ế ể ắ ỉ ứ   t đ  c t t a  ng

viên.

ươ ự ế T ng t , cho các nút  và , ta có k t qu  sau khi khai phá t p l ả ậ ợ   i

ớ ề ố ầ ử ỉ ố ích cao v i ti n t là ph n t ch  s  5 nh ư Hình 2.18.

ỉ ố ử ầ   Hình 2.. GlobalCUP­Tree và GlobalItemTable sau khi khai phá các t p ph n  có ch  s  5 t

ể ậ ị ­ Hi n th  các t p HU

ứ ự ợ ự ế ủ Sau khi xây d ng cây HUP ch a các giá l i ích th c t ậ    c a các t p.

ẽ ế ị ợ ể ệ ậ Khi đó s  ti n hành duy t cây và ki m tra t p nào có giá tr  l ơ   ớ i ích l n h n

ị ợ ố ể ể ị giá tr  l i ích t i thi u minutil thì hi n th .

109

ộ ứ ạ ậ 2.5.2. Đ  ph c t p tính toán thu t toán CTU­PRO+

ệ ề ứ ạ ủ ậ ộ Đ  ph c t p c a thu t toán CTU­PRO+ trong tr ườ   ng M nh đ  2.5.

2n), trong đó n là t p t

ấ ấ ậ ấ ả ầ ử ổ ợ h p x u nh t là O(2 t c  các ph n t ; m là t ng s ố

ầ ử ố ị ấ ả ị ổ giao d ch và v là t ng s  các ph n t trong t t c  các giao d ch.

ứ Ch ng minh:

+ là t

ườ ấ ấ ậ ợ ấ ả Tr ng h p x u nh t cho thu t toán CTU­PRO t c  các ph n t ầ ử

ấ ả ự ế ợ ủ ệ ấ ậ ề đ u là các t p HCWU, t t c  s  k t h p c a nó xu t hi n trong m giao

+ có 3 b

ấ ả ề ồ ạ ậ ị d ch và là t t c  các nhánh đ u t n t i. Thu t toán CTU­PRO c:ướ

ẫ ợ ự ậ ụ ể ư tìm t p HCWU, xây d ng cây m u l i ích nén và khai phá. C  th  nh  sau:

ậ ợ ể + Chi phí đ  tìm t p l i ích cao là v + n.

ự ể ầ + Chi phí đ  xây d ng GlobalCUP­Tree c n:

ầ ử ế ắ ấ ầ ử ị ớ ­ S p x p n (l n nh t là n ph n t trong 1 giao d ch) ph n t trong

2 ;

ị m giao d ch là m * n

­ Chèn 2n­1 nút vào cây.

k (2 ≤ k

ậ ợ ể ỗ ậ ứ ớ + Đ  khai phá t p l i ích cao, v i m i t p  ng viên cao HCWU

ệ ự ≤ n) th c hi n:

ự ầ ừ ­ Xây d ng LocalCUP­Tree c n duy t 2 ệ (k­2) nút t GlobalCUP­Tree;

(n­k)­1) nhánh và 2(n­k) t p  ng ậ ứ

ề ấ ­ Cây LocalCUP­Tree có nhi u nh t (2

viên;

2 và chi phí chèn

ầ ử ớ ế ỗ ầ ắ ­ M i nhánh c n s p x p k ph n t v i chi phí là k

ầ ử k ph n t vào cây LocalCUP­Tree là k.

ườ ợ ồ Nên chi phí khai phá trong tr ng h p t ấ i nh t là .

+ là (v + n) + (v

ộ ứ ạ ủ ậ ậ Do v y, đ  ph c t p tính toán c a thu t toán CTU­PRO

+ m * n2 + 2n­1) +  = O(22n).

110

ử ụ ậ ấ ươ ự ư Thu t toán CTU­PRO+ s  d ng c u trúc cây CUP t ng t ậ    nh  thu t

2n). Nh ng thu t toán

ứ ạ ộ ư ậ toán CTU­PRO [23] và có cùng đ  ph c t p là O(2

ử ụ ượ ứ ố ơ CTU­PRO+ s  d ng mô hình CWU đã đ c ch ng minh t ắ   t h n trong c t

ế ả ớ ỉ ứ t a  ng viên, gi m không gian tìm ki m so v i mô hình TWU đ ượ ử ụ   c s  d ng

ọ ườ ậ ậ ợ trong thu t toán CTU­PRO. Do v y, trong m i tr ậ ng h p thu t toán CTU­

ề ố ơ ư ế ậ PRO+ đ u t ề ờ t h n thu t toán CTU­PRO v  th i gian tính toán nh  k t qu ả

ự ệ ầ trong ph n th c nghi m.

ả ự ế ệ 2.5.3. K t qu  th c nghi m

ế ệ ầ ậ ả ự Trong ph n này, so sánh k t qu  th c hi n thu t toán CTU­PRO+ s ử

ậ ớ ụ d ng mô hình CWU v i thu t toán Two Phase [39], CTU­PRO [23].

ườ ữ ệ ng và d  li u ­ Môi tr

ậ ượ ự ệ Thu t toán đ ớ   c th c hi n trên máy tính IBM core 2 due 2.4GHz v i 2

ạ ộ ớ ươ ượ ế ằ GB b  nh , ch y trên Windows 7. Ch ng trình đ c vi t b ng Visual C+

ữ ệ ử ệ ồ ượ + 2010. D  li u th  nghi m g m: T5N5D100K và T10N5D100K đ c sinh

ộ ữ ệ ữ ệ ủ ủ ể ặ ượ ả ừ ộ t b  sinh d  li u c a IBM. Đ c đi m c a b  d  li u đ c mô t phía

d i: ướ

Database T5N5D100K T10N5D100K T 5 10 D 100.000 100.000 N 1.000 1.000

ầ ử ố ộ ố ị trong đó T – s  ph n t trung bình trong m t giao d ch; N – s  ph n t ầ ử

ố ị khác nhau; D – s  giao d ch.

ộ ữ ệ ị ợ ư ề ừ Các b  d  li u này đ u ch a có giá tr  l i ích ngoài cho t ng ph n t ầ ử    và

ỉ ị ế ầ ử ố ượ ệ ấ ậ trong các giao d ch ch  cho bi t ph n t xu t hi n. Do v y, s  l ng cho

ầ ử ỗ ỗ ị ượ ẫ ớ ị m i ph n t trong m i giao d ch đ c sinh ng u nhiên v i giá tr  thu c t ộ ừ    1

ợ ầ ử ừ ỗ ế đ n 10 và l ủ i ích ngoài c a m i ph n t t ế  0.1 đ n 10. Hình 2.19 cho bi tế

ổ ợ ệ vi c phân b  l ủ i ích ngoài c a các ph n t ầ ử .

111

ố ợ ể ồ ầ ử Hình 2.. Bi u đ  phân b  l ủ i ích ngoài c a các ph n t trên T5N5D100K

ố ứ ự ệ ờ ­ Th i gian th c hi n và s   ng viên

+  v i  các ớ

ả ự ữ ệ ế ậ K t  qu  th c  nghi m,  so   sánh  gi a  thu t   toán  CTU­PRO

ộ ữ ệ ậ ượ thu t toán  TwoPhase,  CTU­PRO  trên b  d  li u T5N5D100K  đ c  th ể

ệ ự ệ ề ờ hi n trong ổ   Hình 2.20 v  so sánh th i gian th c hi n khai phá khi thay đ i

ưỡ ợ ố ự ệ ng ng l i ích t i thi u. ề ờ ể Hình 2.21 so sánh v  th i gian th c hi n khai phá

ổ ưỡ ợ ố ơ ở ữ ệ ể khi thay đ i ng ng l i ích t i thi u trên c  s  d  li u T10N5D100K.

ữ ệ ự ờ ệ Hình 2.. Th i gian th c hi n trên d  li u T5N5D100K

112

ữ ệ ự ờ ệ Hình 2.. Th i gian th c hi n trên d  li u T10N5D100K

ế ậ ươ 2.6. K t lu n ch ng

ươ ứ ề ậ ả Ch ậ   ế ng 2, lu n án đã trình bày các k t qu  nghiên c u v  khai phá t p

ậ ợ ề ệ ầ ấ ả ợ l i ích cao. Đ u tiên, đ  xu t mô hình hi u qu  cho khai phá t p l i ích cao

ờ ề ỉ ố ự ậ ả ấ ồ ­ CWU [II] đ ng th i đ  xu t thu t toán HP [II] d a trên b ng ch  s . Tính

ủ ắ ượ ứ ị Đ nh lý 2.1 đúng đ n c a mô hình CWU đ c ch ng minh qua ị  và Đ nh lý

ố ượ ứ ượ ừ ỏ ơ 2.2. S  l ng  ng viên đ c sinh t ặ    mô hình CWU luôn nh  h n ho c

ể ệ ệ ề ệ ề M nh đ  2.1 ằ b ng mô hình TWU th  hi n qua và M nh đ  2.2 . K t quế ả

ự ệ ụ ậ ấ th c nghi m t ừ Hình 2.3­2.7 cho th y thu t toán HP áp d ng mô hình CWU

ố ượ ậ ứ ự ệ ơ ơ ờ cho s  l ậ   ng t p  ng viên ít h n và th i gian th c hi n nhanh h n thu t

ơ ở ữ ệ toán   Two   Phase  [39]  và   PB  [15]  trên   c   s   d   li u   T30I4D100K   và

Mushroom.

ề ế ấ ậ Ti p theo, đ  xu t thu t toán song song PPB [V] trên mô hình chia s ẻ

ậ ợ ớ ỉ ố ế ợ ộ b  nh  khai phá t p l i ích cao ử ụ s  d ng ch  s  hình chi u, danh sách l i ích

ươ ị ợ ữ ư ầ ử ị ộ và m t ph ng pháp l u tr  giá tr  l ủ i ích c a ph n t trên các giao d ch đ ể

ợ ế tính nhanh giá tr  ị iutil và rutil trong danh sách l i ích. ệ   ả ự  K t qu  th c nghi m

ố ượ ự ệ ấ ơ ờ ừ Hình 2.12­2.15 cho th y th i gian th c hi n nhanh h n và s  l t ứ   ng  ng

ộ ố ậ ơ ớ ơ ở ữ ệ   viên   sinh   ra   ít   h n   so   v i   m t   s   thu t   toán   khác   trên   c   s   d   li u

T30I4D100K và Mushroom.

113

ầ ố ươ ề ậ ậ ấ Ph n cu i ch ng, lu n án đ  xu t thu t toán CTU­PRO+ [III] đ ượ   c

ậ ử ụ ẫ ợ ả ế ừ c i ti n t thu t toán CTU­PRO [23] s  d ng cây m u l i ích nén ở ộ ố   m t s

ứ ự ả ầ ợ ự ệ ể ầ ử đi m: th c hi n khai phá theo th  t gi m d n l ủ i ích c a ph n t , thay

ử ụ ủ ả ổ ấ đ i c u trúc c a b ng GlobalItemTable và LocalItemTable, s  d ng mô

ể ả ố ượ ậ ứ ử ế ệ ừ Hình hình CWU đ  gi m s  l ng t p  ng viên. K t qu  t ả h  nghi m t

ậ ậ ớ 2.20  và  Hình 2.21  so sánh thu t toán CTU­PRO+ v i hai thu t toán Two

ơ ở ữ ệ ờ Phase [39] và CTU­PRO [23] trên c  s  d  li u T5N5D100K cho th i gian

ự ệ ơ th c hi n nhanh h n.

114

ƯƠ Ậ Ợ Ậ CH NG 3. THU T TOÁN KHAI PHÁ T P L I ÍCH CAO

Ợ Ấ TRÊN CÂY DANH SÁCH L I ÍCH VÀ C U TRÚC

RTWU

ươ ệ ề ậ ả ấ ộ Trong ch ng 2, lu n án đã đ  xu t m t mô hình CWU hi u qu  cho

ậ ợ ụ ậ khai phá t p l i ích cao và áp d ng mô hình này vào các thu t toán HP,

ươ ắ ỉ ề ệ ậ CTU­PRO+. Trong ch ấ ấ ng này, lu n án đ  xu t c u trúc c t t a hi u qu ả

ậ ợ ầ ậ ậ ứ t p  ng viên và thu t toán khai phá t p l ụ ể i ích cao. C  th  ph n 3.1 đ ề

ấ ấ ẫ ợ xu t c u trúc cây m u l ế ợ   i ích nén (Compressed Utility Pattern – CUP) k t h p

ợ ậ ợ ậ danh sách l i ích và thu t toán HUI­Growth [IV] khai phá t p l i ích cao đ ượ   c

ầ ầ ề ấ ấ ắ ỉ ệ trình bày trong ph n 3.2. Trong ph n 3.3, đ xu t c u trúc c t t a hi u qu ả

ầ ự ự ậ ậ ứ t p  ng viên – RTWU [VI], xây d ng thu t toán tu n t ­ EAHUI­Miner

ậ ợ ậ [VI] và thu t toán song song – PEAHUI­Miner [VI] khai phá t p l i ích cao

ấ ượ ự d a trên c u trúc RTWU đ c trình bày trong 3.3 và 3.4.

ữ ệ ậ ợ ệ ấ ả 3.1. C u trúc d  li u hi u qu  cho khai phá t p l i ích cao

ậ ợ ậ ử ụ ấ Trong thu t toán khai phá t p l i ích cao s  d ng c u trúc cây có

ư ỗ ỉ ư ữ ế ạ ộ nh ng h n ch  nh  m i nút trên cây ch  l u tr ữ ượ  đ c m t ph n t ầ ử ẫ   , d n

ơ ữ ầ ử ả ượ ắ ế đ n kh  năng nén không cao. H n n a, các ph n t trong cây đ ế   c s p x p

ơ ắ ẽ ề ế ầ ả ả ố ầ   gi m d n theo TWU nên s  nút trong cây s  nhi u h n s p x p gi m d n

ữ ư ế ầ ấ ố theo t n su t, làm t n không gian l u tr  và tìm ki m.

ậ ợ ự ậ ộ Năm 2012, Liu và c ng s  [38] trình bày thu t toán khai phá t p l i ích cao

ứ ậ ả ử ụ không sinh viên  ng viên. Trong thu t toán nhóm tác gi ấ  s  d ng c u trúc danh

ợ ủ ậ ể ư ầ ử sách l ữ i ích (utility­list) đ  l u tr  thông tin c a t p ph n t ắ ỉ    và thông tin c t t a

ế ậ ượ ố ơ ả ề ờ không gian tìm ki m. Đây là thu t toán đ c đánh giá t t h n c  v  th i gian

ử ụ ự ệ ậ ộ ớ ớ th c hi n nhanh và s  d ng b  nh  so v i thu t toán UP­Growth [62] và UP­

Growth+ [60].

115

ụ ư ụ ữ ế ể ắ ạ ấ ậ ể   Đ  kh c ph c nh ng h n ch  trong c u trúc cây và t n d ng  u đi m

ợ ộ ấ ầ ậ ủ c a danh sách l ẫ   i ích, trong ph n này lu n án trình bày m t c u trúc cây m u

ế ợ ợ ỗ ợ l i ích nén (CUP) k t h p danh sách l ứ ậ   i ích [IV], trong đó m i nút ch a t p

ầ ử ợ ể ắ ỉ ủ ệ ấ ph n t và danh sách l ả ậ   i ích c a nó. C u trúc này có th  c t t a hi u qu  t p

ứ ư ữ ả ế ng viên làm gi m không gian tìm ki m và l u tr . Trong cây các ph n t ầ ử

ệ ế ả ầ ầ ấ ấ ả ấ ố ượ ắ đ ệ   c s p x p gi m d n theo t n su t xu t hi n, làm gi m s  nút xu t hi n

ệ ắ ế ả ự ế ệ ấ ớ ậ   trong cây so v i vi c s p x p theo TWU. K t qu  th c nghi m cho th y thu t

ự ệ ậ ơ toán HUI­Growth [IV] th c hi n nhanh h n các thu t toán UP­Growth [62],

d2HUP [37], HUI­Miner [38].

ể ậ ả ư ệ ậ ệ Đ  thu n ti n trong gi i thích các khái ni m, lu n án đ a ra m t c  s ộ ơ ở

ị ả ợ ủ B ng 3.1 ả ầ ử B ng 3.2. ữ ệ d  li u giao d ch – ả  và B ng l i ích c a các ph n t ­

Tid

Giao dịch

T1

b:1, c:2, d:1, g:1

T2

a:4, b:1, c:3, d:1, e:1

T3

a:4, c:2, d:1

T4

c:2, e:1, f:1

T5

a:5, b:2, d:1, e:2

T6

a:3, b:4, c:1, f:2

T7

d:1, g:5

Bảng 3.. Bảng lợi ích của các phần tử

ả ị ơ ở ữ ệ B ng 3.. C  s  d  li u giao d ch

G A b c d e f

Ph nầ   tử ợ L i ích 1 2 1 5 4 3 1

ầ ử ỏ ơ ợ ố ạ Sau   khi   đã   lo i   các   ph n   t có   TWU   nh   h n   l i   ích   t ể   i   thi u

ầ ử ế ệ ầ ầ ấ ả ắ (minutil=30) và s p x p các ph n t ấ  theo t n su t xu t hi n gi m d n ta

ượ ế ả ư B ng 3.3 đ ả ơ ở ữ ệ c k t qu  c  s  d  li u nh .

Tid

Giao dịch

TU

1

c:2, d:5, b:2

9

2

c:3, d:5, a:4, b:2, e:4

18

3

c:2, d:5, a:4

11

ả ị ượ ắ B ng 3.. CSDL giao d ch đã đ c s p.

116

4

c:2, e:4

6

5

d:5, a:5, b:4, e:8

22

6

c:1, a:3, b:8

12

7

d:5

5

3.1.1. Mô tả cấu trúc cây CUP

ẽ ệ ầ ậ ấ Trong ph n này, lu n án s  trình bày khái ni m, c u trúc cây CUP.

ượ ả ế ằ ậ ở ự Quá trình xây d ng cây CUP đ c mô t chi ti t b ng thu t toán ầ    ph n

cu i. ố

(cid:0) ị ầ ử ậ ợ ị ậ [IV] Cho t p ph n t A ( giao d ch T), t p h p các Đ nh nghĩa 3.1.

ầ ử ầ ử ầ ủ ệ ph n t phía tr ướ ớ c t i ph n t đ u tiên c a A trong T ký hi u pri(A, T),

ượ ị đ c đ nh nghĩa là pri(A, T) = {i | i (cid:0) T (cid:0)  i ≻ A.first_item}.

(cid:0) ị ậ ợ [IV] Cho t p A ( ị  giao d ch T), l i ích tr ướ ủ ậ   c c a t p Đ nh nghĩa 3.2.

ệ ổ ị ợ ủ ấ ả A trong giao d ch T, ký hi u au(A, T), là t ng l i ích c a t t c  các ph n t ầ ử

trong pri(A,T) và

ị ầ ử ợ ướ ủ ậ [IV] Cho t p ph n t A, l i ích tr ệ   c c a A ký hi u Đ nh nghĩa 3.3.

ổ ợ ướ ủ ấ ả ứ au(A), là t ng l i ích tr c c a A trong t ị t c  các giao d ch có ch a A,

ị ủ ậ ộ [IV]  TList(X) c a t p X là m t danh sách các giao Đ nh nghĩa 3.4.

ứ ậ ị d ch Tid có ch a t p X.

ị ồ [IV] Nút N trên cây CUP bao g m N.Itemset, N.IUtil, Đ nh nghĩa 3.5.

N.RUtil,   N.TList,   N.UList,   N.Parent,   N.Links   và   N.Childs,   trong   đó

ầ ử ủ ị ợ ậ ủ N.Itemsets là t p ph n t c a nút, N.IUtil là giá tr  l i ích c a N.Itemsets,

ợ ạ ủ ị N.RUTil là l i ích còn l i c a N.Itemsets, N.TList là danh sách các giao d ch

ứ ộ ợ ủ ừ ầ ử ch a N.Itemsets, N.UList là m t danh sách l i ích c a t ng ph n t trong

ươ ỏ ỏ ế ủ ứ ớ N.Itemsets t ng  ng v i N.TList, N.Parent là con tr  tr  đ n cha c a nút

117

ầ ử ỏ ỏ ế N, N.Links là danh sách con tr  tr  đ n các nút có cùng các ph n t trong

ỏ ỏ ế ủ cây, N.Childs là danh sách con tr  tr  đ n các nút con c a nó.

ệ ủ ầ ử ầ ấ ấ ể ượ T n su t xu t hi n c a các ph n t trong N.Itemsets có th  đ c xác

ố ượ ủ ị đ nh thông qua s  l ng tid trong TList c a nút.

ị ỏ ỏ ế ố ồ [IV] Cây CUP có nút g c g m các con tr  tr  đ n các Đ nh nghĩa 3.6.

ừ ủ ế ố ượ ắ ứ ự ầ ế con c a nó. T  nút g c đ n nút N đ c s p x p theo th  t ấ   ấ  t n su t xu t

ế ầ ệ ế ệ ầ ả ấ ắ ằ ấ hi n gi m d n. N u t n su t xu t hi n b ng nhau, s p x p theo th  t ứ ự ừ   t

ầ ử ể ượ ắ ế ầ ả đi n. Các ph n t trong N.itemsets cũng đ ầ   c s p x p gi m d n theo t n

ệ ấ ấ su t xu t hi n.

ệ ể ộ ả ứ Đ  duy t cây CUP t ừ ướ  d i lên, m t b ng (HeaderTable) ch a các con

ỏ ỏ ế ồ ủ tr  tr  đ n nút ngoài cùng bên trái c a cây CUP g m: Item, TWU, SupCnt,

Link.

ụ ư ầ ử ậ ồ Ví d , nh  trong Hình 3.1 g m có t p ph n t {cd} có RUtil({cd}) = 0;

ươ ứ TList({cd}) = {1, 2, 3}; UList({cd}) = ([2, 3, 2], [5, 5, 5]) t ng  ng là UList

ươ ứ ớ ị ủ c a c và d t ng  ng v i các giao d ch 1, 2, 3.

ụ ề Hình 3.. Ví d  v  nút trong cây CUP

ự ồ ướ ượ Quá trình xây d ng cây CUP g m các b c đ c mô t ả ở ướ  d i. Đ ể

ậ ả ỉ ả ầ ử ơ đ n gi n trong lu n án ch  mô t quá trình chèn các ph n t vào cây, còn

ẽ ượ ầ ị ả các ph n tính toán các giá tr  RUtil, TList, UList s  đ c mô t ầ    trong ph n

ả mô t ậ  thu t toán.

118

ướ ệ ữ ệ ầ ộ ỗ ợ ể ế B c 1, duy t d  li u l n 1 đ  đ m đ  h  tr  (support) và tính TWU

ầ ử ừ cho t ng ph n t .

ệ ừ ầ ử ư ớ ơ ướ B c 2, ị  duy t t ng giao d ch, đ a các ph n t có TWU l n h n ng ưỡ   ng

ố ắ ế ầ ử ả ể ợ l i ích t i thi u vào danh sách. Sau đó s p x p các ph n t ầ   ầ  gi m d n theo t n

su t. ấ

ướ ự B c 3, xây d ng cây CUP.

ư ừ ự ệ ằ ị Th c hi n chèn b ng cách l u t ng giao d ch vào danh sách ph n t ầ ử    và

ầ ử ắ ầ ừ ư ố chèn danh sách ph n t này vào cây b t đ u t nút g c nh  sau:

ướ ệ ạ ủ ể B c 3.1, ki m tra các nút con N c a nút hi n t i và so sánh các ph n t ầ ử

ầ ử ớ ạ ớ ả trong N.Itemset v i các ph n t trong danh sách chèn còn l i v i các kh  năng

ư ả x y nh  sau:

ế ấ ả ầ ử ố ­ N u t t c  các ph n t ỉ  gi ng nhau thì ch  thêm tid vào TList.

ầ ử ầ ề ế ặ ạ ố ­ N u không có 1 ho c nhi u ph n t đ u tiên gi ng nhau thì t o nút

ệ ạ ồ ầ ử ớ ạ ủ m i là con c a nút hi n t i g m: itemsets là các ph n t còn l i trong danh

sách.

ầ ử ầ ề ế ộ ố ặ ­ N u có m t ho c nhi u ph n t đ u tiên gi ng nhau thì nút N ch ỉ

ầ ử ầ ố ạ ủ ồ g m ph n gi ng nhau, các ph n t khác nhau còn l ộ   i c a nút N thành m t

ầ ử ủ ầ ử ủ nút con c a nút N, các ph n t khác nhau c a danh sách ph n t còn l ạ   i

ủ ộ thành m t nút con c a nút N.

ụ ọ 3.1.2. Ví d  minh h a cây CUP

ớ ơ ở ữ ệ ự ầ ọ Trong ph n này minh h a quá trình xây d ng cây v i c  s  d  li u giao

ả ệ ể ạ ỏ ớ B ng 3.1 ị d ch trong v i minutil = 30. Sau khi duy t đ  lo i b  các ph n t ầ ử

ắ ế ỏ ơ ả ấ ầ ấ ầ có TWU nh  h n minutil và s p x p gi m d n theo t n su t xu t hi n đ ệ ượ   c

ả ả ư B ng 3.3. ế k t qu  nh

119

ướ ả ị ư Hình ọ D i đây là các hình  nh minh h a chèn giao d ch vào cây CUP nh

3.2.

1, T2

ị Hình 3.. Cây CUP sau khi chèn giao d ch T

ệ ươ ự ự ớ ị ạ ế ả Th c hi n t ng t v i các giao d ch còn l ự   i, k t qu  sau khi xây d ng

ượ ụ cây ta đ c cây CUP toàn c c nh ư Hình 3.3.

120

Hình 3.. Cây CUP toàn c cụ

ượ ả ế ự Quá trình xây d ng cây CUP đ c mô t chi ti ư t nh  sau:

Procedure ConstructGlobalCUPtree()

Input:

ưỡ ợ ­ D ­ CSDL giao d ch,  ợ ả ­ B ng l ­ minutil ­ ng ị ầ ử ỗ ,  i ích m i ph n t ể ố i thi u i ích t ng l

Output:

­ Cây CUP toàn c cụ ạ ả

//Tính TWU và t o b ng HeaderTable (Htable) For each t (cid:0)

t {

D { For each i (cid:0) If (i (cid:0)

Htable) {  Htable.TWU(i) = Htable.TWU(i) + TU(t); SupCnt(i) = SupCnt(i) + 1;

} If (i (cid:0)

HTable) Chèn (i, 1, TU(t)) vào Htable

121

}

} ListEraseItems =  For each item (cid:0) Htable

If (TWU(i) < minutil)

ListEraseItems = ListEraseItems (cid:0) item;

ỗ ế ừ

ố ớ

ộ ỗ ợ ả ầ

//N u Htable r ng thì d ng If Empty(Htable), Exit(1); ự // Xây d ng cây ạ T o nút g c T v i T.Itemsets = NULL; ắ ế S p x p HeaderTable gi m d n theo đ  h  tr  (SupCnt) For each t (cid:0)

t

D { For each i (cid:0) If (i (cid:0)

ạ ỏ ỏ ListEraseItems)  ầ ử Lo i b  ph n t i kh i ListEraseItems;

ầ ử ế ắ ạ ầ ả ị ­  S p x p các ph n t còn l i trong giao d ch t gi m d n theo

SupCnt;

­ InsertCUPtree(t.itemset, T, tid, 0);  ế } // K t thúc hàm ConstructGlobalCUPtree()

ủ ụ ị ượ ắ ầ ử ả ế ộ Th  t c chèn m t giao d ch đã đ c s p x p các ph n t ầ    gi m d n

ượ ướ theo SupCnt đ c trình bày d i đây.

Procedure InsertCUPtree(P, T, tid, RU)

Input:

ầ ử ượ ắ ế ầ ấ ­ P – danh sách ph n t đã đ c s p x p theo t n su t;

­ T – nút hi n t

ệ ạ   i, ị tid – id giao d ch, ­

ị ợ ạ ị ­ RU – giá tr  l i ích còn l i trong giao d ch tid.

Output:

­ Cây CUP đã chèn danh sách P

, return;

ấ ả ầ ử ố t c  các ph n t trong itemsets gi ng các

If P = (cid:0) ế //N u T có 1 nút con N có t ầ ử ph n t trong P

122

For each ch (cid:0) T.childs {

N = T.childs[ch];

If (N.Itemsets

P;

P) {≡ ­ Thêm tid vào N.TList; ­ Thêm U(i,tid) vào N.UList(i), v i iớ (cid:0) ­ N.IUtil = N.IUtil + ;

­ N.RUtil = N.RUtil + RU;

P.first_item) {

} Else If (N.Itemsets.first_item (cid:0) ủ ầ ử ầ ạ ố đ u nào c a N.itemsets và P gi ng nhau. T o nút

ủ ớ //Không có ph n t m i làm con c a nút N

1; ­ T o nút m i N ­ N1.Itemsets = P;

ạ ớ

P;

­ Thêm Tid vào N1.TList; ­ Thêm U(i,tid) vào N1.UList(i), v i iớ (cid:0) ­ N1.IUtil = ; ­ N1.RUtil = RU;

­ N1.parent = N; ­ N1.hlinks[] = nút M sao cho N.item = M.item;

}

ố ầ ầ ử ầ Else {  //Có các ph n t

P.header}  N.Itemsets_header (cid:0)  i (cid:0) Xk};  P.header (cid:0)  i (cid:0) Xk}; ) {

ạ ớ ph n đ u gi ng nhau ­ Xk = {i | i(cid:0) N.Itemsets_header (cid:0)  i (cid:0) ­ Itemset1 = {i | i (cid:0) ­ Itemset2 = {i | i (cid:0)  (cid:0) ­ If (Itemset1 (cid:0) + T o nút m i N ầ ử (cid:0) N và (cid:0) ứ 1; //Nút N1 ch a các ph n t

Xk

+ N1.Itemset = Itemset1; + N1.TList = N.TList;

+ N1.UList(i) = N.UList(i); + N1.IUtil=N.IUtil ­ ;

+ N1.RUtil = N.RUtil + ;

123

+ N1.parent = N;  ể + Chuy n N.childs thành N1.childs;

ồ ầ ử ố } //Nút N g m các ph n t gi ng nhau X k

(cid:0) Xk;

­ N.Itemsets = Xk; ­ Thêm tid vào N.TList;  ­ Xóa N.UList(i), v i i ớ (cid:0) ­ Thêm U(i,tid) vào UList(i), v i i ớ (cid:0) Xk;  ­ N.IUtil= N.IUtil +  – N1.IUtil; ­ N.RUtil = N.RUtil + RU;

­ RU = ; ­ P = P \ Xk;

­ T = N;

2;

) { ớ ạ ­ InsertCUPtree(P, T, tid, RU);  (cid:0) ­ If (Itemset2 (cid:0) + T o nút m i N

+ N2.Itemset = Itemset2; + Thêm tid vào N2.TList;  + Thêm U(i,tid) vào N2.UList(i), v i i ớ (cid:0) P;  + N2.IUtil = ;

+ N2.RUtil = RU;

ế } //K t thúc If

ế } //K t thúc Else

ế }//K t thúc For

ậ 3.2. Thu t toán HUI­Growth

ự ậ ợ ượ Sau   khi   xây   d ng   cây   CUP,   các   t p   l i   ích   cao   đ ằ   c   tìm   ra   b ng

ươ ệ ươ ự ư ậ ph ng pháp đ  quy t ng t nh  thu t toán FP­Growth [30]. Quá trình

ậ ợ ượ ự khai phá t p l i ích cao trên cây CUP đ c duy t t ệ ừ ướ  d ả   i lên d a vào b ng

ầ ầ ấ ộ ố HeaderTable.   Đ u   tiên,   l y   m t   ph n   t a ả   ử i  cu i   cùng   trong   b ng

ự ỏ ể HeaderTable, d a vào con tr  liên k t c a a ỏ ế ủ i tr  vào nút N ẫ   i đ  tìm các m u

ệ ề ế ậ ượ ả ướ đi u ki n v i h u t t thu t toán đ c mô t phía d i. ớ ậ ố i. Chi ti  a

124

ậ ợ ậ ừ //Thu t toán khai phá t p l i ích cao t cây CUP

prefix, TList prefix)

ậ Thu t toán 3.1. Function HUI­Growth(CUP­tree, prefix, UList

Input:

­ CUP­tree;

ưỡ ố ợ i ích t ể i thi u;

­ minutil ­ ng ậ ­ prefix – t p ph n t ng l ầ ử ề ố ;

ti n t ợ ậ ­ UListprefix – danh sách l

i ích t p prefix;  ứ ậ ị ­ TListprefix – danh sách giao d ch ch a t p prefix.

Output:

ậ ợ ­ Các t p l i ích cao ­ HUs

If (singlePath )

saveAllComsOfPrefixPath (CUP­tree, prefix, UListprefix, TList prefix);

Else {

For (int i = tree. HeaderTable.size() ­ 1; i >= 0; i­­ ) {

item) và RU(prefix (cid:0) Item);

item) >= minutil)

­ item = tree. HeaderTable.get(i); ­ Tính: U(prefix (cid:0) ­ If (U(prefix (cid:0) ư ậ ị ợ

ớ i ích   item) vào HUs;

­Đ a t p (prefix + item) v i giá tr  l  là U(prefix (cid:0)  item) + RU(prefix (cid:0) ­ If (U(prefix (cid:0) Item) >= minUtil) {

prefix(cid:0)

item và TListprefix(cid:0)

item

ự ­ Xây d ng UList

(cid:0) ệ ủ ẫ ị ề ­ Xác đ nh m u đi u ki n c a prefix item

prefix(cid:0)

item

ự ề ệ ­ Xây d ng HeaderTable cho cây đi u ki n CUP

(cid:0) ệ ệ ủ ­ Xây d ng cây CUP  t item

item,

­ HUI­Growth (CUPprefix(cid:0) item, UListprefix(cid:0)

ề item đi u ki n  prefix(cid:0) ề ừ ẫ  m u đi u ki n c a prefix item, prefix(cid:0) item); TListprefix(cid:0)

} }//End of For

}//End of Else

Return HUs;

125

ụ ọ ậ 3.2.1. Ví d  minh h a thu t toán HUI­Growth

ụ ừ ụ ớ ưỡ ợ ố Ví d , t cây CUP toàn c c trong Hình 3.3 v i ng ng l i ích t ể   i thi u

ủ ụ ầ ọ ố minutil = 30. Đ u tiên, g i hàm cho nút g c c a cây CUP toàn c c HUI­

Growth(root, , Null, Null).

ẽ ự ệ ệ ề ầ   Cây đang có nhi u nhánh, nên s  th c hi n dòng l nh 2.1, ta có e là ph n

ượ ư ử ầ t đ u tiên đ c xét, U(e) = (6 – 2) + (17 – 9) + 4 = 16 < 30 nên không đ a e vào

ư HUs. Nh ng ta có, RU(e) = (12 + 2) + (5 + 9) + 2 = 30 và U(e) + RU(e) = 16 + 30

ệ ủ ề ẫ = 46 > 30 nên ta tìm m u đi u ki n c a e nh ư Hình 3.4.

ệ ủ ầ ử ẫ ề Hình 3.. M u đi u ki n c a ph n t e

ầ ử ầ ầ ử ả ắ ấ ủ ­ Tính t n su t c a các ph n t ế , sau đó s p x p các ph n t ầ    gi m d n

ấ ệ ủ ầ ử ầ ấ ậ ố ồ theo t n su t xu t hi n c a các ph n t có h u t e g m: a:2, b:2, c:2, d:2.

ự ệ ề ư Hình 3.5. ­ Xây d ng cây CUP đi u ki n cho {e} nh

126

ệ ủ ề Hình 3.. Cây CUP đi u ki n c a {e}

ừ T  cây CUP ế ụ ọ ệ {e}, ti p t c g i đ  quy HUI­Growth(CUP{e}, {e}, UList{e},

{e}  theo th  t

ệ ứ ự ừ ế ượ ẫ t ố  lá đ n g c tìm đ ề   c m u đi u TList{e}).  Duy t cây CUP

ệ ủ ề ệ ướ ki n và cây đi u ki n c a {de} – CUP c trên. ư {de} nh  các b

ươ ự ậ ố ế ậ T ng t , xét ti p các t p có h u t là e. Sau khi xét xong ph n t ầ ử    e,

ế ụ ầ ử ồ ế ti p t c xét ti p các ph n t trong HeaderTable t ừ ướ  d i lên g m: d, c, b, a.

ố Cu i cùng, tìm đ ượ ậ ợ c t p l i ích cao HUs ={ade, abde}.

ộ ứ ạ ậ 3.2.2. Đ  ph c t p thu t toán HUI­Growth

ề ệ ứ ạ ủ ậ ộ Đ  ph c t p c a thu t toán HUI­Growth trong tr ườ   ng M nh đ  3.1.

2n), trong đó n là t p t

ấ ấ ậ ấ ả ầ ử ổ ợ h p x u nh t là O(2 t c  các ph n t ; m là t ng s ố

ầ ử ố ị ấ ả ị ổ giao d ch và v là t ng s  các ph n t trong t t c  các giao d ch.

ứ Ch ng minh:

ườ ấ ấ ợ ấ ả Tr ậ ng h p x u nh t cho thu t toán HUI­Growth là t ầ   t c  các ph n

ớ ơ ưỡ ọ ự ế ợ ủ ủ ử ề t đ u có TWU l n h n ng ng minutil và m i s  k t h p c a c a nó

127

ấ ả ậ ồ ị ướ trong t t c  các giao d ch. Thu t toán HUI­Growth g m 3 b ậ   c: Tìm t p

ự ụ ể TList, UList; Xây d ng cây CUP và khai phá. C  th ,

ậ ợ ớ + Tìm t p l i ích cao v i chi phí là v + n;

ầ ự + Chi phí xây d ng cây CUP c n:

2;

ầ ử ế ắ ị ­ S p x p danh sách n ph n t trong m giao d ch là m * n

­ Chèn 2n – 1 vào cây;

k (2 ≤ k

ậ ợ ể ỗ ậ ứ ớ + Đ  khai phá t p l i ích cao, v i m i t p  ng viên cao HCWU

ệ ự ≤ n) th c hi n:

ự ầ ­ Xây d ng UList, TList c n duy t 2 ệ k­1 nút trong cây CUP;

n­k+1;

ề ệ ị ẫ ­ Xác đ nh m u đi u ki n là 2

ự ­ Xây d ng Htable là k;

n­k+1­1 nhánh, m i nhánh c n s p x p c n ầ

ự ầ ắ ế ỗ ­ Xây d ng cây CUP có 2

2 và chèn k

ầ ử ề ế ấ ế ắ ắ s p x p nhi u nh t k ph n t nên chi phí s p x p là k

ầ ử ph n t vào cây CUP.

ứ ạ ủ ậ ậ ộ Do v y, đ  ph c t p tính toán c a thu t toán HUI­Growth là (v + n) +

(v + m * n2 + 2n­1) +  = O(22n).

ả ự ế ệ 3.2.3. K t qu  th c nghi m

ả ự ế ệ ầ ậ ậ Trong ph n này, lu n án so sánh k t qu  th c hi n thu t toán HUI­

ớ ầ ậ Growth [IV] v i thu t toán: UP­Growth [62], HUI­Miner [38]. Đ u tiên gi ớ   i

ề ữ ệ ệ ườ ể ử ế ế thi u v  d  li u và môi tr ệ ng dùng đ  th  nghi m. Ti p theo là k t qu ả

ự ự ệ ệ ề ờ th c nghi m v  th i gian th c hi n.

ườ ữ ệ ng và d  li u ­ Môi tr

ậ ượ ự ệ Thu t toán đ ớ   c th c hi n trên máy tính IBM core 2 due 2.4GHz v i

ạ ớ ộ ươ ượ ế ằ 4GB b  nh , ch y trên Windows 7. Ch ng trình đ c vi t b ng Visual

128

ữ ệ ử ệ ồ ớ ặ   C++ 2010. D  li u th  nghi m g m: Mushroom và T40I10D100K v i đ c

ủ ộ ữ ệ ể ượ ả ướ đi m c a b  d  li u đ c mô t phía d i:

Database

T

D

N

Mushroom

23

8.124

119

T40I10D100K

40

100.000

942

trong đó T – số phần tử trung bình trong một giao dịch; N – số phần tử khác nhau; D – số

giao dịch.

ộ ữ ệ ị ợ ư ề Các b  d  li u này đ u ch a có giá tr  l ủ i ích ngoài c a các ph n t ầ ử    và

ỉ ị ế ầ ử ố ượ ệ ậ ấ trong các giao d ch ch  cho bi t ph n t xu t hi n. Do v y, s  l ng cho

ẩ ử ỗ ỗ ị ượ ẫ ớ ị m i ph n t trong m i giao d ch đ c sinh ng u nhiên v i giá tr  thu c t ộ ừ    1

ợ ầ ử ừ ỗ ế đ n 10 và l ủ i ích ngoài c a m i ph n t t ế  0.01 đ n 10.

ự ờ ệ ­ Th i gian th c hi n

ả ự ế ệ ờ K t qu  th c nghi m, trong Hình 3.6  và  Hình 3.7  so sánh th i gian

ự ệ ớ ưỡ ợ ộ ữ ệ ủ th c hi n v i các ng ng l i ích khác nhau c a 2 b  d  li u Mushroom và

T40I4D100K.

ữ ệ ự ờ ệ Hình 3.. Th i gian th c hi n trên d  li u Mushroom

129

ữ ệ ự ờ ệ Hình 3.. Th i gian th c hi n trên d  li u T40I4D100K

ỉ ậ ứ ấ 3.3. C u trúc RTWU cho t a t p  ng viên

ự ư ậ ồ Năm 2012, Liu và các đ ng s  đ a ra thu t toán HUI­Miner [38] khai

ế ậ ợ ự ử ụ ợ phá tr c ti p t p l ấ i ích cao s  d ng c u trúc danh sách l i ích (utility­list)

ữ ề ộ ậ ầ ử ể ư đ  l u tr các thông tin v  m t t p ph n t ệ ắ ỉ    và thông tin cho vi c c t t a

ế ế ậ ộ ứ   không gian tìm ki m. Thu t toán này có không gian tìm ki m và đ  ph c

ứ ạ ư ộ ủ ự ỗ ợ ạ t p tính toán cao, nh  đ  ph c t p c a xây d ng m i danh sách l i ích

ườ ợ ồ ấ ớ ố ộ ị trong tr ng h p t ứ ạ ủ   i nh t là O(n) v i n là s  giao d ch hay đ  ph c t p c a

3).

ợ ố n i (join) danh sách l i ích là O(n

ư ậ ả ể ả ố Thu t toán FHM [26] đ a ra gi i pháp gi m thi u các phép n i có chi

ự ủ ủ ậ ấ phí   cao   c a   thu t   toán   HUI­Miner   d a   trên   tính   ch t   đóng   c a   TWU

ế ố ầ ậ ứ   (Transaction­Weighted Utility), không c n k t n i các t p sinh ra có ch a

ỏ ơ ưỡ ợ ố ể ướ ặ c p (x, y) có TWU(x, y) nh  h n ng ng l i ích t i thi u cho tr c. Tuy

ư ầ ưỡ ề nhiên, nh  đã phân tích trong ph n 2.2, TWU là ng ơ ng cao h n nhi u so

ớ v i AU.

ố ượ ậ ả Trong thu t toán FHM [26] cho phép gi m s  l ố ằ   ng phép n i b ng

ươ ắ ỉ ướ ượ ị ợ ệ ấ ph ng pháp c t t a c l ng giá tr  l i ích xu t hi n cùng nhau (EUCP ­

ự ấ Estimated Utility Co­occurrence Pruning) d a trên c u trúc ướ ượ c l ị  ng giá tr

ệ ấ ợ l i   ích   xu t   hi n   cùng   nhau   (EUCS   ­   Estimated   Utility   Co­Occurrence

ụ ể ử ụ ể ư ữ ậ Structure). C  th  là thu t toán FHM s  d ng EUCS đ  l u tr  TWU c a t ủ ấ   t

130

ầ ử ự ủ ấ ấ ả ặ ả c  các c p ph n t (a, b). D a vào tính ch t đóng c a TWU, t ậ   t c  các t p

ứ ặ ầ ử ỏ ơ ưỡ ợ ố ch a c p ph n t (a, b) có TWU(a, b) nh  h n ng ng l i ích t i thi u s ể ẽ

ậ ợ ậ ố ợ ả không ph i là t p l ầ i ích cao, do v y không c n ghép n i các danh sách l i ích.

ậ ợ ậ Tuy nhiên, thu t toán FHM [26] khai phá các t p l ề   i ích cao theo chi u

ả ử ế sâu. Gi s , các ph n t ầ ử ượ ắ  đ c s p x p theo th  t ứ ự ừ ể  t đi n, {aX} là t ấ ả  t c

ề ố ậ ầ ử ấ ả ề ố các t p có ti n t là ph n t a, {bX} là t ậ t c  các t p có ti n t là ph n t ầ ử

ư ậ ầ ử ứ ứ ẽ ậ b. Nh  v y, các t p ch a {bX} s  không còn ch a ph n t ư  a. Nh ng khi

ể ẫ ị ợ ồ ầ ử ề tính TWU({bX}) có th  v n g m giá tr  l ủ i ích c a ph n t a. Đi u này làm

ề ớ ơ ớ TWU({bX}) l n h n nhi u so v i AU({bX}). Do đó dùng TWU({bX}) đ ể

ậ ứ ẽ ệ ả ỉ t a các t p  ng viên s  không hi u qu .

ữ ể ắ ượ ủ ể ậ ụ Đ  kh c ph c nh ng nh ậ   c đi m trên c a thu t toán FHM [26], lu n

ấ ấ ề án đ  xu t c u trúc RTWU (Remaining Transaction­Weighted Utility), xây

ầ ự ậ ử ụ ấ ự d ng thu t toán tu n t ậ    EAHUI­Miner s  d ng c u trúc RTWU và thu t

ự ạ ị toán song song PEAHUI­Miner theo mô hình h t m n (fine­grain) d a trên

ậ thu t toán EAHUI­Miner.

ể ả ộ ố ử ụ ụ ệ ậ Đ  gi ộ   i thích m t s  khái ni m trong m c này, lu n án s  d ng m t

ị ượ ể ả ợ B ng 3.4 ơ ở ữ ệ c  s  d  li u giao d ch đ ễ c bi u di n trong và l ủ   i ích ngoài c a

ầ ử ượ ả B ng 3.5. các ph n t đ c cho trong

ả ị ơ ở ữ ệ B ng 3.. C  s  d  li u giao d ch

a b c d e f g

Ti d 1 2 3 4 5 6 7 4 3 3 2 0 0 0 5 4 4 7 5 3 0 5 4 0 0 1 0 0 0 0 4 3 1 0 1 0 1 0 1 2 0 0 0 0 0 1 0 2 0 T U 43 35 33 45 28 18 7 1 0 0 0 0 0 5

131

ợ ả ầ ử

B ng 3.. L i ích các ph n t e 2 b 3 a 4 d 2 c 2 Item Utility f 3 g 1

ị ợ ộ ậ ở ộ [VI] Danh sách l ủ i ích m  r ng c a m t t p ph n t ầ ử Đ nh nghĩa 3.7.

ệ ượ ộ ị Px ký hi u là exLstPx và đ c đ nh nghĩa là m t danh sách các ph n t ầ ử   ,

ầ ử ỗ ồ ố ườ trong đó m i ph n t bao g m b n tr ng: tid, iutil, itemutil và rutil, trong

đó:

ứ ủ ị ị ­ tid là đ nh danh c a giao d ch ch a Px.

ợ ầ ử ứ ­ iutil là l ủ ậ i ích c a t p ph n t ị  P trong giao d ch tid ch a Px.

ợ ầ ử ứ ­ itemutil là l ủ i ích c a ph n t ị  x trong giao d ch tid ch a Px.

ợ ạ ủ ầ ử ạ ị ­ rutil  là l i ích còn l i c a các ph n t còn l i trong giao d ch tid

ứ ầ ử ch a Px, tính t ừ ầ ử  ph n t sau ph n t x.

ợ ở ộ ườ Ngoài ra, danh sách l ủ ậ i ích m  r ng c a t p Px còn có các tr ng sau:

ổ ợ ầ ử ị ­ sumiutils là t ng l ủ ậ i ích c a t p ph n t ứ    P trong các giao d ch tid ch a

Px, và

ổ ợ ầ ử ị ­ sumitemutils là t ng l ủ i ích c a ph n t ứ    x trong giao d ch tid ch a

Px, và

ổ ợ ạ ủ ứ ­ sumrutils là t ng l i ích còn l ị i c a giao d ch có th  t ứ ự tid ch a Px,

ừ ầ ử ế ế ầ ử ắ ầ b t đ u tính t ph n t k  ti p sau ph n t x, và

ầ ử ứ ậ ướ ầ ử trong đó SetPrefix(x) là t p các ph n t đ ng tr c ph n t x trong

ị giao d ch có th  t ứ ự j.  T

ợ ủ ậ ư ả ở ộ Ví dụ, danh sách l i ích m  r ng c a t p {bc} nh  B ng 3.6.

132

ả ợ ủ ậ ở ộ B ng 3.. Danh sách l i ích m  r ng c a t p {bc}

iutil itemutil rutil

ti d

1 12 10 1

2 9 8 2

ị ợ ị i ích giao d ch còn l ặ ạ ủ c p ph n t i c a ầ ử xy Đ nh nghĩa 3.8. [VI] Giá tr  lị

ị ổ ợ ầ ử ủ trong giao d ch T ầ ử xy là t ng l i ích c a các ph n t còn ặ j ch a ứ c p ph n t

j),

ị ừ ệ ạ l i trong giao d ch có th  t ph n t ầ ử Kí hi u là RTWU(xy, T x. ứ ự j tính t  T

j ch a c p ph n t

ị ứ ặ ầ ử ỏ    xy b  đi trong đó [Tj\ SetPrefix(xy)] – giao d ch T

ầ ử ứ ướ ầ ử các ph n t đ ng tr c ph n t x.

5 trong B ng 3.4 có RTWU(cd,

ầ ử ụ ặ ủ ị ả Ví d , xét c p ph n t c, d c a giao d ch T

T5) = 1*2 + 1*2 + 2*2 = 8.

ị ị ợ ị ạ ủ ặ [VI] Giá tr  l i ích giao d ch còn l i c a c p ph n t ầ ử Đ nh nghĩa 3.9.

ị ợ ổ ị ạ ủ ặ ầ ử xy trong CSDL là t ng giá tr  l i ích giao d ch còn l i c a c p ph n t xy

ị ứ ầ ử ệ trong   các   giao   d ch   T xy   trong   CSDL.   Kí   hi u   là ặ j  ch a   c p   ph n   t

RTWU(xy) và

ầ ử ụ ặ ả B ng 3.4 Ví d , xét c p ph n t c, d trong ta có RTWU(cd) = RTWU(cd,

ấ ị ỉ ầ ử cd. T5) = 8. Vì ch  có duy nh t giao d ch T ứ ặ 5 có ch  c p ph n t

ị ấ ượ ị [VI] C u trúc RTWU đ ộ ậ   ằ c xác đ nh b ng m t t p Đ nh nghĩa 3.10.

ộ các b  ba: (x; y; c)  I x I x R.

trong đó

ầ ử ậ ­ I là t p các ph n t ộ ơ ở ữ ệ  thu c c  s  d  li u;

133

ầ ử ứ ộ ướ ế ắ ộ ­ x, y là 2 ph n t thu c I (x đ ng tr c y theo m t cách s p x p nào

đó);

ậ ố ự ­ R là t p s  th c và c = RTWU(xy).

ị ủ ậ ở ộ ậ [VI] Cho hai t p Px, Py là m  r ng c a t p P và hai danh Đ nh lý 3.1.

ợ ở ộ ầ ượ sách l ủ i ích m  r ng c a Px và Py l n l ế   t là exLstPx và exLstPy. N u

min(exLstPx.sumiutls, exLstPy.sumiutls) + RTWU(xy) < minUtil thì Pxy và

ở ộ ậ ợ ề ậ ủ các các t p m  r ng c a nó đ u là các t p l ấ . i ích th p

ứ Ch ng minh:

G iọ  :

ứ ậ ị ­ TPxyQ là t p giao d ch ch a PxyQ ;

ứ ậ ị ­ TPxy là t p giao d ch ch a Pxy ;

ứ ậ ị ­ TPx là t p giao d ch ch a Px ;

ứ ậ ị ­ TPy là t p giao d ch ch a Py ;

ứ ậ ị ­ Txy là t p giao d ch ch a xy.

ứ ậ ị ­ TxyQ là t p giao d ch ch a xyQ.

ườ ậ Tr ng h p 1 ợ  : T p Pxy

G iọ  :

ổ ợ ủ ứ ị ­ UTIL(P) là t ng l i ích c a P trong các giao d ch ch a Pxy, và

ổ ợ ủ ứ ị ­ UTIL(xy) là t ng l i ích c a xy trong các giao d ch ch a Pxy, và

Ta có:

134

ừ Vì Px (cid:0) Pxy nên TPxy (cid:0) TPx và Py (cid:0) Pxy nên Tpxy (cid:0) TPy, t công

ứ th c (3.8) ta có:

ươ ứ T ng t ự ừ , t công th c (3.8) ta có :

ừ T  (3.11) và (3.12) suy ra :

ứ Vì xy (cid:0) Pxy nên TPxy (cid:0) Txy, theo công th c 3.9 ta có:

ừ T  (3.13) và (3.14) suy ra:

ư ậ ế Nh  v y, n u min(Px.sumiutils, Py.sumiutils) + RTWU(xy) < minutil thì

ậ ợ ấ UTIL(P) + UTIL(xy) < minutil hay Pxy là t p l i ích th p.

ườ ở ộ ừ Pxy Tr ng h p 2 ậ ợ  : Các t p m  r ng t

ừ ứ Vì Pxy (cid:0) PxyQ nên TPxyQ (cid:0) TPxy nên t công th c (3.8) ta có:

Vì xyQ (cid:0) PxyQ nên TPxyQ (cid:0) TxyQ, ta có:

135

ư ậ ế Nh  v y, n u min(exLstPx.sumiutils, exLstPy.sumiutils) + RTWU(xy) <

ở ộ ậ ợ ủ ề ậ ấ minutil thì các t p m  r ng c a Pxy đ u là các t p l i ích th p.

ị ủ ậ ậ ở ộ  Cho hai t p Px, Py là m  r ng c a t p P và hai danh Đ nh nghĩa 3.11.

ợ ở ộ ầ ượ ợ sách l ủ i ích m  r ng c a Px và Py l n l t là exLstPx và exLstPy. L i ích

ạ ủ ậ ầ ử ượ ệ ị giao d ch còn l i c a t p ph n t Pxy đ c ký hi u là CRTWU(Pxy) và

CRTWU(Pxy) = min(exLstPx.sumiutils, exLstPy.sumiutils)

+ RTWU(xy) (3.18)

ị ả ử ồ Gi ậ  s  HRTWUs g m các t p Pxy có CRTWU(Pxy) ,α Đ nh lý 3.2.

α α ậ ồ ưỡ ợ ố HUs g m các t p Pxy có AU(Pxy) ớ  v i là các ng ng l i ích t ể   i thi u

(cid:0) ướ cho tr c. Khi đó HUs HRTWUs.

ứ Ch ng minh:

ứ Theo công th c (3.10) và (3.15) ta có:

(cid:0) ọ ậ ư ậ ớ Nh  v y, v i m i t p Y thì HUs HRTWUs ■

ả ả  và B ng 3.5, ta có: Ví d ,ụ  xét B ng 3.4

ị ề ợ ợ Theo Đ nh nghĩa 1.20 v  danh sách l i ích, ta có danh sách l ủ ậ   i ích c a t p

ế ố {bc}, {bd} và cách k t n i nh ư Hình 3.8.

ợ Danh sách l ủ i ích c a {bd} Danh

sách

136

i íchợ l

c aủ

{bc} tid 1 2 iutil 17 12 rutil 0 5

tid 3 4 ủ ậ ậ rutil iutil 1 22 2 17 ợ Hình 3.. Danh sách l i ích c a t p {bc} và t p {bd}

ị ợ ủ ậ ở ộ Theo đ nh nghĩa 3.1, ta có danh sách l i ích m  r ng c a t p {bc} và

{bd} nh  ư Hình 3.9.

ợ ợ Danh sách l Danh sách l

ủ   ở ộ i ích m  r ng c a {bc} ủ   ở ộ i ích m  r ng c a {bd}

tid iutil rutil tid iutil rutil

itemu til 10 8 1 2 12 9 9 6 0 5 itemu til 8 6

3 4 ủ ậ ở ộ ậ Hình 3.. Danh sách l 1 2 ợ i ích m  r ng c a t p {bc} và t p {bd}

ả ử ậ ợ ề ả Gi s  minutil = 25, ta có c  {bc} và {bd} đ u là t p l i ích cao.

ậ ừ ả ị Theo thu t toán FHM, t ủ    CSDL trong B ng 3.4 ta có giá tr  TWU c a

ầ ử ặ ớ ơ ưỡ các c p ph n t c, d là TWU(c, d) = 28 l n h n ng ng minutil do đó ta

ả ế ợ ợ ể ạ ậ ph i k t h p hai danh sách l i ích {bc} và t p {bd} đ  t o danh sách l ợ   i

ích {bcd}.

ặ ị ớ Đ nh   lý   3.1 M t   khác,   theo ,   t ừ Hình   3.9  v i   P   =   {b}   ta   có

min({bc}.sumiutils, {bd}.sumiutils) + RTWU(cd) = min{21, 15} + 8 = 15

ỏ ơ ưỡ ả ế ợ + 8 = 23 nh  h n ng ng minutil nên không c n ầ ph i k t h p hai danh

ợ ủ ậ ở ộ ể ạ ậ ợ sách l i ích m  r ng c a t p {bc} và t p {bd} đ  t o danh sách l i ích

ở ộ m  r ng {bcd}.

ự ị ề ấ ậ ử ụ Đ nh lý 3.1 D a trên , đ  xu t thu t toán ấ   EAHUI­Miner s  d ng c u

ượ ở ế ầ trúc RTWU, đ c trình bày ph n 3.4 ti p theo.

137

ầ ự ậ ự ấ 3.4. Thu t toán tu n t EAHUI­Miner d a trên c u trúc RTWU

ậ ầ ồ Trong thu t toán EAHUI­Miner g m 2 ph n chính:

ự ợ ở ộ ­ Xây d ng danh sách l i ích m  r ng

ậ ợ ­ Khai phá t p l i ích cao

ự ợ ở ộ 3.4.1. Xây d ng danh sách l i ích m  r ng

ợ ở ộ ầ ử ượ ứ Danh sách l ủ ậ i ích m  r ng c a t p ch a 1 ph n t đ ự   c xây d ng

ị ớ ậ ầ ỗ theo Đ nh nghĩa 3.7 v i t p P là r ng (nghĩa là iutil=0) khi quét CSDL l n 1.

ợ ủ ậ ở ộ ứ ừ ầ ử ở ượ Danh sách l i ích m  r ng c a t p ch a t 2 ph n t tr  lên đ c xây

ướ ự d ng theo hàm Construct(Px, Py) d i đây.

Function Construct (Px, Py)

ự ợ ở ộ //Xây d ng danh sách l i ích m  r ng

Input:

ợ ở ộ ủ i ích m  r ng c a Px; ­ Px.UL // Danh sách l

ợ ở ộ ủ i ích m  r ng c a Py; ­ Py.UL // Danh sách l

Output:

ợ ở ộ ủ ­ Pxy.UL// Danh sách l i ích m  r ng c a Pxy;

1.

Px.ULs{ 2.

Pxy.ULs = Null; For each item Ex (cid:0) For each item Ex (cid:0) 3.

4. Px.ULs{ If (∃Ey  Py.ULs and Ex.Ti==Ey.Ti) {

­   Exy   =  

ey.rutils>;

­ Thêm Exy vào Pxy.ULs; 6.

7. }

8. }

9. Return Pxy.ULs;

3.4.2.

138

ầ ự ậ 3.4.3. Thu t toán tu n t EAHUI­Miner

ậ Thu t toán 3.2. Procedure EAHUI­Miner(ULs, minutil)

ậ ợ // Khai phá t p l i ích cao

1. Input:

ậ ợ i ích cao 1 ph n t ầ ử ;

ậ ­ ULs ­ T p các t p l ợ ưỡ ố ­ minutil ­ ng ng l i ích t ể i thi u;

2. Output:

ầ ử ợ ậ ấ ả ậ t c  các t p ph n t i ích cao. l

ULs { 1.

­ T p t For each utility list Px (cid:0) If (Px.sumiutils + Px.sumitemutils ≥ minutil) 2.

­ Output(Px); 3.

4. If (Px.sumiutils + Px.sumitemutils + Px.sumrutils ≥ minutil) {

5.

6. ­ exULs = NULL; ­ For each Py after Px (cid:0) ULs {

7.

If (EUCS(x, y) ≥ minutil) and min(Px.sumiutils,  Py.sumiutils) + RTWU(x,y) ≥ minutil) {

8. exULs = exULs + Construct(Px, Py);

9. }//End If

10. ­ Call EAHUI­Miner(exULs, minutil);

11. }//End For

12. }//End If

13. } //End For

ộ ứ ậ 3.4.4. Đ  ph c toán tính toán thu t toán EAHUI­Miner

ệ ề ộ ứ ạ ủ ậ Đ  ph c t p c a thu t toán EAHUI­Miner trong tr ườ   ng M nh đ  3.2.

3), trong đó n là t p t

ấ ấ ậ ấ ả ầ ử ổ ợ h p x u nh t là O(m t c  các ph n t ; m là t ng s ố

ầ ử ố ị ừ ị giao d ch, w là s  ph n t trung bình trong t ng giao d ch.

3

ứ Ch ng minh:

ứ ạ ậ ộ Thu t toán FHM và HUI­Miner có cùng đ  ph c t p tính toán là m

ự ư ấ ậ ạ   ủ [77], nh ng d a vào tính ch t đóng c a TWU nên thu t toán FHM đã lo i

139

ầ ử ứ ậ ặ ỏ ơ ỏ ượ ấ ả b  đ c t t c  các t p có ch a c p ph n t có TWU nh  h n ng ưỡ   ng

ế ố ả ạ ậ ậ   minutil nên gi m m nh chi phí k t n i trong thu t toán HUI­Miner. Thu t

ượ ả ế ừ ậ toán EAHUI­Miner đ c c i ti n t ử ụ   ằ  thu t toán FHM b ng cách s  d ng

ể ạ ỏ ợ ề ố ướ ủ ậ ấ c u trúc RTWU đ  lo i b  l i ích c a các ti n t tr ậ   c nó. Do v y, thu t

ư ề ậ ố ộ ứ ạ   toán EAHUI­Miner cũng gi ng nh  thu t toán FHM đ u có đ  ph c t p

ư ờ ố ơ ậ tính toán là m3, nh ng có th i gian tính toán t t h n thu t toán FHM nh ư

ệ ế ả ự trong k t qu  th c nghi m.

ậ 3.4.5. Thu t toán song song PEAHUI­Miner

ả ậ  thu t toán a. Mô t

ậ ượ ề ả ự Thu t toán PEAHUI­Miner đ c xây d ng trên n n t ng OpenMP h ỗ

ợ ậ ườ ẻ ơ ồ ậ ở ộ tr  l p trình song song trên môi tr ng b  nh  chia s . S  đ  thu t toán

ượ ể ệ ậ ả ộ đ c th  hi n trong Hình 3.10. Thu t toán song song phân t i đ ng theo mô

ạ ả ằ ằ ị ả hình h t m n (fine­grain) nh m nâng cao kh  năng cân b ng t ữ i gi a các

ế ti n trình.

ướ ượ ở ấ ự ệ ặ B c song song chính đ c th c hi n b i c u trúc vòng l p song song

ợ ủ (#pragma omp parallel for) c a OpenMP trên danh sách l i ích 1­ph n t ầ ử   .

ầ ử ừ ế ạ ơ ị Song song h t m n chính là c  ch  chia t ng ph n t trong danh sách 1­

ế ph n t ừ ầ ử ULs cho t ng ti n trình.

ườ ỏ ơ ấ ố ế ử ề Thông th ẽ ng thì s  ti n trình x  lý s  nh  h n r t nhi u so v i s ớ ố

ầ ử ẽ ự ấ ượ l ng ph n t trong ệ   ặ ULs, do đó c u trúc vòng l p song song s  th c hi n

ầ ử ế ề ệ ố vi c đi u ph i, phân ph n t ti p theo trong ử   ế ULs cho các ti n trình x  lý

ầ ử ướ ệ khi nó đã hoàn thành vi c khai phá ph n t tr c đó.

ơ ồ ậ Hình 3.. S  đ  thu t toán PEAHUI­Miner

140

ộ ứ ậ Đ  ph c toán tính toán thu t toán PEAHUI­Miner

ệ ề ứ ạ ủ ậ ộ Đ  ph c t p c a thu t toán EAHUI­Miner trong tr ườ   ng M nh đ  3.3.

ấ ấ ậ ấ ả ầ ử ổ ố ợ h p x u nh t là O(), trong đó n t p t t c  các ph n t ; m là t ng s  giao

ầ ử ố ừ ố ị ị d ch, w là s  ph n t trung bình trong t ng giao d ch và p là s  Thread tham

gia x  lý.ử

ứ Ch ng minh:

ậ ả ộ ượ Thu t toán song song phân t i đ ng PEAHUI­Miner đ ự   c xây d ng

ậ ạ ị ự d a trên thu t toán EAHUI­Miner theo mô hình h t m n (fine­grain). Đây

ầ ử ừ ế ơ chính là c  ch  chia t ng ph n t trong danh sách 1­ph n t ầ ử ULs cho t ngừ

ứ ạ ẽ ế ậ ậ ộ ti n  trình.  Do  v y,  thu t  toán  PEAHUI­Miner   s  có   đ  ph c  t p  trong

ườ ấ ấ ợ tr ng h p x u nh t là O()

ả ự ế ệ 3.4.6. K t qu  th c nghi m

ườ Môi tr ữ ệ ng và d  li u

ậ ậ Các thu t toán FHM và EFIM đ ượ ấ ừ c l y t [79] , 02 thu t toán EAHUI­

ượ ặ ằ ữ ậ Miner, PEAHUI­Miner đ ự   c cài đ t b ng ngôn ng  l p trình Java và th c

ệ ạ ớ ộ ớ hi n trên máy tính HP core 7 due 2.4GHz v i 4 GB b  nh , ch y trên

ố ồ ự ệ ậ ồ ờ Windows 7. S  lu ng th c hi n đ ng th i là 4. Thu t toán song song phân

ả ộ ư ệ ữ ệ ử ụ ạ ị t i đ ng theo mô hình h t m n s  d ng th  vi n OpenMP. D  li u th ử

ệ ồ nghi m g m: T10I4D100K, T10I4D200K, Foodmart và Mushroom [79] có

ư ộ ả B ng 3.7 các thu c tính nh  trong .

ủ ả ộ B ng 3.. Các thu c tính c a các CSDL

T D

Database T10I4D100K T10I4D200K N 1000 1000

Foodmart Mushroom 10 100.000 200.00 10 0 4.141 8.124 4,4 23 1.559 119

141

ầ ử ố ộ ố ị trong đó T – s  ph n t trung bình trong m t giao d ch; N – s  ph n t ầ ử

ố ị khác nhau; D – s  giao d ch.

ố ượ ứ ế ả K t qu  khai phá và s  l ng  ng viên

ả ự ệ ế ậ K t qu  th c nghi m các thu t toán: EAHUI­Miner, PEAHUI­Miner,

ưỡ ợ ố ề ể ự EFIM, FHM d a trên các ng ng l i ích t ố   i thi u khác nhau đ u gi ng

ề ố ượ ậ ợ nhau v  s  l ng t p l i ích cao.

ả ể ệ ố ượ ậ ứ ậ B ng 3.8 th  hi n s  l ế   ng t p  ng viên do hai thu t toán sinh ra. K t

ề ậ ứ ệ ậ ấ ả ơ ớ ậ   qu  cho th y thu t toán FHM sinh ra nhi u t p  ng vi n h n so v i thu t

toán EAHUI­Miner.

ố ượ ả ậ ứ B ng 3.. So sánh s  l ng t p  ng viên.

Dataset minutil FHM

T10I4D100K  T10I4D100K  Foodmart  Mushroom 2500 2500 1000 100K 153.016 153.016 259.876 1.588.018 EAHUI­ Miner 125.647 125.647 258.921 1.587.927

ự ờ ệ Th i gian th c hi n

ệ ủ ự ậ ờ Th i gian th c hi n c a các thu t toán: EFIM, FHM và EAHUI­Miner

ượ ể đ c th  hình trên các Hình 3.11, Hình 3.12, Hình 3.13 và Hình 3.14. K tế

ệ ấ ự ấ ậ ả qu  này cho th y, thu t toán EFIM th c hi n r t nhanh trên các c  s  d ơ ở ữ

ệ ướ ủ ậ ầ ử ậ ỏ li u mà kích th c c a t p ph n t I nh , còn hai thu t toán FHM và

ự ệ ậ ơ EAHUI­Miner th c hi n nhanh h n thu t toán EFIM trong các c  s  d ơ ở ữ

ệ ướ ậ ầ ử ớ li u mà kích th c t p ph n t I l n.

142

ữ ệ ự ờ ệ Hình 3.. Th i gian th c hi n trên d  li u Mushroom.

ữ ệ ự ờ ệ Hình 3.. Th i gian th c hi n trên d  li u Foodmart

ữ ệ ự ờ Hình 3.. Th i gian th c trên d  li u T10I4D100K

143

ữ ệ ự ờ Hình 3.. Th i gian th c trên d  li u T10I4D200K

ữ ự ệ ậ ờ ầ   Hình 3.15 và Hình 3.16 so sánh th i gian th c hi n gi a thu t toán tu n

ậ ự t ơ ở ữ ệ    EAHUI­Miner và thu t toán song song PEAHUI­Miner trên c  s  d  li u

T10I4D100K, T10I4D200K.

ự ệ ờ

ậ ữ ệ Hình 3.. Th i gian th c hi n thu t toán EAHUI­Miner và PEAHUI­Miner trên d  li u T10I4D100K

144

ự ệ ờ

ậ ữ ệ Hình 3.. Th i gian th c hi n thu t toán EAHUI­Miner và PEAHUI­Miner trên d  li u T10I4D200K

ế ậ ươ 3.5. K t lu n ch ng

ươ ấ ấ ẫ ợ ủ ề ậ Trong ch ng này c a lu n án đ  xu t c u trúc cây m u l i ích nén

ế ợ ợ ậ ợ ậ (CUP) k t h p danh sách l i ích và thu t toán khai phá t p l i ích cao HUI­

ữ ư ự ủ ể ấ ợ Growth [IV]. C u trúc cây CUP d a trên nh ng  u đi m c a danh sách l i ích

ả ự ữ ệ ậ ứ ắ ỉ ế ệ   trong c t t a các t p  ng viên và nén d  li u trên cây. K t qu  th c nghi m

ự ủ ệ ấ ậ ờ  ừ Hình 3.6  và  Hình 3.7  cho th y th i gian th c hi n c a thu t toán HUI­ t

ế ợ ử ụ ấ ợ ơ Growth s  d ng c u trúc cây CUP k t h p danh sách l ớ   i ích nhanh h n so v i

ậ các   các   thu t   toán ộ ữ ệ   UP­Growth  [62],   HUI­Miner  [38]  trên   các   b   d   li u

Mushroom và T40I4D100K.

ề ấ ấ ị ợ ự ế ậ Ti p theo, lu n án đ  xu t c u trúc RTWU [VI] d a trên giá tr  l i ích giao

ạ ế ợ ủ ặ ở ộ ầ ử ợ ả ị d ch còn l i k t h p danh sách l i ích m  r ng c a c p ph n t làm gi m s ố

ắ ủ ấ ậ ứ ượ ể ệ ị Đ nh lý ượ l ng t p  ng viên. Tính đúng đ n c a c u trúc đ c th  hi n qua hai

ừ ầ ự ậ ị 3.1 và Đ nh lý 3.2 ị . T  hai đ nh lý này, ề ấ đ  xu t hai thu t toán tu n t và song song

ử ụ ậ ợ khai phá t p l i ích cao là ấ   EAHUI­Miner [VI], PEAHUI­Miner [VI] s  d ng c u

ả ự ệ ế ấ ả ừ B ng 3.8 trúc RTWU. K t qu  th c nghi m t ậ   cho th y thu t toán EAHUI­

ố ượ ậ ứ ậ ả Hình Miner cho s  l ơ ng t p  ng viên ít h n thu t toán FHM ế  [26]. K t qu  trên

ự ấ ậ ờ ơ   ệ ủ 3.11­3.14 cho th y th i gian th c hi n c a thu t toán EAHUI­Miner nhanh h n

ậ ơ ở ữ ệ ư ề ớ ị thu t toán FHM [26] và EFIM [77] v i các c  s  d  li u th a và nhi u giao d ch

145

ự ư ệ ậ ờ ơ nh : Footmart, T10I4D100K, T10I4D200K và th i gian th c hi n ch m h n trên

ư ơ ở ữ ệ c  s  d  li u dày nh  Mushroom.

146

Ậ Ế Ế Ị K T LU N VÀ KI N NGH

ủ ế ậ ả K t qu  chính c a lu n án:

ữ ệ ụ ự ậ ớ ằ   ấ V i m c tiêu xây d ng mô hình, c u trúc d  li u và thu t toán nh m

ổ ế ệ ậ ả ậ ọ ố nâng cao hi u qu  thu t toán khai phá t p ph  bi n có tr ng s  và t p l ậ ợ   i

ạ ượ ế ậ ích cao. Lu n án đã đ t đ ả c các k t qu  chính sau:

ề ợ ứ ố ọ ấ 1. Đ  xu t mô hình l i ích  ng viên có tr ng s  (CWU – Candidate

ự ằ ấ Weighted  Utility)   [II]   d a  trên phân  tích cho  th y r ng mô   hình

ượ ể ắ ỉ ứ ử ụ ề ậ TWU đ c nhi u thu t toán s  d ng đ  c t t a  ng viên là không

ệ ả ưỡ ị ợ ơ ớ hi u qu  vì đánh giá ng ề ng cao h n nhi u so v i giá tr  l i ích

ự ế ừ ề ấ ậ th c t . T  mô hình CWU đ  xu t hai thu t toán khai phá t p l ậ ợ   i

ỉ ố ử ụ ích cao là HP [II]  s  d ng ch  s  hình chi u ế , CTU­PRO+ [III] sử

ố ượ ấ ứ ơ ờ ụ d ng c u trúc cây cho s  l ự   ng  ng viên ít h n và th i gian th c

ộ ố ệ ậ ơ ớ hi n nhanh h n so v i m t s  thu t toán.

ấ ấ ề 2. Đ  xu t c u trúc RTWU ( Remaining Transaction­Weighted Utility)

ị ợ ị ạ ế ợ ợ ự d a trên giá tr  l i ích giao d ch còn l ớ i k t h p v i danh sách l i ích

ở ộ ầ ử ắ ỉ ậ ứ ự ấ ủ ặ m  r ng c a c p ph n t cho c t t a t p  ng viên. D a trên c u trúc

ầ ự ề ấ ậ RTWU, đ  xu t thu t toán tu n t ậ    EAHUI­Miner [VI] khai phá t p

ậ ợ l ậ   i ích cao và thu t toán song song PEAHUI­Miner [VI] khai phá t p

ả ự ố ượ ệ ế ậ ứ ợ l i ích cao cho k t qu  th c nghi m có s  l ơ   ng t p  ng viên ít h n

ơ ở ữ ệ ư ự ệ ờ ơ và th i gian th c hi n nhanh h n khi c  s  d  li u th a và s  l ố ượ   ng

ớ ị giao d ch l n.

ậ ợ ề ậ ấ 3. Đ  xu t thu t toán song song PPB khai phá t p l ử ụ   i ích cao s  d ng

ỉ ố ế ợ ươ ư ế ợ k t h p ch  s  hình chi u, danh sách l i ích và ph ng pháp l u tr ữ

ị ợ ầ ử ể ị giá tr  l ủ i ích c a ph n t trên các giao d ch đ  tính nhanh giá tr ị

ợ iutil và rutil trong danh sách l i ích.

147

ấ ấ ẫ ợ ế ợ ề 4. Đ  xu t c u trúc cây m u l i ích nén (CUP ớ ) k t h p v i danh sách

ợ ữ ậ ầ ử ư ỗ l i ích [IV]. M i nút trên cây CUP l u tr  t p ph n t và danh sách

ợ ủ ế ả ầ ầ l i ích c a nó. Các ph n t ầ ử ượ ắ  đ ấ   c s p x p gi m d n theo t n su t

ậ ợ ệ ể ấ ấ ố xu t hi n cho s  nút trên cây là ít nh t. Đ  khai phá t p l i ích cao

ề ậ ậ ấ trên cây CUP, lu n án đ  xu t thu t toán HUI­Growth [IV].

ổ ế ợ ề ấ ậ ậ 5. Đ  xu t thu t toán VMWFP [I] khai phá t p ph  bi n l i ích cao

ấ ằ ừ ấ ậ ự d a trên c u trúc diffset. T  thu t toán VMWFP cho th y r ng các

ộ ậ ể ử ậ ớ nhóm, l p các nhóm có th  x  lý đ c l p nhau. Do đó, lu n án đ ề

ẻ ộ ấ ậ ớ   xu t thu t toán song song PVMWFP [I] trên mô hình chia s  b  nh .

ướ ể H ng phát tri n:

ậ ậ ướ ấ ọ Lu n án t p trung vào b ậ ế   c quan tr ng nh t trong khai phá lu t k t

ậ ợ ậ ọ ố ụ ể ề ổ ế ợ h p là khai phá t p ph  bi n có tr ng s  và t p l ấ   i ích cao. C  th , đ  xu t

ầ ự ấ ậ ậ các mô hình, c u trúc, thu t toán tu n t và song song khai phá t p ph ổ

ậ ợ ế ọ ố ơ ở ữ ệ ị bi n có tr ng s  và t p l i ích cao trên c  s  d  li u giao d ch. Tuy nhiên,

ứ ạ ữ ữ ầ ấ ớ ữ ệ d  li u ngày càng l n và ph c t p, c n có nh ng có nh ng c u trúc và

ậ ậ ợ ướ ủ ể ế ậ thu t toán phù h p. Do v y, h ng phát tri n ti p theo c a lu n án là:

ứ ệ ấ ậ ả (cid:0) Nghiên c u các mô hình, c u trúc và thu t toán hi u qu  khai

ổ ế ậ ợ ọ ố ậ t p ph  bi n có tr ng s  và t p l i ích cao.

ư ậ ậ ờ ỹ (cid:0) Đ a k  thu t khai phá d  li u m  vào các thu t toán đã đ ữ ệ ề

xu t.ấ

ử ệ ề ặ ả ậ (cid:0) Cài   đ t,   th   nghi m   các   thu t   toán   trên   n n   t ng   l p   trình ậ

ữ ữ ệ   Hadoop và mô hình Map­Reduce cho nh ng bài toán d  li u

l n. ớ

148

Ọ Ủ Ụ DANH M C CÔNG TRÌNH KHOA H C C A TÁC GI Ả

Ậ Ế LIÊN QUAN Đ N LU N ÁN

ễ ậ ả ậ ạ [I]. Đ u H i Phong, Nguy n M nh Hùng,  Đoàn Văn Ban, “Thu t toán

ổ ế ề ẫ ọ ọ ố ộ   song song khai phá m u ph  bi n có tr ng s  theo chi u d c”, H i

ứ ả ầ ố ộ ố ấ ề ọ ọ ề M t s  v n đ  ch n l c v  CNTT và TT th o qu c gia l n th  15: , pp.

453­456, 2012.

ễ ả ậ ạ ệ ả [II]. Đ u H i Phong, Nguy n M nh Hùng, ậ   “Mô hình hi u qu  khai phá t p

ụ ợ ề ạ Các m c l ệ i ích cao”, T p chí Công ngh  Thông tin và Truy n thông:

ụ ứ ứ ể ậ công trình nghiên c u, phát tri n và  ng d ng CNTT­TT ố   , T p V­1, S  13

(33), pp. 26­37, 6­2015.

ườ ả ậ ỗ ớ [III]. Đ u H i Phong, Đoàn Văn Ban, Đ  Mai H ng, “Mô hình m i trên cây

ụ ợ ậ ố ọ ộ ị nén cho khai phá t p m c l ầ   i ích cao”, H i ngh  khoa h c qu c gia l n

ứ ơ ả ứ ụ ệ Nghiên c u c  b n và  ng d ng CNTT th  8: ứ ạ ọ   , Vi n CNTT ­ Đ i h c

ộ ố Qu c gia Hà N i, pp. 359­370, 2015.

ễ ậ ả ạ ữ ệ ệ ả ấ [IV]. Đ u H i Phong, Nguy n M nh Hùng, “C u trúc d  li u hi u qu  cho

ụ ợ ứ ầ ả ộ ố M t sộ ố ậ khai phá t p m c l i ích cao”, H i th o qu c gia l n th  19:

ấ ề ọ ọ ề v n đ  ch n l c v  CNTT và TT , pp. 60­67, 2016.

ễ ậ ả ạ ươ [V]. Đ u H i Phong, Nguy n M nh Hùng, “Ph ng pháp song song khai

ụ ợ ậ ỉ ố ự ế ạ phá t p m c l i ích cao d a trên ch  s  hình chi u”, T p chí Công

ề ệ ứ ể   Các công trình nghiên c u, phát tri n ngh  Thông tin và Truy n thông:

ụ ứ ậ ố và  ng d ng CNTT­TT , T p V­1, S  17 (37), pp. 31­40, 6­2017.

[VI]. Nguyen Manh Hung, Dau Hai Phong, “Parallel mining for high utility

itemsets mining by efficient data structure”, Information Communication

TechnoLogy, Research   and   Development   on   Information   and

Communications Technology, Volume E–3, No.14, 9­2017.

149

Ả Ệ TÀI LI U THAM KH O

ế ệ Ti ng Vi t:

ể ộ ố ả

ễ ậ ệ ấ ậ Phát tri n m t s  thu t toán hi u qu  khai   ụ ,  ự ng có s  phân c p các m c

1. Nguy n Duy Hàm (2016),  ụ ế ơ ở ữ ệ ạ ọ ườ ố ượ ọ ậ ự thác t p m c trên c  s  d  li u s  l Lu n án Ti n sĩ, Tr ng đ i h c Khoa h c T  nhiên, ĐHQGHN.

ứ ễ ậ ầ ợ ụ ổ Khai phá t p m c c  ph n cao và l i ích cao 2. Nguy n Huy Đ c (2010),

ế ệ ậ trong c  s  d  li u ơ ở ữ ệ , Lu n án Ti n sĩ, Vi n CNTT.

ế Ti ng Anh:

3. Agarwal   R.C.,   Aggarwal   C.C.,   and   Prasad   V.V.V.   (2001).   A   Tree  Projection Algorithm for Generation of Frequent Item Sets.  J Parallel   Distrib Comput, 61(3), 350–371.

4. Aggarwal C.C., Bhuiyan M.A., and Hasan M.A. (2014). Frequent Pattern  Mining Algorithms: A Survey. Frequent Pattern Mining. Springer, Cham,  19–64.

5. Agrawal   R.,   Imielinski   T.,   and   Swami   A.   (1993).   Mining   Association

Rules between Sets of Items in Large Databases. .

6. Agrawal   R.   and   Srikant   R.   (1994).   Fast   Algorithms   for   Mining  Association Rules in Large Databases. Morgan Kaufmann Publishers Inc.,  487–499.

7. Ahmed   C.F.,   Tanbeer   S.K.,   Jeong   B.­S.   et   al.   (2009).   An   Efficient  Candidate Pruning Technique for High Utility Pattern Mining. Advances  in Knowledge Discovery and Data Mining, Springer, Berlin, Heidelberg,  749–756.

8. Anastasiu   D.C.,   Iverson   J.,   Smith   S.   et   al.   (2014).   Big   Data   Frequent   Frequent   Pattern   Mining.   Springer   International

Pattern   Mining. Publishing, 225–259.

9. Baralis   E.,   Cerquitelli   T.,   Chiusano   S.   et   al.   (2013).   P­Mine:   Parallel   2013   IEEE   29th   International

itemset   mining   on   large   datasets. Conference on Data Engineering Workshops (ICDEW), 266–271.

150

10. Bhanderi   S.D.   and   Garg   S.   (2012).   Parallel   frequent   set   mining   using   2012   Nirma   University   International

inverted   matrix   approach. Conference on Engineering (NUiCONE), 1–4.

11. Cai C.H., Fu A.W.C., Cheng C.H. et al. (1998). Mining Association Rules  with Weighted Items. Proceedings of the 1998 International Symposium   on Database Engineering & Applications, Washington, DC, USA, IEEE  Computer Society, 68–.

12. C.F.   A.   and   S.K   T.   Efficient   Tree   Structures   for   Highutility   Pattern

Mining in Incremental Databases. 2009.

13. Chan R., Yang Q., and Shen Y.­D. (2003). Mining High Utility Itemsets.

IEEE Computer Society, 19.

14. Chen Y. and An A. (2016). Approximate Parallel High Utility Itemset

Mining. Big Data Res, 6, 26–42.

15. Cheng   Lan   G.,   Pei   Hong   T.,   and   Tseng   V.S.   (2013).   An   efficient  projection­based indexing approach for mining high utility itemsets. .

16. Chung   S.M.   and   Luo   C.   (2003).   Parallel   mining   of   maximal   frequent   Proceedings.   15th   IEEE   International

itemsets   from   databases. Conference on Tools with Artificial Intelligence, 134–139.

17. Dawar S. and Goyal V. (2014). UP­Hist Tree: An Efficient Data Structure  for   Mining   High   Utility   Patterns   from   Transaction   Databases.  Proceedings   of   the   19th   International   Database   Engineering   &   Applications Symposium, New York, NY, USA, ACM, 56–61.

18. Dlala I.O., Jabbour S., Sais L. et al. (2015). Parallel SAT based closed   2015   IEEE/ACS   12th   International

frequent   itemsets   enumeration. Conference of Computer Systems and Applications (AICCSA), 1–8.

19. El­Hajj   M.   and   Zaïane   O.R.   (2003).   Non­recursive   Generation   of  Frequent K­itemsets from Frequent Pattern Tree Representations.  Data  Warehousing   and   Knowledge   Discovery,   Springer,   Berlin,   Heidelberg,  371–380.

20. El­hajj M. and Zaïane O.R. (2003). COFI­tree Mining: A New Approach  to  Pattern  Growth  with   Reduced   Candidacy   Generation.  Workshop   on

151

Frequent Itemset Mining Implementations (FIMI’03) in conjunction with   IEEE­ICDM.

21. El­Hajj M. and Zaïane O.R. (2003). Inverted Matrix: Efficient Discovery  of   Frequent   Items   in   Large   Datasets   in   the   Context   of   Interactive   Proceedings   of   the   Ninth   ACM   SIGKDD   International   Mining. Conference on Knowledge Discovery and Data Mining, New York, NY,  USA, ACM, 109–118.

22. El­Megid   L.A.A.,   El­Sharkawi   M.E.,   El­Fangary   L.M.   et   al.   (2009).  Vertical Mining of Frequent Patterns Using Diffset Groups.  2009 Ninth   International Conference on Intelligent Systems Design and Applications,  1196–1201.

23. Erwin   A.,   Gopalan   R.P.,   and   Achuthan   N.R.   (2007).   A   Bottom­up  Projection   Based   Algorithm   for   Mining   High   Utility   Itemsets.  Proceedings of the 2Nd International Workshop on Integrating Artificial   Intelligence   and   Data   Mining   ­   Volume   84,   Darlinghurst,   Australia,  Australia, Australian Computer Society, Inc., 3–11.

24. Erwin   A.,   Gopalan   R.P.,   and   Achuthan   N.R.   (2007).   CTU­Mine:   An  Efficient   High   Utility   Itemset   Mining   Algorithm   Using   the   Pattern  Growth Approach. 7th IEEE International Conference on Computer and   Information Technology (CIT 2007), 71–76.

25. Erwin A., Gopalan R.P., and Achuthan N.R. (2008). Efficient Mining of  High   Utility   Itemsets   from   Large   Datasets.  Advances   in   Knowledge   Discovery and Data Mining. Springer Berlin Heidelberg, 554–561.

26. Fournier­Viger P., Wu C.­W., Zida S. et al. (2014). FHM: Faster High­ Utility   Itemset   Mining   Using   Estimated   Utility   Co­occurrence   Pruning.  Foundations of Intelligent Systems, Springer International Publishing, 83– 92.

27. Fournier­Viger   P.   and   Zida   S.   (2015).   FOSHU:   Faster   On­shelf   High  Utility   Itemset   Mining   –   with   or   Without   Negative   Unit   Profit.  Proceedings of the 30th Annual ACM Symposium on Applied Computing,  New York, NY, USA, ACM, 857–864.

152

28. Fumarola F. and Malerba D. (2014). A parallel algorithm for approximate   2014   International   frequent   itemset   mining   using   MapReduce. Conference on High Performance Computing Simulation (HPCS), 335– 342.

29. Grahne G. and Zhu J. (2005). Fast algorithms for frequent itemset mining

using FP­trees. IEEE Trans Knowl Data Eng, 17(10), 1347–1362.

30. Han  J.,  Pei  J.,  Yin Y.  et   al. (2000).  Mining  frequent  patterns  without

candidate generation. ACM SIGMOD Rec, 29(2), 1, 1–12, 12.

31. Holsheimer M., Kersten M.L., Mannila H. et al. (1995), A Perspective on  Databases   and   Data   Mining,   CWI   (Centre   for   Mathematics   and  Computer Science), Amsterdam, The Netherlands, The Netherlands.

32. Huai   Z.   g   and   Huang   M.   h   (2011).   A   weighted   frequent   itemsets  Incremental   Updating   Algorithm   base   on   hash   table.  2011   IEEE   3rd   International Conference on Communication Software and Networks, 201– 204.

33. Kumar P. and S A.V. (2009). Parallel Method for Discovering Frequent  Itemsets Using Weighted Tree Approach. 2009 International Conference   on Computer Engineering and Technology, 124–128.

34. Lan Y.­J. and Qiu Y. (2005). Parallel frequent itemsets mining algorithm  without intermediate result.  2005 International Conference on Machine   Learning and Cybernetics, 2102­2107 Vol. 4.

35. Lin C.­W., Hong T.­P., and Lu W.­H. (2010). Efficiently Mining High  Average Utility Itemsets with a Tree Structure.  Intelligent Information   and Database Systems, Springer, Berlin, Heidelberg, 131–139.

36. Lin   Y.C.,   Wu   C.­W.,   and   Tseng   V.S.   (2015).   Mining   High   Utility  Itemsets   in   Big   Data.  Advances   in   Knowledge   Discovery   and   Data   Mining. Springer International Publishing, Cham, 649–661.

37. Liu   J.,   Wang   K.,   and   Fung   B.C.M.   (2012).   Direct   Discovery   of   High   2012   IEEE   12th

Utility   Itemsets   without   Candidate   Generation. International Conference on Data Mining, 984–989.

38. Liu M. and Qu J. (2012). Mining High Utility Itemsets Without Candidate  Generation.  Proceedings of the 21st ACM International Conference on

153

Information and Knowledge Management, New York, NY, USA, ACM,  55–64.

39. Liu Y., Liao W., and Choudhary A. (2005). A Two­phase Algorithm for  Fast Discovery of High Utility Itemsets. Proceedings of the 9th Pacific­ Asia Conference on Advances in Knowledge Discovery and Data Mining,  Berlin, Heidelberg, Springer­Verlag, 689–695.

40. Liu Y., Liao W., and Choudhary A. (2005). A Fast High Utility Itemsets  Mining   Algorithm.  Proceedings   of   the   1st   International   Workshop   on   Utility­based Data Mining, New York, NY, USA, ACM, 90–99.

41. Lucchese   C.,   Orlando   S.,   and   Perego   R.   (2007).   Parallel   Mining   of  Frequent Closed Patterns: Harnessing Modern Computer Architectures.  Seventh IEEE International Conference on Data Mining (ICDM 2007),  242–251.

42. Manike C. and Om H. (2015). Time­Efficient Tree­Based Algorithm for  Mining   High   Utility   Patterns.  Advances   in   Intelligent   Informatics.  Springer, Cham, 409–418.

43. Padhy   N.,   Mishra   D.,   Panigrahi   R.   et   al.   (2012).   The   survey   of   data

mining applications and feature scope. ArXiv Prepr ArXiv12115723.

44. Padhy  N.,  Mishra   D.P.,  and   Panigrahi  R.   (2012).  The  Survey  of  Data  Mining   Applications   And   Feature   Scope.  Int   J   Comput   Sci   Eng   Inf   Technol, 2(3), 43–58.

45. Park   J.S.,   Chen   M.­S.,   and   Yu   P.S.   (1995).   An   Effective   Hash­based  Algorithm for Mining Association Rules. Proceedings of the 1995 ACM   SIGMOD International Conference on Management of Data, New York,  NY, USA, ACM, 175–186.

46. Pillai J., Vyas O.P., and Muyeba M. (2013). HURI – A Novel Algorithm  for   Mining   High   Utility   Rare   Itemsets.  Advances   in   Computing   and   Information Technology. Springer, Berlin, Heidelberg, 531–540.

47. Qiu H., Gu R., Yuan C. et al. (2014). YAFIM: A Parallel Frequent Itemset   2014   IEEE   International   Parallel

Mining   Algorithm   with   Spark. Distributed Processing Symposium Workshops, 1664–1671.

154

48. Ramkumar G.D., Sanjay R., and Tsur S. (1998). Weighted Association  Rules: Model and Algorithm. Proc. Fourth ACM Int’l Conf. Knowledge   Discovery and Data Mining.

49. Rathi S. and Dhote C.A. (2014). Using parallel approach in pre­processing   2014   International   to   improve   frequent   pattern   growth   algorithm. Conference on Information Systems and Computer Networks (ISCON), 72– 76.

50. Ruan Y.­L., Liu G., and Li Q.­H. (2005). Parallel algorithm for mining  frequent itemsets.  2005 International Conference on Machine Learning   and Cybernetics, 2118­2121 Vol. 4.

51. Savasere   A.,   Omiecinski   E.,   and   Navathe   S.B.   (1995).   An   Efficient  Algorithm   for   Mining   Association   Rules   in   Large   Databases.  Proceedings of the 21th International Conference on Very Large Data   Bases, San Francisco, CA, USA, Morgan Kaufmann Publishers Inc., 432– 444.

52. Shankar S., Babu N., Purusothaman T. et al. (2009). A Fast Algorithm for   2009   IEEE   International   Advance

Mining   High   Utility   Itemsets. Computing Conference, 1459–1464.

53. Shenoy   P.,   Haritsa   J.R.,   Sudarshan   S.   et   al.   (2000).   Turbo­charging  Vertical   Mining   of   Large   Databases.  Proceedings   of   the   2000   ACM   SIGMOD International Conference on Management of Data, New York,  NY, USA, ACM, 22–33.

54. Solanki S.K. and Patel J.T. (2015). A Survey on Association Rule Mining.  2015   Fifth   International   Conference   on   Advanced   Computing   Communication Technologies, 212–216.

55. Song   W.,   Liu   Y.,   and   Li   J.   (2012).   Vertical   mining   for   high   utility  itemsets.  2012 IEEE International Conference on Granular Computing,  429–434.

56. Subramanian K., Kandhasamy P., and Subramanian S. (2013). A Novel  Approach to Extract High Utility Itemsets from Distributed Databases.  Comput Inform, 31(6+), 1597–1615.

155

57. Sucahyo Y.G. and Gopalan  R.P. (2004). CT­PRO: A  Bottom­Up Non  Recursive   Frequent   Itemset   Mining   Algorithm   Using   Compressed   FP­ Tree Data Structure. FIMI, 212–223.

58. Tao   F.,   Murtagh   F.,   and   Farid   M.   (2003).   Weighted   Association   Rule  Mining   Using   Weighted   Support   and   Significance   Framework.  Proceedings   of   the   Ninth   ACM   SIGKDD   International   Conference   on   Knowledge   Discovery   and   Data   Mining,   New   York,   NY,   USA,   ACM,  661–666.

59. Teodoro G., Mariano N., Jr W.M. et al. (2010). Tree Projection­Based  Frequent   Itemset   Mining   on   Multicore   CPUs   and   GPUs.  2010   22nd   International   Symposium   on   Computer   Architecture   and   High   Performance Computing, 47–54.

60. Tseng V.S., Shie B.­E., Wu C.­W. et al. (2013). Efficient Algorithms for  Mining High Utility Itemsets from Transactional Databases. IEEE Trans   Knowl Data Eng, 25(8), 1772–1786.

61. Tseng   V.S.,   Wu   C.W.,   Fournier­Viger   P.   et   al.   (2016).   Efficient  Algorithms for Mining Top­K High Utility Itemsets. IEEE Trans Knowl   Data Eng, 28(1), 54–67.

62. Tseng V.S., Wu C.­W., Shie B.­E. et al. (2010). UP­Growth: An Efficient  Algorithm for High Utility Itemset Mining. Proceedings of the 16th ACM   SIGKDD International Conference on Knowledge Discovery and Data   Mining, New York, NY, USA, ACM, 253–262.

63. Veloso   A.,   Otey   M.E.,   Parthasarathy   S.   et   al.   (2003).   Parallel   and   High  Distributed   Frequent   Itemset   Mining   on   Dynamic   Datasets. Performance Computing ­ HiPC 2003, Springer, Berlin, Heidelberg, 184– 193.

64. Vo B., Coenen F., and Le B. (2013). A New Method for Mining Frequent  Weighted Itemsets Based on WIT­trees.  Expert Syst Appl,  40(4), 1256– 1264.

65. Vo B., Nguyen H., Ho T.B. et al. (2009). Parallel Method for Mining  High Utility Itemsets from Vertically Partitioned Distributed Databases.  Proceedings of the 13th International Conference on Knowledge­Based

156

and   Intelligent   Information   and   Engineering   Systems:   Part   I,   Berlin,  Heidelberg, Springer­Verlag, 251–260.

66. Wang W., Yang J., and Yu P. (2004). WAR: Weighted Association Rules

for Item Intensities. Knowl Inf Syst, 6(2), 203–229.

67. Xun   Y.,   Zhang   J.,   and   Qin   X.   (2016).   FiDoop:   Parallel   Mining   of  Frequent Itemsets Using MapReduce. IEEE Trans Syst Man Cybern Syst,  46(3), 313–325.

68. Ye   Y.   and   Chiang   C.­C.   (2006).   A   Parallel   Apriori   Algorithm   for  Frequent Itemsets Mining. Fourth International Conference on Software   Engineering Research, Management and Applications (SERA’06), 87–94.

69. Yin J., Zheng Z., Cao L. et al. (2013). Efficiently Mining Top­K High  Utility Sequential Patterns. 2013 IEEE 13th International Conference on   Data Mining, 1259–1264.

70. Yoshikawa   M.   and   Terai   H.   (2006).   Apriori,   Association   Rules,   Data  Mining,Frequent   Itemsets   Mining   (FIM),   Parallel   Computing.  Fourth   International   Conference   on   Software   Engineering   Research,   Management and Applications (SERA’06), 95–100.

71. Yu K.M. and Wu S.H. (2011). An Efficient Load Balancing Multi­core  Frequent   Patterns   Mining   Algorithm.  2011IEEE   10th   International   Conference   on   Trust,   Security   and   Privacy   in   Computing   and   Communications, 1408–1412.

72. Yun U. and Leggett J. (2005). WFIM: Weighted Frequent Itemset Mining  with a weight range and a minimum weight.  Proceedings of the 2005   SIAM International Conference on Data Mining. Society for Industrial  and Applied Mathematics, 636–640.

73. Yun   U.   and   Ryu   K.H.   (2011).   Approximate   weighted   frequent   pattern  mining with/without noisy environments.  Knowl­Based Syst,  24(1), 73– 82.

74. Zaki   M.J.   (2000).   Scalable   Algorithms   for   Association   Mining.  IEEE

Trans Knowl Data Eng, 12(3), 372–390.

75. Zaki M.J. and Gouda K. (2003). Fast Vertical Mining Using Diffsets.  Proceedings of the Ninth ACM SIGKDD International Conference on

157

Knowledge Discovery and Data Mining, New York, NY, USA, ACM,  326–335.

76. Zhang Z., Ji G., and Tang M. (2013). MREclat: An Algorithm for Parallel  Mining Frequent Itemsets.  2013 International Conference on Advanced   Cloud and Big Data, 177–180.

77. Zida   S.,   Fournier­Viger   P.,   Lin   J.C.­W.   et   al.   (2015).   EFIM:   a   highly  efficient algorithm for high­utility itemset mining. Mexican International   Conference on Artificial Intelligence, Springer, 530–546.

78. Zong­Yu Z. and Ya­Ping Z. (2012). A Parallel Algorithm of  Frequent  Itemsets Mining Based on Bit Matrix. 2012 International Conference on   Industrial Control and Electronics Engineering, 1210–1213.

79. SPMF: A Java Open­Source Data Mining Library. , accessed:  04/26/2017.

158