Phần 2: Thiết kế Hệ Thống Mờ I. Các yếu tố xây dựng mô hình Logic mờ
IV. Các phương pháp giải mờ
Khâu mờ hóa có thể được áp dụng bằng cách áp ánh xạ mờ hóa như đã trình bày trong phần biến ngôn ngữ. Để có thể giải mờ sau khi áp dụng các luật suy diễn, hệ điều khiển cần áp dụng một trong các phương pháp giải mờ sau:
1. Phương pháp cực đại
Phương pháp này tìm giá trị rõ y’ = y1 hay y’ = y2 thông qua giá trị mờ cực đại H.
Ứng với miền đạt giá trị cực đại H, ta có khoảng . Bất cứ giá trị đều có thể là giá trị rõ cần tìm sau khi giải mờ.
Hình 17 - Phương pháp giải mờ cực đại
Khi có nhiều giá trị rõ đều đạt giá trị cực đại tại H, ta có thể xem xét để lấy y’
theo một trong các nguyên lý phụ sau:
• Nguyên lý trung bình tính y’ theo công thức
Hình 18 - Đồ thị biểu diễn cách áp dụng nguyên lý trung bình
• Nguyên lý cận trái
Hình 19 - Đồ thị biểu diễn cách áp dụng nguyên lý cận trái
• Nguyên lý cận phải
Hình 20 - Đồ thị biểu diễn cách áp dụng nguyên lý cận phải 2. Phương pháp điểm trọng tâm
Công thức để tính được giá trị y’ được cung cấp như sau:
Với S là miền xác định của tập mờ B’
Hình 21 - Phương pháp điểm trọng tâm
Tùy theo nhu cầu mà hệ điều khiển nên áp dụng phương pháp giải mờ thích hợp để tìm được giá trị rõ.
V. Công cụ thực hiện hệ Logic mờ
Việc thiết kế hệ điều khiển mờ có thể thực hiện bằng các phương pháp khác nhau như là thiết kế hệ mềm hoặc thiết kế hệ cứng. Mỗi phương pháp có những ưu nhược điểm riêng, thiết kế hệ cứng cho phép người thiết kế đánh giá được các luật mờ một cách nhanh chóng nhưng việc thiết kế theo cách này thường rất tốn kém. Thiết kế hệ mềm là cách tốt nhất để xây dựng nên một hệ điều khiển mờ, bằng cách sử dụng các phần mềm lập trình có sẵn, và có thể mô phỏng hệ thống.
Thiết kế hệ mềm có thể sử dụng các phần mềm chuyên dụng về xử lý mờ như Matlab, FuzzyTech, Winfact,…Việc làm này cho phép xây dung rất nhanh một hệ mờ, mô phỏng và đành giá được ngay hệ thống. Nhưng trở ngại lớn vẫn là vấn đề kinh tế.
Việc thiết kế hệ mềm vẫn có thể thực hiện được với các ngôn ngữ lập trình thông dụng như C++, Delphi, VB,C# …Việc xử lý mờ sẽ được thực hiện trên máy tính bàng phần mềm tự xây dựng. Sau đó là việc trao đổi dữ liệu với thiết bị chấp hành,và các thiết bị đo sẽ do một modulE khác đảm nhận.Module đó cũng có thể tự xây dựng hoặc cùng các Modul của một hãng khác.
Trước khi quyết định lựa chọn ngôn ngữ lập trình để giải quyết bài toán Logic mờ, chúng ta cần nắm được những nhiệm vụ cần giải quyết:
- Cài đặt Cấu trúc dữ liệu mô tả tập mờ và các phép toán trên tập mờ.
- Cài đặt Cấu trúc dữ liệu mô tả các luật suy diễn và các thao tác xử lý liên quan.
- Cài đặt và vận hành Motor suy diễn mờ.
- Cài đặt các công cụ đồ họa cho phép người sử dụng soạn thảo trực quan các tập mờ, các luật suy diễn.
- Ghép nối máy tính và thiết bị điều khiển.
- Các thao tác thông dụng như lưu trữ công việc, kết xuất dữ liệu,...
Ngôn ngữ được chọn để thực hiện thiết kế hệ thống mờ trong bài tiểu luận này là ngôn ngữ lập trình C#, là một ngôn ngữ cho phép:
- Quản lý tốt mã nguồn.
- Thư viện cài đặt các cấu trúc dữ liệu và giải thuật cơ bản được cung cấp đầy đủ, sử dụng tiện lợi.
Trên thị trường hiện nay có một công cụ phát triển sử dụng ngôn ngữ lập trình C#
rất tốt đó là Microsoft Visual C# trong bộ Visual Studio vì những lý do sau:
- Thư viện lớp của C# Builder rất phong phú và dễ dàng mở rộng, thừa kế. Đây là ưu điểm vượt trội của nó so với các công cụ phát triển khác.
- C# Builder không ép buộc người lập trình phải theo một khung ứng dụng nào. Do vậy, nó rất thích hợp cho người lập trình sáng tạo, có yêu cầu điều chỉnh chi tiết tới mọi thành phần của chương trình.