02.Modul 4 - Fuzzy Logic
-
Upload
nita-ferdiana -
Category
Documents
-
view
40 -
download
2
description
Transcript of 02.Modul 4 - Fuzzy Logic
-
05-Jun-14
1
Fuzzy Logic
- Himpunan Tegas vs Himpunan Fuzzy
- Fuzzifikasi
- Inferensi
- Defuzzifikasi
Referensi :
- Suyanto. (2011). Artificial Intelligence . Bandung : Informatika .
- Suyanto. (2008). Soft Computing . Bandung : Informatika .
- Sutojo, T., Mulyanto, E., & Suhartono, V. (2011). Kecerdasan Buatan . Yogyakarta : C.V.Andi Offset.
Outline
1. Himpunan Tegas vs Himpunan Fuzzy
2. Fuzzifikasi
3. Inferensi
4. Defuzzifikasi
5. Contoh Kasus
Logika Fuzzy
Masalah di dunia nyata umumnya bersifat tidak pasti.
Suatu cara untuk merepresentasikan dan menangani masalah ketidakpastian(keraguan, ketidaktepatan, kekurang-lengkapan informasi, dan kebenaran yang bersifat sebagian).
Himpunan Tegas (Crisp)
Nilai keanggotaan suatu item x dalam suatu himpunan A, memiliki 2 kemungkinan :
1, x anggota A
0, x bukan anggota A
Contoh : S = [1,2,3,4,5,6]; A = [1,2,3]; B = [3,4,5]
Nilai keanggotaan 2 pada A = A[2] = 1
Nilai keanggotaan 4 pada A = A[4] = 0
Nilai keanggotaan 5 pada B = B[5] = 1
-
05-Jun-14
2
Contoh
Variabel umur dibagi 3 kategori :
MUDA, 55 tahun
Grafik nilai keanggotaan :
Contoh usia 34 tahun maka dikatakan MUDA
MUDA[34] = 1
usia 35 tahun maka dikatakan PAROBAYA PAROBAYA[35] = 1
usia 34 tahun maka dikatakan TIDAKPAROBAYA PAROBAYA[34] = 0
usia 35 tahun kurang 1 hari maka dikatakan TIDAKPAROBAYA PAROBAYA[35 th 1 hari] = 0
usia 35 tahun lebih 1 hari maka dikatakan TIDAKMUDA MUDA[35 th + 1 hari] = 0
Himpunan Fuzzy
Misal pada contoh sebelumnya (kategori umur), seseorang bisa masuk 2 himpunan yang berbeda, misal MUDA dan PAROBAYA
Grafik untuk himpunan fuzzy
Himpunan Fuzzy
usia 40 tahun termasuk dalam himpunan MUDA dengan MUDA[40] = 0,25 termasuk juga dalam himpunan PAROBAYA dengan PAROBAYA [40] = 0,5
usia 50 tahun termasuk dalam himpunan TUA dengan TUA[50] = 0,25 termasuk juga dalam himpunan PAROBAYA dengan PAROBAYA [50] = 0,5
-
05-Jun-14
3
Perbedaan Himpunan Tegas dan Himpunan Fuzzy
Himpunan crisp, nilai keanggotaan hanya 0 dan 1.
Himpunan fuzzy, derajat/nilai keanggotaan terletakpada rentang 0 sampai 1 sehingga :
Bila x memiliki derajat keanggotaan fuzzy A [x] adalah diantara 0 sampai dengan 1 maka x sebagian merupakan anggota himpunan A denganderajat keanggotaan tertentu.
Bila x memiliki derajat keanggotaan fuzzy A [x] = 0 x bukan anggota himpunan A
Bila x memiliki derajat keanggotaan fuzzy A [x] = 1 x anggota penuh himpunan A
Fuzzy System
Outline
1. Himpunan Tegas vs Himpunan Fuzzy
2. Fuzzifikasi
3. Inferensi
4. Defuzzifikasi
5. Contoh Kasus
Fuzzifikasi Masukan yang nilainya tegas (hanya 1 dan 0 atau
true dan false) dikonversi ke bentuk fuzzy, yang berupa nilai linguistik dengan derajat keanggotaan tertentu. Konversi ini dilakukan dengan membuat fungsi keanggotaan.
Variabel lingustik adalah suatu interval numerik dan mempunyai nilai linguistik, contoh : Suhu adalah variabel linguistik, dengan nilai linguistiknya adalah panas, sedang, dingin, yang derajat keanggotaannya bisa ditentukan melalui fungsi keanggotaan.
-
05-Jun-14
4
Fungsi Keanggotaan
suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai/derajat keanggotaannya yang memiliki interval antara 0 sampai 1.
Fungsi Sigmoid
Fungsi Phi
Fungsi Segitiga
Fungsi Trapesium
Fungsi Keanggotaan
Fungsi Sigmoid
Fungsi Keanggotaan
Fungsi Phi
Fungsi Keanggotaan
Fungsi Segitiga
-
05-Jun-14
5
Fungsi Keanggotaan
Fungsi Trapesium
Fungsi Keanggotaan
Contoh : suatu fungsi keanggotaan untuk variabel UMUR yang dibagi menjadi 3 kategori atau 3 himpunan fuzzy yaitu MUDA, PAROBAYA, TUA, dimana dapat direpresentasikan sebagai berikut :
Fungsi Keanggotaan Fungsi Keanggotaan
-
05-Jun-14
6
Outline
1. Himpunan Tegas vs Himpunan Fuzzy
2. Fuzzifikasi
3. Inferensi
4. Defuzzifikasi
5. Contoh Kasus
Inferensi
Inferensi adalah proses pengambilan kesimpulan.
Harus ada rules / aturan, yang umumnya dapat dituliskan sebagai berikut :
IF antecedent (kondisi) THEN consequent (kesimpulan)
Proses inferensi memperhitungkan semua rules yang ada.
Model Aturan Fuzzy
Model Tsukamoto
IF x is A AND y is B THEN z is C
Defuzzifikasi menggunakan weighted average
Model Mamdani
IF x is A AND y is B THEN z is C (sama dengan Tsukamoto)
Defuzzifikasi menggunakan centroid
Model Sugeno
IF x is A AND y is B THEN z= f(x,y)
Outline
1. Himpunan Tegas vs Himpunan Fuzzy
2. Fuzzifikasi
3. Inferensi
4. Defuzzifikasi
5. Contoh Kasus
-
05-Jun-14
7
Deffuzzification
Centroid Method
Height Method
First (or Last) Method
Mean-Max Method
Weighted Average
Defuzzification
Dimana y adalah nilai crisp dan R(y) adalah derajat keanggotaan y.
Defuzzification
Height Method
Prinsip keanggotaan maksimum
Metode ini memilih nilai crisp yang memiliki derajat keanggotaan maksimum.
Hanya bisa dipakai untuk fungsi keanggotaan yang memiliki derajat keanggotaan 1 pada suatu nilai crisp tunggal dan 0 pada semua nilai crisp yang lain.
Defuzzification
First (or Last) of Maxima
Merupakan generalisasi dari height method
Untuk kasus dimana fungsi keanggotaan outputmemiliki lebih dari satu nilai maksimum.
Nilai crisp yang dihasilkan adalah dari maksimum pertama atau maksimum terakhir (tergantung aplikasi)
-
05-Jun-14
8
Defuzzification Defuzzification
Weighted Average
Metode ini mengambil rata-rata dengan menggunakan pembobotan berupa derajat keanggotaan.
y didefinisikan sebagai:
Dimana y adalah nilai crisp dan R(y) adalah derajat keanggotaan y.
)(
)(
y
yyy
Outline
1. Himpunan Tegas vs Himpunan Fuzzy
2. Fuzzifikasi
3. Inferensi
4. Defuzzifikasi
5. Contoh Kasus
CONTOH KASUS 1 (TSUKAMOTO, MAMDANI, SUGENO)
Menentukan nilai kelayakan mahasiswa untuk mendapatkan beasiswa berdasarkan nilai IPK dan gaji orang tua.
Variabel linguistik
Input / kondisi : nilai IPK, gaji ortu
Output / kesimpulan : nilai kelayakan
Tahap : fuzzifikasi (mengubah himpunan tegas menjadi himpunan fuzzy ), inferensi (proses mengambil kesimpulan), defuzzifikasi (mengubah himpunan fuzzy menjadi himpunan tegas )
-
05-Jun-14
9
FUZZIFIKASI
IPK (BURUK, CUKUP, BAGUS )
0
1
BURUK CUKUP BAGUS
2 2.75 3.25
Joni IPKnya 3, uCUKUP[3] = 0.5 , uBAGUS[3] = 0.5
FUZZIFIKASI
Gaji Ortu (Kecil, Sedang, Besar, Sangat Besar)
0
1Kecil Sedang Besar Sangat Besar
1 3 4 6 7 12 Dalam juta rp
Joni gaji ortunya adalah 10jt, uBESAR [10] = 0.4 , uSBESAR [10] = 0.6
FUZZIFIKASI
Nilai Kelayakan (Rendah, Tinggi)
0
1Rendah Tinggi
50 80 100
INFERENSI (MODEL TSUKAMOTO)
KECIL SEDANG BESAR SANGAT BESAR
BURUK RENDAH RENDAH RENDAH RENDAH
CUKUP TINGGI RENDAH RENDAH RENDAH
BAGUS TINGGI TINGGI TINGGI RENDAH
ATURAN
IF IPK CUKUP (0.5) AND GAJI ORTU BESAR (0.4) THEN NILAI KELAYAKAN RENDAH (0.4), a(alpha predikat)1 = 0.4 IF IPK CUKUP (0.5) AND GAJI ORTU SANGAT BESAR (0.6)THEN NILAI KELAYAKAN RENDAH (0.5), a2 = 0.5IF IPK BAGUS (0.5) AND GAJI ORTU BESAR (0.4) THEN NILAI KELAYAKAN TINGGI (0.4), a3 = 0.4IF IPK BAGUS (0.5) AND GAJI ORTU SANGAT BESAR (0.6) THEN NILAI KELAYAKAN RENDAH (0.5), a4 = 0.5
-
05-Jun-14
10
DEFUZZIFIKASI (MODEL TSUKAMOTO)
0
1Rendah Tinggi
50 80 100
a1 = 0.4 (rendah), 80-x1 =12, x1 = 68a2 = 0.5 (rendah ), 80-x2 = 15, x2 = 65a3 = 0.4 (tinggi), x3 50 = 12, x3 = 62a4 = 0.5 (rendah), 80-x2 = 15, x2 = 65
(a1*x1) + (a2*x2) + (a3*x3) + (a4*x4)------------------------------------------------- = 65
a1+a2+a3+a4
INFERENSI (MODEL MAMDANI)
KECIL SEDANG BESAR SANGAT BESAR
BURUK RENDAH RENDAH RENDAH RENDAH
CUKUP TINGGI RENDAH RENDAH RENDAH
BAGUS TINGGI TINGGI TINGGI RENDAH
ATURAN
IF IPK CUKUP (0.5) AND GAJI ORTU BESAR (0.4) THEN NILAI KELAYAKAN RENDAH (0.4)IF IPK CUKUP (0.5) AND GAJI ORTU SANGAT BESAR (0.6)THEN NILAI KELAYAKAN RENDAH (0.5)IF IPK BAGUS (0.5) AND GAJI ORTU BESAR (0.4) THEN NILAI KELAYAKAN TINGGI (0.4)IF IPK BAGUS (0.5) AND GAJI ORTU SANGAT BESAR (0.6) THEN NILAI KELAYAKAN RENDAH (0.5)
NK = TINGGI (0.4)NK = RENDAH (0.4) V RENDAH (0.5) V RENDAH (0.5) = MAX(0.4:0.5:0.5) = RENDAH (0.5)
DEFUZZIFIKASI (MODEL MAMDANI)
0
1Rendah Tinggi
50 80 100
0.50.4
0
1Rendah (0.5)
50 80 100
0.5
0
1Tinggi (0.4)
50 80 100
0.4
DEFUZZIFIKASI (MODEL MAMDANI)
Dimana y adalah nilai crisp dan R(y) adalah derajat keanggotaan y.
-
05-Jun-14
11
DEFUZZIFIKASI (MODEL MAMDANI)
Misal : Pilih secara acak 9 titik yang ada di area kuning(10,20,30,40,50,60,80,100).
(10+20+30+40+50)*0.5 + (80+85+90+95+100)*0.4
------------------------------------------------------------------- = 56.7
(5*0.5) + (5*0.4)
0
1Rendah Tinggi
50 80 85 90 95 100
0.50.4
10 20 30 40
INFERENSI (MODEL SUGENO)
KECIL SEDANG BESAR SANGAT BESAR
BURUK 50 50 50 50
CUKUP 80 50 50 50
BAGUS 80 80 80 50
ATURAN (bagian kesimpulan berupa fungsi atau konstan)
IF IPK CUKUP (0.5) AND GAJI ORTU BESAR (0.4) THEN NILAI KELAYAKAN=50, a1 = 0.4 IF IPK CUKUP (0.5) AND GAJI ORTU SANGAT BESAR (0.6)THEN NILAI KELAYAKAN=50, a2 = 0.5IF IPK BAGUS (0.5) AND GAJI ORTU BESAR (0.4) THEN NILAI KELAYAKAN=80, a3 = 0.4IF IPK BAGUS (0.5) AND GAJI ORTU SANGAT BESAR (0.6) THEN NILAI KELAYAKAN=50, a4 = 0.5
DEFUZZIFIKASI (MODEL SUGENO)
a1*z1 + a2*z2 + a3*z3 + a4*z4--------------------------------------------
a1+a2+a3+a4
(0.4*50) + (0.5*50) + (0.4*80) + (0.5*50)-------------------------------------------------------- = 56.7
0.4+0.5+0.4+0.5
Contoh Kasus 2 (Mamdani)
Sprinkler control system
Misalkan kita ingin membangun sistem untuk mengontrol alat penyiram air. Input untuk sistem tersebut: Suhu udara (dalam C) dan Kelembapan tanah (dalam %). Sedangkan output yang diinginkan adalah durasi penyiraman (dalam satuan menit). Misalkan, nilai crisp yang diterima oleh sensor suhu adalah 37 C dan nilai crisp yang diterima sensor kelembapan adalah 12 %. Berapa lama durasi penyiraman yang harus dilakukan?
-
05-Jun-14
12
Contoh Kasus 2 Proses fuzzification
Menggunakan fungsi keanggotaan Trapesiumdengan 5 variabel linguistik: Cold, Cool, Normal, Warm, dan Hot.
Maka crisp input suhu 37 C dikonversi ke nilai fuzzy dengan cara:
Suhu 37 C berada di nilai linguistik Warm dan Hot.
Semantik atau derajat keanggotaan untuk Warm dihitung menggunakan rumus: -(x-d)/(d-c), c < x < d, dimana c = 36 dan d = 39
Derajat keanggotaan untuk Hot dihitung menggunakan rumus: -(x-a)/(b-a), a < x < b, dimana a = 36 dan b = 39
Contoh Kasus 2
Fungsi keanggotaan trapesium untuk Suhu Udara
Cold Cool Normal Warm Hot1
2/3
1/3
-10 0 3 12 15 24 27 36 39 50
Suhu (C)
Contoh Kasus 2
Menggunakan fungsi keanggotaan Trapesiumuntuk Kelembapan Tanah.
Maka, crisp input Kelembapan 12% dikonversi menjadi nilai fuzzy dengan cara:
Kelembapan 12% berada pada nilai linguistik Dry dan Moist.
Semantik atau derajat keanggotaan Dry dihitung dengan rumus: -(x-d)/(d-c), c < x < d, dimana c = 10 dan d = 20
Derajat keanggotaan untuk Moist dihitung dengan rumus: -(x-a)/(b-a), a < x < b, dimana a = 10 dan b = 20
Contoh Kasus 2
Fungsi keanggotaan trapesium untuk Kelembapan Tanah.
Dry Moist14/5
1/5
0 10 20 40 50 70
Wet
Kelembapan (%)
-
05-Jun-14
13
Contoh Kasus 2
Jadi, proses fuzzification menghasilkan empat fuzzy input:
Suhu Udara = Warm (2/3) dan Hot (1/3).
Kelembapan Tanah = Dry (4/5) dan Moist (1/5).
Contoh Kasus 2
Proses inferensi
Terdapat berbagai macam cara dalam menentukan aturan fuzzy.
Misalkan, untuk Durasi Penyiraman kita menggunakan fungsi keanggotaan Trapesium dengan tiga nilai linguistik:
Short
Medium
Long
Contoh Kasus 2
Fungsi keanggotaan trapesium untuk Durasi Penyiraman.
Short Medium1
0 20 28 40 48 90
Long
Durasi(menit)
Contoh Kasus 2
Cold Cool Normal Warm Hot
Dry Long Long Long Long Long
Moist Long Medium Medium Medium Medium
Wet Short Short Short Short Short
Antecendent 1 (Suhu Udara)
An
tece
nd
ent
2 (Kel
emb
apan
)
Aturan fuzzy untuk masalah Sprinkler control system.
-
05-Jun-14
14
Contoh Kasus 2
Dengan definisi aturan fuzzy pada tabel di atas, kita mempunyai 3 x 5 aturan fuzzy, yaitu:
IF Suhu = Cold AND Kelembapan = Dry THEN Durasi = Long
.
.
IF Suhu = Hot AND Kelembapan = Wet THEN Durasi = Short
Contoh Kasus 2
Proses inferensi menggunakan Model Mamdani
Kita dapat menggunakan 2 cara inferensi: Clipping atau Scaling.
1
1/5
0 10 20 40 50
1
1/5
0 10 20 40 50
(a) Clipping (b) Scaling
Contoh Kasus 2
Dari 4 data fuzzy input, maka kita mendapatkanempat aturan (dari 15 aturan): IF Suhu is Warm AND Kelembapan is Dry THEN Durasi is Long
IF Suhu is Warm AND Kelembapan is Moist THEN Durasi is Medium
IF Suhu is Hot AND Kelembapan is Dry THEN Durasi is Long
IF Suhu is Hot AND Kelembapan is Moist THEN Durasi is Medium
Contoh Kasus 2
Misalkan, kita menggunakan inferensiClipping:
Gunakan aturan Conjunction (^) dengan memilihderajat keanggotaan minimum. Sehingga diperoleh: IF Suhu is Warm (2/3) AND Kelembapan is Dry (4/5) THEN Durasi is Long
(2/3)
IF Suhu is Warm (2/3) AND Kelembapan is Moist (1/5) THEN Durasi is Medium (1/5)
IF Suhu is Hot (1/3) AND Kelembapan is Dry (4/5) THEN Durasi is Long (1/3)
IF Suhu is Hot (1/3) AND Kelembapan is Moist (1/5) THEN Durasi is Medium (1/5)
-
05-Jun-14
15
Contoh Kasus 2
Gunakan aturan disjunction (v) dengan memilih derajat keanggotaan maksimum dari nilai-nilai linguistik Durasi:
Durasi is Long (2/3) v Durasi is Long (1/3) = Durasi is Long (2/3)
Durasi is Medium (1/5) v Durasi is Medium (1/5) = Durasi is Medium (1/5)
Sehingga kita memperoleh dua pernyataan: Durasi is Long (2/3) dan Durasi is Medium (1/5).
Contoh Kasus 2
Fuzzy set dari Durasi is Medium ditunjukkan oleh area abu-abu.
Short Medium1
0 20 28 40 48 90
Long
Durasi(menit)
1/5
Contoh Kasus 2
Fuzzy set dari Durasi is Long ditunjukkan oleh area abu-abu.
Short Medium1
0 20 28 40 48 90
Long
Durasi(menit)
2/3
Contoh Kasus 2
Proses defuzzyfication
Melakukan proses composition, yaitu agregasi hasil Clipping dari semua aturan fuzzy sehingga kita dapatkan satu fuzzy set tunggal.
Short Medium1
0 20 28 48 90
Long
Durasi(menit)
2/3
1/5
40
-
05-Jun-14
16
Contoh Kasus 2
Menggunakan Centroid method untuk proses defuzzification.
Short Medium1
0 20 28 48 90
Long
Durasi(menit)
2/3
1/5
40
Center of area
Contoh Kasus 2
Misalkan kita menentukan titik sembarang pada area abu-abu tersebut: 24, 28, 32, 36, 40, 48, 60, 70, 80, dan 90.
Dengan menggunakan persamaan Centroid Method:
97,6033,4
4,310
33,4
23232
3/23/23/23/23/25/15/15/15/15/1
3/2)9080706048(5/1)4036322824(
y
y
Contoh Kasus 2
Jadi dengan menggunakan Model Mamdani, untuk suhu udara 37C dan Kelembapan Tanah 12%, maka sprinkle secara otomatis akan menyiramkan air selama 60,97 menit.