38
8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam Academy of Science and Technology ¡ Mệnh đề mờ ¡ Suy diễn mờ ¡ Điều khiển mờ ¡ Giải bài toán điều khiển mờ ¡ Sử dụng Python 3 A. Prof. Dr. Tran Van Lang Vietnam Academy of Science and Technology 4 A. Prof. Dr. Tran Van Lang Vietnam Academy of Science and Technology

PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/[email protected] · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

1

PGS.TS. Trần Văn Lăng

1

Chương 3

2A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Mệnh đề mờ¡ Suy diễn mờ¡ Điều khiển mờ¡ Giải bài toán điều khiển mờ¡ Sử dụng Python

3A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 4A. Prof. Dr. Tran Van Lang Vietnam Academy of Science and Technology

Page 2: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

2

¡ Cho biến ngôn ngữ q, biến này nhận giá trị mờ là A thì biểu thức {q = A} gọi là mệnh đề mờ.

¡ Chẳng hạn, § q = “tốc độ cánh quạt” là một biến ngôn ngữ,

§ giá trị mờ là A = “quay hơi nhanh”;¡ Khi đó {q = A} (“Cánh quạt quay hơi nhanh”) là

một mệnh đề mờ.

5A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Cho P tập hợp các mệnh đề mờ. ∀P∈P, gọi v(P) là giá trị chân lý (truth value) hay chân trị của mệnh đề P.

¡ Đối với logic cổ điển, v(P) = 1, nếu P đúng, v(P) = 0 nếu P sai.

¡ Đối với logic mờ, v(P) nhận giá trị ∈ [0,1] để chỉ mức độ đúng của mệnh đề P.

6A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Khi đó có thể đồng nhất v(P) với độ thuộc μA(x) của x với A là tập mờ và xÎ tập không gian nền X

¡ Logic mờ là logic mà trong đó các mệnh đề là câu phát biểu (đề xuất) không nhất thiết là đúng hoặc là sai.

7A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Cho P, Q là hai mệnh đề, ký hiệu:§ P∨Q là phép toán tuyển§ P∧Q là phép toán giao§ ¬P là phép toán phủ định

¡ Từ đây suy ra phép toán § Kéo theo (=>)

§ Tương đương (<=>)

8A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 3: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

3

¡ Trong đó§ P => Q = ¬P∨Q

§ P <=> Q =(P => Q) ∧(Q => P) = (¬P∨Q)∧ (¬Q∨P)

P Q ¬P ¬Q ¬P ∨Q ¬Q∨P P => Q P <=> Q

1 1 0 0 1 1 1 1

1 0 0 1 0 1 0 0

0 1 1 0 1 0 1 0

0 0 1 1 1 1 1 1

9A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Khi đó, thay vì giá trị là 0 hoặc 1; bảng chân trị nhận giá trị thuộc đoạn [0,1]

10A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

11

¡ Suy diễn mờ hay suy luận xấp xỉ là quá trình suy ra những kết luận dưới dạng các mệnh đề mờ

¡ Sử dụng quy tắc “If … Then …” với các dữ liệu nhập không rõ ràng

12A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 4: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

4

¡ Luật suy diễn là luật mà từ một hoặc nhiều biểu thức của mệnh đề này có thể suy dẫn ra biểu thức của mệnh đề khác.

13A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Quy tắc suy diễn khẳng định (mode that affirms), còn gọi là quy tắc Modus Ponens :

((P => Q) ∧ P) => Q¡ Ví dụ:

§ Nếu chúng ta có password, thì chúng ta có thể log vào mạng

§ Chúng ta có password

§ Vì vậy (=>), chúng ta có thể log vào mạng

14A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Quy tắc suy diễn phủ định (mode of denies): hay còn gọi quy tắc Modus Tollens

((P => Q) ∧ ¬Q) => ¬P¡ Ví dụ:

§ Nếu chúng ta có password, thì chúng ta có thể log vào mạng

§ Chúng ta không thể log vào mạng

§ Suy ra: chúng ta không có password

15

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Cả 2 dạng quy tắc modus ponens và modus tollens gọi chung là dạng quy tắc suy diễn phổ biến (universal form)

¡ Universal modus ponens:§ ∀x, ((P(x)→Q(x))

§ P(a), với a ∈ {miền vị ngữ P}§ Suy ra, Q(a)

16A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 5: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

5

¡ Universal modus tollens:§ ∀x, ((P(x)→Q(x))

§ ¬Q(a), với a ∈ {miền vị ngữ P}

§ Suy ra ¬P(a)¡ Ví dụ:

§ Tất cả các con cá đều có vảy

§ Cá hồi là c᧠Vì vậy, các hồi có vảy

17A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Quy tắc suy diễn dạng tam đoạn luận

(Syllogism):

((P => Q) ∧ (Q => R)) => (P => R)

§ Đại tiên đề (chân lý): (Q => R)

§ Tiểu tiên đề (chân lý): (P => Q)

§ Kết luận: (P => R)

18

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Ví dụ: với Q: Người, P: Socrates, R: Chết§ Đại tiên đề: Tất cả mọi người thì đều phải chết§ Tiểu tiên đề: Socrates là (thì) người§ Nên Socrates thì cũng chết

¡ Ví dụ: Có một số đại tiên đề như sau§ Có tiền mua tiên cũng được

§ Người giàu thì giỏi

19A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Quy tắc suy diễn tương phản (Contraposition):

(P => Q) <=> (¬Q => ¬P)§ Tiên đề (chân lý): (P => Q)

§ Tiên đề tương phản: (¬Q => ¬P)¡ Ví dụ: Tiên đề tương phản

§ Không mua được tiên thì chẳng có tiền§ Người không giỏi thì không giàu bao giờ

20A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 6: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

6

¡ Mệnh đề 1 (Luật hoặc tri thức): P => Q¡ Mệnh đề 2 (Sự kiện): P đúng¡ Kết luận: Q đúng

¡ Ở đây sử dụng quy tắc suy diễn khẳng định Modus Ponens:

((P => Q) ∧ P) => Q

21A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Luật mờ (tri thức): If x = A then y = B (P => Q)¡ Sự kiện mờ: P’ = {x = A’} xác định bởi tập mờ

A’ trên X¡ Kết luận: Q’ = {y = B’}¡ Trong đó

§ A, A’ là 2 tập mờ trên không gian nền X

§ B, B’ là 2 tập mờ trên không gian nền Y

22A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Luật mờ: Nếu cánh quạt quay nhanh Thì gió nhiều (do có 2 khái niệm nhanh và nhiều)

¡ Sự kiện (cổ điển): Cánh quạt quay nhanh¡ Ta có:

§ P: x = A (cánh quạt quay nhanh)

§ Q: y = B (gió nhiều)

23A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Như vậy đã có:

§ (P => Q): Cánh quạt quay nhanh thì gió nhiều và có

P: cánh quạt quay nhanh

§ Kết luận cổ điển: có Q: gió nhiều

24

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 7: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

7

¡ Bây giờ với sự kiện mờ: Cánh quạt quay khá nhanh

¡ Kết luận: Gió khá nhiều hay không§ Ở đây, lập luận mờ thể hiện qua việc là chúng ta

không có P (quay nhanh) mà chỉ có P’ (quay khá nhanh); thì kết luận là Q’, không phải là Q.

§ Có nghĩa là sử dụng quy tắc modus ponens với thay đổi▪ ((P => Q) ∧ P) => Q bởi▪ ((P => Q) ∧ P’) => Q’

25A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Như vậy, một luật mờ dạng If P then Q

¡ được biểu diễn thành một quan hệ mờ R của phép kéo theo P => Q với hàm thuộc R trên không gian nền X�Y có dạng:

μR(x,y) = μP=>Q(x,y) = Min{μA(x),μB(y)}, ∀x,y∈X×Y

26A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Như ở các ví dụ trong phương trình mờ,

§ Với phép kéo theo xác định trên quan hệ mờ R có

hàm thuộc μR.

§ Thì, với tập hợp mờ B’ trên không gian nền Y sẽ có

hàm thuộc được tính bằng phép hợp thành B’ =

A’°R cho bởi:

μB’(y) = Maxx∈X{Min{μA’(x), Min{μA(x),μB(y)}}},

∀y∈Y

27

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Mệnh đề 1: P => Q¡ Mệnh đề 2: ¬Q đúng¡ Kết luận: ¬P đúng

¡ Ở đây sử dụng quy tắc suy diễn phủ định Modus Tollens:

((P => Q) ∧ ¬Q) => ¬P

28A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 8: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

8

¡ Luật mờ (hoặc tri thức mờ):

If x = A then y = B¡ Sự kiện mờ: y = ¬B’

¡ Kết luận: x = ¬A’

¡ Trong đó

§ A, A’ là các tập mờ trên không gian nền X

§ B, B’ là các tập mờ trên không gian nền Y

29

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Luật mờ: Nếu cánh quạt quay nhanh Thì gió nhiều

¡ Sự kiện mờ: Gió không nhiều lắm¡ Kết luận: Cánh quạt không quay nhanh lắm

30A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Khảo sát trường hợp lập luận mờ có nhiều

điều kiện (nhiều luật). Nghĩa là mô hình mờ

có nhiều điều kiện dạng If … Then … như sau:

31

Luật 1 If x = A1 Then y = B1

Luật 2 If x = A2 Then y = B2

… ...

Luật n If x = An Then y = Bn

Sự kiện x = A’

Kết luận y = B’

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Tập hợp n mệnh đề gọi là mô hình mờ, trong đó các tập mờ Ai, Bi, ∀i = 1, …, n được coi là các khái niệm mờ.

¡ Mô hình này mô tả mối quan hệ (sự phụ thuộc) giữa 2 đại lượng x và y trên không gian nền X, Y

¡ Giá trị A’ được gọi là đầu vào, và B’ là giá trị đầu ra cần tìm.

32A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 9: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

9

¡ Phương pháp lập luận xấp xỉ đế tính y = B’ gồm các bước như sau:

¡ Bước 1 (Giải nghĩa các luật): Luật chính là các mệnh đề điều kiện và mỗi mệnh đề điều kiện có thể hiểu là một phép toán kéo theo. Trong trường hợp này có thể viết

μAi(x) => μBi(y)

§ Khi x, y biến thiên, biểu thức trên xác định một quan hệ mờ Ri: X�Y −> [0,1]

§ Như vậy, mỗi mệnh đề điều kiện trong mô hình xác định một quan hệ mờ.

33

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Bước 2 (Gom lại – Aggregation): Các quan hệ mờ thu được bằng công thức R = (R)Ri.§ Chẳng hạn, R = ∧Ri hoặc R = �Ri là phép tính min,

max§ Việc gom lại như vậy bảo đảm R chứa các thông

tin trong những mệnh đề If Then

34A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Bước 3: Tính giá trị B’ theo công thức B’ =

A’°R, trong đó ° là phép toán hợp thành giữa 2 quan hệ A’ và R tương ứng.

35

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Bước 4 (Giải mờ - Defuzzification): Kết quả

của bước 3 là một tập hợp mờ. Tuy nhiên,

trong một số trường hợp chúng ta cần biết

giá trị thực tương ứng của biến y = B’

§ Phương pháp tính giá trị thực tương ứng gọi là

phương pháp khử mờ.

36

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 10: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

10

¡ Có thể dùng phương pháp khử mờ theo trung bình cộng có trọng số như:

37A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 38

¡ Mục tiêu là điều khiển tiến trình dựa trên tri thức chuyên gia§ Điều khiển cổ điển sử dụng nhưng tham số vật lý

để điều khiển.§ Còn điều khiển mờ dựa trên tri thức của chuyên

gia và các tham số vật lý▪ Các tri thức chuyên gia thể hiện qua luật và tập hợp mờ

39A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Điều khiển máy giặt:¡ Hệ thống mờ có hai giá trị nhập vào (input)

như sau:§ Độ bẩn trên quần áo

§ Dầu mỡ dính trên quần áo.

¡ Cần phải đưa ra (output)§ Thời gian giặt

40

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 11: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

11

¡ Dữ liệu nhập này thu được từ các sensor quang học.

¡ Hệ thống phải có sensor khá tốt có thể cung cấp dữ liệu cần thiết cho bộ điều khiển mờ.

¡ Với bài toán trên, giả sử giá trị độ bẩn và lượng dầu mỡ được chuẩn hóa: giả sử thuộc [0,100]

¡ Thời gian giặt được chuẩn hóa trong [0,60]

41A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Với “Độ bẩn” có các biến ngôn ngữ:§ Bẩn ít (D.Small)

§ Bẩn vừa (D.Medium)

§ Bẩn nhiều (D.Large)

42A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ "Lượng dầu mỡ" có các biến ngôn ngữ§ Mỡ ít (K.NotGreasy)

§ Mỡ vừa (K.Medium)

§ Mỡ nhiều (K.Greasy)

43A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Biến ngôn ngữ xác định “Thời gian giặt”:§ Giặt rất ngắn (T.VeryShort)§ Giặt ngắn (T.Short)§ Giặt vừa (T.Medium)§ Giặt lâu (T.Long)§ Giặt rất lâu (T.Very Long)

44A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 12: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

12

¡ Quy tắc mang tính trực giác: “Nếu thời gian bão hòa lâu và sự trong suốt ít Thì thời gian giặt cần phải lâu”

¡ Căn cứ qua tắc trực quan này để xem xét sự kết hợp từng biến ngôn ngữ thuộc "Độ bẩn", "Lượng dầu mỡ" khác nhau để đưa ra những quy tắc (luật) cần thiết trong việc xây dựng bộ điều khiển máy giặt.

45A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Gọi§ x: Độ bẩn (0 ≤ x ≤ 100)§ y: Lượng dầu mỡ (0 ≤ y ≤ 100)§ z: Thời gian giặt (0 ≤ z ≤ 60)

46A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ (R1): If x is Large and y là Greasy Then z is VeryLong¡ (R2): If x is Medium and y is Greasy then z is Long¡ (R3): If x is Small and y is Greasy then z is Long¡ (R4): If x is Large and y is Medium then z is Long¡ (R5): If x is Medium and y is Medium then z is Medium¡ (R6): If x is Small and y is Medium then z is Medium¡ (R7): If x is Large and y is NotGreasy then z is Medium¡ (R8): If x is Medium and y is NotGreasy then z is Short¡ (R9): If x is Small and y is NotGreasy then z is VeryShort

47A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

D.Small D.Medium D.Large

K.NotGreasy T.VeryShort T.Short T.Medium

K.Medium T. Medium T. Medium T. Long

K.Greasy T. Long T. Long T. VeryLong

48A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 13: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

13

¡ μD.Small(x) = 1 - x/50, nếu 0 ≤ x ≤ 50= 0 nếu 50 < x ≤ 100

¡ μD.Medium(x) = x/50, nếu 0 ≤ x ≤ 502-x/50, nếu 50 < x ≤ 100

¡ μD.Large(x) = 0, nếu 0 ≤ x ≤ 50x/50 –1 nếu 50 < x ≤ 100

49A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

# -*- encoding: utf-8 -*-import numpy as npimport skfuzzy as fzimport matplotlib.pyplot as plt### Xây dựng 3 tập mờ về độ bẩnX = np.arange(0,101,1)Small = fz.trimf( X,[0,0,50] )Medium= fz.trimf( X,[0,50,100] )Large = fz.trimf( X,[50,100,100] )### Vẽ đồ thị 3 hàm thuộc tương ứngplt.plot( X, Small, label = "Small" )plt.plot( X, Medium, label = "Medium" )plt.plot( X, Large, label = "Large" )plt.xlabel("Do ban")plt.legend(loc="upper right",framealpha=0.5)plt.show()

50A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

51A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ μK.NotGreasy(y) = 1 - y/50, 0 ≤ y ≤ 500 50 ≤ y ≤ 100

¡ μK.Medium(y) = y/50, 0 ≤ y ≤ 502 - y/50, 50 ≤ y ≤ 100

¡ μK.Greasy(y) = 0, 0 ≤ y ≤ 50y/50 – 1, 50 ≤ y ≤ 100

52A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 14: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

14

# -*- encoding: utf-8 -*-import numpy as npimport skfuzzy as fzimport matplotlib.pyplot as plt### Xây dựng 3 tập mờ về mức độ dầu mỡ dính vàoY = np.arange(0,101,1)NotGreasy = fz.trimf( Y,[0,0,50] )Medium = fz.trimf( Y,[0,50,100] )Greasy = fz.trimf( Y,[50,100,100] )### Vẽ đồ thị 3 hàm thuộc tương ứngplt.plot( Y, NotGreasy, label = "Not greasy" )plt.plot( Y, Medium, label = "Medium" )plt.plot( Y, Greasy, label = "Greasy" )plt.xlabel("Luong dau mo")plt.legend(loc="upper right",framealpha=0.5)plt.show()

53A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 54A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ μT.VeryShort(z) = 1, 0 ≤ z ≤ 4(18 - z)/14, 4 ≤ z ≤ 180, 18 ≤ z ≤ 60

¡ μT. Short(z) = 0, 0 ≤ z ≤ 4(z - 4)/14, 4 ≤ z ≤ 18(32 - z)/14, 18 ≤ z ≤ 320, 32 ≤ z ≤ 60

55A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ μT.Medium(z) = 0, 0 ≤ z ≤ 18(z - 18)/14, 18 ≤ z ≤ 32(46 - z)/14, 32 ≤ z ≤ 460, 46 ≤ z ≤ 60

¡ μT.Long(z) = 0, 0 ≤ z ≤ 32(z - 32)/14, 32 ≤ z ≤ 46(60 - z)/14, 46 ≤ z ≤ 60

¡ μT.VeryLong(z) = 0, 0 ≤ z ≤ 46(z - 46)/14, 46 ≤ z ≤ 60

56A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 15: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

15

### Xây dựng 5 tập mờ về thời gian giặtZ = np.array( [0,4,18,32,46,60] )VeryShort = fz.trapmf( Z,[0,0,4,18] )Short = fz.trimf( Z,[4,18,32] )Medium= fz.trimf( Z,[18,32,46] )Long = fz.trimf( Z,[32,46,60] )VeryLong = fz.trimf( Z,[46,60,60] )### Vẽ đồ thị của 5 hàm thuộc tương ứngplt.plot( Z, VeryShort, label = "Very short" )plt.plot( Z, Short, label = "Short" )plt.plot( Z, Medium, label = "Medium" )plt.plot( Z, Long, label = "Long" )plt.plot( Z, VeryLong, label = "Very Long" )plt.xlabel("Thoi gian giat")plt.legend(loc="upper right",framealpha=0.5)plt.show()

57A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 58A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

0

0.2

0.4

0.6

0.8

1

1.2

0 4 18 32 46 60VeryShort Short Medium Long VeryLong

59A. Prof. Dr. Tran Van Lang Vietnam Academy of Science and Technology

¡ Giả sử Độ bẩn là 40, ta có§ µD.Small(40) = 1/5

§ µD.Medium(40) = 4/5

§ µD.Large(40) = 0

¡ Bằng PythonxA = fz.interp_membership(X, Small, 40)

xB = fz.interp_membership(X, Medium, 40) xC = fz.interp_membership(X, Large, 40)

60A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 16: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

16

¡ Với lượng dầu mỡ là 60, ta có§ µK.NotGreasy(60) = 0

§ µK.Medium(60) = 4/5

§ µK.Greasy(60) = 1/5

¡ Bằng PythonyA = fz.interp_membership(Y, NotGreasy, 60)

yB = fz.interp_membership(Y, Medium, 60)yC = fz.interp_membership(Y, Greasy, 60)

61A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ W1 = min(µD.Large(40), µK.Greasy(60)) = min(0,1/5) = 0¡ W2 = min(µD.Medium(40), µK.Greasy(60)) = min(4/5, 1/5) = 1/5¡ W3 = min(µD.Small(40), µK.Greasy(60)) = min(1/5, 1/5) = 1/5¡ W4 = min(µD.Large(40), µK.Medium(60)) = min(0, 4/5) = 0¡ W5 = min(µD.Medium(40), µK.Medium(60)) = min(4/5, 4/5) = 4/5¡ W6 = min(µD.Small(40), µK.Medium(60)) = min(1/5, 4/5) = 1/5¡ W7 = min(µD.Large(40), µK.NotGreasy(60)) = min(0, 0) = 0¡ W8 = min(µD.Medium(40), µK.NotGreasy(60)) = min(4/5, 0) = 0¡ W9 = min(µD.Small(40), µK.NotGreasy(60)) = min(1/5, 0) = 0

62A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Hàm thành viên được tổng hợp bằng cách lấy tổng theo số luật trên tất cả các hàm thành viên với trọng số là sự hợp thành của các điều kiện luật:

¡ µT(z) = W1µT.VeryLong(z) + W2µT. Long(z) + W3µT. Long(z) + W4µT. Long(z) + W5µT.Medium(z) + W6µT. Medium(z) + W7µT. Medium(z) + W8µT.Short(z) + W9µT.VeryShort(z)

¡ µT(z) = 0.4µT. Long(z) + µT.Medium(z)

63

A. Prof. Dr. Tran Van LangVietnam Academy of Science and Technology

¡ Giá trị rõ của kết luận được tính bằng cách tính trung bình theo trọng số.

¡ Với hàm liên tục, giá trị được giải mờ là

64A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 17: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

17

¡ Tính toán các giá trị

65A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 66A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Tính P1 bằng chương trình Python

67A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 68A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 18: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

18

¡ Tính P2

69A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 70A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

71A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 72A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 19: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

19

73A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Tính Q = Q1 + Q2

74A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Vậy, với áo quần có độ bẩn 40, lượng dầu mở là 60 thì thời gian giặt cần là 36 phút

75A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Trong Python, hàm có 2 cách viếtdef ham(x):

return x – 32¡ Có thể viết lạiham = lambda x: x – 32¡ Với hàm nhiều đối số, ví dụhamZ = lambda x,y: numpy.sqrt(x**2 + y**2)¡ Là tương đươngdef hamZ(x,y):

return numpy.sqrt(x**2 + y**2)

76A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 20: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

20

¡ Tạo tập mờ để input (đóng vai tiên đề –

antecendent) bằng lệnh

§ skfuzzy.control.Antecedent(universe, label)

¡ Tập mờ để output (đóng vai kết luận –

consequent), dùng lệnh

§ skfuzzy.control.Consequent(universe, label)

§ Với

▪ universe: không gian nền (là mảng)

▪ label: là chuỗi ký tự chi tên gọi của tập mờ

77

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 78A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Với tập mờ, có thể vẽ hình bằng hàm view().

¡ Ví dụ tập mờ "Trung niên" trên không gian nền "Tuoi":

age["Trung nien"] = skfuzzy.trapmf(age.universe,[30,4

0,50,60])¡ Có thể vẻ hàm thuộc

cho tập mờ này bằngage["Trung nien"].view()

¡ Import các thư việnimport numpy as npimport skfuzzy as fzfrom skfuzzy import control as ctrl

¡ Tạo các không gian nền Bẩn, Dầu mỡ và Thời gian giặt

Ban = ctrl.Antecedent( np.arange(0,101,1),"Do ban" )Dau = ctrl.Antecedent( np.arange(0,101,1), "Dau mo" )ThoiGian = ctrl.Consequent( [0,4,18,32,46,60], "Thoi gian giat" )

79A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Xây dựng 3 tập mờ về mức độ bẩn: Ít, Vừa, Nhiều

Ban["It"] = fz.trimf( Ban.universe,[0,0,50] )Ban["Vua"] = fz.trimf( Ban.universe,[0,50,100] )Ban["Nhieu"] = fz.trimf( Ban.universe,[50,100,100] )

¡ Xây dựng 3 tập mờ về mức độ dầu mở bám vào: Ít, Vừa, Nhiều

Dau["It"] = fz.trimf( Dau.universe,[0,0,50] )Dau["Vua"] = fz.trimf( Dau.universe,[0,50,100] )Dau["Nhieu"] = fz.trimf( Dau.universe,[50,100,100] )

80

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 21: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

21

¡ Xây dựng 5 tập mờ về thời gian giặt: Rất

nhanh, Nhanh, Trung bình, Lâu, Rất lâu

ThoiGian["Rat nhanh"] = fz.trapmf( ThoiGian.universe,[0,0,4,18] )ThoiGian["Nhanh"] = fz.trimf( ThoiGian.universe,[4,18,32] )

ThoiGian["Trung binh"] = fz.trimf( ThoiGian.universe,[18,32,46] )ThoiGian["Lau"] = fz.trimf( ThoiGian.universe,[32,46,60] )ThoiGian["Rat lau"] = fz.trimf( ThoiGian.universe,[46,60,60] )

81

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ 9 luật liên quan

R1 = ctrl.Rule( Ban["It"] & Dau ["It"], ThoiGian["Rat nhanh"] )R2 = ctrl.Rule( Ban["It"] & Dau ["Vua"], ThoiGian["Trung binh"] )R3 = ctrl.Rule( Ban["It"] & Dau ["Nhieu"], ThoiGian["Lau"] )R4 = ctrl.Rule( Ban["Vua"] & Dau ["It"], ThoiGian["Nhanh"] )R5 = ctrl.Rule( Ban["Vua"] & Dau ["Vua"], ThoiGian["Trung binh"] )R6 = ctrl.Rule( Ban["Vua"] & Dau ["Nhieu"], ThoiGian["Lau"] )R7 = ctrl.Rule( Ban["Nhieu"] & Dau ["It"], ThoiGian["Trung binh"] )R8 = ctrl.Rule( Ban["Nhieu"] & Dau ["Vua"], ThoiGian["Lau"] )R9 = ctrl.Rule( Ban["Nhieu"] & Dau ["Nhieu"], ThoiGian["Rat lau"] )

82A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Tạo hệ điều khiển dựa trên luậtGiai = ctrl.ControlSystemSimulation( ctrl.ControlSystem([R1,R2,R3,R4,R5,R6,R7,R8,R9]) )

¡ Đưa dữ liệu là độ bẩn và lượng dầu mỡGiai.input["Do ban"] = 40Giai.input["Dau mo"] = 60

83A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Tính toán và xuất kết quảGiai.compute()print "Thoi gian giat voi do ban = 40, dau mo = 60 là",Giai.output["Thoi gian giat"]

¡ Vẽ đồ thị ứng với giá trị thời gian tính đượcThoiGian.view(Giai)

¡ Toàn bộ chương trình là Watch.py

84A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 22: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

22

¡ Thời gian giặt với độ bẩn = 40 , dầu mỡ = 60 là 35.6721311475 phút

85

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Thay vì dùng hàm thành viên (Membership)

dạng tam giác - trimf(), hình thang – trapmf();

¡ Có thể dùng hàm Gauss – gaussmf()

skfuzzy.gaussmf(x,y,z)

¡ Trong đó,

§ x: không gian nền

§ y: giá trị trung bình (center value hay mean value)

§ z: độ lệch chuẩn (standard deviation)

86

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Tập mờ về mức độ bẩn: Ít, Vừa, NhiềuBan["It"] = fz.gaussmf( Ban.universe,0,8 )Ban["Vua"] = fz.gaussmf( Ban.universe,50,12 )Ban["Nhieu"] = fz.gaussmf( Ban.universe,100,8 )

¡ Tập mờ về mức dầu mỡ bám: Ít, Vừa, NhiềuDau["It"] = fz.gaussmf( Dau.universe,0,8 )Dau["Vua"] = fz.gaussmf( Dau.universe,50,12 )Dau["Nhieu"] = fz.gaussmf( Dau.universe,100,8 )

87A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 88A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 23: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

23

¡ Tập mờ về thời gian: Rất nhanh, Nhanh, Trung bình, Lâu, Rất lâu

ThoiGian["Rat nhanh"] = fz.gaussmf( ThoiGian.universe,0,8 )ThoiGian["Nhanh"] = fz.gaussmf( ThoiGian.universe,18,8 )ThoiGian["Trung binh"] = fz.gaussmf( ThoiGian.universe,32,8 )ThoiGian["Lau"] = fz.gaussmf( ThoiGian.universe,46,8 )ThoiGian["Rat lau"] = fz.gaussmf( ThoiGian.universe,60,8 )

89A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 90A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Kết quả tính toán độ bẩn = 100, dầu mỡ bám

= 50, thời gian giặt là 45,27 phút

91

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Kết quả tính toán độ bẩn = 10, dầu mỡ bám = 50, thời gian giặt là 31,99 phút

92A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 24: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

24

¡ Bơm nước vào bồn chứa

¡ Biến ngôn ngữ

§ Đối với bể ở bên dưới:

▪ Nước đầy (H – High)

▪ Vơi nước (A - Average)

▪ Còn ít (L - Low)

93

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Đối với bồn chứa nước trên cao§ Còn vừa (U - Usage)§ Cạn nước (F - Finish)

94A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Thời gian bơm nước:

§ Bơm lâu (V – Very Long)

§ Bơm vừa (M - Medium)

§ Bơm ít (S – Short)

95

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Gọi:§ x: dung tích của bồn (khối), 0 ≤ x ≤ 2§ y: dung tích của bể (khối), 0 ≤ y ≤ 2

§ t: thời gian bơm (phút), 0 ≤ t ≤ 30

96A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 25: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

25

¡ (R1): Nếu x là Còn vừa, y là Nước đầy thì t là Bơm vừa ¡ (R2): Nếu x là Còn vừa, y là Vơi nước thì t là Bơm vừa

¡ (R3): Nếu x là Còn vừa, y là Còn ít thì t là Bơm ít¡ (R4): Nếu x là Cạn nước, y là Nước đầy thì t là Bơm lâu

¡ (R5): Nếu x là Cạn nước, y là Vơi nước thì t là Bơm vừa¡ (R6): Nếu x là Cạn nước, y là Còn ít thì t là Bơm ít

97

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Nước đầy (H) Vơi nước (A) Còn ít (L)

Còn vừa (U) Bơm vừa (M) Bơm vừa (M) Bơm ít (S)

Cạn nước (F) Bơm lâu (V) Bơm vừa (M) Bơm ít (S)

98A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Mỗi tập mờ có hàm thuộc tương ứng tương ứng

¡ Cho Bồn nước:§ μU(x) = x, nếu 0 ≤ x ≤ 1

1 nếu 1 ≤ x ≤ 2

§ μF(x) = 1 - x, nếu 0 ≤ x ≤ 1

0, nếu 1 ≤ x ≤ 2

99A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Còn vừa (U), 1

Cạn nước (F), 0

0

0.2

0.4

0.6

0.8

1

1.2

0 1 2

100A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 26: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

26

¡ Cho bể bên dưới, có các hàm thuộc:§ μH(y) = 0, nếu 0 ≤ y ≤ 1

y - 1 nếu 1 ≤ y ≤ 2§ μA(y) = y, nếu 0 ≤ y ≤ 1

2 - y, nếu 1 ≤ y ≤ 2§ μL(y) = 1 - y, nếu 0 ≤ y ≤ 1

0, nếu 1 ≤ y ≤ 2

101A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

0

0.2

0.4

0.6

0.8

1

1.2

0 1 2

Nước đầy (H)Vơi nước (A)Còn ít (L)

102A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Về thơi gian bơm có các hàm thuộc:§ μV(t) = 0, nếu 0 ≤ t ≤ 20

(t – 20)/10, nếu 20 ≤ t ≤ 30§ μM(t) = t/10, nếu 0 ≤ t ≤ 10

1, nếu 10 ≤ t ≤ 20(30 - t)/10, nếu 20 ≤ t ≤ 30

§ μS(t) = 1 – t/10, nếu 0 ≤ t ≤ 100, nếu 10 ≤ t ≤ 30

103A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

0

0.2

0.4

0.6

0.8

1

1.2

0 10 20 30

Bơm lâu (V)Bơm vừa (M)Bơm ít (S)

104A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 27: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

27

¡ Nước trong bồn còn 0.5 khối nước trong bể còn 1.2 khối. Hỏi thời gian bơm là bao lâu

105A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

§ μU(0.5) = 0.5

§ μF(0.5) = 0.5§ μH(1.2) = 0.2§ μA(1.2) = 0.8

§ μL(1.2) = 0

106A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ W1 = min{μU(0.5), μH(1.2)} = min{0.5,0.2} = 0.2¡ W2 = min{μU(0.5), μA(1.2)} = min{0.5,0.8} = 0.5¡ W3 = min{μU(0.5), μL(1.2)} = min{0.5,0} = 0¡ W4 = min{μF(0.5), μH(1.2)} = min{0.5,0.2} = 0.2¡ W5 = min{μF(0.5), μA(1.2)} = min{0.5,0.8} = 0.5¡ W6 = min{μF(0.5), μL(1.2)} = min{0.5,0} = 0

107A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ μT(t) = W1μM(t) + W2μM(t) + W3μS(t) + ¡ W4μV(t) + W5μM(t) + W6μS(t)¡ Suy ra,

§ μT(t) = 0.2μM(t) + 0.5μM(t) + 0.2μV(t) + 0.5μM(t)

§ = 1.2μM(t) + 0.2μV(t)§ μT(t) = 0.12t, nếu 0 ≤ t ≤ 10

= 1.2, nếu 10 ≤ t ≤ 20= 0.12 (30 - t) + 0.02(t – 20), nếu 20 ≤ t ≤ 30

108A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 28: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

28

¡ Dùng phương pháp trọng tâm, suy ra thời gian cần thiết để bơm T là 15.46

! = ∫$%$ &'( & )&∫$%$'( & )&

= *., ∫-.- /01 / 2/3$., ∫-

.- /04 / 2/*., ∫-

.- 01 / 2/3$., ∫-.- 04 / 2/

= %56.66,7 = 15.46

109A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

from scipy.integrate import quad

tuso1 = lambda t: t*0.12*ttuso2 = lambda t: t*1.2tuso3 = lambda t: t*(0.12*(30 - t) + 0.02*(t-20))mauso1 = lambda t: 0.12*tmauso2 = lambda t: 1.2mauso3 = lambda t: 0.12*(30 - t) + 0.02*(t-20)

t1,e1 = quad( tuso1, 0,10 )t2,e2 = quad( tuso2, 10,20 )t3,e3 = quad( tuso3, 20,30 )m1,e4 = quad( mauso1, 0,10 )m2,e5 = quad( mauso2, 10,20 )m3,e6 = quad( mauso3, 20,30 )

t = (t1 + t2 + t3)/(m1 + m2 + m3)print ( t )

110A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Nước trong bồn còn 0.5 khối nước trong bể còn 1.2 khối. Cần 15.46 (13.78 ?) phút để bơm.

¡ Bây giờ, xét nước trong bồn còn 0.5 khối nước trong bể còn 2 khối. Hỏi thời gian bơm như thế nào

111A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

§ μU(0.5) = 0.5§ μF(0.5) = 0.5§ μH(2) = 1§ μA(2) = 0§ μL(2) = 0

¡ W1 = min{0.5,1}= 0.5¡ W2 = min{0.5,0} = 0.5¡ W3 = min{0.5,0} = 0¡ W4 = min{0.5,1}= 0.5¡ W5 = min{0.5,0} = 0.5¡ W6 = min{0.5,0} = 0

112A. Prof. Dr. Tran Van Lang Vietnam Academy of Science and Technology

Page 29: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

29

¡ μT(t) = W1μM(t) + W2μM(t) + W3μL(t) + ¡ W4μV(t) + W5μM(t) + W6μL(t)¡ Suy ra,

§ μT(t) = 0.5(μM(t) + μV(t))

113A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 114A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Như vậy, khi nước trong bể (ở dưới) còn nhiều hơn, thời gian bơm lâu hơn; thời gian cần thiết là 17.33 (16.21 ?).

115A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 116A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Xem WaterTankIntegrate.py

Page 30: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

30

¡ Cũng như vậy, xét nước trong § Bồn còn 1 khối nước trong bể còn 1.2 khối, 15 phút

(15.54 ?)§ Bồn còn 0 khối nước trong bể còn 2 khối, 26.67

phút (26.67 ?)

117A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

§ μU(0) = 0§ μF(0) = 1

§ μH(2) = 1§ μA(2) = 0

§ μL(2) = 0

• W1 = min{0,1} = 0• W2 = min{0,0} = 0• W3 = min{0,0} = 0• W4 = min{1,1} = 1• W5 = min{1,0} = 0• W6 = min{1,0} = 0

118A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Suy ra, μT(t) = μV(t)

119A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

§ μU(2) = 1

§ μF(2) = 0§ μH(2) = 1§ μA(2) = 0

§ μL(2) = 0

• W1 = min{1,1} = 1• W2 = min{1,0} = 0• W3 = min{1,0} = 0• W4 = min{0,1} = 0• W5 = min{0,0} = 0• W6 = min{0,0} = 0

120A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 31: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

31

¡ Suy ra, μT(t) = μM(t)

121A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 122A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

123A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 124A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 32: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

32

125A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 126A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

127A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 128A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 33: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

33

¡ Hoặc có thể thực thi toàn bộ bằng cách run tập tin tương ứng

129A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology 130

¡ Xác định dữ liệu nhập cần cho hệ thống điều khiển

¡ Đưa ra yếu tố cần suy đoán¡ Xây dựng các tập mờ¡ Tính toán độ thuộc¡ Xây dựng cơ sở tri thức là các luật suy diễn ¡ Giải mờ

131A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Ví dụ: khi giám định một viên đá quý, người ta căn cứ vào trọng lượng, kích thước và độ tinh khiết.§ Trọng lượng: có tập tham chiếu X1 là IR+ tính bằng

cara§ Kích thước: tập tham chiếu là X2 = [0,1]§ Độ tính khiết: cũng có tập tham chiếu là X3 = [0,1]

¡ Đây chính là 3 dữ liệu cần cho việc xác định viên đá là quý với mức độ nào

¡ Giá của viên đá là kết quả cần suy đoán132

A. Prof. Dr. Tran Van LangVietnam Academy of Science and Technology

Page 34: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

34

¡ Xây dựng tập các biến ngôn ngữ dựa trên dữ liệu§ Trọng lượng: rất nặng, nặng, hơi nặng, nhẹ, quá

nhẹ ([0,100])§ Kích thước: rất lớn, lớn, vừa, nhỏ ([0,1])

§ Độ tinh khiết: rất tinh khiết, tinh khiết, được, tệ, quá tệ ([0,1])

§ Giá: rất cao, cao, vừa phải, thấp, rẻ ([1,1000])

133A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Ứng với mỗi giá trị mờ, xây dựng tập hợp mờ và hàm thuộc trên tập tham chiếu tương ứng.

¡ Chẳng hạn, với trọng lượng có ngữ nghĩa “rất nặng”

134A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Và hàm thành viên của các ngữ nghĩa rất nặng, nặng, hơi nặng, nhẹ, quá nhẹ như hình:

00.20.40.60.8

11.2

0 1 2 3 4 5 6 7Rất nặng Nặng Hơi nặng Nhẹ Quá nhẹ

135A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Cho giá trị rõ cần xác định, tính các độ thuộc của giá trị rõ này.

¡ Chẳng hạn, với giá trị rõ của trọng lượng là 3.5, thì độ thuộc là: μ (3.5) = {μRN(3.5), μN(3.5), μHN(3.5) , μNH(3.5) ,

μQN(3.5)}

136A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 35: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

35

¡ Trên cơ sở các luật, xác định các tích các tập tham chiếu X1 x X2 x … x Xr

¡ Từ đó tích Descartes của các tập mờ trên tập các tham chiếu dựa vào các luật suy diễn.

137A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Tích Descartes của A = A1 x A2 x …x Ar là tập mờ trên tập tham chiếu X = X1 x X2 x … x Xr

với hàm thuộc μA(x) như sau:μA(x) = min{μA1(x1), μA2(x2), …, μAr(xr)},

∀x =(x1, x2, …, xr)∈X

138A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Chẳng hạn, với bài toán máy giặt,

§ Với luật (R1): If x is Large and y is Greasy then z is

VeryLong

§ Thì tích Descartes trên 2 tập mờ D.Large và

K.Greasy có độ thuộc là:

min{µD.Large(40), µK.Greasy(60)} = min{0,1/5} = 0

139

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Trên cơ sở luật hợp thành – tổng hợp các luật cùng trọng số tương ứng, sẽ cho hàm thuộc của tập mờ kết quả.

¡ Các độ thuộc như là trọng số W của kết quả suy diễn theo luật tương ứng.

140A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 36: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

36

¡ Hàm thuộc trong bài toán máy giặt với 9 luật:¡ µT(z) = W1µT.VeryLong(z) + W2µT. Long(z) + W3µT.

Long(z) + W4µT. Long(z) + W5µT.Medium(z) + W6µT.

Medium(z) + W7µT. Medium(z) + W8µT.Short(z) +

W9µT.Short(z)

141A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Có nhiều phương pháp để suy ra giá trị rõ từ các hàm thuộc; phổ biến nhất là phương pháp lấy trọng tâm§ Tìm giá trị rõ bằng cách lấy tỷ lệ trên cơ sở hàm

thành viên

142A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Đối với hàm thuộc liên tục, cho dưới dạng biểu thức

143A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Nếu hàm là những giá trị rời rạc, giá trị rõ được tính bằng

144A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

Page 37: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

37

¡ Điều chỉnh máy lạnh theo số người trong phòng

và nhiệt độ ngoài trời.

¡ Luật được chấp nhận:

§ Nếu phòng có nhiều người, trời nóng thì máy ở chế

độ lạnh

§ Nếu phòng có nhiều người, trời bình thường thì máy

ở chế độ bình thường

§ Nếu phòng ít người, trời nóng thì máy ở chế độ bình

thường

§ Nếu phòng ít người, trời lạnh thì máy ở chế độ nóng

145

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Không gian nền giả sử:

§ Người = {2,3,5,8,12,17,23}

§ Nhiệt độ ngoài trời = {15,20,25,30,35,40}

§ Nhiệt độ điều chỉnh trên máy = [16,28]

146

A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Căn cứ vào chương trình điều khiển máy giắt; hãy viết chương trình bằng Python về những bài toán điều khiển còn lại.

147A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

¡ Danh sách gồm 11 học viên (mã hóa theo ten), mỗi học viên chứa 2 giá trị: số buổi học (thuộc [0,8], chức vụ (thuộc [1,10]) như sau:

148A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology

§ Trinh = [4,8]

§ Chien = [3,10]§ Tu = [5,5]

§ Ha = [7,5]§ Hoang = [8,8]

§ Nguyen = [8,8]

§ Huan = [4,5]

§ HNguyen = [7,5]§ Hien = [1,8]

§ Giang = [8,8]§ Vu = [7,6]

Page 38: PGS.TS. Trần Văn Lăng Chương 3fair.conf.vn/~lang/lecture/fuzzy/Lang@FuzzyLogic03.pdf · 8/27/18 1 PGS.TS. Trần Văn Lăng 1 Chương 3 2 A. Prof. Dr. Tran Van Lang Vietnam

8/27/18

38

¡ Cần đánh giá kết quả căn cứ vào số buổi có mặt và chức vụ của họ

¡ Kết quả đánh giá có giá trị thuộc [6,10]¡ Lưu ý, để nhập dữ liệu trong Python, dùng

§ HV = input( "Tên học vien: " )

§ SB = HV[0]§ CV = HV[1]

¡ Chương trình DiemDanhGia.py

149A. Prof. Dr. Tran Van Lang

Vietnam Academy of Science and Technology