1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khai thác top rank k tập xóa được

98 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 1,72 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Đề xuất thuật toán mới IdVM với mong muốn sẽ cải thiện được tính hiệu quả của thuật toán khai thác k thứ hạng đầu tập các thành phần có thể xóa được Top - Rank - K.. Khai thác dữ liệu

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

Trang 3

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

Cán bộ hướng dẫn khoa học : TS TÔ HOÀI VIỆT

Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP HCM ngày 17 tháng 10 năm 2015

Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)

1 PGS TSKH Nguyễn Xuân Huy Chủ tịch

3 TS Nguyễn Thị Thúy Loan Phản biện 2

Trang 4

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: CHÂU TRẦN TRÚC LY Giới tính: Nữ

Ngày, tháng, năm sinh: 23/10/1987 Nơi sinh: An Giang

Chuyên ngành: Công Nghệ Thông Tin MSHV:1341860044

I- Tên đề tài:

Khai Thác Top - Rank - K Tập Xóa Được

II- Nhiệm vụ và nội dung:

- Tổng hợp và phân tích những kết quả nghiên cứu hiện nay trong khai thác top –

rank – k tập xóa được

- Đề xuất thuật toán mới IdVM với mong muốn sẽ cải thiện được tính hiệu quả

của thuật toán khai thác k thứ hạng đầu tập các thành phần có thể xóa được (Top

- Rank - K)

III- Ngày giao nhiệm vụ: 03/04/2015

IV- Ngày hoàn thành nhiệm vụ: 17/09/2015

V- Cán bộ hướng dẫn:

TS Tô Hoài Việt

CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH

TS TÔ HOÀI VIỆT

Trang 5

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này

đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc

Học viên thực hiện Luận văn

Châu Trần Trúc Ly

Trang 6

LỜI CÁM ƠN

Trước tiên tôi xin chần thành cảm ơn Thầy Tô Hoài Việt đã tận tình chỉ dạy và hướng dẫn tôi trong suốt quá trình nghiên cứu và thực hiện luận văn này

Tôi cũng xin cảm ơn PSG TS Lê Hoài Bắc, TS Võ Đình Bảy, TS Cao Tùng Anh

và quý Thầy Cô Khoa Công Nghệ Thông Tin - Trường Đại Học Công Nghệ Thành phố

Hồ Chí Minh đã tận tình giảng dạy và truyền đạt cho tôi những kiến thức bổ ích qua các môn học trong chương trình đào tạo

Cuối cùng tôi xin chân thành cảm ơn gia đình, bạn bè đã giúp đỡ tôi trong suốt quá trình học tập

Tôi xin chân thành cảm ơn

TP Hồ Chí Minh, 2015

CHÂU TRẦN TRÚC LY

Trang 7

TÓM TẮT

Khai thác tập xóa được, được giới thiệu lần đầu vào năm 2009, nó là sự thay đổi thú vị của khai tác tập dữ liệu thường xuyên Nó cho phép các nhà quản lý xem xét cẩn thận các kế hoạch sản xuất của mình để đảm bảo sự ổn định của nhà máy trong quá trình sản xuất kinh doanh Bên cạnh vấn đề khai thác tập xóa được, vấn đề khai thác Top – Rank – K tập xóa được cũng được xem là vấn đề thú vị và là vấn đề khá thực tế Trong bài báo này, chúng tôi đề xuất một thuật toán mới gọi là IdVM cho khai thác Top – Rank – K tập xóa được cùng với các định lý của nó Ưu điểm chính của thuật toán này là tính được lợi nhuận và tìm các tập ứng cử viên một cách nhanh nhất và hiệu quả nhất Để đánh giá thuật toán IdVM tôi đã thí nghiệm trên bộ dữ liệu chuẩn trong thuật toán dVM Hiệu quả của phương pháp đề xuất đã được chứng minh bằng cách so sánh với thời gian khai thác và sử dụng bộ nhớ trên bộ dữ liệu chuẩn đó

Trang 9

Top-MỤC LỤC

LỜI CAM ĐOAN i

LỜI CÁM ƠN ii

TÓM TẮT iii

ABSTRACT iv

KÝ HIỆU VÀ TỪ VIẾT TẮT ix

DANH MỤC CÁC BẢNG BIỂU xii

DANH MỤC HÌNH ẢNH xv

CHƯƠNG 1: GIỚI THIỆU 1

1.1 Khai thác dữ liệu 1

1.2 Khai thác tập xóa được 1

1.3 Khai thác Top – Rank – K tập xóa được 2

1.4 Giới thiệu đề tài 2

1.4.1 Mục tiêu và nội dung nghiên cứu 4

1.4.2 Cấu trúc luận văn 4

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 6

2.1 Bài toán khai thác tập xóa được 6

2.1.1 Phát biểu và mở đầu vấn đề 6

2.1.2 Các định nghĩa 7

2.2 Một số thuật toán khai thác tập xóa được 9

2.2.1 Thuật toán META: 9

2.2.2 Thuật toán VME: 10

2.2.3 Thuật toán MERIT/MERIT+: 11

Trang 10

2.2.4 Thuật toán dMERIT+ 13

2.2.5 Thuật toán MEI 13

2.3 Thuật toán Top – Rank – K 14

2.3.1 Các định nghĩa 14

2.3.2 Phát biểu bài toán và cơ sở lý thuyết 16

2.4 Một số thuật toán Top – Rank – k tập xóa được 16

2.4.1 Thuật toán MIKE 16

2.4.1.1 Định nghĩa và bổ đề 17

2.4.1.2 Phương pháp 19

2.4.1.3 Minh họa 20

2.4.1.4 Nhận xét 25

2.4.2 Thuật toán I-MIKE 25

2.4.2.1 Phương pháp 25

2.4.2.2 Minh họa 27

2.4.2.3 Nhận xét: 29

2.4.3 Thuật toán VM 30

2.4.3.1 Định nghĩa và tính chất của PID_List 30

2.4.3.2 Phương pháp: 35

2.4.3.3 Minh họa 41

2.4.3.4 Nhận xét 45

2.4.4 Thuật toán dVM 46

2.4.4.1 PID_List 46

2.4.4.2 Khai thác Top – Rank – K tập xóa được sử dụng dPID_List: 47

Trang 11

2.4.4.3 Thuật toán dVM 49

2.4.4.4 Minh họa 52

2.4.4.5 Nhận xét 57

CHƯƠNG 3: THUẬT TOÁN IdVM CHO KHAI THÁC TOP – RANK – K TẬP XÓA ĐƯỢC 58

3.1 Giới thiệu 58

3.2 Các khái niệm: 58

3.2.1 Khai thác tập xóa được Top – Rank – K 58

3.2.1.1 PID_List cho thuật toán IdVM 60

3.2.1.2 Thuật toán IdVM áp dụng cấu trúc dPID_List: 61

3.2.2 Phương pháp sinh tập ứng viên 61

3.3 Thuật toán IdVM 62

3.3.1 Ý tưởng 62

3.3.2 Phương pháp 63

3.3.3 Mã giả 64

3.3.4 Minh họa 67

3.3.5 Nhận xét 72

3.4 Thử nghiệm và đánh giá 72

3.5 Thời gian thực hiện 73

3.6 Bộ nhớ sử dụng 75

3.7 Tổng kết: 76

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 78

4.1 Kết luận 78

Trang 12

4.2 Hướng phát triển 78 TÀI LIỆU THAM KHẢO 79

Trang 13

KÝ HIỆU VÀ TỪ VIẾT TẮT

Ký hiệu và

DBe Example database Cơ sở dữ liệu thí dụ dMERIT+ dMERIT+ algorithm Thuật toán dMERIT+

dNC'_Set The difference of two NC'_Sets Hiệu của hai NC'_Set

dPidset The difference of two Pidsets Hiệu của hai Pidset

E k The set of erasable k-itemsets Tập hợp các

I The set of items

Tập hợp toàn bộ các thành phần trong cơ sở

dữ liệu

i k The kth item in I Thành phần thứ k trong I

k-thành-phần A set of k items Tập k thành phần

Trang 14

IdVM Improved dPidset Vertical – format – based algorithm for Mining

Top-Rank-k Erasable Itemsets

Cải thiện thuật toán dVM

MERIT fast Mining ERasable ITemsets

algorithm

Thuật toán MERIT

META Mining Erasable iTemsets with the

Antimonotone property algorithm

Thuật toán META

VME Vertical – format – based algorithm

for Mining Erasable Itemsets

Thuật toán VME

MEI An efficient algorithm for mining

erasable itemsets

Thuật toán MEI

NC_Set The set of NC Tập hợp các NC

PID_list The product identifier and gain list

(inverted list)

Danh sách mã loại sản phẩm và lợi nhuận (danh sách đảo)

pid_list The product identifier list Danh sách mã loại sản

WPPC-tree WPP-code tree Cây WPPC

MIKE Mining Top-Rank-k Erasable

Itemsets

Thuật toán MIKE

Trang 15

I – MIKE Improving Efficiency of MIKE

Algorithm by Reducing Set Size

Thuật toán I – MIKE

VM Mining Top-Rank-k Erasable

Itemsets by PID-lists

Thuật toán VM

dVM A New Approach for Mining

Top-Rank-k Erasable Itemsets

Thuật toán dVM

Trang 16

DANH MỤC CÁC BẢNG BIỂU

Bảng 2.1: Cơ sở dữ liệu DB 6

Bảng 2.2: Các Tập Xóa Được Trong DB với 𝜉 = 16% 9

Bảng 2.3: Các tập top – 5 có thể xóa được trong DBe 15

Bảng 2.4: Bảng 1 – thành phần 20

Bảng 2.5: Bảng Tabk 21

Bảng 2.6: Bảng Tạm 1 - thành phần TR1 21

Bảng 2.7:Ứng cứ viên 2 – thành phần 22

Bảng 2.8: Ứng cử viên 2 – thành phần được chèn vào trong Tabk 23

Bảng 2.9: Bảng tạm 2 – thành phân TR2 23

Bảng 2.10: Tập ứng cử viên 3- thành phần 24

Bảng 2.11: Ứng cử viên 3 – thành phần được chèn vào trong Tabk 24

Bảng 2.12: Kết quả trả về 5 thứ hạng đầu của tập thành phần có thể xóa 24

Bảng 2.13: Bảng 1 – thành phần sắp xếp tăng dần 27

Bảng 2.14: Tập con Candidate Set trong top ‘n’ 27

Bảng 2.15: Ứng cử viên trong top –rank - k 28

Bảng 2.16: Ứng cử viên được thêm vào selected_candidate set 28

Bảng 2.17: Kết quả trả về 5 thứ hạng đầu của tập thành phần có thể xóa 29

Bảng 2.18: Cơ sở dữ liệu đảo ngược 31

Bảng 2.19: Trình bày các bước của thuật toán VM 37

Bảng 2.20: Bảng cở sở dữ liệu đảo 1 – Thành Phần 41

Bảng 2.21: Bảng Tabk – R1 41

Bảng 2.22: Bảng TR1 42

Trang 17

Bảng 2.23: Bảng CR2 42

Bảng 2.24: Bảng Tabk – R2 44

Bảng 2.25: Bảng TR 2 44

Bảng 2.26: Bảng CR3 44

Bảng 2.27: Bảng Tabk – R3 45

Bảng 2.28: Kết quả trả về 5 thứ hạng đầu của tập thành phần có thể xóa 45

Bảng 2.29:Bảng PID_List 1 – thành phần 52

Bảng 2.30:Bảng Tabk – R1 53

Bảng 2.31:Bảng TR1 53

Bảng 2.32:Bảng CR2 54

Bảng 2.33: Bảng Tabk – R2 55

Bảng 2.34: Bảng TR2 55

Bảng 2.35:Bảng CR3 56

Bảng 2.36:Bảng Tabk – R3 56

Bảng 2.37: Kết quả trả về 5 thứ hạng đầu của tập thành phần có thể xóa 56

Bảng 3.1: Bảng tập 1 – thành phần có lợi nhuận tăng dần 68

Bảng 3.2: Bảng Top n, với n =4 68

Bảng 3.3: Bảng Tabk – R1 69

Bảng 3.4: Bảng TR1 69

Bảng 3.5: Bảng CR2 70

Bảng 3.6: Bảng Tabk – R2 70

Bảng 3.7: Bảng TR2 71

Bảng 3.8: Bảng CR3 71

Trang 18

Bảng 3.9:Bảng Tabk – R3 71

Bảng 3.10: Kết quả trả về 5 thứ hạng đầu của tập thành phần có thể xóa 72 Bảng 3.11:Cơ sở dữ liệu thử nghiệm 73

Trang 19

DANH MỤC HÌNH ẢNH

Hình 3.1:Thời gian thực hiện trên dữ liệu Chess 74

Hình 3.2: Thời gian thực hiện trên dữ liệu Mushroom 74

Hình 3.3: Thời gian thực hiện trên dữ liệu T10I4D100k 75

Hình 3.4: Bộ nhớ sử dụng trên dữ liệu Chess 75

Hình 3.5: Bộ nhớ được sử dụng trên dữ liệu Mushroom 76

Hình 3.6: Bộ nhớ được sử dụng trên dữ liệu T10I4D100K 76

Trang 20

CHƯƠNG 1: GIỚI THIỆU 1.1 Khai thác dữ liệu

Ngày nay, khối lượng dữ liệu bùng nổ và ngày càng tăng lên, các khối dữ liệu

có khắp mọi nơi làm cho chúng ta bị tràn ngập trong khối dữ liệu khổng lồ, đặc biệt

là những cơ sở dữ liệu thương mại của các công ty đa quốc gia, hay những cơ sở dữ liệu tầm vĩ mô Do vậy, khai phá dữ liệu ra đời để giúp ta chắt lọc được những thông tin có giá trị từ những khối dữ liệu thô khổng lồ mà chúng ta có được Khai thác dữ liệu có thể hiểu đơn giản là quá trình chắt lọc hay khai phá tri thức từ một khối dữ liệu lớn, đồng thời có thể loại bỏ những thông tin không cần thiết

Khai thác dữ liệu là một quá trình mà công ty sử dụng để chuyển dữ liệu thô thành các thông tin hữu ích, bằng cách sử dụng phần mềm để tìm kiếm các mẫu (thành phần sản xuất) trong một lô dữ liệu lớn, doanh nghiệp có thể tìm hiểu thêm về khách hàng của họ và phát triển chiến lược kinh doanh hiệu quả hơn cũng như tăng doanh thu và chi phí giảm Khai thác dữ liệu phụ thuộc vào hiệu quả bộ sưu tập dữ liệu, kho

dữ liệu cũng như máy tính xử lý

1.2 Khai thác tập xóa được

Khai thác tập xóa được, được tác giả Zhi-Hong Deng và các cộng sự giới thiệu vào năm 2009 Vấn đề khai thác tập xóa được bắt nguồn từ lập kế hoạch sản xuất Xem xét một nhà máy sản xuất, trong đó sản xuất một tập lớn các sản phẩm Từng loại sản phẩm được tạo thành từ một vài thành phần (hoặc vật liệu) Để sản xuất sản phẩm của mình, các nhà máy sản xuất phải dành một số lượng tiền lớn để mua hoặc dự trữ các thành phần (vật liệu) này Khi cuộc khủng hoảng tài chính đang đến, các nhà máy sản xuất xem xét một cách cẩn thận, nên

có kế hoạch sản xuất bởi vì họ không có đủ tiền để mua tất cả các thành phần cần thiết như bình thường Vì vậy, một câu hỏi quan trọng đối với các nhà quản lý của nhà máy là:” làm thế nào để lập kế hoạch sản xuất các sản phẩm do tiền hạn chế ” Họ không thể mua tất cả các thành phần do tiền hạn chế Rõ ràng, họ phải ngừng sản xuất một số sản phẩm bởi vì các nguyên liệu tương ứng là không có Tuy nhiên, vì mục đích lợi nhuận thương mại nên sự mất lợi nhuận của nhà máy, bởi việc ngừng sản xuất một số sản phẩm phải được kiểm soát Do đó,

Trang 21

chìa khóa cho vấn đề là làm thế nào để tìm thấy một cách hiệu quả các thành phần này, mà không có sự mất mát về lợi nhuận vượt quá ngưỡng nhất định Các thành phần này cũng được gọi là “tập có thể xóa được”

Thuật toán đầu tiên cho khai thác tập có thể xóa được có tên là META [2] được Zhi-Hong Deng và các cộng sự giới thiệu vào năm 2009 Tiếp theo, nhóm tác giả này đã đưa ra một loạt thuật toán khác gồm: VME [3], MERIT [4], MEI [9]

1.3 Khai thác Top – Rank – K tập xóa được

Tuy nhiên, các đề xuất trong bài báo META [2] được giới thiệu vào năm 2009

sử dụng một ngưỡng phần trăm để đảm bảo sinh ra các tập có thể xóa được đầy đủ và đúng đắn Các điểm yếu chính của bài báo này là thiết lập ngưỡng phần trăm thì khá khó khăn, bởi vì, người dùng không thể biết được tỷ lệ chính xác trước Một tỷ lệ quá nhỏ có thể dẫn đến việc tạo ra hàng ngàn và hàng chục ngàn tập phổ biến xóa được, trong khi đó một ngưỡng quá lớn thường có thể tạo ra vài tập phổ biến xóa được Bên cạnh đó vấn đề khai thác top – rank – k tập xóa được, được trình bài trong năm 2011, trong đó k là giá trị thứ hạng lớn nhất của tất cả các tập xóa được Đối với nhiệm vụ khai thác dữ liệu mới này, nó cũng đề xuất một thuật toán đầu tiên hiệu quả được gọi

là MIKE khai thác top-rank-k tập xóa được Mặc dù thuật toán MIKE [5], I-MIKE [7], VM [6], dVM [8] có khả năng tìm kiếm tất cả các tập top-rank-k xóa được trong một thời gian hợp lý, nó có hai điểm yếu quan trọng Điểm yếu đầu tiên đó là thời gian hiệu quả của tất cả các thuật toán thì lâu vì nó duyệt cơ sở dữ liệu liên tục Nhược điểm thứ hai là chi phí tính toán của việc đạt được các ứng cử viên tập phổ biến là cao Trong đề tài này, chúng tôi trình bày một thuật toán mới, có thể khắc phục những điểm yếu của các thuật toán trên, để khai thác top-rank-k tập xóa được một cách hiệu quả

1.4 Giới thiệu đề tài

Khai thác dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng

lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó Nhiều vấn

Trang 22

đề khai phá dữ liệu đã thu hút sự chú ý nghiên cứu, bao gồm phân lớp và dự đoán, phân cụm, khai phá chuỗi, luật kết hợp, khai thác các mẫu…Mặc dù có rất nhiều nghiên cứu về khai thác mẫu, chẳng hạn như khai thác mẫu tiện ích cao khai thác tập phổ biến, khai thác tập xóa được …với ứng dụng rộng rãi của khai thác mẫu trong mỗi bước đi của cuộc sống mà vấn đề là khai thác tập xóa được Các kết quả nghiên cứu cùng với ứng dụng thành công trong khai phá tập dữ liệu, khai thác mẫu, khám phá tri thức cho thấy khai phá dữ liệu là một khoa học tiềm năng, mang lại nhiều lợi ích, nó có ưu thế hơn hẳn với các công cụ phân tích truyền thống, nó đặt biệt hữu ích với cuộc khủng hoảng tài chính hoặc giảm bớt thành phần sản xuất mà vẫn đem lại lợi nhuận kinh tế trong suốt quá trình hoạt động của một công ty, nhà máy sản xuất hay một tổ chức nào đó

Bắt nguồn trong hoạt động sản xuất kinh doanh, con người đã tạo ra nhiều dữ liệu nghiệp vụ từ việc lập kế hoạch sản xuất Ví dụ khi một nhà máy sản xuất, nhà máy sẽ sản xuất ra một tập lớn các sản phẩm Từng loại sản phẩm sẽ được tạo nên từ một vài thành phần (hoặc nguyên vật liệu) Để sản xuất sản phẩm của mình, các nhà máy cần phải có một số lượng tiền rất lớn để mua hoặc dữ trữ các thành phần nguyên liệu Đó là trong tình trạng tài chính ổn định, nhưng nếu cuộc khủng hoảng tài chính xảy ra, lúc này nhà máy cần phải có một kế hoạch sản xuất để giải quyết về tài chính

vì họ không có đủ tiền để mua những thành phần cần thiết như bình thường Lúc này

họ phải ngừng sản xuất một số sản phẩm bởi vì các nguyên liệu tương ứng là không

có Vì mục đích lợi nhuận thương mại nên sự mất lợi nhuận của nhà máy bởi việc ngừng sản xuất một số sản phẩm phải được kiểm soát Do đó, vấn đề làm thế nào để giải quyết hiệu quả của các thành phần này mà không có sự mất mát về lợi nhuận vượt qua ngưỡng mà nhà máy đặt ra Để giải quyết vấn đề mà nhà máy đặt ra trên thực tế đã có các thuật toán như META [2], VME [3], MERIT+[4], MEI [9], MIKE [5], I-MIKE [7], VM [6], dVM [8] trong lĩnh vực khai thác tập xóa được Tuy nhiên, Deng, Fang, Wang, và Xu [2] sử dụng một phần trăm ngưỡng để đảm bảo rằng sự phát sinh chính xác và hoàn chỉnh tập các item có thể xóa Điểm yếu chính là thiết lập ngưỡng phần trăm thì khó khăn bởi vì người dùng không thể biết chính xác phần

Trang 23

trăm đúng thời điểm Một phần trăm quá nhỏ có thể dẫn đến việc tạo ra hàng ngàn đến hàng chục ngàn tập các thành phần có thể xóa Trong các bài báo trước, Zhihong Deng và Xiaoran Xu, Gargi Narula, Sunita Parashar, Giang Nguyen đã giới thiệu một

tác vụ khai thác dữ liệu mới được gọi là khai thác k thứ hạng đầu tập các thành phần

có thể xóa, với k là giá trị thứ hạng lớn nhất của tất cả tập các thành phần có thể xóa được khai thác Với tác vụ khai thác mới này, các tác giả bài báo đã đề xuất ra nhiều

thuật toán như MIKE [5], I-MIKE [7], VM [6], dVM [8] để khai thác k thứ hạng đầu

tập các thành phần có thể xóa Họ cũng tiến hành thử nghiệm trên một số cơ sở dữ liệu tổng hợp để đánh giá giải thuật của họ Để đánh giá tính hiệu quả của một giải thuật thì vấn đề sử dụng bộ nhớ và tiêu tốn thời gian xử lý luôn luôn được xem xét hàng đầu Do đó, tôi xin nghiên cứu và đề xuất một thuật toán mới - IdVM dựa trên

sự kết hợp giữa thuật toán dVM và I-MIKE nhằm góp phần làm phong phú thêm các giải pháp cho bài toán trên và mong muốn cải thiện được tính hiệu quả của thuật toán

1.4.1 Mục tiêu và nội dung nghiên cứu

 Tổng hợp và phân tích những kết quả nghiên cứu hiện nay trong khai thác top – rank – k tập xóa được

 Đề xuất thuật toán mới IdVM với mong muốn sẽ cải thiện được tính hiệu

quả của thuật toán khai thác k thứ hạng đầu tập các thành phần có thể xóa

được (Top - Rank - K)

1.4.2 Cấu trúc luận văn

Chương 1: Giới Thiệu

Giới thiệu tổng quan về khai thác dữ liệu nói chung và tác vụ khai thác tập xóa được, khai thác top – rank – k tập xóa được nói riêng Khái quát mục đích và nội dung nghiên cứu của đề tài luận văn

Trang 24

Chương 2: Cơ sở lý thuyết

Trình bày bài toán khai thác top – rank – k tập xóa được, các khái niệm trong khai thác top – rank – k tập xóa được Tổng hợp và phân tích các phương pháp, kết quả nghiên cứu hiện nay

Chương 3: Thuật toán IdVM cho khai thác Top – Rank - K tập xóa được

Đề xuất một phương pháp khai thác tập xóa được Bao gồm khái niệm cấu trúc

PID_List, dPID_List và những cấu trúc bổ sung, những định nghĩa, tính chất trong

phương pháp Thuật toán mới cải tiến thuật toán dVM trong khai thác được tạo ra từ

Top – Rank - K tập xóa được dựa trên dPID_List và tập ứng cử viên sinh ra từ top n

thành phần

Trình bày kết quả thử nghiệm và đánh giá phương pháp Luận văn tiến hành thực nghiệm trên cơ sở so sánh thuật toán dVM với một thuật toán mới IdVM

Chương 4: Kết luận và hướng phát triển

Tổng kết những nội dung chính của luận văn và trình bày những hướng phát triển trong tương lai

Trang 25

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Khai thác tập xóa được và khai thác top – rank – k tập xóa được là một tác vụ mới nhưng đã được nhiều tác giả trên thế giới quan tâm nghiên cứu và phát triển Chương này sẽ trình bày các khái niệm và phát biểu bài toán khai thác tập xóa được

và khai thác top – rank – k tập xóa được Liệt kê những phương pháp hiện có và đưa

 PID là định danh của 𝑃𝑖 hay còn gọi là mã loại sản phẩm

 Items là tất cả các thành phần (hoặc các thành phần) tạo thành 𝑃𝑖

 Val là lợi nhuận mà một xí nghiệp sản xuất ( hoặc nhà máy ) thu được

bằng cách bán tất cả các sản phẩm loại 𝑃𝑖 Ngưỡng 𝜉 cho trước là ngưỡng giảm % lợi nhuận

Dưới đây là cơ sở dữ liệu thí dụ DB sẽ được dùng để làm ví dụ và minh họa

trong luận văn

Bảng 2.1: Cơ sở dữ liệu DB

Trang 26

2.1.2 Các định nghĩa

Một tập 𝐴 ⊆ 𝐼 được gọi là một tập thành phần (nguyên liệu) Nếu A có một phần tử thì A được gọi là 1 - thành phần Nếu A có k phần tử (2 ≤ k ≤ m) thì A được gọi là k - thành phần

Lợi nhuận của một tập thành phần là tổng lợi nhuận của tất cả các sản phẩm

có chứa ít nhất một phần tử thuộc tập thành phần đó

Định nghĩa 2.1: Cho 𝐴 ⊆ 𝐼 là một tập Items (một tập các thành phần), lợi

nhuận của A được định nghĩa là:

Trang 27

Gain(A) = 𝑃7.Val + 𝑃8.Val + 𝑃9.Val + 𝑃10.Val + 𝑃11.Val

= 200 + 100 + 50 + 150 + 100 = 600 nghìn đô la

Định nghĩa 2.2: Cho một ngưỡng 𝜉 được xác định trước và một cơ sở dữ liệu

sản phẩm DB, một tập xóa được A nếu

𝑃7, 𝑃8, 𝑃9, 𝑃10 ℎ𝑜ặ𝑐 𝑃11 Tuy nhiên, lợi nhuận bị mất là không quá 16 % lợi nhuận ban đầu Tập xóa được đặc biệt hữu ích cho các nhà sản xuất quyết định làm thế nào để mua nguyên liệu thô và lập kế hoạch quá trình sản xuất sản phẩm trong trường hợp khủng hoảng kinh tế

Ví dụ 1: cho 𝜉 = 16%, tập 2 - thành phần A = {𝑒, ℎ} trong DB là tập xóa được

do Gain(A) = 600 ≤ 16% × 5000 = 800

Trang 28

Xem xét các cơ sở dữ liệu trong ví dụ sản phẩm được thể hiện trong bảng 2.1 Cho 𝜉 là 16% Theo định nghĩa 2.2, toàn bộ tập phổ biến xóa được như sau:

Bảng 2.2: Các Tập Xóa Được Trong DB với 𝜉 = 16%

STT Tập Xóa Được Lợi Nhuận STT Tập Xóa Được Lợi Nhuận

2.2 Một số thuật toán khai thác tập xóa được

2.2.1 Thuật toán META:

META (Mining Erasable iTemsets with the Anti-monotone property) là thuật

toán đầu tiên trong khai thác các tập thành phần không hữu ích được Zhi-Hong Deng

và các cộng sự giới thiệu vào năm 2009 Thuật toán này thực ra dựa trên ý tưởng của thuật toán Apriori [1] trong khai thác mẫu phổ biến Các kết quả của META [2] là các tập xóa được Tuy nhiên, thời gian khai thác của thuật toán này dài bởi vì:

 META duyệt cơ sở dữ liệu lần đầu tiên để xác định tổng số lợi nhuận

của các nhà máy và k lần để xác định thông tin kết hợp với mỗi EI, với

k là mức tối đa của kết quả EIs Ví dụ 1: META tìm thấy một tập hoặc

xóa được nhiều hơn 5 tập, đó là mức tối đa của EIs Do đó, META duyệt các cơ sở dữ liệu 6 lần

 Chiến lược META sử dụng để tạo ra các tập ứng cử viên nó là một chiến lược ngây thơ trong đó một tập xóa được (k - 1), X được xem như

là tất cả phần xóa được còn lại tập (k -1), sử dụng để kết hợp và tạo ra

Trang 29

tập xóa được k Chỉ có một số lượng nhỏ phần còn lại của tất cả tập xóa được (k- 1) có tiền tố giống như của X được kết hợp Ví dụ 1: xem tập xóa được 2 thành phần {ab, ac, ad, bc, bd, cd}, META xét các yếu tố đầu tiên {ab} để kết hợp với tất cả tập xóa được còn lại của tập 2 thành phần {ac, ad, bc, bd, cd} Chỉ {ac, ad} được sử dụng để kết hợp với {ab}, và {bc, bd, cd} là không cần thiết

2.2.2 Thuật toán VME:

VME (Vertical-format-based algorithm for Mining Erasable Itemsets) được Zhi-Hong Deng và các cộng sự giới thiệu vào năm 2010 Các tác giả đã đề xuất phương pháp tiếp cận cơ sở dữ liệu theo định dạng chiều dọc (cơ sở dữ liệu đảo), cùng một cấu trúc dữ liệu là PID-list nhằm khai thác các tập không hữu ích một cách hiệu quả, đồng thời tự động loại bỏ dữ liệu dư thừa Theo kết quả thực nghiệm của các tác giả, thuật toán VME [3] có thời gian thực hiện trung bình nhanh hơn gấp hai lần so với thuật toán META [2] Thuật toán này nhanh hơn so với thuật toán META bởi vì nó duyệt cơ sở dữ liệu chỉ có hai lần Một số điểm yếu liên quan đến VME được chỉ ra như sau:

 VME duyệt cơ sở dữ liệu để xác định tổng lợi nhuận của các nhà máy và sau đó duyệt cơ sở dữ liệu một lần nữa để tìm thấy tất cả tập xóa được 1 thành phần và PID_Lists nó Duyệt các cơ sở dữ liệu mất rất nhiều thời gian và bộ nhớ Cơ sở dữ liệu có thể được duyệt một lần chỉ khi xem xét cẩn thận

 VME sử dụng chiến lược tìm kiếm theo chiều rộng trước trong đó tất

cả các tập xóa được (k – 1) được sử dụng để tạo ra tập k Tuy nhiên phân loại tập xóa được (k-1) với cùng một tiền tố như tập xóa được (k-2) mất rất nhiều thời gian và quá trình hoạt động Ví dụ tập xóa được 2 thành phần là {ab, ac, ad, bc, bd, cd} trong đó có 3 tiền tố là tập 1- thành phần cụ thể là {a}, {b} và {c} Thuật toán này chia phần tử thành các nhóm xóa được 2 thành phần, nó giống tiền tố như tập xóa được một

Trang 30

thành phần Đặc biệt tập xóa được 2 - thành phần được phân thành 2 nhóm {ab, ac, ad}, {bc, bd}, and {cd} Sau đó, thuật toán này kết hợp từng phần tử của mỗi nhóm để tạo ra các ứng cử viên xóa được 3 thành phần đó là {abc}, {abd}, {acd}, và {bcd}

 VME sử dụng các chiến lược liên minh, trong đó X’s PID_List là một tập hợp con của Y’s PID_List nếu X ⊆ Y Chiến lược này đòi hỏi nhiều

bộ nhớ và quá trình hoạt động cho một số lượng lớn các EIs

 VME lưu trữ lợi nhuận của mỗi sản phẩm (Val) trong một cặp <PID, Val> của PID_List Điều này dẫn đến trùng lắp dữ liệu vì một cặp <PID, Val> có thể xuất hiện trong nhiều PID_Lists Do đó, thuật toán này đòi hỏi nhiều bộ nhớ Sử dụng bộ nhớ có thể được giảm bằng cách sử dụng chỉ số đạt được

2.2.3 Thuật toán MERIT/MERIT+:

MERIT (Fast Mining ERasable ITemsets) được Zhi-Hong Deng và các cộng

sự trình bày vào năm 2011 Phuơng pháp này đưa ra một cấu trúc biểu diễn dữ liệu là

NC-set cho phép lưu trữ đầy đủ thông tin cần thiết từ cơ sở dữ liệu phục vụ cho khai

thác các tập không hữu ích Cấu trúc NC-set được xác định dựa trên cấu trúc

WPPC_tree, một cấu trúc cây theo ý tưởng cây FP MERIT hiệu quả trong khai thác

các tập không hữu ích với cấu trúc NC-set nhờ vào những kỹ thuật sau:

 NC-set là một cấu trúc chặt chẽ và tự động loại bỏ dữ liệu thừa

 Lợi nhuận của một tập thành phần được tính dựa trên kết hợp các

NC-set lại một cách khéo léo, với độ phức tạp tuyến tính

 MERIT hạn chế phát sinh các tập ứng viên

Thuật toán được đánh giá bằng những thí nghiệm trong phạm vi rộng, dựa trên nhiều cơ sở dữ liệu tổng hợp Nghiên cứu về hiệu suất cho thấy MERIT là một thuật toán hiệu quả, có tốc độ trung bình nhanh hơn gấp hai lần so với thuật toán META

Tuy nhiên, tương tự như VME, MERIT vẫn có ba điểm yếu sau đây:

Trang 31

 MERIT sử dụng các chiến lược liên minh, trong đó X’s NC_Set tập hợp con của Y’s NC_Set nếu X ⊆ Y Kết quả là, việc sử dụng bộ nhớ của MERIT là lớn và cho một số lượng lớn các EIs

 MERIT duyệt cơ sở dữ liệu ba lần để xây dựng cây WPPC Sau đó, nó duyệt cây WPPC hai lần để tạo ra các NC_Set của tập xóa được 1 thành phần Các bước trước đó mất rất nhiều thời gian và quá trình hoạt động

 MERIT lưu trữ các giá trị lợi nhuận của sản phẩm trong mỗi NC của NC_Set, dẫn đến trùng lắp dữ liệu

MERIT có một số vấn đề mà nó là nguyên nhân gây ra sự mất mát số lượng lớn EIs:

 MERIT sử dụng một tuyên bố nếu kiểm tra tất cả các tập con (k - 1) thành phần của một k - thành phần, X xóa được hay không để tránh việc thực hiện các thủ tục NC_Combination Tuy nhiên, MERIT sử dụng chiến lược tìm kiếm theo chiều sâu, do đó không đủ ( k – 1 ) thành phần trong kết quả kiểm tra này Nếu tuyên bố luôn luôn là sai Do đó, tất cả các xóa được k - thành phần ( k > 2) luôn không xóa được Kết quả của MERIT là có thể xóa tập 1- thành phần và xóa được tập 2 - thành phần Khi X’s NC_Set được xác định, thuật toán này ngay lập tức có thể quyết định xem X là xóa được

 MERIT mở rộng các lớp tương đương của ECv[k] Do đó, kết quả của thuật toán này không phải tất cả EIs Điều này cải thiện thời gian khai thác, nhưng không phải tất cả EIs được khai thác

Thuật toán MERIT+: Thuật toán MERIT đã được nhóm tác giả Tuong Le., Bay Vo và Frans Coenen nghiên cứu và cải tiến vào năm 2013 Các tác giả đã chỉ ra một sai sót nghiêm trọng của MERIT và khắc phục bằng thuật toán MERIT+ Đồng thời giới thiệu một thuật toán mới là dMERIT+ nhằm cải tiến những hạn chế của MERIT

Trang 32

Điểm sai của MERIT là không tìm được đầy đủ các tập không hữu ích Nguyên nhân đã được tác giả MERIT+ chỉ ra như sau:

 Thủ tục Mining_E kiểm tra tất cả các tập con (k-1)-thành phần của một

k-thành phần X có là tập không hữu ích hay không để xác định tính

không hữu ích của X Tuy nhiên, MERIT sử dụng chiến lược tìm kiếm theo chiều sâu nên không thể xét đầy đủ các tập con (k-1)-thành phần trong từng bước Do đó bước kiểm tra này luôn cho kết quả sai khi k >

2 và mọi tập con (k-1)-thành phần đều không phải là tập không hữu ích

 Thủ tục Mining_E mở rộng các lớp tương đương EC v [k], do đó các kết

quả của MERIT không bao gồm đầy đủ các tập không hữu ích

2.2.4 Thuật toán dMERIT+

Thuật toán dMERIT+ được các tác giả Tuong Le., Bay Vo., và Frans Coenen giới thiệu vào năm 2013 Đây là một thuật toán cải tiến từ thuật toán MERIT/MERIT+ dMERIT+ khai thác tập không hữu ích dựa trên cấu trúc dNC-set

và một bảng chỉ mục trọng số (Weight index) của các thành phần, giúp cải thiện thời gian thực hiện và bộ nhớ sử dụng của MERIT/MERIT+

2.2.5 Thuật toán MEI

Thuật toán MEI chỉ duyệt cơ sở dữ liệu một lần, nó sử dụng chiến lược chia

để trị và khái niệm khác biệt pidset (dPidset) cho khai tác tập xóa được một cách đầy

đủ Một số định lý cho tính toán hiệu quả tập thông tin để giảm thời gian khai thác và

ít tốn bộ nhớ MEI thì hiệu quả hơn VME và MERIT + trong điều kiện về khai thác thời gian và sử dụng bộ nhớ Nó có khả năng khai thác EIs với ngưỡng cao hơn so với những người thu được sử dụng VME và MERIT+ Kết quả thực nghiệm cho thấy rằng hiện nay phương pháp MEI tốt hơn cả về thời gian khai thác và sự dụng bộ nhớ Hơn nữa, các thuật toán đề xuất khả năng khai tác EIs với ngưỡng cao hơn so với những người thu được bằng cách sử dụng các phương pháp hiện có

Trang 33

2.3 Thuật toán Top – Rank – K

Một kỹ thuật trong khai thác dữ liệu nói chung và khai thác tập không hữu ích

nói riêng là “ khai thác các tập top – rank – k “ Trong đó k là giá trị “ hạng” cao nhất

để từ đó tìm các tập có thể xóa được

2.3.1 Các định nghĩa

Định nghĩa 2.3:(Lợi nhuận) Cho một tập hợp các thành phần A (⊆ 𝐼), lợi

nhuận của A được định nghĩa như sau:

{𝑷𝒌| 𝑨∩𝑷𝒌.𝑰𝒕𝒆𝒎𝒔≠∅}

Lợi nhuận của tập các thành phần A là tổng các giá trị của các sản phẩm bao gồm ít nhất 1 - thành phần trong A là thành phần của chúng

Định nghĩa 2.4 ( Rank của tập các Item ) Cho cơ sở dữ liệu sản phẩm DB

và một mẫu A(⊆ 𝐼), RA, rank của A được định nghĩa:

𝑹𝒂𝒏𝒌 (𝑨) = |{𝑮𝒂𝒊𝒏 (𝑿)| 𝑿 ⊆ 𝑰 𝒂𝒏𝒅 𝑮𝒂𝒊𝒏( 𝑿) ≤ 𝑮𝒂𝒊𝒏 (𝑨)}|

Chú ý rằng |Y| là số phần tử của Y

Định nghĩa 2.5: ( k thứ hạng đầu tập các thành phần có thể xóa ) Cho một

giao tác cơ sở dữ liệu DB và một ngưỡng k, một tập các thành phần A (⊆ 𝐼) được gọi

là k thứ hạng đầu tập các thành phần có thể xóa nếu và chỉ nếu RA không lớn hơn k

(RA≤ 𝑘)

Dựa vào các định nghĩa trên, bài toán khai thác k thứ hạng đầu tập các thành

phần có thể xóa được mô tả như sau: Cho một giao tác cơ sở dữ liệu DB và một

ngưỡng k, khai thác k thứ hạng đầu tập các thành phần có thể xóa là tác vụ tìm kiếm một tập hoàn chỉnh có thể xóa được mà thứ hạng của nó không lớn hơn k.

Xét một ví dụ được trình bày ở bảng 2.1 Có 8 thành phần khác nhau và 11 sản phẩm, mỗi sản phẩm bao gồm 3 trường: PID, Items và Val Dựa trên bảng 2.1, Cho ngưỡng k là 5 Bảng 2.3 sẽ biểu diễn 5 thứ hạng đầu tập các thành phần có thể xóa

(4) (3)

Trang 34

Bảng 2.3: Các tập top – 5 có thể xóa được trong DB e

theo giá trị lợi nhuận

Trang 35

2 Dựa trên các 1-thành phần trong 𝑇𝑎𝑏𝑘 để tìm các ứng viên 2-thành phần Nếu lợi nhuận của một ứng viên 2-thành phần không vượt quá giá trị lợi nhuận lớn nhất trong 𝑇𝑎𝑏𝑘 thì chèn vào bảng 𝑇𝑎𝑏𝑘 Sau mỗi lần chèn tập thành phần vào 𝑇𝑎𝑏𝑘, kiểm tra nếu số bộ trong 𝑇𝑎𝑏𝑘 vượt quá k thì xóa các bộ nằm sau bộ thứ k

3 Lặp lại (2) sinh các tập xóa được top-k (l+1)-thành phần dựa trên các

l-thành phần tập xóa được top-k cho đến khi không còn tìm được tập nào nữa

2.3.2 Phát biểu bài toán và cơ sở lý thuyết

Cho 𝐼 = (𝑖1, 𝑖2, … 𝑖𝑚) là một tập hợp các thành phần đại diện cho các thành phần của sản phẩm

Tập 𝐷𝐵 = (𝑃1, 𝑃2, … 𝑃𝑛) trong đó 𝑃𝑖( 𝑖 ∈ [1 … 𝑛] ) là một loại sản phẩm được trình bày dưới hình thức 〈𝑃𝐼𝐷, 𝐼𝑡𝑒𝑚𝑠, 𝑉𝑎𝑙〉 Trong đó:

 PID là định danh của 𝑃𝑖 hay còn gọi là mã loại sản phẩm

 Items là tất cả các thành phần ( hoặc các thành phần ) tạo thành 𝑃𝑖

 Val là lợi nhuận mà một xí nghiệp sản xuất ( hoặc nhà máy ) thu được

bằng cách bán tất cả các sản phẩm loại 𝑃𝑖

Một ngưỡng k, một tập các thành phần A (⊆ 𝐼) được gọi là k thứ hạng đầu tập

các thành phần có thể xóa nếu và chỉ nếu RA không lớn hơn k (RA≤ 𝑘)

2.4 Một số thuật toán Top – Rank – k tập xóa được

2.4.1 Thuật toán MIKE

Một giải thuật hiệu quả cho bài toán khai thác k thứ hạng đầu tập các thành phần có thể xóa được Một phương pháp đơn giản để tìm được tất cả các k thứ hạng

đầu tập các thành phần có thể xóa được là liệt kê tất cả tập các thành phần, tính toán thu được lợi nhuận của chúng và sắp xếp chúng theo thứ tự tăng dần theo lợi nhuận

của chúng Cuối cùng chúng ta đạt được k thứ hạng đầu tập các thành phần có thể xóa

Trang 36

được từ tập được sắp xếp Tuy nhiên, phương pháp này thì không hiệu quả Hãy phân tích độ phức tạp của phương thức này Cho m là số lượng các thành phần khác nhau Chúng ta biết rằng có (2m-1) tập các thành phần khác rỗng Do đó, độ phức tạp của thuật toán là O(2m), đó là thời gian theo cấp số nhân và không thể chấp nhận Thiếu sót chính của phương pháp này là thực hiện tìm kiếm theo Brute-force, mà theo cách này nó sẽ chiếm toàn bộ không gian và xem xét mọi giải pháp có thể Như vậy nó cần

thiết để thiết kế một thuật toán hiệu quả để tìm k thứ hạng đầu tập các thành phần có

thể xóa được Trước khi trình bày thuật toán của Zhihong Deng và Xiaoran Xu, trước tiên hãy tìm hiểu một số tính chất liên quan đến khai thác tập các thành phần có thể xóa

2.4.1.1 Định nghĩa và bổ đề

Bổ đề 2.1

Nếu tập A không là k thứ hạng đầu tập các thành phần có thể xóa, thì bất kỳ tập các thành phần B chứa A, còn gọi là tập cha của A, không thể là một k thứ hạng đầu tập các thành phần có thể xóa

Chứng minh: cho tập B là tập cha của A Cho bất cứ sản phẩm Pi thỏa Pi.Items

∩ A ≠ ∅, chúng ta biết rằng Pi.Items ∩ 𝐵 ≠ ∅ vì A ⊆ 𝐵 Theo định nghĩa 2.4 chúng

Trang 37

Rank(B) < Rank(A) Theo định nghĩa 2.4 chúng ta có:

Cho một cơ sở dữ liệu sản phẩm DB, một ngưỡng k và một tập hợp tập các

thành phần PS (⊆ 2I, 2I là số tập con của I) Cho bất kỳ tập các thành phần A(∈PS),

A không thể là k thứ hạng đầu tập các thành phần có thể xóa của DB nếu R(A,PS) lớn hơn k

Chứng minh: cho bất kỳ X ∈ PS, chúng ta có X ⊆ I Theo định nghĩa 2.4 và

bổ đề 2.1 chúng ta có

R(A,PS) ≤ Rank(A)

Lý do là { Gain(X) | X ⊆ 𝐼 và Gain(X) ≤ Gain(A)} chứa {Gain(X) | X ∈ PS

và Gain(X) ≤ Gain(A)} Tuy nhiên, chúng ta đã biết :

Trang 38

Bằng cách sử dụng định nghĩa và bổ đề 2.2, chúng ta có thể làm giảm không

gian tìm kiếm của khai khoáng k thứ hạng đầu tập các thành phần có thể xóa MIKE,

thuật toán khai thác, được thảo luận trong đoạn sau Chúng ta ký hiệu một tập các thành phần có chiều dài 𝑙 bằng 𝑙- thành phần Chiều dài của một tập thành phần là số lượng của các phần tử bên trong tập thành phần đó MIKE sử dụng cách tiếp cận lặp, được biết đến như là tìm kiếm ở mức độ khôn ngoan Phương pháp lặp sử dụng 𝑙- thành phần để tìm kiếm (𝑙+1) - thành phần Dưới đây là các thủ tục xử lý

2.4.1.2 Phương pháp

Giá trị đầu vào: Cơ sở dữ liệu sản phẩm DB và một ngưỡng k

Đầu ra: Bảng k thứ hạng đầu, Tabk bao gồm tất cả k thứ hạng đầu tập các thành

Bước 2: Duyệt cơ cơ sở dữ liệu sản phẩm DB Thu thập tập hợp k thứ hạng

đầu tập 1- thành phần có thể xóa Chèn tập 1- thành phần có thể xóa vào Tabk

Bước 3: Sử dụng tập 1- thành phần có thể xóa trong Tabk để phát sinh những ứng viên tập 2- thành phần Duyệt DB một lần nữa để thu được lợi nhuận của các ứng viên tập 2- thành phần Nếu lợi nhuận của ứng viên tập 2- thành phần không lớn hơn giá trị tối đa của lợi nhuận trong Tabk, ứng viên 2- thành phần được chèn vào Tabk Sau mỗi thao tác chèn, Tabk được kiểm tra để chắc rằng số lượng bộ không nhiều hơn

k Nếu số lượng bộ nhiều hơn k, thì bộ phía sau bộ thứ hạng thứ k sẽ bị xóa khỏi Tabk

Bước 4: Lặp lại bước 3 bằng cách sử dụng k thứ hạng đầu tập 𝑙- thành phần

có thể xóa trong Tabk, để tạo ra các ứng viên k thứ hạng đầu tập ( 𝑙+1) - thành phần

có thể xóa cho đến khi không có tập các thành phần có thể xóa mới được chèn vào

Trang 39

Tabk Cách tạo ra các tập ứng viên k thứ hạng đầu tập ( 𝑙+1) – thành phần có thể xóa

bằng cách sử dụng k thứ hạng đầu các tập 𝑙- thành phần có thể xóa được trình bày

như sau:

Cho bất cứ 𝑙- thành phần A1 ∈ Tabk và A2 ∈ Tabk , chúng ta tạo các tập ứng viên (𝑙+1) - thành phần A = A1 ∪ A2 nếu A1 và A2 có cùng thành phầns của 𝑙-1

Chú ý rằng bổ đề 2.1 để chắc rằng bước 3 và 4 không bỏ qua bất kỳ k thứ hạng

đầu tập các thành phần có thể xóa nào trong khi bổ đề 2.2 đảm bảo tính hợp lý của điều kiện chấm dứt vòng lặp trong bước 4

2.4.1.3 Minh họa

Cho DB e và k = 5 Tìm 5 thứ hạng đầu của tập thành phần có thể xóa

Bước 1: Khởi tạo Tabk rỗng bao gồm 2 trường thành phần sản phẩm và lợi nhuận

Bước 2: Duyệt cơ sở dữ liệu sản phẩm DB, thu được bảng 1 – thành phần có thể xóa

Ngày đăng: 05/03/2021, 15:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w