560 likes | 804 Views
Fuzzy Systems http://mhs.stiki.ac.id/06114001/Software/bowo/Fuzzy%20Logic.ppt. Fuzzy Logic. Dua buah logic yang dibahas sebelumnya adalah untuk masalah-masalah yang pasti.
E N D
Fuzzy Systemshttp://mhs.stiki.ac.id/06114001/Software/bowo/Fuzzy%20Logic.ppt
Fuzzy Logic • Dua buah logic yang dibahas sebelumnya adalah untuk masalah-masalah yang pasti. • Untuk merepresentasikan masalah yang mengandung ketidakpastian ke dalam suatu bahasa formal yang dipahami komputer digunakan fuzzy logic.
Masalah: Pemberian beasiswa • Misalkan terdapat permasalahan sebagai berikut: • Sebuah universitas akan memutuskan apakah seorang mahasiswa layak mendapatkan beasiswa atau tidak. • Misalkan kriteria yang diperhatikan adalah Indeks Prestasi (IP)3,0 dan hasil Test Psikologi (TP) 8,0. • Mahasiswa A memiliki IP=3,0 dan TP=8,0 • Mahasiswa B memiliki IP=2,999999, dan TP=8,5. • Dengan aturan tersebut diputuskan bahwa mahasiswa A layak mendapatkan beasiswa sedangkan mahasiswa B tidak. • Pada kasus di atas, universitas tersebut membuat keputusan dengan aturan yang jelas dan membedakan secara tegas, melihat masalah secara hitam dan putih (crisp), dan mungkin dianggap kurang adil.
Crisp set • Himpunan yang membedakan anggota dan non anggotanya dengan batasan yang jelas disebut crisp set. • Misalnya, jika C={x x integer, x > 2}, maka anggota C adalah 3, 4, 5, dan seterusnya. • Sedangkan yang bukan anggota C adalah 2, 1, 0, -1, dan seterusnya.
Fuzzy Set • Fuzzy set merupakan dasar dari fuzzy logic dan fuzzy systems. • Suatu fuzzy set A di dalam Universe (semesta) U didefinisikan sebagai suatu fungsi keanggotaan A(x), yang memetakan setiap objek di U menjadi suatu nilai real dalam interval [0,1]. • Nilai-nilai A(x) menyatakan derajat keanggotaan x di dalam A.
Fuzzy Set • Contoh: • Misalkan, x = {5, 10, 20, 30, 40, 50, 60, 70, 80} adalah crisp set Usia dalam satuan tahun. • Balita, Dewasa, Muda, dan Tua adalah empat fuzzy set yang merupakan subset dari x.
Fuzzy Set • Pada tabel tersebut terdapat 4 buah fuzzy set dengan anggota dan derajat keanggotaannya sebagai berikut: • Balita = {} • Dewasa = {20, 30, 40, 50, 60, 70, 80}, di mana derajat keanggotaannya dinyatakan oleh Dewasa = {0.8, 1, 1, 1, 1, 1, 1}. • Muda = {5, 10, 20, 30, 40, 50}, di mana derajat keanggotaannya dinyatakan oleh muda = {1, 1, 0.8, 0.5, 0.2, 0.1}. • Tua = {20, 30, 40, 50, 60, 70, 80}, di mana derajat keanggotaannya dinyatakan oleh Tua = {0.1, 0.2, 0.4, 0.6, 0.8, 1, 1}.
Konvensi penulisan fuzzy set • Konvensi untuk menuliskan fuzzy set yang dihasilkan dari universe U yang diskrit adalah sebagai berikut: • Pada contoh di atas, fuzzy set Tua ditulis sebagai:
Konvensi penulisan fuzzy set • Sedangkan jika U adalah kontinu, maka fuzzy set A dinotasikan sebagai:
Membership functions (Fungsi-fungsi keanggotaan) • Di dalam fuzzy sistems, fungsi keangotaan memainkan peranan yang sangat penting untuk merepresentasikan masalah dan menghasilkan keputusan yang akurat. • Terdapat banyak sekali fungsi keanggotaan yang bisa digunakan. • Di sini hanya akan dibahas empat fungsi keanggotaan yang sering digunakan, yaitu: • Fungsi sigmoid • Fungsi phi • Fungsi segitiga • Fungsi trapesium
Fungsi Sigmoid • Sesuai dengan namanya, fungsi ini berbentuk kurva sigmoidal seperti huruf S. • Setiap nilai x (anggota crisp set) dipetakan ke dalam interval [0,1].
Fungsi Phi • Pada fungsi keanggotaan ini, hanya terdapat satu nilai x yang memiliki derajat keanggotaan yang sama dengan 1, yaitu ketika x=c. • Nilai-nilai di sekitar c memiliki derajat keanggotaan yang masih mendekati 1.
Fungsi Segitiga • Sama seperti fungsi phi, pada fungsi ini juga terdapat hanya satu nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika x=b. • Tetapi, nilai-nilai di sekitar b memiliki derajat keanggotaan yang turun cukup tajam menjauhi 1.
Fungsi Trapesium • Berbeda dengan fungsi segitiga, pada fungsi ini terdapat beberapa nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika b x c • Tetapi derajat keanggotaan untuk a< x <b dan c< x dmemiliki karakteristik yang sama dengan fungsi segitiga.
Sistem berbasis aturan fuzzy • Variabel linguistik • Variabel linguistik adalah suatu interval numerik dan mempunyai nilai-nilai linguistik, yang semantiknya didefinisikan oleh fungsi keanggotaannya. • Misalnya, Suhu adalah variabel linguistik yang bisa didefinisikan pada interval [-100 C, 400 C]. • Variabel tersebut bisa memiliki nilai-nilai linguistik seperti ‘Dingin’, ‘Hangat’, ‘Panas’ yang semantiknya didefinisikan oleh fungsi-fungsi keanggotaan tertentu.
Suatu sistem berbasis aturan fuzzi yang lengkap terdiri dari tiga komponen utama: • Fuzzification • Inference • Defuzzification
Fuzzification • Fuzzification: mengubah masukan-masukan yang nilai kebenarannya bersifat pasti (crisp input) ke dalam bentuk fuzzy input.
Inference • Inference: melakukan penalaran menggunakan fuzzy input dan fuzzy rules yang telah ditentukan sehingga menghasilkan fuzzy output. • Secara sintaks, suatu fuzzy rule (aturan fuzzy) dituliskan sebagai: • IF antecendent THEN consequent • Terdapat dua model aturan fuzzy yang digunakan secara luas dalam berbagai aplikasi, yaitu: • Model Mamdani • Model Sugeno
Inference • Model Mamdani • Pada model ini, aturan fuzzy didefinisikan sebagai: IF x1 is A1 AND …AND xn is An THEN y is B di mana A1, …, An, dan B adalah nilai-nilai linguistik (atau fuzzy set) dan “x1 is A1” menyatakan bahwa nilai x1 adalah anggota fuzzy set A1.
Inference • Model Sugeno • Model ini dikenal juga sebagai Takagi-Sugeno-Kang (TSK) model, yaitu suatu varian dari Model Mamdani. • Model ini menggunakan aturan yang berbentuk: IF x1 is A1 AND…AND xn is An THEN y=f(x1,…,xn) di mana f bisa sembarang fungsi dari variabel-variabel input yang nilainya berada dalam interval variabel output. Biasanya, fungsi ini dibatasi dengan menyatakan f sebagai kombinasi linier dari variabel-variabel input: f(x1,…,xn) = w0 + w1x1 + …+wnxn di mana w0, w1,…,wn adalah konstanta yang berupa bilangan real yang merupakan bagian dari spesifikasi aturan fuzzy.
Defuzzification • Defuzzification: mengubah fuzzy output menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan. • Terdapat berbagai metode defuzzification yang telah berhasil diaplikasikan untuk berbagai macam masalah, di sini dibahas 5 metode di antaranya, yaitu: • Centroid method • Height method • First (or Last) of Maxima • Mean-Max method • Weighted Average
Defuzzification • Centroid method: • Metode ini disebut juga sebagai Center of Area atau Center of Gravity. • Metode ini menghitung nilai crisp menggunakan rumus: di mana y* suatu nilai crisp. • Fungsi integration dapat diganti dengan fungsi summation jika y bernilai diskrit, sehingga menjadi: di mana y* adalah nilai crisp dan R(y) adalah derajat keanggotaan dari y.
Defuzzification • Height method • Metode ini dikenal sebagai prinsip keanggotaan maksimum karena metode ini secara sederhana memilih nilai crisp yang memiliki derajat keanggotaan maksimum. • Oleh karena itu, metode ini hanya bisa dipakai untuk fungsi keanggotaan yang memiliki derajat keanggotaan 1 pada suatu nilai crisp tunggal dan dan 0 pada semua nilai crisp yang lain. • Fungsi seperti ini sering disebut sebagai singleton.
Defuzzification • First (or Last) of Maxima • Metode ini juga merupakan generalisasi dari height method untuk kasus di mana fungsi keanggotaan output memiliki lebih dari satu nilai maksimum. • Sehingga nilai crisp yang digunakan adalah salah satu dari nilai yang dihasilkan dari maksimum pertama atau maksimum terakhir (tergantung pada aplikasi yang akan dibangun).
Defuzzification • Mean-Max Method • Metode ini disebut juga sebagai Middle of Maxima. • Merupakan generalisasi dari height method untuk kasus di mana terdapat lebih dari satu nilai crisp yang memiliki derajat keanggotaan maksimum. • Sehingga y* didefinisikan sebagai titik tengah antara nilai crisp terkecil dan nilai crisp terbesar di mana m adalah nilai crisp yang paling kecil dan M adalah nilai crisp yang paling besar.
Defuzzification • Weighted Average • Metode ini mengambil nilai rata-rata dengan menggunakan pembobotan berupa derajat keanggotaan. Sehingga y* didefinisikan sebagai: di mana y adalah nilai crisp dan (y) adalah derajat keanggotan dari nilai crisp y.
Studi kasus • Teori tentang fuzzy set dan fuzzy logic banyak digunakan untuk membangun sistem berbasis aturan fuzzy untuk masalah kontrol, seperti masalah sprinkler control system (sistem kontrol penyiram air). • Misalkan nilai crisp yang diterima oleh sensor suhu adalah 370 C 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 trapesium dengan lima variabel linguistik: Cold, Cool, Normal, Warm, dan Hot
Dengan fungsi ini, maka crisp input suhu 370 C dikonversi ke nilai fuzzy dengan cara: • Suhu 370 C berada pada nilai linguistik Warm dan Hot. • Semantik atau derajat keanggotaan untuk Warm dihitung menggunakan rumus: • -(x-d)/(d-c), c< x d di mana 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 < x < b, di mana a=36, dan b=39. • Sehingga derajat keanggotaan untuk Hot=(37-36)/(39-36)=1/3.
Misalkan, kita juga menggunakan fungsi keanggotaan trapesium untuk kelembaban tanah.
Dengan fungsi ini, maka crisp input kelembaban 12% dikonversi menjadi nilai fuzzy dengan cara berikut ini: • Kelembaban 12% berada pada nilai linguistik Dry dan Moist. • Semantik atau derajat keanggotaan untuk Dry dihitung menggunakan rumus: • -(x-d)/(d-c), c < x d di mana c=10, dan d=20. • Sehingga derajat keanggotaan untuk Dry adalah -(12-20)/(20-10)=4/5. • Derajat keanggotaan untuk Moist dihitung dengan menggunakan rumus: • (x-a)/(b-a), a < x < b di mana a=10, dan b=20. • Sehingga derajat keanggotaan Moist=(12-10)/(20-10)=1/5.
Jadi, proses fuzzification menghasilkan empat fuzzy input: • Suhu Udara = Warm (2/3) dan Hot(1/3) • Kelembaban tanah = Dry (4/5) dan Moist(1/5).
Proses Inferensi • Terdapat berbagai macam cara dalam menentukan aturan fuzzy. • Misalkan, untuk durasi penyiraman digunakan fungsi keanggotaan trapesium dengan tiga nilai linguistik: Short, Medium, dan Long.
Dengan definisi aturan fuzzy tersebut, didapatkan 3x5=15 aturan fuzzy, yaitu: • IF Suhu=Cold AND Kelembaban=Dry THEN Durasi=Long . . . • IF Suhu=Hot AND Kelembaban=wet THEN Durasi=Short • Di sini akan dibahas penggunaan inferensi menggunakan model Mandani dan Model Sugeno.
Proses Inferensi menggunakan Model Mamdani • Jika menggunakan Model Mamdani, dapat digunakan dua cara inferensi, yaitu clipping (alpha-cut) atau scaling. • Metode yang paling umum digunakan adalah clipping karena mudah diimplementasikan dan bila diagregasikan dengan fungsi lain akan menghasilkan bentuk yang mudah di-defuzzification.
Dari empat data fuzzy input tersebut, Warm (2/3), Hot(1/3), Dry(4/5), dan Moist(1/5), didapatkan 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 inferensi yang terjadi adalah seperti di bawah ini. • Gunakan aturan Conjunction () dengan memilih derajat keanggotaan minimum dari nilai-nilai linguistik yang dihubungkan oleh dan lakukan clipping pada fungsi keanggotaan trapesium 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 () dengan memilih derajat keanggotaan maksimum dari nilai-nilai linguistik yang dihubungkan oleh . • Dari ‘Durasi is Long (2/3) Durasi is Long (1/3)’ dihasilkan ‘Durasi is Long (2/3)’. • Sedangkan dari ‘Durasi is Medium (1/5) ‘Durasi is Medium (1/5) dihasilkan ‘Durasi is Medium (1/5) ‘ • Dengan demikian diperoleh 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 gambar berikut:
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 fungsi Singleton untuk Durasi Penyiraman didefinisikan seperti gambar berikut:
Dengan cara yang sama seperti Model Mamdani, diperoleh: Durasi is Long (2/3) dan Durasi is Medium (1/5). • Proses inferensi menggunakan Model Sugeno menghasilkan dua derajat keanggotaan sebagai berikut:
Proses Defuzzification • Sebelum defuzzification, harus dilakukan proses composition, yaitu agregasi hasil clipping dari semua aturan fuzzy sehingga didapatkan satu fuzzy set tunggal.
Proses Defuzzification menggunakan Model Mamdani • Proses composition dari dua fuzzy set, Durasi is Medium (1/5) dan Durasi is Long (2/3) menghasilkan satu fuzzy set tunggal seperti berikut: