Fuzzy if-Then Rule Based System

download Fuzzy if-Then Rule Based System

of 5

description

fuzzy

Transcript of Fuzzy if-Then Rule Based System

NIP

Kasus:

Langkah untuk membangun fuzzy if-then rule based system (misal: untuk sistem pakar simple otodrive):A. Membangun Knowledge

1. Tentukan variabel input dan output

2. Buat fuzzy group untuk masing-masing variabel, misalkan seperti berikut:a. X1 (Distance): Dekat, Sedang, dan Jauhb. X2 (Speed): Rendah, Sedang, dan Tinggic. Y (Speed Acc): LepasGas, Sedang, TancapGasCatatan: Fuzzy Group Dekat, Sedang, dan Jauh untuk variabel Distance (jarak) dapat dipecah lagi menjadi 5, 7, 9 dst. Jadi, bisa dibuatkan fuzzy group SangatDekat, SangatJauh, SangatJauhSekali, AgakDekat dll3. Definisikan fuzzy membership function untuk masing-masing group dari masing-masing variabel (Bentuk dan fungsinya merupakan parameter yang bisa diubah2 sesuai kebutuhan)

Gambar 1. Fuzzy Membership Function untuk Variabel Input (Distance)

Formula 1. Formula Fuzzy Membership Function untuk Variabel Input (Distance)

Gambar 2. Fuzzy Membership Function untuk Variabel Input (Speed)

Formula 2. Formula Fuzzy Membership Function untuk Variabel Input (Speed) SHAPE \* MERGEFORMAT

Gambar 3. Fuzzy Membership Function untuk Variabel Output (Gas Acceleration)

Fuzzy membership function (FMF)untuk output, dalam hal ini GasAcceleration(Y) dibuat seperti diatas hanya karena alasan untuk kemudahan perhitungan secara manual. Jadi, ini dibuat untuk simplifikasi atau penyederhanaan. Umumnya, FMF bisa dibuat seperti FMF untuk variabel input diatas.4. Buat If-Then Rule ( Matriks RuleMisal: If Distance(X1)=Jauh AND Speed(X2)=Rendah Then GasAcceleration(Y)=TancapGas

GasAcceleration(Y)Distance(X1)

DktSdgJauh

Speed(X2)RndhTG

Sdg

Tngg

Bila matriks rule diatas dilengkapi (rule ini pun sesuai keinginan kita yg biasanya merupakan rule yang berlaku secara umum), akan seperti berikutGasAcceleration(Y)Distance(X1)

DktSdgJauh

Speed(X2)RndhSTGTG

SdgSSTG

TnggLGSS

B. Fuzzy Inference EngineDisini dijelaskan pemanfaatan fuzzy if-then rule atau knowledge yang sudah dibangun diatas, sekaligus menjelaskan cara kerja fuzzy inference engine. Penjelasan akan lebih mudah dipahami jika kita ambil satu contoh kasus, misalnya berapa GasAcceleration yang harus dilakukan jika Distance(X1)=43 dan Speed(X2)=30? 1. Hitung Grade atau nilai dari fuzzy membership function untuk masing-masing variabel bila diberikan X1=43 dan X2=20.Dengan menggunakan fungsi membership function yang sudah didefinisikan diatas maka kita dapat nilai FMF atau grade untuk masing2 fuzzy group dari masing-masing variabel sbb:

2. Setelah kita mendapatkan grade diatas, maka kita bisa kuantifikasikan nilai fuzzy group dari masing-masing fuzzy if-then rule menjadi seperti berikut:If (X1)=Jauh(3/5) AND Speed(X2)=Rendah(45/50) Then GasAcceleration(Y)=TancapGas()

dst

Artinya, bila kita menggunakan matriks rule diatas maka akan kita dapatkan seperti berikut:

GasAcceleration(Y)Distance(X1)

DktSdgJauh

Speed(X2)RndhSTGTG

SdgSSTG

TnggLGSS

3. Menghitung nilai grade (fuzzy membership function) untuk output.Bila kita perhatikan rule diatas:

If (X1)=Jauh(3/5) AND Speed(X2)=Rendah(45/50) Then GasAcceleration(Y)=TancapGas()

Mempunyai hubungan AND, artinya output Y dapat ditentukan dengan mengambil nilai minimum dari kedua grade variabel input, X1=Jauh(3/5) dan X2=Rendah(45/50) maka output(Y)=TancapGas(3/5).

Lihat area warna merah pada matriks rule diatas.

Dengan cara yang sama kita akan mendapatkan nilai untuk area yg berwarna kuning. TG(2/5), S(5/25), dan TG(5/25)

Sementara itu, krn ada grade yang bernilai 0 untuk variabel input, maka output(Y) akan bernilai 0, artinya rule tsb bisa diabaikan, perhatikan area yang berwarna biru pada matriks rule diatas.

4. Mencari nilai maximum untuk fuzzy group yang sama.Dari step nomor 3 diatas kita mendapatkan nilai:

TG: 3/5, 2/5, dan 5/25

S : 5/25

Karena hanya fuzzy group TG yang mempunyai banyak nilai maka diantara nilai yang ada kita cari nilai maximum. Akhirnya kita dapatkan nilai TG=3/5 atau 0.6, sementara S=0.25. Nilai yang didapat pada step nomor 4 kita kenakan pada fuzzy membership function output pada gambar 3. SHAPE \* MERGEFORMAT

Dari gambar diatas, kita hitung nilai x untuk mendapatkan nilai y, dimana y = 0.5 + x.

Hitung nilai x:

0.2*x = 0.6*(0.5-x)

0.2*x + 0.6 * x = 0.3

0.8*x=0.3

x=0.3/0.8=0.375

Jadi y = 0.5 + 0.375 = 0.875 ( inilah output Gas Acceleration jika input Distance=43 dan Speed=30.

2/5

rndh

(X2) = 45/50

sdg

(X2) = 5/25

tngg

(X2) = 0

dkt

(X1) = 0

jauh

(X1) = 3/5

(X1) =

dkt

1X130

(40-X1)30X140

(40-30)

0X140

0X140

(X1-40)40X145

(45-40)

1X145

jauh

(X1) =

0X135 atau X145

(X1-35)35X140

(40-35)

(45-X1)40X145

(45-40)

sdg

(X1) =

Gas Acceleration

(Y)

1

0

TancapGas(TG)

Sedang(S)

LepasGas(LG)

sdg

1.0

(X1) = 2/5

0.5

(X2) =

tinggi

0X250

(X2-50)50X2100

(100-50)

1X2100

(X2) =

rndh

1X225

(75-X2)25X275

(75-25)

0X275

0X225 atau X2100

(X2-25)25X250

(50-25)

(100-X2)50X2100

(100-50)

3/5

Acceleration (Pedal Gas)

Y

sedang

(X2) =

0

5/25

45/50

0

3/5

y

0.5-x

x

0.6

0.2

Gas Acceleration

(Y)

1

0

TancapGas(TG)

Sedang(S)

LepasGas(LG)

1.0

0.5