Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
1,9 MB
Nội dung
Header Page of 126 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG NGUYỄN QUỲNH LAN NGHIÊN CỨU MỘT SỐ PHƢƠNG PHÁP RÚT GỌN THUỘC TÍNH TRONG BẢNG QUYẾT ĐỊNH KHÔNG ĐẦY ĐỦ Chuyên ngành: Khoa học máy tính LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên, 2013 Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 LỜI CẢM ƠN Em xin chân thành cảm ơn biết ơn sâu sắc đến GS.TS Vũ Đức Thi, Viện Công nghệ Thông tin, Viện Khoa học Công nghệ Việt Nam Ngƣời tận tình dày công hƣớng dẫn giúp đỡ em hoàn thành luận văn Em xin chân thành cảm ơn Thầy Viện Công nghệ Thông tin dạy bảo, giúp đỡ truyền đạt kiến thức cho em suốt khóa học, suốt trình em làm luận văn Em xin chân thành cảm ơn Thầy, Cô trƣờng Đại học Công nghệ Thông tin Truyền thông Thái Nguyên động viên, giúp đỡ tạo điều kiện cho em suốt thời gian học tập nghiên cứu Cuối xin chân thành cảm ơn bàn bè, ngƣời thân gia đình ngƣời đồng hành, động viên, chia sẻ khó khăn suốt thời gian hoàn thành luận văn Thái Nguyên, tháng 08 năm 2013 Nguyễn Quỳnh Lan Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 LỜI CAM ĐOAN Tôi xin cam đoan luận văn sản phẩm tìm hiểu, nghiên cứu Một số Định nghĩa, Định lý, Tính chất, Mệnh đề Thuật toán lấy từ nguồn tài liệu xác có trích dẫn tên tài liệu tên tác giả rõ ràng Tôi xin chịu trách nhiệm luận văn Học viên Nguyễn Quỳnh Lan Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ i Header Page of 126 MỤC LỤC MỤC LỤC .i Danh mục thuật ngữ iii Bảng ký hiệu, từ viết tắt iv Danh sách bảng v MỞ ĐẦU Chƣơng TỔNG QUAN VỀ BẢNG QUYẾT ĐỊNH ĐẦY ĐỦ VÀ BẢNG QUYẾT ĐỊNH KHÔNG ĐẦY ĐỦ 1.1 Bảng định đầy đủ 1.2 Hệ thông tin .3 1.3 Hệ thông tin đầy đủ mô hình tập thô truyền thống 1.3.1 Hệ thông tin đầy đủ 1.3.2 Mô hình tập thô truyền thống 1.3.3 Tập rút gọn tập lõi 1.4 Hệ thông tin không đầy đủ mô hình tập thô dung sai .9 1.4.1 Hệ thông tin không đầy đủ 1.4.2 Bảng định không đầy đủ .11 1.4.3 Tập rút gọn bảng định không đầy đủ 11 1.5.Rút gọn thuộc tính bảng định đầy đủ sử dụng metric .12 1.5.1 Metric họ tri thức tính chất 12 1.5.1.1 Khoảng cách Jaccard hai tập hợp hữu hạn 12 1.5.1.2 Metric họ tri thức 14 1.5.1.3 Một số tính chất metric bảng định 15 1.5.2 Rút gọn thuộc tính bảng định sử dụng metric 18 Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 ii 1.5.2.1.Tập lõi tập rút gọn bảng định dựa metric……….…… 18 1.5.2.2.Thuật toán tìm tập rút gọn bảng định sử dụng metric 19 1.6 Kết luận chƣơng 1…………………………………………………………… 27 Chƣơng 2.RÚT GỌN THUỘC TÍNH TRONG BẢNG QUYẾT ĐỊNH KHÔNG ĐẦY ĐỦ….28 2.1 Giới thiệu .28 2.2 Entropy Liang mở rộng hệ thông tin không đầy đủ tính chất… …… 29 2.2.1 Entropy Liang mở rộng tập thuộc tính 29 2.2.2 Entropy Liang mở rộng có điều kiện 30 2.2.3 Một số tính chất entropy Liang mở rộng 32 2.3 Metric họ phủ tính chất .37 2.3.1 Metric họ phủ 37 2.3.2 Một số tính chất chất metric .40 2.4 Rút gọn thuộc tính bảng định không đầy đủ sử dụng metric……… … 43 2.4.1 Tập rút gọn bảng định không đầy đủ dựa metric .43 2.4.2.Thuật toán tìm tập rút gọn bảng định không đầy đủ .44 2.5 Kết luận chƣơng .52 Chƣơng CHƢƠNG TRÌNH THỬ NGHIỆM 53 3.1 Mô tả liệu 53 3.2 Xây dựng chƣơng trình 57 3.3 Kết thực nghiệm 59 3.4 Nhận xét .60 KẾT LUẬN 61 TÀI LIỆU THAMKHẢO………………………………………………………………….62 PHỤ LỤC………………………………………………………………………… 64 Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ iii Header Page of 126 Danh mục thuật ngữ Thuật ngữ tiếng việt Thuật ngữ tiếng anh Tập thô Rough set Hệ thông tin Information system Hệ thông tin đầy đủ Complete Information system Hệ thông tin không đầy đủ Incomplete Information system Bảng định Decision Table Bảng định đầy đủ Complete Decision Table Bảng định không đầy đủ Incomplete Decision Table Quan hệ không phân biệt đƣợc Indiscernibility Relation Xấp xỉ dƣới Lower Approximation Xấp xỉ Upper Lower Approximation Rút gọn thuộc tính Attribute Reduction Tập rút gọn Reduct Tập lõi Core Ma trận phân biệt Indiscernibility Matrix Hàm phân biệt Indiscernibility Function Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ iv Header Page of 126 Bảng ký hiệu, từ viết tắt Ký hiệu, từ viết tắt IS = (U, A, V, f) IIS = (U, A, V, f) DS = (U, C∪D, V, f) IDS = (U, C∪D, V, f) |U| |C| |A| u(a) IND(B) SIM(B) [u]B SB(u) U/B U/SIM(B) COVER(U) B(u) BX BX BNB(X) POS B(D) PRED(C) SRED(C) MRED(C) PCORE (C) SCORE(C) MCORE(C) H(P) H(Q/P) IE(P) IE(Q/P) K(P) dj(K(P), K(Q)) dE(K(P), K(Q)) SIGB(b) Diễn giải Hệ thông tin, hệ thông tin đầy đủ Hệ thông tin không đầy đủ Bảng định, bảng định đầy đủ Bảng định không đầy đủ Số đối tƣợng Số thuộc tính điều kiện bảng định Số thuộc tính hệ thông tin Giá trị đối tƣợng u thuộc tính a Quan hệ B- không phân biệt Quan hệ dung sai tập thuộc tính B Lớp tƣơng đƣơng chứa u quan hệ IND(B) Lớp dung sai đối tƣợng u quan hệ SIM(B) Phân hoạch U sinh tập thuộc tính B Phủ U sinh tập thuộc tính B Họ tất phủ U Hàm định suy rộng đối tƣợng u B B- xấp xỉ dƣới X B- xấp xỉ X B- miền biên X B- miền dƣơng D Họ tất tập rút gọn Pawlak Họ tất tập rút gọn sử dụng ma trận phân biệt Họ tất tập rút gọn dựa metric Tập lõi dựa miền dƣơng Tập lõi sử dụng ma trận phân biệt Tập lõi dựa metric Entropy Shannon tập thuộc tính P Entropy Shannon có điều kiện Q biết P Entropy Liang mở rộng tập thuộc tính P hệ thông tin không đầy đủ Entropy Liang mở rộng có điều kiện Q biết P hệ thông tin không đầy đủ Trong hệ thông tin đầy đủ:là tri thức sinh tập thuộc tính P Trong hệ thông tin không đầy đủ phủ sinh tâp thuộc tính P Khoảng cánh K(P) K(Q) hệ thông tin đầy đủ dựa khoảng cách Jaccard hai tập hợp Khoảng cánh K(P) K(Q) hệ thông tin không đầy đủ dựa entropy Liang mở rộng Độ quan trọng thuộc tính b B Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ v Header Page of 126 DANH SÁCH BẢNG Bảng 1.1 Bảng thông tin bệnh cúm .6 Bảng 1.2 Bảng định bệnh cúm Bảng 1.3 Bảng thông tin xe 12 Bảng 1.4 Bảng định bệnh cảm cúm 19 Bảng 1.5 Bảng định minh họa ví dụ 1.5 22 Bảng 2.1 Bảng hệ thông tin không đầy đủ xe .37 Bảng 2.3 Bảng định không đầy đủ minh họa ví dụ 2.3 49 Bảng 2.4 Bảng định không đầy đủ xe 52 Bảng 3.1 Bảng định không đầy đủ xe 56 Bảng 3.2 Kết thực thuật toán Thuật toán 2.2…………………………65 Bảng 3.3 Tập rút gọn Thuật toán 2.2…………………………………… 65 Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page of 126 MỞ ĐẦU Mƣời năm trở lại chứng kiến phát triển mạnh mẽ sôi động lĩnh vực nghiên cứu rút gọn thuộc tính sử dụng lý thuyết tập thô Trong xu đó, nhiều nhóm nhà khoa học giới quan tâm nghiên cứu phƣơng pháp rút gọn thuộc tính bảng định Các phƣơng pháp là: Phƣơng pháp dựa miền dƣơng, phƣơng pháp sử dụng phép toán đại số quan hệ, phƣơng pháp sử dụng ma trận phân biệt, phƣơng pháp sử dụng entropy thông tin, phƣơng pháp sử dụng độ đo tính toán hạt Mục tiêu rút gọn thuộc tính loại bỏ thuộc tính dƣ thừa để tìm thuộc tính cốt yếu cần thiết sở liệu Với bảng định không đầy đủ rút gọn thuộc tính tìm tập nhỏ tập thuộc tính điều kiện bảo đảm thông tin phân lớp bảng định Đối với bảng định không đầy đủ có nhiều tập rút gọn khác Tuy nhiên, thực hành thƣờng không đòi hỏi tìm tất tập rút gọn mà cần tìm đƣợc tập rút gọn theo tiêu chuẩn đánh giá đủ Các kết nghiên cứu cho thấy rút gọn thuộc tính làm giảm thiểu đáng kể khối lƣợng tính toán, nhờ áp dụng toán có khối lƣợng liệu lớn Thuật toán đơn giản mặt thực thi Nên em định lựa chọn đề tài luận văn: “Nghiên cứu số phƣơng pháp rút gọn thuộc tính bảng định không đầy đủ” Mục tiêu luận văn: Tập trung nghiên cứu rút gọn thuộc tính bảng định đầy đủ từ làm sở nghiên cứu tiếp phƣơng pháp rút gọn thuộc tính bảng định không đầy đủ Đối tƣợng phạm vi nghiên cứu: Các bảng định đầy đủ, bảng định không đầy đủ với kích thƣớc trung bình lớn Số hóa Trung tâm Học liệu Footer Page of 126 http://www.lrc-tnu.edu.vn/ Header Page 10 of 126 Phƣơng pháp nghiên cứu - Về nghiên cứu lý thuyết: Các Định lý, Mệnh đề…đã đƣợc chứng minh dựa vào kiến thức kết nghiên cứu công bố - Về nghiên cứu thực nghiệm: Cài đặt thuật toán, chạy thử nghiệm thuật toán Ý nghĩa khoa học đề tài -Đây phƣơng pháp đƣợc nhiều nhà khoa học nghiên cứu có đóng góp thực tiễn -Có thể coi luận văn tài liệu tham khảo đầy đủ, rõ ràng kiến thức bảng định không đầy đủ Bố cục luận văn: Gồm phần mở đầu chƣơng nội dung, phần kết luận, danh mục tài liệu tham khảo phụ lục Chương 1: Trình bày khái niệm bảng định đầy đủ, bảng định không đầy đủ, mô hình tập thô truyền thống, mô hình tập thô dung sai, trình bày phƣơng pháp xây dựng metric họ tri thức hệ thông tin đầy đủ dựa khoảng cách Jaccard hai tập hợp hữu hạn, trình bày phƣơng pháp rút gọn thuộc tính bảng định đầy đủ Chương 2: Trình bày phƣơng pháp xây dựng metric họ phủ hệ thông tin không đầy đủ dựa entropy Liang mở rộng, trình bày phƣơng pháp rút gọn thuộc tính bảng định không đầy đủ Chương 3: Chƣơng trình thử nghiệm trình bày nội dung: mô tả liệu, xây dựng chƣơng trình, kết thực nghiệm thuật toán Cuối cùng, phần kết luận nêu đóng góp luận văn hƣớng phát triển luận văn Số hóa Trung tâm Học liệu Footer Page 10 of 126 http://www.lrc-tnu.edu.vn/ 58 Header Page 68 of 126 *Giá trị thuộc tính thiếu: (được định "*") Thuộc tính 10 11 12 13 14 15 16 17 18 Số thiếu giá trị 1 1 9 4 4 28 12 61 * Phân lớp: Lớp Die:32 Live:11 Số hóa Trung tâm Học liệu Footer Page 68 of 126 http://www.lrc-tnu.edu.vn/ Header Page 69 of 126 59 * Bộ liệu Automobile: Tập liệu sở liệu nhập ô tô năm 1985, có số đối tƣợng là: 205, số thuộc tính là: 24 thuộc tính liên quan thông số xe nhƣ: hãng sản xuất, loại nhiên liệu đi, xe cửa, vị trí động chiều dài, chiều rộng, chiều cao, trọng lƣợng *Thông tin thuộc tính 1.symboling: 1, -1 2.make: alfa-romero, Audi, BMW, Chevrolet, honda, Isuzu, Mazda, Mercedes-Benz, mercury, jaguar, Mitsubishi, Nissan, dodge 3.fuel-type: diesel, gas 4.aspiration: std, turbo 5.num-of-doors: two, four 6.body-style: wagon,sedan, hatchback, convertible, hardtop 7.drive-wheels: 4wd, FWD, RWD 8.engine-location: front, after 9.wheel-base:86,6-120,9 10.length: 141,1-208,1 11.width: 60,3-72,3 12.height: 47,8-59,8 13.curb-weight: 1488-4066 14.engine-type: DOHC, l , OHC, ohcv, rotor 15.num-of-cylinders: four, six, five, three, two, eight, twelve 16.engine-size: 61-326 17.fuel-system: 1bbl, 2bbl, 4bbl, IDI, MFI, mpfi, spdi, spfi 18.stroke: 2,68-4,17 19.compression-ratio: 7-23 20.horsepower: 48-288 21.peak-rpm: 4150-6600 22.city-mpg: 13-49 23.highway-mpg: 16-54 Số hóa Trung tâm Học liệu Footer Page 69 of 126 http://www.lrc-tnu.edu.vn/ 60 Header Page 70 of 126 24.price: low, high *Giá trị thuộc tính thiếu: (được định "*") Thuộc tính Số thiếu giá trị 18 20 21 *Phân lớp: price Low:141 High:64 b) Dữ liệu đầu ra: Là danh sách thuộc tính tập rút gọn tốt 3.2 Xây dựng chƣơng trình Chƣơng trình thực nghiệm sử dụng thuật toán heuristic, đƣợc viết ngôn ngữ C#, Visual Studio 2010 sử dụng phiên Net Framewok 2.0 Yêu cầu hệ thống sử dụng chƣơng trình: - Cài đặt Net Framework phiên 2.0 trở lên - Hệ điều hành tối thiểu Windows XP SP2 - Trên máy tính PC với cấu hình Pentium 1GHz, 256 MB nhớ RAM trở lên Mã nguồn đƣợc biên dịch thành tệp thực thi exe môi trƣờng Windows nên cần cài đặt thƣ viện yêu cầu chạy đƣợc chƣơng trình * Hướng dẫn sử dụng Chuẩn bị liệu dạng file excel 2003 theo định dạng mô tả trên, định dạng liệu bị sai, chƣơng trình thực thi báo lỗi Chạy file: Mở file chạy TapRutGon.exe chọn File liệu tìm đƣờng dẫn đến file excel nhấp nút “Tìm tập rút gọn”, chƣơng trình tính toán đƣa kết quả, giao diện chƣơng trình nhƣ sau: Số hóa Trung tâm Học liệu Footer Page 70 of 126 http://www.lrc-tnu.edu.vn/ Header Page 71 of 126 61 * Giao diện chương trình Bố cục giao diện chƣơng trình tìm tập rút gọn từ bảng định không đầy đủ gồm phần: Vùng dataGridView phía hiển thị liệu bảng định không đầy đủ đƣợc xử lý Hai Button: Chọn file liệu (để thực chọn liệu) Tìm tập rút gọn (để bắt đầu tìm tập rút gọn) Khi bắt đầu tìm tập rút gọn nút “Tìm tập rút gọn” mờ để ngƣời sử dụng thấy đƣợc thực hiện, lại trình tính toán kết thúc Vùng đếm thời gian hiển thị tổng thời gian thực tính toán Vùng ListView phía dƣới thể tập rút gọn tốt tìm đƣợc Số hóa Trung tâm Học liệu Footer Page 71 of 126 http://www.lrc-tnu.edu.vn/ 62 Header Page 72 of 126 3.3 Kết thực nghiệm Chƣơng trình chạy thử nghiệm thuật toán với số liệu:|U| số đối tƣợng, |C| số thuộc tính điều kiện, |R| số thuộc tính tập rút gọn, t thời gian thực thuật toán đơn vị tính giây Với số liệu tiến hành đo đạc lần lấy kết trung bình làm tròn chữ số sau dấu phẩy, Bảng 3.2 Bảng 3.3 mô tả kết thực thuật toán Bảng 3.2 Kết thực thuật toán Thuật toán 2.2 STT Bộ số liệu |U| |C| |R| Lần Lần Lần Lần Lần Trung bình Ô tô 0.0163 0.0161 0.0167 0.0162 0.0160 0.0162 Bệnh viêm gan 149 20 46.6171 41.1175 44.9767 41.4860 40.9169 43.0228 Automobile 206 24 57.4323 60.3665 71.1852 68.4046 59.6472 63.4071 Bảng 3.3 Tập rút gọn Thuật toán 2.2 STT Bộ số liệu Tập rút gọn Thuật toán 2.2 Ô tô {Kích thƣớc, Tốc độ tối đa} Bệnh viêm gan {Tuổi, SGOT, Tình trạng bất ổn} Automobile {curb-weight, make} 3.4 Nhận xét Sau tìm hiểu cài đặt chƣơng trình demo với liệu ta thấy: Bộ liệu ô tô: Kết thực nghiệm trùng với kết tính toán lý thuyết trình bày chƣơng Bộ liệu nhỏ thời gian chạy thuật toán nhanh Ví dụ: liệu ôtô: |U|:6,|C|:5 thời gian chạy thuật toán trung bình sau lần: 0.0162 s Bộ liệu bệnh viêm gan: |U|: 149, |C|:20 thời gian chạy thuật toán trung bình sau lần: 43.0228 s Số hóa Trung tâm Học liệu Footer Page 72 of 126 http://www.lrc-tnu.edu.vn/ 63 Header Page 73 of 126 KẾT LUẬN * Kết đạt đƣợc luận văn 1) Nghiên cứu hệ thông tin đầy đủ, hệ thông tin không đầy đủ, bảng định, bảng định không đầy đủ, metric họ tri thức tính chất từ trình bày phƣơng pháp rút gọn thuộc tính bảng định đầy đủ sử dụng metric Metric đƣợc xây họ tri thức dựa khoảng cách Jaccard hai tập hợp hữu hạn 2) Trình bày phƣơng pháp rút gọn thuộc tính bảng định không đầy đủ sử dụng metric Metric đƣợc xây dựng họ phủ dựa entropy Liang mở rộng Và cài đặt chƣơng trình demo thuật toán luận văn thuật toán heuristic tìm tập rút gọn tốt bảng định không đầy đủ sử dụng metric Đầu vào bảng định không đầy đủ IDS= (U,C∪D,V,f), đầu tập rút gọn tốt R * Hƣớng nghiên cứu Luận văn trình bày hệ thông tin đầy đủ, hệ thông tin không đầy đủ, bảng định đầy đủ, bảng định không đầy đủ … Tiếp tục nghiên cứu sâu phƣơng pháp rút gọn khác, từ xây dựng đƣợc phƣơng pháp rút gọn thuộc tính hiệu phƣơng pháp có Mặc dù cố gắng trình tìm hiểu, nghiên cứu luận văn, thời gian có hạn nên chắn luận văn không tránh khỏi thiếu sót, mong Thầy Cô bạn góp ý để luận văn đƣợc hoàn chỉnh Số hóa Trung tâm Học liệu Footer Page 73 of 126 http://www.lrc-tnu.edu.vn/ 64 Header Page 74 of 126 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Hoàng Thị Lan Giao (2007) “Khía cạnh đại số logic phát luật theo tiếp cận tập thô”, Luận án Tiến sỹ Toán học, Viện Công Nghệ Thông Tin [2] Nguyễn Long Giang (2012), “Nghiên cứu số phƣơng pháp khai phá liệu theo tiếp cận lý thuyết tập thô”, Luận án tiến sỹ toán học, Viện Công Nghệ Thông Tin [3] Nguyễn Long Giang, Nguyễn Thanh Tùng (2012), “Một phƣơng pháp rút gọn thuộc tính bảng định sử dụng Metric”, Kỷ yếu Hội thảo Một số vấn đề chọn lọc CNTT TT, Cần Thơ, 10/2011, tr 249-266 [4] Nguyễn Long Giang, Nguyễn Thanh Tùng, Vũ Đức Thi, “Một phƣơng pháp rút gọn thuộc tính bảng định không đầy đủ sử dụng metric” Tạp trí Tin học Điều khiển học [5] Nguyễn Thanh Tùng (2010), “Về metric họ phân hoạch tập hữu hạn”, Tạp trí Tin học Điều khiển học, T 26, S.1, tr 73-85 Tiếng Anh [6] Kryszkiewicz M (1998), “Rough set approach to incomplete information systems” Information Science, Vol 112, pp 39-49 [7] Liang J.Y, Chin K.S, Dang C.Y.and Richard C.M.YAM, “New method for measuring uncertainty and fuzziness in rough in rough set theory”, International Journal of General Systems 31, pp.331-342 [8] Liang J.Y and Xu Z.B (2002), “The algorithm on knowledge reduction in incomplete information system”, International Journal of Uncertainty, Fuzziness and Knowledge – Based systems 10 (1), pp 95-103 Số hóa Trung tâm Học liệu Footer Page 74 of 126 http://www.lrc-tnu.edu.vn/ Header Page 75 of 126 65 [9] Liang J.Y, Shim Z.Z, Li D.Y and Wierman M.J.(2006), “The information entropy, rough entropy and knowledge granulation in incomplete information system”, International Jornal of General Systems 35(6), pp.641- 654 [10] Lv Y.J and Li J.H (2007), “A Quick Algorithmfor Reduction of Attribute in Information Systems”, The First International Symposium on Data, Privacy, and E- Commerce (ISDPE 2007), pp 98-100 [11] Miao D.Q and Hu G.R (1999), “A heuristic algorithm for knowledge reduction”, Computer Research and Development, Vol.36, No.6, pp 681-684 [12] Pawlak Z (1998), “Rough set theory and its applications to data analysis”, Cybernetics and systems 29, pp.661-688 [13] R.López de Manstaras (1991), “A distance- based attribute selection measure for decision tree induction”, Machine Learning Vol 6, pp81-92 Số hóa Trung tâm Học liệu Footer Page 75 of 126 http://www.lrc-tnu.edu.vn/ 66 Header Page 76 of 126 PHỤ LỤC using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.OleDb; using System.Threading; using System.Diagnostics; namespace TapRutGon { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnChonFile_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.InitialDirectory = Application.StartupPath; ofd.Filter = "Microsoft Excel File (*.xls)|*.xls"; ofd.ShowDialog(); try { Số hóa Trung tâm Học liệu Footer Page 76 of 126 http://www.lrc-tnu.edu.vn/ 67 Header Page 77 of 126 OleDbConnection mycon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ofd.FileName + ";Extended Properties=Excel 8.0;"); OleDbDataAdapter myDA = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", mycon); DataSet myDS = new DataSet(); myDA.Fill(myDS); dataGridView1.DataSource = null; dataGridView1.DataSource = myDS.Tables[0]; for (int i = 0; i < dataGridView1.Columns.Count; i++) dataGridView1.Columns[i].Name = Convert.ToChar(i + 65).ToString(); } catch (Exception ex) { if (ofd.FileName == "") MessageBox.Show("Phải chọn liệu", "Báo lỗi"); else MessageBox.Show(ex.Message);//"Dữ liệu không định dạng","Báo lỗi"); } } private void btnTim_Click(object sender, EventArgs e) { Stopwatch stw = new Stopwatch(); stw.Start(); Timtaprutgon(); stw.Stop(); lbTotalTime.Text = stw.Elapsed.ToString(); } private void Timtaprutgon() Số hóa Trung tâm Học liệu Footer Page 77 of 126 http://www.lrc-tnu.edu.vn/ 68 Header Page 78 of 126 { try { btnTim.Text = "Đang thực hiện"; btnTim.Enabled = false; string R = "";//tap rut gon string C = "";//tap cac thuoc tinh cua bang for (int i = 0; i < dataGridView1.ColumnCount - 1; i++) C += dataGridView1.Columns[i].Name + ","; C = C.Substring(0, C.Length - 1); string d = dataGridView1.Columns[dataGridView1.ColumnCount - 1].Name; double dC = distance(C, d, dataGridView1); //them thuoc tinh vao tap rut gon while (distance(R, d, dataGridView1) != dC) { R = addR(R, C, d, dataGridView1); } R = R.Substring(1, R.Length-1); //loai bo thuoc tinh du thua tap rut gon string[] Ra = R.Split(new char[] { ',' }); for (int i = 0; i < Ra.Length; i++) { string temp = ""; for (int j = 0; j < Ra.Length; j++) if (!Ra[j].Equals(Ra[i])) temp += Ra[j]+","; temp = temp.Substring(0, temp.Length - 1); if (distance(temp, d, dataGridView1) == dC) Số hóa Trung tâm Học liệu Footer Page 78 of 126 http://www.lrc-tnu.edu.vn/ 69 Header Page 79 of 126 R = temp; } //Hien thi tap rut gon listview lvTapRutGon.Items.Clear(); string [] Rb = R.Split(new char[] { ',' }); for (int i = 0; i < Rb.Length; i++) { string itemname = dataGridView1.Columns[Rb[i]].HeaderText; ListViewItem lv = new ListViewItem((i + 1).ToString()); lv.SubItems.Add(itemname); lvTapRutGon.Items.Add(lv); } btnTim.Text = "Tìm tập rút gọn"; btnTim.Enabled = true; } catch (Exception ex) { MessageBox.Show(ex.Message); btnTim.Text = "Tìm tập rút gọn"; btnTim.Enabled = true; } } private double distance(string items, string d, DataGridView dtgrid) { int sum = 0; for(int i=0;imax) { Số hóa Trung tâm Học liệu Footer Page 81 of 126 http://www.lrc-tnu.edu.vn/ 72 Header Page 82 of 126 max=st; a=itemC[i].ToString(); } } } return R + "," + a; } private double sig(string R, string a,string d, DataGridView dtgrid) { string temp = R + "," + a; return distance(R,d,dtgrid)-distance(temp,d,dtgrid); } } } Số hóa Trung tâm Học liệu Footer Page 82 of 126 http://www.lrc-tnu.edu.vn/ ... phƣơng pháp rút gọn thuộc tính bảng định không đầy đủ Mục tiêu luận văn: Tập trung nghiên cứu rút gọn thuộc tính bảng định đầy đủ từ làm sở nghiên cứu tiếp phƣơng pháp rút gọn thuộc tính bảng định. .. tin đầy đủ Hệ thông tin không đầy đủ Bảng định, bảng định đầy đủ Bảng định không đầy đủ Số đối tƣợng Số thuộc tính điều kiện bảng định Số thuộc tính hệ thông tin Giá trị đối tƣợng u thuộc tính. .. .9 1.4.1 Hệ thông tin không đầy đủ 1.4.2 Bảng định không đầy đủ .11 1.4.3 Tập rút gọn bảng định không đầy đủ 11 1.5 .Rút gọn thuộc tính bảng định đầy đủ sử dụng metric