TÓM TẮTTiểu luận này nghiên cứu về việc tìm ra các phụ thuộc hàm có điều kiện (CFD). CFD là sự mở rộng gần đây của phụ thuộc hàm (FD) nhờ hỗ trợ thêm các biểu mẫu (pattern) của các hằng số có liên quan về mặt ngữ nghĩa, và có thể được sử dụng làm các quy luật để làm sạch dữ liệu liên quan. Tuy nhiên, tìm ra các CFD chất lượng là một quy trình tốn kém đòi hỏi nhiều nỗ lực thủ công. Để nhận diện hiệu quả các quy luật làm sạch dữ liệu, ta cần xây dựng các kỹ thuật phát hiện các CFD từ các hệ thức. Tìm ra các FD đặc thù đã khó, vấn đề tìm ra các CFD còn khó hơn. Thật vậy, khai thác các biểu mẫu trong CFD mang đến rất nhiều thử thách. Bài báo cung cấp 3 phương pháp tìm ra CFD. Phương pháp thứ nhất, được nhắc đến với tên gọi CFDMiner, dựa trên các kỹ thuật khai thác các bộ phần tử đóng, và được sử dụng để tìm các CFD bất biến, cụ thể là các CFD chỉ có các biểu mẫu bất biến. Các CFD bất biến đặc biệt quan trọng đối với việc nhận diện đối tượng, vốn là điểm thiết yếu đối với việc xóa và tích hợp dữ liệu. Hai thuật toán khác được xây dựng để tìm ra các CFD tổng hợp. Một thuật toán, được gọi là CTANE, là một thuật toán phân cấp mở rộng thêm TANE, một thuật toán phổ biến dùng cho khai thác các FD. Cái còn lại, được gọi là FastCFD, dựa trên phương pháp ưu tiên chiều sâu được sử dụng trong FastFD, một phương thức tìm ra các FD. Nó tận dụng tối đa việc khai thác bộ phần tử đóng để giảm khoảng tìm kiếm. Đã được kiểm nghiệm bởi nghiên cứu thực tiễn của chúng tôi, CFDMiner có thể là nhiều bậc nhanh hơn so với CTANE và FastCFD đối với việc tìm ra CFD bất biến. CTANE hoạt động ổn khi một hệ thức đưa ra là lớn, nhưng nó không thích ứng tốt với hạng (arity) của hệ thức. FastCFD hiệu quả hơn nhiều so với CTANE khi hạng của hệ thức là lớn; nó cũng tốt hơn khi tận dụng sự tối ưu hóa dựa trên việc khai thác bộ phần tử đóng, FastCFD cũng thích ứng tốt với quy mô của hệ thức. Các thuật toán này tạo ra một bộ các công cụ tìm kiếm quy luật làm sạch dữ liệu cho người dùng lựa chọn với các ứng dụng khác nhau.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÀNH PHỐ HỒ CHÍ MINH
NGUYỄN MINH PHƯƠNG
TÌM KIẾM CÁC PHỤ THUỘC HÀM CÓ ĐIỀU KIỆN
(DISCOVERING CONDITIONAL FUNCTIONAL DEPENDENCIES)
Tiểu luận môn Khám phá tri thức và Khai thác dữ liệu
TP HỒ CHÍ MINH - 2015
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÀNH PHỐ HỒ CHÍ MINH
NGUYỄN MINH PHƯƠNG
TÌM KIẾM CÁC PHỤ THUỘC HÀM CÓ ĐIỀU KIỆN
(DISCOVERING CONDITIONAL FUNCTIONAL DEPENDENCIES)
Tiểu luận môn Khám phá tri thức và Khai thác dữ liệu
Người hướng dẫn khoa học:
PGS TS VÕ ĐÌNH BẢY
TP HỒ CHÍ MINH – 2015
Trang 3MỤC LỤC
TÓM TẮT 4
I GIỚI THIỆU 5
1.1 Các công trình trước đây 6
1.2 Các đóng góp 8
1.3 Tổ chức 9
II CÁC PHÁT HIỆN CFD VÀ CFD 10
2.1 CÁC PHỤ THUỘC HÀM CÓ ĐIỀU KIỆN 10
2.1.1 Các CFD 10
2.1.2 Ngữ Nghĩa 10
2.1.3 Phân Loại các CFD 11
2.2 BÀI TOÁN TÌM KIẾM CÁC CFD 12
2.2.1 Các CFD cực tiểu 12
2.2.2 Các CFD phổ biến 13
2.2.3 Nêu bài toán 13
2.3 Tìm ra các CFD với mẫu Tableaus 13
III TÌM CÁC CFD KHÔNG ĐỔI 15
3.1 Các ItemSet tự do và đóng 15
3.2 CFD MINER 17
IV CTANE: THUẬT TOÁN THEO CẤP ĐỘ 18
4.1 Chiến lược tỉa bớt 18
4.2 CTANE để tìm ra CFD k-phổ biến 20
4.3 Tính đúng đắn 22
4.4 Chi tiết thực hiện 22
V FASTCFD: PHƯƠNG PHÁP CHIỀU SÂU ĐẦU TIÊN 24
5.1 Các tập sai phân 25
5.2 Chiến lược tỉa bớt mẫu hiệu quả 26
5.3 Chi tiết thực hiện và tối ưu hóa 30
5.4 Naive Fast 31
5.5 Fast CFD 31
5.6 Sắp xếp lại thuộc tính năng động 31
VI NGHIÊN CỨU VÀ THỰC NGHIỆM 32
6.1 Các cài đặt thực nghiệm 32
6.2 Các kết quả thực nghiệm 33
Trang 46.2.1 Khả năng mở rộng thử nghiệm 33
6.2.2 Dữ liệu thử nghiệm thực tế 36
6.2.3 Tóm lại 37
VII CÁC NGHIÊN CỨU LIÊN QUAN 38
VIII KẾT LUẬN 40
TÀI LIỆU THAM KHẢO 41
Trang 5TÓM TẮT
Tiểu luận này nghiên cứu về việc tìm ra các phụ thuộc hàm có điều kiện (CFD) CFD là sự
mở rộng gần đây của phụ thuộc hàm (FD) nhờ hỗ trợ thêm các biểu mẫu (pattern) của các hằng
số có liên quan về mặt ngữ nghĩa, và có thể được sử dụng làm các quy luật để làm sạch dữ liệu liên quan Tuy nhiên, tìm ra các CFD chất lượng là một quy trình tốn kém đòi hỏi nhiều nỗ lực thủ công Để nhận diện hiệu quả các quy luật làm sạch dữ liệu, ta cần xây dựng các kỹ thuật phát hiện các CFD từ các hệ thức Tìm ra các FD đặc thù đã khó, vấn đề tìm ra các CFD còn khó hơn Thật vậy, khai thác các biểu mẫu trong CFD mang đến rất nhiều thử thách Bài báo cung cấp 3 phương pháp tìm ra CFD Phương pháp thứ nhất, được nhắc đến với tên gọi CFDMiner, dựa trên các kỹ thuật khai thác các bộ phần tử đóng, và được sử dụng để tìm các CFD bất biến, cụ thể là các CFD chỉ có các biểu mẫu bất biến Các CFD bất biến đặc biệt quan trọng đối với việc nhận diện đối tượng, vốn là điểm thiết yếu đối với việc xóa và tích hợp dữ liệu Hai thuật toán khác được xây dựng để tìm ra các CFD tổng hợp Một thuật toán, được gọi
là CTANE, là một thuật toán phân cấp mở rộng thêm TANE, một thuật toán phổ biến dùng cho khai thác các FD Cái còn lại, được gọi là FastCFD, dựa trên phương pháp ưu tiên chiều sâu
được sử dụng trong FastFD, một phương thức tìm ra các FD Nó tận dụng tối đa việc khai thác
bộ phần tử đóng để giảm khoảng tìm kiếm Đã được kiểm nghiệm bởi nghiên cứu thực tiễn của chúng tôi, CFDMiner có thể là nhiều bậc nhanh hơn so với CTANE và FastCFD đối với việc tìm ra CFD bất biến CTANE hoạt động ổn khi một hệ thức đưa ra là lớn, nhưng nó không thích
ứng tốt với hạng (arity) của hệ thức FastCFD hiệu quả hơn nhiều so với CTANE khi hạng của
hệ thức là lớn; nó cũng tốt hơn khi tận dụng sự tối ưu hóa dựa trên việc khai thác bộ phần tử
đóng, FastCFD cũng thích ứng tốt với quy mô của hệ thức Các thuật toán này tạo ra một bộ
các công cụ tìm kiếm quy luật làm sạch dữ liệu cho người dùng lựa chọn với các ứng dụng khác nhau
Trang 6I GIỚI THIỆU
Các phụ thuộc hàm có điều kiện (CFD) gần đây đã được giới thiệu nhằm phục vụ việc làm sạch dữ liệu Chúng mở rộng các phụ thuộc hàm (FD) tiêu chuẩn bằng cách củng cố các biểu mẫu của các hằng số có quan hệ về ngữ nghĩa Các CFD đã được chứng minh là hiệu quả hơn
so với các FD trong việc phát hiện và sửa chữa các điểm không nhất quán (tình trạng không sạch) của dữ liệu, và được trông đợi là sẽ được sử dụng bởi các công cụ làm sạch dữ liệu hiện
đang sử dụng các FD tiêu chuẩn (VD: Xem mục 3, 4, 5 ở phần tài liệu tham khảo Xem mục 6,
7 để biết thêm các cuộc khảo sát đã thực hiện về các công cụ làm sạch dữ liệu) Tuy nhiên, để các phương thức làm sạch dựa trên CFD có hiệu quả thực tế, cần phải có các kỹ thuật tại chỗ
có thể tự động phát hiện hoặc tìm hiểu các CFD từ dữ liệu mẫu, để dùng làm các quy luật làm sạch dữ liệu Thật vậy, sẽ là không thực tế nếu chỉ dựa vào các chuyên gia để thiết kế các CFD qua một quy trình thủ công tốn kém và mất thời gian Như được mô tả trong [8], việc tìm ra quy luật làm sạch dữ liệu là rất quan trọng đối với các sản phẩm thương mại quản lý về dữ liệu
Vấn đề này nhấn mạnh sự cần thiết của việc nghiên cứu vấn đề tìm ra các CFD; chẳng hạn cho một thể hiện mẫu r của một lược đồ quan hệ R, nó dùng để tìm một vỏ bọc tiêu chuẩn của mọi CFD nắm giữ r, nghĩa là một tập hợp các CFD tương đồng về logic với tập hợp mọi CFD nắm giữ r Để giảm phần dư, mỗi CFD trong vỏ bọc tiêu chuẩn phải là nhỏ nhất (minimal), nghĩa là nontrivial và left-reduced (xem [9] để biết về các FD nontrivial và left-reduced) Tuy nhiên, vấn đề tìm kiếm lại cực kỳ nontrivial Vốn nó đã khó đối với các FD truyền thống vì, so với các thứ khác, một vỏ bọc tiêu chuẩn của các FD được tìm ra từ một hệ thức r vốn
đã có tính lũy thừa ở hạng của lược đồ của r, tức là số thuộc tính trong R Vì việc tìm ra CFD
cũng gồm cả việc tìm ra FD, nên độ phức tạp lũy thừa cũng được đưa vào việc tìm CFD Hơn nữa, việc tìm ra CFD đòi hỏi phải khai thác các biểu mẫu ngữ nghĩa có các hằng số, một thử thách không gặp phải khi tìm các FD, như được mô tả trong ví dụ dưới đây Ví dụ 1 Lược đồ
quan hệ cust dưới đây được lấy từ [1] Nó xác định một khách hàng dựa vào số điện thoại của
(mã nước (CC), mã vùng (AC), số điện thoại (PN)), tên (NM), và địa chỉ (phố (STR), thành
phố (CT), mã zip (ZIP)) Một thể hiện r 0 của cust được thể hiện trong Hình 1
Trang 7Hình 1: Một thể hiện r 0 của hệ thức cust
Ở Φ0, (44, _ || _) là bộ biểu mẫu thúc đẩy ràng buộc của các hằng số có liên quan về ngữ nghĩa đối với các thuộc tính (CC, ZIP, STR) trong một bộ Nó nói rằng đối với các khách hàng
ở Anh quốc, duy nhất ZIP xác định STR Nó là một FD chỉ nắm giữ tập hợp con các bộ có biểu
mẫu “CC = 44”, chứ không phải toàn bộ hệ thức r0 CFD Φ1 đảm bảo rằng đối với bất kỳ khách
hàng nào ở Hoa Kỳ (mã nước 01) có mã vùng 908, thì thành phố của khách hàng phải là MH,
vì bị bắt buộc bởi bộ biểu mẫu của nó (01, 908 || MH); tương tự đối với Φ2và Φ3 Những CFD này không thể được thể hiện như các FD
Cụ thể hơn, một CFD phải có dạng ( → , ), trong đó ( → ) là một FD và t p là một
bộ biểu mẫu có các thuộc tính trong X và A Bộ biểu mẫu này gồm các hằng số và một biến vô
danh “_” khớp với một giá trị bất kỳ Để tìm một CFD, cần phải tìm không chỉ FD truyền thống ( → )và còn phải tìm cả bộ biểu mẫu t p của nó Với cùng một FD là ( → ), có thể
có nhiều CFD được xác định bằng các bộ biểu mẫu khác nhau, VD: Φ2 - Φ3 Do đó, một vỏ bọc
tiêu chuẩn các CFD nắm giữ r0 thường lớn hơn nhiều so với FD tương ứng của nó Thật vậy, như được thể hiện bởi [10], với điều kiện là một FD cố định ( → ) đã được cho trước, vấn
đề đối với việc tìm ra các biểu mẫu có thể nhận biết được chỉ liên quan đến FD này đã
NP-complete[1]
Quan sát thấy rằng bộ biểu mẫu ở mỗi CFD trong số Φ1-Φ3 đều chỉ gồm các hằng số ở cả
LHS và RHS của nó Những CFD như vậy được gọi là CFD hằng số CFD hằng số là những
FD ở cấp độ thể hiện [11] đặc biệt hữu ích trong việc nhận diện đối tượng, một vấn đề thiết yếu
đối với cả chất lượng dữ liệu và tích hợp dữ liệu
[1] NP-complete: Theo Lý thuyết độ phức tạp tính toán, một bài toán quyết định được coi
là NP-complete khi nó vừa ở dạng NP vừa ở dạng NP-hard
1.1 Các công trình trước đây
Vấn đề tìm kiếm đã được nghiên cứu cho các FD trong 2 thập niên [12], [13], [14], [15], [16], [17], [18], [19] đối với thiết kế cơ sở dữ liệu, lưu trữ dữ liệu, OLAP, và khai thác dữ liệu
Nó được tìm hiểu lần đầu ở [12], trong đó cho biết vấn đề vốn đã lũy thừa ở hạng |R| của lược
đồ quan hệ R của dữ liệu mẫu r Một trong những phương thức phổ biến nhất để tìm ra FD là
TANE [13], một thuật toán về cấp độ [20] có khả năng tìm kiếm một mạng lưới hàm chứa tập
Trang 8hợp thuộc tính và tìm được các FD có k + 1 thuộc tính từ các tập hợp gồm k thuộc tính, và lược bớt đi dựa trên các FD được tạo ra ở các cấp độ trước TANE lấy thời gian tuyến tính trong cỡ
|r| của mẫu đầu vào r, và hoạt động tốt khi hạng |R| không quá lớn Các thuật toán [16], [17], [18] tuân theo một phương thức tiếp cận theo cấp độ tương tự Tuy nhiên các thuật toán theo cấp độ có thể lấy thời gian lũy thừa ở |R| Từ đó, một thuật toán khác, được gọi là FastFD [14], khám phá ra mối liên hệ giữa việc tìm ra FD và vấn đề tìm các vỏ bọc tối thiểu của các siêu đồ thị, và sử dụng chiến lược theo chiều sâu để tìm các vỏ bọc tối thiểu Nó lấy (hầu hết) thời gian tuyến tính trong kích cỡ của output, nghĩa là trong kích cỡ của vỏ bọc FD Nó thay đổi kích cỡ tốt hơn so với TANE khi hạng (arity) lớn, nhưng lại dễ bị tác động bởi kích cỡ |r| Thật vậy, nó nằm trong thời gian O(|r|2 log |r|), khi xem xét độ phức tạp của dữ liệu (|R| được giả định là hằng số) Ngoài ra còn có một phương thức đi từ dưới lên [15] dựa trên các kỹ thuật phục vụ việc tìm hiểu các mô tả logic chung trong một không gian giả định Như thể hiện trong [13], TANE có hiệu quả hơn hẳn so với thuật toán của [15]
Gần đây, có 2 bộ thuật toán được phát triển cho việc tìm ra các CFD [10], [21] Đối với một
FD truyền thống cố định fd, [10] cho thấy rằng sẽ là NP-complete khi tìm kiếm các biểu mẫu hữu ích mà chúng, cùng với fd, có khả năng tạo các CFD có chất lượng Chúng cung cấp các thuật toán tự tìm hiệu quả để tìm ra cho các biểu mẫu từ các mẫu w.r.t một FD cố định Một thuật toán để tìm ra các CFD, gồm cả các FD truyền thống và các biểu mẫu liên quan, được giới thiệu ở [21], vốn là phần mở rộng của TANE Việc tìm ra CFD hằng số có liên quan chặt chẽ với khai thác luật kết hợp (VD [22]) và đặc biệt là khai thác tập hợp phần tử tự do (VD [23],
[24]) Với 100% độ tin cậy, một luật kết hợp (X, t p ) –> (A, α) là một CFD hằng số (X –> A, (t p ||
α)), trong đó t p là một biểu mẫu hằng số gồm các thuộc tính X và α là một giá trị trong miền của thuộc tính A Tốt hơn nữa là vẫn có một sự liên hệ gần gũi giữa các CFD hằng số left-reduced
và các luật kết hợp không dư, và mối liên hệ này có thể được tìm thấy nhờ tính toán các tập hợp phần tử đóng và các tập hợp phần tử tự do
Các ứng dụng tiềm năng của CFD trong việc làm sạch dữ liệu nhấn mạnh sự cần thiết của các nghiên cứu sâu hơn về cách tìm CFD
1) Như đã nhấn mạnh ở phần trước, các CFD hằng số đặc biệt quan trọng đối với việc nhận diện đối tượng, và vì thế cần được xem xét riêng biệt Người ta muốn có các phương pháp hiệu quả để chỉ tìm ra các CFD hằng số, mà không phải trả mức giá để tìm ra mọi CFD Thật vậy, như sẽ thấy sau đây, việc tìm ra CFD hằng số thường nhanh hơn một vài bậc so với tìm ra CFD tổng hợp
2) Các thuật toán theo cấp độ [21] có thể không hoạt động tốt trên các hệ thức mẫu có hạng lớn, vì độ phức tạp lũy thừa vốn có của chúng Các phương pháp hữu ích hơn cần phải sẵn sàng giải quyết các bộ dữ liệu có hạng lớn
3) Một tập hợp các kỹ thuật đã được phát triển để phục vụ khai thác luật kết hợp (không dư), và cũng là lẽ tự nhiên khi tận dụng các kỹ thuật này để tìm ra CFD Như ta sẽ thấy, các kỹ
Trang 9thuật này có thể không chỉ được sử dụng ở việc tìm ra CFD hằng số, mà còn làm tăng đáng kể tốc độ tìm ra CFD tổng hợp Theo như chúng tôi biết, không hề có công trình nào trước đây xem xét các vấn đề này cho việc tìm ra CFD.
2) Thuật toán thứ nhất của bài báo, gọi tắt là CFDMiner, để tìm kiếm CFD không đổi
Bài báo tìm kết nối giữa các CFD không đổi cực tiểu và các mẫu đóng và tự do Dựa trên điều
này, CFDMiner tìm ra các CFD không đổi thúc đẩy một kỹ thuật khai thác mới nhất đề
xuất trong [24], khai thác các tập mục đóng và các tập mục tự do song song, theo một chương trình tìm kiếm sâu-bậc nhất
3) Thuật toán thứ hai của bài báo, gọi tắt là CTANE, mở rộng TANE để tìm các CFD
chung Nó dựa trên một tập thuộc tính/lưới bộ mẫu, và khai thác các CFD ở mức độ k +1 của lưới (tức là, khi mỗi set at the cấp độ bao gồm k + 1 thuộc tính) với kỹ thuật tỉa bớt dựa trên
those ở mức độ k CTANE chỉ tìm ra các CFD cực tiểu
4) Thuật toán thứ ba của bài báo, gọi tắt là FastCFD, tìm ra các CFD chung bằng
cách sử dụng một chiến lược tìm kiếm sâu bậc nhất thay vì the cấp độwise phương pháp
Nó là sự mở rộng không đơn giản của FastFD nêu trên, bằng cách khai thác các bộ mẫu một
kỹ thuật tỉa bớt mới được giới thiệu bởi FastCFD, bằng thúc đẩy các CFD không đổi phát hiện bởi CFDMiner Ngược với CTANE, FastCFD không mất thời gian hàm mũ trong arity
của dữ liệu mẫu khi một mũ kiểu mẫu của các CFD không lớn về số mũ
Đóng góp thứ năm và cũng là cuối cùng của bài báo là một nghiên cứu thực nghiệm
về tính hiệu quả và hiệu suất của các thuật toán của bài báo, dựa trên dữ liệu thực tế (các tập dữ liệu Wisconsin ung thư vú và ngực từ UCI) và các tập dữ liệu tổng hợp tạo ra từ dữ liệu lầy từ Web Bài báo đánh giá khả năng mở rộng của các phương pháp này bằng cách thay đổi kích thước mẫu, arity của sơ đồ quan hệ, các miền tích cực của thuộc tính, và
Trang 10ngưỡng hỗ trợ cho các phổ biến CFD Bài báo phát hiện ra rằng CFDMiner thường tốt hơn
CTANE và FastCFD gấp ba lần Bài báo cũng phát hiện ra rằng FastCFD chia tỷ lệ tốt
với arity: nó nhanh hơn gấp ba lần so với CTANE khi arity bằng 10 đến 15, và nó hoạt
động tốt khi arity là lớn hơn 30; ngược lại, CTANE không thể chạy hoàn tất khi arity trên 17
Mặt khác, CTANE nhạy cảm hơn để hỗ trợ ngưỡng và tốt hơn FastCFD khi ngưỡng lớn và
arity có kích cỡ trung bình Bài báo cũng phát hiện ra rằng các kỹ thuật tỉa bớt của mình thông
qua khai thác tập mục là hiệu quả: nó cải thiện hiệu năng của FastCFD gấp 5-10 lần và giúp
FastCFD tính tỷ lệ tốt với kích thước mẫu Các kết quả này cung cấp một chỉ dẫn khi phải
sử dụng CFDMiner, CTANE hoặc FastCFD trong các ứng dụng khác nhau
Các thuật toán này cung cấp một tập của các công cụ có triển vọng để giúp giảm công việc thủ công trong thiết kế các quy tắc chất lượng dữ liệu, để người dùng lựa chọn cho các ứng dụng khác nhau Chúng giúp biến làm sạch dựa trên CFD thành một công cụ chất lượng dữ liệu thực tế
1.3 Tổ chức
Mục 2 định nghĩa các CFD cực tiểu và phổ biến, và đưa ra bài toán tìm kiếm Bài báo giới
thiệu CFDMiner, CTANE và FastCFD trong các Mục 3, 4, và 5 Các kết quả thử nghiệm
trong Mục 6, các nghiên cứu liên quan trình bày trong Mục 7 và các đề tài nghiên cứu trong tương lai trong Mục 8
Trang 11II CÁC PHÁT HIỆN CFD VÀ CFD
Trong phần này, tác giả xem lại định nghĩa của các CFD [1] Bài báo sau đó hình thức hóa các khái niệm về các CFD cực tiểu và các Thường xuyên CFD Cuối cùng, bài báo đưa ra bài toán tìm kiếm các CFD
Xem xét một sơ đồ quan hệ R xác định trên một tập thuộc tính cố định, k ý h i ệu l à
at t r(R ) Đố i v ớ i m ỗ i t h u ộ c t í n h A ϵ attr(R), chúng ta sử dụng dom(A) để biểu hiện miền của nó
2.1.1 Các CFD
Tính phụ thuộc chức năng điều kiện (CFD) φ trên R là một cặp (X → A, t p ), trong đó 1) X là một tập của thuộc tính trong attr(R), và A là một thuộc tính đơn lẻ trong attr(R), 2) X → A là một FD tiêu chuẩn, gọi tắt là the FD nhúng trong φ, và 3) tp là một bộ mẫu với thuộc tính trong
X và A, trong đó đối với mỗi B trong X U {A}, t p [B] là một hằng số "a" trong dom(B),
hoặc một biến không tên “_” rút các giá trị từ dom(B)
Bài báo biểu thị X là LHS(φ) và A là RHS(φ) Nếu A cũng xuất hiện trong X, chúng ta
sử dụng A L và AR để biểu thị sự xuất hiện của A trong LHS(φ) và RHS(φ) Bài báo tách thuộc tính X và A trong một bộ mẫu với "||"
Các FD tiêu chuẩn là một trường hợp đặc biệt của các CFD Thực tế, một FD X → một
có thể biểu diễn như một CFD (X → A, t p ), trong đó t p [B]= _ đối với mỗi B trong ∪ { }
Ví dụ 2 FD f1 của Ví dụ 1 có thể biểu diễn như một CFD ([CC, AC] → CT, ( _ , _ ||_));
tương tự đối với f2 Tất cả f1,f2, và 00-Ø3 là các CFD xác định trên sơ đồ cust Với 00, ví dụ,
LHS(00) là [CC, ZIP] và RHS(00) là STR
2.1.2 Ngữ Nghĩa
Để gán ngữ nghĩa của các CFD, bài báo định nghĩa một lệnh ≤ trên các hằng số và biến
không tên "_": nếu , hoặc là một số a không đổi và là "_"
Lệnh ≤ tự mở rộng tới các bộ dữ liệu, ví dụ, (44, "EH4 1DT," "EDI") ≤ (44,_, _) trừ (Ø1, 07974, "Tree Ave.") (44,_, _) Bài báo cho rằng một bộ dữ liệu t 1 khớp với t 2 nếu
t1 ≤ t2 Chúng ta viết nếu t1≤ t2 nhưng , tức là, khi đó t2 là "chung hơn" hơn t1 Ví dụ, (44, "EH4 1DT,""EDI") ≤≤ (44,_,_)
Một thực thể r của R thỏa mãn CFD φ (hay φ giữ trên r), ký hiệu là r iff với mỗi cặp
bộ dữ liệu t 1 , t2 trong r, nếu t1 [X] = t 2 [X] ≤ t p [X] thì t l [A] = t 2 [A] ≤ t p [A]
Trang 12Về trực giác, φ là một ràng buộc được xác định trên tập hợp sao cho với mọi nếu t1 [X] = t 2 [X], thì 1) t1 [A] = t[A], và 2) t l [A] ≤ t p [A] ở
đây, 1) gán ngữ nghĩa của FD được nhúng trên tập hợp rφ, và 2) đảm bảo sự liên kết giữa các
hằng số trong tp [A] và các hằng số trong t1 [A] Nghĩa là, φ ràng buộc tập con của r φ của r
được xác định bởi t p [X], chứ không phải toàn bộ thực thể r
Ví dụ 3 Thực thể r0 của Hình 1 thỏa mãn các CFD f1,f2 và của Ví dụ 1 nó không
Bài báo cho rằng một thực thể r của R thỏa mãn một tập ∑ của các CFD trên R, ký hiệu
Đối với hai tập và của các CFD xác định trên sơ đồ R tương tự, bài báo cho rằng ∑ là tương ứng với ∑', ký hiệu là iff với mọi thực thể r củ a R,
Ghi chú các CFD cũng có thể được định nghĩa là (X → Y, t p ), trong đó Y là một tập của
thuộc tính và X → Y là một FD Như trong trường hợp của các FD, một CFD tương ứng với
một tập của các CFD với một thuộc tính đơn lẻ trong RHS của chúng Do đó, bài báo tập trung vào các CFD với RHS của chúng bao gồm một thuộc tính đơn lẻ
2.1.3 Phân Loại các CFD
Một CFD (X → A, t p ) được gọi là một CFD không đổi nếu bộ mẫu của nó tp chỉ bao gồm
các hằng số, tức là, tp [A]là một hằng số và đối với tất cả là một hằng số Nó
được gọi là một CFD biến đổi nếu t p [A] =_ , tức là, RHS của bộ mẫu của nó là biến không tên "_"
Ví dụ 4 Trong số các CFD trong Ví dụ 1, f1, f2, 00 là các CFD biến đổi, trong khi đó
Ø1, Ø2, Ø3 là các CFD không đổi
Mục [1] chỉ ra rằng mọi tập hợp ∑ của các CFD trên một sơ đồ R có thể được đại diện
bởi một tập ∑c của các CFD không đổi và một tập ∑v của các CFD biến đổi, sao cho
cụ thể là, đối với một CFD = (X → A, t p ), nếu t p [A] là một hằng số a, thì có một
cho t p [B]là một hằng số Nghĩa là, khi t p [A]là một hằng số, bài báo có thể thả tất cả thuộc
tính B vào trong LHS của với
Trang 13Bổ đề 1 [1] với mọi tập ∑ của các CFD trên một sơ đồ R, tồn tại một tập ∑c của các CFD không
đổi và một tập ∑v của các CFD biến đổi trên R, sao cho ∑ là tương ứng với
Cho một quan hệ mẫu r của một sơ đồ R, một thuật toán Tìm kiếm CFD nhằm tìm ra các CFD xác định trên R giữ trên r Rõ ràng là, nó không phải là một ý tưởng hay khi thu nồi tập
hợp của tất cả các CFD giữ trên r, do tập hợp chứa các CFD tầm thường và thừa và to quá
Do đó, bài báo muốn tìm ra một mũ kiểu mẫu, tức là, một tập không thừa chỉ bao
gồm các CFD cực tiểu, từ đó tất cả các CFD trên r có thể được suy luận ra thông qua phân
tích hệ quả Hơn nữa, dữ liệu thực tế thường không sạch, chứa các sai số và độ ồn Để
loại bỏ các CFD chỉ khớp với các sai số và độ ồn, bài báo xem xét các Phổ biến CFD,
có một bộ mẫu có hỗ trợ trong r trên một ngưỡng
Dưới đây, bài báo hình thức hóa các khái niệm của các CFD cực tiểu và các Phổ biến CFD Sau đó, bài báo nêu ra bài toán tìm kiếm các CFD
2.2.1 Các CFD cực tiểu
Một CFD φ = (X → A, t p ) trên R được cho là tầm thường nếu một nếu φ là tầm
thường, thì nó được thỏa mãn bởi tất cả thực thể của R (ví dụ, khi , hoặc nó
không được thỏa mãn bởi thực thể nào trong đó có một bộ dữ liệu t sao cho t[X] ≤ t p [X] (ví
dụ, nếu t p [AL] và t p [AR] các hằng số khác nhau) Do đó, bài báo chỉ xem xét các CFD không đơn giản
t’ p với
Về trực giác, chúng đảm bảo như sau: 1) Các thuộc tính LHS của nó không thể bị loại
bỏ, tức là, cực tiểu thuộc tính, và 2) các hằng số trong Mẫu LHS của nó không thể bị "nâng
cấp" thành "_", tức là, mẫu t p [X] là "chung nhất," hoặc nói cách khác, cực tiểu của các mẫu
Một CFD cực tiểu φ trên r là một không đơn giản, CFD giảm bên trái sao cho r Về
trực giác, một CFD cực tiểu là không thừa
Ví dụ 5 Trên ví dụ r0 của Hình 1, Ø2 của Ví dụ 1 là một CFD cực tiểu không đổi, và fl, f2
và 00 là cực tiểu các CFD biến đổi Tuy nhiên, Ø3 không cực tiểu: nếu bài báo thả CC từ LHS(Ø3), r0 vẫn thỏa mãn (AC → CT, (212 II NYC)) do có chỉ một bộ dữ liệu (t3) với AC =
212 trong r0 Tương tự, Ø1 không cực tiểu do CC có thể được thả
Trang 14Coi v à
Trong khi đó các CFD này giữ trên r0, chúng không phải là các CFD cực tiểu, do chúng không thỏa mãn yêu cầu (2) cho các CFD biến đổi giảm bên trái Thực tế,
nói cách khác, các này là thừa.
2.2.2 Các CFD phổ biến
Hỗ trợ của một CFD φ = (X → A, t p ) trong r, ký hiệu là sup(φ, r), được định nghĩa là
tập hợp của các bộ t trong r sao cho t[X] ≤ t p [X] và t[A] ≤ t p [A], tức là, các bộ khớp với mẫu
của φ Đối với một số tự nhiên k ≥ 1, một CFD φ được cho là k-phổ biến trong r nếu sup(φ, r) ≥
k Ví dụ, Ø1 và Ø2 của Ví dụ 1 là 3-phổ biến và 2-phổ biến Hơn nữa, f1 và f2 là 8-phổ biến Nên chú ý rằng khái niệm về các Phổ biến CFD là khá khác với khái niệm về các FD
xấp xỉ [13], [18] Một FD xấp xỉ trên một quan hệ r là một FD "hầu hết" giữ trên r, tức
hạn xác định trước Kh ô n g cần t hiết Ngượ c l ại, mộ t CFD k-phổ biến φ trong
r là một CFD phải giữ trên r, tức là, , và hơn nữa, phải có đủ (ít nhất k) các bộ chứng
kiến trong r khớp với bộ mẫu của φ.
2.2.3 Nêu bài toán
Một mũ kiểu mẫu của các CFD trên r đối với k là một tập ∑ của cực tiểu, CFD k-Phổ biến trong
r, sao cho E là tương ứng với tập hợp của tất cả CFD k-Phổ biến giữ trên r
Cho một thực thể r của một sơ đồ quan hệ R và một ngưỡng hỗ trợ k, bài toán tìm kiếm các CFD là để tìm ra một mũ kiểu mẫu của các CFD trên r đối với k
Về trực giác, một mũ kiểu mẫu bao gồm các CFD không thừa phổ biến trên r, từ đó tất
cả các Phổ biến CFD giữ trên r có thể được suy luận ra
2.3 Tìm ra các CFD với mẫu Tableaus
Đến đây, bài báo xem xét ed các CFD có dạng φ = (X → A, t p ) trong [1], tuy nhiên, các
CFD được cho phép có nhiều bộ mẫu Cụ thể, một tableau CFD là có dạng φ = (X → A,
T p ) trong đó T p là một mẫu tableau bao gồm một số lượng hữu hạn các bộ mẫu với thuộc tính trong X và A Một thực thể r của R được cho là thỏa mãn φ nếu r thỏa mãn mọi CFD
= (X → A, t p ) với Dễ dàng xác minh rằng (xem [1]) một tableau CFD φ = (X
Kết quả là, việc tìm ra k-CFD phổ biến tableau giảm tới bài toán tìm ra CFD k-Phổ
biến Bài báo ghi chú rằng một khái niệm thay thế của hỗ trợ cho tableau các CFD
được xem sét trong [25]
Trang 15Khái niệm về cực tiểu có thể được khái quát hóa thành các CFD tableau: Một CFD
φ = (X → A, T p ) là cực tiểu trên r n ếu 1 ) với mọ i t ập co n
, và 2) mẫu tableau là tối đa (không thể mở rộng nó bằng cách tăng bộ mẫu) mà
không vi phạm điều kiện là với mỗi cặp bộ mẫu s p và t p , nếu thì
Người ta từng xác minh rằng k- CFD phổ biến cực tiểu tableau có thể thu được từ các CFD k-phổ biến cực tiểu (bộ mẫu riêng) Bài báo, do đó, tập trung vào k- CFD phổ biến cực tiểu trong nghiên cứu này
Trang 16III TÌM CÁC CFD KHÔNG ĐỔI
Trong phần này, bài báo giới thiệu CFDMiner, thuật toán tìm kiếm CFD không đổi
của bài báo Với một thực thể r của R và một ngưỡng hỗ trợ k, CFDMiner tìm ra
một mũ kiểu mẫu của CFD không đổi k-phổ biến cực tiểu có dạng
Thuật toán của bài báo là dựa trên kết nối giữa các CFD không đổi giảm bên trái và
các tập mục tự do đóng Một mối quan hệ tương tự được thiết lập cho các quy tắc liên
tưởng không thừa [23] Trong bối cảnh đó, các CFD không đổi trùng với các quy tắc liên tưởng có độ tin cậy 100 phần trăm và có một thuộc tính đơn lẻ trong các tiền điều kiện của chúng Tuy nhiên các quy tắc liên tưởng không thừa không không phản ánh chính xác các CFD không đổi giảm bên trái Thực tế, không thừa chỉ xác định cho các quy tắc liên tưởng với hỗ trợ tương tự Ngược lại, giảm bên trái đòi hỏi so sánh các CFD không đổi với các hỗ trợ khác Cuối cùng, trong khi [23] cung cấp thuật toán dựa trên các tập đóng, thì thuật toán của bài báo là dựa trên cả hai tập đóng và tập tự do Do vậy, cần xem lại mối quan hệ giữa các CFD không đổi cực tiểu và khai thác tập mục
Để giúp mối quan hệ chính xác hơn, bài báo nhắc lại các khái niệm của các tập mục tự
do đóng [23]
3.1 Các ItemSet tự do và đóng
Một tập mục là một cặp (X, t p ), trong đó X attr(R) và t p là một mẫu không đổi trên
X
Cho một thực thể r của sơ đồ R, hỗ trợ của (X, tp) trong r, ký hiệu là supp(X, t p , r), là
định nghĩa là tập hợp của các bộ trong r khớp với với t p trên X-thuộc tính
Bài báo cho rằng (Y, s p ) là chung hơn (X, t p ), ký hiệu là , nếu
và s p = t p [Y] , (Y, s p ) được cho là chung hơn (X, t p ), ký hiệu là nếu
Hình 2 Các tập đóng trong một quan hệ cust chứa (CT, (MH)) và các tập tự do tương ứng của
chung
Trang 17Một tập mục (X, t p ) được gọi là đóng trong r nếu không tồn tại tập mục (Y, s p ) sao
cho mà supp(Y, s p , r) = supp(X, t p , r) Về trực giác, một tập mục đóng (X, t p ) không thể mở rộng nếu khống giảm hỗ trợ của nó Với một tập mục (X, t p ), bài
báo biểu thị là clo(X, tp) tập mục đóng duy nhất mở rộng (X, t p ) và có hỗ trợ trong r
là (X, t p )
Tương tự, một tập mục (X, t p ) được gọi là tự do trong r nếu không tồn tại tập mục
(Y, s p ) sao cho mà supp(Y, s p , r) = supp(X, t p , r) Về trực giác, một tập
mục tự do (X, t p ) không thể khái quát hóa nếu không tăng hỗ trợ của nó
Đối với một số tự nhiên k ≥ 1, một tập mục đóng (tự do tương ứng) (X, t p ) được gọi là k-phổ biến nếu
Ví dụ 6 Hình 2 chỉ ra các tập đóng trong quan hệ cust (xem Hình 1) chứa (CT, (MH))
Nó cũng chỉ ra các tập tự do tương ứng (các tập đóng bị bao bọc trong một hình chữ nhật) Để đơn giản hóa số liệu, bài báo không chỉ ra tên thuộc tính trong các tập mục, nhưng bài báo chỉ ra kích cỡ của hỗ trợ của các tập mục Ví dụ, ( [CC, AC, CT, ZIP], (Ø1,
908, MH, 07974)) là một tập mục đóng có hỗ trợ bằng 3 Tập mục này có hai mẫu tự
do, ( [CC, AC], (Ø1, 908)) và ([ZIP],(07974)), cả hai có hỗ trợ = 3 là tốt
Kết nối giữa các tập mục đóng và tự do k-phổ biếnvà CFD không đổi k-phổ biến giảm bên trái là như sau:
Mệnh đề 1 Với một thực thể, r của R và mọi CFD không đổi k-phổ biến giảm bên trái
1) tập mục (X, t p ) là tự do, k-phổ biến và nó không chứa (A, a), 2) , và 3) (X ,t p ) không chứa một tập tự do nhỏ hơn (Y, s p ) với đặc tính này, tức là,
Ví dụ 7 Từ Mệnh đề 1 và các tập mục đóng và tự do đã nêu trong Hình 2, ta thấy
của Ví dụ 1 là một CFD không đổi 3-phổ biến giữ trên quan hệ cust Thực tế, nó thu được từ mẫu đóng ([CC, AC, CT, ZIP], (01, 908, MH, 07974)), trong
đó mẫu tự do ( [CC, AC], (01, 908)) được gọi tắt là LHS của CFD không đổi Tuy nhiên
Hình 2 chỉ ra rằng LHS này chứa một tập tự do nhỏ hơn (AC, (908)) có tập đóng ( [AC, CT], (908, MH)) chứa (CT, (MH)) Do vậy, Ø1 không giảm bên trái dễ dàng xác minh
được rằng là một CFD không đổi 4-phổ biến giảm bên trái trên cust Tương tự Ø2 và Ø3 của Ví dụ 1 có thể thu được (mặc dù ta phải xem xét các mẫu đóng chứa (CT, (EDI)) cho Ø2)
Trang 183.2 CFD MINER
Mệnh đề 1 tạo thành cơ sở cho thuật toán tìm kiếm CFD không đổi của bài
báo Giả sử rằng cho một thực thể r và một ngưỡng hỗ trợ k, bài báo có tất cả các tập
đóng k-phổ biến và các tập tự do k-phổ biến tương ứng theo bố trí của bài báo Thuật
toán CFDMiner sau đó tìm ra CFD không đổi k-phổ biến giảm bên trái từ các tập này
Như đã đề cập trong Mục 1, có nhiều thuật toán khác nhau cung cấp các tập này [26] Bài báo chọn thuật toán GCGROWTH của [26] cũng vì điều đó, ngược lại với các thuật toán khác, đồng thời tìm ra các tập đóng và các tập tự do của chúng Do hạn chế về không gian, bài báo bỏ qua chi tiết của thuật toán GCGROWTH; người đọc nên tham khảo mục [26] để biết thêm chi tiết Theo mục tiêu của bài báo, chỉ cần biết là GCGROWTH trả về một ánh xạ C2F liên quan đến mỗi tập mục đóng các tập mục tự do k-phổ biến
Cho ánh xạ này, CFDMiner hoạt động như sau:
1. Đối với mỗi tập mục đóng k-phổ biến (X, t p ) bài báo bổ sung các tập tự do của nó,
cho bởi C2F, cho một bảng băm H
2. Đối với mỗi tập mục đóng (X, t p ), bài báo liên hệ tới mỗi của các tập mục tự do
của nó (Y, s p ) tập mục RHS(Y, s p ) = (X \ Y, t p [X \ Y]) Nghĩa là, bài báo liên hệ tới
mỗi tập tự do thuộc tính RHS trong các CFD không đổi tương ứng của chúng
Trong quá trình này, một danh sách L xếp thứ tự của tất cả các tập mục tự do
k-phổ biến được xây dựng là tốt Các tập mục trong danh sách này được sắp xếp
theo thứ tự tăng dần về kích cỡ
3. Đối với mỗi tập mục tự do (Y, s p ) trong danh sách L, CFDMiner làm việc như sau:
a. Đối với mỗi tập con sao cho , nó thay thế RHS(Y, s p )
thành phần trong RHS(Y, s p ) có thể dẫn đến một CFD không đổi giảm bên trái mà
không được bao hàm trong một số RHS(Y', sp [Y']) của một trong số các tập mục con của nó Nên ghi nhớ rằng việc kiểm tra tập con có thể được thực hiện hiệu quả bằng thúc đẩy bảng băm H
b. S au k h i t ất c ả c ác t ập c o n ( Y, s p ) đ ư ợc ki ể m t r a , CFDMiner cho ra
Được xác minh trong Mục 6, điều này tạo thành một thuật toán hiệu quả tìm ra các
CFD không đổi
Trang 19IV CTANE: THUẬT TOÁN THEO CẤP ĐỘ
Tiếp theo, bài báo giới thiệu CTAN E, một thuật toán theo cấp độ tìm ra các CFD cực tiểu, k-phổ biến (biến đổi và không đổi) Nó là một mở rộng của thuật toán TANE [13] cho tìm ra
các FD
CTANE khai thác các CFD bằng cách di chuyển qua một tập thuộc tính/ lưới
mẫu, theo cấp độ Chính xác hơn, lưới , bao gồm các thành phần có dạng (X,
t p ), trong đó
X attr(R) và t p là bộ mẫu trên X Ngược lại với các tập mục trong Mục 3, các
mẫu bây giờ bao gồm cả những hằng số và các biến không tên (_) Bài báo cho rằng
(Y, s p ) là chung hơn (X, t p ) nếu và tp[Y] ≤ s p Mối quan hệ này định nghĩa cấu trúc
lưới trên tập thuộc tính/ cặp mẫu
Đầu tiên, bài báo giới thiệu CTANE để khai thác các CFD 1-phổ biến cực tiểu Bài báo
thì mô tả cách sửa đổi CTANE để tìm các CFD k-phổ biến cực tiểu cho một ngưỡng hỗ
trợ k
CTANE bắt đầu từ các tập singleton (A, a) cho A ϵ attr(R) và α ϵ dom(A) U {_} Sau
đó nó tiếp tục với các cấp độ thuộc tính/mẫu lớn hơn trong G Khi nó kiểm tra (X, s p ), nó
rằng chỉ các CFD không đơn giản được xem sét CTANE duy trì đối với mỗi thành phần
được xem xét
(X, s p ) một tập, ký hiệu là C + (X, s p ), để quyết định xem CFD
là cực tiểu chưa Tập hợp C+ (X, s p ), được xây dựng dưới
đây, có thể được duy trì trong chỗ giao theo cấp độ Ngoài việc thử nghiệm tìm cực
tiểu, C + (X, s p ) cũng cung cấp chiến lược tỉa bớt hiệu quả, giúp phương pháp theo cấp độ
trở nên khả thi trong thực tế
4.1 Chiến lược tỉa bớt
Để tìm ra các CFD, bài báo ban đầu mở rộng chiến lược tỉa bớt của TANE Đối với mỗi
thành phần(X, s p ) trong , , bài báo cung cấp một tập C + (X, s p ) bao gồm các thành phần
(A, cA) attr(R) x {dom(A) {_}}, thỏa mãn các điều kiện như sau:
1 nếu A ϵ X, thì c A = s p [A],
Trang 20trong đó đối với tất cả và
Về trực giác, điều kiện 1 ngăn tạo ra các CFD không thích hợp; điều kiện 2 đảm bảo rằng LHS không thể bị giảm; và điều kiện 3 đảm bảo rằng bộ mẫu là chung nhất
Dễ xác minh được như sau:
Bổ đề 2 Cho X attr(R), s p là một mẫu trên X, A ϵ X và giả định rằng
Thì φ là cực tiểu nếu đối với tất cả Bϵ X bài báo có
Về kỹ thuật tỉa bớt, Bổ đề 2 nói rằng bài báo không cần xem xét mọi thành phần (X, s p ) của ,C mà C+ (X, s p ) = 0 Hơn nữa, nếu C + (X, s p ) = 0 thì cũng C + (Y, t p ) = Ø cho mọi (Y, s p )
chứa (X, t p ) trong lưới Do đó, sự trống rỗng của C+ (X, s p ) khả năng đã tỉa đi một phần
lớn các thành phần trong cần được xem xét bởi CTANE
Thuật toán CTANE Bài báo sẵn sàng giới thiệu thuật toán Bài báo biểu thị bằng L l
một tập hợp của các thành phần (X, s p ) trong , có kích cỡ l, tức là Bài báo
giả định rằng Ll được sắp xếp sao cho (X, s p ) xuất hiện trước khi (Y, t p ) nếu X = Y và
và l = 1 Bài báo thì thực hiện các bước cho đến khi L l là
không trống rỗng:
1. Bài báo tính toán RHS ứng viên cho các CFD cực tiểu với LHS của chúng trong
L l Nghĩa là, đối với mỗi (X, s p ) ϵ Ll bài báo tính toán
Đối với mỗi (X, s p ) Ll bài báo tìm kiếm các CFD hợp lệ; tức là, đối với mỗi A X, (A,
C A ) C+ (X, S p ) bài báo thực hiện như sau:
Hình 3 Thực hiện một phần của thuật toán CTANE Giải thích các vị trí A, B, C, D, E, và F
khoanh tròn nêu tại Ví dụ 8
a k i ể m t r a x e m , t r o n g đ ó φ = (X
Trang 21b nếu thì ra kết quả φ Thực tế, nếu φ giữ trên r thì bằng Bổ đề 2 và Bước 1, thực tế φ là một CFD cực tiểu,
c nếu thì đối với tất cả (X, u p ) ϵ Ll sao cho u p [A]= cA và
cập nhật C+ (X, up) bằng cách loại bỏ (A, CA) và (B, CB) từ
nó, đối với tất cả B attr(R) \ X
3. Tiếp theo, bài báo tỉa bớt Ll Nghĩa là, đối với mỗi (X, s p ) ϵ Ll bài báo loại bỏ (X, s p ) từ
Ll với điều kiện C+ (X, s p ) = 0
4. Cuối cùng, bài báo tạo lập Li + i như sau:
CTANE có thể được dễ dàng xác minh sao cho nó chỉ tìm ra các CFD k-phổ biến cực
tiểu Trước tiên, bài báo quan sát như sau: Cho φ = (X → A, (t p ,cA)) là một CFD giữ trên
r Bài báo biểu thị bằng tập mục bao gồm phần không đổi của (X, t p ) Sau đó φ là
Điều này cho thấy rằng với mọi lựa chọn hợp lý của k (tức là, nhỏ hơn kích cỡ của r),
bài báo chỉ cần giới hạn các thành phần (X, s p ) ϵ Ll mà là một tập mục k-phổ
A và 2) thay thế Bước 4.b(ii)
trong CTANE bằng một bước mà chỉ xem xét (Z, u p ) nếu supp(Ze, ?Lc ) , r) ≥ k Cả haih biến
đổi đều thu được kỹ thuật tỉa bớt, và do đó cải thiện hiệu suất của CTANE khi tìm ra CFD
k-phổ biến
Trang 22Ví dụ 8 Xem xét một lần nữa quan hệ cust của Hình 1 Bài báo cho chạy một phần thuật
toán CTANE chỉ bao gồm các thuộc tính CC, AC, ZIP, và STR Giả định một ngưỡng hỗ
trợ k≥ 3
Bài báo thể hiện trong Hình 3 hai cấp độ trước tiên của lưới ,C và cấp độ thứ ba tương
ứng với thuộc tính [CC, AC, ZIP] Cụ thể là, đối với mỗi thành phần (X, s p ) kiểm tra bằng
CTANE, bài báo liệt kê các tập thuộc tính X cùng với danh sách của các mẫu có thể có, sắp
xếp đối với số lượng "_” trong số chúng
Bài báo nêu bật các điểm trong khi thực hiện CTANE: A, B, C , D, E, F chạm tới trong
thứ tự này, như nêu trong Hình 3
(A) Ban đầu L1 bao gồm tất cả các cặp thuộc tính đơn/giá tị xuất hiện ít nhất k lần, và mỗi thuộc tính xuất hiện cùng với một biến không tên Chú ý là k giới hạn số lượng các giá trị một cách mạnh mẽ đối với thuộc tính STR Tại điểm này, tất cả tập CE(A,cA) chứa (A, CA) Do r không thỏa mãn mọi CFD với một LHS rỗng, không có tập C+ nào được
cập nhật trong Bước 2 Tương tự, không có tập hợp nào bị loại bỏ khỏi L1 trong Bước
3
(B)Trong Bước 4, CTANE gép cặp các thuộc tính với nhau và tạo ra các mẫu thích hợp
Chú ý là đối với (CC, AC) hằng số 44 không xuât hiện (trong khi đó nó đã xuất hiện ở cấp độ
(A)Bước 4 tạo ra các bộ ba thuộc tính Bài báo chỉ thể hiện các mẫu cho (CC, AC, ZIP)
trong Bước 2, CTANE tìm ra CFD
(B)Kết quả là, CTANE cập nhật Tập C+ trong Bước 2.c, không chỉ của mẫy hiện tại mà
còn của các mẫu cụ thể hơn trên Thuộc tính LHS Nghĩa là, (ZIP, _) bị loại bỏ khỏi Tập C+
từ ba mẫu trước tiên Điều này đảm bảo rằng các CFD được tạo ra sau chỉ có mẫu LHS chung nhất
Cuối cùng, trong Bước 1 của CTANE, tập C+ bộ mẫu (_, _, 07974) được tính toán Tuy nhiên,
nên nhớ rằng cả hai C+GCC, ZIP], (_, 07974)) và C+GAC, ZIP], (_, 07974)) đã được cập nhật Kết quả là, (CC, _) và (AC, _) sẽ không được đưa vào trong Tập C+ (_, _, 07974) Điều này cho thấy rằng cơ hội duy nhât để tìm ra một CFD cực tiểu trong trường hợp này là thử nghiệm