Intelligent Control System
(Fuzzy Control)
What is Intelligence???
[1] IF … THEN …
[2] Learning Iteration Process
[3] Optimization
Fuzzy
Logika Fuzzy : memetakan suatu ruang input ke dalam suatu ruang output
Ruang input
Ruang output Kotak
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
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,
TRADITIONAL REPRESENTATION OF LOGIC
Slow
Fast
Speed = 0 Speed = 1
bool speed; get the speed
if ( speed == 0) {
// speed is slow }
else {
FUZZY LOGIC REPRESENTATION
For every problem
must represent in
terms of fuzzy sets.
What are fuzzy
sets?
Slowest
Fastest
Slow
Fast
[ 0.0 – 0.25 ]
[ 0.25 – 0.50 ]
[ 0.50 – 0.75 ]
FUZZY LOGIC REPRESENTATION
Slowest
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 }
•
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)
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
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.
0 1
a domain b Derajat
keanggotaan µ[x]
Representasi Linear Naik
]=
0 1 25 35 temperatur Derajat keanggotaan µ[x] 32 0.7 PANAS 0 1
a domain b Derajat
keanggotaan µ[x]
Representasi Linear Turun
=0.7
�
[�
]=
{
(
�
−
�
)
(
�
−
�
)
;
�
≤
�
≤
�
0
;
�
≥
�
•
b. Representasi Kurva Segitiga
Gabungan antara 2 garis (linear).
]=
0 1
a b
domain Derajat
keanggotaan µ[x]
Kurva Segitiga
c
0 1
15 30
temperatur Derajat
keanggotaan µ[x]
25 0.8
23
NORMAL
=0.8
•
c. Representasi Kurva Trapesium
Sama seperti bentuk segitiga, hanya beberapa titik memiliki nilai keangg
otaan 1
]=
0 1
a b
domain Derajat
keanggotaan µ[x]
Kurva Trapesium
d
0 1
15 35
temperatur Derajat
keanggotaan µ[x]
27 0.375
24
NORMAL
=0.375
c
•
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
0 1
0 28
temperature Derajat
keanggotaan µ[x]
40
DINGIN SEJUK NORMAL HANGAT PANAS
• d. Representasi Kurva S
Kurva PERTUMBUHAN dan PENYUSUTAN merupakan kurva-S atau sigmoid y
ang berhubungan dengan kenaikan dan penurunan permukaan secara tak linear
0 1
Derajat keanggotaan µ[x]
domain
Kurva S PERTUMBUHAN
0 1
Derajat keanggotaan µ[x]
domain
Kurva S PENYUSUTAN
•
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[2x106=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
•
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.
0 1
50 100
Light Intensity 75 0.7
0 1
Photosynthesis umol CO2 m-2 s-1
5 3
Fuzzy Inference System
•
Metode Tsukamoto
•
Metode Mamdani
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
Contoh
•
Misalkan ada 2 variabel input, 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)
1 0 Var-1 µ[x] A1 B2 µ[y] 1 0 Var-2 1 0 Var-3 µ[z] C1 α1 z1 A2 µ[x] 1 0 Var-1 1 0 Var-2 µ[y] B1 C2 µ[z] 1 0 Var-3 α2 z2 Rata-rata terbobot 2 1 2 2 1 1
z
z
z
Contoh 2
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
TURUN NAIK
1000 4000 5000
0.25 0.75 µ[x]
Permintaan (kemasan/hari)
Permintaan, terdiri atas 2 himpunan fuzzy, yaitu: NAIK dan TURUN
Fungsi keanggotaan variabel Permintaan
SEDIKIT BANYAK
100 300 600
0.40 0.60 µ[x]
Persediaan (kemasan/hari)
Persediaan, terdiri atas 2 himpunan fuzzy, yaitu: SEDIKIT dan BANYAK
Fungsi keanggotaan variabel Persediaan
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
Nilai z dapat dicari dengan cara:
4
3
2
1
4
4
3
3
2
2
1
1
z
z
z
z
z
6
.
0
4
.
0
25
.
0
25
.
0
5000
*
6
.
0
4000
*
4
.
0
5750
*
25
.
0
5750
*
25
.
0
z
4983
5
.
1
7475
z
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
1
0
4000 µ[x]
TURUN BANYAK
µ[y]
1
0
300
1
0 µ[z]
BERKURANG
α1
[R1] IF Permintaan TURUN And Persediaan BANYAK THEN Produksi Barang BERKURANG
Permintaan Persediaan Produksi Barang 1
0 0.25
µ[z]
[R1] α1 = min (µ PERMINTAAN TURUN [4000], µ PERSEDIAAN BANYAK [300]
min (0.25; 0.4) = 0.25
1
0
4000 µ[x]
TURUN SEDIKIT
0
300
1
0 µ[z]
BERKURANG
α2
[R2] IF Permintaan TURUN And Persediaan SEDIKIT THEN Produksi Barang BERKURANG
Permintaan Persediaan Produksi Barang 1
0 0.25
µ[z]
[R2] α2 = min (µ PERMINTAAN TURUN [4000], µ PERSEDIAAN SEDIKIT [300]
min (0.25; 0.6) = 0.25
1 µ[y]
0.25
[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
0
4000
BANYAK µ[y]
1
0
300 0
Permintaan Persediaan Produksi Barang 1
0 0.4 µ[z]
0.4 NAIK µ[x]
1 0.75
BERTAMBAH µ[z]
[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
0
4000 300 0
Permintaan Persediaan Produksi Barang 1
0 0.6 µ[z] NAIK
µ[x]
1 0.75
BERTAMBAH µ[z]
1 α4 SEDIKIT
1 µ[y]
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
BERKURANG BERTAMBAH
2000 7000
µ[x] 1.00
0.25
5000 0.6
3250
a1 a2
µ[z] =
0.25; z≤3250
Penegasan (Defuzzy)
Salah satu metode penegasan yang bisa digunakan adalah metode centroid. Untuk, itu perlu dihitung momen untuk setiap daerah
Kemudian dihitung luas setiap daerah: A1 = 3250*0.25 = 812.5
A2 = (0.25+0.6)*(5000-3250)/2 = 743.75 A3 = (7000-5000)*0.6 = 1200
µ[z] =
0.25; z≤3250
(z-2000)/5000; 3250≤z≤5000 0.6; z≥5000
5 . 1320312 125 . 0 ) 25 . 0 (
1
|
32500 3250 0 2
z dz zM 625 . 3187515 2 . 0 000067 . 0 4 . 0 0002 . 0 5000 ) 2000 (
2
|
50003250 5000 3250 2 3 5000 3250 2
z z dz
z z dz z zM
7200000
3
.
0
)
6
.
0
(
3
|
70005000 7000 5000 2
z
dz
z
M
74 . 4247 1200 75 . 743 5 . 812 7200000 625 . 3187515 5 . 1320312 zMenghitung Titik Pusat:
Jadi jumlah makanan yang harus
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
Metode Sugeno
• Model Fuzzy Sugeno Orde Nol
IF (x1 is A1) ο (x2 is A2) ο (x3 is A3) ο … ο (xN is AN) THEN z=k
- dengan Ai adalah himpunan fuzzy ke-i sebagai antesenden, dan k adalah
suatu konstanta (tegas) sebagai konsekuen.
• Model Fuzzy Sugeno Orde Satu
IF (x1 is A1) ο (x2 is A2) ο (x3 is A3) ο … ο (xN is AN) THEN z=p*x1 + … + pN
*xN + q
- dengan Ai adalah himpunan fuzzy ke-i sebagai antesenden, dan pi 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
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: 4 3 2 1 4 4 3 3 2 2 1 1
z
z
z
z
z
6
.
0
4
.
0
25
.
0
25
.
0
4700
*
6
.
0
4000
*
4
.
0
4000
*
25
.
0
3700
*
25
.
0
z
4230
5
.
1
6345
z
Jadi jumlah makanan yang harus41
Fuzzy Controllers
42
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
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
Types of Fuzzy Controllers:
- Fuzzy Intervention -
Types of Fuzzy Controllers:
- Fuzzy Intervention -
Fuzzy Logic Controller and PID Controller in Parallel:
Fuzzy Logic Controller and PID Controller in Parallel:
Fuzzification Inference Defuzzification
IF temp=low AND P=high THEN A=med IF ...
Measured Variable
Plant PID
Set Point Variable