1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và cài đặt lớp tập mờ và ứng dụng trong các hệ thống mờ

83 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 697,92 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vậy trong khuôn khổ khóa luận thạc sĩ, học viên chọn đề tài: Thiết kế và cài đặt lớp tập mờ và ứng dụng trong các hệ thống mờ Đối tượng và phạm vi nghiên cứu Luận văn tập trung vào hai n

Trang 1

ĐẠI HỌC THÁI NGUY ÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

LUẬN VĂN THẠC THẠC SĨ THI T K VÀ CÀI Đ T L P T P M Ế Ế Ặ Ớ Ậ Ờ

VÀ NG D NG TRONG CÁC H TH NG M Ứ Ụ Ệ Ố Ờ

Chuyên ngành: Khoa học máy tính

Mã số: 60 48 01 01 Giáo viên hướng dẫn: PGS TSKH Nguyễn Xuân Huy Học viên: Triệu Thị Thu Hằng

Lớp: Cao học K13B

Trang 2

LỜI CẢM ƠN

Tôi xin bày tỏ sự kính trọng và lòng biết ơn sâu sắc đến PGS TSKH

Nguyễn Xuân Huy - người đã tận tình hướng dẫn và giúp đỡ tôi trong suốt quá trình học tập, nghiên cứu và hoàn thành luận văn Xin cảm ơn các thầy, cô giáo

trong và ngoài trường đã cung cấp kiến thức và tạo điều kiện thuận lợi cho quátrình học tập và rèn luyện của bản thân tôi

Tôi cũng xin được bày tỏ lòng biết ơn chân thành đến Ban Giám Hiệu, cácthầy giáo, cô giáo Phòng Sau đại học Trường Đại học Công Nghệ Thông Tin &Truyền Thông, Đại học Thái Nguyên, các thầy giáo, cô giáo Viện Công NghệThông Tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam đã giảng dạy và tạomọi điều kiện cho tôi được học tập và làm việc trong môi trường nghiên cứu vàtriển khai khoa học − công nghệ tại Viện để hoàn thành luận văn này

Xin cảm ơn gia đình, bạn bè đã hết lòng giúp đỡ, khích lệ, động viên tôi đểtôi có thể thu được được những kết quả bước đầu của luận văn

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này của tự bản thân tôi tìm hiểu, nghiên cứu.Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ Nếu không đúng, tôixin hoàn toàn chịu trách nhiệm

Học viên

Triệu Thị Thu Hằng

Số hóa bởi Trung tâm Học liệu – ĐHTN

Trang 4

MỤC LỤC

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

CÁC KÍ HIỆU vi

CÁC TOÁN TỬ OVERLOAD TRONG LỚP TẬP MỜ vii

MỞ ĐẦU 1

CHƯƠNG 1 KHÁI NIỆM VỀ TẬP HỢP VÀ TẬP HỢP MỜ 4

1.1 Tập hợp 4

1.1.1 Khái niệm về tập hợp 4

1.1.2 Mô tả tập hợp 4

1.1.3 Trật tự các tập hợp 5

1.2 Các phép toán trên tập hợp 5

1.2.1 Phép hợp 5

1.2.2 Phép giao 6

1.2.3 Phép trừ 6

1.2.4 Biểu đồ Venn 6

1.2.5 Các tính chất của các phép toán tập hợp 7

1.2.6 Biểu diễn tập hợp 8

1.3 Tập mờ 12

1.3.1 Độ thuộc và tập mờ 12

1.3.2 Thể hiện độ thuộc 13

1.3.3 Trật tự trên các tập mờ 14

1.4 Các phép toán trên tập mờ 14

1.4.1 Yêu cầu 14

1.4.2 Các hàm min, max và bù 1 14

1.4.3 Minh họa 15

1.4.4 Phép hợp hai tập mờ 16

1.4.5 Phép giao hai tập mờ 17

1.4.6 Phép bù 17

Trang 5

1.4.7 Ngưỡng và toán tử cắt 19

1.4.8 Các tính chất của các phép toán trên tập mờ 20

CHƯƠNG 2 THIẾT KẾ VÀ CÀI ĐẶT LỚP TẬP MỜ 22

2.1 Thiết kế hướng đối tượng 22

2.2 Thiết kế lớp tập nền UniSet 22

2.2.1 Các trường dữ liệu 22

2.2.2 Các phương thức 22

2.3 Thiết kế lớp tập mờ FSet 27

2.3.1 Đặt vấn đề 27

2.3.2 Các trường dữ liệu 27

2.3.3 Các phương thức 28

2 4 Các thuật toán cơ bản 43

2.4.1 Dạng thức thuật toán 43

2.4.2 Thuật toán hợp hai tập mờ 46

2.4.3 Thuật toán giao hai tập mờ 47

2.4.4 Thuật toán bù một tập mờ 47

2.4.5 Thuật toán Cut một tập mờ 48

2.4.6 Thuật toán CutToSet một tập mờ 49

2.4.7 Các thuật toán so sánh hai tập mờ 50

CHƯƠNG 3 CÁC BÀI TOÁN ỨNG DỤNG 52

3.1 Đặt vấn đề 52

3.2 Trại bò 52

3.2.1 Phát biểu bài toán 52

3.2.2 Thuật toán và tổ chức dữ liệu 53

3.2.3 Chương trình 54

3.2.4 Dữ liệu 54

3.2.5 Kết quả thực hiện 54

3.3 Thực đơn hàng không 54

3.3.1 Phát biểu bài toán 54

Trang 6

3.3.2 Thuật toán 55

3.3.3 Chương trình 56

3.3.4 Dữ liệu 56

3.3.5 Kết quả thực hiện 56

3.4 Xử lý lỗi hệ thống 57

3.4.1 Phát biểu bài toán 57

3.4.2 Thuật toán 57

3.4.3 Chương trình 58

3.4.4 Dữ liệu 58

3.4.5 Kết quả thực hiện 58

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64

TÀI LIỆU THAM KHẢO 66

Trang 7

min(a,b) max(a,b)

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Trang 8

CÁC TOÁN TỬ OVERLOAD TRONG LỚP TẬP MỜ

KÍ HIỆU

S[a]

X < Y X<=Y

Trang 9

MỞ ĐẦU

Lý do chọn đề tài

Như đã biết, trong những suy luận đời thường cũng như các suy luận khoahọc, logic toán học đóng một vai trò quan trọng

Ngày nay, xã hội càng phát triển thì nhu cầu con người ngày càng cao Do

đó, sự tiến bộ của khoa học cũng cao Suy luận logic mệnh đề cổ điển với hai giátrị đúng (1), sai (0) đã không giải quyết được hết các bài toán phức tạp nảy sinhtrong thực tế [1], [3], [5]

Ví dụ

Quần áo như thế nào được gọi là dầy, là mỏng để máy giặt biết được mà

có chế độ tự động giặt và sấy khô cho hợp lý ?

Hai nhân viên tại hai quốc gia có cùng một mức lương, vậy mà nhân viên

ở quốc gia này thì được gọi là lương cao, quốc gia kia thì gọi là lương trung bình,tạm đủ sống Tại sao vậy ?

Làm thế nào để chuẩn bị hợp khẩu vị nhất một bữa ăn trên máy bay vớiyêu cầu đa dạng của hành khách ?

Giải quyết được những câu hỏi nêu trên có thể mang lại lợi ích cho nhiềucông ty, nhiều tổ chức

Những bài toán như vậy xuất hiện ngày một nhiều trong các lĩnh vực điềukhiển tối ưu, nhận dạng hệ thống, quản lý kinh tế và xã hội Đó là những bài

toán ra quyết định với các dữ liệu không đầy đủ, hoặc không được định nghĩa

một cách rõ ràng, tường minh (trong điều kiện thiếu thông tin chẳng hạn)

Một cách tiếp cận mới đã mang lại nhiều kết quả thực tiễn và đang được cácnhà khoa học tiếp tục phát triển đó là cách tiếp cận của lý thuyết tập mờ (Fuzzy settheory), do Lotfi Zadeh trường đại học California, Mỹ đề xuất vào năm 1965 [5]

Công trình này đã khai sinh một ngành khoa học mới là lý thuyết tập mờ và đã nhanh

chóng được các nhà nghiên cứu công nghệ mới chấp nhận ý tưởng Một số kết quảbước đầu và hướng nghiên cứu tiếp theo đã góp phần tạo nên những sản phẩm côngnghiệp đang được tiêu thụ trên thị trường Lý thuyết tập mờ ngày càng

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Trang 10

phong phú và hoàn chỉnh, đã tạo ra một nền móng toán học vững chắc để pháttriển logic mờ (Fuzzy logic) Có thể nói logic mờ là nền tảng để xây dựng các hệ

mờ thực tiễn, ví dụ trong công nghiệp sản xuất xi măng, sản xuất điện năng, các

hệ chuyên gia trong y học giúp chuẩn đoán và điều trị bệnh, các hệ chuyên giatrong xử lý tiếng nói, nhận dạng hình ảnh, [1, 2, 4] Công cụ chủ chốt của logic

mờ là tiền đề hóa và lập luận xấp xỉ với phép suy diễn mờ [1, 2] Nền tảng cơ sởcủa logic mờ là lý thuyết tập mờ

Vậy trong khuôn khổ khóa luận thạc sĩ, học viên chọn đề tài:

Thiết kế và cài đặt lớp tập mờ và ứng dụng trong các hệ thống mờ

Đối tượng và phạm vi nghiên cứu

Luận văn tập trung vào hai nhóm đối tượng sau đây:

- Lý thuyết tập mờ và các phép toán trên tập mờ [2], [5];

- Ứng dụng: cài đặt và thử nghiệm một số bài toán vận dụng tập mờ trong các hệ thống kinh tế và xã hội [1], [3], [4]

Hướng nghiên cứu của đề tài

Nghiên cứu lý thuyết liên quan đến đề tài: Lý thuyết tập mờ, đối sánh tập

mờ với tập rõ kinh điển, các phép toán truyền thống và các phép toán mở rộngtrên tập mờ

Cài đặt thử nghiệm lớp tập mờ như một kiểu dữ liệu với các phép toán trên tập mờ Vận dụng lớp này để giải một số bài toán ứng dụng thực tiễn

Những nội dung nghiên cứu chính

Luận văn tập trung vào các nội dung sau đây:

Về lý thuyết chủ yếu tìm hiểu, tổng hợp các khái niệm cơ sở về lý thuyếttập mờ, đối sánh với lý thuyết tập hợp kinh điển

Về hàm lượng Tin học, luận văn thiết kế và cài đặt hai lớp dữ liệu như haikiểu dữ liệu mới là UniSet và Fset để xử lý các tập nền và tập mờ liên kết với tậpnền đó Học viên cố gắng lựa chọn ký pháp tiện lợi cho việc triển khai các chươngtrình ứng dụng và phát triển thêm một số hàm tiện ích để thu được các kiểu dữ liệu

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Trang 11

linh hoạt hơn và có thể vận dụng để giải các bài toán đa dạng liên quan đến tập mờ.

Phương pháp nghiên cứu:

Trong luận văn học viên dự kiến sử dụng các phương pháp nghiên cứu chínhsau:

-Phương pháp nghiên cứu lý thuyết: Tổng hợp tài liệu, hệ thống các kiến thức, tìm hiểu các khái niệm, thuật toán sử dụng trong đề tài

-Các phương pháp hình thức dùng trong mô tả tập rõ, tập mờ, các phép toán và các tính chất, mô tả các thuật toán

-Các phương pháp và kỹ thuật lập trình hướng đối tượng

-Phương pháp đối sánh

-Phương pháp trao đổi khoa học, lấy ý kiến chuyên gia

-Tổ chức thử nghiệm và xử lí kết quả

Ý nghĩa khoa học và thực tiễn của đề tài

Việc nghiên cứu đề tài có thể đóng góp thêm một vài chức năng thuộcphạm vi lập trình huớng đối tượng, giúp cho người sử dụng có một công cụ xử lýtập mờ một cách hữu hiệu, theo một quan điểm nhất quán

Xây dựng một lược đồ vận dụng tập mờ để giải các ứng dụng thực tiễn trongmột số lĩnh vực kinh tế như chăn nuôi, phát hiện sự cố hệ thống, điều tra sở thích

Số hóa bởi Trung tâm Học liệu – ĐHTN

Trang 12

CHƯƠNG 1: KHÁI NIỆM VỀ TẬP HỢP VÀ TẬP HỢP MỜ

1.1 Tập hợp

1.1.1 Khái niệm về tập hợp

Tập hợp là khái niệm cơ sở của toán học [1, 2, 5] Mô tả một tập hợp T đồng nhất với việc liệt kê các phần tử của tập đó Kí hiệu x ∈ T cho biết x là một phần tử của tập hợp T Thí dụ

T={1,3,5,7}

cho biết tập T gồm bốn số tự nhiên là 1, 3, 5 và 7 Khi đó ta

có 3 ∈ T: 3 là phần tử của tập T

2 ∉ T: 2 không phải là phần tử của tập T

Trong toán học thường sử dụng các tập hợp sau đây:

Tập rỗng, kí hiệu, ∅ là tập không có phần tử nào: #∅ = 0

Tập ABC nói trên có 26 phần tử, #ABC = 26.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Trang 13

Nếu X là một tập và a là một phần tử thì ta kí hiệu X[a] là hàm cho ra giá

trị 1 (true) nếu a ∈ X; ngược lại, hàm cho ra giá trị 0 (false)

Hai tập X và Y được gọi là khác nhau nếu có một phần tử thuộc tập này

mà không thuộc tập kia

X Y ⇔ ∃ e X e Y Tập X được gọi là tập con của tập Y, X Y nếu mọi phần tử của X đều thuộc tập Y.

X Y ⇔ ∀ e X e Y Tập X được gọi là tập con đúng hay tập con thực sự của tập Y, X ⊂ Y nếu

Xkhác Y và mọi phần tử của X đều thuộc tập Y.

X Y X ≠ Y, e X e Y Hai tập X và Y được gọi là bằng nhau nếu tập này là tập con của tập kia và

Trang 14

bù của một tập hợp là phần ngoài của tập hợp nhưng nằm trong tập nền

Trang 15

U là tập các lượng mưa tính theo milimet, bao gồm các mức từ 0 mm (không

mưa) đến 500 mm (lượng mưa tối đa); S là các vùng mưa nhiều (ngập sâu) gồm các mức từ 100 mm đến 200 mm; K là các vùng mưa khá nặng gồm các mức từ 80

Các phép toán và các toán tử trên tập hợp có các tính chất sau đây [2, 5]

Với mọi tập con X, Y, Z của tập nền U ta có:

Tính chất giao hoán

XY=YX

XY=YX Tính chất kết hợp

(X∪ Y)Z =X ∪ (Y∪ Z)

(X∩ Y)Z =X ∩ (Y∩ Z)Nhờ tính chất giao hoán và kết hợp ta có thể vận dụng qui tắc sau khi tính toán các biểu thức tập hợp chỉ chứa các phép hợp hoặc chỉ chứa các phép giao:

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Trang 16

Qui tắc

Trong biểu thức tập hợp chỉ chứa các phép hợp (giao) ta

có thể thực hiện phép toán theo trật tự tùy ý.

Tính chất phân phối

(X∪ Y)Z =(X ∩ Z) ∪ (Y∩Z) (X∩ Y)Z =(X Z) ∩ (Y∪Z) Luật De Morgan

(X ∪ Y)’ = X’ ∩ Y’ (Bù của hợp bằng giao các bù) (X ∩ Y)’ = X’ ∪ Y’ (Bù của giao bằng hợp các bù)

Ngoài ra, trật tự (bao hàm) của các tập hợp thỏa các tính chất sau đây:

Tính chất bắc cầu

X Y và Y Z X Z Tính chất tựa bắc cầu

XY XZ YZ

1.2.6 Biểu diễn tập hợp

Trong tin học, các tập hợp được mô tả như là những tập con của một tập

nền U cho trước Tập nền U trước hết cần được được mô tả tường minh như một

kiểu dữ liệu

Thí dụ, trong ngôn ngữ lập trình Pascal có kiểu dữ liệu set Khai báo

var x: set of char;

cấp phát một biến x thuộc kiểu tập con của tập nền U gồm 256 kí tự của bộ mã

ASCII với mã số từ 0 đến 255

Trong ngôn ngữ lập trình C++ có kiểu enum cho phép khai báo tập hợpbằng phương thức liệt kê các phần tử và có thể chỉ định mã số của các phần tử.Thí dụ,

Khai báo

Trang 17

enum Colors { DARKBLUE = 1, DARKGREEN, DARKTEAL, DARKRED, DARKPINK, DARKYELLOW, GRAY, DARKGRAY, BLUE, GREEN, TEAL, RED, PINK, YELLOW, WHITE };

mô tả tập Colors gồm các màu trên màn hình, trong đó qui ước màu đầu tiên là DARKBLUE mang mã số 1 Như vậy các màu tiếp theo sẽ có mã số lần lượt là

hiển thị

Trang 18

Có hai loại tổ chức dữ liệu dùng cho biểu diễn tập là danh sách tuyến tính

và dãy bit (0/1)

Biểu diễn tập bằng danh sách tuyến tính

Mỗi phần tử của danh sách gồm hai trường data và

ptr data 'a'ptr 1234Trường data chứa giá trị của phần tử trong tập, trường ptr chứa con trỏ đếnphần tử tiếp theo Thí dụ, tập X = {'a', 'b', 'd''} sẽ được biểu diễn như sau:

X → ('a')→('b')→('d')●

Kí hiệu ● cho biết điểm kết thúc danh sách (với con trỏ NULL)

Biểu diễn tập bằng dãy bit

Dạng biểu diễn thứ hai đòi hỏi phải cho trước tập nền Khi đó mỗi tập concủa tập vũ trụ sẽ được biểu diễn bằng dãy bit 0/1

Riêng tập nền được biểu diễn bằng một mảng động name, trong đó phần

tử thứ i chính là tên của phần tử trong tập nền Thí dụ, tập nền U gồm các mặthàng trong một cửa hàng văn phòng phẩm có thể được biểu diễn như sau:

index Name

Khi đó, mỗi lượt khách hàng mua văn phòng phẩm sẽ sinh ra một giao tácdưới dạng một vector bít 0/1, trong đó 1 cho biết khách mua loại hàng tương ứng,

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Trang 19

0 − không mua Thí dụ dưới đây cho biết ba giao tác ứng với ba khách hàng X, Y

và Z,

index Name X Y Z

Ta có

X = {Vở, Tẩy, Cặp}, ứng với biểu diễn 101100

Y = {Vở, Bút, Cặp}, ứng với biểu diễn 110100

Z = {Bút, Tẩy, Cặp, Kẹp giấy}, ứng với biểu diễn 011101

Dạng biểu diễn này cho phép cài đặt các phép toán tập hợp nhanh chóng.Khi cần hiển thị cụ thể chương trình sẽ tham chiếu đến các name của từng phần

trong đó ~ là phép toán lật bit, đổi bít 0 thành 1 và ngược lại

Q3 Cho biết các mặt hàng X và Y cùng không mua?

Giải

V = (X ∪ Y)’ = ~(101100 or 110100) = ~(111100)

= 000011 = {Balo, Kẹp giấy}

Trang 20

1.3 Tập mờ

1.3.1 Độ thuộc và tập mờ

Để phân biệt tập mờ với tập hợp ta tạm qui ước gọi tập hợp kinh điển theo

mô tả trong các mục trên là tập rõ.

Với tập rõ khi viết x T ta biết chính xác x là một phần tử trong tập T Với tập mờ, kí hiệu x T được thay bằng (x: m) T cho biết x là phần tử của tập T với

độ tin cậy là m Tùy theo ngữ nghĩa của từng ứng dụng mà người ta gán cho thuật

ngữ độ tin cậy ý nghĩa nhất định Thuật ngữ thường dùng nhất là độ thuộc.

Giống như tập rõ, khái niệm tập mờ được xây dựng trên tập nền U cho

trước

Thí dụ, tập nền 4 môn học tự nhiên trong trường trung học cơ

sở U = { Toán, Lý, Hóa, Sinh }

Tập nền là tập rõ với ý nghĩa là hoàn toàn được xác định trước

Giả sử một học sinh là em An phát biểu rằng:

• Em rất thích Toán,

• Em thích Lý,

• Em không thích Hóa,

• Em thấy môn Sinh là bình thường

Chúng ta có thể lượng hóa sở thích của em An bằng các giá trị sau đây:

• Rất thích = 100

• Không thích = 0

Thích = 80

Bình thường = 50

Khi đó ta có dãy giá trị thể hiện sở thích của em An đối với các môn học là:

An = {Toán: 100, Lý: 80, Hóa: 0, Sinh: 50}

Nếu hiểu 100, 80, 0, 50 là các độ thuộc thì tập An nói trên được lí giải như

sau:

An là tập các môn học mà An thích, trong đó

• Toán chắc chắn là phần tử của An: Toán ∈ An

Trang 21

• Lý gần như chắc chắn là phần tử trong An: Lý ∈ An với mức độ 80 (%)

• Hóa chắc chắn không phải là phần tử của An: Hóa ∉ An

Sinh: có lẽ là phần tử của An: Sinh ∈ An với mức độ 50 (%)

Ta thấy, nếu dùng các thuật ngữ “chắc chắn”, “có lẽ”, “gần như” thì khó

có thể diễn đạt được mức độ thích hay độ thuộc, do đó người ta cần lượng hóacác thuật ngữ trên

Việc lượng hóa độ thuộc của mỗi phần tử trong tập hợp được thể hiện qua

một hàm, gọi là hàm thuộc, µ gán cho mỗi phần tử trong tập rõ một giá trị trongkhoảng 0 1 cho biết phần tử này thuộc tập hợp đang xét với mức độ bao nhiêu

Như vậy, mỗi tập mờ M là một ánh xạ

µM : U → [0;1]

Với trường hợp của em An, ta có

• An rất thích Toán, µAn(Toán) = 100%

• An thích Lý, µAn(Lý) = 80%

• An không thích Hóa, µAn(Hóa) = 0%

• Với môn Sinh thì An cho rằng bình thường, µAn(Sinh) = 50%

Độ thuộc nói chung được biểu diễn qua một số thực trong khoảng [0;1].Trong luận văn, độ thuộc luôn luôn được thể hiện dưới dạng phần trăm (%) Vớiqui ước này ta có thể biểu diễn tập mờ An như sau:

An = {Toán: 100, Lý: 80, Hóa: 0, Sinh: 50}

Như vậy hàm thành viên µ trong tập An gán cho mỗi phần tử của tập nềnmột giá trị trong khoảng [0;1]

1.3.2 Thể hiện độ thuộc

Ta quy định biểu diễn tập mờ vời hàm thuộc (hoặc hàm thành viên) cho giá trị

trong khoảng 0 đến 100 (%) Theo qui định đó, tùy theo ngữ cảnh, ta có thể chọnmột trong ba cách biểu diễn sau đây:

(1) An = {Toán: 100%, Lý: 80%, Hóa: 0%, Sinh: 50%},

(2) An = {Toán: 100, Lý: 80, Hóa: 0, Sinh: 50},

(3) An = {100, 80, 9, 50}

Trang 22

Luận văn thường sử dụng phương thức thứ hai.

Như vậy, có thể hiểu tập mờ X cho biết độ thuộc, hay độ chắc chắn của các phần tử của tập nền U trong tập mờ X.

Tùy theo các ứng dụng cụ thể ta có thể gán các ngữ nghĩa khác nhau chohàm thành viên µ

Cho trước tập vũ trụ U Ta định nghĩa tập mờ X như một ánh xạ µ X từ tập

vũ trụ vào đoạn đoạn [0;1] Ta hiểu đoạn [0;1] là tập các số thực r: 0.0 ≤ r ≤ 1.0

1.4 Các phép toán trên tập mờ

1.4.1 Yêu cầu

Cần định nghĩa các các phép toán trên tập mờ đáp ứng được chí it hai tiêuchí sau đây:

(T1) Ngữ nghĩa hợp lí để có thể ứng dụng trong thực tiễn

(T2) Bao hàm được các phép toán và nhiều tính chất quan trọng nhất củatập rõ, vì tập rõ là trường hợp riêng của tập mờ khi các hàm thuộc chỉ nhận mộttrong hai giá trị là 0 (0%, không thuộc) hoặc 1 (100%, thuộc)

1.4.2 Các hàm min, max và bù 1

Trước hết ta định nghiã các hàm sau đây với các giá trị thực a, b:

Hàm min

Trang 23

min(a,b) cho giá trị nhỏ nhất trong hai giá trị a và b.

Hàm bù đôi khi được gọi là hàm bù 1 theo nghĩa “bù cho đủ 1”.

Ta xét một số tính chất quan trọng của ba hàm min, max và bù nói trên

Các tính chất của các hàm min, max và bù 1

∀a, b, c ∈ R

TC2 max(a, 0) = a, max(a, 1) = 1

TC3 min(min(a, b), c) = min(a, min(b, c)) = min(min(a, c), b)

TC4 max(max(a, b), c) = max(a, max(b, c)) = max(max(a, c), b)

TC5 1’ = 0, 0’ = 1

Ta cũng mở rộng định nghĩa min, max và bù trên không gian các hàm µ: U

 [0;1] thể hiện độ thuộc như sau:

µZ = min(µXY)⇔ ∀e∈[0;1]:µZ (e)= min(µX (e),µY (e))

µZ = max(µXY)⇔ ∀e∈[0;1]:µZ (e)= max(µX (e),µY (e))

Trang 24

Ý kiến của các chuyên gia được ghi trên phiếu thẩm định dưới dạng điểm

từ 0 đến 100, trong đó mục X có điểm 0 được hiểu là không có lỗi ở nguyên nhân

X, X:100 là chắc chắn có lỗi ở nguyên nhân X

Giả sử ta thu được ba phiếu thẩm định A, B và C như sau:

A = {CPU: 100, ROM: 80, CP: 0, CON: 50}

B = {CPU: 30, ROM: 50, CP: 100, CON: 60}

C = {CPU: 80, ROM: 70, CP: 100, CON: 50}

Trong thí dụ này, điểm của mỗi chuyên gia được hiểu là độ thuộc và ý

kiến của mỗi chuyên gia được xem là một tập mờ trên tập nền Độ thuộc đượcbiểu diễn theo tỉ lệ phần trăm (%)

U = {CPU, ROM, CP, CON}

A ∪ B = {CPU: 100, ROM: 80, CP: 100, CON: 60}

Kết quả này có ý nghĩa sau đây: Nếu tôn trọng cả hai ý kiến của hai

chuyên gia A và B thì ta phải kiểm tra các nguyên nhân theo trình tự sau đây:

1. Kiểm tra CPU

2. Kiểm tra trình điều khiển CP

3. Kiểm tra ROM

Trang 25

4 Kiểm tra bộ tản nhiệt CON

Khi X và Y là hai tập rõ ta có µX (e) = µ Y (e) = 0|1 (nhận một trong 2 trị 0

hoặc 1) do đó max(µX (e), µ Y (e)) = 1 khi và chỉ khi µ X (e) = 1 hoặc µ Y (e) = 1 Điều kiện này lại tương đương với điều kiện e ∈ X hoặc e ∈ Y.

X ∪ Y = {e | e ∈ U, µX (e) = 1 hoặc µ Y (e) = 1} = {e | e ∈ X hoặc e ∈ Y}

Vậy, hợp của hai tập rõ là trường hợp riêng của hợp của hai tập mờ

A ∩ B = {CPU: 30, ROM: 50, CP: 0, CON: 50}

Kết quả này có ý nghĩa sau đây: Chắc chắn nhất là hai chuyên gia A và Bđều thống nhất ý kiến chung về hai nguyên nhân ROM và CON rủi ro ở mức độtrung bình

Khi X và Y là hai tập rõ ta có µ X (e) = µ Y (e) = 0|1 (nhận một trong 2 trị 0

hoặc 1) do đó min(µX (e), µ Y (e)) = 1 khi và chỉ khi µ X (e) = 1 và µ Y (e) = 1 Điều kiện này lại tương đương với điều kiện e ∈ X và e ∈ Y.

X∪ Y = {e | e U, µX (e) = 1 và µY (e) = 1} = {e | e X và e Y}

Vậy, giao của hai tập rõ là trường hợp riêng của giao của hai tập mờ

1.4.6 Phép bù

Cho tập nền U và tập mờ trên U

Trang 26

A’ = {CPU: 0, ROM: 20, CP: 100, CON: 50}

Tập mờ A’ cho ta biết quan điểm của chuyên gia A về mức độ an toàn của các nguyên nhân, cụ thể là:

CPU: chắc chắn không an toàn

ROM: độ an toàn hơi thấp (dưới ngưỡng 50%)

CP: hoàn toàn an toàn

CON: có thể không an toàn

Tóm lại, phép bù của tập X mang ngữ nghĩa đối lập với ngữ nghĩa của X Khi X là tập rõ ta có ∀e ∈ U: µ X (e) = 0|1 do đó 1 − µ X (e) = 1|0 Khi đó

X’ = {e | e U , µX (e) = 0} = {e | e ∉ U}

Vậy phần bù của tập rõ là trường hợp riêng của phần bù của tập mờ Trong lí thuyết tập mờ còn một số đề xuất về cách chọn các hàm min, max

và phép bù cho các phép trên các tập mờ

Trang 27

B và C sẽ được chỉnh lại theo ngưỡng n như sau:

A1 = Cut(A, µA > 60, µA , 0) = {CPU: 100, ROM: 80, CP: 0, CON: 0}B1 = Cut(B, µB > 60, µB , 0) = {CPU: 0, ROM: 0, CP: 100, CON: 0}C1 = Cut(C, µC > 60, µC , 0) = {CPU: 80, ROM: 70, CP: 100, CON: 0}

Trang 28

Xác định các thành phần cần kiểm định nếu cả ba chuyên gia đều thống nhất nguyên nhân sinh lỗi với ngưỡng n ≥ 30%?

Ta có

Ý kiến của ba chuyên gia

A = {CPU: 100, ROM: 80, CP: 0, CON: 50}

B = {CPU: 30, ROM: 50, CP: 100, CON: 60}

C = {CPU: 80, ROM: 70, CP: 100, CON: 50}

Sau khi lọc với ngưỡng n > 30 (%)

A2 = CutToSet(A, µA > 30) = {CPU, ROM, CON}

B2 = CutToSet(B, µB > 30) = {CPU, ROM, CP , CON}

C2 = CutToSet(C, µC m > 30) = {CPU, ROM, CP, CON}

ABC2 = A2 ∩ B2 ∩ C2 = {CPU, ROM, CON}

Như vậy, các thành phần cần kiểm định là CPU, ROM và CON

1.4.8 Các tính chất của các phép toán trên tập mờ

Với các hàm min, max và bù đã cho, các phép toán và các toán tử trên tập

mờ có các tính chất tương tự như trong tập (rõ) kinh điển, cụ thể là [2, 5]

Với mọi tập mờ X, Y, X trên tập nền U ta có các tính chất sau đây:

Tính chất giao hoán

XY=YX

XY=YX Tính chất kết hợp

(X∪ Y)Z =X ∪ (Y∪ Z)

(X∩ Y)Z =X ∩ (Y∩ Z)Nhờ tính chất giao hoán và kết hợp ta có thể vận dụng qui tắc sau khi tính toán các biểu thức tập hợp chỉ chứa các phép hợp hoặc chỉ chứa các phép giao:

Qui tắc

Trong biểu thức tập hợp chỉ chứa các phép hợp (giao) ta

có thể thực hiện phép toán theo trật tự tùy ý.

Trang 29

Tính chất phân phối

(X∪ Y)Z =(X ∩ Z) ∪ (Y∩Z) (X∩ Y)Z =(X Z) ∩ (Y∪Z) Luật De Morgan

(X ∪ Y)’ = X’ ∩ Y’ (Bù của hợp bằng giao các bù) (X ∩ Y)’ = X’ ∪ Y’ (Bù của giao bằng hợp các bù)

Ngoài ra, trật tự (bao hàm) của các tập mờ thỏa các tính chất sau đây:

Tính chất bắc cầu

X Y và Y Z X Z Tính chất tựa bắc cầu

XY XZ YZ

Trang 30

CHƯƠNG 2: THIẾT KẾ VÀ CÀI ĐẶT LỚP TẬP MỜ

2.1 Thiết kế hướng đối tượng

Theo tiếp cận hướng đối tượng ta có thể thiết kế và cài đặt một kiểu dữliệu mới Luận văn sẽ tập trung thiết kế hai kiểu dữ liệu phục vụ cho các chươngtrình xử lý các tập mờ là

• Kiểu UniSet dùng để quản lí các tập nền

Trường Size ghi nhận kích thước (số phần tử hoặc lực lượng) của tập nền.

Trường Name lưu trữ các tên của các phần tử trong tập nền

Trang 31

Hủy tử (destructor)

Cú pháp

~UniSet();

Ngữ nghĩa

Xóa và thu hồi vùng nhớ đã cấp phát cho tập nền

Cấp phát vùng chứa tên phần tử của tập nền

Giải phóng vùng nhớ chứa size phần tử cho tập nền

Xuất lực lượng của tập nền

Trang 32

SetNames cho phép nạp m tên của m phần tử cho tập nền.

C++ có chức năng cài đặt một hàm với danh sách tham biến động theo

nghĩa số lượng tham biến có thể tùy đặt tại mỗi lần gọi hàm

Thí dụ,

MonHoc.SetNames(4, "Toan","Ly", "Hoa", "Sinh");

Nạp 4 tên, lần lượt là "Toan","Ly", "Hoa", "Sinh" cho tập nền MonHoc;

Xuất tên phần tử của tập nền

Hiển thị / hoặc ghi tập nền ra file

< là phương thức bạn, tức là phương thức ngoại vi, được gá vào lớpUniSet

Trang 33

Thí dụ

Chương trình DemoUniset.cpp thực hiện các thao tác sau đây:

1. Khai báo tập nền u với 3 phần tử

2. Hiển thị lực lượng của u

3. Đặt lại lực lượng (kích thước) của u là 5

4. Hiển thị lại lực lượng của u

5. Nạp lần lượt 5 phần tử “ca”, “cua”, “tom”, “bo”, “da dieu” vào u

6. Hiển thị tập nền u

7. Mở file “Tapnen.dem” rồi ghi tập nền u vào file

Như vậy, ta thu được tập nền u = {“ca”, “cua”, “tom”, “bo”, “da dieu”}

/*************************************************** DemoUniset.cpp

cout << "\n I Size of u: " << u.GetSize();

/ Nap lan luot 5 phan tu cho tap

Trang 34

u.SetName(5,"da dieu");

// Hien thi tap nen

cout << "\n Tap nen: " << u;

ofstream f("TapNen.dem"); // Mo file

Trang 35

Nội dung file “Tapnen.dem”

Khai báo

template <UniSet & U>

Cho biết lớp tập mờ FSet được tham chiếu trên lớp tập nền UniSet U Trước khi khởi tạo tập mờ cần khởi tạo tập nền vì mọi tập mờ trên tâọ nền

U đều được tham chiếu đến tập nền U duy nhất

2.3.2 Các trường dữ liệu

Lớp tập mờ FSet có một trường dữliệu duy nhất:

int * Val; // membership value

Trường Val chứa độ thuộc của các phần tử trong tập mờ Val nhận giá trịnguyên trong khoảng 0 (%) đến 100 (%) Giả sử x là tập mờ trên tập nền U, khi

đó x[e] sẽ là độ thuộc của các phần tử e∈ U trong x x[e] = 0 cho biết e khôngthuộc tập mờ x, ngược lại, x[e] = 100 cho biết e chắc chắn là phần tử của tập mờ

x, ngoài ra x[e] có thể nhận một trong các giá trị trong khoảng 0 100

Một tập mờ được xem là rõ khi và chỉ khi mọi phần tử của nó chỉ nhận

đúng một trong hai giá trị 0 hoặc 100.

Trang 36

inline void Copy(const FSet<U> & y); inline

void operator =(const FSet<U> & f);

Ngữ nghĩa

Copy nội dung của tập mờ y sang tập mờ chủ thể Sau khi copy, Hai tập

mờ, y và chủ thể có cùng nội dung nhưng được đặt trong hai vùng nhớ khác nhau

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Trang 37

và được coi là độc lập theo nghĩa mọi sự thay đổi của tập này không ảnh hưởngđến tập khác và ngược lại.

Xuất nội dung của tập mờ

Cho ra kích thước của tập mờ, chính là số phần tử của tập nền

Hiển thị danh sách tên các phần tử của tập mờ

Trang 38

Truy cập phần tử của tập mờ

Cú pháp

int & operator[](int id);

Ngữ nghĩa

Toán tử x[i] truy cập phần tử thứ i trong tập mờ x

Gán độ thuộc 0 cho toàn tập mờ

Cú pháp

void Reset();

Ngữ nghĩa

Gán độ thuộc 0 cho mọi phần tử của tập mờ

Gán độ thuộc 0 cho một phần tử của tập mờ

Cú pháp

bool Reset(int id);

Ngữ nghĩa

Gán độ thuộc 0 cho phần tử thứ id của tập mờ

Nếu id nằm ngoài giới hạn, id < 1 hoặc id > Size, thì phép gán không được thực hiện và hàm cho ra giá trị false; ngược lại, hàm cho ra giá trị true

Gán độ thuộc 100 cho toàn tập mờ

Cú pháp

void Set();

Ngữ nghĩa

Gán độ thuộc 100 cho mọi phần tử của tập mờ

Gán độ thuộc 100 cho một phần tử của tập mờ

Cú pháp

bool Set(int id);

Ngữ nghĩa

Gán độ thuộc 100 cho phần tử thứ id của tập mờ

Nếu id nằm ngoài giới hạn, id < 1 hoặc id > Size, thì phép gán không đượcthực hiện và hàm cho ra giá trị false; ngược lại, hàm cho ra giá trị true

Trang 39

Nạp trị

Cú pháp

a) bool Set(int id, int m);

b) inline bool Ins(int id, int m);

c) Gán độ thuộc m cho phần tử thứ id của tập mờ x Nếu id nằm ngoài giới hạn, id < 1 hoặc id > Size thì hệ thống báo lỗi và dừng chương trình

Các hàm a, b và c là tương đương về giá trị

d) Gán lần lượt n độ thuộc cho n phần tử của tập mờ chủ thể bắt đầu từphần tử thứ 1 đến phần tử thứ n Hàm Inss là hàm với danh sách tham biến động, tức là có số lượng tham trị tùy đặt vào thời điểm gọi hàm Thí dụ,

Trang 40

Các toán tử cắt theo ngưỡng

Z = X.CutToSet(int t);

sẽ cho ta tập rõ z = {µZ (e) = (µ X (e) < t) ? 0 : 100 | e ∈ U }

StrongCutToFSet

Ngày đăng: 08/06/2021, 13:00

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w