fuzzy system & fuzzy reasoning - … · definisi permasalahan memastikan bahwa model/sistem...
TRANSCRIPT
FUZZY SYSTEM & FUZZY REASONING
DEPARTEMEN ILMU KOMPUTER IPB
Workshop on Fundamental Concept and Implementation of Fuzzy Logic
March 17th 2016
Net Centric Computing Lab
Outline
Crips VS Fuzzy
Pengembangan model/system berbasis Fuzzy Inference System (FIS)
Penalaran pada Fuzzy Inference System
Tsukamoto
Mamdani
Sugeno
Crips VS Fuzzy
CRISP FUZZY
Memungkinkan suatu nilai terdapat dalam lebih dari satu keanggotaan dengan degree of membership tertentu
Definisi Permasalahan
Fuzzifikasi Variabel Fuzzy
Pembuatan Aturan Fuzzy (Fuzzy Inference System)
Evaluasi
Defuzzifikasi
PENGEMBANGAN MODEL/SISTEM BERBASIS FIS
Definisi Permasalahan
Memastikan bahwa model/sistem yang akan dibuat
untuk menyelesaikan masalah memiliki variabel fuzzy
Identifikasi : Input dan Output
Variabel Fuzzy disebut juga dengan variabel linguistik
Variabel yang berpeluang memiliki perbedaan nilai impresi secara bahasa
Contoh :
kecepatan (lambat, normal, cepat)
Suhu (dingin,normal,hangat,panas)
Kelembaban (rendah, sedang, tinggi)
dll
Fuzzifikasi Variabel Fuzzy
Fuzzifikasi : Melakukan pengubahan dari suatu nilai skalar ke dalam himpunan yang bernilai/bersifat fuzzy
Cara:
Tentukan range dari nilai skalar tersebut
kecepatan : [20 – 100] {km/jam}
Suhu : [25 – 45] {0C}
Jika masalah tersebut bukan pada domain kita (computer science) bisa dikonsultasikan ke pakar atau jika ada data bisa dari data yang kita miliki.
Fuzzifikasi Variabel Fuzzy …. cont Cara {lanjutan}:
Definisikan jumlah himpunan fuzzy untuk setiap variabel
Jumlah himpuan akan terkait dengan kombinasi aturan yang akan dibuat
Gunakan Fungsi Keanggotaan untuk mendapatkan nilia derajat keanggotaan
Segitiga Trapesium Gaussian
Nilai Range dari setiap variabel
Fuzzifikasi Variabel Fuzzy …. cont
Contoh penentuan nilai Derajat Keanggotaan [0 – 1]:
Misal : a = 3 ; b = 7 dan c = 11 Tentukan nilai derajat keanggotan untuk x = 9 ? Jawab : (11 – 9 ) / (11 – 7) = 0. 5
Pembuatan Aturan Fuzzy (Fuzzy Inference System)
Aturan/Rule dibuat dalam bentuk kaidah produksi
Format :
IF [variabel] is [himpunan ] THEN variabel [himpunan]
Contoh :
IF Level is okay THEN valve is no_change
IF Level is okay AND rate is positif THEN valve is close slow
Banyak atau sedikit aturan akan dipengaruhi oleh jumlah variabel dan jumlah himpunan fuzzy pada model yang dibuat
Defuzzifikasi
Proses untuk mengubah dari nilai fuzzy ke dalam nilai crisp/real
Dilakukan setelah semua aturan /rule dijalankan yang bersesuaian dengan input
Proses ini bertujuan untuk mendapatkan nilai crisp /real kembali
Tekniknya akan bergantung pada metode penalaran yang digunakan
Contoh :
Rata-rata terbobot
Cog , Lom, Som, Mom, Bisector
Defuzzifikasi
Formula untuk melakukan Defuzzifikasi secara umum :
Pada prinsipnya adalah menentukan nilai tunggal dengan mengalikan setiap nilai x dari daerah hasil dengan setiap derajat keanggotaan yang bersesuaian
Penalaran Input Output Deffuzzifikasi Penggunaan
Tsukamoto Himpunan Fuzzy
Himpunan Fuzzy Weigthed Average
Humannis Controll
Mamdani Himpunan Fuzzy
Himpunan Fuzzy CoG Lom
Som Mom
Bisector
Humanis Control
Sugeno Himpunan Fuzzy
- Konstanta - Linear (orde 1)
Weigthed Average
Control
Perbandingan Tsukamoto, Mamdani, Sugeno
History
PENALARAN TSUKAMOTO
Contoh Kasus Suatu katup tanki akan secara otomatis terbuka dan tertutup. Buka atau
tutup tangki tersebut ditentukan oleh dua faktor.
Faktor pertama adalah tingkat perbedaan air aktual dengan yang
dibutuhkan (variabel level) . Faktor kedua adalah tingkat perubahan air
(variabel rate). Output dari sistem ini adalah flow rate dari katup pada
tangki.
Rancangan
Input :
level : {high,okay,low}
rate : {negative,none,positive}
Output : {close_fast, close_slow, no_change, open_low, open_fast}
PENALARAN TSUKAMOTO - FUZZIFIKASI
Contoh Kasus Input :
level rentang [-1 1] : {high,okay,low}
direpresentasikan dengan kurva gaussian [stdev mean]
high [0.3 -1] , okay [0.3 0], low [0.3 1]
rate rentang [-0.1 0.1] : {negative,none,positive}
direpresentasikan dengan kurva gaussian [stdev mean]
negative [0.03 -0.1] ,none [0.03 0] , positive [0.03 1 ]
Output : {close_fast, close_slow, no_change, open_low, open_fast}
direpresentasikan dengan kurva segitiga [a b c]
close_fast [-1 -0.9 -0.8], close_slow [-0.6 -0.5 -0.4], no_change [-0.1 0 0.1],
open_low [0.2 0.3 0.4], open_fast [0.8 0.9 1]
• [R1] : IF level is okay THEN valve is no_change
• [R2] : IF level is low THEN valve is open_fast
• [R3] : IF level is high THEN valve is close_fast
• [R4] : IF level is okay and rate is positive THEN valve is close_slow
• [R5] : IF level is okay and rate is negative THEN valve is open_slow
PENALARAN TSUKAMOTO - Pembuatan Aturan Fuzzy
Representasi Fuzzy Input Level
PENALARAN TSUKAMOTO
PENALARAN TSUKAMOTO Representasi Fuzzy Input rate
PENALARAN TSUKAMOTO
Representasi Fuzzy Output Flow Level
PENALARAN TSUKAMOTO
JI Pertanyaan Jika suatu saat kondisi level adalah 0.5 dan rate 0. Tentukan flow rate
dari katup tanki tersebut ?
Jawab Level : 0.5 hitung nilai derajat keanggotaannya
0.5 termasuk himpunan high dengan nilai dmf = 3.7267e-006
0.5 termasuk himpunan okay dengan nilai dmf = 0.2494
0.5 termasuk himpunan low dengan nilai dmf = 0.2494
Rate : 0 hitung nilai derajat keangotaannya
0 termasuk himpunan negative dengan nilai dmf = 0.0039
0 termasuk himpunan none dengan nilai dmf = 1
0 termasuk himpunan positive dengan nilai dmf = 5.3124e-242
PENALARAN TSUKAMOTO
Proses Implikasi [R1]
IF level is okay THEN valve is no_change
• alpha_predikat1 = min (µ
okay [0.5])
• = min (0,2494)
= 0,2494 Lihat Himpunan no_change pada OUTPUT a. (z1-(-0.1)) / (0-(-0.1)) = 0.2494 z1 = -0.075 b. (0.1-z1)/(0.1-0) = 0.2494 z1 = 0.075
z1pusat = [0.075 + (- 0.075)]/2 = 0
PENALARAN TSUKAMOTO
Proses Implikasi [R2]
IF level is low THEN valve is open_fast
• alpha_predikat2 = min (µ
low [0.5])
• = min (0,2494)
= 0,2494 Lihat Himpunan open_fast pada OUTPUT a. (z2-(0.8)) / (0.9-(0.8)) = 0.2494 z2 = 0.82494 b. (1-z2)/(1-0.9) = 0.2494 z2 = 0.9756
z2pusat = [0.82494 + 0.97562] /2 = 0.9
PENALARAN TSUKAMOTO
Proses Implikasi [R3]
IF level is high THEN valve is close_fast
• alpha_predikat3 = min (µ
high [0.5])
• = min (3.7267e-006)
= 3.7267e-006
Lihat Himpunan close_fast pada OUTPUT a. (z3-(-1)) / (0.8-(-1)) = 3.7267e-006 z3 = 0.999 b. (-0.8-z3)/(-0.8-(-0.9)) = 3.7267e-006 z3 = -0.8
z3pusat = [0.999 + (-0.8)] /2 = -0.89
PENALARAN TSUKAMOTO
Proses Implikasi [R4]
IF level is okey and rate is positive THEN valve is close_slow
• alpha_predikat3 = min (µ
okay [0.5]; µ
positive [0])
• = min (0.2494; 5.3124e-242)
= 5.3124e-242
Lihat Himpunan close_slow pada OUTPUT a. (z4-(-0.6)) / (-0.4-(-0.6)) = 5.3124e-242 z4 = -0.6 b. (-0.4-z4)/(-0.4-(-0.5)) = 5.3124e-242 z4 = -0.4
z4pusat = [-0.6 + (-0.4)] /2 = -0.5
Proses Implikasi [R5]
IF level is okay and rate is negaative THEN valve is open_slow
• alpha_predikat3 = min (µ
okay [0.5]; µ
negative [0])
• = min (0.2494; 0.0039)
= 0.0039
Lihat Himpunan open_slow pada OUTPUT a. (z5-(0.2)) / (0.4-0.2) = 0.0039 z5 = 0.20078 b. (0.4-z5)/(0.4-0.3) = 0.0039 z5 = 0.3999
z2pusat = [0.2 + (0.3999)] /2 = 0.3009
PENALARAN TSUKAMOTO
PENALARAN TSUKAMOTO (DEFUZZIFIKASI)
Perhitungan Nilai Crisp pada Penalaran Tsukamoto
Diperoleh dengan menggunakan Rata-rata terbobot
sebagai berikut :
Dengan demikian, nilai crisp / real dari flow rate untuk
katup adalah 0.448.
Maknanya ?
448.00039.02494.02494.0
3009.00039.09.02494.002494.0
242-5.3124e006-3.7267e
-0.5242-5.3124e-0.89006-3.7267ez
PRACATICAL USING MATLAB
Deskripsi Desain FIS (Input dan Output)
>> fuzzy tank
PRACATICAL USING MATLAB and Simulation
>> sltankrule klik
TERIMA KASIH