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 49 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

Tiêu đề Thiết kế và cài đặt lớp tập mờ và ứng dụng trong các hệ thống mờ
Tác giả Triệu Thị Thu Hằng
Người hướng dẫn PGS TSKH Nguyễn Xuân Huy
Trường học Đại học Thái Nguyên
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2025
Thành phố Thái Nguyên
Định dạng
Số trang 83
Dung lượng 0,9 MB

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

Trang 1

i

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

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

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

Lớp: Cao học K13B

Trang 2

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ác thầ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ạo mọ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

iii

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

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ôi xin hoàn toàn chịu trách nhiệm

H ọc viên

Tri ệu Thị Thu Hằng

Trang 4

iv

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

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

v

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

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

vi

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

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 9

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 sinh trong thực tế [1], [3], [5]

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ới yê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ều cô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ều khiể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ác nhà 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 set theory), 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ông nghiệp đang được tiêu thụ trên thị trường Lý thuyết tập mờ ngày càng

Trang 10

2

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

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át triể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 gia trong

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ộng trê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ết tậ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ư hai kiể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ập nề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ương trì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

Trang 11

3

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

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ính sau:

- 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ộc phạ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 trong mộ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

Trang 12

4

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

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

Trang 13

5

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

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)

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

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

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

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:

Trang 16

8

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

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)

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ợp bằ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

9

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

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à 2,

hiển thị

Trang 18

10

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

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 1234 Trường data chứa giá trị của phần tử trong tập, trường ptr chứa con trỏ đến phầ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 con củ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ặt hàng trong một cửa hàng văn phòng phẩm có thể được biểu diễn như sau:

Name Vở Bút Tẩy Cặp Balo Kẹp giấy

Khi đó, mỗi lượt khách hàng mua văn phòng phẩm sẽ sinh ra một giao tác dướ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,

Trang 19

11

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

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

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 tử trong tập vũ trụ

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

12

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

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

13

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

 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óa cá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ị trong khoả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ới qui ướ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ền mộ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ọn mộ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

14

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

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 cho hà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ạ  Xtừ 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

X  Y  X  Y và e  U:  X (e) ≤  Y (e)

Tập mờ X được gọi là tập con của tập mờ Y, X  Y nếu X = Y hoặc X  Y

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êu chí 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ủa tậ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ột trong 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

15

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

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(X, Y )  e  [0;1]:  Z (e)= min( X (e),  Y (e))

Z = max(X, Y )  e  [0;1]:  Z (e)= max( X (e),  Y (e))

Z = ’X  e  [0;1]:  Z (e)= ’ X (e)

Khi độ thuộc đựơc thể hiện theo tỷ lệ phần trăm tức là nhận các giá trị nguyên trong đoạn 0 100 các hàm nói trên được hiểu theo kiến tạo tương ứng

Ta có tập nền U = {CPU, ROM, CP, CON}

Trang 24

16

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

Ý 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 được biể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

17

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

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

trong đó kí pháp (d) ? a : b cho ra giá trị a nếu điều kiện d được thỏa; ngược

lại cho ra giá trị b

Điều kiện d có thể là một biểu thức logic, thí dụ

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

20

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

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:

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

21

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

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

(X  Y)  Z = (X  Z)  (Y  Z) (X  Y)  Z = (X  Z)  (Y  Z)

Trang 30

22

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

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ương trình

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

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ớp UniSet

Trang 33

25

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

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 nen

u.SetName(1,"ca");

u.SetName(2,"cua");

u.SetName(3,"tom");

Trang 34

26

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

u.SetName(4,"bo");

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

// Hien thi tap nen

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

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

Trang 35

27

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

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ông thuộ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

Trang 37

29

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

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

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

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 được thực hiện và hàm cho ra giá trị false; ngược lại, hàm cho ra giá trị true

Trang 39

31

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

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

Trang 40

32

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

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: 12/06/2021, 16:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Bùi Công Cường, Nguyễn Doãn Phước (2001), H ệ m ờ , M ạ ng Neuron và ứ ng d ụ ng, Tuy ể n t ậ p các bài gi ả ng, NXB Khoa h ọ c và K ỹ thu ậ t Sách, tạp chí
Tiêu đề: Hệ mờ, Mạng Neuron và ứng dụng, Tuyển tập các bài giảng
Tác giả: Bùi Công Cường, Nguyễn Doãn Phước
Nhà XB: NXB Khoa học và Kỹ thuật
Năm: 2001
[2] Nguyễn Thiện Luận (2015), Lý thuy ế t m ờ ứ ng d ụ ng trong Tin h ọ c, T ậ p 1: Cơ sở lý thuy ế t m ờ , NXB Thống kê.Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Lý thuyết mờứng dụng trong Tin học, Tập 1: "Cơ sở lý thuyết mờ
Tác giả: Nguyễn Thiện Luận
Nhà XB: NXB Thống kê. Tài liệu tiếng Anh
Năm: 2015
[3] D. Dubois, H. Prade (1980), Fuzzy sets and systems: Theory and applications. Academic press, New York Sách, tạp chí
Tiêu đề: Fuzzy sets and systems: Theory and applications
Tác giả: D. Dubois, H. Prade
Năm: 1980
[4] Othman, S. and Etienne, S. (2010), “ Decision making using fuzzy logic for stock trading” , Institute of Electrical and Electronics Engineers (IEEE), Information Technology (ITSim), International Symposium Publications, Vol (2), pp 880 - 884 Sách, tạp chí
Tiêu đề: Decision making using fuzzy logic for stock trading”", Institute of Electrical and Electronics Engineers (IEEE), Information Technology (ITSim), "International Symposium Publications
Tác giả: Othman, S. and Etienne, S
Năm: 2010
[5] Zadeh, L.A. (1965), “Fuzzy sets”, Information and Control 8: pp 338–353 Sách, tạp chí
Tiêu đề: “"Fuzzy sets"”, Information and Control
Tác giả: Zadeh, L.A
Năm: 1965

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