1. Trang chủ
  2. » Thể loại khác

Tìm hiểu một số lớp toán tử kéo theo và ứng dụng một vài bài toán của cơ sở dữ liệu mờ : Luận văn ThS. Công nghệ thông tin : 1 01 10

88 47 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 88
Dung lượng 1,54 MB

Nội dung

ĐẠI HỌC QUỐC GIA TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TÌM HIỂU MỘT SỐ LỚP TOÁN TỬ KÉO THEO VÀ ỨNG DỤNG MỘT VÀI BÀI TOÁN CỦA CƠ SỞ DỮ LIỆU MỜ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TSKH BÙI CÔNG CƯỜNG HỌC VIÊN THỰC HIỆN: NGUYỄN THỊ HUYỀN MỤC LỤC LỜI CẢM ƠN MỞ ĐẦU CHƯƠNG PHÉP KÉO THEO 1.1 Tập mờ quan hệ mờ 1.1.1 Tập mờ 1.1.2 Số mờ 1.1.3 Các phép toán đại số tập mờ 1.1.4 Các phép toán logic mờ 1.1.4.1 Phép phủ định 1.1.4.2 Phép hội 1.1.4.3 Phép tuyển 1.1.4.4 Luật De Morgan 1.1.5 Quan hệ mờ 1.1.5.1 Quan hệ mờ phép hợp thành 1.1.5.2 Phép hợp thành 10 1.2 Phép kéo theo 11 1.2 Định nghĩa phép kéo theo : 11 1.2.2 Các loại phép kéo theo mờ 12 1.2.3 Sự phân lớp phép kéo theo mờ 16 1.3 Suy luận mờ với phép kéo theo 19 1.3.1 Các mệnh đề mờ 19 1.3.1.1 Các liên kết logic 19 1.3.1.2 Phủ định mệnh đề mờ 21 1.3.2 Các luật mờ 22 1.3.2.1 Biểu biễn luật mờ 22 1.3.2.2 Sự kết hợp luật mờ 22 1.3.3 Suy luận mờ 23 1.3.3.1 Luật hợp thành suy diễn 24 1.3.3.2 Sự suy rộng modus ponens modus tollens 24 1.3.3.3 Tiêu chuẩn để suy rộng modus ponens 25 1.3.3.4 Suy diễn luật dựa T-implication 27 CHƯƠNG 30 T-CHUẨN CÓ NGƯỠNG VÀ PHÉP KÉO THEO CĨ NGƯỠNG 30 2.1 T- chuẩn có ngưỡng 30 2.1.1 T-chuẩn hàm sinh 30 2.1.2 t-chuẩn có ngưỡng 31 2.1.3 t-conorm có ngưỡng 33 2.1.4 Bộ ba De Morgan 33 2.1.5 t-chuẩn có ngưỡng hàm sinh 34 2.1.6 Các phương pháp suy diễn mờ sử dụng t-chuẩn có ngưỡng 36 2.2 Phép kéo theo có ngưỡng 38 CHƯƠNG 40 CƠ SỞ DỮ LIỆU MỜ VÀ LUẬT KẾT HỢP MỜ 40 3.1.Cơ sở liệu mờ 40 3.1.1 Đại số gia tử lập luận xấp xỉ 40 3.1.2 Lập luận xấp xỉ dựa đại số gia tử 42 3.1.3 Tính mờ giá trị ngơn ngữ 42 3.1.4.Xây dựng hàm định lượng ngữ nghĩa sở độ đo tính mờ gia tử 43 3.1.5 Xây dựng quan hệ đối sánh miền trị thuộc tính 43 3.1.5.1 Phân hoạch dựa độ đo mờ giá trị ngôn ngữ đại số gia tử 44 3.1.5.2 Xấp xỉ giá trị ngôn ngữ phân hoạch 44 3.1.6 Một số cách tiếp cận mơ hình sở liệu mờ 48 3.2 Luật kết hợp mờ 49 3.2.1 Luật kết hợp 49 3.2.1.1 Ý nghĩa luật kết hợp 49 3.2.1.2 Một số hướng tiếp cận khai thác luật kết hợp 49 3.2.1.3 Khai thác luật kết hợp 50 3.2.1.4 Thuật toán Apriori nhị phân để tìm kiếm tập thường xuyên 58 3.2.1.5 Luật kết hợp có thuộc tính số thuộc tính hạng mục 60 3.2.1.6 Phương pháp rời rạc hoá liệu 61 3.2.2 Luật kết hợp mờ 62 3.2.2.1 Mơ tả tốn 62 3.2.2.2 Không gian tìm kiếm 65 3.2.2.3 Thuật toán 68 CHƯƠNG 72 BƯỚC ĐẦU ỨNG DỤNG PHÉP KÉO THEO VÀO TÍNH TỐN LUẬT KẾT HỢP MỜ 72 4.1 t-chuẩn có ngưỡng độ ủng hộ 72 4.2 Độ quan trọng 73 4.3 Độ chắn 74 4.4 Cài đặt thuật toán F-Apriori 75 KẾT LUẬN 78 Những vấn đề giải luận văn 78 Công việc nghiên cứu tương lai 78 TÀI LIỆU THAM KHẢO 79 PHỤ LỤC 82 CHƢƠNG PHÉP KÉO THEO 1.1 Tập mờ quan hệ mờ 1.1.1 Tập mờ (Fuzzy set) A tập mờ không gian U A xác định hàm: A hàm thuộc(membership function), A(x) xác định mức độ thuộc x vào tập mờ A Ví dụ 1: Xét tập à bao gồm người TRẺ, khơng có ranh giới rõ ràng để khẳng định người có phần tử à hay khơng, ranh giới mờ Ta nói người thuộc tập hợp à mức độ Chẳng hạn đồng ý với người 35 tuổi thuộc tập hợp à với độ thuộc 60% hay 0.6 Ta có hình vẽ sau: Young 25 Old 50 Chúng ta ký hiệu : A = {(A(x) / x) : x  U}; Ví dụ 2: A0 = vài cam = {(0/0),(0/1) (0.6/2), (1/3), (1/4), (0.8/5), (0.2/6)} 1.1.2 Số mờ Tập mờ M đường thẳng số thực R1 số mờ nếu: a M chuẩn hố, tức có điểm x‟ cho M(x‟) = b Ứng với   R1 , tập mức {x: M(x)   } đoạn đóng R1 Số mờ có dạng phổ biến: 1/ Dạng tam giác z–a b–a M(z) = z–a c–b Nếu z < a Nếu a  z  b Nếu z = b Nếu b  z  c Nếu z > c a b c 2/ Dạng hình thang Nếu z < a z – a Nếu a  z  b b–a M(z) = Nếu b  z  c d – z Nếu c  z  d d–c a b c d Nếu z > d 3/ Dạng hàm Gauss (z – zo)2 /2 Nếu z-z0  d0 e M(z) = Nếu z-z0 > d0 Z0 Hình 1.1.3 Các phép tốn đại số tập mờ Cho A B hai tập mờ không gian U Phép hợp: Phép hợp hai tập mờ A B, kí hiệu A  B tập mờ có hàm thuộc: AB(x) = max{A(x), B(x)} Phép giao: Phép giao hai tập mờ A B, kí hiệu A  B tập mờ có hàm thuộc: AB(x) = min{A(x), B(x)} Phép lấy phần bù tập mờ A ký hiệu Ac tập mờ có hàm thuộc: Ac (x) = 1- A(x) 1.1.4 Các phép toán logic mờ Như toán tử định nghĩa tập hợp cổ điển, toán tử tương tự định nghĩa tập hợp mờ Đó phép hội, phép tuyển hai tập hợp mờ phép phủ định tập hợp mờ, phép toán suy từ định lý tập hợp cổ điển Giá trị chân lý phép hội, phép tuyển, phép phủ định định nghĩa tập hợp cổ điển sau: A 0 1 B 1 AB 0 AB 1 A 1 0 Bảng Ở lý thuyết tập mờ giá trị chân lý phép tốn khơng lấy hai giá trị mà tập hợp giá trị khoảng [0,1] Các tốn tử khơng định nghĩa Trong phần trình bày chi tiết định nghĩa phép tuyển, phép hội tập mờ phép lấy phủ định tập mờ 1.1.4.1 Phép phủ định (negation) Phủ định phép toán logic bản, để suy rộng cần tới toán tử v(NOT P) xác định giá trị chân lý NOT P mệnh đề NOT P Ta xét tới số tiên đề diễn đạt tính chất quen thuộc logic cổ điển: 1/ v(NOT P) phụ thuộc vào v(P) 2/ Nếu v(P) = v(NOT P) = 3/ Nếu v(P) = v(NOT P) = 4/ Nếu v(P1)  v(P2) v(NOT P1)  v(NOT P2) Định nghĩa 1.1.1 [4] Hàm n: [0,1]  [0,1] không tăng thoả mãn điều kiện n(0) = 1, n(1) = gọi hàm phủ định hay phép phủ định Định nghĩa 1.1.2 [4] 1/ Hàm phủ định n chặt hàm liên tục giảm chặt 2/ Hàm phủ định n mạnh n giảm chặt n(n(x)) = x với x 1.1.4.2 Phép hội (conjunction) Phép hội (vẫn quen gọi phép AND) phép toán logic Nó sở để định nghĩa phép giao hai tập mờ Ở ta xét tiên đề từ logic cổ điển 1/ v(P1 AND P2) phụ thuộc vào giá trị v(P1), v(P2) 2/ Nếu v(P1) = v(P1 AND P2) = v(P2), với mệnh đề P2 3/ Giao hoán: v(P1 AND P2) = v(P2 AND P1) 4/ Nếu v(P1) v(P2) v(P1 AND P3)  v(P2 AND P3) với mệnh đề P3 5/ Kết hợp: v(P1 AND (P2 AND P3)) = v((P1 AND P2 ) AND P3) Nếu diễn đạt phép hội mờ (fuzzy conjunction) hàm T: [0,1] x [0,1]  [0,1] ta có định nghĩa [4] sau: Hàm T: [0,1] x [0,1]  [0,1] phép hội t-chuẩn (t-norm) thoả mãn điều kiện sau: 1/ T(1,x) = x với  x  2/ T có tính giao hốn, tức T(x,y) = T(y,x) với  x,y  3/ T không giảm theo nghĩa T(x,y)  T(u,v) với x  u, y  v 4/ T có tính kết hợp : T(x, T(y,z)) = T(T(x,y),z) với  x,y,z  Từ tiên đề ta suy T(0,x), tiên đề 4/ đảm bảo tính thác triển cho hàm nhiều biến Một số ví dụ t-chuẩn: 1/ Min (Zadeh 1965) 2/ Dạng tích: 3/ t-chuẩn Lukasiewiez T(x,y) = min(x,y) T(x,y) = x.y T(x,y) = max{x+y-1, 0} min(x,y) x+y > 4/ nipotent (Fodor 1993) T(x,y) = x+y  min(x,y) max(x,y) = 5/ T-chuẩn yếu Z(x,y) = Ta thấy Z(x,y)  T(x,y)  min(x,y) với  x,y  max(x,y) Xichma Then NumOfProposition(1) = NumOfProposition(1) + Proposition(NumOfProposition(1), 1) = Candidate(I, 1) PropositionSupp(NumOfProposition(1)) = CandidateSupp(I) End If Next If NumOfProposition(1) = Then MaxLength = 83 Exit Sub End If 'Khởi tạo tập mệnh đề ứng viên độ dài 'Khởi tạo tập mệnh đề ứng viên độ dài NumOfCan = For I = NumOfProposition(1) + To NumOfProposition(2) - For J = I + To NumOfProposition(2) If (Proposition(I, 1) = Proposition(J, 1)) And (Proposition(I, 2) \ < Proposition(J, 2) \ 8) And Candidate2(Proposition(I, 2), Proposition(J, 2)) Then NumOfCan = NumOfCan + Candidate(NumOfCan, 1) = Proposition(I, 1) Candidate(NumOfCan, 2) = Proposition(I, 2) Candidate(NumOfCan, 3) = Proposition(J, 2) CandidateSupp(NumOfCan) = End If Next Next 'Tiến hành vòng lặp từ bước thø trë lªn Do While NumOfCan > MaxLength = MaxLength + 'Đếm độ hỗ trợ mệnh đề ứng viên FileNum = FreeFile Open InFileName For Input As #FileNum For I = To NumOfRecord For J = To NumOfAttribute For K = To NumOfWord(J) Input #FileNum, d((J - 1) * + (K - 1)) Next Next For J = To NumOfCan Tmp = If chkThreshold.Value Then PassThreshold = True For K = To MaxLength If d(Candidate(J, K)) < Threshold(Candidate(J, K)) Then PassThreshold = False Exit For End If Next End If If chkThreshold.Value And (Not PassThreshold) Then Select Case cbt2.Text Case "Multiplication" For K = To MaxLength Tmp = Tmp * d(Candidate(J, K)) Next Case "Lukarsewicz" For K = To MaxLength Tmp = Lukarsewicz(Tmp, d(Candidate(J, K))) 84 Next ………… …………… Else Select Case cbt1.ListIndex Case For K = To MaxLength Tmp = Min(Tmp, d(Candidate(J, K))) Next Case For K = To MaxLength Tmp = Tmp * d(Candidate(J, K)) Next Case For K = To MaxLength Tmp = Lukarsewicz(Tmp, d(Candidate(J, K))) Next …………… …………… End Select End If CandidateSupp(J) = CandidateSupp(J) + Tmp Next Next Close FileNum 'Ghi nhận mệnh đề có độ hỗ trợ đủ lớn NumOfProposition(MaxLength) = NumOfProposition(MaxLength 1) For I = To NumOfCan If CandidateSupp(I) > Xichma Then NumOfProposition(MaxLength) = NumOfProposition(MaxLength) + For J = To MaxLength Proposition(NumOfProposition(MaxLength), J) = Candidate(I, J) Next PropositionSupp(NumOfProposition(MaxLength)) = CandidateSupp(I) End If Next If NumOfProposition(MaxLength) = NumOfProposition(MaxLength - 1) Then MaxLength = MaxLength - Exit Sub End If 'Khởi tạo tập mệnh đề ứng viên cho vòng lặp tiÕp theo NumOfCan = For I = NumOfProposition(MaxLength - 1) + To NumOfProposition(MaxLength) - For J = I + To NumOfProposition(MaxLength) Diff = False For K = To MaxLength - If Proposition(I, K) Proposition(J, K) Then 85 Diff = True Exit For End If Next If (Not Diff) And (Proposition(I, MaxLength) \ < Proposition(J, MaxLength) \ 8) And Candidate2(Proposition(I, MaxLength), Proposition(J, MaxLength)) Then NumOfCan = NumOfCan + For K = To MaxLength Candidate(NumOfCan, K) = Proposition(I, K) Next Candidate(NumOfCan, MaxLength + 1) = Proposition(J, MaxLength) CandidateSupp(NumOfCan) = End If Next Next Loop Exit Sub InError: MsgBox "Fuzzy Database file is not valid", vbOKOnly + vbCritical, "Warning!" End Sub ************************************************************** Private Sub RuleMiner() Dim Candidate(1000, 10) As Byte Dim NumOfCan As Integer Dim I As Integer Dim J As Integer Dim K As Integer Dim I1 As Integer Dim I2 As Integer Dim I3 As Byte Dim I4 As Byte Dim Candidate2(255, 255) As Boolean Dim MaxLengthHead As Integer Dim Diff As Boolean Dim Match As Boolean Dim SuppRule As Single Dim RuleLength As Byte Dim Rule(10) As Byte Dim RuleHeadTemp(10) As Byte Dim RuleBodyTemp(10) As Byte Dim NumOfCertHead As Integer Dim RuleIndex As Integer NumOfRule = For I1 = To MaxLength RuleLength = I1 For I2 = NumOfProposition(RuleLength - 1) + To NumOfProposition(RuleLength) RuleIndex = I2 SuppRule = PropositionSupp(RuleIndex) For I = To RuleLength 86 Rule(I) = Proposition(RuleIndex, I) Next 'Khởi tạo phần đầu ứng viên độ dài NumOfCan = For I = To RuleLength NumOfCan = NumOfCan + Candidate(NumOfCan, 1) = Rule(I) Next 'Xác định phần đầu độ dài làm cho luật tin NumOfCertHead = NumOfRule + For I = To NumOfCan K = For J = To RuleLength If Rule(J) Candidate(I, 1) Then K = K + RuleBodyTemp(K) = Rule(J) End If Next J = NumOfProposition(RuleLength - 2) Do J = J + Match = True For I3 = To RuleLength - If Proposition(J, I3) RuleBodyTemp(I3) Then Match = False Exit For End If Next Loop While Not Match If SuppRule / PropositionSupp(J) > Gamma Then NumOfRule = NumOfRule + RuleSupp(NumOfRule) = SuppRule RuleCert(NumOfRule) = SuppRule / PropositionSupp(J) RuleHead(NumOfRule, 1) = Candidate(I, 1) RuleHeadLength(NumOfRule) = RuleBodyLength(NumOfRule) = RuleLength - For K = To RuleLength - RuleBody(NumOfRule, K) = RuleBodyTemp(K) Next End If Next If (RuleLength = 2) Or (NumOfRule < NumOfCertHead) Then GoTo Thoat End If 'Khởi tạo tập phần đầu ứng viên độ dài 'Tiến hành vòng lặp từ bước thứ trở lên MaxLengthHead = Do While (NumOfCan > 0) And (MaxLengthHead < RuleLength 1) MaxLengthHead = MaxLengthHead + 87 'Xác định phần đầu ứng viên làm cho luật tin NumOfCertHead = NumOfRule + For I = To NumOfCan K = I3 = I4 = Do While I3 Gamma Then NumOfRule = NumOfRule + RuleSupp(NumOfRule) = SuppRule RuleCert(NumOfRule) = SuppRule / PropositionSupp(J) For K = To MaxLengthHead RuleHead(NumOfRule, K) = Candidate(I, K) Next For K = To RuleLength - MaxLengthHead RuleBody(NumOfRule, K) = RuleBodyTemp(K) Next RuleHeadLength(NumOfRule) = MaxLengthHead RuleBodyLength(NumOfRule) = RuleLength MaxLengthHead End If Next If NumOfRule < NumOfCertHead Then GoTo Thoat End If 'Khởi tạo tập phần đầu ứng viên cho vòng lặp NumOfCan = For I = NumOfCertHead To NumOfRule - For J = I + To NumOfRule Diff = False For K = To MaxLengthHead - 88 If RuleHead(I, K) \ RuleHead(J, K) \ Then Diff = True Exit For End If Next If (Not Diff) And (RuleHead(I, MaxLengthHead) \ < RuleHead(J, MaxLengthHead) \ 8) And Candidate2(RuleHead(I, MaxLengthHead), RuleHead(J, MaxLengthHead)) Then NumOfCan = NumOfCan + For K = To MaxLengthHead Candidate(NumOfCan, K) = RuleHead(I, K) Next Candidate(NumOfCan, MaxLengthHead + 1) = RuleHead(J, MaxLengthHead) End If Next Next Loop Thoat: Next Next End Sub Thank you for evaluating AnyBizSoft PDF Merger! To remove this page, please register your program! Go to Purchase Now>> AnyBizSoft PDF Merger  Merge multiple PDF files into one  Select page range of PDF to merge  Select specific page(s) to merge  Extract page(s) from different PDF files and merge into one

Ngày đăng: 23/09/2020, 23:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN