Thiết Kế và Cài Đặt Lớp Tập Mờ và Ứng Dụng trong các Hệ Thống Mờ - Luận văn Thạc Sĩ

Tài liệu nghiên cứ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ổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ
83
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

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

MỞ ĐẦU

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

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

1.2. Mô tả tập hợp

1.3. Trật tự các tập hợp

1.4. Các phép toán trên tập hợp

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

1.6. Biểu diễn tập hợp

1.7. Độ thuộc và tập mờ

1.8. Thể hiện độ thuộc

2. 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

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

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

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

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

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

2.3.2. Các phương thức

2.4. Các thuật toán cơ bản

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

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

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

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

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

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

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

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

3.1. Phát biểu bài toán

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

3.3. Chương trình

3.4. Kết quả thực hiện

3.5. Thực đơn hàng không

3.5.1. Phát biểu bài toán

3.6. Chương trình

3.7. Kết quả thực hiện

3.8. Xử lý lỗi hệ thống

3.8.1. Phát biểu bài toán

3.9. Chương trình

3.10. Kết quả thực hiện

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

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Lớp Tập Mờ và Hệ Thống Mờ Khái Niệm Cơ Bản

Logic mờ, với nền tảng là lý thuyết tập mờ, đã mở ra một hướng tiếp cận mới trong việc xử lý thông tin không chắc chắn và không rõ ràng. Thay vì chỉ chấp nhận hai giá trị đúng/sai như logic cổ điển, lớp tập mờ cho phép các phần tử thuộc về một tập hợp với một mức độ nhất định, được biểu diễn bằng hàm thuộc. Hệ thống mờ sử dụng các luật mờ để mô phỏng quá trình suy luận của con người, từ đó đưa ra các quyết định hoặc điều khiển hệ thống một cách linh hoạt hơn. Mờ hóagiải mờ là hai quá trình quan trọng trong thiết kế hệ thống mờ: mờ hóa chuyển đổi các giá trị đầu vào thành tập mờ, trong khi giải mờ chuyển đổi kết quả suy luận mờ thành giá trị đầu ra rõ ràng. Sự ra đời của lớp tập mờhệ thống mờ đã mở ra nhiều ứng dụng trong các lĩnh vực khác nhau, từ điều khiển công nghiệp đến trí tuệ nhân tạo. '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'. Việc hiểu rõ khái niệm tập mờ, hàm thuộc, và các phép toán trên tập mờ là nền tảng để xây dựng và ứng dụng hệ thống mờ hiệu quả.

1.1. So Sánh Tập Mờ và Tập Hợp Rõ Ưu và Nhược Điểm

Tập hợp rõ chỉ định rõ ràng liệu một phần tử có thuộc về tập hợp hay không. Tập mờ, ngược lại, cho phép mức độ thuộc khác nhau, mô tả sự mơ hồ và không chắc chắn tốt hơn. Ưu điểm của tập mờ là khả năng xử lý thông tin không chính xác và mô phỏng suy luận của con người. Tuy nhiên, thiết kế tập mờ đòi hỏi định nghĩa hàm thuộc phù hợp, điều này có thể phức tạp trong một số trường hợp. Một điểm khác biệt quan trọng là trong 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.

1.2. Các Loại Hàm Thuộc Thường Dùng trong Lớp Tập Mờ

Các loại hàm thuộc phổ biến bao gồm hàm tam giác, hàm hình thang, hàm Gaussian và hàm chuông. Mỗi loại hàm có đặc điểm riêng và phù hợp với các tình huống khác nhau. Ví dụ, hàm tam giác đơn giản và dễ tính toán, trong khi hàm Gaussian mịn hơn và phù hợp với các dữ liệu có phân phối chuẩn. Lựa chọn hàm thuộc phù hợp là yếu tố quan trọng trong việc thiết kế hệ thống mờ hiệu quả. 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.

II. Cách Thiết Kế Lớp Tập Mờ Hiệu Quả Hướng Dẫn Chi Tiết

Thiết kế lớp tập mờ hiệu quả đòi hỏi sự cân nhắc kỹ lưỡng về cấu trúc dữ liệu và các phương thức. Cấu trúc dữ liệu nên bao gồm thông tin về tập nền, hàm thuộc, và các tham số liên quan. Các phương thức cần cung cấp khả năng thực hiện các phép toán trên tập mờ, như hợp, giao, bù, và các toán tử cắt. Ngoài ra, cần có các phương thức để mờ hóagiải mờ dữ liệu. Việc sử dụng thiết kế hướng đối tượng giúp tăng tính tái sử dụng và dễ bảo trì của lớp tập mờ. 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.

2.1. Xây Dựng Cấu Trúc Dữ Liệu cho Lớp Tập Mờ

Cấu trúc dữ liệu của lớp tập mờ cần chứa thông tin về tập nền (universe of discourse) và hàm thuộc. Tập nền có thể được biểu diễn bằng một mảng hoặc danh sách các phần tử. Hàm thuộc có thể được biểu diễn bằng một mảng các giá trị, mỗi giá trị tương ứng với mức độ thuộc của một phần tử trong tập nền. 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 xử lý các tập mờ là Kiểu UniSet dùng để quản lí các tập nền và FSet dùng để quản lí các tập mờ

2.2. Các Phương Thức Cần Thiết trong Lớp Tập Mờ

Các phương thức cần thiết trong lớp tập mờ bao gồm các phương thức để tạo, sao chép, xóa, và truy cập các phần tử của tập mờ. Ngoài ra, cần có các phương thức để thực hiện các phép toán trên tập mờ, như hợp, giao, bù, và các toán tử cắt. Cần có các phương thức để mờ hóagiải mờ dữ liệu. Tạo tử 1 Cú pháp FSet<U> x; sẽ Khai báo tập mờ x trên tập nền U.

III. Ứng Dụng Hệ Thống Mờ Giải Quyết Bài Toán Thực Tế

Ứng dụng hệ thống mờ rất đa dạng, từ điều khiển công nghiệp đến trí tuệ nhân tạo. Ví dụ, hệ thống mờ có thể được sử dụng để điều khiển nhiệt độ trong lò nung, điều khiển tốc độ của xe tự lái, hoặc chẩn đoán bệnh dựa trên các triệu chứng. Các bài toán ứng dụng thường đòi hỏi sự kết hợp giữa lớp tập mờ, luật mờ, và các kỹ thuật tối ưu hóa hệ thống mờ. 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.

3.1. Điều Khiển Mờ Ứng Dụng Trong Công Nghiệp và Tự Động Hóa

Điều khiển mờ là một trong những ứng dụng thành công nhất của hệ thống mờ. Hệ thống điều khiển mờ sử dụng các luật mờ để điều khiển các thiết bị và quy trình công nghiệp một cách linh hoạt và hiệu quả. Ví dụ, hệ thống điều khiển mờ có thể được sử dụng để điều khiển nhiệt độ, áp suất, lưu lượng, và các thông số khác trong các nhà máy sản xuất. Điều khiển tối ưu, nhận dạng hệ thống, quản lý kinh tế và xã hội.

3.2. Nhận Dạng Mẫu Sử Dụng Lớp Tập Mờ để Phân Loại Dữ Liệu

Lớp tập mờ có thể được sử dụng để xây dựng các hệ thống nhận dạng mẫu có khả năng xử lý dữ liệu không chắc chắn và nhiễu. Ví dụ, hệ thống nhận dạng mẫu dựa trên lớp tập mờ có thể được sử dụng để nhận dạng khuôn mặt, chữ viết tay, hoặc các loại đối tượng khác. Các chuyên gia trong xử lý tiếng nói, nhận dạng hình ảnh.

IV. Tối Ưu Hóa Hệ Thống Mờ Nâng Cao Độ Chính Xác và Tin Cậy

Tối ưu hóa hệ thống mờ là quá trình điều chỉnh các tham số của lớp tập mờluật mờ để đạt được hiệu suất tốt nhất. Các kỹ thuật tối ưu hóa phổ biến bao gồm giải thuật di truyền, mạng nơ-ron mờ, và các phương pháp dựa trên gradient. Tối ưu hóa hệ thống mờ giúp nâng cao độ chính xác, độ tin cậy, và khả năng thích ứng của hệ thống. 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ờ.

4.1. Giải Thuật Di Truyền Áp Dụng để Tối Ưu Hóa Hàm Thuộc

Giải thuật di truyền là một phương pháp tối ưu hóa dựa trên quá trình tiến hóa tự nhiên. Giải thuật di truyền có thể được sử dụng để tìm kiếm các tham số tối ưu cho hàm thuộcluật mờ, từ đó nâng cao hiệu suất của hệ thống 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.

4.2. Mạng Nơ ron Mờ ANFIS Kết Hợp Ưu Điểm của Hai Phương Pháp

Mạng nơ-ron mờ (ANFIS) kết hợp ưu điểm của mạng nơ-ronhệ thống mờ. ANFIS có khả năng học hỏi từ dữ liệu và điều chỉnh các tham số của hàm thuộcluật mờ một cách tự động. ANFIS thường được sử dụng trong các ứng dụng phức tạp, nơi dữ liệu có nhiều nhiễu và không chắc chắ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.

V. Đánh Giá Độ Chính Xác và Độ Tin Cậy của Hệ Thống Mờ

Đánh giá hệ thống mờ là bước quan trọng để đảm bảo hệ thống hoạt động đúng và đáp ứng yêu cầu. Các chỉ số đánh giá phổ biến bao gồm độ chính xác, độ tin cậy, độ nhạy, và độ đặc hiệu. Việc sử dụng các bộ dữ liệu kiểm tra và các phương pháp thống kê giúp đánh giá một cách khách quan hiệu suất của hệ thống mờ. 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.

5.1. Các Chỉ Số Đánh Giá Hệ Thống Mờ Phổ Biến Cách Tính Toán

Các chỉ số đánh giá hệ thống mờ phổ biến bao gồm độ chính xác, độ tin cậy, độ nhạy, và độ đặc hiệu. Độ chính xác đo lường tỷ lệ dự đoán đúng. Độ tin cậy đo lường tỷ lệ kết quả dự đoán dương tính là đúng. Độ nhạy đo lường khả năng phát hiện các trường hợp dương tính. Độ đặc hiệu đo lường khả năng phát hiện các trường hợp âm tính. 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 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ờ.

5.2. Sử Dụng Bộ Dữ Liệu Kiểm Tra để Đánh Giá Độ Tin Cậy

Bộ dữ liệu kiểm tra là một tập hợp các dữ liệu đã được gán nhãn, được sử dụng để đánh giá hiệu suất của hệ thống mờ. Bằng cách so sánh kết quả dự đoán của hệ thống mờ với nhãn của dữ liệu kiểm tra, có thể đánh giá độ chính xácđộ tin cậy của hệ thống. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 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}.

VI. Tiềm Năng và Hướng Phát Triển Lớp Tập Mờ trong Tương Lai

Tiềm năng phát triển của lớp tập mờhệ thống mờ là rất lớn. Các hướng phát triển tiềm năng bao gồm việc kết hợp lớp tập mờ với các kỹ thuật học máy khác, phát triển các thuật toán tối ưu hóa hiệu quả hơn, và ứng dụng lớp tập mờ trong các lĩnh vực mới. Với sự phát triển của trí tuệ nhân tạo và Internet of Things, lớp tập mờ sẽ đóng vai trò quan trọng trong việc xử lý thông tin không chắc chắn và đưa ra các quyết định thông minh. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn VIII CÁC TOÁN TỬ OVERLOAD TRONG LỚP TẬP MỜ.

6.1. Kết Hợp Lớp Tập Mờ với Học Sâu Deep Learning

Kết hợp lớp tập mờ với học sâu có thể tạo ra các hệ thống thông minh có khả năng xử lý thông tin phức tạp và không chắc chắn. Ví dụ, mạng nơ-ron sâu có thể được sử dụng để trích xuất các đặc trưng từ dữ liệu, sau đó lớp tập mờ có thể được sử dụng để phân loại và đưa ra quyết định dựa trên các đặc trưng này. Kết hợp này hứa hẹn sẽ mở ra nhiều ứng dụng mới trong các lĩnh vực như thị giác máy tính, xử lý ngôn ngữ tự nhiên, và robot học.

6.2. Ứng Dụng Lớp Tập Mờ trong Internet of Things IoT

Internet of Things (IoT) tạo ra một lượng lớn dữ liệu từ các thiết bị kết nối. Lớp tập mờ có thể được sử dụng để xử lý dữ liệu này một cách hiệu quả và đưa ra các quyết định thông minh. Ví dụ, hệ thống mờ có thể được sử dụng để điều khiển các thiết bị thông minh trong nhà, quản lý năng lượng trong các tòa nhà, hoặc giám sát sức khỏe của bệnh nhân từ xa. Các phương pháp và kỹ thuật lập trình hướng đối tượng.

22/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: KHÁI NIỆM VỀ TẬP HỢP VÀ TẬP HỢP MỜ 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 các số tự nhiên, ℕ = {0, 1, …, }. Tập các số tự nhiên dương, ℕ+ = {1, …, }. Tập các số nguyên, ℤ = {…, 2, 1, 0, 1, 2, …, }.

Tập các số nguyên dương, ℤ+ = ℕ+ = {1, 2, …, }. Tập các số hữu tỷ ℚ. Tập các số thực ℝ.2 Mô tả tập hợp Thông thường, để mô tả tập hợp người ta phát biểu các tính chất của các phần tử của tập đó. Thí dụ, ABC = {‘A’, … ,’Z’} là tập các chữ cái IN HOA trong bảng chữ cái tiếng Latin.

L = {2k+1 | k  ℕ} tập các số tự nhiên lẻ, L = {1, 3, …} Các đặc trưng của tập hợp Số phần tử trong tập T được gọi là lực lượng của tập T và thường được kí hiệu là |T|, ||T||, hoặc #T. Trong tài liệu này sử dụng kí hiêu #T. 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.vn 5 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). Thí dụ ABC[‘Y’] = 1; ABC[‘?’] = 0; ABC[‘y’] = 0; Các tập có vô hạn phần tử được gọi là tập vô hạn. Các tập hợp số trong toán học, ℕ, ℤ, ℚ, ℝ là những tập vô hạn.3 Trật tự các tập hợp 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 X khá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à ngược lại.2 Các phép toán trên tập hợp Cho tập U gọi là tập vũ trụ hoặc tập nền. Ta xét các tập con của U. Trên các tập con X, Y, Z, … của U ta định nghĩa các phép toán sau đây [2, 4, 5].1 Phép hợp Hợp của hai tập X và Y cho ta tập chứa đồng thời các phần tử của X và của Y, X  Y = { e | e  X và e  Y } Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.2 Phép giao Giao của hai tập X và Y cho ta tập chứa các phần tử thuộc đồng thời X và Y, XY={e|eX eY} 1.3 Phép trừ Hiệu của hai tập X và Y cho ta tập chứa các phần tử của X và không thuộc Y, X  Y = { e | e  X và e  Y } Tập X’ = U  X được gọi là phần bù của tập X (đối với tập nền U).4 Biểu đồ Venn Biểu đồ Venn là một trong những công cụ trực quan biểu diễn các phép toán tập hợp.

Mỗi tập hợp được biểu diễn dưới dạng một hình tròn. Riêng tập nền được biểu diễn mhư một hình chữ nhật. Các phần tử thuộc tập hợp nào thì nằm trọn trong hình tròn tương ứng. Giao của hai tập hợp được biểu diễn như phần chung của hai hình tròn.

Hợp của hai tập hợp là toàn bộ phàn chung và phần riêng của chúng. Phần 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. LX R Y Z X X Y Z = X  Y, L = X  Y, R = Y  X XY UX X X Y XY X’ Các phép toán tập hợp Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 7 Thí dụ Xét các tập sau đây U = {x  ℕ | x ≤ 500}, S = {x  U | 100 ≤ x ≤ 200}, K = {x  U | 80 ≤ x ≤ 120}. Ngữ nghĩa 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 mm đến 120 mm.5 Các tính chất của các phép toán tập hợp 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 XY=YX XY=YX 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.vn 8 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 XY  XZ YZ 1.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ợ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 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 9 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, 3, … Khai báo trên thiết lập một kiểu dữ liệu tên là Colors như là một đoạn của kiểu nguyên, trong trường hợp này, Colors chứa các trị nguyên từ 1 đến 15.

Sau, đó ta có thể khai báo một biến thuộc kiểu Colors, thí dụ, #include <iostream> #include <windows.h> using namespace std; enum Colors { DARKBLUE = 1, DARKGREEN, DARKTEAL, DARKRED, DARKPINK, DARKYELLOW, GRAY, DARKGRAY, BLUE, GREEN, TEAL, RED, PINK, YELLOW, WHITE }; main() { Colors c; c = RED; cout << c; //---------------------------- cout << "\n T H E E N D."; return 0; } enum Colors { DARKBLUE = 1, DARKGREEN, DARKTEAL, DARKRED, DARKPINK, DARKYELLOW, GRAY, DARKGRAY, BLUE, GREEN, TEAL, RED, PINK, YELLOW, WHITE }; hiển thị Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 10 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: index 1 2 3 4 5 6 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, Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 11 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 1 2 3 4 5 6 Name Vở Bút Tẩy Cặp Balo Kẹp giấy X 1 0 1 1 0 0 Y 1 1 0 1 0 0 Z 0 1 1 1 0 1 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 tử trong tập vũ trụ. Cho biết các mặt hàng cả ba người cùng mua? Giải M = X  Y  Z = 101100 and 110100 and 011101 = 000100 = {Cặp} Q2. Cho biết các mặt hàng X không mua? Giải K = X’ = U  X = ~101100 = 010011 = {Bút, Balo, Kẹp giấy} trong đó ~ là phép toán lật bit, đổi bít 0 thành 1 và ngược lại. 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} Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ