ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN TIỂU LUẬN TỐN HỌC CHO KHOA HỌC MÁY TÍNH Đề tài: LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG Giảng viên hướng dẫn: TS DƯƠNG TÔN ĐẢM Học viên thực hiện: Lê Bảo Trung CH1301112 Lâm Hàn Vũ CH1301119 Nguyễn Văn Kiệt CH1301095 UIT, ngày 26 tháng 11 năm 2014 TOÁN HỌC CHO KHOA HỌC MÁY TÍNH GVHD: TS DƯƠNG TƠN ĐẢM MỤC LỤC MỤC LỤC LỜI CẢM ƠN CHƯƠNG KHÁI QUÁT VỀ LOGIC MỜ (FUZZY LOGIC) 1.1 Lịch sử hình thành phát triển Logic mờ 1.2 Khái niệm logic mờ CHƯƠNG LOGIC MỜ VÀ CƠ CHẾ SUY DIỄN MỜ Tập mờ 2.1.1 Định nghĩa 2.1.2 Các phép toán tập mờ 2.1.3 Độ cao, miền xác định miền tin cậy tập mờ 2 Logic mờ 10 2.2.1 Các phép toán logic mờ 10 2.2.1.1 2.2.1.2 2.2.1.3 2.2.1.4 Phép hợp (hay toán tử OR) 10 Phép giao (hay toán tử AND) 11 Phép bù (hay toán tử NOT) 12 Các phép toán mở rộng 12 2.2.2 Quan hệ mờ 15 2.2.2.1 2.2.2.2 Khái niệm quan hệ mờ 15 Phép hợp thành 15 Số mờ 16 2.3.1 Định nghĩa 16 2.3.2 Các phép toán 17 2.3.3 Nguyên lý suy rộng Zadeh 17 Cơ chế suy diễn mờ 18 2.4.1 Biến ngôn ngữ 18 2.4.2 Mệnh đề mờ 19 2.4.3 Các phép toán mệnh đề mờ 19 2.4.4 Phép toán kéo theo mờ 20 2.4.5 Tập luật mờ 21 2.4.6 Phương pháp lập luận xấp xỉ dựa tập mờ 21 2.4.7 Phép suy diễn mờ 24 Mờ hóa giải mờ 26 2.5.1 Mờ hóa 26 2.5.1.1 2.5.1.2 Bộ mờ hóa Singleton (đơn trị) 26 Bộ mờ hóa Gaussian 26 LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TOÁN HỌC CHO KHOA HỌC MÁY TÍNH 2.5.1.3 GVHD: TS DƯƠNG TƠN ĐẢM Bộ mờ hóa tam giác 26 2.5.2 Giải mờ 27 2.5.2.1 2.5.2.2 2.5.2.3 Phương pháp cực đại 27 Nguyên lý trung bình: 28 Nguyên lý cận trái 28 2.5.2.4 2.5.2.5 Nguyên lý cận phải 28 Phương pháp điểm trọng tâm 29 2.5.2.6 2.5.2.7 Phương pháp điểm trọng tâm cho luật hợp thành SUM-MIN 30 Phương pháp độ cao 30 CHƯƠNG ỨNG DỤNG LOGIC MỜ VÀO VIỆC XÁC ĐỊNH THỜI GIAN LÀM BÀI THI TRẮC NGHIỆM KHÁCH QUAN 31 Giới thiệu chung 31 Mờ hóa liệu 31 3.2.1 Đầu vào “Độ khó đề thi” (K) 31 3.2.2 Đầu vào “Số lượng câu hỏi” (C) 32 3.2.3 Đầu “Thời gian làm thi” (T) 32 3.2.4 Bảng định 32 3 Các hàm thành viên 32 3.3.1 Hàm thành viên cho Độ khó K(x) 32 3.3.2 Hàm thành viên cho Số lượng câu hỏi C(y) 33 3.3.3 Hàm thành viên cho Thời gian làm thi T(z) 33 Lập luận mờ: 34 Giải mờ 35 CHƯƠNG CÀI ĐẶT, THỬ NGHIỆM VÀ ĐÁNH GIÁ 30 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 32 TÀI LIỆU THAM KHẢO 33 PHỤ LỤC 34 HƯỚNG DẪN SỬ DỤNG WEBSITE DEMO 34 LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TOÁN HỌC CHO KHOA HỌC MÁY TÍNH GVHD: TS DƯƠNG TƠN ĐẢM LỜI CẢM ƠN Chúng em xin chân thành gửi lời cảm ơn chân thành đến TS Dương Tôn Đảm, người thầy giảng dạy hướng dẫn khoa học nghiêm túc nhiệt tâm Thầy người truyền đạt cho chúng em kiến thức q báu mơn học “Tốn cho Khoa học máy tính” Nhờ có kiến thức Thầy mà chúng em có đủ kiến thức với công cụ cần thiết để thực tiểu luận Được học tập truyền thụ kiến thức mơn “Tốn học cho Khoa học máy tính” với thời gian nghiên cứu, tìm hiểu từ tài liệu Internet Em chọn tìm hiểu logic mờ ứng dụng logic mờ vào việc xác định thời gian làm thi trắc nghiệm khách quan để làm tiểu luận môn học Đây nội dung có liên quan đến lĩnh vực chúng em công tác ngành giáo dục Nội dung tiểu luận thể qua chương, bao gồm: Chương 1: Khái quát Logic mờ (fuzzy logic); Chương 2: Logic mờ chế suy diễn mờ; Chương 3: Ứng dụng logic mờ vào việc xác định thời gian làm thi trắc nghiệm khách quan; Chương 4: Cài đặt, thử nghiệm đánh giá; Chương 5: Kết luận hướng phát triển; Do thời gian khả nghiên cứu có hạn nên tiểu luận chắn khơng tránh khỏi thiếu sót định Kính mong thơng cảm góp ý Thầy để hướng nghiên cứu tới em hoàn thiện đạt hiệu Em xin cảm ơn Học viên thực Lê Bảo Trung Lâm Hàn Vũ Nguyễn Văn Kiệt LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TỐN HỌC CHO KHOA HỌC MÁY TÍNH GVHD: TS DƯƠNG TÔN ĐẢM CHƯƠNG KHÁI QUÁT VỀ LOGIC MỜ (FUZZY LOGIC) 1.1 Lịch sử hình thành phát triển Logic mờ Logic mờ công bố lần Mỹ vào năm 1965 giáo sư Lotfi Zadeh Kể từ đó, logic mờ có nhiều phát triển qua chặng đường sau : phát minh Mỹ, áp dụng Châu Âu đưa vào sản phẩm thương mại Nhật Ứng dụng logic mờ vào công nghiệp thực Châu Âu, khoảng sau năm 1970 Tại trường Queen Mary Luân Đôn – Anh, Ebrahim Mamdani dùng logic mờ để điều khiển máy nước mà trước ông điều khiển kỹ thuật cổ điển Và Đức, Hans Zimmermann dùng logic mờ cho hệ định Liên tiếp sau đó, logic mờ áp dụng vào lĩnh vực khác điều khiển lò xi măng, … không chấp nhận rộng rãi công nghiệp Kể từ năm 1980, logic mờ đạt nhiều thành công ứng dụng định phân tích liệu Châu Âu Nhiều kỹ thuật logic mờ cao cấp nghiên cứu phát triển lĩnh vực Cảm hứng từ ứng dụng Châu Âu, công ty Nhật bắt đầu dùng logic mờ vào kỹ thuật điều khiển từ năm 1980 Nhưng phần cứng chuẩn tính tốn theo giải thuật logic mờ nên hầu hết ứng dụng dùng phần cứng chuyên logic mờ Một ứng dụng dùng logic mờ nhà máy xử lý nước Fuji Electric vào năm 1983, hệ thống xe điện ngầm Hitachi vào năm 1987 Những thành công tạo nhiều quan tâm Nhật Có nhiều lý để giải thích logic mờ ưa chuộng Thứ nhất, kỹ sư Nhật thường giải pháp đơn giản, sau sâu vào vấn đề Phù hợp với việc logic mờ cho phép tạo nhanh mẫu tiến đến việc tối ưu Thứ hai, hệ dùng logic mờ đơn giản dễ hiểu Sự “thông minh” hệ không nằm hệ phương trình vi phân hay mã nguồn Cũng việc kỹ sư Nhật thường làm việc theo tổ, địi hỏi phải có giải pháp để người tổ hiểu hành vi hệ thống, chia ý tưởng để tạo hệ Logic mờ cung cấp cho họ phương tiện minh bạch để thiết kế LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TOÁN HỌC CHO KHOA HỌC MÁY TÍNH GVHD: TS DƯƠNG TƠN ĐẢM hệ thống Và văn hóa, người Nhật khơng quan tâm đến logic Boolean hay logic mờ; tiếng Nhật, từ “mờ’ không mang nghĩa tiêu cực Do đó, logic mờ dùng nhiều ứng dụng thuộc lĩnh vực điều khiển thông minh hay xử lý liệu Máy quay phim máy chụp hình dùng logic mờ để chứa đựng chuyên môn người nghệ sĩ nhiếp ảnh Misubishi thông báo xe giới dùng logic mờ điều khiển, nhiều hãng chế tạo xe khác Nhật dùng logic mờ số thành phần Trong lĩnh vực tự động hóa, Omron Corp có khoảng 350 phát minh logic mờ Ngoài ra, logic mờ dùng để tối ưu nhiều trình hóa học sinh học Năm năm trơi qua, tổ hợp Châu Âu nhận kỹ thuật chủ chốt vào tay người Nhật từ họ nỗ lực việc dùng logic mờ vào ứng dụng Đến nay, có khoảng 200 sản phẩm bán thị trường vơ số ứng dụng điều khiển q trình – tự động hóa dùng logic mờ Từ thành cơng đạt được, logic mờ trở thành kỹ thuật thiết kế “chuẩn” chấp nhận rộng rãi cộng đồng Trong năm gần đây, lý thuyết logic mờ có nhiều áp dụng thành cơng lĩnh vực điều khiển Bộ điều khiển dựa lý thuyết logic mờ gọi điều khiển mờ Trái với kỹ thuật điều khiển kinh điển, kỹ thuật điều khiển mờ thích hợp với đối tượng phức tạp, khơng xác định mà người vận hành điều khiển kinh nghiệm Đặc điểm điều khiển mờ khơng cần biết mơ hình tốn học mơ tả đặc tính động hệ thống mà cần biết đặc tính hệ thống dạng phát biểu ngôn ngữ Đồng thời chất lượng điều khiển mờ phụ thuộc nhiều vào kinh nghiệm người thiết kế 1.2 Khái niệm logic mờ Logic mờ có hai cách hiểu khác nhau: Theo nghĩa hẹp xem logic mờ hệ thống logic mở rộng từ logic đa trị (khác với logic cổ điển dựa đại số Bool) LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TOÁN HỌC CHO KHOA HỌC MÁY TÍNH GVHD: TS DƯƠNG TƠN ĐẢM Tổng quát hơn, logic mờ hoàn toàn gắn liền với lý thuyết tập mờ Một lý thuyết liên quan đến việc phân nhóm đối tượng đường bao mờ, việc xác định đối tượng có thuộc vào nhóm hay khơng dựa vào giá trị hàm phụ thuộc cho nhóm (giá trị đầu vào khơng cần phải giá trị số mà ngơn ngữ thường ngày) Như vậy, nói logic mờ hiểu theo nghĩa hẹp trường hợp đặc biệt logic mờ tổng quát Một điều quan trọng hiểu logic mờ theo nghĩa hẹp thao tác logic mờ khác ý nghĩa lẫn phương pháp so với logic cổ điển dựa đại số Bool Một khái niệm thường dùng logic mờ biến ngôn ngữ Biến ngôn ngữ biến chứa giá trị chữ thay số Có thể hiểu logic mờ theo nghĩa tổng quát phương pháp tính tốn giá trị chữ thay tính toán giá trị số trường phái cổ điển Mặc dù giá trị ngôn ngữ vốn khơng xác giá trị số lại gần với trực giác người Hơn nữa, việc tính tốn giá trị ngơn ngữ cho phép chấp nhận tính mơ hồ liệu nhập dẫn đến giải pháp tốn LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TỐN HỌC CHO KHOA HỌC MÁY TÍNH GVHD: TS DƯƠNG TÔN ĐẢM CHƯƠNG LOGIC MỜ VÀ CƠ CHẾ SUY DIỄN MỜ Tập mờ Để hiểu rõ khái niệm “MỜ” ta thực phép so sánh sau: Trong tốn học phổ thơng ta học nhiều tập hợp, ví dụ tập số thực R, tập số nguyên tố P = 2,3,5, Những tập hợp gọi tập hợp kinh điển hay tập rõ, tính “RÕ” hiểu với tập xác định S chứa n phần tử ứng với phần tử x ta xác định giá trị y = S(x) Giờ ta xét phát biểu thông thường tốc độ xe mơtơ: Chậm, trung bình, nhanh, nhanh Phát biểu “CHẬM” không rõ km/h, từ “CHẬM” có miền giá trị khoảng đó, ví dụ km/ h – 20km/h chẳng hạn Tập L = chậm, trung bình, nhanh, nhanh gọi tập biến ngôn ngữ Với thành phần ngơn ngữ xk phát biểu nhận khả F(xk) tập F gồm cặp (x, F(xk)) gọi tập mờ 2.1.1 Định nghĩa Tập mờ F xác định tập kinh điển X tập mà phần tử cặp giá trị (x, F(x)) xX F ánh xạ: F:X0;1 (2.2) Ánh xạ F gọi hàm thuộc (hoặc hàm phụ thuộc) tập mờ F Tập không gian X gọi tập mờ F Sử dụng hàm phụ thuộc để tính độ phụ thuộc phần tử x có hai cách: Tính trực tiếp (nếu F(x) cho trước dạng công thức tường minh) Tra bảng (nếu F(x) cho dạng bảng) 2.1.2 Các phép toán tập mờ Cho A, B hai tập mờ không gian X có hàm thuộc tương ứng A, B, đó: Phép hợp hai tập mờ: A ∪ B Theo luật Max: A B (x) = Max A (x), B (x) LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TOÁN HỌC CHO KHOA HỌC MÁY TÍNH GVHD: TS DƯƠNG TƠN ĐẢM Theo luật Sum: A B (x) = Min1, A (x) + B (x) Tổng trực tiếp: A B (x) = A (x) + B (x) - A (x) B (x) Phép giao hai tập mờ: A ∩ B Theo luật Min: A B (x) = Min A (x), B (x) Theo luật Lukasiewicz: A B (x) = Max0, A (x) + B (x) - 1 Theo luật Prod: A B (x) = A (x) B (x) Phép bù tập mờ: μ¬A(x) = – μA(x) 2.1.3 Độ cao, miền xác định miền tin cậy tập mờ Độ cao (độ phụ thuộc) tập mờ F (được định nghĩa không gian X) giá trị: Một tập mờ có phần tử có độ phụ thuộc gọi tập mờ tắc, tức H = 1, ngược lại tập mờ F với H < gọi tập mờ khơng tắc Miền xác định tập mờ F (được định nghĩa không gian X), ký hiệu S, tập X thoả mãn: S = xX F(x) >0 Miền tin cậy tập mờ F (được định nghĩa không gian X), ký hiệu T, tập X thoả mãn: T = xX F(x) =1 Hình 2.1: Ví dụ miền xác định miền tin cậy tập mờ LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TỐN HỌC CHO KHOA HỌC MÁY TÍNH 2 GVHD: TS DƯƠNG TÔN ĐẢM Logic mờ Logic mờ cho phép lập luận đối tượng thực tế định nghĩa khơng rõ ràng Trong logic mờ, có đối tượng xấp xỉ khơng có đối tượng xác, kiểu lập luận xấp xỉ Mọi thứ logic mờ, kể giá trị chân lý (true value) độ đo (degree) khoảng [0, 1] nhãn đúng, đúng, sai, sai hơn, … 2.2.1 Các phép toán logic mờ Ta có tốn tử logic tập mờ quan trọng sau: OR, AND, NOT 2.2.1.1 Phép hợp (hay toán tử OR) Hình 2.2 Hàm liên thuộc hợp hai tập mờ sở Phép hợp hay toán tử logic OR hai tập mờ A B có tập X tập mờ A∪B thể mức độ phần tử thuộc hai tập xác định X có hàm thuộc μA∪B(x) tính cơng thức: μA∪B(x) = max {μA(x), μB(x)} Ví dụ 2.1: μTrẻ(An) = 0.8 μTrung niên(An) = 0.3 μTrẻ ∪ Trung Niên(An) = max( 0.8, 0.3) = 0.8 10 LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG ... miền xác định miền tin cậy tập mờ LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TOÁN HỌC CHO KHOA HỌC MÁY TÍNH 2 GVHD: TS DƯƠNG TƠN ĐẢM Logic mờ Logic mờ. .. Khái quát Logic mờ (fuzzy logic) ; Chương 2: Logic mờ chế suy diễn mờ; Chương 3: Ứng dụng logic mờ vào việc xác định thời gian làm thi trắc nghiệm khách quan; Chương 4: Cài đặt, thử nghiệm đánh... Văn Kiệt LOGIC MỜ VÀ ỨNG DỤNG VÀO VIỆC XÁC ĐỊNH THỜI GIAN ĐỀ THI TRẮC NGHIỆM KHÁCH QUAN TỰ ĐỘNG TOÁN HỌC CHO KHOA HỌC MÁY TÍNH GVHD: TS DƯƠNG TƠN ĐẢM CHƯƠNG KHÁI QT VỀ LOGIC MỜ (FUZZY LOGIC) 1.1