Xét CSDL bao gồm 22 giao tác như sau.
Bảng 3.2. Các tập mục thường xuyên theo ngưỡng 4
ABCDE ABCDE 1. 10101 2. 10101 3. 11001 4. 11001 5. 01010 6. 00111 7. 10011 12. 01011 13. 00110 14. 10011 15. 01101 16. 11001 17. 11001 18. 01010 A 10 B 11 C 8 D 12 E 18 AB 4
8. 01101 9. 00011 10. 01000 11. 10011 19. 00111 20. 10011 21. 01101 22. 00011 AD 4 AE 10 BE 8 CE 7 DE 9 ABE 4 ADE 4 Bảng T với 22 giao tác
được viết thành hai mảnh
Các tập mục thường xuyên theo ngưỡng = 4
Tập mục cần ẩn là M = {AE}. Thuật toán được thực hiện như sau: - Tập nền U = ABCDE.
- Tập phổ biến P = {A/10, B/11, C/8, D/12, E/18, AB/4, AD/4, AE/10, BE/8, CE/7, DE/9, ABE/4, ADE/4}.
- Gen(P) = {ABE, ADE, DE, CE, BE, AD, AB, C}. - Tựa giàn tập phổ biến ngưỡng = 4.
- Coatom(P,M) = {ABE, ADE}. - Với X = ABE ta có:
Gen(A, ABE) = {AB, AE}.
Xét A trong ABE, ta có: L(A, ABE) = 4 Xét E trong ABE, ta có: L(E, ABE) = 8 - Với X = ADE ta có:
Gen(ADE) = {AD, AE, DE}
Xét A trong ADE, ta có: L(A, ADE) = 4 Xét E trong ADE, ta có: L(E, ADE) = 9 - V = Max{4, 8, 4, 9} = 9.
- Sửa giá trị của E trong các bộ chứa ABE và ADE. Sửa giá trị của E trong các bộ chứa ADE, tại các bộ có gạch chân trong bảng 3.3.
- Lúc đó α(AE) = 10 – 4 = 6 > c.
- Tiếp tục sửa giá trị của E trong các bộ chứa ABE, tại các bộ có gạch chân trong bảng 3.4 (các dòng 3,4,16).
- Sau khi thực hiện sửa 3 lần, ta có α(AE) = 6 – 3 = 3 < c. Lúc này AE đã được ẩn, thuật toán dừng.
- Tập phổ biến sau khi ẩn: P = {DE, CE, BE, AD, AB, A, B, C, D, E}, - Số tập mục bị ẩn nhầm: 0 ⇒ Hiệu ứng phụ = 0.
1. Xét A trong ABE, Min(A, ABE) = 4 2. Xét A trong ADE, Min(A, ADE) = 4 3. Xét E trong ABE, Min(E, ABE) = 8 4. Xét E trong ADE, Min(E, ADE) = 9
= Max = 9.
Bảng 3.3. Sửa giá trị của E trong các bộ chứa ADE.
ABCDE ABCDE 1. 10101 12. 01011 2. 10101 13. 00110 3. 11001 14. 10011 4. 11001 15. 01101 5. 01010 16. 11001 6. 00111 17. 11001 7. 10011 18. 01010 8. 01101 19. 00111 9. 00011 20. 10011 10. 01000 21. 01101 11. 10011 22. 00011
Kết luận: Sửa E tại ABE và ADE
Bảng 3.4. Sửa giá trị của E trong các bộ chứa ABE.
ABCDE ABCDE Tập mục
thường xuyên
1. 10101 12. 01011 A 10 2. 10101 13. 00110 B 11 3. 11000 - 14. 10010 + *C 8 4. 11000 - 15. 01101 D 12 5. 01010 16. 11000 - E 18/11 6. 00111 17. 11001 *AB 4 7. 10010 + 18. 01010 *AD 4 8. 01101 19. 00111 AE ! 10/3 9. 00011 20. 10010 + *BE 8/5 10. 01000 21. 01101 *CE 7 11. 10010 + 22. 00011 *DE 9/5 ABE ! 4/1 ADE ! 4/0
+ sửa E trên dòng chứa ADE, - sửa E trên dòng chứa ABE, ! Tập mục bị ẩn
Chương 4
CHƯƠNG TRÌNH THỰC NGHIỆM 4.1. Giới thiệu
Trong luận văn này, học viên tập trung nghiên cứu thiết kế và cài đặt một phần mềm quản lý để ẩn các tập mục nhạy cảm. Chương trình được viết bằng ngôn ngữ C# phiên Visual Studio 2010 với các chức năng chủ yếu là ẩn các tập mục
nhạy cảm dựa trên giàn giao. Cơ sở dữ liệu được lưu trữ trong SQL Server 2008. Việc cài đặt chương trình ứng dụng nhằm mục đích mô phỏng các kết quả nghiên cứu của học viên thông qua các ví dụ.
Chương trình có tên ứng “Ẩn tập mục nhạy cảm” (Itemhide.exe) với: Dữ liệu đầu vào bao gồm:
M: độ dài tập nền T: bảng trị 0/1 : ngưỡng hỗ trợ
H: tập mục nhạy cảm cần ẩn
Dữ liệu đầu ra bao gồm: Ẩn các tập mục nhạy cảm và danh mục các tập mục thường xuyên mới.
Bảng trị là file CSDL cho trước (các cấu trúc bao gồm: các mục, các giao tác) có thể nhập dữ liệu trực tiếp từ cửa sổ chương trình, sau đó ghi vào CSDL để sử dụng cho các lần sau.
4.2. Các chức năng chính của chương trình
Dưới đây là các mô tả hoạt động các chức năng chính của chương trình.
Hình 4.1 Giao diện chính chương trình
Hình 4.2 Giao diện chương trình khi tính độ hỗ trợ của tất cả các tập mục ĐỘ PHỔ BIẾN: Tính độ hỗ trợ của tất cả các tập mục.
Hình 4.3 Giao diện chương trình khi tìm tất cả tập mục thường xuyên
ĐỘ HỖ TRỢ: Chương trình cho phép nhập độ hỗ trợ. Sau đó tìm và hiển thị tất cả các tập mục thường xuyên.
Hình 4.4 Giao diện chương trình hiển thị các tập mục thường xuyên mới TẬP MỤC ẨN: Chương trình cho phép nhập vào tập mục nhạy cảm cần ẩn. Sau đó
ẩn tập mục nhạy cảm và hiển thị các tập mục thường xuyên mới.
Ngoài ra chương trình còn thiết kế một số chức năng khác như: BROWSE, IMPORT, LƯU CSDL, CẬP NHẬT, XÓA, THOÁT.
KẾT LUẬN
1. Kết quả đạt được của luận văn
Ẩn các tập mục nhạy cảm là bài toán quan trọng trong khai thác dữ liệu. Đây là
công việc hiện đang được rất nhiều các nhà nghiên cứu quan tâm. Một trong những vấn đề các nhà nghiên cứu quan tâm khi giải quyết bài toán là giảm các hiệu ứng phụ, tức là ẩn nhầm các tập mục phổ biến khác và giảm số lần truy cập giao tác.
Trên cơ sở nghiên cứu lý thuyết giàn giao và các hướng nghiên cứu trước đây đây đã được thực hiện để giải quyết bài toán ẩn các tập mục nhạy cảm, luận văn đã đề xuất một hướng tiếp cận để giải quyết bài toán này đó là tiếp cận MaxMin dựa trên lý thuyết giàn giao. Trên cơ sở phân tích các đặc điểm của bài toán, các định lý, mệnh đề của lý thuyết giàn giao từ đó đã chỉ ra được sự liên quan giữa bài toán và lý thuyết giàn giao. Do đó, việc ứng dụng lý thuyết giàn giao để giải quyết bài toán này là hoàn toàn có cơ sở toán học và đảm bảo tính đúng đắn. Từ đó, luận văn đã sử dụng lý thuyết giàn giao để đề xuất hai thuật toán quan trọng: thuật toán tìm Gen(G) và thuật toán ẩn tập mục nhạy cảm M. Thuật toán ẩn tập mục nhạy cảm thực hiện việc ẩn tập mục nhạy cảm bằng cách sửa các mục trong tập biên của tập sinh Gen sao cho ít tác động đến tập sinh Gen nhất, do đó hiệu ứng phụ xảy ra trong CSDL kết quả là ít nhất.
Với số mục vừa phải, chẳng hạn 64 mục, thì thuật toán có thể được cài đặt được với việc quản lý mục thông qua các số nguyên. Ngoài ra, thuật toán có thể đưa ra cài đặt ứng dụng với những bảng cơ sở dữ liệu có số lượng bản ghi là vài chục ngàn. Nếu lựa chọn cấu trúc dữ liệu thích hợp, thuật toán có thể áp dụng được cho các bảng dữ liệu lớn.
2. Hướng nghiên cứu tiếp theo
Trên cơ sở những nghiên cứu đã được trình trình bày trong luận văn, tiếp tục tìm hiểu các thuật toán liên quan. Cài đặt trên các CSDL lớn và chuẩn từ đó so sánh với các thuật toán đã được công bố trước đó.
Mặc dù bản thân đã cố gắng tập trung nghiên cứu và tham khảo các tài liệu, bài báo, tạp chí khoa học trong và ngoài nước, nhưng do trình độ còn nhiều hạn chế nên không thể tránh khỏi những thiếu sót. Rất mong nhận được sự đóng góp của các quý thầy cô và các nhà khoa học để luận văn được hoàn thiện hơn.
TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt
[1] NGUYỄN XUÂN HUY, LÊ QUỐC HẢI, NGUYỄN GIA NHƯ, CAO TÙNG ANH, BÙI ĐỨC MINH, Lý thuyết giàn và ứng dụng trong thuật toán ẩn tập
mục nhạy cảm, Báo cáo tại Hội thảo Quốc gia " Một số vấn đề chọn lọc của
CNTT và truyền thông, Đồng Nai, 5-6 Tháng 8, (2009).
[2] NGUYỄN XUÂN HUY, LÊ ĐỨC MINH, VŨ NGỌC LOÃN, Các ánh xạ đóng và ứng dụng trong cơ sở dữ liệu, Tạp chí Tin học và Điều khiển học, 16, No. 4, 2000, 1-6.
[3] NGUYỄN XUÂN HUY, Giàn giao của ánh xạ đóng, Chuyên san các công trình nghiên cứu - triển khai viễn thông và công nghệ thông tin, số 14, 4-2005, 35-42.
[4] NGUYỄN XUÂN HUY, Các phụ thuộc logic trong cơ sở dữ liệu, Viện KH&CN VN, NXB Thống kê, 2006.
Tài liệu tiếng Anh
[5] George V. Moustakides, Vassilios S. Verykios, A MaxMin Approach for Hiding Frequent Itemsets, Data & Knowledge Engineering 65, p.75-89, 2008. [6] Xingzhi Sun, Philip S.Yu, Hiding Sensitive Frequent Itemsets by a Border-
Based Approach, J. Computing and Engineering, Vol.1, No.1, p.74-94, 2007. [7] S.R.M. Oliveira, O.R. Zai ¨ ane, Privacy preserving frequent itemset mining, in:
Proceedings of the 2002 IEEE International Conference on Privacy, Security and Data Mining (CRPITS 2002), (2002), pp. 43–54.