Đ I H C QU C GIA THÀNH PH H CHÍ MINH

Ố Ồ

CH

Ạ Ọ NG TRÌNH ĐÀO T O TH C SĨ CNTT QUA M NG Ạ

ƯƠ

---------------  ---------------

Tìm Hi u Logic M và xây d ng ng d ng

ự ứ

Đi u khi n t

ể ự ộ

đ ng t c đ xe ôtô ố ộ

B môn ộ : PP Toán trong Tin H cọ

GVHD : PGS TS. Đ Văn Nh n ỗ ơ

Th c hi n ệ : Nguy n Khánh Ng c ọ ự ễ CH1001117

Thành ph H Chí Minh - Tháng 7 Năm 2012 ố ồ

NH N XÉT C A GI NG VIÊN H NG D N Ủ Ậ Ả ƯỚ Ẫ

............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. .............................................................................................................................

M C L C Ụ Ụ

ậ ị ậ ư

ế ệ ệ

t k H Th ng M

ế ố ủ

Ph n 1: Logic M ầ ệ ................................................................................................................. 1 i thi u I. Gi ớ ờ .................................................................................................................. 2 II. T p m ậ ể ..................................................................................................2 1. T p kinh đi n ờ...........................................................................................3 2. Đ nh nghĩa t p m ậ ờ...............................................................6 3. Các thông s đ c tr ng cho t p m ố ặ ờ...............................................................................7 4. Các phép toán trên t p mậ III. Quan h m ệ ờ .........................................................................................................12 IV. Logic m ờ ...............................................................................................................12 1. Khái ni mệ .........................................................................................................12 2. Bi n ngôn ng ữ .................................................................................................13 ề ờ.....................................................................................................13 3. M nh đ m 4. Các phép toán m nh đ m ề ờ ...........................................................................14 5. Phép toán kéo theo mờ.....................................................................................15 ờ............................................................................................................16 6. Lu t mậ .........................................................17 7. Lu t Modus Ponens hay Modus Tollens ậ Ph n 2: Thi ầ ế ế ệ ố I. Các y u t xây d ng mô hình Logic m ự II. Qui trình ho t đ ng c a Logic m ạ ộ ng pháp xây d ng mô hình III. Ph

ự ươ

ng pháp gi i ươ

IV. Các ph 1. Ph 2. Ph

ươ ươ ụ ự

ể ố ộ

ặ ứ

t k

t k ng d ng II. Phân tích thu t toán xây d ng h th ng đi u khi n m cho xe ôtô ệ ố ề ờ ế

ự ự ị ậ

III. Cài đ t ng d ng minh h a

ụ ươ ọ ằ

IV. K t lu n ế ng pháp toán trong tin h c c trong bài thu ho ch 1. Vai trò c a ph ủ 2. Nh ng k t qu đ t đ ế 3. H n ch và H ng phát tri n ờ...............................................................20 ờ.......................................................................23 ..........................................................................23 1. Mô hình tam giác .............................................................................................23 2. Mô hình hình thang...........................................................................................24 ả mờ...................................................................................25 ự ạ ......................................................................................25 ng pháp c c đ i .........................................................................26 ng pháp đi m tr ng tâm ể ọ V. Công c th c hi n h Logic m ờ..........................................................................27 ệ ệ ờ.........................................................................28 VI. M t s ng d ng c a Logic m ộ ố ứ ủ ụ Áp d ng logic m vào cài đ t ng d ng đi u khi n t c đ xe ôtô Ph n 3: ầ ụ ụ ế ế................................................................................................30 I. M c tiêu và thi ụ ...........................................................................................................30 1. M c tiêu ụ ụ ...........................................................................................30 2. Thi ế ế ứ ..................31 ể ậ ự .............................................31 1. Xây d ng bi n ngôn ng (Linguistic variables) ữ 2. Xây d ng hàm ph thu c (membership function) .........................................31 ộ ụ ờ.......................................................................................35 3. Xác đ nh các lu t m .......................................................37 4. Làm m d li u đ u vào (Fuzzification) ờ ữ ệ ầ iả mờ.............................................................................................................40 5. Gi ọ .................................................................................42 ặ ứ .......................................................42 ng trình mình h a b ng C# 1. Cài đ t ch ặ ệ .............................................................................................48 2. Ch y th nghi m ạ ử ậ .................................................................................................................49 ọ ..................................................49 ạ ...............................................49 ể .........................................................................49 ươ ả ạ ượ ướ ữ ạ ế

Tài li u tham kh o ả .............................................................................................................51 ệ

Ph n I: Logic M

I. Gi ớ

ỹ ư ạ ầ ệ ờ ượ ng sau : phát minh i M vào năm 1965 do giáo s Lotfi Zadeh. ở ỹ M , ặ ẩ ươ

ầ ả ờ ườ ạ ở ượ ệ ở i thi u Logic m đ c công b l n đ u tiên t ố ầ K t đó, logic m đã có nhi u phát tri n qua các ch ng đ ể ừ ể ề ờ ng m i Châu Âu và đ a vào các s n ph m th áp d ng ụ ở ng d ng đ u tiên c a logic m vào công nghi p đ ệ ụ Ứ ả ở c mà tr ờ ể ề ướ ạ ứ ỹ ng Queen Mary ộ ơ ướ ậ ổ ể ế i Đ c, Hans Zimmermann dùng logic m ụ ế ị ể ư ẫ Nh t. ậ Châu Âu, c th c hi n ự Luân Đôn – Anh, Ebrahim Mamdani c đây ông y không th đi u ể ề ấ ờ ự c áp d ng vào các lĩnh v c c ch p nh n r ng rãi trong ậ ộ ờ ượ ượ ấ

năm 1980, logic m đ t đ K t ư ủ kho ng sau năm 1970. T i tr ạ ườ dùng logic m đ đi u khi n m t máy h i n ể khi n đ c b ng các k thu t c đi n. Và t ể ượ ằ cho các h ra quy t đ nh. Liên ti p sau đó, logic m đ ệ khác nh đi u khi n lò xi măng, … nh ng v n không đ ư ề công nghi p.ệ ể ừ ứ ữ ệ ở ế c nhi u thành công trong các ng d ng ra quy t c nghiên ờ ề ề ượ ấ ậ ỹ đ nh và phân tích d li u ị c u và phát tri n trong lĩnh v c này. ứ ờ ạ ượ ụ Châu Âu. Nhi u k thu t logic m cao c p đ ự

ả ứ ủ ể C m h ng t ừ ỹ ờ ữ ậ ứ ề ậ ắ ầ ẩ ư ứ ả ầ ữ ứ ờ ấ ộ ụ ề ạ nh ng ng d ng c a Châu Âu, các công ty c a Nh t b t đ u dùng ụ ủ năm 1980. Nh ng do các ph n c ng chu n tính ể ừ ầ i thu t logic m r t kém nên h u h t các ng d ng đ u dùng các ph n ụ ế i đây ủ c c a Fuji Electric vào năm 1983, h th ng xe đi n ng m c a ầ ứ ề ờ ầ ệ ờ ướ ủ ệ ố ử logic m vào k thu t đi u khi n t toán theo gi ậ c ng chuyên v logic m . M t trong nh ng ng d ng dùng logic m đ u tiên t ứ là nhà máy x lý n ầ Hitachi vào năm 1987.

ở ầ ề i sao logic m đ ộ ứ Nh t. Có nhi u lý do đ ậ ả ạ ớ ẫ ồ ế ế ả ờ ơ ủ ệ ả ư ệ ỹ ư i trong t ỏ ườ ậ đ u hi u đ ể ượ ổ ề ấ ờ ườ ệ ộ ẽ ệ ấ ề ạ ư ế ế ờ Nh ng thành công đ u tiên đã t o ra nhi u quan tâm ể ậ ạ ữ ề c a chu ng. Th nh t, các k s Nh t th i thích t gi ắ ng b t ỹ ư ờ ượ ư ạ ả ấ ườ nh ng gi đ u t ệ i pháp đ n gi n, sau đó m i đi sâu vào v n đ . Phù h p v i vi c ợ ề ấ ả ơ ữ ầ ừ ớ logic m cho phép t o nhanh các b n m u r i ti n đ n vi c t i u. Th hai, các h ệ ứ ệ ố ư ờ dùng logic m đ n gi n và d hi u. S “thông minh” c a h không n m trong các h ệ ằ ự ễ ể ng trình vi phân hay mã ngu n. Cũng nh vi c các k s Nh t th ph ệ ng làm vi c ồ ươ c hành vi i pháp đ m i ng , đòi h i ph i có m t gi theo t ể ọ ả ả ổ ng đ t o ra h . Logic m cung c p cho h m t c a h th ng, cùng chia s ý t ọ ộ ệ ố ể ạ ưở ủ ườ i t k h th ng. Và cũng do n n văn hóa, ng ng ti n r t minh b ch đ thi ph ế ế ệ ố ể Nh t không quan tâm đ n logic Boolean hay logic m ; cũng nh trong ti ng Nh t , t ừ ậ “m ’ không mang nghĩa tiêu c c. ự

ươ ậ ờ Do đó, logic m đ ộ ề ề ự ứ ụ ự ườ ầ ệ ờ ư ề ủ ế ớ ậ ế ả ề ộ ố ầ ờ ề ả ờ ể ố ư ượ ề ọ

ọ ằ ộ ỹ ậ ậ i u nhi u quá trình hóa h c và sinh h c. h p Châu Âu nh n ra r ng mình đã m t m t k thu t ch ấ ổ ợ ừ ỗ ự ơ ườ ệ ờ ng và vô s ủ đó h đã n l c h n trong vi c dùng logic m vào các ố ị ườ ủ ả ch t vào tay ng ụ ứ ụ ứ i Nh t và t ậ ế ể ự ộ ề

Trang 5

ạ ượ ế ế t k ữ ậ ờ ẩ đ ng hóa dùng logic m . ờ thành m t k thu t thi ộ ỹ ở c ch p nh n r ng rãi trong c ng đ ng. c dùng nhi u trong các ng d ng thu c lĩnh v c đi u khi n ể ờ ượ ụ thông minh hay x lý d li u. Máy quay phim và máy ch p hình dùng logic m đ ờ ể ử ữ ệ i ngh sĩ nhi p nh. Misubishi thông báo v ch a đ ng s chuyên môn c a ng ề ự ứ ủ chi c xe đ u tiên trên th gi i dùng logic m trong đi u khi n, cũng nh nhi u hãng ể ế ự ự ch t o xe khác c a Nh t dùng logic m trong m t s thành ph n. Trong lĩnh v c t ế ạ đ ng hóa, Omron Corp. có kho ng 350 b ng phát minh v logic m . Ngoài ra, logic ộ ằ m cũng đ c dùng đ t ờ Năm năm trôi qua, các t ố ọ ng d ng c a mình. Đ n nay, có kho ng 200 s n ph m bán trên th tr ả ng d ng trong đi u khi n quá trình – t T nh ng thành công đ t đ ậ ộ c, logic m đã tr ộ ừ “chu n” và đ ẩ ượ ấ ồ

c đ nh nghĩa nh ượ ậ ợ ề ả

ng có cùng tính ch t, đ ượ c g i là ph n t ệ ế c hình thành trên n n t ng lôgic và đ ọ ư ị ầ ử ủ ậ c a t p ượ ố ượ ấ

II. T p m ờ ậ 1. T p kinh đi n ậ ể Khái ni m t p h p đ là s s p x p chung các đ i t ự ắ h p đó. ợ

∈ A. Thông th ộ ậ x thu c A đ ộ ượ

Cho m t t p h p A, m t ph n t ợ ể ể ầ ử ợ c ký hi u: x ệ t kê các ph n t ệ ngườ ầ ử ủ ậ c a t p

i}; ộ ta dùng hai cách đ bi u di n t p h p kinh đi n, đó là: Li ể ễ ậ h p, ví d t p A1 = {xe đ p, xe máy, xe ca, xe t ả ợ ụ ậ ạ

ể ấ ổ ầ ử ủ , ví d : t p các s ụ ậ ố

nhiên (N). ễ ậ th c (R), T p các s t ậ Bi u di n t p h p thông qua tính ch t t ng quát c a các ph n t ự ợ ố ự

Đ bi u di n m t t p h p A trên t p n n X, ta dùng hàm thu c µA(x), v i: ể ể ộ ậ ễ ề ậ ợ ộ ớ

Ký hi u . Ta nói: t p A đ c đ nh nghĩa trên n n t p X. ệ ậ ượ ị ề ậ

Hình 1 mô t hà ph thu c c a t p s th c t ả ộ ủ ậ ố ự ừ ụ -5 đ n 5 ế

Hình 1: Hàm ph thu c c a t p kinh đi n A ộ ủ ậ ụ ể

2. Đ nh nghĩa t p m ị

ờ ậ ợ ộ ờ (Fuzzy set) là m t m r ng c a ế ậ

Các t p mậ ượ ể ế ậ ệ ợ

ậ ờ hay t p h p m c dùng trong ầ ử ủ ợ

ho c thu c ho c không thu c v t p h p. Ng trong m t t p h p đ ộ ậ ộ ầ ử ệ ặ ặ ộ

ợ ộ

ủ lý thuy t t p h p ợ cổ ở ộ lôgic mờ. Trong lý thuy t t p h p c đi n, quan h thành ổ ể ộ c đánh giá theo ki u nh phân theo m t ể ị c ượ ề ậ v quan h thành viên gi a m t ph n t ầ ử ệ ữ ộ hàm liên thu cộ (membership b ng m t ượ ộ t ừ ừ ề c mô t ả ằ ế ậ ợ ượ ệ

đi n và đ viên c a các ph n t đi u ki n rõ ràng - m t ph n t ề l i, lý thuy t t p m cho phép đánh giá t ờ ạ và m t t p h p; quan h này đ ộ ậ function) .

ợ ộ ộ ố ư ậ ờ ợ ỗ

m n u F có bi u di n: T p h p m là t p h p mà m i thành ph n là m t b s . Nh v y, ta nói F là t p ậ ầ ậ ờ ế ậ ễ ể

là t p m trên không gian n n X n u A đ c xác đ nh b i hàm: ề ế ậ ờ ở ị trong đó ượ

Trang 6

Trong đó: X : là t p n n hay đ ề ậ ượ ọ c g i là t p vũ tr c a t p m ờ ụ ủ ậ ậ

là hàm liên thu c (membership function) là đ liên thu c c a x vào t p m A. ộ

Các t p m đ ậ ờ ượ ủ ộ

ậ ờ ở ộ ế

vai trò c a m t ộ hàm đ c tr ng ặ ộ ạ ỗ ủ

ế ậ m tộ universe (Không gian tham chi u hay không gian n n thu c có th gi ộ t t ử ớ ộ ộ ủ c coi là m t m r ng c a lý thuy t t p h p c đi n là vì, v i ớ ổ ể ợ ề ) nh t đ nh, m t hàm liên ấ ị ư (indicator function) ánh x m i ph n ầ ệ i m t giá tr 0 ho c 1 nh trong khái ni m c đi n. ư ể ữ ị ổ ể ặ ộ

ộ Trong khái ni m t p h p kinh đi n hàm ph thu c µA(x) c a t p A, ch có m t ủ ậ ụ ể ộ ỉ ệ ậ

ợ trong hai giá tr là "1" n u x ị ế ∈A ho c "0" n u x ặ ế ∉A.

ư ữ ể ẽ ộ ợ ớ

B = { x ∈ R | x ≈5 }

ụ "m " nh t p B g m các s th c g n b ng 5: c mô t đ ậ Ví d 1:ụ Cách bi u di n hàm ph thu c nh trên s không phù h p v i nh ng t p ố ự ầ ễ ư ậ ằ ả ờ ồ ượ

ể ắ ẳ ộ ỉ

ị ầ ượ ả ộ ỏ

Hình 2: Hàm ph thu c

ộ c a t p “m ” B

i đ 0 đ n 1 t c là: 1 ắ ố th nói nó thu c B gao nhiêu ph n trăm. Đ tr l ể ả ờ ph thu c có giá tr trong kho ng t ứ Khi đó ta không th kh ng đ nh ch c ch n s 4 có thu c B hay không? mà ch có c câu h i này, ta ph i coi hàm ể ụ ừ ế ả ộ ị

ủ ậ ờ

ị ừ ể ậ

ị c bi u di n b i m t c p giá tr . Trong đó x ộ ặ ượ ể

T phân tích trên ta có đ nh nghĩa: T p m B xác đ nh trên t p kinh đi n M là m t ộ ờ ∈M và là ượ c ở ễ ộ ủ ậ ầ ử ủ ạ ượ ậ ị ậ ể ạ ờ

c g i là hàm liên thu c c a t p m B. T p kinh đi n M đ ờ c a nó đ t p mà m t ph n t ộ ậ ánh x . Ánh x đ ọ g i là c s c a t p m B. ơ ở ủ ậ ọ

ề ớ ố

ng di n gi ệ ậ ờ ứ ồ ị ủ ả ờ ườ

ỗ ậ ặ ặ ươ ữ ạ ộ ườ

i tích m i t p m ng v i m t hàm s và hàm s có ộ ng g p đ th c a hàm đ thu c (membership ọ ắ ng g i v n i đây: Nh v y v ph ư ậ đ th c a nó. Nh ng t p m th ồ ị ủ function ) có hình d ng là hình tam giác ho c hình thang mà ng t ắ ố ộ i ta th t là “t p m hình thang” ho c “t p m hình tam giác” nh hình v d ậ ườ ẽ ướ ư ặ ậ ờ ờ

t đ Cold (l nh), Warm ( m) và Hot (nóng) ậ ạ ấ

Trang 7

Hình 3: Ba t p m ch các tr ng thái nhi ờ ỉ ạ ạ ệ ộ đ u có d ng hình thang. ề

ạ ế ầ

ệ ộ ể ấ

“t c là “ . Tóm l nhi i đi m ể ấ ể ạ ể h1 trên tr c nhi ụ i đi m mà ta có th th y đ ươ t đ ( temperature) chi u lên đ u tiên ta h i mơ ấ ”, đ ng th i c t ờ ắ ồ ệ ộ h1 có thể t đ i ạ ở ượ ng đ i l nh” ố ạ

Theo hình v này t th y c t t p m warm t ắ ậ ấ t p m cold t ờ ậ xem là “h i m” ho c “t ơ ấ

ẽ ờ ạ i đi m mà ta th y là ng đ i l nh” ố ạ ươ ờ ượ ứ ọ ỹ ụ

ng đ c n gi ồ ầ ị

ặ ậ ặ c ng d ng nhi u trong khoa h c k thu t đ c Ngày nay t p m và logic m đ ề ờ ậ đ ng trong h tr giúp quy t đ nh trong tính toán hi u năng t trong đi u khi n t bi ế ị ệ ợ ể ự ộ ề ệ t có ghi Fuzzy logic Controler nh chúng ta đã g p, máy có cao… Ví d trong máy gi ư ặ ụ ặ đó n đ nh m c đ b t c đ b n, ch t li u và trong l th đo đ ứ ộ ộ t t ặ ừ ấ ấ ệ ượ ộ ẩ t s ch. c c n dùng và các ch c năng c n v n hành đ gi t, s n gi ể ặ ạ ể ặ ố ướ ầ ượ ầ ứ ậ

• M t t p m F v i các s t ớ ờ có đ th nh sau: ồ ị ư

Ví d 2:ụ nhiên nh h n 5 đ c mô t b ng hàm thành viên ộ ậ ố ự ỏ ơ ượ ả ằ

Hình 4: Đ th hàm thành viên ồ ị

ộ ộ ơ

Trang 8

ệ ộ ủ Ta có t p m ờ ậ • S t nhiên 1 và 2 có đ ph thu c là 1 ộ ụ ố ự • S t nhiên 3 và 4 có đ ph thu c th p h n 1 ấ ộ ụ ố ự • Các s không li t kê có đ ph thu c là 0 ộ ộ ụ ố S d ng các hàm liên thu c đ tính đ ph thu c c a m t ph n t ộ ụ ộ ể ử ụ d ng công th c t ng minh) ho c tra b ng (n u ế ở ạ ứ ườ ộ ặ ầ ử ả ế x nào đó có hai ế ở ạ d ng cách: tính tr c ti p (n u ự b ng). ả Các hàm liên thu c có d ng “tr n” đ ơ ộ ạ ể ộ c g i là ọ ễ ộ ụ ộ ộ ỹ ầ ể ộ ườ ượ ể ố ớ . Đ i v i hàm liên thu c ki u S ượ ộ hàm liên thu c ki u S, do các công th c bi u di n có đ ph c t p l n nên th i gian ờ ứ ạ ớ ể ể ứ lâu h n. Trong k thu t đi u khi n m thông tính đ ph thu c cho m t ph n t ờ ề ậ ơ ộ th ế c thay g n đúng b ng m t hàm tuy n ng đ ằ ườ tính t ng đo n. ạ c g i là hàm liên thu c có ầ ử ộ ng, các hàm liên thu c ki u S th ừ ộ ượ ừ ế ạ ộ ọ M t hàm liên thu c có d ng tuy n tính t ng đo n đ ạ ứ m c chuy n đ i tuy n tính. ể ổ ộ ế

ừ ế Hàm liên thu c ộ ở Hình 5: Hàm liên thu c tuy n tính t ng đo n ạ ộ ộ trên v i m1 = m2 và m3 = m4 chính là hàm ph thu c c a m t ộ ủ ụ ớ

t p n n. ậ ề Mi n tin c y c a t p m A trên n n X là m t t p T là t p con c a X th a mãn. ề ậ ủ ậ ộ ậ ủ ề ậ ờ ỏ

Mi n xác đ nh c a t p m F trên n n X là m t t p S là t p con c a X th a mãn. ủ ậ ộ ậ ủ ề ề ậ ờ ỏ ị

Hình 6 - Mi n tin c y và mi n xác đ nh ậ ề ề ị

ậ ư ố ặ ờ ố ặ ư ề ề ậ ậ ị

c a m t t p m B (Đ nh nghĩa trên c s M) là giá tr l n nh t trong các giá ơ ở ị ớ ấ ờ ị 3. Các thông s đ c tr ng cho t p m Các thông s đ c tr ng cho t p m là đ cao, mi n xác đ nh và mi n tin c y (hình ộ ờ 1.3) + Đ caoộ ủ tr c a hàm liên thu c: ộ ậ ộ ị ủ

có đ ph thu c b ng 1 đ c g i là t p m ậ ờ chính t c (H = 1). Ng M t t p m có ít nh t m t ph n t ầ ử ộ ậ ờ ộ ằ ộ ấ ắ i, m t t p m B v i H < 1 g i là t p m không chính t c. c l ọ ượ ạ ượ ọ ờ ộ ụ ớ ộ ậ ắ ậ ờ

Trang 9

ậ ủ ậ ề ề c a t p m B (Đ nh nghĩa trên c s M) đ Hình 7: Đ cao, mi n xác đ nh, mi n tin c y c a t p m ị ị ơ ở ượ ờ ệ ậ c ký hi u b i S là t p ở ờ ị + Mi n xác đ nh con c a M có giá tr hàm liên thu c khác không: ề ủ ộ ộ ủ ậ ị

ậ c a t p m B (đ nh nghĩa trên c s M) đ ơ ở ờ ượ ậ c ký hi u b i T, là t p ở ệ + Mi n tin c y ủ ậ con c a M có giá tr hàm liên thu c b ng 1: ị ị ộ ằ ề ủ

Phép toán trên t p mậ

Đ nh nghĩa hàm liên t c ụ

A¯ B

f

ờ ờ ậ ề ộ

4. Các phép toán trên t p mậ Đ nh nghĩa: Cho A và B là hai t p m trên không gian n n X, có các hàm liên thu c , ị Stt ị 1 2 3 4 5 6 7 8

Giao c a hai t p m ờ ủ ậ ậ ộ ầ ậ ợ ờ ệ ộ ậ ợ ậ ủ ờ ờ ộ ị Cho X là t p h p, A, B là hai t p m trong X và có các hàm thu c l n lu t là µA, µB. Giao c a hai t p m A và B, ký hi u A∩B, là m t t p m có hàm thu c xác đ nh nh sau:

• Theo lu t Lukasiewicz

ư • Theo lu t Min ậ

• Theo lu t Prod

Hình 8 - Giao c a hai t p m ủ ậ ờ ậ ờ ộ ầ ậ ờ

• Theo lu t Max

H p c a hai t p m ợ ờ ộ ậ ậ ậ ợ ộ ờ ợ ủ Cho X là t p h p, A, B là hai t p m trong X và có các hàm thu c l n lu t là , . ệ ∪B, là m t t p m có hàm thu c xác H p c a hai t p m A và B trong X, ký hi u A ợ ủ đ nh nh sau: ư ị

• Theo lu t Sum

Trang 10

• T ng tr c ti p ự ế

ậ ờ Hình 9 - H p c a hai t p m ợ ủ ờ ậ ậ ộ ầ ượ ờ ộ ậ ệ ờ t là . Tích ộ ượ c Tích đ i s c a hai t p m ạ ố ủ Cho X là t p h p, A, B là hai t p m trong X và có các hàm thu c l n l ợ ậ ờ đ i s c a hai t p m A và B trong X, ký hi u A.B là m t t p m có hàm thu c đ ạ ố ủ ậ xác đ nh nh sau: ị ư

ổ ậ ộ ầ ượ ậ

ộ ậ ệ ờ ờ ổ t là , . T ng c xác ộ ượ

µA.B(x) = µA(x).µB(x) ∀x∈X T ng đ i s c a hai t p m . ờ ạ ố ủ Cho X là t p h p, A, B là hai t p m trong X và có các hàm thu c l n l ờ ậ ợ đ i s c a hai t p m A và B trong X, ký hi u là m t t p m có hàm thu c đ ạ ố ủ ậ đ nh nh sau: ư ị

ầ ộ ậ ủ ầ ộ ờ Ph n bù c a m t t p m . ộ ậ ờ Cho A là t p m trong X có hàm thu c µA. Ph n bù A c a A trong X là m t t p m ờ có hàm thu c xác đ nh nh sau: ủ ậ ộ ư ị

Hình 10 - Bù c a m t t p m ủ ộ ậ ờ

ờ ủ ậ ổ Cho X là t p h p, A và B là hai t p m trong X. T ng r i c a hai t p m A và B T ng r i c a hai t p m . ờ ậ ờ ủ ậ ổ ờ ợ

A⊕B = (A ∩B) ∪ (A∩B )

ờ trong X, ký hi u Aệ ⊕B đ nh nghĩa nh sau: ậ ư ị

ừ t là , . Phép ậ ợ ộ ầ ượ ậ c đ nh nghĩa nh sau: ượ ị ừ ủ ư ệ ậ ờ ờ Phép tr hai t p m . Cho X là t p h p, A, B là hai t p m trong X và có các hàm thu c l n l ờ ậ tr c a hai t p m A và B trong X ký hi u A\B đ A\B = A∩B . Cho X là t p h p, A và B là hai t p m trong X, có các hàm thu c l n l t là , . A ộ ầ ượ ợ

.

ậ g i là n m trong B, ký hi u A ọ ờ ệ ⊂B n u hàm thu c th a mãn: ậ ế ằ ỏ ộ

Trang 11

t là , . A ộ ầ ượ ậ ậ ợ Cho X là t p h p, A và B là hai t p m trong X, có các hàm thu c l n l ờ ỉ ế g i là b ng B, ký hi u A=B n u và ch n u: ọ ế ệ ằ

Phép ph đ nh ủ ị

ệ ề ọ ỏ

Hàm n:[0,1] -> [0,1] không tăng th a mãn đi u ki n n(0) = 1, n(1) =0 g i là hàm ph đ nh ủ ị M t vài ví d : ộ ụ

ọ ủ ị

l (x) = (1-x)/(1+l x), v i ớ l >-1 ớ

Hàm n là phép ph đ nh m nh, n u n gi m ch t và n(n(x))=x , v i m i x ạ ế ặ ả ọ

ả ộ

- Hàm ph đ nh chu n n(x) = 1-x ủ ị 2 - Hàm ph đ nh n(x) = 1-x ủ ị - H ph đ nh (Sugeno,1997) N ủ ị Phép h i (t-norm) ẫ ọ ơ ở ể ị Hàm T:[0,1]2 -> [0,1] là m t t-norm n u th a mãn các đi u ki n sau :

ệ ề ị £ ớ £ Phép h i (v n quen g i là phép AND) là m t trong các phép toán logic căn b n nh t. ấ ộ Nó cũng là c s đ đ nh nghĩa phép giao c a 2 t p m . ờ ủ ậ Đ nh nghĩa : ộ ỏ ế 1 (T n t i ph n t đ n v ) ồ ạ ị ầ ử ơ x, y £ 1 (T có tính giao hoán)

ọ ớ ớ ừ ế

x £ a) T(1,x) = x, v i m i 0 b) T(x,y) = T(y,x) v i m i 0 ọ c) T(x,y) = T(u,v) v i m i 0 ọ d) T(x,T(y,z)) = T(T(x,y),z) v i m i 0 £ x£ u£ 1, 0£ y£ v£ 1 (không gi m theo t ng bi n) ớ ọ £ x,y,z£ 1 (T có tính k t h p)

ơ ả ề ệ ữ ừ ả ế ợ ữ ế ề T nh ng đi u ki n trên chúng ta suy ra ngay T(0,x). H n n a tiên đ d) đ m b o ả tính thác chuy n duy nh t cho hàm nhi u bi n. ấ

OR) thông th ng c n th a mãn các tiên ộ ể ử ư ườ ầ ỏ

ế ọ ộ

£ ề ể Phép tuy n (t-conorm) Gi ng nh phép h i, phép tuy n (hay toán t ố đ sau : ề Đ nh nghĩa : Hàm S : [0,1] g i là phép tuy n (OR suy r ng) hay là t-conorm n u th a ỏ ể ị mãn các tiên đ sau : ớ ầ ử ơ ồ ạ £

ừ ế

ọ £ x,y,z£ 1 (S có tính k t h p) ả ế ợ

ề x £ đ n v ) i ph n t 1 (T n t a) S(0,x) = x, v i m i 0 ị ọ x, y £ 1 (S có tính giao hoán) b) S(x,y) = S(y,x) v i m i 0 ọ ớ c) S(x,y) £ £ x£ u£ 1, 0£ y£ v£ 1 (không gi m theo t ng bi n) S(u,v) v i m i 0 ọ ớ d) S(x,S(y,z)) = S(S(x,y),z) v i m i 0 ớ Phép kéo theo

ứ ề ố ủ ề ọ ậ ễ ậ ả ỉ

Phép kéo theo (implication) là m t hàm s I :[0,1]-> [0,1] tho mãn các ả ộ ố nhiên vì đây là công Đã có khá nhi u nghiên c u v phép kéo theo, đi u đó cũng t ự ề đo n m u ch t c a quá trình suy di n trong m i l p lu n x p x , bao g m c suy ồ ấ ấ lu n m . ờ Đ nh nghĩa : đi u ki n sau : ệ ạ ậ ị ề

[0,1] [0,1] ˝

a) N u xế £ z thì I(x,y) ‡ b) N u yế £ u thì I(x,y) £ I(0,x) = 1 v i m i x c) d) I(x,1) = 1 v i m i x e)

˝ ọ ˝ I(z,y) v i m i y ớ ọ ˝ I(x,y) v i m i y ớ [0,1] [0,1] ớ ớ ọ ọ

Trang 12

4 tiên đ trên. I(1,0)=0 ả ơ Tuy đ n gi n nh ng m c e) v n c n vì không th suy ra m c e) t ẫ ầ ư ụ ụ ể ừ ề

ầ ữ ượ ụ ể ủ ờ ự

2 b ng bi u th c ứ

ị ạ ứ ấ ể ằ

s1 là phép kéo

ứ ị

ổ ể ủ ị ạ ị ớ ấ ị

logic tr c c m ấ ừ

2 b ng bi u th c ể

c , chúng ta c n nh ng d ng c th c a phép kéo theo. Sau đây là Đ tính toán đ ạ ể m t s d ng hàm kéo theo. Xây d ng d a vào các phép toán logic m đã suy r ng ộ ự ộ ố ạ trên. Cho T là t-norm, S là t-conorm và n là hàm ph đ nh m nh ủ ị Đ nh nghĩa : s1(x,y) xác đ nh trên [0,1] D ng kéo theo th nh t. Hàm I ị Is1(x,y) = S(n(x),y) Rõ ràng n ý sau đ nh nghĩa này là công th c logic c đi n P => Q=PQ ẩ Đ nh lý : V i b t kỳ t-norm T, t-conorm S và phép ph đ nh m nh n nào I theo thõa đ nh nghĩa phép kéo theo. Phép kéo theo th hai sau đây l y t ứ Đ nh nghĩa : Cho T là t-norm, Hàm IT(x,y) xác đ nh trên [0,1] ự ả ị ứ ằ ị

T đ

V i b t kỳ t-norm T nào , I IT(x,y) = sup{u:T(x,u)£ y} ượ ị ỏ c đ nh nghĩa nh trên là phép kéo theo th a ư Đ nh lý : ớ ấ ị đ nh nghĩa phép kéo theo. ị

• Phép đ o ả c a quan h m R(X,Y) là R

-1(Y,X) cho b i:ở

III. Quan h mệ ờ ờ ệ ờ ợ ị ng h p X và Y h u h n, R có th đ ể ượ ễ ậ ớ ở ị Quan h m 2 ngôi R(X,Y) xác đ nh b i t p m R trong tích Descartes XxY. ở ậ ỉ c bi u di n b i ma tr n v i các giá tr ch ườ ể ứ ộ ữ ạ ặ

• Phép k t n i đ nh nghĩa b i: ở ị

Tr m c đ quan h c a các c p (x,y). ệ ủ ệ ờ ủ R-1(y, x) = R(x, y) ế ố các quan h m P(X,Y) và Q(X,Z) cho ta quan h m R(X,Z) ệ ờ ệ ờ

R(x,z) = [PoQ](x,z) = max {min(P(x,y), Q(y,z)) | y ˛ Y}

IV. Logic Mờ

1. Khái ni mệ

c phát tri n t ể ừ ế ậ

ỉ ệ ậ ườ ậ

ấ ứ ộ

ậ lý thuy t t p m đ th c hi n l p lu n ờ ể ự i ta hay c đi n. Ng ị ừ ổ ể ộ ẳ c đ nh nghĩa không rõ

ượ m t cách x p x thay vì l p lu n chính xác theo logic v t nh m l n m c đ đúng v i xác su t. Tuy nhiên, hai khái ni m này khác h n nhau; đ ấ ệ đúng đ n c a lôgic m bi u di n đ liên thu c v i các t p đ ộ ễ ràng, ch không ph i kh năng x y ra m t bi n c hay đi u ki n nào đó. Lôgic mờ (Fuzzy logic) đ ậ ộ ớ ầ ờ ể ả ậ ượ ị ệ ề ẫ ắ ủ ứ ộ ớ ế ố ả ả ộ

Đ minh h a s khác bi ố ệ ể ọ ự ả ộ

ế ề ợ

ữ ế ả ậ ợ ồ

ứ ở ế ứ ư ế ặ

Trang 13

t, xét tình hu ng sau: B o đang đ ng trong m t ngôi nhà ứ có hai phòng thông nhau: phòng b p và phòng ăn. Trong nhi u tr ng h p, tr ng thái ạ c a B o trong t p h p g m nh ng th " trong b p" hoàn toàn đ n gi n: ho c là anh ặ ủ i c a n i gi a hai ta "trong b p" ho c "không ữ ả ượ ng trong b p". Vi c đ nh l phòng thì sao? Anh ta có th đ ườ ơ ả trong b p". Nh ng n u B o đ ng t ạ ử ố ị ệ ế c coi là "có ph n ầ ở ở ể ượ ế

ộ ộ ầ ệ

ả ộ

ộ ố ớ ể ứ ế ị ụ ộ ồ ượ ả

trong b p". ẳ tr ng thái "m t ph n" này cho ra m t quan h liên thu c đ i v i m t t p m . Ch ng ộ ậ ờ ạ h n, n u B o ch thò m t ngón chân cái vào phòng ăn, ta có th nói r ng B o "trong ằ ạ ả ở ỉ trong phòng ăn 1%. M t khi anh ta còn đ ng c a thì không có b p" đ n 99% và ở ử ộ ở ế m t bi n c nào (ví d m t đ ng xu đ c tung lên) quy t đ nh r ng B o hoàn toàn ộ ằ " trong b p" hay hoàn toàn "không ở ế ế ế ố ế ế ở

Lôgic m cho phép đ liên thu c có giá tr trong kho ng đóng 0 và 1, và ộ ộ ờ ả ở

ị ư ơ ơ ư ệ

ừ ụ ể ầ ậ

ứ hình th c , các khái ni m không chính xác nh "h i h i", "g n nh ", "khá là" và "r t". ngôn t ấ ầ ợ C th , nó cho phép quan h thành viên không đ y đ gi a thành viên và t p h p. ủ ữ ệ Tính ch t này có liên quan đ n t p m và lý thuy t xác su t. ấ ế ậ ế ấ ờ

ụ ẻ ủ ự ề ể ệ ọ ờ ị

ứ M t ví d khác đ minh h a cho s m m d o c a Logic m là vi c xác đ nh l a ộ tu i:ổ

Boolean Logic Fuzzy Logic

Hình 9: S khác nhau gi a hai lo i Logic trong vi c xác đ nh l a tu i ổ ạ ữ ự ứ ệ ị

Nhìn hình v trên, n u nh đ i v i Boolean Logic (t ở ứ ươ

i 23 m i đ Fuzzy Logic (t ị ở ẻ ổ ớ ươ ứ

ẽ ổ ướ ự ẻ ắ ơ ị

ẻ ớ ơ

i 23 tu i là tr còn có ng i coi d ự ế ở ẻ i c m nh n, có ng ậ ổ ườ ả ợ ướ ớ ổ ườ ổ

i 23 tu i m t vài năm đã không còn là tr n a.Qua đó ẻ ữ ẻ ẫ

ơ ấ ổ ề ề ớ

ấ i dùng. ng ng v i Crisp Sets) ế ư ố ớ ớ quy đ nh tu i d ng ng v i c coi là “tr tu i” thì ớ ượ Fuzzy Sets) , có s xác đ nh m m d o h n khi không quy đ nh kh t khe chính xác bao ề ị b i vì đôi khi tu i tác còn do con nhiêu tu i m i là tr . Đi u này h p h n v i th c t ề ổ ng ộ i coi trên 23 tu i m t ườ ở vài năm v n là tr , ho c d ặ ướ ộ ví d này ta th y các giá tr Fuzzy m m d o h n r t nhi u so v i Crisp sets, phù h p ợ ẻ ị ụ h n v i ng ớ ơ ườ

2. Bi n ngôn ng ế ữ

 M t bi n ngôn ng đ

đây, các ế ữ ủ ạ ờ Ở ầ ữ ả ả ụ ầ thành ph n ngôn ng mô t ữ Ví d nh trong tr ư ệ ộ ườ Bi n ngôn ng là ph n ch đ o trong các h th ng dùng logic m . cùng m t ng c nh đ ộ nhi ng h p mô t ả ợ ấ ạ ượ ọ ề ả ệ ố c k t h p l i. ượ ế ợ ạ ơ t đ , không ch có “r t nóng” mà còn “h i ỉ ấ nhi c g i là ệ ộ c v trên ế ượ ẽ ủ ả ậ ị t đ . Chúng đ nóng”, “trung bình”, “h i l nh” và “r t l nh” đ u mô t ơ ạ các t p ngôn ng , mang m t kho ng giá tr nào đó c a bi n ngôn ng và đ ữ ộ ữ cùng m t đ th ộ ồ ị ứ ủ ệ ế ả ờ các t ng đi u khi n trong h . Vi c gi ể tri th c c a h . Chúng dùng các bi n ngôn ng i thích các lu t m ệ ề ả ậ ả ầ ữ ờ ậ v ng đ mô t ừ ự ệ ệ c Zadeh đ a ra năm 1973 nh sau: Các lu t trong h logic m mô t ệ nh là t ệ ể ư cũng là vi c trình bày cách tính các khái ni m ngôn ng . ữ ữ đã đ Khái ni m bi n ngôn ng ượ ệ ế ư ư

ữ ượ ế ộ c xác đ nh b i b (x, T, U, M) ở ộ ị

Trang 14

t đ ”, “t c đ ”, “đ m”,… trong đó: x là tên bi n. ế Ví dụ: “nhi ệ ộ ố ộ ộ ẩ

 T là t p các t ậ

nhiên mà x có th nh n. ừ là các giá tr ngôn ng t ị ữ ự ể ậ

 U là mi n các giá tr v t lý mà x có th nh n. ị ậ

Ví dụ: x là “t c đ ” thì T có th là {“ch m”, “trung bình”, “nhanh”} ố ộ ể ậ

ể ậ ề

 M là lu t ng nghĩa, ng m i t ữ

Ví dụ: x là “t c đ ” thì U có th là {0km/h,1km/h, …, 150km/h} ể ố ộ

ỗ ừ ứ ậ trong T v i m t t p m At trong U ộ ậ ớ ờ

T đ nh nghĩa trên chúng ta có th nói r ng bi n ngôn ng là bi n có th nh n giá tr ừ ị ữ ể ế ể ế ằ ậ ị

là các t p m trên m t vũ tr nào đó. ụ ậ ộ ờ

3. M nh đ m ề ờ ệ

c p m t) ị ừ ấ ổ ể (logic v t ộ , m t m nh đ phân t ệ ộ ử ề ng trong m t vũ tr ạ Trong logic c đi n ể ộ ấ ụ ố ấ ộ ậ ể ồ ử ề ấ ộ ớ

P(x) là m t phát ộ ả U nào đó tho bi u có d ng “x là P” trong đó x là m t đ i t ụ ộ ố ượ ế tính ch t P. Ví d “x là s ch n” thì U là t p các s nguyên và P là tính ch t chia h t ậ ố ẵ cho 2. Nh v y ta có th đ ng nh t m t m nh đ phân t “x là P” v i m t t p (rõ) A ệ ư ậ = xU | P(x) . T đó ta có: ừ

P(x) = (x) là hàm đ c tr ng c a t p A ( xA ủ ậ ư ặ  (x) = 1). Giá tr chân lý c a P(x) ch ị ủ ỉ Trong đó

ộ ị ươ ứ ặ ng ng v i s ki n x thu c A ho c ớ ự ệ ộ nh n m t trong hai giá tr 1 và 0 (true và false) t ậ không. Trong tr ườ ộ ng h p P là m t tính ch t m ch ng h n nh “s l n” thì ta s có m t ờ ẳ ố ớ ư ẽ ấ ạ ộ ợ

m nh đ logic m ph n t ầ ử ệ ề ờ . Khi đó t p h p các ph n t ợ ầ ử ậ ộ trong vũ tr U tho P là m t ụ ả

t p m B có hàm thu c sao cho: ậ ộ ờ

P(x) = (x)

ấ Lúc này P(x) có th nh n các giá tr tuỳ ý trong [0,1]. Và ta th y có th đ ng nh t ể ồ ể ấ ậ ị

các hàm thu c v i các m nh đ logic m . ờ ộ ớ ệ ề

4. Các phép toán m nh đ m ề ờ ệ

Trong logic c đi n, t các m nh đ phân t và các phép toán (AND), (OR), (NOT) ổ ể ừ ề ệ ử

ta có th l p nên các m nh đ ph c. Ta có: ề ứ ể ậ ệ

P(x) = 1 – P(x)

P(x) Q(y) = min(P(x), Q(y))

P(x) Q(y) = max(P(x), Q(y))

P(x) =>Q(y) = P(x) Q(y) = max(1-P(x), Q(y))

P(x) =>Q(y) = P(x) (P(x) Q(y)) = max(1-P(x), min(P(x), Q(y)))

Trang 15

Nh v y, ta s có m r ng m t cách t nhiên t ổ ể ở ộ ẽ ộ ờ ớ logic c đi n sang logic m v i ừ ự quy t c t ng quát hoá dùng hàm bù m cho phép ph đ nh, hàm T-norm cho phép giao ủ ị ư ậ ắ ổ ờ

) và S-norm cho phép h p (ợ ¨ ự ở ộ ự ươ ệ ng quan gi a m nh ữ (˙ đ logic m v i hàm m và các phép toán trên t p m . Ta có: ề ). S m r ng này d a trên s t ậ ự ờ ờ ờ ớ (x) = C((x))

(x) (y) = T((x), (y))

(x) (y) = S((x), (y))

(x) => (y) = S(C((x)), (y)) (1)

(x) => (y) = S( C((x)), T((x), (y)) ) (2)

Trong đó C là hàm bù m ờ (hay ph đ nh m ) ủ ị ờ , T là hàm T-norm, S là hàm S-norm. 5. Phép toán kéo theo mờ

Các phép toán kéo theo có vai trò quan tr ng trong logic m . Chúng t o nên các ạ ọ ờ

lu t m đ th c hi n các phép suy di n trong t t c các h m . Do m t m nh đ m ờ ể ự ễ ệ ậ ấ ả ệ ờ ề ờ ệ ộ

 Sau đây là m t s phép kéo theo quan tr ng đ

t ươ ứ ng ng v i m t t p m nên ta có th dùng hàm thu c thay cho các m nh đ . ề ộ ậ ệ ể ờ ớ ộ

 Phép kéo theo Dienes – Rescher

c s d ng r ng rãi: ộ ố ọ ượ ử ụ ộ

N u áp d ng công th c ứ (1) v i S-norm max và C là hàm bù chu n cho ta có phép kéo ụ ế ẩ ớ

theo Dienes – Rescher

 Phép kéo theo Lukasiewicz

(x) =>(y) = max(1-(x), (y))

N u áp d ng công th c ứ (1) v i S-norm là hàm h p Yager v i w=1 và C là hàm bù ụ ế ớ ợ ớ

chu n cho ta có phép kéo theo Lukasiewicz: ẩ

 Phép kéo theo Zadeh

(x) =>(y) = min(1, 1-(x)+(y))

N u áp d ng công th c ứ (2) v i S-norm là max, T-norm min ho c tích và C là hàm bù ụ ế ặ ớ

chu n cho ta có phép kéo theo Zadeh: ẩ

(x) =>(y) = max( 1-(x), min((x),(y))) (a)

 Kéo theo Mamdani

(x) =>(y) = max( 1-(x), (x).(y)) (b)

Ta có th coi m nh đ (x) =>(y) xác đ nh m t quan h 2 ngôi R UxV. Trong đó U là ể ệ ề ệ ộ ị

không gian n n c a x (vũ tr ch a x), V là không gian n n c a y (vũ tr ch a y). Khi ụ ứ ụ ứ ề ủ ề ủ

đó giá tr chân lý c a m nh đ (x) =>(y) là giá tr hàm thu c c a c p (x,y) vào R. Theo ộ ủ ặ ủ ệ ề ị ị

công th c xác đ nh hàm thu c c a quan h m ta có: ộ ủ ệ ờ ứ ị

Trang 16

(x) =>(y) = T((x),(y))

Trong đó T là m t T-norm. Khi ch n T là min ho c tích ta có các phép kéo theo ặ ộ ọ

Mamdani:

(x) =>(y) = min((x),(y)) (a)

(x) =>(y) = (x).(y) (b)

6. Lu t mậ ờ

M t lu t m là m t bi u th c If - Then đ c phát bi u d ng ngôn ng ứ ể ậ ờ ộ ộ ượ ể ở ạ ữ

t ự nhiên th hi n s ph thu c nhân qu gi a các bi n. ộ ể ệ ự ả ữ ụ ế

i m Ví d :ụ If nhi t đệ ộ là l nhạ và giá d uầ là rẻ Then s ưở ấ nhi uề .

Trong đó:

- ‘nhi t đ ’, ‘giá d u’ và ‘s ệ ộ ầ ưở ấ i m’ là các bi n ế

- ‘l nh’, ‘r ’, ‘nhi u’ là các giá tr hay chính là các t p m . ờ ề ẻ ậ ạ ị

i có là cao và c b p ng Ho c:ặ If m t ng ộ ườ chi u cao ề ơ ắ là l c l ự ưỡ Then ch iơ

bóng r ổ hay.

- Các bi n đây s là: ‘chi u cao’, ‘c b p’, ‘ch i bóng r ’ ế ở ơ ắ ề ẽ ổ ơ

- Các giá tr hay t p m là: ‘cao’, ‘l c l ng’, ‘hay’. ự ưỡ ậ ờ ị

7. Lu t Modus Ponens hay Modus Tollens ậ

Thông th ng, suy di n m ườ ờ (suy lu n m ) ờ hay s d ng lu t Modus Ponen ử ụ ễ ậ ậ

ho c Modus Tollens. Trong logic c đi n, Modus Ponens di n đ t nh sau: ổ ể ư ễ ạ ặ

M nh đ 1 P → Q ề (Lu t ho c tri th c) ứ : ệ ặ ậ

M nh đ 2 : P đúng ề (s ki n) ự ệ ệ

K t lu n : Q đúng ế ậ

T ng t logic c đi n, trong logic m ươ ự ổ ể ờ (suy di n m hay suy lu n m ) ờ cũng có ễ ậ ờ

lu t Modus Ponens nh sau: ư ậ

Gi thi t 1 ả ế (lu t m ) ờ ậ : N uế x là A thì y là B

Gi thi t 1 : x là A’ ả ế ờ (s ki n m ) ự ệ

K t lu n : y là B’ ế ậ

Trong đó A, B, A’, B’ là các bi n ngôn ng ữ (có nghĩa là các t p m ) ờ . A và A’ là các ậ ế

Trang 17

t p m trên không gian n n U, còn B và B’ là các t p m trên không gian n n V. ậ ề ề ậ ờ ờ

Ví d :ụ

: N u góc quay tay ga l n thì xe đi nhanh Lu t mậ ờ ế ớ

S ki n m ự ệ ờ : Góc quay tay ga khá l nớ

: Xe đi khá nhanh ậ K t lu n ế

Trong logic c đi n, : ổ ể Modus Tollens di n đ t nh sau ư ễ ạ

M nh đ 1 P → Q ề (Lu t ho c tri th c) ứ : ệ ặ ậ

M nh đ 2 : ¬Q đúng ề (s ki n) ự ệ ệ

K t lu n : ¬P đúng ế ậ

T ng t logic c đi n, trong logic m ươ ự ổ ể ờ (suy di n m hay suy lu n m ) ờ lu t đ ậ ượ c ễ ậ ờ

di n đ t nh sau : ư ễ ạ

Gi thi t 1 P → Q ả ế (Lu t mậ ờ : ờ ho c tri th c m ) ứ ặ

Gi thi t 2 : ¬Q khá đúng ả ế ờ (S ki n m ) ự ệ

K t lu n : ¬P khá đúng ế ậ

Ví d :ụ

: N u góc quay tay ga l n thì xe đi nhanh Lu t mậ ờ ế ớ

S ki n m ự ệ ờ : Xe không đi nhanh l mắ

: Góc quay tay ga không l n l m ậ K t lu n ế ớ ắ

Đ ng d ng suy di n m (suy lu n m ) vào trong bài toán th c t ự ế ể ứ ụ ễ ậ ờ ờ ề ấ thì v n đ m u ấ

ch t c n th c hi n là xây d ng c ch l p lu n x p x đ có th đ a ra k t lu n hay ơ ế ậ ố ầ ể ư ỉ ể ự ự ệ ế ậ ấ ậ

quy t đ nh m . ờ ế ị

Công th c tính k t lu n c a lu t Modus Ponens nh sau: ậ ủ ứ ư ế ậ

(y) = T((x,y), (x)) (*)

Trong đó T là m t hàm T-norm và R là quan h hai ngôi xác đ nh b i phép kéo theo. ệ ộ ở ị

Cách tính (x,y), chính là cách tính giá tr chân lý c a phép kéo theo trình bày ủ ị ở ầ ph n

tr c. Nh v y tuỳ theo cách ch n cách tính lu t kéo theo khác nhau mà ta có cách ướ ư ậ ậ ọ

Trang 18

tính k t qu c a lu t Modus Ponens khác nhau. ả ủ ế ậ

s quan h gi a nhi t đ và áp su t cho b i lu t sau: Ví d :ụ Gi ả ử ệ ữ ệ ộ ấ ậ ở

 N u nhi ế

t đ là cao thì áp su t là l n. ệ ộ ấ ớ

Nhi t đ nh n các giá tr trong U = {30, 35, 40, 45} ệ ộ ậ ị

 Ta có các t p m xác đ nh b i các bi n ngôn ng nhi

Áp su t nh n các giá tr trong V = {50, 55, 60, 65} ậ ấ ị

t đ và áp su t nh sau: ữ ế ậ ở ờ ị ệ ộ ư ấ

A = “nhi t đ cao” = ệ ộ

 Áp d ng lu t kéo theo Mamdani tích ta có quan h m sau

B = “áp su t l n” = ấ ớ

(giá tr dòng i, c t j là ệ ờ ụ ậ ộ ị

giá tr hàm thu c c a c p nhi ộ ủ ặ ị ệ ộ t đ i và áp su t j vào quan h ) ệ ấ

 Bây gi

R=

, gi s ta bi t s ki n “nhi t đ là trung bình” và ờ ả ử ế ự ệ ệ ộ

 Áp d ng công th c (*) ta suy ra B’ = ứ

A’ = “nhi t đ trung bình” = ệ ộ

Trang 19

Ph n II: Thi

t k H Th ng M

ế ế ệ

I. Các y u t ế ố xây d ng mô hình Logic m . ờ ự

Hình 11: C u trúc và qui trình ho t đ ng c a mô hình. ạ ộ ủ ấ

M t mô hình lôgic m bao g m các y u t ờ ế ố ồ ộ ữ ệ ầ ầ hàm chuy n đ i, các phép toán logic và các bi n ngôn ng . ữ ể ổ sau: d li u ( đ u vào và đ u ra) , các ế

D li u ữ ệ

ữ ệ ượ ỗ c chia làm hai nhóm chính, d li u đ u vào và d li u đ u ra. M i ữ ệ ữ ệ ầ ầ nhóm l i chia ra d li u rõ và d li u m D li u đ ạ ữ ệ ứ ệ ờ

Các hàm

Hình 12: Các mô hình đ

c s d ng trong h th ng Logic m

ượ ử ụ

ệ ố

Đ th c hi n vi c quy đ i t ể ự ệ ờ ọ d li u c ng v d li u m ta c n ph i l a ch n ầ ề ữ ệ ng có 4 lo i hàm hay s d ng: hình ể ổ ừ ữ ệ ứ ổ ả ự ử ụ ệ ụ ụ ườ c minh h a d i đây: các hàm ph c v cho vi c chuy n đ i, thông th ệ tam giác, hình thang, hình cong và hình que đ ượ ạ ọ ướ

Các phép toán c a logic m . ờ ủ

Logic m cũng gi ng Logic thông th ố ườ ề ị

ờ ạ ừ ộ ng đ u quy đ nh v các phép toán nh giao, ư i khác ạ ỗ

(A and B) = min (t(A), t(B)) – Phép Giao

Trang 20

h p, lo i tr ,c ng, ph đ nh….Tuy nhiên, cách tính giá tr c a m i phép toán l ợ so v i logic thông th ủ ị ng.D i đây là m t vài phép toán c b n: ướ ươ ớ ộ ề ị ủ ơ ả

(A or B) = max(t(A), t(B)) – Phép H pợ (not - A) = 1 - t(A) - Phép ph đ nh

ủ ị

Các phép toán nay nh h ủ ề ấ ả ộ

ng r t nhi u đ n m t thành ph n quan tr ng c a h ọ ầ t l p các lu t trong h ậ ế ậ ế ơ ở ệ ả ị ệ ệ

ưở Fuzzy là đ nh kho ng giá tr . Đây cũng là c s cho vi c thi ị Logic m .ờ

Bi n ngôn ng . ữ ế

ị ế ế ị

ị ủ

ị ng . Thông th ng, ng M t bi n ngôn ng quy đ nh đ n tr ữ ả ữ ng nào đó có giá tr nào đó, hay nói cách khác ữ ộ ừ ế ị ố ườ ắ ả

- Bi n ngôn ng : nhi

ườ ộ nó ch đ n m t kho ng giá tr trong h th ng fuzzy logic. Giá tr c a bi n ngôn ng ệ ố ộ ỉ ế cũng là d ng t i ta g n các kho ng giá tr s cho m t t ừ ườ ạ ng nào đó th hi n cho nó.Ta xét ví d sau: ể ệ ữ ụ

- Các kho ng giá tr ( fuzzy sets) : cold , warm, hot

ữ ế t đ ệ ộ

ả ị

Hình 13: Mô hình minh h a bi n ngôn ng trong vi c đoán nh n nhi ữ ế ệ ậ ọ t đ ệ ộ

ườ ố ỉ ữ i ta thay nh ng con s ch nhi ế ệ ộ ằ ị ộ ế ộ ị ữ t đ b ng bi n ngôn ng là Trong ví d trên, ng ế ụ t đ , còn giá tr c a bi n này là cold, warm và hot. Giá tr cold g n v i kho ng giá nhi ả ệ ộ ớ ị ủ 20 đ đ n 60 tr th c t ộ ế ị ự ừ đ , còn giá tr hot g n v i kho ng giá tr th c t ớ ộ ắ 0 đ đ n 20 đ , giá tr warm g n v i kho ng giá tr th c t ị ự ừ i 100 đ . ộ ả 60 đ t ộ ớ ớ ắ ị ự ừ ắ ả ị

Các bi n ngôn ng này ph c v cho vi c thi t l p các lu t t ụ ụ ữ ệ ế ậ ậ ươ ứ ợ ng ng và phù h p . v i th c t ớ Các lu t trong mô hình logic m ế ự ế ậ ờ ậ ầ ể ủ ề ờ ự Các lu t là thành ph n đi u khi n c a m t h th ng logic m . Các lu t đ ệ ệ ộ ệ ố ộ ố ậ ậ ượ ư ả ủ ộ ệ ố ế ậ ệ ự c th c hi n d a trên câu l nh IF……….THEN và m t s phép toán Logic khác nh AND, OR, NOT….Trong m t h th ng, n u t p lu t càng chính xác thì hi u qu c a h ệ th ng càng cao. ố

Mô t ví d : m t lò s ộ i t ưở ự ộ ậ

ụ ả i và nhi t đ hi n t ệ ộ ệ ạ

i trong phòng, tùy m c đ nhi ứ đ ng cung c p nhi ẻ ể ầ ố đ ng nh n hai giá tr đ u vào ( input ) là giá d u đ t ầ t đ hi n t i nóng hay ệ ộ ệ ạ t trong phòng m t cách ệ ị ầ ộ ấ ự ộ ộ

hi n t ệ ạ l nh và giá d u đ t đ t hay r đ nó t ố ắ ạ phù h p sao cho không b l nh mà cũng không lãng phí quá. ị ạ ợ

t đ

t x ra

là cao”

“N u ế nhi

ệ ộ là l nh ạ

và giá d u ầ là r ẻ thì nhi

ệ ả

Bi n ngôn ng Giá tr bi n ngôn ng

ị ế

ế

B ng d

ướ

ệ ủ

i đây ch ra c th lu t làm vi c c a ví d trên: ho t đ ng c a máy s

ụ ể ậ B ng 1: Mô t

ả ạ ộ

i ưở

Trang 21

tệ

Nóng

L nhạ

mẤ

ngườ

Cao Cao Trung bình

Nhi độ Giá d uầ Rẻ Bình th Đ tắ

Cao Trung bình Th pấ

Trung bình Th pấ Th pấ

Hình 4: Quy trình ho t đ ng c a h Logic m ạ ộ

ủ ệ

II. Qui trình ho t đ ng c a Logic m ạ ộ ủ ờ

Đ u tiên ta s d ng các d li u th c t ầ ử ụ

ờ ự ế ữ ệ ế ờ ữ ệ ẽ

ữ ệ

ờ ế ụ ượ ử ụ ệ ử ữ ệ ệ ố

ướ c (d li u rõ) là d li u đ u vào, qua b ữ ệ ầ ữ ệ ầ c s d ng làm đ u m hóa (Fuzzification) s cho ta d li u “m ”, k t qu này s đ ẽ ượ ử ụ ờ vào cho h x lý logic m (Fuzzy Logic) và cho ra k t qu tiêp theo là d li u m ả ả đ u ra, d li u này này ti p t c đ i c s d ng làm d li u đ u vào cho h th ng gi ầ ầ m (De–Fuzzificationg), sau b ả ờ ả ế ữ ệ c cu i cùng này cho ta k t qu là d li u rõ. ế ữ ệ ướ ố

Khâu m hoá (Fuzzification): ộ th c hi n bi n đ i các giá tr rõ đ u vào thành m t ệ ầ ị

mi n giá tr m v i hàm thu c và bi n ngôn ng t ng ng. ề ộ ự ế ổ ế ữ ươ ứ ờ ị ờ ớ

Khâu thi t b h p thành (Fuzzy Logic or FAM): ế ị ợ ị ờ ủ ế

ổ ữ ầ ị ờ ủ ự ế

bi n đ i các giá tr m c a bi n ế ậ ngôn ng đ u vào thành các giá tr m c a bi n ngôn ng đ u ra d a trên các lu t ữ ầ h p thành đã xây d ng. ợ ự

Khâu gi ế ổ ữ ầ bi n đ i các giá tr m c a bi n ngôn ng đ u ị ờ ủ ế

ng. i m (De-Fuzzification): ra thành các giá tr rõ đ th c hi n đi u khi n đ i t ể ự ả ờ ị ệ ề ể ố ượ

III. Ph ươ ng pháp xây d ng mô hình. ự

ệ ố ụ ụ ự

ề ạ ộ ụ

ệ ơ ả ề ử ụ ẽ ỹ ơ ể

ệ Trong h th ng FuzzyLogic, có nhi u mô hình ph c v cho vi c xây d ng h Fuzzy Logic, trong n i d ng bài thu ho ch này s d ng hai mô hình c b n là mô hình tam giác và mô hình hình thang. Sau đây chúng ta s tìm hi u k h n v hai mô hình này và ng d ng c th c a nó. ụ ể ủ ụ ứ

1. Mô hình tam giác

Đây là mô hình Fuzzy Logic đ c s d ng trong tr ng h p mà giá tr c a các ượ ử ụ ườ ị ủ ợ

bi n ngôn ng đ c xác đ nh m t cách nh y c m và đ m bi n thiên nhanh. ữ ượ ế ộ ờ ế ạ ả ộ ị

1 Ch m trung bình nhanh

Trang 22

0 5 10 15 20

Hình 15: Mô hình tam giác trong vi c xác đ nh t c đ ố ộ ệ ị

Ví d nh bi ộ ậ ữ ụ ư ế

ớ ả ồ ộ ố ộ ự ế

ạ ộ ộ

ng đi xe đ p thì l ạ ậ

ể ố ộ ủ ợ ạ ở ứ ườ ộ

ữ ả

ạ ố ớ ậ ạ ộ

ư ụ ố ộ ậ ặ ằ ượ ớ

ư ậ

t “T c đ ” bao g m có ba giá tr ngôn ng là “nhanh”, “ch m” và ị là 40km/h thì tùy t ng hoàn c nh ta cho ừ i cho là không nhanh. Nh v i t c đ trong m t cu c ộ ư ớ ố ạ i bình th i ườ m c trung i coi t c đ đó ố i tùy t ng lúc chúng ta coi là ừ ộ i đ i v i v n đ ng i coi là ch m, ví d nh trong cu c đua thì l c coi là t c đ ch m nh ng so v i m t b ng chung thì đó có ư i t ng “hoàn ố ớ i có m t s đánh giá khác nhau hay nói cách khác thì đ “m ” bi n thiên ạ ừ ờ ộ ự ế ộ

ố “trung bình” tuy nhiên v i m t t c đ th c t là nhanh, tùy t ng hoàn c nh l ả ừ đua xe đ p thì đó là ch m nh ng t c đ c c a m t ng ườ ộ ư ng h p khác ta l có th cho là nhanh, trong nh ng tr ạ ữ bình. H n n a trong c th m t hoàn c nh nào đó thì l ụ ể ộ ạ ơ nhanh mà có lúc l ậ viên xu t s c thì đó đ ấ ắ th coi là trung bình. Nh v y có nghĩa là đ i v i mô hình tam giác, t ể c nh” s l ẽ ạ ả nhanh h n. ơ

2. Mô hình hình thang

N u nh mô hình tam giác là mô hình Fuzzy Logic đ c s d ng trong tr ế ượ ử ụ

ư ị ủ ế ả ị

ng h p ợ ườ ộ ờ ế c xác đ nh m t cách nh y c m và đ m bi n ạ i mang tính ch t g n v i logic boolean h n và nó ớ ộ ấ ầ ơ

mà giá tr c a các bi n ngôn ng đ thiên nhanh thì mô hình hình thang l có đ bi n thiên m t ữ ượ ạ ng đ i th p ố ờ ươ ộ ế ấ

t đ và xác đ nh m c đ nóng Ta xét ví d sau: M t h th ng Logic m đo nhi ộ ệ ố ụ ờ ệ ộ ứ ộ ị

l nh v i ba kho ng cold, warm và hot. ạ ả ớ

Hình 16: Mô hình hình thang

Theo hình v trên ta có th th y kho ng nhi ơ ả ể ấ ớ ộ ệ ộ ạ

t đ này h th ng gi ữ ố ị

ạ ự ế ả ờ

ệ ộ ỉ ả ả

ờ ế ấ

ụ t lúc đó n m trong kho ng l nh hay m, t khóa lu n t t đ xung quanh 60 đ . ằ ộ Ở ệ

t đ l nh kéo dài h n v i đ dài là ệ ộ ộ t đ đ c đ nh vi c coi nhi ệ ố ệ các c nh bên (không vuông góc ) c a hình ạ ủ ẻ t đ xung quanh 20 đ , có s m m d o ự ề ộ ệ ộ ả đ i v i kho ng ng t ạ ự ố ớ ươ c dùng t nghi p, mô hình hình thang đ ế ệ ộ ị ượ ớ ứ ề

Trang 23

ẽ đ nh hình thang, trong kho ng nhi ỉ là l nh, s bi n thiên (m hóa) ch x y ra ở thang. Theo ví d trên thì trong kho ng nhi khi coi th i ti ả nhi ậ ố đ xác đ nh ti m năng lên hay xu ng c a giá ch ng khoán ngày hôm nay so v i xu th ể ủ c a c m t kho ng th i gian tr c đó. ả ủ ả ộ ố ướ ờ

IV. Các ph ng pháp gi ươ i m ả ờ

ờ ư ụ c áp d ng b ng cách áp ánh x m hóa nh đã trình bày ệ ể ễ ậ ờ ng pháp gi ằ trong ph n bi n ngôn ng . Đ có th gi ể ả đi u khi n c n áp d ng m t trong các ph ụ Khâu m hóa có th đ ể ượ ữ ế ầ ể ầ i m sau khi áp d ng các lu t suy di n, h ươ ạ ờ ụ i m sau: ờ ề ả ộ

1. Ph ươ ng pháp c c đ i ự ạ

ị ng pháp này tìm giá tr rõ y’ = y1 hay y’ = y2 thông qua giá tr m c c đ i H. Ph ị ng v i mi n đ t giá tr c c đ i H, ta có kho ng . B t c giá tr đ u có th là giá tr ả ị ờ ự ạ ể ươ ớ ấ ứ ị ề ề ạ Ứ rõ c n tìm sau khi gi ầ ả ị ự ạ i m . ờ

Hình 17 - Ph ng pháp gi ươ ả i m c c đ i ờ ự ạ

• Nguyên lý trung bình tính y’ theo công th cứ

Khi có nhi u giá tr rõ đ u đ t giá tr c c đ i t i H, ta có th xem xét đ l y y’ ị ự ạ ạ ề ề ị ể ấ ể theo m t trong các nguyên lý ph sau: ộ ạ ụ

• Nguyên lý c n trái

Hình 18 - Đ th bi u di n cách áp d ng nguyên lý trung bình ồ ị ể ụ ễ

Hình 19 - Đ th bi u di n cách áp d ng nguyên lý c n trái ụ ễ ậ

Trang 24

ồ ị ể • Nguyên lý c n ph i ả ậ

Hình 20 - Đ th bi u di n cách áp d ng nguyên lý c n ph i ả ồ ị ể ụ ễ ậ

2. Ph

ươ Công th c đ tính đ ứ ể ng pháp đi m tr ng tâm ể c giá tr y’ đ ượ ọ ị ượ c cung c p nh sau: ấ ư

Với S là mi n xác đ nh c a t p m B’ ị ủ ậ ề ờ

Hình 21 - Ph ươ ng pháp đi m tr ng tâm ể ọ

ng pháp gi Tùy theo nhu c u mà h đi u khi n nên áp d ng ph ệ ề ụ ể ươ ả ợ i m thích h p ờ c giá tr rõ. đ tìm đ ể ượ ầ ị

V. Công c th c hi n h Logic m ệ ệ ụ ự ờ

ươ

t k h c ng. M i ph ể ặ ươ ữ

c đi m riêng, thi ể ự ế ế ệ ứ t k h c ng cho phép ng t k đánh giá đ t k h đi u khi n m có th th c hi n b ng các ph ờ ế ế ệ ề t k h m m ho c thi ế ế ệ ề ể ế ế ệ ứ ế ế ườ

ệ ằ ỗ i thi t k theo cách này th ư ượ ờ ộ ượ ấ ố ườ

t k h m m là cách t ng pháp khác nhau ng pháp có nh ng u ư ậ c các lu t ng r t t n kém. ư ờ ằ t nh t đ xây d ng nên m t h đi u khi n m , b ng ệ ấ ể ế ế ự ế ế ệ ề ố

Vi c thi ệ nh là thi nh m m t cách nhanh chóng nh ng vi c thi Thi cách s d ng các ph n m m l p trình có s n, và có th mô ph ng h th ng. ộ ệ ề ỏ ể ệ ố ử ụ ề ể ẵ ầ ậ

Thi ề ề ử ể ử ụ ế ế ệ ề t k h m m có th s d ng các ph n m m chuyên d ng v x lý m nh ầ

ệ ụ ấ

ượ ệ ố ẫ

ỏ . Vi c thi ệ ế ế ệ ề ở ượ ể ự ẫ

ạ ớ t k h m m v n có th th c hi n đ ớ ư C++, Delphi, VB,C# …Vi c x lý m s đ ờ ẽ ượ

ự ớ ế ị ự ự

ổ ữ ệ ậ ề ế ị

Trang 25

ư ờ ộ ệ ờ Matlab, FuzzyTech, Winfact,…Vi c làm này cho phép xây dung r t nhanh m t h m , c ngay h th ng. Nh ng tr ng i l n v n là v n đ kinh mô ph ng và đành giá đ ề ấ ư c v i các ngôn ng l p trình t ữ ậ ế ệ c th c hi n trên máy thông d ng nh ệ ụ ệ ử t b ch p tính bàng ph n m m t ấ xây d ng. Sau đó là vi c trao đ i d li u v i thi ệ ầ hành,và các thi ể ự t b đo s do m t modulE khác đ m nh n.Module đó cũng có th t ả ẽ xây d ng ho c cùng các Modul c a m t hãng khác. ộ ủ ự ặ ộ

Tr i quy t bài toán Logic ướ ế

c khi quy t đ nh l a ch n ngôn ng l p trình đ gi i quy t: m , chúng ta c n n m đ ự c nh ng nhi m v c n gi ệ ượ ế ị ắ ữ ậ ụ ầ ể ả ế ọ ữ ả ầ ờ

- Cài đ t C u trúc d li u mô t ặ ấ ữ ệ ả ậ t p m và các phép toán trên t p m . ờ ậ ờ

- Cài đ t C u trúc d li u mô t các lu t suy di n và các thao tác x lý liên quan. ặ ấ ữ ệ ả ử ễ ậ

- Cài đ t và v n hành Motor suy di n m . ờ ễ ặ ậ

- Cài đ t các công c đ h a cho phép ng ặ ườ ử ụ ậ i s d ng so n th o tr c quan các t p ả ự ạ

m , các lu t suy di n. ậ ờ ụ ồ ọ ễ

- Ghép n i máy tính và thi t b đi u khi n. ố ế ị ề ể

- Các thao tác thông d ng nh l u tr công vi c, k t xu t d li u,... ấ ữ ệ ư ư ụ ữ ệ ế

Ngôn ng đ t k h th ng m trong bài ti u lu n này là ữ ượ ọ ệ ế ế ệ ố ể ậ ờ

ngôn ng l p trình C#, là m t ngôn ng cho phép: ữ ậ c ch n đ th c hi n thi ể ự ộ ữ

t mã ngu n. - Qu n lý t ả ố ồ

- Th vi n cài đ t các c u trúc d li u và gi ữ ệ ấ ả i thu t c b n đ ậ ơ ả ượ ầ c cung c p đ y ấ

i. ư ệ đ , s d ng ti n l ủ ử ụ ặ ệ ợ

Trên th tr ng hi n nay có m t công c phát tri n s d ng ngôn ng l p trình C# ị ườ ữ ậ ụ ệ ộ

r t t ấ ố t đó là Microsoft Visual C# trong b Visual Studio vì nh ng lý do sau: ộ ể ử ụ ữ

ư ệ ớ ủ C# Builder r t phong phú và d dàng m r ng, th a k . Đây là ừ ế ở ộ

ấ t tr i c a nó so v i các công c phát tri n khác. - Th vi n l p c a u đi m v ể ượ ộ ủ ễ ể ụ ớ ư

- C# Builder không ép bu c ng ườ ậ ụ ứ ộ

i l p trình sáng t o, có yêu c u đi u ch nh chi ti i l p trình ph i theo m t khung ng d ng nào. Do ế ớ i t t ả ạ ề ầ ỉ ấ

ộ v y, nó r t thích h p cho ng ườ ậ ậ ng trình. m i thành ph n c a ch ọ ợ ầ ủ ươ

VI. M t s ng d ng c a Logic m ộ ố ứ ủ ụ ờ

t b gia d ng nh máy gi Lôgic m có th đ ờ ể ề ụ ể

c s d ng đ đi u khi n các thi i và m t đ b t gi ặ t t theo đó) ể ượ ử ụ c t ướ ả ế ị t và đi u ch nh các chu kỳ gi ỉ ậ ộ ộ ư ặ ề ặ

(c m nh n kích th ậ ả l nh. và t ủ ạ

ặ ộ ứ ế ả

ơ ả ạ ể ệ ộ ộ ộ ủ ể

ể ả

ệ ộ ụ ể ể ề ộ ệ ỗ ạ ắ

M t ng d ng c b n có th có đ c đi m là các kho ng con c a m t bi n liên ể anti-lock brake) có th có m t vài hàm t đ cho phanh ( ộ t đ c th đ đi u khi n phanh m t t xác đ nh các kho ng nhi i m t chân giá tr trong c dùng đ quy t đ nh các 0 đ n 1. Sau đó các chân giá tr này có th đ t đ t ệ ộ ớ ể ượ ộ ố ị ị ế ị ừ ể

Trang 26

ụ t c. Ví d , m t đo đ c nhi ộ ụ ụ liên thu c riêng bi ị ộ cách đúng đ n. M i hàm ánh x cùng m t s đo nhi kho ng t ả phanh nên đ ế c đi u khi n nh th nào. ượ ư ế ể ề

Hình 10: Mô hình đoán nh n nhi ậ t đ ệ ộ

Trong hình, cold (l nh), ạ ạ ộ

t đ . M t đi m trên thang nhi ộ ệ ộ warm ( m), và ấ ệ ộ ị

hot (nóng) là các hàm ánh x m t thang t đ có 3 "chân giá tr " — m i hàm cho m t giá ộ i nghĩa là 3 c gi ỗ ể t đ c th trong hình, 3 chân giá tr này có th đ ể ượ ả ị

t đ này: "t ng đ i l nh", "h i h i m", và "không nóng". nhi tr . Đ i v i nhi ố ớ ị miêu t ả sau v nhi ề ệ ộ ụ ể ệ ộ ươ ơ ơ ấ ố ạ

• Các h th ng con c a ô tô và các ph

Ví d v các ng d ng khác c a lôgic m ờ ụ ề ủ ụ ứ

ng ti n giao thông khác, ch ng h n các h ệ ố ủ ệ ẳ ạ ệ

• Máy đi u hòa nhi ề

th ng con nh ABS và qu n lý h i (ví d Tokyo monorail) ư ả ố ơ ươ ụ

• Ph n m m MASSIVE dùng trong các t p phim Chúa Nh n (

t đ ệ ộ

ề ậ

ầ ề ữ ể ạ ộ ớ ộ

• Camera

ẫ Lord of the Rings), ph nầ m m đã giúp trình di n nh ng đ i quân l n, t o các chuy n đ ng m t cách ng u ẫ ộ nhiên nh ng v n có th t ễ ứ ự ư ẫ

• X lý nh s ( ả detection)

• N i c m đi n ệ

edge ố Digital image processing), ch ng h n nh phát hi n biên ( ẳ ư ệ ạ ử

• Máy r a bát

ồ ơ

• Thang máy

• Trí tu nhân t o trong trò ch i đi n t

• Các b l c ngôn ng t

ệ ử ệ ạ ơ

i các b ng tin, di n đàn ( ữ ạ ễ message board) và phòng chát đ l cể ọ

• Nh n d ng m u trong C m nh n t

ả b các đo n văn b n khi m nhã ỏ ộ ọ ạ ế ả

• Gambit System trong Final Fantasy XII

Trang 27

xa ( Remote Sensing) ậ ừ ậ ạ ẫ ả

Ph n III: Áp d ng logic m vào ờ ụ ầ Cài đ t ng d ng đi u khi n t c đ xe ôtô ể ố ộ ề ặ ứ t k ế ế

I. M c tiêu và thi ụ 1. M c tiêu ụ Ngày nay nhi u trang thi c nhúng vào trong nó logic m ề t b đ ế ị ượ ờ (Fuzzy logic) để

cho vi c s d ng nó d h n, ti n l i h n. Chúng ta có th tìm th y logic m trong ệ ử ụ ễ ơ ệ ợ ơ ể ấ ờ

nh ng camera, nh ng n i c m đi n, nh ng máy hút b i, máy đi u hòa nhi t đ , …. ồ ơ ữ ụ ữ ữ ề ệ ệ ộ

Và m t trong nh ng ng d ng thú v c a logic m đó là chúng đ c nhúng vào h ị ủ ụ ữ ứ ộ ờ ượ ệ

th ng đi u khi n xe Ôtô thông minh. ể ề ố

ờ ế ể ữ ầ ố ớ ầ V i nh ng ki n th c v logic m đã tìm hi u trong Ph n I: Gi ớ ề i thi u Logic M ệ ể ố ụ ẽ ứ ề ờ ể ỉ ớ ạ ứ ụ ậ i đi u khi n xe an toàn h n. ườ ể ể ề ơ

- Giá tr đ u vào g m : Nhi

t k g m: c thi ệ ố ế ế ồ t đ không khí (temperature), và đ bao ph (cloud ờ và Ph n II: H Th ng M , chúng ta s áp d ng vào bài toán “Đi u khi n t c đ xe ệ ộ ờ ể ề i h n ng d ng Logic m đ đi u ôtô”. Trong m c tiêu bài ti u lu n, chúng ta ch gi ụ khi n “t c đ ” c a xe ôtô đ giúp ng ố ộ ủ ể 2. Thi t k ng d ng ụ ế ế ứ H th ng đi u khi n m đ ể ề ị ầ ờ ượ ồ ệ ộ ủ ộ

ể ố ộ

cover) - B m hóa ộ ờ - Các lu t đi u khi n t c đ xe ề ậ - B suy di n ễ ộ - B gi i m ờ ộ ả - Giá tr đ u ra là t c đ c a xe ôtô ( Crisp output) ố ộ ủ ị ầ

Hình 22: Thi ề ể ờ II. Phân tích thu t toán xây d ng h th ng đi u khi n m cho xe ôtô ể ậ ự ế ế ệ ố ệ ố ề ộ ệ ố ể ờ ướ ị ậ ộ

t k h th ng đi u khi n m ờ ề ự c xây d ng m t h th ng đi u khi n m Các b - Đ nh nghĩa bi n ngôn ng và các thu t ng . ữ ữ ế - Xây d ng các hàm ph thu c. ụ - Xây d ng các lu t m . ờ - Làm m các d li u đ u vào “rõ” thành các giá tr “m ” s d ng các hàm ph ầ ậ ữ ệ ờ ử ụ ự ự ờ ị ụ ộ ờ

Trang 28

thu c ( quá trình m hóa). - Đánh giá các lu t trong t p lu t ậ ậ ậ - K t n i các k t qu trong m i lu t. ỗ ế ế ố ậ ả

ờ ả ế i m các d li u đ u ra (defuzzification) - Gi ữ ệ ầ 1. Xây d ng bi n ngôn ng (Linguistic variables) ữ ự V i bi n ngôn ng Temperature (nhi ữ ệ ộ ế ớ t đ ) ta có t p m sau: ậ ờ Temperature : {Freezing, Cool, Warm, Hot}

V i bi n ngôn ng Cover ( đ bao ph ) ta có t p m sau: ộ ủ ữ ế ậ ớ ờ Cover : { Sunny, Partly Cloudy, Overcast } V i bi n ngôn ng là Speed ( t c đ ) ta có t p m sau: ớ ế ữ ậ

ố ộ ờ Speed:{ Fast, Slow } 2. Xây d ng hàm ph thu c (membership function) ộ ụ ự a. Các lo i hàm ph thu c ph bi n ổ ế ụ ạ ộ

Hình 23: Các d ng hàm ph thu c (membership function) ph bi n ổ ế ộ ụ ạ Xây d ng các hàm ph thu c s d ng trong ng d ng minh h a : ộ ử ụ ự ứ ụ ụ ọ

D ng tam giác (Triangular) ạ

D ng hình thang ph i (Right Troid) ả ạ

Trang 29

D ng hình thang trái (Left Trapzoid) ạ

Trang 30

c xây trong ng d ng đi u khi n xe ôtô ộ ượ ụ ứ ụ ề ể b. Các hàm ph thu c đ Các hàm ph thu c c a Temperature ụ

ộ ủ

V i x là nhi t đ F (0<= x <= 110) ớ ệ ộ

Hàm ph thu c c a Cover

ộ ủ

Trang 31

V i y là đ bao ph (%) (0<= x <= 100) ủ ớ ộ

Hàm ph thu c c a Speed

ộ ủ

Temperature

Warm

Cover Sunny Partly Overcast

Slow Slow Slow

Fast Slow Slow

Fast Fast Slow

Fast Fast Slow

V i z là v n t c (0<= z <= 100) ậ ố ớ ậ ờ 3. Xác đ nh các lu t m ị a. Ma tr n lu t ậ ậ D a vào 2 y u t t đ ) và đ bao ph (cloudy cover), chúng ta ủ ộ ự ư ế ố ậ ế ị ề ệ ộ xây d ng ma tr n lu t đ quy t đ nh t c đ đi u khi n xe ôtô an toàn nh sau: ố ộ ề Cool là Temperature (nhi ậ ể Freezing ư Hot

ậ ự i u lu t m (Fuzzy Rules) ờ ố ư D a vào b ng ma tr n quy t đ nh trên, chúng ta có th xây d ng các lu t m sau: ế ị ự ể ậ ờ ậ ờ ậ ự Chúng ta th y r ng: b. Xây d ng các lu t m và t ả ấ ằ ẫ N u Temperature là Freezing thì dù Cover là Sunny hay Partly hay Overcast đ u d n ề

If Temperature is Freezing And ( Cover is Sunny Or Cover is Partly Or Cover is

ế đ n k t qu Speed là Slow. ả ế ế t lu t: Thay vì vi ậ ế

Overcast) Then Speed is Slow

Chúng ta có th rút g n thành : ể ọ If Temperature is Freezing Then Speed is Slow

If Cover is Overcast And (Temperature is Freezing Or Temperature is Cool Or

n u Cover là Overcast thì dù Temperature là Freezing hay Cool hay Warm ng t ươ ự ế ẫ T hay Hot thì Speed v n là Slow: t lu t: Thay vì vi ậ ế

Temperature is Warm Or Temperature is Hot Then Speed is Slow

Cu i cùng ta còn các lu t sau:

(R1) If Temperature is Freezing Then Speed is Slow Freezing(Temperature) => Slow(Speed)

(R2) If Cover is Sunny and Temperature is Cool Then Speed is Fast

Sunny(Cover) (cid:217) Cool(Temp)(cid:222)

Fast(Speed)

(R3) If Cover is Sunny and Temperature is Warm Then Speed is Fast

Sunny(Cover) (cid:217) Warm(Temp)(cid:222)

Fast(Speed)

(R4) If Cover is Sunny and Temperature is Hot Then Speed is Fast

Sunny(Cover) (cid:217) Hot(Temp)(cid:222)

Fast(Speed)

(R5) If Cover is Partly and Temperature is Cool Then Speed is Slow

Partly(Cover) (cid:217) Cool(Temp)(cid:222)

Slow(Speed)

(R6) If Cover is Partly and Temperature is Warm Then Speed is Fast

Partly(Cover) (cid:217) Warm(Temp)(cid:222)

Fast(Speed)

(R7) If Cover is Partly and Temperature is Hot Then Speed is Fast

Trang 32

Partly(Cover) (cid:217) Hot(Temp)(cid:222)

Fast(Speed)

(R8) If Cover is Overcast Then Speed is Slow

Slow(Speed)

Overcast(Cover) (cid:222) 4. Làm m d li u đ u vào (Fuzzification) ầ V i d li u đ u vào là: ộ

ờ ữ ệ

ầ ớ ữ ệ t đ : 57 đ F - Nhi ệ ộ - Đ bao ph : 35% ộ ủ ố ộ Tính t c đ an toàn c a xe ôtô (Speed = ?) ủ D a và các hàm ph thu c c a Temperature ta có: ộ ủ ự ụ

V i x = 57 thì ớ

V i x = 57 thì ớ

D a vào hàm ph thu c c a Cover ụ ộ ủ ự

V i giá tr Cover = 35% ớ ị

ng pháp Mandani ễ

ng pháp suy di n là ph Ch n ph ọ ươ suy di n min - S d ng toán t ễ ử - S d ng phép h p thành max-min ợ ươ ử ụ ử ụ

• Lu t 1: If it's Sunny and Warm, drive Fast

U, y ˛ V, z ˛ W x ˛ Ri: if x is Ai and y is Bi then z is Ci, i = 1, 2, … , n V, Bi (cid:204) W, Ci (cid:204) U, Ai (cid:204)

Quy t c Min ắ ậ

• Lu t 2: If it's Sunny and Cool, drive Fast

(cid:222) Sunny(Cover)(cid:217) Warm(Temp)(cid:222) Fast(Speed) 0.25 (cid:217) 0.35 = 0.25 Fast = 0.25

• Lu t 3: If it's Partly and Warm, drive Fast

(cid:222) Sunny(Cover)(cid:217) Cool(Temp)(cid:222) Fast(Speed) 0.25 (cid:217) 0.65 = 0.25 Fast = 0.25

Partly(Cover)(cid:217) Warm(Temp)(cid:222) Fast(Speed)

• Lu t 4: If it's Partly and Cool, drive Slow

(cid:222) 0.5 (cid:217) 0.35 = 0.35 Fast = 0.35

Trang 33

Partly(Cover)(cid:217) Cool(Temp)(cid:222) Slow(Speed) 0.5 (cid:217) 0.65 = 0.5

(cid:222) Slow = 0.5

ắ ử ụ

ậ ậ ắ

Quy t c Max-Min S d ng quy t c Max–Min cho Lu t 1, lu t 2 và lu t 3 ta có: ậ Max(Min(Sunny(Cover),Warm(Temp)), Min(Sunny(Cover),Cool(Temp)), Min(Partly(Cover),Warm(Temp)))

• Speed là 50% Slow và 35% Fast

= Max (Min(0.25,0.35),Min(0.25,0.65),(0.5,0.35)) = 0.35 (cid:222) Fast = 0.35

5. Gi i mả ờ

a. Ph

ng pháp tr ng tâm

ươ

c xác đ nh là hoành đ c a đi m tr ng tâm mi n đ Đi m ể y’ đ ượ ộ ủ ề ể ọ ị ượ ở ụ c bao b i tr c

hoành và đ ng μB’(y). ườ

Công th c xác đ nh : ứ ị

trong đó S là mi n xác đ nh c a t p m B’ ủ ậ ề ờ ị

Ph ng pháp tr ng tâm cho lu t Sum-Min ươ ậ ọ

Gi s có ả ử m lu t đi u khi n đ ề ể ậ ượ ậ c tri n khai, ký hi u các giá tr m đ u ra c a lu t ị ờ ầ ủ ể ệ

, và y’ đ c xác đi u khi n th ể ứ k là μB’k(y) thì v i quy t c Sum-Min hàm thu c s là ộ ẽ ề ắ ớ ượ

đ nh: ị

(1)

Trong đó: và k=1,2...m

Xét riêng cho tr ng h p các hàm thu c d ng hình thang nh hình trên : ườ ộ ạ ư ợ

b. Ph ng pháp đ cao ươ ộ

Trang 34

T công th c (1), n u các hàm thu c có d ng singleton thì ta đ c: ứ ừ ế ạ ộ ượ

v i ớ Hk = μB’k(y)

Đây là công th c gi i m theo ph ng pháp đ cao. ứ ả ờ ươ ộ

Chú ý hai công th c trên có th áp d ng c cho lu t Max-Min ể ụ ứ ậ ả

• Speed = (0.5*25+ ...

• Speed = (0.5 * 25 + 0.35 * 75)/( 0.5 + 0.35) = 45.9 mph

Chúng ta áp d ng ph ng pháp đ cao đ tính v n t c c a xe ôtô nh sau ụ ươ ậ ố ủ ư ể ộ

ng trình mình h a b ng C# ị ủ

ụ ặ ứ ươ

//Cover Sunny = 5, Partly = 6, Overcast = 7,

III. Cài đ t ng d ng minh h a ọ 1. Cài đ t ch ằ • Đ nh nghĩa các giá tr c a bi n ngôn ng ế ị public enum LinguisticVariable { None = 0, //Temperature Freezing = 1, Cool = 2, Warm = 3, Hot = 4,

//Speed Slow = 8, Fast = 9 } • Thi public class FuzzyNumber { private double _maximum= 0.0; //maximum cua s mố ờ private double _minimum = 0.0; //minimum cua s mố ờ private double _number = 0.0; // t i v trí này,membership l n nh t

private double _membership = 0.0; //đ ph thu c

private string _name = string.Empty; public FuzzyNumber() { }

public FuzzyNumber(string name, double lowRange, double highRange) { }

public FuzzyNumber(LinguisticVariable type, double lowRange, double highRange) {

……

}

Trang 35

t k Class FuzzyNumber ế ế

public FuzzyNumber(string name, double lowRange, double highRange, double number) { }

public void SetNumber(double number) { _number = number; } } • Thi t k các Class FuzzySet public class FuzzySet : ArrayList { private string _name = string.Empty; public string Name { get { return _name; } set { _name = value; } }

public FuzzySet() : base() { }

public FuzzySet(string name) { _name = name; }

}

ế ế

ứ ữ ệ ề ậ ị ứ ứ ụ ộ ị

public class MembershipFunction

{ public MembershipFunction() { }

public static double Triangular_MembershipFunction(double a, double

b, double c, double x)

{ double membership = 0.0;

if (x <= a) membership = 0; else if (x > a && x <= b) membership = (x - a) / (b - a); else if (x > b && x < c)

Trang 36

Class FuzzySet ch a d li u v t p m , ờ Đ nh nghĩa Class MembershipFunction: ạ Class MembershipFunction ch a các đ nh nghĩa công th c Hàm ph thu c có d ng Triangular, RightTrapezoid và LeftTrapezoid …

membership = (c - x) / (c - b); else if (x >= c) membership = 0;

return membership; }

public static double RightTrapezoid_MembershipFunction(double a, double

b, double x)

{ double membership = 0.0;

if (x <= a) membership = 1.0; else if (x > a && x < b) membership = (b-x) / (b - a); else if (x >= b) membership = 0;

return membership; }

public static double LeftTrapezoid_MembershipFunction(double a, double

b, double x)

{ double membership = 0.0;

if (x <= a) membership = 0.0; else if (x > a && x < b) membership = (x-a) / (b - a); else if (x >= b) membership = 1.0;

ng trình ch y:

ươ

ạ ờ CarSpeed, Temperature, cover.

ố ờ

ộ ậ

return membership; } • Kh i t o ch ở ạ T o 3 t p m ậ ạ T o các khái ni m s m “Fzeezing”, “Cool”, “Warm”, “Hot” thu c t p m Temperature

FuzzySet carSpeedSet = new FuzzySet("CarSpeed"); FuzzySet temperatureSet = new FuzzySet("Temperature"); FuzzySet coverSet = new FuzzySet("Cover"); ệ FuzzyNumber freezing = new FuzzyNumber("Freezing", 10, 50); FuzzyNumber cool = new FuzzyNumber("Cool", 30, 70); FuzzyNumber warm = new FuzzyNumber("Warm", 50, 90); FuzzyNumber hot = new FuzzyNumber("Hot", 70, 110);

temperatureSet.Add(freezing); temperatureSet.Add(cool); temperatureSet.Add(warm); temperatureSet.Add(hot);

ố ờ

ộ ậ

T o các khái ni m s m “Sunny”, “Partly”, “Overcast” thu c t p m Cover //Cover fuzzy set

FuzzyNumber sunny = new FuzzyNumber("Sunny", 0, 40); FuzzyNumber partly = new FuzzyNumber("Partly", 20, 80); FuzzyNumber overcast = new FuzzyNumber("Overcast", 60, 100);

Trang 37

coverSet.Add(sunny); coverSet.Add(partly); coverSet.Add(overcast);

ố ờ

ộ ậ

T o các khái ni m s m “Slow”, “Fast” thu c t p m CarSpeed //car speed fuzzy set // FuzzySet carSpeedSet = new FuzzySet("CarSpeed");

FuzzyNumber slow = new FuzzyNumber("Slow", 0, 75, 25); FuzzyNumber fast = new FuzzyNumber("Fast", 25, 100, 75);

carSpeedSet.Add(slow); carSpeedSet.Add(fast); Cài đ t các lu t làm m : ờ public void Fuzzy() { double temperature = trackBar1.Value; double cover = trackbarCloudCover.Value; double membershipFast = 0.0; double membershipSlow = 0.0;

double membershipFreezing = 0.0; double membershipCool = 0.0; double membershipWarm = 0.0; double membershipHot = 0.0;

double membershipSunny = 0.0; double membershipPartly = 0.0; double membershipOvercast = 0.0; //freezing if (temperatureSet.Temperature_Is_Freezing(temperature)) {

membershipFreezing =

temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Freezing, temperature);

membershipSlow = membershipFreezing; carSpeedSet.DriverSlow(membershipSlow); }

// sunny and cool if (coverSet.Cover_Is_Sunny(cover) &&

temperatureSet.Temperature_Is_Cool(temperature))

{ membershipSunny =

coverSet.GetMemberShipOfVariable(LinguisticVariable.Sunny, cover);

membershipCool =

temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Cool , temperature);

membershipFast = FuzzySet.Min(membershipSunny, membershipCool);

carSpeedSet.DriverFast(membershipFast); }

// sunny and warm if (coverSet.Cover_Is_Sunny(cover) &&

temperatureSet.Temperature_Is_Warm(temperature))

{

membershipSunny = coverSet.GetMemberShipOfVariable(LinguisticVariable.Sunny, cover);

Trang 38

membershipWarm =

temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Warm , temperature);

membershipFast = FuzzySet.Min(membershipSunny,

membershipWarm);

carSpeedSet.DriverFast(membershipFast); }

// sunny and hot if (coverSet.Cover_Is_Sunny(cover) &&

temperatureSet.Temperature_Is_Hot(temperature))

{ membershipSunny =

coverSet.GetMemberShipOfVariable(LinguisticVariable.Sunny, cover);

membershipHot = temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Hot, temperature);

membershipFast = FuzzySet.Min(membershipSunny, membershipHot);

carSpeedSet.DriverFast(membershipFast); }

//partly and cool if (coverSet.Cover_Is_Partly(cover) &&

temperatureSet.Temperature_Is_Cool(temperature))

{ membershipPartly =

coverSet.GetMemberShipOfVariable(LinguisticVariable.Partly, cover);

membershipCool =

temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Cool , temperature);

membershipSlow = FuzzySet.Min(membershipPartly, membershipCool);

carSpeedSet.DriverSlow(membershipSlow); }

//partly and warm if (coverSet.Cover_Is_Partly(cover) &&

temperatureSet.Temperature_Is_Warm(temperature))

{

membershipPartly = coverSet.GetMemberShipOfVariable(LinguisticVariable.Partly, cover);

membershipWarm =

temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Warm , temperature);

membershipFast = FuzzySet.Min(membershipPartly,

membershipWarm);

carSpeedSet.DriverFast(membershipFast); }

//partly and hot if (coverSet.Cover_Is_Partly(cover) &&

temperatureSet.Temperature_Is_Hot(temperature))

{ membershipPartly =

coverSet.GetMemberShipOfVariable(LinguisticVariable.Partly, cover);

Trang 39

membershipHot =

temperatureSet.GetMemberShipOfVariable(LinguisticVariable.Hot , temperature);

membershipFast = FuzzySet.Min(membershipPartly,

membershipHot);

carSpeedSet.DriverFast(membershipFast); }

//overcast if (coverSet.Cover_Is_Overcast(cover)) { membershipOvercast =

coverSet.GetMemberShipOfVariable(LinguisticVariable.Overcast , cover);

membershipSlow = membershipOvercast; carSpeedSet.DriverSlow(membershipSlow); }

double speed = carSpeedSet.Defuzzy(); speedControl1.Speed = Math.Round(speed); UpdateSpeed(speed);

}

Trang 40

ạ ệ ươ ẫ ủ i dùng có th tùy ch nh “nhi t đ ” và “đ 2. Ch y th nghi m ử Khi kh i đ ng ch ở ộ ậ ể ể ố ệ ộ ỉ t đ ” và “đ bao ph ” và ộ ộ ệ ộ ủ Nút Start đ kh i đ ng timer, t ng trình s ch n ng u “nhiên nhi ọ d a vào các lu t đ tính ra t c đ . Ng ườ ự bao ph ” thông qua 2 thanh slider c u hình. ở ộ ẽ ộ ấ đ ng thay đ i nhi ự ộ ổ ủ ẫ ộ t đ và đ bao ph ng u nhiên. ệ ộ v tr ng thái c u hình th công(c u hình băng thanh ủ ở ề ạ ấ ấ ể Nút stop đ d ng timer, tr ể ừ slider)

Trang 41

Hình 24: Ch ươ ng trình minh h a đi u khi n t c đ xe ôtô ề ể ố ộ ọ

ề ờ

ự ế ể ự ộ ề ể

ầ ộ ề ề ụ ờ ọ ể ề ể ờ ợ

IV. K t lu n ậ ế ữ ề ớ ỹ ng ph c t p, không xác đ nh mà ng ế ậ ỹ ườ ậ ờ ể ề ậ ứ ạ ố ượ ể ị

1. Vai trò c a ph

Trong nh ng năm g n đây, lý thuy t logic m đã có nhi u áp d ng thành công trong lĩnh v c đi u khi n. B đi u khi n d a trên lý thuy t logic m g i là b đ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 ể các đ i t ằ i v n hành có th đi u khi n b ng kinh nghi m.ệ

ủ ươ ng pháp toán trong tin h c ọ

ể ậ ọ

Thông qua môn h c “Ph ế ọ

ng pháp toán trong tin h c” và bài ti u lu n này đã giúp ươ ọ em có thêm ki n th c sâu s c v ng d ng mô hình toán h c vào trong tin h c. ụ ắ Nh ng vai trò quan tr ng c a toán h c trong tin h c có th khái quát nh sau: ề ứ ọ ọ ứ ọ ủ ư ể ọ

ữ • Mô hình hóa các khái ni m trong th c ti n thành các mô hình toán h c mà máy ự ễ ệ ọ

tính có th hi u đ c. ể ể ượ

i thành d ng mà máy tính có th đ c đ c. ễ ể ứ ủ ể ọ ượ ườ ạ

• Bi u di n tri th c c a con ng • Là c s đ thi • Toán h c cũng là c s đ đánh giá hi u qu c a thu t toán, tính toán đ ph c ộ ứ ệ

t k các thu t toán (thu t toán mà hóa, logic m …) ơ ở ể ế ế ậ ậ ờ

ơ ở ể ả ủ ậ ọ

t p c a thu t toán. ạ ủ ậ

c trong bài thu ho ch: ữ ả ạ ượ ạ

2. Nh ng k t qu đ t đ ế • Khái quát đ c c s lý thuy t v logic m , m nh đ m , lu t m , s m … • Áp d ng các ki n th c v logic m đ xây d ng ng d ng đi u khi n m cho ờ ể

ượ ơ ở ờ ố ờ ế ề ề ờ ệ ậ ờ

ự ứ ứ ề ụ ề ể ế ờ

• S d ng ngôn ng l p trình C# đ xây d ng giao di n tr c quan cho ch ể

ụ xe ôtô.

ử ụ ữ ậ ự ự ệ ươ ng

• V bi u đ bi u di n tr c quan các hàm ph thu c. ự

trình

3. H n ch và H ng phát tri n:

ẽ ể ồ ể ụ ễ ộ

ướ ể ạ

ng trình ch m i phân tích 2 y u t t đ và đ ỉ ớ ế ố ầ đ u vào đ n gi n (nhi ơ ả ệ ộ ộ ế • H n ch : ạ ế o Ch ươ

bao ph ) đ tính ra t c đ an toàn cho xe. ố ộ ủ ể

o Ch a th hi n đ

ể ệ ượ ư c bi u đ hàm ph thu c d ng 3D. ụ ộ ạ ể ồ

o Ch đ

ươ ụ ng trình ng d ng ch m i mang tính ch t minh h a, ch a th áp d ng ỉ ớ ứ ư ụ ể ấ ọ

• H ng phát tri n:

c trong th c ti n, tính khoa h c ch a cao. ượ ự ễ ư ọ

Trang 42

ướ ể

o Thêm các y u t

ộ ố

đ u vào ph c t p h n đ xác đ nh t c đ an toàn cho xe ư ng đi, l u t x u c a đ ộ ố ấ ủ ườ ứ ạ ầ ủ ể ơ ự ễ

ế ố ầ ứ ng …) ả ơ ng xe trên đ ị hi u qu h n đáp ng nhu c u c a th c ti n (đ t ệ l ượ ườ

o Phát tri n mô hình đi u khi n xe ôtô thông minh tránh các ch ể

ng ng i v t. ể ề ướ ạ ậ

o V bi u đ 3D cho các hàm ph thu c.

Trang 43

ẽ ể ồ ụ ộ

Tài li u tham kh o ả

[1] Bai giang Ph ng pháp Toán trong Tin – PGS. TS Đ Văn Nh n. ươ ơ ỗ ̀ ̉

[2] Giáo trình các h c s tri th c – GS TSKH Hoàng Ki m – TS Đ Phúc- TS Đ ệ ơ ở ế ỗ ỗ Văn Nh n – NXB Đ i h c Qu c Gia Tp HCM - 2005 ạ ọ ơ ứ ố

ậ [3] Lý thuy t M và ng d ng - Nguy n nh Phong – NXB Khoa h c và K thu t – ờ Ứ ư ụ ễ ế ọ ỹ 2005

[4] Timothy J.Ross, “Fuzzy Logic with Engineering Applications”. McGraw-Hill, 1997

[5] Amiya Patanaik. “Fuzzy Logic Control of Air Conditioners”. Roll number 05EG1008, Department of Electrical Engineering , Indian Institute of Technology, Kharagpur - 721302, India.

[6] Henry Nasution. “Development of Fuzzy Logic Control for Vehicle Air Conditioning System”. Telkomnika Vol. 6, No.2, 2008 .

Trang 44

[7] Manish Agarwal. "Fuzzy Logic Control of Washing Machines". Roll number 00ME1011, Department of Mechanical Engineering, Indian Institute of Technology, Kharagpur - 721302, India.