02.Modul 4 - Fuzzy Logic

16
 05-Jun-14 1 Fuzzy Logic - Hi m pu na n T eg a s vsHimp un an F u zz y - Fuzzifikasi - Inferensi - De fu zzi fi kas i Referensi : - Suyant o. (20 11). Artificial Intelligence . Bandung : Informatika . - Suy ant o. (20 08). Soft Computing . Bandung : Informat ika . - Sutoj o, T., Mu lyant o, E., & Suharto no, V. (20 11).KecerdasanBuatan . Yogyakarta : C.V .Andi Offset. Outline 1. Himpun an T ega s vs Himpun an Fuzzy 2. Fuzzi fik asi 3. Infe rensi 4. Defuz zifikasi 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

description

Fuzzy logic

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.