Fuzzy Logic (Logika Fuzzy)

Fuzzy Logic

Pendahuluan Sistem Fuzzy

Sistem fuzzy diawali oleh Dr. Lotfi Zadeh pada tahun 1960an, pada dasarnya berhubungan dengan bagaimana manusia menangani ketidaktepatan (imprecise) dan informasi yang tidak pasti (uncertain). Ia menirukan bagaimana manusia menggunakan perkiraan pertimbangan (approximate reasoning) dalam hal berhubungan dengan ketidaktepatan (impresion), ketidakpastian (uncertainty), ketidakakurasian (inaccuracy), ketidakpersisan (inexactness), kerancuan (ambiguity), ketidakjelasan (vagueness), kekualitatifan (qualitativeness), subjektifitas (subjectivity) dan persepsi (perception) yang dialami setiap hari dalam pengambilan keputusan.

Sistem fuzzy mampu untuk menangani istilah-istilah samar-samar seperti quite (sungguh), very (amat) dan extremely (ekstrim) yang normal dipakai dalam bahasa sehari-hari. Ini secara langsung ada dalam konsep "komputasi dengan kata - computing with words (CW)" yang secara kontras beda dengan manipulasi bilangan dan simbol. Konsep komputasi dengan kata berhubungan dengan bahasa dan persepsi sedangkan manipulasi bilangan dan simbol berhubungan dengan pengukuran crisp (krispi, kaku, kering, garing) dan tertentu.

Menurut Zadeh manusia sukses dalam pengembangan mulai dari persepsi menuju pengukuran (sehingga sukses berhubungan dengan pengukuran yang tepat seperti halnya operasi-operasi di bidang penerbangan) tetapi masih harus mengembangkan pengukuran menuju ke persepsi (sehingga sukses dalam menangani fungsionalitas fleksibel seperti halnya pergerakan robot yang seperti manusia).

"Komputasi lunak - soft computing" diciptakan oleh Zadeh. Area ini, seperti yang dia katakan adalah perpaduan dari teknik dan metodologi diantara fuzzy logic (logika fuzzy), neuro-computing (komputasi syaraf) dan probabilistic reasoning (pertimbangan probabilistik) yang selanjutnya diikuti oleh algoritma genetika, chaotic systems (sistem chaos), belief networks (jaringan kepercayaan) dan bagian-bagian learning theory (teori pembelajaran).

Apa itu Logika Fuzzy

Logika fuzzy adalah superset (bagian yang melingkupi) logika boolean konvensional yang dikembangkan untuk menangani konsep kebenaran sebagian - nilai kebenaran diantara "kebenaran lengkap" dan "kesalahan lengkap". Transisi dari nilai kebenaran dari "kebenaran lengkap" ke "kesalahan lengkap" ditampilkan dalam fuzzy sets dan tidak dalam crisp sets.

Dalam crisp sets, seperti halnya set A dari umur tua {A | A >= 35} ada perbedaan yang tajam atau batasan diantara anggota set/himpunan, dan mereka yang bukan anggota dari himpunan. Dalam contoh, hanya usia yang lebih besar atau sama dengan 35 dipertimbangkan sebagai anggota dari himpunan A, dan usia yang lain bukanlah anggota. Tetapi bagaimana dengan 34.8? Akankah ia dianggap sebagai tua? Apakah usia diantara 35 dan 85 juga membawa konsep yang sama dengan "tua"? Dengan kata lain, bagaimana tua itu "tua"? Masalah yang sama timbul dalam mengklasifikasikan pelbagai pengukuran yang lain seperti tingkat panas-dingin dari suatu suhu, tinggi badan dan kemahalan dalam harga. Ketidaktepatan dan ketidakpastian dalam istilah seperti halnya fleksibelitas dalam nilai kebenaran dapat ditangani dalam fuzzy sets tetapi hal ini tidak bias dalam crisp sets.

Dalam fuzzy sets, transisi dari fungsi anggota ke fungsi kebukananggotaan dalam himpunan adalah gradual (berjenjang) dan tidak berubah secara mendadak. Gambar di bawah ini menjelaskan perbedaan diantara crisp set dan fuzzy set dari usia tua.

Perbedaan crisp dan fuzzy set untuk usia tua
Gambar 1 Perbedaan crisp dan fuzzy set untuk usia tua

Dalam ilustrasi fuzzy set A, usia 35 atau di bawahnya masih mejadi anggota fuzzy set A usia tua tetapi derajat keanggotaannya lebih rendah. Derajat keanggotaan dalam fuzzy set adalah dalam jangkauan 0.0 (bukan anggota) sampai 1.0 (anggota penuh) yang kontras dengan hanya 0.0 (member) atau 1.0 (bukan anggota) dalam crisp set. Umumnya, derajat keanggotaan dalam fuzzy set usia muda berkurang pada saat usia juga berkurang. Jika kita memiliki fuzzy set B usia muda, kita harapkan derajat keanggotaannya meningkat bersama dengan meningkatnya usia.

Dari gambar di atas, usia 45 dapat dipersepsikan dalam logika fuzzy sebagai "tua" pada angka sekitar 0.95 dan sebagai "muda" pada angka sekitar 0.5. Hingga kita berpindah dari pengukuran eksak, crisp ke non eksak, persepsi fuzzy yang secara normal diasosiasikan ke kata atau istilah linguistik (berhubungan dengan bahasa).

Logika fuzzy sudah diaplikasikan dalam sistem pakar untuk menangani ketidakpastian bahasa yang digunakan oleh pakar ketika mereka mengungkapkan dengan kata-kata pengetahuan mengenai domain tertentu. Derajat ketidakpastian digunakan tidak hanya dalam merepresentasikan pengetahuan pakar, tetapi juga dalam pemrosesan tugas-tugas pakar.

Pengetahuan direpresentasikan dalam sistem pakar fuzzy menggunakan variabel linguistik, nilai linguistik, istilah linguistik, fungsi keangggotaan dan rule IF-THEN fuzzy.

Alasan Menggunakan Logika Fuzzy

Fuzzy logic menawarkan beberapa karakteristik unik yang menjadikannya suatu pilihan yang baik untuk banyak masalah control. Karakteristik tersebut antara lain :

  1. Sudah menjadi sifatnya yang kuat selama tidak membutuhkan ketepatan, input yang bebas derau, dan dapat diprogram untuk gagal dengan aman jika sensor arus balik dimatikan atau rusak. Control output adalah fungsi control halus meskipun jarak variasi input yang cukup besar.
  2. Selama fuzzy logic controller memproses aturan - aturan yang dibuat user yang memerintah system control target, ia dapat dimodifikasi dengan mudah untuk meningkatkan atau mengubah secara drastis performa system. Sensor yang baru dapat dengan mudah digabungkan kedalam system secara sederhana dengan menghasilkan aturan memerintah yang sesuai.
  3. Fuzzy logic tidak terbatas pada sedikit masukan umpan-balik dan satu atau dua output control, tidak juga penting untuk menilai atau menghitung parameter rata - rata perubahan dengan tujuan agar ia diimplementasikan. Sensor data yang menyediakan beberapa indikasi untuk aksi dan reaksi system sudah cukup. Hal ini memungkinkan sensor menjadi murah dan tidak tepat sehingga menghemat biaya system keseluruhan dan kompleksitas rendah.
  4. Karena operasi - operasi yang berbasiskan aturan, jumlah input yang masuk akal dapat diproses ( 1 sampai 8 atau lebih ) dan banyak output ( 1 sampai 4 atau lebih ) dihasilkan, walaupun pendefinisian rulebase secara cepat menjadi rumit jika terlalu banyak input dan output dipilih untuk implementasi tunggal selama pendefinisian rules(aturan), hubungan timbal baliknya juga harus didefinisikan. Akan lebih baik jika memecah system kedalam potongan - potongan yang lebih kecil dan menggunakan fuzzy logic controllers yang lebih kecil untuk didistribusikan pada system, masing - masing dengan tanggung jawab yang lebih terbatas.
  5. Fuzzy Logic dapat mengontrol system nonlinier yang akan sulit atau tidak mungkin untuk dimodelkan secara matematis. Hal ini membuka pintu bagi system control yang secara normal dianggap tidak mungkin untuk otomatisasi.

Bagaimana Menggunakan Logika Fuzzy

Adapun langkah - langkah penggunaan fuzzy logic adalah sebagai berikut:

  • Definisikan obyektif dan kriteria control:
    1. Apa yang kita coba control?
    2. Apa yang harus kita lakukan untuk mengontrol sistem?
    3. Respon seperti apa yang kita harapkan?
    4. Apa mode kegagalan sistem yang mungkin?
  • Tentukan hubungan antara input dan output serta memilih jumlah minimum variable input pada mesin fuzzy logic(secara khusus error dan rata - rata perubahan error).
  • Dengan menggunakan struktur berbasis aturan dari fuzzy logic, jabarkan permasalahan control ke dalam aturan IF X AND Y THEN Z yang mendefinisikan respon output system yang diinginkan untuk kondisi input system yang diberikan. Jumlah dan kompleksitas dari rules bergantung pada jumlah parameter input yang diproses dan jumlah variable fuzzy yang bekerjasama dengan tiap - tiap parameter. Jika mungkin, gunakan setidaknya satu variable dan turunan waktunya. Walaupun mungkin untuk menggunakan sebuah parameter tunggal yang error saat itu juga tanpa mengetahui rata - rata perubahannya, hal ini melumpuhkan kemampuan system untuk meminamalisasi keterlampauan untuk sebuah tingkat input.
  • Buat fungsi keanggotaan yang menjelaskan nilai input atau output yang digunakan didalam rules.
  • Buat rutinitas proses awal dan akhir yang penting jika diimplementasikan dalam software, sebaliknya program rules kedalam mesin hardware fuzzy logic.
  • Test system, evaluasi hasil, atur rules dan fungsi keanggotaan, dan retest sampai hasil yang memuaskan didapat.

Himpunan Fuzzy

Tahun 1965, Profesor L.A. Zadeh memperkenalkan teori himpunan fuzzy, yang secara tidak langsung mengisyaratkan bahwa tidak hanya teori probabilitas saja yang dapat merepresentasikan ketidakpastian. Teori himpunan fuzzy adalah merupakan perluasan dari teori logika Boolean yang menyatakan tingkat angka 1 atau 0 atau pernyataan benar atau salah, sedang pada teori logika fuzzy terdapat tingkat nilai, yaitu :

1. satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu himpunan, atau
2. nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu himpunan.

Model Sistem Pakar Fuzzy

Sebuah sistem pakar fuzzy terdiri dari 4 buah komponen yang diberi nama: fuzzifier (pemfuzzifikasi), inference engine (mesin inferensia), defuzzier (defuzzifikasi) dan fuzzy rule base. Untuk lebih mudahnya, hal tersebut dapat disajikan pada gambar 11.4 berikut ini.

Model sistem pakar fuzzy
Gambar 2 Model sistem pakar fuzzy

Dalam fuzzifier, crisp input difuzzifikasikan kedalam nilai-nilai linguistik yang diasosiasikan ke input variabel linguistik. Setelah fuzzification (pemfuzzifikasian), mesin inferensia mengacu pada fuzzy rule base yang mengandung rule-rule IF-THEN untuk menurunkan nilai-nilai linguistik untuk variabel linguistik menengah dan output. Sekali nilai linguistic output tersedia, defuzzifier menghasilkan nilai akhir crisp dari nilai-nilai linguistik output.

Fuzzification

Melalui penggunaan fungsi anggota yang mendefinisikan setiap fuzzy set untuk setiap variabel linguistik, derajat keanggotaan dari nilai crisp dalam setiap fuzzy set dapat ditentukan. Seperti contoh pada gambar 11.5 di bawah ini variabel numerik "usia" yang memberikan nilai 25.0 di fuzzifikasikan menggunakan triangular MF mendefinisikan setiap fuzzy set untuk variabel linguistik "usia". Sebagai hasil dari fuzzification, variabel linguistic usia memiliki nilai linguistik "muda" dengan derajat keanggotaan 0.666, "sangat tua" dengan nilai 0.333 dan untuk nilai linguistik yang lain dengan nilai 0.0.

Contoh fuzzification dari crisp input
Gambar 3 Contoh fuzzification dari crisp input

Dalam aplikasi sistem pakar fuzzy, setiap nilai crisp variabel input pertama kali difuzzifikasikan ke dalam nilai linguistik sebelum mesin inferensia mengolahnya dalam pemrosesan dengan rule base.

Fuzzy Rule Base dan Fuzzy IF-THEN Rules

Sistem pakar fuzzy menggunakan fuzzy IF-THEN rules. Sebuah fuzzy IF-THEN rule memiliki bentuk:
IF X 1 = A 1 and X 2 = A 2 ... and X n = A n THEN Y = B

Dimana X i dan Y adalah variabel linguistik, sedangkan dan A i dan B adalah istilah linguistik. Bagian IF adalah antecedent atau premise (dasar pikiran/alasan), sedangkan bagian THEN adalah consequence atau conclusion (konklusi). Sebagai contoh dari fuzzy IF-THEN rule adalah:

IF pressure = "low" THEN volume = "big"

Contoh lain adalah seperti di bawah ini untuk masalah profile investasi.

IF (age = "young") and (fund = "small") THEN (tolerance = "risk neutral")
IF (age = "quite old") and (fund = "large") THEN (tolerance = "venturesome")
IF (fund = "very large") THEN (tolerance = "venturesome")

Dalam sistem pakar fuzzy, koleksi dari fuzzy IF-THEN rules disimpan dalam fuzzy rule base yang tereferensi oleh mesin inferensia saat mengolah input.

Mesin Inferensia

Sekali semua nilai crisp input telah difuzzifikasikan dalam nilai linguistik yang bersesuaian, mesin inferensia akan mengakses fuzzy rule base dari sistem pakar fuzzy untuk menurunkan nilai-nilai linguistik untuk hasil variabel linguistik antara (intermediate) sebagaimana variabel linguistik output.

Dua langkah utama dalam proses inferensia adalah aggregation (agregasi - pengumpulan) dan composition (komposisi - penyusunan). Agregasi adalah proses penghitungan untuk nilai-nilai dari bagian IF (antecedent) dari rule dimana komposisi adalah proses penghitungan untuk nilai-nilai di bagian THEN (konklusi) dari suatu rule.

Selama agregasi, setiap kondisi dalam bagian IF suatu rule diberi nilai derajat kebenaran berdasarkan pada derajat keanggotaan istilah linguistik yang sesuai. Dari sini, baik minimum (MIN) atau product (PROD) dari derajat kebenaran dari kondisi-kondisi biasanya dihitung untuk memotong derajat kebenaran dari bagian IF. Ini diberi nilai sebagaimana pada derajat kebenaran pada bagian THEN.

Sebagai contoh, diberikan rule-rule seperti di bawah ini.

Rule 1: min{0.6, 0.2} = 0.2
Rule 2: min{0.3, 0.35} = 0.3
Rule 3: min{0.45} = 0.45

Sehingga, bagian THEN dari rule 1, 2 dan 3 adalah 0.2, 0.3 dan 0.45 berturut-turut.

Langkah terakhir dalam proses inferensia adalah menentukan derajat kebenaran setiap istilah linguistik dari variabel linguistik output. Biasanya, baik maximum (MAX) maupun sum (SUM) dari derajat kebenaran dari rule dengan istilah linguistik yang sama dalam bagian THEN lalu dihitung untuk menentukan derajat kebenaran untuk setiap istilah linguistik dari variabel linguistik output.

Dari contoh sebelumnya, hasil perhitungan derajat kebenaran untuk istilah linguistik untuk toleransi variabel output menggunakan MAX adalah:

"risk neutral": max{0.2} = 0.2
"venturesome": max{0.3, 0.45} = 0.45

Ada banyak variasi metode agregasi dan komposisi yang tersedia dalam pelbagai literature yang berbeda.

Di bawah ini adalah beberapa contoh aplikasi Fuzzy Logic:

  • Penghematan Konsumsi Daya Listrik AC (Mitsubhishi Heavy Industries Tokyo).
  • Mesin Cuci.
  • Kamera.
  • Sistem Pengereman Mobil (Nissan).
  • Pengontrol kereta bawah tanah di Sendai, Jepang.

Referensi:

  • Irfan Subakti, M.Sc.Eng. 2006. Sistem Berbasis Pengetahuan. Surabaya: Edisi Jurusan T. Informatika - ITS
  • https://www.academia.edu/4858948/FUZZY_LOGIC_ASAL_MULA_FUZZY_LOGIC_Konsep_Fuzzy_Logic_diperkenalkan_oleh_Prof

Post a Comment