BAB 5
FUZZY LOGIC TOOLBOX
- Untuk mengetahui toolbox pada fuzzy logic
- Untuk dapat menggunakan toolbox pada fuzzy logic
- Matlab
5.10 Command Lines
Fuzzy Logic Toolbox mengizinkan kita sebagai pengguna untuk merancang dan membangun FIS langsung melalui Command Lines yang disimpan dalam sebuah M-File. Jika kita membuat file baris-baris perintah tersebut, untuk melakukan modifikasi selanjutnya lebih murah.
5.11 Variabel Struktur FIS
Struktur FIS jika dilihat melalui Command Lines dapat diasumsikan sebagai berikut jika FIS sudah disimpan dalam bentuk file fisbonus.fis maka untuk mengambil data tersebut maka kita harus mengetikkan pada MATLAB Prompt sebagai berikut
Gambar 5.13 Plotfis
FIS yang telah kita bangun dengan Command Lines bisa dievaluasi atau dites dengan perintah berikut:
evalfis ([3 8],a)
ans =
17.5616
Dengan argumen [3 8] berarti kita memasukkan pelayanan=3 dan makanan=8 ke dalam FIS a. Keluaran FIS adalah bonus = 17.6516
Fungsi evalfis dapat juga diberi multimasukan. Dengan memberi multimasukan maka kita akan mendapat multikeluaran. cth:
masukan=[ ...
3 8;
2 9;
5 2];
evalfis (masukan,a)
ans =
17.6516
16.0894
10.4128
Artinya, masukan [3 8] menghasilkan keluaran bonus = 17.6516, masukan [2 9] menghasilkan keluaran bonus = 16.0894, masukan [5 2] mennghasilkam keluaran bonus = 10.4128.
5.15 MEMBANGUN FIS TIPE SUGENO
Membangun FIS tipe sugeno dengan GUI langkah-langkahnya sama dengan tipe mamdani. Pastikan memilih menu File → New FIS → Sugeno ketika pertama kali membuka GUI.
Persoalan yang akan dibahas yaitu bagaimana memodelkan hubungan sebuah input dengan sekolah output berdasarkan IF-THEN rules berikut:
1. if input is low then output is line1
2, if input is high then output is line2
Untuk mulai mendesain FIS tipe sugeno dengan command lines, pada MATLAB promp ketikkan:
sgn=newfis('fissgn')
sgn=
name: 'fissgn'
type: 'Mamdani'
andMethod: 'min'
orMethod: 'max'
defuzzMethod: 'centroid'
impMethod: 'min'
aggMethod: 'max'
input: []
output: []
rule: []
Pada fissgn diatas itu default memilih tipe Mamdani, untuk mengubah menjadi tipe Sugeno, ketikkan
sgn.type='sugeno'
Defuzzifikasi dalam FIS tipe sugeno tidak perlu memakai metode 'centroid'. Dalam tipe Sugeno, defuzzifikasi terdapat 2 tipe yaitu wtsum dan wtever
sgn.defuzzMethod='wtever'
sgn.impMethod='prod'
Variabel input didefenisikan dengan rentang [-5 5], mempunyai dua fungsi keanggotaan low dan high, masing-masing bertipe gaussian [4 -5] [4 5]
sgn=addvar(sgn,'input',1,'input',[-5 5]);
sgn=addvar(sgn,'input',1,'low','gaussmf',[4 -5]);
sgn=addvar(sgn,'input',1,'high','gaussmf',[4 5]);
Variabel output didefenisikan dengan rentang [0 1], mempunyai dua fungsi keanggotaan garis line1 dan line2, masing-masing persamaan garis dengan parameter [1 -1] [1 1]
sgn=addvar(sgn,'output',1,'output',[0 1]);
sgn=addvar(sgn,'output',1,'line1','linear',[-1 -1]);
sgn=addvar(sgn,'ouput',1,'line2','linear',[1 1]);
Untuk memasukkan IF-THEN rules yang sudah diberikan di atas ke dalam FIS sgn, ketikkan perintah berikut:
ruleList = [...
1 1 1 1
2 2 1 1];
sgn = addrule(sgn,ruleList);
Baris pertama ruleList adalah mengkodekan rule pertama
if input is low then output is line1
Baris pertama ruleList adalah mengkodekan rule pertama
if input is high then output is line2
Untuk menampilkan plot derajat keanggotaan dan output sebagai fungsi dari input, ketikkan:
subplot(2,1,1), plotmf(sgn,'input',1)
subplot(2,1,2), gensurf(sgn)
5.16 PERBANDINGAN FIS TIPE MAMDANI DAN SUGENO
Kelebihan FIS tipe Sugeno:
1. Efisien dalam komputasi
2. Cocok untuk pemodelan-pemodelan sistem linear, seperti PID controller
3. Cocok untuk digabung dengan teknik optimasi dan adaptif
4. Menjamin kontinuitas keluaran
5. Memungkinan dilakukan analisis matematis
Kelebihan FIS tipe Mamdani:
1. Bersfifat intuitif
2. Diterima secara luas
3. sangat cocok diberi human input
Fuzzy logic toolbox menyediakan fungsi mam2sug yang akan mengonversi FIS tipe Mamdani menjadi tipe Sugeno. Berikut diberi contoh bagaimana mongonversi FIS tipe Mamdani yang sudah dibuat sebelumnya, yaitu fisbonus, yang menjadi bertipe Sugeno:
fisbonus=readfis('fissbonus');
sgnfisbonus=mam2sug(fisbonus)
sgnfisbonus =
name: 'fisbonus'
type: 'sugeno'
andMethod: 'min'
orMethod: 'max'
defuzzMethod: 'wtever'
impMethod: 'min'
aggMethod: 'max'
input: [1x2 struct]
output: [1x1 struct]
rule: [1x3 struct]
5.17 MENGEDIT LANGSUNG DARI FILE FIS
Untuk mengedit sebuah file FIS bisa langsung mengetikkan perintah pada MATLAB
fuzzy tipper
kemudian klik menu File → Export → To Disk lalu pilih folder untuk menyimpan. FIS tipper disimpan dengan nama file tipper.fis. Dengan menggunakan sembarang editor seperti notepad, wordpad atau matlab editor. akan terlihat isi file
[System]
Name='tipper'
Type = 'Mamdani'
version=2.0
NumInputs=2
NumOutputs=1
NumRules=3
AndMethod='min'
OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
[Input1]
Name='service'
Range=[0 10]
NumMFs=3
MF1='poor':'gaussmf',[1.5 0]
MF2='good':'gaussmf',[1.5 5]
MF3='excellent':'gaussmf',[1.5 10]
[Input2]
Name='food'
Range=[0 10]
NumMFs=2
MF1='randcid':'trapmf',[0 0 1 3]
MF2='delicious':'trapmf',[7 9 10 10]
[Output1]
Name='tip'
Range=[0 30]
NumMFs=3
MF1='cheap':'trimf',[0 5 10]
MF2='average':'trimf',[10 15 20]
MF3='generous':'trimf',[20 25 30]
[Rules]
1 1, 1 (1) : 2
2 0, 2 (1) : 1
3 2, 3 (1) : 2
Tepat di bawah bagian [Rules] adalah matriks kode nomor membership function input1 (kolom pertama), input2 (kolom kedua), output1(kolom ketiga), bobot rule (kolom keempat dalam kurung), dan fuzzy logic (kolom kelima, 1 artinya AND dan 2 artinya OR). Jumlah baris sebanyak jumlah rule. Untuk contoh , baris ketiga dibaca:
IF Input1 is excellent OR Input2 is delicious THEN Output1 is generous.
- Membaca buku fuzzy logic bab 5
- Meringkas buku bab 5
- Mencari video dan membuat video sendiri mengenai toolbox fuzzy logi
- Putar video dan lakukan langkah langkah yang telah diberikan berdasarkan video dibawah
Tidak ada komentar:
Posting Komentar