Lý thuyết tập mờ

Một phần của tài liệu BÁO CÁO BÀI TẬP LỚN THUỘC HỌC PHẦN: HỆ CHUYÊN GIA XÂY DỰNG HỆ CHUYÊN GIA DỰ ĐOÁN LƯỢNG THUỐC CẦN CẤP CHO BỆNH NHÂN DỰA TRÊN SUY DIỄN MỜ (Trang 27)

3. Mô tơ suy diễn

2.1. Lý thuyết tập mờ

2.1.1. Tập mờ

Định nghĩa: Cho Ω( Ω ≠ ) là không gian nền, một tập mờ A trên Ω được xác định bởi hàm thuộc (membership function):

A: Ω [0,1] 0 A(x)  1

A(x): Chỉ độ thuộc (membership degree) của phần tử x vào tập mờ A (để cho đơn giản trong cách viết, sau này ta ký hiệu A(x) thay cho hàm A(x))

Khoảng xác định của hàm A(x) là đoạn [0,1], trong đó giá trị 0 chỉ mức độ không thuộc về còn giá trị 1 chỉ mức độ thuộc về hoàn toàn.

Như vậy tập mờ A hoàn toàn xác định trên tập các bộ đôi:

A=(x,A(x))x

Nếu Ω =x1,x2,...,xn,là một tập hữu hạn và A là tập mờ xác định trên

thì thông thường ta có ký hiệu:

A = 1 /x1 +2 / x2 +...+n / xn

Ví dụ 1: Hàm liên tục của tập mờ A “tập các số thực gần 1” được định nghĩa như sau: A(x) =

Ví dụ 2: Một số dạng hàm liên thuộc liên tục khác

Triangle(x, a, b, c) = max(min(

Trapezoid(x, a, b, c,d) = max(min(

Gaussian(x,)= Bell(x, a, b, c) =

Hình 2.2. Một số dạng hàm liên thuộc của tập mờ

2.1.2. Các phép toán trên tập mờ2.1.2.1. Phần bù của tập mờ 2.1.2.1. Phần bù của tập mờ

Định nghĩa 1: (Hàm phủ định): Hàm n: [0,1] không tăng thỏa mãn các điều kiện n(0) = 1, n(1) = 0 được gọi là hàm phủ định (negation function).

Định nghĩa 2: (Phần bù của một tập mờ): Cho n là hàm phủ định, phần bù Ac

của tập mờ A là một tập mờ với hàm thuộc được xác định bởi:

Ac(x) = n(A(x)), với mỗi x

2.1.2.2. Phép giao hai tập mờ

Định nghĩa 3 (T - chuẩn): Hàm T: [0,1]2  [0,1] là một T - chuẩn (phép hội) khi và chỉ khi thoả mãn các điều kiện sau:

1. T(1, x) = x, với mọi 0  x  1.

2. T có tính giao hoán : T(x,y) = T(y,x), với mọi 0  x, y 1. 3. T không giảm: T(x,y)=T(u,v), với mọi x  u, y v.

4. T có tính kết hợp: T(x,T(y,z)) = T(T(x,y),z), với mọi 0 x,y, z1. Ví dụ: T1(x,y)=min(x,y) là một T-chuẩn, thật vậy:

- T1(1,x)=min(1,x)=x, với mọi 0  x  1.

- T1 có tính giao hoán: min(x,y)=min(y,x), với mọi 0  x, y 1. - T1 không giảm: min(x,y)<=min(u,v), với mọi x  u, y v.

- T1 có tính kết hợp: min(x,min(y,z))=min(min(x,y),z)= min(x,y,z), với mọi 0  x, y, z 1.

Định nghĩa 4 (Phép giao hai tập mờ): Cho hai tập mờ A, B trên cùng không gian nền  với hàm thuộc A(x), B(x) tương ứng. Cho T là một T-Chuẩn. Phép giao của hai tập mờ A,B là một tập mờ (ký hiệu (ATB)) trên  với hàm thuộc cho bởi biểu thức:

(ATB)(x) = T(A(x), B(x)), với mỗi x 

Ví dụ:

- Với T(x,y)=min(x,y)ta có: (ATB)(x) = min(A(x),B(x)) - Với T(x,y) = x.y ta có (ATB)(x) = A(x).B(x) (tích đại số)

Ta có thể biểu diễn phép giao của hai tập mờ qua hai hàm T(x,y)=min(x,y) và T(x,y) = x.y theo các đồ thị hình 1.3 sau đây:

- Hình a: Hàm thuộc của hai tập mờ A và B

- Hình b: Giao của hai tập mờ theo T(x,y)=min(x,y) - Hình c: Giao của hai tập mờ theo T(x,y)=x.y

2.1.2.3. Phép hợp hai tập mờ

Định nghĩa 5(T - đối chuẩn): Hàm S:[0,1]2 được gọi là một T - đối chuẩn

(phép tuyển) nếu thoả mãn các điều kiện sau: 1. S(0,x) = x, với mọi 0  x  1.

3. S không giảm: S(x,y) = S(u,v), với mọi x  u, y  v.

4. S có tính kết hợp: S(x,S(y,z)) = S(S(x,y),z) với mọi 0  x, y, z1.

Định nghĩa 6 (phép hợp hai tập mờ): Cho hai tập mờ A, B trên cùng không gian nền  với hàm thuộc A(x), B(x) tương ứng. Cho S là một T - đối chuẩn. Phép hợp của hai tập mờ A, B là một tập mờ (kí hiệu (ASB)) trên  với hàm thuộc cho bởi biểu thức: (ASB)(x)=S(A(x),B(x)), với mỗi x

Ví dụ:

- Với S(x,y) = max(x,y): (ASB)(x)= max(A(x), B(x))

- Với S(x,y) = x + yx.y: (ASB)(x)=A(x) + B(x) – A(x).B(x) - Ta có thể biểu diễn phép hợp của hai tập mờ qua hai hàm

S(x,y)=max(x,y) và S(x,y)=x+y – x.y theo các đồ thị hình 2.4 sau đây:

- Hình a: Hàm thuộc của hai tập mờ A, B

- Hình b: Hợp của hai tập mờ theo S(x,y) = max(x,y)

- Hình c: Hợp của hai tập mờ theo S(x,y) = x + yx.y

2.4.2.4. Phép kéo theo

Cho (T, S, n) là một bộ ba DeMorgan với n là phép phủ định, phép kéo theo

lS(x,y) hay xy được xác định trên khoảng [0,1]2 được định nghĩa bằng biểu thức sau đây: lS(x,y) = S(T(x,y),n(x))

Bảng 1.2 dưới đây sẽ liệt kê một số phép kéo theo mờ hay được sử dụng nhất.

Bảng 1.1. Một số phép kéo theo mờ thông dụng

STT Tên Biểu thức xác định

1 Early Zadeh xy = max(1-x,min(x,y))

2 Lukasiewicz xy = min(1,1- x+y)

3 Mandani xy = min(x,y)

4 Larsen xy = x.y

5 Standard Strict xy =

6 Godel xy =

7 Gaines xy =

8 Kleene – Dienes xy = max(1 –x,y)

9 Kleene – Dienes –

Lukasiwicz

xy = 1- x + y

10 Yager xy = yx

2.2. Các quan hệ và suy luận xấp xỉ, suy diễn mờ2.2.1. Quan hệ mờ 2.2.1. Quan hệ mờ

2.2.1.1. Khái niệm về quan hệ rõ

Định nghĩa 7: Cho X , Y, R X  Y là một quan hệ (quan hệ nhị nguyên rõ), khi đó

Khi X= Y thì R  X  Y là quan hệ trên X Quan hệ R trên X được gọi là:

- Phản xạ nếu: R(x,x) = 1 với x X

- Đối xứng nếu: R(x,y) = R(y,x) với x, y X - Bắc cầu nếu: (xRy)(yRz) (xRz) với x,y,z X

Định nghĩa 8: R là quan hệ tương đương nếu R là quan hệ nhị nguyên trên X có tính chất phản xạ, đối xứng và bắc cầu.

2.2.1.2. Các quan hệ mờ

Các quan hệ mờ là cơ sở dùng để tính toán và suy diễn (suy luận xấp xỉ) mờ. Đây là một trong những vấn đề quan trọng trong các ứng dụng mờ đem lại hiệu quả

0 if (x,y)R y)( xR

R(x,y) =

lớn trong thực tế, mô phỏng được một phần suy nghĩ của con người. Chính vì vậy, mà các phương pháp mờ được nghiên cứu và phát triển mạnh mẽ. Một trong số đó là logic mờ mở. Tuy nhiên logic mờ mở rộng từ logic đa trị, do đó nảy sinh ra rất nhiều các quan hệ mờ, nhiều cách định nghĩa các toán tử T-chuẩn, T-đối chuẩn, cũng như các phương pháp mờ hoá, khử mờ khác nhau,…Sự đa dạng này đòi hỏi người ứng dụng phải tìm hiểu để lựa chọn phương pháp thích hợp nhất cho ứng dụng của mình.

Định nghĩa 9: Cho U  ; V  là hai không gian nền; R là một tập mờ trên UV gọi là một quan hệ mờ (quan hệ hai ngôi).

0 R (x,y) = R(x,y) 1

Tổng quát: RU1U2……..Un là quan hệ n ngôi 0 R(u1, u2,……un) = R(u1, u2,…..un) 1

2.2.1.3. Các phép toán của quan hệ mờ

Định nghĩa 10: Cho R là quan hệ mờ trên XY, S là quan hệ mờ trên YZ, lập phép hợp thành SoR là quan hệ mờ trên XZ

R(x,y) với (x,y) XY, S(y,z) với (y,z)YZ. Định nghĩa phép hợp thành: Phép hợp thành max – min xác định bởi:

(S R)(x,z) = (min(R(x,y),S(y,z))) (x,z)XZ

Phép hợp thành max – prod xác định bởi: (SR)(x,z) = (min(R(x,y) S(y,z))) (x,z)XZ

Phép hợp thành max – T ( với T là T - chuẩn) xác định bởi: (S TR)(x,z) = (T(R(x,y), S(y,z))) (x,z)XZ

Ví dụ: 3.1. (Hệ mờ, mạng nơron và ứng dụng, tr31 – làm thế nào để tính được S Rmax-min và S Rmax-prod)

2.2.2. Suy luận xấp xỉ và suy diễn mờ

Suy luận xấp xỉ hay còn gọi là suy luận mờ - đó là quá trình suy ra những kết luận dưới dạng các mệnh đề trong điều kiện các quy tắc, các luật, các dữ liệu đầu vào cho trước cũng không hoàn toàn xác định.

Định lý: “Nếu một hàm số là khả vi thì nó liên tục” Sự kiện: Hàm  khả vi

Kết luận: Hàm  là liên tục

Đây là dạng suy luận dựa vào luật logic cổ điển Modus Ponens. Căn cứ vào mô hình này chúng ta sẽ diễn đạt cách suy luận trên dưới dạng sao cho nó có thể suy rộng cho logic mờ.

Gọi  là không gian tất cả các hàm số, ví dụ  ={g:RR}. A là các tập các hàm khả vi, B là tập các hàm liên tục. Xét hai mệnh đề sau: P=’gA’ và Q =’gB’. Khi đó ta có:

Luật (tri thức): PQ

Sự kiện: P đúng (True)

Kết luận: Q đúng (True)

Xét bài toán suy luận trong hệ mờ

Hệ mờ n biến vào x1, …..xn và một biến ra y

Cho Un, i= 1..n là các không gian nền của các biến vào, V là không gian nền của biến ra.

Hệ được xác định bởi m luật mờ:

R1: Nếu x1 là A11và x2 và ….xn là A1n thì y là B1 R2: Nếu x1 là A21 và x2 là A22 và…xn là A2n thì y là B2

... Rm: Nếu x1 là Am1 và x2 là Am2 và ……xn là Amn thì y là Bm

Thông tin đầu vào:

X1 là A01 và x2 là A02 và….x0n là A0n

Tính: y là B0

Trong đó biến mờ ji, xác định trên không gian nền U, biến mờ Bj, xác định trên không gian nền V.

Để giải bài toán này chúng ta phải thực hiện qua các bước sau: 1. Xác định các tập mờ của các biến đầu vào.

2. Xác định độ liên thuộc tại các tập mờ tương ứng. 3. Xác định các quan hệ mờ R(A.B(u,v).

4. Xác định phép hợp thành.

Tính B’ theo công thức: B’ = A’R(A,B)(u,v).

2.3. Bộ mờ hoá

Thực hiện việc ánh xạ từ không gian đầu vào S vào các tập mờ xác định trong S được cho bởi hàm thuộc  : S [0,1]. Bộ phận này có chức năng chính dùng để chuyển một giá trị rõ x X thành một giá trị mờ trong S U (U là không gian nền). Có hai phương pháp mờ hoá như sau:

 Singleton fuzzifiter: Tập mờ A với x1 và hàm liên thuộc được định nghĩa như sau

 No – Singleton fuzziffier: Với các hàm liên thuộc nhận giá trị lớn nhất là 1 tạo x = xi và giảm dần từ 1 đến 0 với các giá trị dịch chuyển x  x1.

2.4. Hệ luật mờ

Gồm nhiều mệnh đề dạng:

IF<tập các điều kiện được thoả mãn>THEN<tập các hệ quả>

Giả sử hệ luật gồm M luật Rj (j= ) dạng Rj: IF x1 is x2 is is THEN y is Bj

Trong đó xi (i = ) là các biến đầu vào hệ mờ, y là biến đầu ra của hệ mờ - các biến ngôn ngữ, là các tập mờ trong các tập đầu vào X và là các tập mờ trong các tập đầu ra Y – các giá trị của biến ngôn ngữ (ví dụ: “Rất nhớ”, “nhỏ”, “Trung bình”, “Lớn”, “Rất lớn”,)đặc trưng bởi các hàm thuộc và . Khi đó là một quan hệ mờ từ các tập mờ đầu vào X = X1 X2 ... Xn tới các tập mờ đầu ra Y.

0 if x xi 1 if x = xi A(x) =

2.5. Động cơ suy diễn

Đây là một bộ phận logic đưa ra quyết định sử dụng hệ mờ để thực hiện ánh xạ từ các tập mờ trong không gian đầu vào X thành tập mờ trong không gian đầu ra

Y.

Khi Rj là một quan hệ mờ, thì Rj có thể là một tập con của tích Decart X  Y = với . Vì vậy, quan hệ Rj là một hàm ánh xạ từ tập mờ trong X tới tập mờ trong Y,được gọi là một dạng suy diễn mờ (để cho gọn, ta ký hiệu Aj = )

Giả sử A là một tập mờ trong X và là đầu vào của bộ suy diễn. Khi đó mỗi luật Rj tạo ra một tập mờ Bj trong Y như sau:

Bj = A Rj = sup (A*Rj)

Với * là một toán tử T - chuẩn được định nghĩa trong bảng 2.1. Do tính kết hợp, ta có thể định nghĩa:

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

T3(x,y,z) = T(x,T2(y,z)) với 0 x, y, z1

...

Dùng quy nạp ta định nghĩa:

Tn(x1,x2,..., .xn) = T(x1, T n-1(x2,....xn)) với 0  xi 1

Quan hệ Rj được định nghĩa thông qua hàm phụ thuộc sau:

Và hàm liên thuộc của tập A

Do đó, hàm liên thuộc của tập mơg đầu ra được tính như sau:

2.6. Bộ giải mờ

Đây là một ánh xạ từ các từ các tập mờ trong R thành các giá trị rõ ràng trong R. Có nhiều phép giải mờ, với mỗi ứng dụng sẽ có một phương thức giải mờ khác nhau tuỳ thuộc yêu cầu ứng dụng. Dưới đây sẽ liệt kê một số phương thức giải mờ thông dụng.

Với j là chỉ số luật, y-j là điểm có độ liên thuộc lớn nhất trong tập mờ đầu ra B

j, thứ j và được tính theo công thức như sau:

 Phương pháp độ cao biến đổi:

với j hệ số biến đổi của luật j

 Phương pháp trọng tâm

 Phương pháp tâm của các tập (Center – of – Sets): phương pháp này mỗi luật được thay thế bởi tập singleton tâm cj

Chương 3: Xây dựng bài toán ứng dụng

3.1. Hệ chuyên gia và bài toán dự đoán lượng thuốc cần cấp cho bệnh nhân bệnh nhân

Chẩn đoán bệnh trong y học nói chung có khá nhiều những HCG đã và đang được sử dụng rộng rãi và đóng những vai trò nhất định. Y học không phải là một lĩnh vực quá xa lạ với trí tuệ nhân tạo nói chung và hệ chuyên gia nói riêng vì tính đặc thù và đơn giản là không phải lúc nào ta cũng có chuyên gia(bác sĩ) bên cạnh, hoặc chuyên gia đúng với căn bệnh đó. Do đó việc sử dụng HCG là hoàn toàn phù hợp để dưa ra thông số tham khảo hoặc đưa ra chuẩn đoán thay cho các chuyên gia thực thụ khi mà tính mạng con người đang bị de dọa.

Việc đưa ra một liều lượng thuốc tham khảo phù hợp với thể trạng bệnh nhân là mục tiêu mà đề tài hướng tới, để từ đó ta có thể tham khảo hoặc lấy thêm ý kiến từ chuyên gia để giúp việc điều trị đạt hiệu quả cao nhất.

3.2. Mô tả cách áp dụng thuật toán vào bài toán cụ thể

Thuật toán: sử dụng logic mờ để giải quyết bài toán dự đoán lượng thuốc cần cấp cho bệnh nhân

3.2.1. Xây dựng các biến ngôn ngữ cùng trạng thái

a. Tuổi (0 – 80 tuổi) - Trẻ(0,20,20,40) - Trung niên: TN(20,40,40,60) - Già(40,60,60,80) b. Sốt (37 – 41 oC) - Sốt nhẹ: SN(37,38,38,39) - Sốt cao: SC(38,39,41,41)

c. Lượng thuốc (0 – 120 đơn vị thuốc) - Thuốc thấp: TT(0,20,40,60) - Trung bình: TB(40,60,80,100) - Thuốc cao: TC(80,100,120,120) Tập luật

R1. Nếu Tuổi = Trẻ và Sốt = Nhẹ (SN) thì lượng thuốc = thấp (TT) R2. Nếu Tuổi = Trẻ và Sốt = Cao (SC) thì lượng thuốc = trung bình

R3. Nếu Tuổi = Trung Niên (TN) và Sốt = Nhẹ thì lượng thuốc = trung bình

R4. Nếu Tuổi = Trung niên và Sốt = Cao thì lượng thuốc = cao (TC) R5. Nếu Tuổi = Già và Sốt = Nhẹ thì lượng thuốc = trung bình R6. Nếu Tuổi = Già và Sốt = Cao thì lượng thuốc = cao

3.2.2. Hàm thuộc

a. Hàm thuộc của Tuổi Gọi tuổi là x

b. Hàm thuộc của Sốt

c. Hàm thuộc của lượng thuốc

3.3.3. Giải mờ

Giải mờ bằng phương pháp hình thang Ta có các giá trị a, b, m1, m2, h

T= M =

Từ các luật ta có lượng thuốc cần cấp cho bệnh nhân

3.3.4. Áp dụng vào bài toán cụ thể

Bài toán: Tính lượng thuốc cần cấp cho bệnh nhân 25 tuổi và sốt 38,5

oC

Suy diễn mờ

Suy luật mờ Theo luật r1: Theo luật r2: .25 Theo luật r3: .25 Theo luật r4: Theo luật r5: Theo luật r6:

Các luật tham gia vào hệ suy diễn để xác định lượng thuốc là: r1,r2,r3, r4 Luật r1:

H = 0.5

H = 0.5

Vậy lượng thuốc cần dùng cho người 25 tuổi và sốt 38.5 độ là 60.321 (đơn vị thuốc)

3.3. Thiết kế một số giải thuật

Thiết kế và sử dụng giải thuật– áp dụng trong các tập mờ hình thang với biểu diễn bộ 4 số:

- Giải thuật tìm hàm thuộc: Đầu vào: tập mờ A = {a, b, c, d}

Thông tin đối tượng x Đầu ra: Giá trị hàm thuộc

float hamthuoc() {

if( x < a || x > d) return 0;

else if((b!=c && x <= c && x >= b) || (b == c && x == b)) return 1;

else if( x <= b && x >= a) { if(b-a) return (x - a)/(b-a);

else return -2;//-2 sẽ bị loại khi đưa vào hàm main. }

else if( x <= d && x >= c) {

if(d-c)return (d - x)/(d-c); else return -2;

} else return -2; }

- Giải thuật tìm tử số, mẫu số của một luật tham gia: Đầu vào: lượng thuốc A={a, b, c, d} tương ứng với luật

H = = x (giá trị hàm thuộc của luật) Đầu ra: TU va MAU

float timm (t, u, v) { z = abs(t-u);

else return 0; }

float timtu(h, m1, m2, t, u){

return (h/6)*(3*m2*m2 – 3*m1*m1 + u*u - t*t + 3*m2*u + 3*m1*a);

}

float timmau(h, m1, m2, t, u){

return (h/2)*(2*m2 – 2*m1 + t + u); } void timtumau() { ka = timm(a, b, x); m1= a + ka; kb = timm(c, d, x); m2= d - kb; TU = timtu(x, m1, m2, ka, kb); MAU = timmau(x, m1, m2, ka, kb); }

3.4. Cài đặt chương trình3.4.1. Môi trường cài đặt 3.4.1. Môi trường cài đặt

 Ngôn ngữ cài đặt : C#

 Hệ điều hành : Windows 10

 Nền tảng : NetFramework 3.0

 Công cụ sử dụng : Visual Studio 2017

Một phần của tài liệu BÁO CÁO BÀI TẬP LỚN THUỘC HỌC PHẦN: HỆ CHUYÊN GIA XÂY DỰNG HỆ CHUYÊN GIA DỰ ĐOÁN LƯỢNG THUỐC CẦN CẤP CHO BỆNH NHÂN DỰA TRÊN SUY DIỄN MỜ (Trang 27)

Tải bản đầy đủ (DOCX)

(57 trang)
w