Nghiên cứu phần tử ngoại lai đối với phụ thuộc mạnh trong mô hình dữ liệu quan hệ

77 226 0
Nghiên cứu phần tử ngoại lai đối với phụ thuộc mạnh trong mô hình dữ liệu quan hệ

Đ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

i ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG - PHẠM XUÂN HÀ NGHIÊN CỨU CÁC PHƯƠNG PHÁP TRÍCH CHỌN SỰ KIỆN VÀ ỨNG DỤNG VÀO BÀI TOÁN TRÍCH CHỌN SỰ KIỆN DỊCH BỆNH LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2016 ii ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG - PHẠM XUÂN HÀ NGHIÊN CỨU CÁC PHƯƠNG PHÁP TRÍCH CHỌN SỰ KIỆN VÀ ỨNG DỤNG VÀO BÀI TOÁN TRÍCH CHỌN SỰ KIỆN DỊCH BỆNH Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC GS TS VŨ ĐỨC THI Thái Nguyên - 2016 iii LỜI CAM ĐOAN Tôi xin cam đoan luận văn công trình nghiên cứu thực cá nhân mình, thực hướng dẫn tận tình thầy giáo TS Lê Văn Phùng Các số liệu, kết thân nghiên cứu tìm hiểu trình bày luận văn trung thực chưa công bố hình thức Tôi xin chịu hoàn toàn trách nhiệm nghiên cứu Học viên Lê Long Giang iv LỜI CẢM ƠN Lời đầu tiên, xin gửi lời cảm ơn sâu sắc tới thầy giáo TS Lê Văn Phùng, người thầy trực tiếp dành nhiều thời gian tận tình hướng dẫn, cung cấp thông tin, tài liệu quý báu giúp đỡ hoàn thành luận văn Tôi xin gửi lời cảm ơn đến giảng viên trường Đại Học Công nghệ Thông Tin Truyền Thông - Đại học Thái Nguyên, thầy Viện Công nghệ thông tin - Viện Hàn lâm Khoa học Công nghệ Việt Nam giảng dạy, truyền đạt kiến thức giúp đỡ suốt trình học tập Tôi xin gửi lời cảm ơn tới Ban Giám đốc - Sở Khoa học Công nghệ tỉnh Lào Cai, Phòng Quản lý Công nghệ Thị trường công nghệ tạo điều kiện thuận lợi cho em tham gia khóa học suốt trình hoàn thành luận văn Cuối cùng, xin cảm ơn người thân, bạn bè gia đình cổ vũ động viên hoàn thành luận văn tốt nghiệp Mặc dù cố gắng hoàn thành luận văn với tất nỗ lực thân, luận văn không tránh khỏi thiếu sót Kính mong nhận ý kiến đóng góp quý thầy cô bạn bè, đồng nghiệp Tôi xin chân thành cảm ơn! Thái Nguyên, ngày 20 tháng 04 năm 2016 Học viên Lê Long Giang v MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN iv MỤC LỤC v CÁC KÍ HIỆU VIẾT TẮT DÙNG TRONG LUẬN VĂN viii MỘT SỐ QUI ƯỚC VỀ KÍ HIỆU THƯỜNG ĐƯỢC ix SỬ DỤNG TRONG LUẬN VĂN: ix BẢNG CÁC HÌNH VẼ x DANH MỤC CÁC ĐỊNH NGHĨA, ĐỊNH LÝ, BỔ ĐỀ, THUẬT TOÁN x MỞ ĐẦU CHƯƠNG 1: PHỤ THUỘC HÀM MẠNH VÀ PHẦN TỬ NGOẠI LAI 1.1 Khái niệm phụ thuộc mạnh 1.2 Phương pháp xác định phụ thuộc mạnh CSDL 1.3 Phần tử ngoại lai mối quan hệ chúng với khai phá liệu 13 1.3.1 Khái niệm phần tử ngoại lai 13 1.3.2 Các phương pháp xác định phần tử ngoại lai 14 1.3.3 Mối quan hệ phần tử ngoại lai khai phá liệu 15 1.4 Mô hình phát phần tử ngoại lai liệu sở liệu quan hệ 16 1.4.1 Định nghĩa mô tả 17 1.4.2 Phân loại phần tử ngoại lai CSDL quan hệ 18 1.4.3 Mô hình phát phần tử ngoại lai dựa theo luật CSDL quan hệ 18 1.5 Ứng dụng phần tử ngoại lai 22 KẾT LUẬN CHƯƠNG 23 CHƯƠNG 2: PHÁT HIỆN PHẦN TỬ NGOẠI LAI ĐỐI VỚI PHỤ THUỘC HÀM MẠNH TRONG CƠ SỞ DỮ LIỆU QUAN HỆ 24 2.1 Phần tử ngoại lai dạng phụ thuộc hàm đặc biệt 24 2.1.1 Phần tử ngoại lai phụ thuộc hàm dạng 24 vi 2.1.2 Phần tử ngoại lai phụ thuộc hàm dạng tỉ lệ 26 2.2 Phần tử ngoại lai hệ ràng buộc dạng phụ thuộc hàm 28 2.3 Thuật toán phát phần tử ngoại lai dạng chuẩn 32 2.3.1 Thuật toán phát phần tử ngoại lai dạng chuẩn 2NF 33 2.3.2 Thuật toán phát phần tử ngoại lai dạng chuẩn 3NF 34 2.3.3 Thuật toán phát phần tử ngoại lai dạng chuẩn BCNF 36 2.4 Phần tử ngoại lai phụ thuộc mạnh 37 2.4.1 Thuật toán tìm phụ thuộc hàm mạnh quan hệ SĐQH 38 2.4.2 Xác định phụ thuộc hàm mạnh cực đại tập thuộc tính 39 2.4.3 Thuật toán tìm phần tử ngoại lai phụ thuộc mạnh CSDL quan hệ 42 KẾT LUẬN CHƯƠNG 43 CHƯƠNG 3: ỨNG DỤNG TÌM PHẦN TỬ NGOẠI LAI 45 3.1 Lựa chọn toán để cài đặt 45 3.2 Cài đặt chương trình 48 3.2.1 Yêu cầu hệ thống 48 3.2.2 Cấu trúc chương trình 48 3.3.Chương trình minh họa: 48 3.3.1 Demo 01: 48 3.3.2 Demo 02: 52 3.3.3 Một số đoạn mã lệnh sử dụng chương trình 56 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65 TÀI LIỆU THAM KHẢO 66 vii DANH MỤC HÌNH ẢNH Hình 1.3.1 Phần tử ngoại lai tập điểm có tọa độ (x,y) mặt phẳng có giá trị tung độ y nhỏ hẳn phần tử khác tập hợp 13 Hình 1.4.3 Sơ đồ phát phần tử ngoại lai dựa theo luật CSDL quan hệ 21 viii CÁC KÍ HIỆU VIẾT TẮT DÙNG TRONG LUẬN VĂN Kí hiệu Nghĩa CNTT Công nghệ thông tin CSDL Cơ sở liệu PTH Phụ thuộc hàm PTM Phụ thuộc mạnh SĐQH Sơ đồ quan hệ SĐM Sơ đồ mạnh ix MỘT SỐ QUI ƯỚC VỀ KÍ HIỆU THƯỜNG ĐƯỢC SỬ DỤNG TRONG LUẬN VĂN: - Các thuộc tính kí hiệu chữ Latin hoa đầu bảng chữ A, B, C, - Tập thuộc tính ký hiệu chữ Latin hoa cuối bảng chữ X, Y, Z, - XY X ∪ Y biểu diễn hợp hai tập X Y Phép trừ hai tập X Y ký hiệu X\Y, X - Y - Một phân hoạch tập M (thành tập rời có hợp M), X1, X2, , Xm ký hiệu M = X1| X2| | Xm Với ý nghĩa M = X1∪ X2∪ ∪ Xm Xi ∩ Xj = ∅, 1≤ i, j≤ m, i ≠ j - Kí hiệu R, U để tập toàn thuộc tính sơ đồ quan hệ - Các quan hệ (hoặc bảng liệu) kí hiệu chữ thường: r, p, q, - Các biểu diễn chữ Latin thường kèm số t, u, v, t1, - Với t quan hệ r tập thuộc tính X ⊆ R ta kí hiệu t[X] t.X hạn chế (ánh xạ) t tập thuộc tính X - Kí hiệu | r | lực lượng (số bộ) quan hệ r - Kí hiệu X ⟶ Y để chị phụ thuộc hàm X Y  Y để phụ thuộc mạnh X Y; sử - Kí hiệu X  s dụng kí hiệu X ⟶ Y để phụ thuộc mạnh với lời dẫn trước - Kí hiệu X ⟶ 𝜎 Y để phụ thuộc hàm xấp xỉ mức 𝜎 X Y - Kí hiệu ⇒ để kéo theo mệnh đề logic x BẢNG CÁC HÌNH VẼ DANH MỤC CÁC ĐỊNH NGHĨA, ĐỊNH LÝ, BỔ ĐỀ, THUẬT TOÁN Định nghĩa 1.4.1 Định nghĩa mô tả .17 Định nghĩa 2.1.1.1 Phụ thuộc hàm dạng 24 Định nghĩa 2.1.1.2 Phần tử ngoại lai phụ thuộc hàm dạng 24 Định nghĩa 2.1.2.1 Phụ thuộc hàm dạng tỉ lệ 26 Định nghĩa 2.1.2.2 Phần tử ngoại lai đổi với phụ thuộc hàm dạng tỉ lệ 27 Định nghĩa 2.1.3.1 Phần tử ngoại lai hệ ràng buộc dạng PTH 29 Định nghĩa 2.2.1 Phần tử ngoại lai dạng chuẩn 32 Định nghĩa 2.2.3 Phụ thuộc mạnh cực đại 39 Định lý 1.2.1 Tính đầy đủ hệ T1-T3 Định lý 1.2.2 Sự tồn họ phụ thuộc hàm sinh họ phụ thuộc mạnh Định lý 1.2.3 Họ phụ thuộc mạnh 12 Bổ đề 1.2.1 Tính bắc cầu hỗn hợp Bổ đề 1.2.2: 11 Bổ đề 2.1.3.1 29 Mệnh đề 1.2.2 Phụ thuộc mạnh tập phụ thuộc hàm tương đương 11 Mệnh đề 2.2.3 Sự tồn phụ thuộc mạnh 39 Thuật toán 2.1.1 (phát phần tử ngoại lai PTH dạng nhau) 25 Thuật toán 2.1.2 (phát phần tử ngoại lai phụ thuộc hàm dạng tỉ lệ) 27 Thuật toán 2.1.3 (Thuật toán xác định phần tử ngoại lai hệ ràng buộc dạng PTH) 31 Thuật toán 2.2.1.1 (Thuật toán NL_ 2NF) 33 Thuật toán 2.2.1.2 (Thuật toán NL_ 3NF) 34 Thuật toán 2.2.1.3 (Thuật toán NL_ BCNF) 36 Thuật toán 2.2.2 (Tìm PTM SĐQH) 38 Thuật toán 2.2.3.1 (Tìm phụ thuộc mạnh cực đại) 40 Thuật toán 2.3.1.2 (Tìm phụ thuộc mạnh quan hệ r) 40 53 Bước 2: Ta nhập liệu đầu vào giao diện sau: Bước 3: Bấm nút OK ta kết +) E(1,2) = B; +) E(1,3) = BC; +) E(1,4) = AD; 54 +) E(2,3) = BDE +) E(3,5) = A; +) E(4,5) = BC; Tập R là: M = {B, BC, AD, BDE, A, BC} A+ = B; B+ = BC; C+ = AD; D+ = BDE; E+ = A; F+ = BC; 55 56 3.3.3 Một số đoạn mã lệnh sử dụng chương trình var AppCms = AppCms || {}; AppCms.viewmodels = (function (viewmodels) { viewmodels.PTMScreenViewModel = function () { var self = this; viewmodels.PTMViewModel.call(self); //Define all the ko attribute of viewmodel here: self.ListData = ko.observableArray(); self.Data = ko.observableArray(); self.HeaderMap = ko.observableArray(); self.Html = ko.observable(); self.InputData = ko.observable(); self.PrintData = ko.observable(); self.GroupR = ko.observable(); self.GroupR2 = ko.observable(); self.HeaderMapView = ko.observable(); //Function xử lý random liệu self.randomForm = function () { self.ListData([]); //Check column value if (isNaN(self.Column())) { vdialog.notifyError("Số cột phải số"); return; } //Check row value 57 if (isNaN(self.Row())) { vdialog.notifyError("Số hàng phải số"); return; } var html = ""; html += ""; for (i = 0; i < self.Column(); i++) { html += "" + self.getHeader(i) + ""; } html += ""; for (i = 0; i < self.Row(); i++) { html += ""; var rowArray = ko.observableArray(); for (j = 0; j < self.Column(); j++) { var item = Math.floor((Math.random() * 5) + 1); rowArray.push(item); html += "" + item + ""; } self.ListData.push(rowArray); html += ""; } html += ""; //Show liệu data random lên view self.InputData(html); 58 //Check data hiển thị kết self.checkData(); } //Function show số lượng hàng cột để nhập liệu self.submitForm = function () { //Check column value if (isNaN(self.Column())) { vdialog.notifyError("Số cột phải số"); return; } //Check row value if (isNaN(self.Row())) { vdialog.notifyError("Số hàng phải số"); return; } var html = ""; html += ""; for (i = 0; i < self.Column(); i++) { html += "" + self.getHeader(i) + ""; } html += ""; for (i = 0; i < self.Row(); i++) { html += ""; for (j = 0; j < self.Column(); j++) { 59 html += ''; } html += ""; } html += ""; //Show table nhập liệu lên view self.InputData(html); } //Function lấy liệu nhập view đưa vào array xử lý kết self.submitData = function () { self.ListData([]); var rowArray = ko.observableArray(); var columnIndex = 1; $('table#InputData tr input').each(function () { rowArray.push($(this).val()); if (columnIndex == self.Column()) { columnIndex = 1; self.ListData.push(rowArray); rowArray = ko.observableArray(); } else { columnIndex++; } 60 }); //Check data hiển thị kết self.checkData(); }; //function check data hiển thị kết self.checkData = function () { var arrayKey = ko.observableArray(); var arrayMap = ko.observableArray(); var group_r = []; var headerMap = []; self.Data([]); self.HeaderMap([]); for (i = 0; i < self.ListData().length - 1; i++) { for (j = i + 1; j < self.ListData().length; j++) { arrayKey = self.ListData()[i](); arrayMap = self.ListData()[j](); var PTM = self.checkMapData(arrayKey, arrayMap, i, j); if (PTM != "") { group_r.push(PTM); headerMap.push("E(" + (i + 1) + "," + (j + 1) + ") = " + PTM); self.HeaderMap.push({ "E": i + "," + j, 61 "E2": (i + 1) + "," + (j + 1), "PTM": PTM }); } } } var group_r2 = ''; for (var key in group_r) { console.log(self.getHeader(parseInt(key))); group_r2 += self.getHeader(parseInt(key)) + "+ = " + group_r[key] + "; "; } //Show kết self.GroupR("Tập R là: M = {" + group_r.toString() + "}"); self.GroupR2(group_r2); self.HeaderMapView(headerMap.toString()); self.printData(); }; //function check row data truyền vào self.checkMapData = function (item_key, item_map, rowKey, rowMap) { var header = ""; for (x = 0; x < item_key.length; x++) { if (item_key[x] == item_map[x]) { self.Data.push({ 62 "header": self.getHeader(x), "rowKey": rowKey, "rowMap": rowMap, "rowKeyValue": item_key[x], "rowMapValue": item_map[x], "position": x, }); header += self.getHeader(x); } } return header; }; //function lấy chữ A-Z self.getHeader = function (position) { var head = "A"; return head.substring(0, head.length - 1) String.fromCharCode(head.charCodeAt(head.length - 1) + position); } //function xử lý hiển thị kết hình self.printData = function () { var htmlPrint = ""; htmlPrint += 'KẾT QUẢ'; for (x = 0; x < self.HeaderMap().length; x++) { var E = self.HeaderMap()[x]['E']; var E2 = self.HeaderMap()[x]['E2']; + 63 var PTM = self.HeaderMap()[x]['PTM']; htmlPrint += 'E(' + E2 + ')=' + PTM + ''; htmlPrint += ''; htmlPrint += ""; for (i = 0; i < self.Column(); i++) { htmlPrint += "" + self.getHeader(i) + ""; } htmlPrint += ""; for (i = 0; i < self.Row(); i++) { arrayValue = self.ListData()[i](); htmlPrint += ""; for (j = 0; j < self.Column(); j++) { if (PTM.indexOf(self.getHeader(j)) >= && E.indexOf(i) >= 0) { htmlPrint += '' + arrayValue[j] + ''; } else { htmlPrint += '' + arrayValue[j] + ''; } } htmlPrint += ""; } htmlPrint += ""; 64 htmlPrint += ""; } //Data-bind html render index self.PrintData(htmlPrint); } return self; }; viewmodels.PTMScreenViewModel.prototype = new viewmodels.PTMScreenViewModel.prototype.constructor = viewmodels.PTMViewModel(); viewmodels.PTMScreenViewModel; return viewmodels; })(AppCms.viewmodels = AppCms.viewmodels || {}); $(document).ready(function () { AppCms.Instance = AppCms.Instance || {}; //create new instance of model AppCms.Instance.PTMScreen = AppCms.viewmodels.PTMScreenViewModel(); var node = document.getElementById('#ScreenContent'); //binding ko.applyBindings(AppCms.Instance.PTMScreen); }); new 65 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Việc tổ chức sở liệu, xử lý liệu (mà chủ yếu xử lý file liệu), trao đổi thông tin công việc toán ứng dụng công nghệ thông tin vào thực tế Các nội dung công việc thực dựa lý thuyết công nghệ thông tin tổ chức quản lý sở liệu, xử lý trao đổi thông tin, phân tích liệu, mô hình hóa, thuật toán kết hợp với lý thuyết ngành khoa học khác liên quan đến toán thực tế Lý thuyết phát phần tử ngoại lai sở liệu, đặc biệt CSDL dạng quan hệ có ý nghĩa phân tích liệu phát tri thức, điều tra, kiểm soát thông tin, giải toán thực tế thuộc nhiều lĩnh vực khác đời sống xã hội Luận văn “ Nghiên cứu phần tử ngoại lai phụ thuộc mạnh mô hình liệu quan hệ “ đóng góp phần việc phát triển lý thuyết xử lý file liệu sở liệu quan hệ giải số toán thực tế hoạt động sản xuất Những đóng góp Luận văn bao gồm: - Xây dựng bước đầu sở lý luận phát phần tử ngoại lai dựa theo luật sở liệu quan hệ; - Đề xuất khái niệm phần tử ngoại lai phụ thuộc hàm , dạng chuẩn , luật kết hợp phụ thuộc hàm mạnh; đưa số định lý thuật toán nhằm giải số toán cụ thể phát phần tử ngoại lai trường hợp nói trên; Luận văn có ý nghĩa thực tế việc giải số toán lĩnh vực quản lý tài chính, kiểm toán, gian lận thương mại bối cảnh công tin học hóa triển khai mạnh mẽ lĩnh vực 66 TÀI LIỆU THAM KHẢO Tiếng việt [1].Phạm Hạ Thủy (2005), Xác định phần tử ngoại lai sở liệu quan hệ, Hội thảo khoa học “Một số vấn đề chọn lọc CNTT”, Hải Phòng, tháng 8, Viện Công nghệ thông tin, Viện Hàn Lâm khoa học công nghệ Việt Nam [2].Phạm Hạ Thủy (2007), Một số vấn đề liên quan đến file liệu hệ thống sở liệu Luận án tiến sĩ Viện Công nghệ thông tin Viện Hàn lâm khoa học công nghệ Việt Nam [3].Lê Văn Phùng, Quách Xuân Trưởng (2012), Khai phá liệu, Nhà xuất Thông tin Truyền thông [4].Nguyễn Xuân Trường (2014), Nghiên cứu phần tử ngoại lai sở liệu ứng dụng Luận văn thạc sĩ, Đại học Công nghệ thông tin truyền thông, Đại học Thái Nguyên [5].Vũ Đức Thi (1997), Cơ sở liệu–Kiến thức thực hành, Nhà xuất Thống kê Hà Nội [6].Nguyễn Cao Văn Trần Thái Bình (2002), Lý thuyết Xác suất Thống kê toán, NXB Giáo dục, Hà Nội Tiếng Anh [7].A.Arning, R.Agrawal, P Raghavan (1996), “A Linear Method for Deviation Detection in Large Databases”, Proc of the 2nd International Conferce on Knowledge Discovery in Databases and Data Mining, Portlan, Oregon, August, P.164-169 [8].Dieter Adriaans, Dolf Zanting (1996), Data mining.Addision-Wesley [9].Barnett, V and Lewis T.(1994), Outliners in Statiscal Data, Jonh Wiley, 3rd edition [10].Breuing, M., Kreigel, H – P., Ng, R., and Sander, J (2000), LOF: Identifying density –based local outliners.In Proc SIGMOD, pp 93 – 104 67 [11].Demetrovics, J., Thi V.D (1995), “Amstrong relations, functional dependencies and strong dependencies”, Computers and Artificial Intelligence 14, pp.279-298 [12].Edwin M Knorr (2002), Outliers And Datamining: Finding Exceptions In Data Ph:b Disertation, University of British Columbia,2002 [13].Edwin M.Knorr (1998), Algorithms for Mining Distance-Based Outliers in Large Datasets In Proc VLDB.Pages 211-222 [14].Jia Wei Han, Michiline Kember (2001), Datamining MorGan KauFmann Publishers Academic Press [15].Markus M.breunig, Hans-peter Kriegel, Raymond T.Ng, JÖrg Sander (2000), LOF: Identitying Density- Based Local Outliers Proc ACM SIGMOD, Int, Conf On Management of Data, Dalles, IX [16].Sridhar Ramas Wamy, Rajeev Tastogi, Kyuscok Shim (2000) Efficient Algorithms For Mining Outliers From Large Datasets In Proc SIGMOD, Pages 427-238 [17].Thi V.D., Son N.H (2005), “On Armstrong relations for strong dependencies”, Vietnam Journal of Computer Science and Cybernetics, N0 21, p.75-83 [18].Wen Jin Anthony K H Tung Jiawei Han (2001), Mining Top n Local Outliers In Large Databases.NSERC A3723, NCE/IRIS-3 AND NEC/GEOID

Ngày đăng: 06/07/2017, 09:12

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan