4.2.1. Giới thiệu
Bộ cụng cụ Logic mờ (Fuzzy Logic Toolbox – FLT) cung cấp cho ngƣời sử dụng một hệ thống thiết kế và phõn tớch dựa trờn logic Mờ. Nú cú đầy đủ cỏc phiờn của quỏ trỡnh suy diễn, bao gồm nhƣ : phỏt triển, nghiờn cứu, thiết kế, mụ phỏng và suy diễn tớnh toỏn. Giao diện đồ hoạ với ngƣời sử dụng (GUI) cung cấp một mụi trƣờng trực quan để hƣớng dẫn ngƣời sử dụng từng bƣớc thiết kế hệ suy diễn Mờ. Nhiều phƣơng phỏp của Logic Mờ cung cấp cho ngƣời dựng thụng qua cỏc hàm nhƣ phƣơng phỏp phõn lớp và luyện mạng nơron.
Trong Matlab FLT cho phộp tạo và hiệu chỉnh cỏc hệ suy diễn Mờ. Ngƣời sử dụng cú thể dễ dàng sử dụng cỏc cụng cụ đồ hoạ hay cỏc hàm trực tiếp từ cửa sổ
động bằng cỏch sử dụng hoặc kỹ thuật phõn cụm hoặc Adaptive - kỹ thuật Mờ nơ ron.
GUI (Graphical User Interfaces) GUIs trong FLT cho phộp ta thiết lập hai kiểu hệ thống mờ :
- Hệ suy diễn Mờ (FIS - Fuzzy Inference System):
Suy diễn Mờ là một phƣơng phỏp thụng dịch giỏ trị của vộc tơ đầu vào, dựa trờn cỏc luật đƣợc định nghĩa để xỏc định giỏ trị của cỏc vộc tơ đầu ra. FLT cung cấp cho ta một tập hợp cỏc trỡnh soạn thảo GUI cho phộp xõy dựng một FIS. Cỏc trỡnh soạn thảo và quan sỏt đƣợc sử dụng để xõy dựng tập luật, xỏc định hàm thuộc và phõn tớch hoạt động của FIS.
Hỡnh 4.1: Cửa sổ soạn thảo phõn lớp Mờ- Neuron thớch nghi
- Hệ suy diễn Mờ - Neuron thớch nghi (Adaptive neuron - Fuzzy Inference System - ANFIS): Đõy là giao diện đồ hoạ tỏch riờng cung cấp chức năng cho việc phõn nhúm Mờ. ANFIS cho phộp ta định dạng hàm thuộc dựa vào việc huấn luyện cỏc dữ liệu đầu vào bằng mỏy tớnh. ANFIS chỉ sử dụng thuật toỏn lan truyền ngƣợc hoặc nú kết hợp cựng với phƣơng phỏp bỡnh phƣơng cực tiểu. Điều này cho phộp hệ Mờ học từ tập dữ liệu mà đó đƣợc thiết kế.
Ngoài ra, ngƣời sử dụng cú thể kiểm tra hệ thống Mờ của mỡnh bằng việc mụ hỡnh hoỏ trong cụng cụ Simulink.
Điều đặc biệt của FLT là cú tớnh Mở, cho phộp dễ dàng hiệu chỉnh cấu trỳc của hệ suy diễn Mờ. Do đú FLT đƣợc thiết kế cho phộp ngƣời sử dụng cú thể tự tạo cỏc hàm phự hợp theo hệ thống của riờng mỡnh dƣới dạng cỏc hàm của Matlab, và
cú thể thay thế cho cỏc hàm đƣợc thiết kế sẵn trong Matlab. Cụ thể nhƣ là FLT cho phộp ngƣời sử dụng hiệu chỉnh cỏc hàm thuộc, cỏc phộp kộo theo, cỏc toỏn tử logic AND hoặc OR, phộp kết nhập và phộp giải Mờ.
Hỡnh 4.2: Hệ thống suy diễn Mờ được thiết kế bằng Simulink
Bộ thƣ viện cụng cụ cũng cho phộp ngƣời sử dụng viết chƣơng trỡnh trực tiếp bằng ngụn ngữ lập trỡnh cấp cao C một cỏch trực tiếp mà khụng cần Simulink (mụ hỡnh hoỏ).
Nhờ tớnh mở của mụi trƣờng làm việc Matlab, cho phộp ngƣời sử dụng cú thể tạo ra cỏc cụng cụ riờng cho FLT hay tớch hợp với cỏc bộ thƣ viện cụng cụ khỏc, vớ dụ nhƣ: Hệ thống điều khiển (Control System),Mạng Nơron (Neuron Network) Bộ cụng cụ tối ƣu hoỏ (Optimization Toolbox)
Khả năng mụ hỡnh hoỏ cỏc quan hệ phức tạp nhƣ là một tập cỏc luật đơn giản làm cho logic Mờ trở thành một phƣơng phỏp để mụ hỡnh hoỏ và điều khiển cỏc hệ thống phức tạp, phi tuyến. Khi việc thể hiện mụ hỡnh toỏn học của một hệ thống là khụng thể đƣợc thỡ FLT cho phộp ngƣời sử dụng sử dụng tập luật để mụ tả cỏc hoạt động của hệ thống. Cỏc luật này đó sử dụng phộp kộo theo trong hệ suy diễn Mờ để tạo ra mụ hỡnh Mờ của hệ thống. Giống nhƣ cỏc thƣ viện khỏc của Matlab, FLT cú thể tuỳ biến. Ngƣời sử dụng cú thể đễ dàng hiệu chỉnh mó nguồn, thuật giải hay thờm vào cỏc hàm thuộc, phộp kộo theo, phộp giải Mờ riờng. Hoặc là ngƣời sử dụng cũng cú thể sử dụng thự viện nhƣ là mụ tơ suy diễn riờng biệt. Mặt khỏc, ta cú thể tạo ra cỏc khối cụng việc bờn trong cụng cụ Simulink, cho phộp ngƣời sử dụng mụ phỏng hệ thống Mờ trong phạm vi mụ hỡnh vật lý toàn diện của hệ thống. Ta cú
cho xPC Target hay dựng cho mục đớch xử lý tốc độ phộp toỏn dấu phảy động. FLT trong Matlab giải quyết đƣợc cỏc vấn đề nhƣ:
- Tạo và soạn thảo cỏc hệ thống suy diễn Mờ bằng cỏc cỏch: + Thụng qua giao diện ngƣời sử dụng đồ hoạ: GUI
+ Dựng cỏc khối dũng lệnh
+ Cho phộp tớch hợp hệ thống Mờ (suy diễn Mờ) với cụng cụ Simulink
+ Xõy dựng suy diễn Mờ bằng cụng cụ C (gọi từ ngụn ngữ lập trỡnh C đến Matlab).
4.2.2. Cỏc tớnh năng cơ bản của FLT
- Hỗ trợ việc tuỳ biến cỏc luật và hàm thuộc để tạo ra hệ suy diễn Mờ.
- Bộ GUIs (giao diện đồ hoạ với ngƣời sử dụng ) riờng để vận dụng cho cỏc hệ thống đồ hoạ, xem và phõn tớch kết quả tƣơng tỏc.
- Xõy dựng hệ suy diễn chuẩn kiểu Mamdani và Sugeno
- Sự quyết định của cỏc hàm thuộc chuẩn thụng qua kỹ thuật luyện mạng neuron thớch nghi và phõn nhúm Mờ.
- Khả năng nhỳng một hệ suy diễn Mờ vào mụ hỡnh Simulink sử dụng khối điều khiển Logic Mờ (Fuzzy Logic Controller).
- Khả năng tạo ra cỏc tệp C một cỏch linh động thụng qua Real-Time Workshop.
- Mụ tơ Logic Mờ sử dụng mó nguồn file C cho phộp ta định dạng suy diễn Mờ một cỏch độc lập hoặc nhỳng vào cỏc trỡnh ngoại trỳ khỏc.
4.2.3. Xõy dựng hệ suy diễn bằng GUI của FLT
Trong FLT, hệ suy diễn Mờ gồm 5 phần: Mờ hoỏ biến vào, ỏp dụng cỏc toỏn tử Mờ cho cỏc giả thiết, ỏp dụng phộp kộo theo cho từng giả thiết đến kết quả, gộp cỏc kết quả bằng bộ luật và giải Mờ.
Trong mụi tƣờng Matlab, một hệ thống suy diễn Mờ hoàn chỉnh cung cấp cho ta 5 phần:
Hỡnh 4.3: Mụ hỡnh cấu trỳc GUI trong Matlab
- Bộ soạn thảo (FIS Editor): hiển thị cỏc thụng tin chung về một hệ suy diền Mờ: bao nhiờu biến vào, bao nhiờu biến ra, tờn cỏc biến. FLT khụng giới hạn số lƣợng biến vào, tuy nhiờn, số lƣợng biến vào phải phụ thuộc vào bộ nhớ cho phộp của mỏy tớnh. Nếu số lƣợng biến vào quỏ lớn hoặc số lƣợng hàm thành viờn quỏ nhiều thỡ cú thể khú phõn tớch khi sử dụng cụng cụ GUI.
- Bộ soạn thảo hàm thuộc (Membership function Editor) đƣợc sử dụng để định nghĩa dạng của cỏc hàm thuộc ứng với từng biến.
- Bộ soạn thảo luật (Rule Editor) dựng để soạn thảo danh sỏch cỏc luật - xỏc định hành trạng của hệ thống.
thị đồ thị suy diễn Mờ trong giai đoạn sau cựng. Nú cú thể chỉ ra hoạt động của cỏc luật, chỉ ra ảnh hƣởng của cỏc hàm thuộc nhƣ thế nào đối với kết quả trả về. Quan sỏt bề mặt cho phộp hiển thị độc lập một biến ra và một hoặc hai biến vào
4.2.4. Cấu trỳc của hệ suy diễn mờ trong Matlab
Cấu trỳc của FIS (Fuzzy Inference System) là một đối tƣợng của Matlab trong đú bao gồm tất cả cỏc thụng tin về hệ suy diễn. Cấu trỳc này đƣợc lƣu trữ bờn trong mỗi cụng cụ GUI. Cỏc hàm truy nhập nhƣ là getfis, setfis sẽ cho ta dễ dàng kiểm tra cấu trỳc này. Ta cũng cú thể lấy cỏc thụng tin của một cấu trỳc Fis bằng cỏch sử dụng cỳ phỏp structure.field.
Mọi thụng tin của một hệ suy diễn đƣa ra đƣợc chứa đựng trong cấu trỳc FIS bao gồm nhƣ tờn biến, hàm thuộc xỏc định… Ta cú thể xem mụ hỡnh của cấu trỳc FIS trong bộ cụng cụ Logic mờ bao gồm cỏc thành phần nhƣ sau:
FIS name type andMethod orMethod defuzzyMethod impMethod aggMethod input output rule Input name range mf Output name range mf Rules antecedent consequent weight connections Input 1 MFs name type params Input 2 MFs name type params Output MFs name type params Hỡnh 4.4: Cấu trỳc FIS
Bờn cạnh cỏch xõy dựng hệ suy diễn mờ dựa vào bộ cụng cụ giao tiếp với ngƣời sử dụng GUI một cỏch thuận tiện thỡ bộ cụng cụ Logic Mờ cũng cung cấp cho ngƣời sử dụng cỏc hàm, lệnh để truy nhập và làm việc trực tiếp từ cửa sổ lệnh của Matlab.