Intelligent Control System (Fuzzy Control)
Intelligent Control System
(Fuzzy Control) Yusuf Hendrawan STP., M.App.Life Sc., Ph.DWhat 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.
- 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
- Metode Tsukamoto
- Metode Mamdani
- Metode Sugeno
Setiap konsekuen pada aturan yang berbentuk I
F-THEN harus direpresentasikan dengan suatu
- Output hasil inferensi dari tiap-tiap aturan diber ikan secara tegas (crisp) berdasarkan α-predikat (fire strength);
Hasil akhirnya diperoleh dengan menggunakan rata-rata terbobot.
- 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)
Suatu perusahaan makanan akan memproduksi makanan jenis
ABC. Dari data 1 bulan terakhir, permintaan terbesar menc
- [R1] IF permintaan TURUN And Persedian BAN YAK THEN Produksi Barang BERKURANG
- [R2] IF permintaan TURUN And Persedian SED
[R3] IF permintaan NAIK And Persedian BANY
AK THEN Produksi Barang BERTAMBAH- [R4] IF permintaan NAIK And Persedian SEDIK
- 4000 6 . 5000 * * 5750 4 .
- 5750 25 . 25 .
- 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)
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. - Model Fuzzy Sugeno Orde Nol
- dengan A adalah himpunan fuzzy ke-i sebagai antesenden, dan k adalah suatu konstanta (tegas) sebagai konsekuen.
- Model Fuzzy Sugeno Orde Satu
- x + q
- 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.
- [R1] IF permintaan TURUN And Persedian BANYAK
- [R2] IF permintaan TURUN And Persedian SEDIKIT
- [R3] IF permintaan NAIK And Persedian BANYAK
- [R4] IF permintaan NAIK And Persedian SEDIKIT
- Used to control a physical system
Fuzzy Inference System
himpunan fuzzy dengan fungsi keanggotaan y ang monoton;
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
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
IKIT THEN Produksi Barang BERKURANG
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 Permintaan1.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
[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
Metode Sugeno AND / OR
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
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
i
i
▫ THEN Produksi Barang = Permintaan - Persediaan
▫ THEN Produksi Barang = Permintaan
▫ THEN Produksi Barang = Permintaan
▫ 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
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