Mụ hỡnh Takagi – Sugeno – Kang (TSK)

Một phần của tài liệu Một số quy trình suy diễn trong hệ mờ (Trang 60)

3.6.1. Mụ hỡnh

Sugeno và cỏc cộng sự [20] đề xuất một kiểu khỏc của mụ hỡnh hệ mờ, gọi là kiểu lập luận TSK (Takagi – Sugeno – Kang). Phƣơng phỏp lập luận TSK đƣợc kết hợp với một luật cú định dạng đặc biệt mà đƣợc mụ tả bởi hàm kiểu dóy thay vỡ một dóy mờ sử dụng trong LM ở phần trờn. Trong kiểu mụ hỡnh này, luật cú dạng:

IF u1 là B11 AND … AND ur là B1r THEN y = b10 +b11u1+ … + b1rur ALSO

… ALSO

IF u1 là Bm1 AND … AND ur là Bmr THEN y = bm0 +b11u1+ … + b1rur

Trong mụ hỡnh này, Bij, j = 1…r, i =1, …, m là cỏc biến ngụn ngữ đƣợc định nghĩa nhƣ là cỏc tập suy diễn mờ thụng quan khụng gian vào X1, X2,…, Xr của một hệ MISO; u1, u2, …, ur là giỏ trị của cỏc biến vào. Mỗi hàm tuyến tớnh trong phần kết luận của luật cú thể đƣợc xem nhƣ một mụ hỡnh tuyến tớnh với tập cỏc đầu vào

u1, u2, …, ur, tập cỏc đầu ra i và cỏc biến bij, j = 1…r, i =1, …, m. Tập đầu ra y dịch bởi mụ hỡnh mờ theo phƣơng phỏp TSK đƣợc định nghĩa bằng trung bỡnh trọng số của tập cỏc đầu ra yi của từng hệ con tuyến tớnh.

0 1 1 ir 1 1 1 1 / ( ... ) / m m m m i i i i i r i i i i i yy   b b u b u                          (3.33)

Trong đú DOF của luật thứ i là:

1( )1 ... ( )1

i B ui B uir

Về mặt hỡnh học, cỏc luật của mụ hỡnh lập luận TSK tƣơng ứng với xấp xỉ ỏnh xạ X1, X2,…, Xr → Y bởi một hàm tuyến tớnh.

Trong một thiết lập tổng quỏt cỏc hàm tuyến tớnh trong một dóy cỏc luật cú thể đƣợc thay thế bởi cỏc hàm phi tuyến. Trong trƣờng hợp đú mụ hỡnh TSK trở thành một tập cỏc luật cú dạng:

IF u1Bi1 AND … AND ur là Bir THEN yi = fi(u1,…,ur) (3.35)

Trong đú đầu ra của cỏc hệ thống con phi tuyến đƣợc kết hợp một cỏch tƣơng tự vào cỏc trƣờng hợp biểu diễn tuyến tớnh (3.33).

- Nếu fi(u1,…,ur) là một đa thức thỡ kết quả suy diễn đƣợc gọi là Mụ hỡnh mờ Sugeno dạng 1

- Nếu fi(u1,…,ur) là một hằng số thỡ nú là mụ hỡnh mờ Sugeno dạng 0 (trƣờng hợp đặc biệt của mụ hỡnh Mamdani)

Từ biểu thức (3.33) cho thấy phƣơng phỏp lập luận đơn giản húa là một trƣờng hợp đặc biệt của TSK trong đú bij = 0 với i = 1,.., m, j = 1,..., r.

Trƣờng hợp 2 luật với mụ hỡnh Sugeno dạng 1 thỡ: + Mỗi luật cú một kịch bản đầu ra

+ Toàn bộ đầu ra cú đƣợc bằng phƣơng phỏp tớch hợp trọng số + Khụng cần phải giải mờ

Một trong những khỏc biệt căn bản giữa mụ hỡnh Mamdani và TSK là phần kết luận của luật, tƣơng ứng là mờ và bộ rừ nột. Do đú, cỏc thủ tục tham gia vào việc tớnh toỏn của cỏc tớn hiệu đầu ra là riờng biệt. Nếu trƣờng hợp kiến trỳc mờ TSK thỡ đầu ra đƣợc tớnh toỏn với một cụng thức đơn giản (trung bỡnh trọng số, trung bỡnh tổng hợp) thỡ kiến trỳc mờ Mamdani đũi hỏi một nỗ lực tớnh toỏn cao hơn vỡ nú cần thiết để tớnh toỏn toàn bộ hàm thuộc mà sau đú phải giải mờ. Đõy chớnh là ƣu điểm để tiếp cận TSK trở nờn cú ớch hơn mặc dự Mamdani cú bản chất trực quan hơn với nghĩa xử lý khụng chắc chắn.

Ƣu điểm lớn của mụ hỡnh TSK nằm trong sức mạnh đại diện của nú, đặc biệt là để mụ tả cỏc quy trỡnh cụng nghệ phức tạp. Nú cho phộp chỳng ta đƣa một hệ thống phức tạp vào hệ thống con đơn giản (ngay cả trong một số trƣờng hợp là hệ thống phụ tuyến tớnh). Đõy khụng phải là khỏi niệm, mà nú đó đƣợc phỏt triển từ

những năm 1970 qua một số kết quả của Rajbman và cỏc cộng sự [18,19]. Cỏc phƣơng phỏp tiếp cận cỏc khỏi niệm đƣợc đề xuất bởi Rajbman là để đƣa cỏc khụng gian tổng thể của hệ thống vào những vựng riờng biệt, và phõn biệt cỏc hệ thống động của những vựng này với cỏc vựng khỏc, thƣờng là cỏc mụ hỡnh phi tuyến (phõn biệt mỗi loại với cấu trỳc và cỏc thụng số của riờng nú). Điều này cho phộp xem cỏc đại diện của cỏc mụ hỡnh tổng thể của một hệ thống phi tuyến nhƣ là một tập hợp cỏc hệ thống con đƣợc kết hợp dựa trờn một hàm lựa chọn (logic boolean). Tuy nhiờn trờn thực tế, sự phõn chia nhƣ thế là khụng thể do việc thiếu biờn tự nhiờn trong hệ thống và cũng bởi vỡ sự đa dạng của tri thức tự nhiờn về hệ thống. Mụ hỡnh TSK cho phộp chỳng ta thay thế phõn hủy rừ nột của một phõn hủy mờ, và để thay thế cỏc chức năng chuyển đổi Boolean bởi cơ chế lý luận TSK. Hơn nữa, cỏc mụ hỡnh TSK cho phộp chỳng ta giới thiệu cỏc kiến thức của chuyờn gia trong cỏc phõn vựng của đầu vào và khụng gian chung cú thể đặc biệt hữu ớch trong trƣờng hợp vựng khỏc liờn kết với điều kiện hoạt động khỏc nhau cú thể đƣợc xỏc định bằng cỏch sử dụng cỏc nhón ngụn ngữ.

3.6.2. Một số vớ dụ mụ hỡnh TSK đơn giản

* Vớ dụ 1: Mụ hỡnh Sugeno 1 đầu vào 1 đầu ra với 3 luật: IF X là nhỏ THEN Y=0.1X + 6.4

I F X là trung bỡnh THEN Y=-0.5X + 4 I F X là lớn THEN Y = X-2

* Vớ dụ 2: Mụ hỡnh Sugeno 2 đầu vào 1 đầu ra với 4 luật: R1: IF X là nhỏ và Y là nhỏ THEN z = - x+y+1 R2: IF X là nhỏ và Y là lớn THEN z = -y + 3 R3: IF X là lớn và Y là nhỏ THEN z = -x + 3 R4: IF X là lớn và Y là lớn THEN z = x + y + 2 R1 → (x ∧ n) & (y ∧ n) → w1 R2 → (x ∧ n) & (y ∧ l) → w2 R3 → (x ∧ l) & (y ∧ n) → w2 R4 → (x ∧ l) & (y ∧ l) → w2

Tớch hợp cỏc luật theo phƣơng phỏp trung bỡnh trọng số: F[(w1,z1);(w2,z2);(w3,z3);(w4,z4)]

Kết quả trờn đồ thị nhƣ hỡnh 3.8:

CHƢƠNG 4 – BỘ CễNG CỤ LOGIC MỜ CỦA MATLAB VÀ CÀI ĐẶT THỬ THUẬT TOÁN

4.1. Giới thiệu chung mụi trƣờng MATLAB

MATLAB (Matrix Laboratory) theo tờn gọi của nú, là một cụng cụ phần mềm của MathWork, ban đầu đƣợc phỏt triển nhằm phục vụ chủ yếu cho việc mụ tả cỏc nghiờn cứu kỹ thuật bằng toỏn học với những phần tử cơ bản là ma trận. Trong cỏc lĩnh vực kỹ thuật chuyờn ngành nhƣ điện và điện tử, vật lý hạt nhõn, điều khiển tự động, robot cụng nghiệp, trong cỏc ngành xử lý toỏn chuyờn dụng nhƣ thống kờ - kế toỏn và ngay cả trong lĩnh vực nghiờn cứu về gen sinh học hay khớ hậu và thời tiết… thƣờng gặp những dữ liệu rời rạc (discret) ta cú thể lƣu trữ dƣới dạng ma trận. Cũn đối với dữ liệu liờn tục (continuous) nhƣ õm thanh hỡnh ảnh, hoặc đơn giản nhƣ cỏc đại lƣợng vật lý tƣơng tự (analog): điện ỏp, dũng điện, tần số, ỏp suất, lƣu lƣợng… phải đƣợc biến đổi thành cỏc tớn hiệu số (digital) rồi mới tập hợp lại trong cỏc file dữ liệu. Quỏ trỡnh đú cú thể đƣợc xử lý bằng cỏc hàm toỏn học của Matlab [17].

Mức phỏt triển của Matlab ngày nay đó chứng tỏ nú là một phần mềm cú giao diện cực mạnh cựng nhiều lợi thế trong kỹ thuật lập trỡnh để giải quyết những vấn đề đa dạng trong nghiờn cứu khoa học kỹ thuật.

Trƣớc hết, cỏc cõu lệnh của Matlab đƣợc viết rất sỏt với mụ tả kỹ thuật khiến cho việc lập trỡnh bằng ngụn ngữ này đƣợc thực hiện nhanh hơn, dễ hơn so với nhiều ngụn ngữ đó trở nờn thụng dụng nhƣ Pascal, Fortran… Những hàm sẵn cú trong Matlab cú cấu trỳc thiết lập gần giống nhƣ ngụn ngữ C, bởi vậy ngƣời dựng khụng mất nhiều thỡ giờ học hỏi khi đó nắm bắt đƣợc những vấn đề cơ bản của một số ngụn ngữ lập trỡnh thụng dụng.

Tiếp theo, Matlab khụng chỉ cho phộp đặt vấn đề tớnh toỏn mà cũn cú thể xử lý dữ liệu, biểu diễn đồ hoạ một cỏch mềm dẻo, đơn giản và chớnh xỏc trong khụng gian 2D cũng nhƣ 3D, kể cả khả năng tạo hoạt cảnh cho những mụ tả sinh động, bởi những cụng cụ nhƣ cỏc thƣ viện chuẩn, cỏc hàm cú sẵn cho cỏc ứng dụng đa dạng, cỏc tệp lệnh ngày càng đƣợc mở rộng bởi 25 thƣ viện trợ giỳp (Toolbox) và bản thõn cỏc hàm ứng dụng đƣợc tạo lập bởi ngƣời sử dụng. Khụng cần kiến thức nhiều về mỏy tớnh cũng nhƣ kỹ thuật lập trỡnh cú tớnh xảo thuật, mà chỉ cần đến những hiểu biết cơ bản về lý thuyết số, toỏn ứng dụng, phƣơng phỏp tớnh và khả

năng lập trỡnh thụng dụng, ngƣời sử dụng đó cú thể dựng Matlab nhƣ một cụng cụ hữu hiệu cho lĩnh vực chuyờn ngành của mỡnh.

Sau hết, việc cài đặt Matlab thật là dễ dàng. Ta chỉ cần chỳ ý đụi chỳt nếu muốn dựng thờm cỏc thƣ viện trợ giỳp nhƣ Simulink, FLT, DSI – Digital Signal

Processing hay muốn tớch hợp phần mềm này với một vài ngụn ngữ quen thuộc của ngƣời sử dụng nhƣ C, C++, Fortran…

Matlab ngày nay đó trở nờn thụng dụng và là một cụng cụ trợ giỳp hữu hiệu cho cỏc nhà chuyờn mụn, những sinh viờn đang theo học trong cỏc trƣờng đại học và trung học chuyờn nghiệp, cỏc kỹ sƣ, cỏc cỏn bộ kỹ thuật… nhằm giải quyết cỏc vấn đề rất đa dạng trong cụng việc thƣờng ngày của họ.

Matlab đƣợc điểu khiển bởi cỏc tập lệnh, tỏc động qua bàn phớm. Nú cũng cho phộp một khả năng lập trỡnh với cỳ phỏp thụng dịch lệnh – cũn gọi là Script file. Cỏc lệnh hay bộ lệnh của Matlab lờn đến hàng trăm và ngày càng đƣợc mở rộng bởi cỏc phần ToolBox (thƣ viện trợ giỳp) hay thụng qua cỏc hàm ứng dụng đƣợc xõy dựng từ ngƣời sử dụng. FLT là một phần mở rộng của Matlab, sử dụng để mụ phỏng cỏc hệ thống Mờ một cỏch nhanh chúng và tiện lợi.

4.2. Bộ cụng cụ Logic Mờ (Fuzzy logic toolbox) 4.2.1. Giới thiệu 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ổ lệnh để tạo xõy dựng hệ suy diễn, hoặc ngƣời sử dụng cũng cú thể tạo chỳng tự

độ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ú thể sử dụng Real-Time Workshop để tạo ra mó nguồn file C, cú thể đƣợc sử dụng

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

Một phần của tài liệu Một số quy trình suy diễn trong hệ mờ (Trang 60)

Tải bản đầy đủ (PDF)

(82 trang)