470 likes | 686 Views
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. Logika Fuzzy : memetakan suatu ruang input ke dalam suatu ruang output. Kotak Hitam. Ruang output.
E N D
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
Logika Fuzzy : memetakansuaturuang input kedalamsuaturuang output KotakHitam Ruang output Ruang input AlasandigunakannyaLogika Fuzzy: Konseplogika fuzzy mudahdimengerti Logika fuzzy sangatsederhana Logika fuzzy memilikitoleransiterhadap data-data yang tidaktepat Logika fuzzy mampumemodelkanfungsi-fungsi nonlinear yang sangatkompleks Logika fuzzy dapatmembangundanmengaplikasikanpengalaman-pengalamanparapakarsecaralangsungtanpaharusmelalui proses pelatihan Logika fuzzy dapatbekerjasamadenganteknik-teknikkendalisecarakonvensional Logika fuzzy didasarkanpadabahasaalami
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, automata 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 = 0 Speed = 1 bool speed; get the speed if ( speed == 0) { // speed is slow } else { // speed is fast }
FUZZY LOGIC REPRESENTATION Slowest • For every problem must represent in terms of fuzzy sets. • What are fuzzy sets? [ 0.0 – 0.25 ] Slow [ 0.25 – 0.50 ] 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 • Variabel Fuzzy • Merupakanvariabel yang hendakdibahasdalamsuatusistem fuzzy, contoh: umur, temperatur, permintaan, dll • Himpunan Fuzzy • Merupakansuatugrup yang mewakilisuatukondisiataukeadaantertentudalamsuatuvariabel fuzzy • Contoh: 1) variabelumurterbagimenjadi 3 himpunan fuzzy: MUDA, PAROBAYA, TUA ; 2) variabeltemperaturterbagimenjadi 5 himpunan fuzzy: DINGIN, SEJUK, NORMAL, HANGAT, PANAS • SemestaPembicaraan • - Keseluruhannilai yang diperbolehkanuntukdioperasikandalamsuatuvariabel fuzzy, senantiasabertambah (naik) secaramonotondarikriikekanan. Contoh: 1) variabelumur [0, +∞]; 2) variabeltemperatur [0, 40] • Domain • - Keseluruhannilai yang diijinkandalamsemestapembicaraandanbolehdioperasikandalamsuatuhimpunan 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]
FungsiKeanggotaan(Membership Function) Membership functionadalahsuatukurva yang menunjukkanpemetaantitik-titik input data kedalamnilaikeanggotaannya yang memiliki interval antara 0 sampai 1 melaluipendekatanfungsi. Representasi Linear pemetaan input kederajatkeanggotaannyadigambarkansebagaisuatugarislurus. Bentukini paling sederhanadanmenjadipilihan yang baikuntukmendekatisuatukonsep yang kurangjelas. 1 ]= Derajatkeanggotaan µ[x] 0 a domain b Representasi Linear Naik
PANAS 1 =0.7 0.7 Derajatkeanggotaan µ[x] 0 32 25 35 temperatur 1 Derajatkeanggotaan µ[x] 0 a domain DINGIN b Representasi Linear Turun 1 Derajatkeanggotaan µ[x] 0.667 =0.667 0 30 20 15 temperatur
]= • b. RepresentasiKurvaSegitiga • Gabunganantara 2 garis (linear). 1 Derajatkeanggotaan µ[x] NORMAL 0 a b c domain 1 KurvaSegitiga 0.8 Derajatkeanggotaan µ[x] =0.8 0 30 23 15 25 temperatur
]= 1 • c. RepresentasiKurvaTrapesium • Samasepertibentuksegitiga, hanyabeberapatitikmemilikinilaikeanggotaan 1 Derajatkeanggotaan µ[x] c 0 a b d domain KurvaTrapesium NORMAL 1 Derajatkeanggotaan µ[x] =0.375 0.375 0 32 35 24 15 27 temperatur
BahuKiri BahuKanan • d. RepresentasiKurvaBentukBahu • Daerah yang terletak di tengah-tengahsuatuvariabel yang dipresentasikandalambentuksegitiga, padasisikanandankirinyaakannaikdanturun. DINGIN SEJUK NORMAL HANGAT PANAS 1 Derajatkeanggotaan µ[x] 0 28 40 0 temperature Daerah bahupadavariabelTemperatur
μ[x] • d. RepresentasiKurva S • Kurva PERTUMBUHAN dan PENYUSUTAN merupakankurva-S atausigmoid yang berhubungandengankenaikandanpenurunanpermukaansecaratak linear 1 1 μ[x] Derajatkeanggotaan µ[x] Derajatkeanggotaan µ[x] a x b a x b 0 0 domain domain Kurva S PENYUSUTAN Kurva S PERTUMBUHAN
Operator DasarZadehuntukOperasiHimpunan Fuzzy • 1. Operator AND • Berhubungandenganoperasiinterseksipadahimpunan mengambilnilaikeanggotaanterkecil. • Contoh: Misalnilaikeanggotaan 27 tahunpadahimpunan MUDA adalah 0.6 (µMUDA[27]=0.6); dannilaikeanggotaanRp. 2 jutapadahimpunanpenghasilan TINGGI adalah 0.8 (µGAJITINGGI[2x106=0.8]; makaα-predikatuntukusia MUDA danberpenghasilan TINGGI adalah0.6 • 2. Operator OR • Operator iniberhubungandenganoperasi union padahimpunan mengambilnilaikeanggotaanterbesar. • Contoh: Padacontohdiatasα-predikatuntukusia MUDA danberpenghasilan TINGGI adalah0.8 • 3. Operator NOT • Berhubungandenganoperasikomplemenpadahimpunan • Contoh: nilaiα-predikatuntukusiaTIDAK MUDA adalah • 1-µMUDA[27]=1-0.6= 0.4
Penalaran MONOTON • Metodapenalaransecaramonotondigunakansebagaidasaruntukteknikimplikasi fuzzy digunakanuntukpenskalaan fuzzy. • Jika 2 daerah fuzzy direalisasikandenganimplikasisederhana: IF x is A THEN y is B; transfer fungsinya y=f((x,A),B); makasistem fuzzy dapatberjalantanpaharusmelaluikomposisidandekomposisi fuzzy. Nilai output dapatdiestimasilangsungdarinilaikeanggotaan yang berhubungandenganantesedennya.
1 0.7 0 75 50 100 Light Intensity 1 0.7 3 5 0 Photosynthesis umol CO2 m-2 s-1
Fuzzy Inference System • Metode Tsukamoto • MetodeMamdani • MetodeSugeno
Metode Tsukamoto • Setiapkonsekuenpadaaturan yang berbentuk IF-THEN harusdirepresentasikandengansuatuhimpunan fuzzy denganfungsikeanggotaan yang monoton; • Output hasilinferensidaritiap-tiapaturandiberikansecarategas (crisp) berdasarkanα-predikat (fire strength); • Hasilakhirnyadiperolehdenganmenggunakanrata-rata terbobot.
Contoh • Misalkanada 2 variabel input, Var-1(x) dan Var-2(y), serta 1 variabel output, Var-3(z), dimana Var-1 terbagiatas 2 himpunanyaitu A1 dan A2 terbagiatas 2 himpunan B1 dan B2, Var-3 jugaterbagiatas 2 himpunanyaitu C1 dan C2 (C1 dan C2 harusmonoton). Ada 2 aturan yang digunakan, yaitu: • [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)
μ[x] μ[y] μ[z] A1 B2 C1 1 1 1 α1 0 0 0 z1 Var-1 Var-2 Var-3 μ[x] μ[y] μ[z] A2 B1 C2 1 1 1 α2 0 0 0 z2 Var-2 Var-3 Var-1 Rata-rata terbobot Inferensidenganmenggunakanmetode Tsukamoto
Contoh 2 • Suatuperusahaanmakananakanmemproduksimakananjenis ABC. Dari data 1 bulanterakhir, permintaanterbesarmencapai 5000 kemasan/hari, danpermintaanterkecilmencapai 1000 kemasan/hari. Persediaanbarangdigudangterbanyakmencapai600 kemasan/hari, danterkecilpernahmencapai100 kemasan/hari. Dengansegalaketerbatasannya, sampaisaatini, perusahaanbarumampumemproduksibarangmaksimum 7000 kemasan/hari, untukefisiensimesindan SDM tiapharidiharapkanperusahaanmemproduksi paling tidak2000 kemasan/hari. Berapakemasanmakananjenis ABC yang harusdiproduksi, jikajumlahpermintaansebanyak4000 kemasan, danpersediaandigudangmasih300 kemasan, apabilaprosesproduksiperusahaantersebutmenggunakan4 aturan fuzzy sebagaiberikut:
Rules • [R1] IF permintaan TURUN AndPersedian BANYAK THEN ProduksiBarang BERKURANG • [R2] IF permintaan TURUN AndPersedian SEDIKIT THEN ProduksiBarang BERKURANG • [R3] IF permintaan NAIK AndPersedian BANYAK THEN ProduksiBarang BERTAMBAH • [R4] IF permintaan NAIK AndPersedian SEDIKIT THEN ProduksiBarang BERTAMBAH
Permintaan, terdiriatas 2 himpunan fuzzy, yaitu: NAIK dan TURUN μ[x] TURUN NAIK 1.00 0.75 0.25 1000 4000 5000 Permintaan (kemasan/hari) FungsikeanggotaanvariabelPermintaan NilaiKeanggotaan:
Persediaan, terdiriatas 2 himpunan fuzzy, yaitu: SEDIKIT dan BANYAK μ[x] SEDIKIT BANYAK 1.00 0.60 0.40 100 600 300 Persediaan(kemasan/hari) FungsikeanggotaanvariabelPersediaan NilaiKeanggotaan:
Produksi, terdiriatas 2 himpunan fuzzy, yaitu: BERKURANG dan BERTAMBAH μ[x] BERKURANG BERTAMBAH 1.00 0.6 0.4 0.25 4000 5000 5750 2000 7000 Produksi(kemasan/hari) FungsikeanggotaanvariabelPersediaan • MencariNilai z untuksetiapaturandenganfungsi MIN karenamenggunakanAnd • [R1] α1 = min (μPERMINTAAN TURUN [4000], μPERSEDIAAN BANYAK [300] min (0.25; 0.4) = 0.25 • THEN ProduksiBarang 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 ProduksiBarang 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 ProduksiBarang 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 ProduksiBarang BERTAMBAH (z-2000)/5000 = 0.6 z4= 5000
Nilai z dapatdicaridengancara: Jadijumlahmakanan yang harusdiproduksisebanyak4983 kemasan
MetodeMamdani • MetodeMamdaniseringdikenalsebagaimetode Max-Min, yang diperkenalkanolehEbrahimMamdanitahun 1975; • Output didapatkandari 4 tahapan: 1) Pembentukanhimpunan Fuzzy 2) Aplikasifungsiimplikasi (aturan) 3) Komposisiaturan 4) Penegasan (defuzzy)
[R1] IF Permintaan TURUN AndPersediaanBANYAK THEN ProduksiBarang 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 α1 0.25 0.4 0.25 0 0 0 0 4000 300 Permintaan Persediaan ProduksiBarang
[R2] IF Permintaan TURUN AndPersediaan SEDIKIT THEN ProduksiBarang 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 0 0 0 0 4000 300 Permintaan Persediaan ProduksiBarang
[R3] IF Permintaan NAIK AndPersediaan BANYAK THEN ProduksiBarang 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 0 0 0 0 4000 300 Permintaan Persediaan ProduksiBarang
[R4] IF Permintaan NAIK AndPersediaan SEDIKIT THEN ProduksiBarang 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 0 0 0 0 4000 300 Permintaan Persediaan ProduksiBarang
KomposisiAntarAturan • Dari hasilaplikasifungsiimplikasidaritiapaturan, digunakanmetodaMAXuntukmelakukankomposisiantarsemuaaturan • (a1-2000)/5000 = 0.25 a1 = 3250 • (a2-2000)/5000 = 0.6 a2 = 5000 0.25; z≤3250 (z-2000)/5000; 3250≤z≤5000 0.6; z≥5000 μ[z] = μ[x] BERKURANG BERTAMBAH 1.00 0.6 0.25 a1 a2 2000 7000 3250 5000
Penegasan (Defuzzy) Salahsatumetodepenegasan yang bisadigunakanadalahmetodecentroid. Untuk, ituperludihitungmomenuntuksetiapdaerah Kemudiandihitungluassetiapdaerah: A1 = 3250*0.25 = 812.5 A2 = (0.25+0.6)*(5000-3250)/2 = 743.75 A3 = (7000-5000)*0.6 = 1200 0.25; z≤3250 (z-2000)/5000; 3250≤z≤5000 0.6; z≥5000 μ[z] = MenghitungTitikPusat: Jadijumlahmakanan yang harusdiproduksisebanyak4248 kemasan
MetodeSugeno • Penalaran SUGENO hampirsamadengan MAMDANI; • Diperkenalkanoleh Takagi-Sugeno Kang tahun 1985; • Output sistemtidakberupahimpunan fuzzy, melainkanberupakonstantaataupersamaan linier.
MetodeSugeno AND / OR • Model Fuzzy SugenoOrdeNol IF (x1 is A1) ο (x2 is A2) ο (x3 is A3) ο … ο (xN is AN) THEN z=k - dengan Aiadalahhimpunan fuzzy ke-isebagaiantesenden, dan k adalahsuatukonstanta (tegas) sebagaikonsekuen. • Model Fuzzy SugenoOrdeSatu IF (x1 is A1) ο (x2 is A2) ο (x3 is A3) ο … ο (xN is AN) THEN z=p*x1 + … + pN*xN + q - dengan Aiadalahhimpunan fuzzy ke-isebagaiantesenden, dan piadalahsuatukonstanta (tegas) ke-idan q jugamerupakankonstantadalamkonsekuen. Apabilakomposisiaturanmenggunakanmetode SUGENO, makadefuzzydilakukandengancaramencarinilai rata-ratanya.
ModifikasiAturanPersamaanditentukanoleh User • [R1] IF permintaan TURUN AndPersedian BANYAK • THEN ProduksiBarang = Permintaan - Persediaan • [R2] IF permintaan TURUN AndPersedian SEDIKIT • THEN ProduksiBarang = Permintaan • [R3] IF permintaan NAIK AndPersedian BANYAK • THEN ProduksiBarang = Permintaan • [R4] IF permintaan NAIK AndPersedian SEDIKIT • THEN ProduksiBarang = (1.25 * Permintaan) - Persediaan
MencariNilaiαdannilai z untuksetiapaturandenganfungsi MIN karenamenggunakanAnd • [R1] α1 = min (μPERMINTAAN TURUN [4000], μPERSEDIAAN BANYAK [300] min (0.25; 0.4) = 0.25 • THEN ProduksiBarang = Permintaan – Persediaan Nilai z1 = 4000-300 = 3700 • [R2] α2 = min (μPERMINTAAN TURUN [4000], μPERSEDIAAN SEDIKIT [300] min(0.25; 0.6) = 0.25 • THEN ProduksiBarang = Permintaan Nilai z2 = 4000 • [R3] α3 = min (μPERMINTAAN NAIK [4000], μPERSEDIAAN BANYAK [300] min (0.75; 0.4) = 0.4 • THEN ProduksiBarang = Permintaan Nilai z3 = 4000 • [R4] α4 = min (μPERMINTAAN NAIK [4000], μPERSEDIAAN SEDIKIT [300] min (0.75; 0.6) = 0.6 • THEN ProduksiBarang = (1.25 * Permintaan) – Persediaan Nilai z4 = (1.25*4000)-300 = 4700 • Nilai z: Jadijumlahmakanan yang harusdiproduksisebanyak4230 kemasan
Fuzzy Controllers • Used to control a physical system
Types of Fuzzy Controllers: - Supervisory Control - Fuzzy Logic Controller Outputs Set Values for Underlying PID Controllers:
Types of Fuzzy Controllers: - PID Adaptation - Fuzzy Logic Controller Adapts the P, I, and D Parameter of a Conventional PID Controller:
Types of Fuzzy Controllers: - Fuzzy Intervention - Fuzzy Logic Controller and PID Controller in Parallel: