Rabu, 14 November 2012

Studi Kasus Fuzzy Logic


Teori tentang fuzzy set dan fuzzy logic banyak digunakan untuk membangun system berbasis aturan fuzzy untuk masalah control. Mari kita perhatikan masalah tentang system control penyiram air. Misalkan, nilai crisp yang diterima oleh sensor suhu adalah 37oC dan nilai crisp yang diterima sensor kelembaban adalah 12%. Berapa lama durasi penyiraman yang harus dilakukan?
Proses fuzzification
Misalkan, untuk Suhu Udara kita menggunakan fungsi keanggotaan trapezium dengan lima variabel linguistic: Cold, Cool, Normal, Warm, dan Hot. Dengan fungsi ini, maka crisp input suhu 37oC dikonversi ke nilai fuzzy dengan cara:
  • Suhu 37oC berada pada nilai linguistic Warm dan Hot.
  • Semantik atau derajat keanggotaan untuk Warm dihitung menggunakan rumus –(– d)/(– c), c < x ≤ d,dimana c = 36, dan d = 39. Sehingga derajat keanggotaan Warm = – (37–39)/(39–36) = 2/3.
Derajat keanggotaan untuk Hot dihitung menggunakan rumus (x–a)/(b–a),a dimana a = 36, dan b =  39. Sehingga derajat keanggotaan untuk Hot = (37-36)/(39-36) = 1/3.
Fungsi keanggotaan trapezium untuk Suhu Udara.
Misalkan, kita juga menggunakan fungsi keanggotaan trapezium untuk Kelembaban Tanah. Dengan fungsi ini, maka crisp input Kelembaban 12% dikonversi menjadi nilai fuzzy dengan cara berikut ini:
  • Kelembaban 12% berada pada nilai linguistic Dry dan Moist.
  • Semantic atau derajat kenggotaan untuk Dry dihitung menggunakan rumus –(xd)/(dc),c < x ≤ d, dimana c = 10, dan d = 20. Sehingga derajat keanggotaan untuk Dry adalah –(12–20)/(20–10) = 4/5.
Derajat keanggotaan untuk Moist dihitung menggunakan rumus (xa)/(ba),a < x < b, dimana a = 10, dan b = 20. Sehingga derajat keanggotaan Moist = (12–10)/(20–10) = 1/5.
Fungsi keanggotaan trapezium untuk Kelembaban Tanah.
Jadi, proses fuzzzification menghasilkan empat fuzzy input: Suhu Udara = Warm(2/3) dan Hot(1/3), dan Kelembaban Tanah = Dry(4/5) dan Moist(1/5).
Proses inferensi
Terdapat berbagai macam cara dalam menentukan aturan fuzzy. Misalkan, untuk Durasi Penyiraman kita menggunakan fungsi keanggotaan Trapesium dengan tiga nilai linguistic: Short, Medium, Long. Sebagai Contoh, misalkan kita mendefinisikan aturan fuzzy seperti pada gambar berikut.
Fungsi keanggotaan trapezium untuk Durasi Penyiraman.
 
Aturan fuzzy untuk masalah Sprinkler control system.
Dengan definisi aturan fuzzy pada gambar di atas, kita mempunyai 3×5 = 15 aturan fuzzy, yaitu:
IF Suhu = Cold AND Kelembaban = Dry THEN Durasi = Long
.
.
IF Suhu = Hot AND Kelembaban = Wet THEN Durasi = Short
Di sini kita akan membahas penggunaan inferensi menggunakan model Mamdani dan model Sugeno. Kita akan melihat perbedaan kedua model tersebut.
Proses inference menggunakan Model Mamdani
Jika kita menggunakan Model Mamdani, kita bisa menggunakan dua cara inferensi, clipping (alpha–cut) atau scaling. Perhatikan gambar di bawah ini. Metode yang paling umum digunakan adalah clipping karena mudah diimplementasikan dan bila diagregasikan dengan fungsi lain akan menghasilkan bentuk yang mudah di-defuzzification.
(a)    Cipping
(a)    Scaling
Dua jenis proses inferensi pada Model Mamdani: Clipping dan Scaling.
Dari empat data fuzzy input tersebut, Warm(2/3), Hot(1/3), Dry(4/5) dan Moist(1/5), maka kita mendapatkan empat aturan (dari 15 aturan) yang dapat diaplikasikan:
IF Suhu is Warm AND Kelembaban is Dry THEN Durasi is Long
IF Suhu is Warm AND Kelembaban is Moist THEN Durasi is Medium
IF Suhu is Hot AND Kelembaban is Dry THEN Durasi is Long
IF Suhu is Hot AND Kelembaban is Moist THEN Durasi is Medium
Dari empat aturan fuzzy dan empat fuzzy input tersebut, maka proses inference yang terjadi adalah sebagai berikut (missal kita menggunakan inferensi Clipping):
  • Gunakan aturan Conjuction (^) dengan memilih derajat keanggotaan minimum dari nilai-nilai linguistic yang dihubungkan oleh dan lakukan Clipping pada fungsi keanggotaan trapezium untuk Durasi Penyiraman. Sehingga diperoleh:
IF Suhu is Warm(2/3) AND Kelembaban is Dry(4/5) THEN Durasi is Long(2/3)
IF Suhu is Warm(2/3) AND Kelembaban is Moist(1/5) THEN Durasi is Medium(1/5)
IF Suhu is Hot(1/3) AND Kelembaban is Dry(4/5) THEN Durasi is Long(1/3)
IF Suhu is Hot(1/3) AND Kelembaban is Moist(1/5) THEN Durasi is Medium(1/5)
  • Gunakan aturan Disjunction (V) dengan memilih derajat keanggotaan maximum dari nilai-nilai linguistic yang dihubungkan oleh V. Dari ‘Durasi is Long(2/3) V Durasi is Long(1/3)’ dihasilkan ‘Durasi is Long(2/3)’. Sedangkan, dari ‘Durasi is Medium(1/5) V Durasi is Medium(1/5)’ dihasilkan ‘Durasi is Medium(1/5)’. Dengan demikian, kita memperoleh dua pernyataan: Durasi is Long(2/3) dan Durasi is Medium(1/5). Proses inferensi menggunakan Model Mamdani menggunakan proses Clipping menghasilkan dua area abu-abu seperti diilustrasikan oleh gambar berikut ini:
(a)
(b)
Dua fuzzy set ditunjukan oleh area abu-abu yang dihasilkan dari proses Clipping: (a) Durasi is Medium(1/5) dan (b) Durasi is Long(2/3).
Proses inference menggunakan Model Sugeno
Model Sugeno menggunakan fungsi keanggotaan yang lebih sederhana dibandingkan Model Mamdani. Fungsi keanggotaan tersebut adalah Singleton, yaitu fungsi keanggotaan yang memiliki derajat keanggotaan 1 pada suatu nilai crisp tunggal dan 0  pada semua nilai crisp yang lain. Misalkan kita definisikan fungsi singleton untuk Durasi Penyiraman seperti gambar berikut ini:
Fungsi keanggotaan Singleton untuk Durasi Penyiraman. Hanya tiga nilai crisp, 20, 40, 60, yang memiliki derajat keanggotaan 1. Sedangkan semua nilai crisp yang lain memiliki derajat keanggotaan 0.
Dengan cara yang sama seperti Model Mamdani, diperoleh: Durasi is Long(4/5) dan Durasi is Medium(1/5). Proses inferensi menggunakan Model Sugeno menghasilkan dua derajat keanggotaan pada gambar berikut ini:
(a)
(b)
Dua derajat keanggotaan yang dihasilkan oleh Model Sugeno: (a) Durasi is Medium(1/5) dan (b) Durasi is Long(2/3).
Proses defuzzyfication
Sebelum defuzzyfication, kita harus melakukan proses composition, yaitu agregasi hasil Clipping dari semua aturan fuzzy sehingga kita dapatkan satu fuzzy set tunggal.
Proses defuzzyfication menggunakan Model Mamdani
Proses composition dari dua fuzzy set, Durasi is Medium(1/5) dan Durasi is Long(2/3) pada gambar di atas, menghasilkan satu fuzzy set tunggal yang ditunjukan oleh gambar berikut ini:
Proses Composition pada Model Mamdani dari dua fuzzy set, Medium(1/5)dan Long(2/3), menghasilkan satu fuzzy set tunggal yang ditunjukkan oleh area berwarna abu-abu.
Misalkan, kita menggunakan Centroid method untuk proses defuzzyfication. Untuk mendapatkan nilai crisp menggunakan Centroid method, kita bisa menggunakan persamaan kontinyu atau diskrit. Untuk memudahkan perhitungan misalkan kita menggunakan persamaan diskrit. Kita bisa menentukan titik sembarang pada area abu-abu tersebut, misalkan: 24, 28,32, 36, 40, 48, 60, 70, 80 dan 90.
Penghitungan nilai crisp menggunakan Centroid method. Titik-titik pada area abu-abu ditentukan secara acak sehingga akan didapatkan suatu titik sebagai pusat area (sentre of area atau cantre of gravity).
Dengan menggunakan persamaan diskrit dan titik-titik tersebut, diperoleh hasil sebagai berikut:
Jadi, dengan menggunakan Model Mamdani, untuk Suhu Udara 37oC dan Kelembaban Tanah 12%, maka sprinkle secara otomatis akan menyiramkan air selama 60,97 menit.
Proses defuzzyfication menggunakan Model Sugeno
Proses composition dari dua fuzzy set, Durasi is Medium(1/5) dan Durasi is Long(2/3) pada gambar sebelumnya, menghasilkan satu fuzzy set tunggal yang ditunjukkan oleh gambar berikut ini:
Proses Composition menggunakan Model Sugeno dari dua fuzzy set, Medium(1/5)dan Long(2/3), menghasilkan satu fuzzy set tunggal.
Jika kita menggunakan Height method untuk proses defuzzyfication, maka dari dua fuzzy set, Medium(1/5) dan Long(2/3), dipilih nilai maksimumnya yaitu Long(2/3). Karena nilai crisp untuk Long adalah 60, maka proses defuzzyfication menghasilkan nilai crisp sebesar 60. Dengan demikian, Durasi Penyiraman adalah 60 menit.
Jika kita menggunakan Weighted Average untuk proses defuzzyfication, maka kita mengacu pada perhitungan di atas.
Dengan demikian, jika kita menggunakan Model Sugeno dengan defuzzyfication berua Weighted Average, maka Durasi Penyiraman adalah 55,38 menit.

Design fuzzy logic dengan bantuan software FuzzyTech


0 komentar: