Intelligent Control System (Fuzzy Control)

  

Intelligent Control System

(Fuzzy Control) Yusuf Hendrawan STP., M.App.Life Sc., Ph.D

  What is Intelligence??? [1] IF … THEN … [2] Learning Iteration Process [3] Optimization

  GA Fuzzy

  ANN Logika Fuzzy : memetakan suatu ruang input ke dalam suatu ruang output Ruang Ruang Kotak output input

  Hitam

  Alasan digunakannya Logika Fuzzy:

  1. Konsep logika fuzzy mudah dimengerti

  2. Logika fuzzy sangat sederhana

  3. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat

  4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks

  5. Logika fuzzy dapat membangun dan mengaplikasikan pengalaman- pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan

  6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional

  7. Logika fuzzy didasarkan pada bahasa alami

  4 Fuzzy Applications

  • Theory of fuzzy sets and fuzzy logic has been applied to problems in

    a variety of fields:

  ▫ pattern recognition, decision support, data mining & information retrieval, medicine, law, taxonomy, topology, linguistics, automat a theory, game theory, etc.

  • And more recently fuzzy machines have been developed including:

  ▫ automatic train control, tunnel digging machinery, home appliances: washing machines, air conditioners, etc.

TRADITIONAL REPRESENTATION OF LOGIC

  Slow Fast

  Speed = 1 Speed = 0

  bool speed; get the speed if ( speed == 0) { // speed is slow } else { // speed is fast }

FUZZY LOGIC REPRESENTATION

  Slowest 

  For every problem

  [ 0.0 – 0.25 ]

  must represent in terms of fuzzy sets.

  Slow

  [ 0.25 – 0.50 ]

   What are fuzzy sets?

  Fast

  [ 0.50 – 0.75 ]

  Fastest

  [ 0.75 – 1.00 ]

FUZZY LOGIC REPRESENTATION

  

Slowest Slow Fast Fastest

float speed; get the speed if ((speed >= 0.0)&&(speed < 0.25)) { // speed is slowest }

else if ((speed >= 0.25)&&(speed < 0.5))

{

  // speed is slow }

else if ((speed >= 0.5)&&(speed < 0.75))

{

  // speed is fast } else // speed >= 0.75 && speed < 1.0 { // speed is fastest } Fuzzy Expert System

  • How to represent a fuzzy set in a computer ?

    The membership function must be determined first.

Terminology: Crisp or Fuzzy Logic

  • Crisp Logic

  ▫ A proposition can be true or false only.

   Bob is a student (true)

   Smoking is healthy (false)

  ▫ The degree of truth is 0 or 1 .

  • Fuzzy Logic

  ▫ The degree of truth is between 0 and 1 .

   William is young (0.3 truth)

   Ariel is smart (0.9 truth) Sistem Fuzzy

  a. Variabel Fuzzy Merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy,

  • contoh: umur, temperatur, permintaan, dll

  b. Himpunan Fuzzy Merupakan suatu grup yang mewakili suatu kondisi atau keadaan

  • tertentu dalam suatu variabel fuzzy Contoh: 1) variabel umur terbagi menjadi 3 himpunan fuzzy: MUDA,
  • PAROBAYA, TUA ; 2) variabel temperatur terbagi menjadi 5 himpunan fuzzy: DINGIN, SEJUK, NORMAL, HANGAT, PANAS

  c. Semesta Pembicaraan

  • Keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy, senantiasa bertambah (naik) secara monoton dari krii ke kanan. Contoh: 1) variabel umur [0, +∞]; 2) variabel temperatur [0, 40]

  d. Domain

  • Keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. Contoh: 1) MUDA [0, 45]; 2) PAROBAYA [35, 55]; 3) TUA [45, +∞]; 4) DINGIN [0, 20]; 5) SEJUK [15, 25]; 6) NORMAL [20, 30]; 7) HANGAT [25, 35]; 8) PANAS [30, 40]

  Fungsi Keanggotaan (Membership Function) Membership function adalah suatu kurva yang menunjukkan pemetaan titik-

  titik input data ke dalam nilai keanggotaannya yang memiliki interval antara 0 sampai 1 melalui pendekatan fungsi .

  a. Representasi Linear  pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas.

  1   ]=

  Derajat keanggotaan µ[x] a domain b

  Representasi Linear Naik

  1

  ] =

  =0.667  

  20 0.667

  30 Derajat keanggotaan µ[x]

  15

  1

   

  ; � ≤ � ≤ � 0 ; � ≥ �

  { ( �− � ) ( � −�)

  

  25

  [

  

  =0.7  

  Derajat keanggotaan µ[x] Representasi Linear Turun

  1 a b domain

  0.7 PANAS

  32

  µ[x]

  35 temperatur Derajat keanggotaan

  DINGIN

  • b. Representasi Kurva Segitiga  Gabungan antara 2 garis (linear).

  1   ]=

  Derajat keanggotaan µ[x] a b c domain

  Kurva Segitiga NORMAL

  1

  0.8 Derajat   =0.8 keanggotaan µ[x]

  15

  23

  30

  25 temperatur

  • c. Representasi Kurva Trapesium

   Sama seperti bentuk segitiga, hanya beberapa titik memiliki nilai keangg otaan 1

  ]=  

  1 a b domain

  Derajat keanggotaan µ[x] Kurva Trapesium d

  1

  15

  35 temperatur Derajat keanggotaan

  µ[x] 27 0.375

  24 NORMAL

  =0.375  

  c

  32

  • d. Representasi Kurva Bentuk Bahu

   Daerah yang terletak di tengah-tengah suatu variabel yang dipresentasika n dalam bentuk segitiga, pada sisi kanan dan kirinya akan naik dan turun.

  

Daerah bahu pada variabel Temperatur

  1

  28

temperature

Derajat keanggotaan µ[x]

  40 DINGIN SEJUK NORMAL HANGAT PANAS Bahu Kiri Bahu Kanan

  • d. Representasi Kurva S

     

    a b x b x

     

  2   

  2

  b a x µ[x]

  

     a b x b x

  1   

   Kurva PERTUMBUHAN dan PENYUSUTAN merupakan kurva-S atau sigmoid y ang berhubungan dengan kenaikan dan penurunan permukaan secara tak linear

  2

  2

  b a x µ[x]

  Kurva S PENYUSUTAN

  1 Derajat keanggotaan µ[x] domain

  Kurva S PERTUMBUHAN

  1 Derajat keanggotaan µ[x] domain

  

  • 1. Operator AND

  ▫ Berhubungan dengan operasi interseksi pada himpunan  mengambil nilai keanggotaan t erkecil. ▫ Contoh: Misal nilai keanggotaan 27 tahun pada himpunan MUDA adalah 0.6 (µMUDA[27] =0.6); dan nilai keanggotaan Rp. 2 juta pada himpunan penghasilan TINGGI adalah 0.8 (µ

  GAJITINGGI[2 x

  10

  6 =0.8]; maka α-predikat untuk usia MUDA dan berpenghasilan TINGGI adalah 0.6

  • 2. Operator OR

  ▫ Operator ini berhubungan dengan operasi union pada himpunan  mengambil nilai kean ggotaan terbesar. ▫ Contoh: Pada contoh diatas α-predikat untuk usia MUDA dan berpenghasilan TINGGI ada lah 0.8

  • 3. Operator NOT

  ▫ Berhubungan dengan operasi komplemen pada himpunan ▫ Contoh: nilai α-predikat untuk usia TIDAK MUDA adalah ▫ 1- µMUDA[27]=1-0.6= 0.4

  Operator Dasar Zadeh untuk Operasi Himpu nan Fuzzy

  Penalaran MONOTON

  • Metoda penalaran secara monoton digunakan seb agai dasar untuk teknik implikasi fuzzy  diguna kan untuk penskalaan fuzzy.
  • Jika 2 daerah fuzzy direalisasikan dengan implika si sederhana: IF x is A THEN y is B; transfer fungs inya y=f((x,A),B); maka sistem fuzzy dapat berjala n tanpa harus melalui komposisi dan dekomposis i fuzzy. Nilai output dapat diestimasi langsung da ri nilai keanggotaan yang berhubungan dengan an tesedennya.

  1

  0.7

  75 50 100 Light Intensity

  1

  0.7

  3

  5 Photosynthesis

  • -2 -1 umol CO2 m s
  •   

    Fuzzy Inference System

    • Metode Tsukamoto
    • Metode Mamdani
    • Metode Sugeno
    Metode Tsukamoto

    • Setiap konsekuen pada aturan yang berbentuk I

      F-THEN harus direpresentasikan dengan suatu

      himpunan fuzzy dengan fungsi keanggotaan y ang monoton;

    • Output hasil inferensi dari tiap-tiap aturan diber ikan secara tegas (crisp) berdasarkan α-predikat (fire strength);
    • Hasil akhirnya diperoleh dengan menggunakan rata-rata terbobot.

    Contoh

    • Misalkan ada 2 variabel input, Var-1(x) dan Var- 2(y), serta 1 variabel output, Var-3(z), dimana Va r-1 terbagi atas 2 himpunan yaitu A1 dan A2 terb agi atas 2 himpunan B1 dan B2, Var-3 juga terba gi atas 2 himpunan yaitu C1 dan C2 (C1 dan C2 h arus monoton). Ada 2 aturan yang digunakan, ya itu:
    • [R1] IF (x is A1) AND (y is B2) THEN (z is C1)
    • [R2] IF (x is A2) AND (y is B1) THEN (z is C2)

      1 Var-1 µ[x]

      B1 C2

         z z z

      1    

      1

      2

      2

      Rata-rata terbobot

      1 Var-3 α2 z2

      µ[z]

      1 Var-2 µ[y]

      A1 B2

      1 Var-1

      µ[x]

      A2

      α1 z1

      C1

      1 Var-3 µ[z]

      1 Var-2

      µ[y]

      Inferensi dengan menggunakan metode Tsukamoto

      Contoh 2

    • Suatu perusahaan makanan akan memproduksi makanan jenis

      ABC. Dari data 1 bulan terakhir, permintaan terbesar menc

      apai 5000 kemasan/hari, dan permintaan terkecil menc

    apai 1000 kemasan/hari. Persediaan barang di gudang t erbanyak mencapai 600 kemasan/hari, dan terkecil perna

    h mencapai 100 kemasan/hari. Dengan segala keterbatasann ya, sampai saat ini, perusahaan baru mampu memproduksi bara ng maksimum 7000 kemasan/hari, untuk efisiensi mesin d an SDM tiap hari diharapkan perusahaan memproduksi paling t idak 2000 kemasan/hari. Berapa kemasan makanan jenis AB

    C yang harus diproduksi, jika jumlah permintaan sebanyak 4

    000 kemasan, dan persediaan di gudang masih 300 kema

    san, apabila proses produksi perusahaan tersebut menggunaka n 4 aturan fuzzy sebagai berikut: Rules

    • [R1] IF permintaan TURUN And Persedian BAN YAK THEN Produksi Barang BERKURANG
    • [R2] IF permintaan TURUN And Persedian SED

      IKIT THEN Produksi Barang BERKURANG

    • [R3] IF permintaan NAIK And Persedian BANY

      AK THEN Produksi Barang BERTAMBAH
    • [R4] IF permintaan NAIK And Persedian SEDIK

      IT THEN Produksi Barang BERTAMBAH

      TURUN NAIK 1000 5000 4000

      0.25

      0.75 µ[x]

      Permintaan (kemasan/hari)

      

    Permintaan, terdiri atas 2 himpunan fuzzy, yaitu: NAIK dan TURUN

    Fungsi keanggotaan variabel Permintaan

    1.00 Nilai Keanggotaan: 25 .

      4000 4000 5000 ] 4000 [ 

       

       75 .

    TURUN PERMINTAAN

      4000 1000 4000 ] 4000 [ 

       

      

    NAIK PERMINTAAN

      

    Persediaan, terdiri atas 2 himpunan fuzzy, yaitu: SEDIKIT dan BANYAK

      µ[x] SEDIKIT

      BANYAK

      1.00

      0.60

      0.40 100

      600 300

      Persediaan (kemasan/hari)

      Fungsi keanggotaan variabel Persediaan

      Nilai Keanggotaan:

      600 300  [ 300 ] .

      6   

    PERSEDIAAN SEDIKIT

      500 300 100  [ 300 ] .

      4   

    PERSEDIAAN BANYAK

      500 BERKURANG BERTAMBAH 2000 7000

      µ[x] Produksi (kemasan/hari)

      Produksi, terdiri atas 2 himpunan fuzzy, yaitu: BERKURANG dan BERTAMBAH Fungsi keanggotaan variabel Persediaan

      1.00 Mencari Nilai z untuk setiap aturan dengan fungsi MIN  karena menggunakan And [R1] α1 = min (µ PERMINTAAN TURUN [4000], µ PERSEDIAAN BANYAK [300]  min (0.25; 0.4) = 0.25

      THEN Produksi Barang BERKURANG  (7000-z)/5000 = 0.25  z1 = 5750 [R2] α2 = min (µ PERMINTAAN TURUN [4000], µ PERSEDIAAN SEDIKIT [300]  min(0.25; 0.6) = 0.25

      THEN Produksi Barang BERKURANG  (7000-z)/5000 = 0.25  z2 = 5750 [R3] α3 = min (µ PERMINTAAN NAIK [4000], µ PERSEDIAAN BANYAK [300]  min (0.75; 0.4) = 0.4

      THEN Produksi Barang BERTAMBAH  (z-2000)/5000 = 0.4  z3= 4000 [R4] α4 = min (µ PERMINTAAN NAIK [4000], µ PERSEDIAAN SEDIKIT [300]  min (0.75; 0.6) = 0.6

      THEN Produksi Barang BERTAMBAH  (z-2000)/5000 = 0.6  z4= 5000

      0.25 5750

      0.4 4000 5000

      0.6 Jadi jumlah makanan yang harus diproduksi sebanyak 4983 kemasan

      1 7475   z

      2

      4983 5 .

             z

      6 . 4 . 25 . 25 .

             z z z z z

      1        

      1

      2

      3

      Nilai z dapat dicari dengan cara:

      3

      4

      4

      1

      2

      3

      4

    • 4000 6 . 5000 * * 5750 4 .
    • 5750 25 . 25 .
    Metode Mamdani

    • Metode Mamdani sering dikenal sebagai metode

      Max-Min, yang diperkenalkan oleh Ebrahim Ma

      mdani tahun 1975;
    • Output didapatkan dari 4 tahapan: 1) Pembentukan himpunan Fuzzy 2) Aplikasi fungsi implikasi (aturan) 3) Komposisi aturan 4) Penegasan (defuzzy)

      [R1] IF Permintaan TURUN And Persediaan BANYAK THEN Produksi Barang BERKURANG

      [R1] α1 = min (µ PERMINTAAN TURUN [4000], µ PERSEDIAAN BANYAK [300]  min (0.25; 0.4) = 0.25

      µ[x] µ[y] µ[z] µ[z]

    TURUN BANYAK BERKURANG

      1

      1

      1

      1

      0.4 α1

      0.25

      0.25 4000 300 Permintaan Persediaan Produksi Barang

      [R2] IF Permintaan TURUN And Persediaan SEDIKIT THEN Produksi Barang BERKURANG

      [R2] α2 = min (µ PERMINTAAN TURUN [4000], µ PERSEDIAAN SEDIKIT [300]  min (0.25; 0.6) = 0.25

      µ[y] µ[x]

      µ[z] µ[z]

    SEDIKIT TURUN

      BERKURANG

      1

      1

      1

      1

      0.6 α2

      0.25

      0.25 4000 300 Permintaan Persediaan Produksi Barang

      [R3] IF Permintaan NAIK And Persediaan BANYAK THEN Produksi Barang BERTAMBAH

      [R3] α3 = min (µ PERMINTAAN NAIK[4000], µ PERSEDIAAN BANYAK [300]  min (0.75; 0.4) = 0.4

      µ[x] µ[y] µ[z]

      µ[z]

    NAIK BANYAK BERTAMBAH

      1

      1

      1

      1

      0.75 α3

      0.4

      0.4 4000 300 Permintaan Persediaan Produksi Barang

      [R4] IF Permintaan NAIK And Persediaan SEDIKIT THEN Produksi Barang BERTAMBAH

      [R4] α4 = min (µ PERMINTAAN NAIK[4000], µ PERSEDIAAN SEDIKIT [300]  min (0.75; 0.6) = 0.6

      µ[x] µ[y] µ[z]

      µ[z]

    NAIK SEDIKIT BERTAMBAH

      1

      1

      1

      1 α4

      0.75

      0.6

      0.6 4000 300 Permintaan Persediaan Produksi Barang

      Komposisi Antar Aturan

      Dari hasil aplikasi fungsi implikasi dari tiap aturan, digunakan metoda MAX untuk melakukan komposisi antar semua aturan (a1-2000)/5000 = 0.25  a1 = 3250 (a2-2000)/5000 = 0.6  a2 = 5000

      0.25; z≤3250 (z-2000)/5000; 3250≤z≤5000

      µ[z] = 0.6; z≥5000

      µ[x] BERKURANG

      BERTAMBAH

      1.00

      0.6

      0.25 a1 a2 2000 7000

      Penegasan (Defuzzy)

      Salah satu metode penegasan yang bisa digunakan adalah metode centroid. Untuk, itu perlu dihitung momen untuk setiap daerah 0.25; z≤3250

      (z-2000)/5000; 3250≤z≤5000 µ[z] =

      0.6; z≥5000

      3250 3250

    2 M 1 ( .

      25 ) z dz . 125 z 1320312 .

      5   

      |  5000 5000

      5000

      ( z 2000 ) 

      2

      3

      2 M 2 z dz . 0002 z .

      4 z dz . 000067 z . 2 z 3187515 . 625      

      | 3250

       

      5000

      3250 3250 7000 7000

      2 M 3 ( . 6 ) z dz . 3 z 7200000   

      | 5000

       5000

      Kemudian dihitung luas setiap daerah: A1 = 3250*0.25 = 812.5

      Menghitung Titik Pusat: A2 = (0.25+0.6)*(5000-3250)/2 = 743.75 1320312 .

      5 3187515 . 625 7200000  

      A3 = (7000-5000)*0.6 = 1200

      

    z

    4247 .

      74   812 . 5 743 . 75 1200  

      Jadi jumlah makanan yang harus diproduksi sebanyak 4248 kemasan Metode Sugeno

    • Penalaran SUGENO hampir sama dengan MAM

      DANI;
    • Diperkenalkan oleh Takagi-Sugeno Kang tahun 1 985;
    • Output sistem tidak berupa himpunan fuzzy, mel

      ainkan berupa konstanta atau persamaan lini

      er.

      Metode Sugeno AND / OR

    • Model Fuzzy Sugeno Orde Nol

      N

      1

      1

      2

      2

      3

    3 N

      IF (x is A ) ο (x is A ) ο (x is A ) ο … ο (x is A ) THEN z=k

      i

    • dengan A adalah himpunan fuzzy ke-i sebagai antesenden, dan k adalah suatu konstanta (tegas) sebagai konsekuen.
      • Model Fuzzy Sugeno Orde Satu

      N N

      1

      1

      2

      2

      3

    3 N

      IF (x is A ) ο (x is A ) ο (x is A ) ο … ο (x is A ) THEN z=p*x1 + … + p

      N

    • x + q

      i

      i

    • dengan A adalah himpunan fuzzy ke-i sebagai antesenden, dan p adalah suatu konstanta (tegas) ke-i dan q juga merupakan konstanta dalam kons ekuen. Apabila komposisi aturan menggunakan metode SUGENO, maka defuzz y dilakukan dengan cara mencari nilai rata-ratanya.
    Modifikasi Aturan Persamaan ditentukan oleh User

    • [R1] IF permintaan TURUN And Persedian BANYAK

      ▫ THEN Produksi Barang = Permintaan - Persediaan

    • [R2] IF permintaan TURUN And Persedian SEDIKIT

      ▫ THEN Produksi Barang = Permintaan

    • [R3] IF permintaan NAIK And Persedian BANYAK

      ▫ THEN Produksi Barang = Permintaan

    • [R4] IF permintaan NAIK And Persedian SEDIKIT

      ▫ THEN Produksi Barang = (1.25 * Permintaan) - Persediaan Mencari Nilai α dan nilai z untuk setiap aturan dengan fungsi MIN  karena menggunakan And [R1] α1 = min (µ PERMINTAAN TURUN [4000], µ PERSEDIAAN BANYAK [300]  min (0.25; 0.4) = 0.25

      THEN Produksi Barang = Permintaan – Persediaan  Nilai z1 = 4000-300 = 3700 [R2] α2 = min (µ PERMINTAAN TURUN [4000], µ PERSEDIAAN SEDIKIT [300]  min(0.25; 0.6) = 0.25

      THEN Produksi Barang = Permintaan  Nilai z2 = 4000 [R3] α3 = min (µ PERMINTAAN NAIK [4000], µ PERSEDIAAN BANYAK [300]  min (0.75; 0.4) = 0.4

      THEN Produksi Barang = Permintaan  Nilai z3 = 4000 [R4] α4 = min (µ PERMINTAAN NAIK [4000], µ PERSEDIAAN SEDIKIT [300]  min (0.75; 0.6) = 0.6

      THEN Produksi Barang = (1.25 * Permintaan) – Persediaan  Nilai z4 = (1.25*4000)-300 = 4700

      Nilai z: z z z z

            

      1

      1

      2

      2

      3

      3

      4

      

    4

    z

             

      1

      2

      3

      4 25 3700 . 4000 . * 25 * * * .

      4 4000 . 6 4700    z

       . 25 . 25 . 4 .

      6    6345 z 4230

       

      Jadi jumlah makanan yang harus 1 .

      5

      diproduksi sebanyak 4230 kemasan Fuzzy Controllers

      41

    • Used to control a physical system

      42

      Structure of a Fuzzy Controller

      Types of Fuzzy Controllers: - Supervisory Control - Types of Fuzzy Controllers: - Supervisory Control - Fuzzy Logic Controller Outputs Set Values for Underlying PID Controllers: Fuzzy Logic Controller Outputs Set Values for Underlying PID Controllers: Fuzzification Inference Defuzzification

      IF temp=low AND P=high THEN A=med IF ... Set Values Measured Variables Plant PID PID PID

      Types of Fuzzy Controllers: - PID Adaptation - Types of Fuzzy Controllers: - PID Adaptation - Fuzzy Logic Controller Adapts the P, I, and D Parameter of a Conventional PID Controller: Fuzzy Logic Controller Adapts the P, I, and D Parameter of a Conventional PID Controller: Fuzzification Inference Defuzzification

      IF temp=low AND P=high THEN A=med IF ... P Measured Variable Plant PID

      I D Set Point Variable Command Variable

      Types of Fuzzy Controllers: Types of Fuzzy Controllers: - Fuzzy Intervention - - Fuzzy Intervention - Fuzzy Logic Controller and PID Controller in Parallel: Fuzzy Logic Controller and PID Controller in Parallel: Set Point Variable

      IF temp=low AND P=high Command Variable THEN A=med IF ...

      Plant PID Fuzzification Inference Defuzzification Measured Variable