fuzzy system & fuzzy reasoning - … · definisi permasalahan memastikan bahwa model/sistem...

30
FUZZY SYSTEM & FUZZY REASONING DEPARTEMEN ILMU KOMPUTER IPB Workshop on Fundamental Concept and Implementation of Fuzzy Logic March 17 th 2016 Net Centric Computing Lab

Upload: habao

Post on 03-Jul-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

FUZZY SYSTEM & FUZZY REASONING

DEPARTEMEN ILMU KOMPUTER IPB

Workshop on Fundamental Concept and Implementation of Fuzzy Logic

March 17th 2016

Net Centric Computing Lab

Page 2: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

Outline

Crips VS Fuzzy

Pengembangan model/system berbasis Fuzzy Inference System (FIS)

Penalaran pada Fuzzy Inference System

Tsukamoto

Mamdani

Sugeno

Page 3: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

Crips VS Fuzzy

CRISP FUZZY

Memungkinkan suatu nilai terdapat dalam lebih dari satu keanggotaan dengan degree of membership tertentu

Page 4: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

Definisi Permasalahan

Fuzzifikasi Variabel Fuzzy

Pembuatan Aturan Fuzzy (Fuzzy Inference System)

Evaluasi

Defuzzifikasi

PENGEMBANGAN MODEL/SISTEM BERBASIS FIS

Page 5: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 6: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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.

Page 7: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 8: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 9: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 10: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 11: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 12: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 13: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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}

Page 14: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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]

Page 15: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

• [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

Page 16: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

Representasi Fuzzy Input Level

PENALARAN TSUKAMOTO

Page 17: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

PENALARAN TSUKAMOTO Representasi Fuzzy Input rate

Page 18: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

PENALARAN TSUKAMOTO

Representasi Fuzzy Output Flow Level

Page 19: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 20: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 21: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 22: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 23: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 24: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 25: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

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

Page 26: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

PRACATICAL USING MATLAB

Page 27: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

Deskripsi Desain FIS (Input dan Output)

>> fuzzy tank

Page 28: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

PRACATICAL USING MATLAB and Simulation

>> sltankrule klik

Page 29: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input
Page 30: FUZZY SYSTEM & FUZZY REASONING - … · Definisi Permasalahan Memastikan bahwa model/sistem yang akan dibuat untuk menyelesaikan masalah memiliki variabel fuzzy Identifikasi : Input

TERIMA KASIH