118
BULANIK MANTIK ve MATLAB UYGULAMALARI MUSA ALCI ENGİN KARATEPE

BULANIK MANTIK ve - Fuzzy Logicegefuzzylogic.weebly.com/uploads/4/9/1/9/49194479/fuzzy_matlab... · Son bölümde, Matlab Fuzzy Logic Toolbox kullanarak bazı kontrol uygulamaları

  • Upload
    vannhi

  • View
    308

  • Download
    11

Embed Size (px)

Citation preview

  • BULANIK MANTIK ve

    MATLAB UYGULAMALARI

    MUSA ALCI ENGN KARATEPE

  • II

  • BULANIK MANTIK ve

    MATLAB UYGULAMALARI

    BRNC BASKI

    Musa Alc [email protected]

    Ege niversitesi Mhendislik Fakltesi Elektrik ve Elektronik Mhendislii Blm

    Bornova, zmir, TRKYE

    Engin Karatepe [email protected]

    Ege niversitesi Mhendislik Fakltesi Elektrik ve Elektronik Mhendislii Blm

    Bornova, zmir, TRKYE

    Bu kitabn her hakk sakldr. Yazarn izni olmadan kitabn bir blmnden alnt yaplamaz, ksmen veya tamamen hibir ekil ve teknikle oaltlamaz, Baslamaz, Yaynlanamaz.

    III

  • nsz Bulank Mantn kullanm alanlar gerek akademik almalarda gerekse uygulama alanlarnda giderek artmaktadr. Bu konuda pek ok yayn/kitap yaynlanmtr. Bu yaynlardan biri de Li-Xin Wangn A Course in Fuzzy Systems and Control isimli kaynak kitabdr. Burada, bu kitabn anlalmasnda ona yardmc bir dokman oluturulmas hedeflenmitir. Bu almada bu kitapta verilen rneklerin ve problemlerin Matlabdeki zmleri verilmeye allmtr. Son blmde, Matlab Fuzzy Logic Toolbox kullanarak baz kontrol uygulamalar iin simulasyon rnekleri verilmitir. Geleneksel anlamda oluturulan PI, PD ve PID ile Fuzzy PI, Fuzzy PD ve Fuzzy PID gereklemeleri yaplp, daha sonra bunlarn karlatrmalar yaplmtr. Problemlerin zmnde u yol izlenmitir: ncelikle problemin Matlabdeki zm ardndan da ilgili ktlar verilmitir. Gerek duyulduka problemle ilgili konuda teorik alt yap verilmitir. Verilen kodlarn tamam Matlab 5.1 de test edilmitir. Kitap sonunda aratrmaclarn ok geni bir alanda faydalanabilecekleri internet adresleri ve balantlar verilmitir. zellikle konuya yabanc olanlarn ve yeni ilgi duymaya balayanlarn almadan en st dzeyde fayda salamas mit edilmektedir. Bu kitabn, Bulank Mantk konusunda alacak aratrmaclara ve rencilere faydal olmasn diliyorum. Okuyucularn tavsiye, neri ve geri beslemeleri gelecek almalarda bize k tutacaktr. Bize [email protected] mail adresi zerinden ulaabilirsiniz. Halen Ege niversitesinde vermekte olduum Bulank Mantk ve Uygulamalar isimli yksek lisans dersinde verilen devler ve projeler bu almaya ilham kayna olmutur. Bu balamda yksek lisans rencilerime ve zverili katklarndan dolay Engin Karatepeye teekkr bir bor bilirim. Dr. Musa ALCI Eyll 2002 Bornova, zmir

    4

    mailto:[email protected]

  • nsz Gnmzde bulank uzman sistemlerin lineer ve nonlineer kontrol, rnek tanma, finansal sistemler, iletme aratrmalar ve veri analizleri gibi birok alanda proje ve aratrmalarla olduka yaygnlat grlmektedir. Birok sistemin, bulank sistemler yardm ile modellenebilmesi ve hatta kopyalanabilmesi, gerek bilimsel alanda gerekse hayatmzda olduka nemli gelimelerin kapsn aralamtr. lkemizde de gelien teknolojinin yazlm ve donanm gelitirme ortamlar zerinde tasarmcya sunmu olduu imkanlardan faydalanmas kapsamnda Bulank Mantk niversitelerin eitim programna girmitir. Tm branlarda olduu gibi Trke kitaplarn yetersizlii ve ders kitaplarnn eksiklii bu almann balamasna ve bundan sonraki almalara k tutacak bir kitabn olumasna neden olmutur. Ksa ve z bir yaklamla yazlm Bulank Mantk temel konularn ieren bu ders kitabnn aratrmaclara ve rencilere yardmc bir rehber olaca dncesindeyim. Byk bir zevkle hazrladmz bu kitapta, deneyimi, birikimi ve yreklendirici tutumu ile hocam Sayn Yard. Do. Dr. Musa ALCIya en iten teekkrlerimi sunarm. Engin Karatepe Eyll 2002

    5

  • NDEKLER nsz ..................................................................................................... 4 Blm 1.................................................................................................. 8 Giri ....................................................................................................... 8

    1.1 Neden Bulank Mantk? ............................................................. 8 1.2 Bulank Sistem Nedir? ............................................................. 12 1.3 Bulank Mantn Tarihi Geliimi ............................................ 15

    INSPEC/fuzzy ............................................................................ 15 1.4 Bulank Mantk Uygulama Alanlar ......................................... 16

    Blm 2................................................................................................ 17 Klasik ve Bulank Kme Kavram.................................................... 17

    2.1 Tanmlar ................................................................................... 17 2.2 Bulank Kmelerle Temel lemler .......................................... 20 2.3 Bulank Birleim ve S Normlar ............................................... 24 2.4 Bulank Kesiim ve T Normlar ............................................... 25 2.5 S Norm ve T Norm Karlatrmas .......................................... 26

    Blm 3................................................................................................ 29 Szsel Deikenler ve IF-THEN Kurallar....................................... 29

    3.1 Szsel Deikenlerden Saysal Deerlere ................................ 29 Blm 4................................................................................................ 31 Bulank Sonu karma (Fuzzy Inference) ..................................... 31

    4.1 Bulanklatrc (Fuzzifier ) ...................................................... 32 4.2 Durulayc (Defuzzifier) ........................................................... 33 4.3 karm Metotlarna Bir rnek ................................................ 36

    Blm 5................................................................................................ 38 Giri k Bilgisinden Bulank Sistem Tasarm............................ 38

    5.1 Table Look-Up Kullanarak Bulank Kme Tasarm............... 39 5.2 Table Look-Up Kullanarak Bulank Kme Tasarm ile Uygulamalar ................................................................................... 41

    5.2.1 Zaman Serisi Tahmini ....................................................... 41 5.2.2 Ara Park Uygulamas ...................................................... 45

    5.3 Gradyen Tabanl Eitme (Gradient Descent Training) ile Bulank Sistem Tasarm ................................................................ 54 5.4 Gradyen Tabanl Bulank Sistem Tasarm Uygulamalar ....... 57

    5.4.1 Gradyen Yntemle Basit Fonksiyon Eitme..................... 57 5.4.2 rnek................................................................................. 60 5.4.3 rnek................................................................................. 63 5.4.4 On line parametre atama yntemi ve adm adm eitme ile ilgili dinamik sistem eitme rnei ............................................ 67

    6

  • 5.4.5 Arttrlm Bulank Sistemle Sistem Tanmlama Optimizasyon/Eitme Yntemi: BFGS ......................................73

    5.5 En Kk Kareler (Recursive Least Squares) Kullanarak Bulank Sistem Tasarm.................................................................76 5.6 En Kk Kareler Bulank Sistem Tasarm Uygulamaklar....78

    5.6.1 rnek 1...............................................................................78 5.6.2 Bulank Taban Fonksiyonlar.............................................80 5.6.3 RLS ile FS sistem Tanmlama rnei ...............................81

    5.7 Clustering Kullanarak Bulank Sistem Tasarm ......................85 5.8 Kmeleme Kullanarak Bulank Sistem Tasarm Uygulamalar.........................................................................................................87

    5.8.1 Li-Xin Wangn Kitabndaki rnek 15.2...........................87 5.8.2 Bulank Kmeleme ile sin(x) Fonksiyonunun Tanmlanmas..............................................................................90

    Blm 6 ................................................................................................93 MATLAB Fuzzy Logic Toolbox Kullanarak Bulank Mantk Tabanl Sistem Tasarm ...................................................................93

    6.1 Matlab Bulank Mantk GUI Aralar ve levleri ....................93 6.2 MATLAB Simulink Ortamnda Uygulamalar .........................94

    6.2.1 Geleneksel PD Denetleyici ................................................94 6.2 2. Bulank Mantk PD Denetleyici........................................98 6.2.3 Geleneksel PID Denetleyici ...............................................99 6.2.4 Bulank Mantk PID Denetleyici .....................................102 6.2.5 Bulank Mantk PD Denetleyicinin MATLAB Fuzzy Logic Toolbox Ortamnda Gerekletirilmesi.....................................103 6.2.6 Bulank Mantk PID Denetleyicinin MATLAB Fuzzy Logic Toolbox Ortamnda Gerekletirilmesi.....................................108

    Faydal Linkler..................................................................................113 Bulank Mantkla ilgili Kaynak Kitaplar ve Makaleler ................116 Dizin ...................................................................................................117

    7

  • Blm 1 Giri 1.1 Neden Bulank Mantk? Modern bilgisayarlarn ikili mant gerek dnyann belirsizliini betimlemekte yetersizdir. Bulank mantk daha iyi seenekler sunmaktadr. Bilgisayarlar, insan beyni gibi akl yrtmez. Bilgisayarlar, sfr ve bir dizilerine indirgenmi kesin gerekler ve doru ya da yanl olan nermeler kullanarak akl yrtr. nsan beyni ise serin hava ya da yksek hz ya da gen kz gibi belirsizlik ya da deer yarglar ieren bulank anlatm ve nermelerin stesinden gelebilecek biimde akl yrtebilir. Ayrca insan, bilgisayardan farkl olarak, hemen her eyin ancak ksmen doru olduu bir dnyada akl yrtebilmek iin saduyusunu kullanr. Bulank mantk belirsiz bir dnyann gri, saduyulu resimlerini retmeleri iin bilgisayarlara yardmc olan makine zekas biimidir. Bulank mantk scak ya da hava kirli gibi kavramlar kullanr ve bu sayede, hangi hzla alacana ya da programland bir aamadan dierine ne zaman geeceine kendisi karar veren havalandrma, amar makinesi ve benzeri aygtlar yapabilmeleri iin mhendislere yardmc olur. Mhendislerin elinde bir sistemin girdilerine yant verecek zel algoritmalar bulunmadnda bulank mantk belirsiz niceliklere bavuran saduyulu kurallar kullanarak sistemi denetleyebilir ve betimleyebilir. Bilinen hibir matematiksel model bir kamyonun park yerinden ykleme yerine gidiini kamyonun hareket noktas rasgele seilebiliyorsa ynetemez. Oysa gerek insan gerekse bulank mantk sistemleri, kamyon biraz sola dnerse, sen de biraz saa evir gibi pratik, ancak kesinlik tamayan kurallar kullanarak bu dorusal olmayan klavuzluk ilemini gerekletirebilirler. Bulank mantk sistemleri kurallarn ou zaman uzmanlardan renir. Kurallar belirleyen bir uzman yoksa, uyum salama yeteneine sahip (adaptive) bulank mantk sistemleri ileyi kurallarn, insanlarn gerek sistemleri nasl dzenlediklerini gzlemleyerek renir. Bulank mantk uygulama alanlar kontrol sistemlerinin de tesine uzanmaktadr. Bu konudaki gelimeler, bulank mantn;

    8

  • mhendislik, fizik, biyoloji ya da ekonomi gibi pek ok konuda, srekli sistemleri modellemek zere kullanlabileceini gstermektedir. ou alanda bulank mantk sezgisel modellerinin standart matematik modellerinden daha yararl ya da kesin sonular verdii grlmektedir. Byk bir ounluunun Japonyada retilen bulank mantk rnleri bulank mantn yaygnlamasna yol amtr. lk olarak 1980de Kopenhagde F.L. Smidth & Company isimli firma bir imento ocann ileyiini kontrol amacyla bir bulank mantk sistemi kulland. 1988de Hitachi firmas Japonyada metronun kontroln bir bulank mantk sistemine brakt. Daha sonra Japonlar yzlerce ev aygt ve elektronik rnn ynlendirilmesinde bulank mantk kullanmaya baladlar. Bulank mantkl rnler hem bulank mantk yrtme algoritmalar hem de deien girdi koullarn len alglayclar kullanr. Bulank mantk entegreleri bulank mantk kurallarn saklayacak ve ileyebilecek biimde tasarlanm mikroilemcilerdir. Masaki Togai ve Hiroyuki Watanabe, AT&Tnin Bell laboratuvarlarnda altklar 1985 ylnda ilk dijital bulank entegreyi yaptlar. Bu entegre saniyede 0.08 milyon bulank mantk yrtme hzyla, 12.5 mikrosaniyede 16 basit kural ileyebiliyordu. Togal Infra Logic Inc. gibi irketler gnmzde bulank ilem hzlandrclar donanmlaryla saniyede milyonlarca kural ileyebilen yongalar retmektedirler. Gnmzde mikroilemci firmalarnn ou bulank entegre zerine aratrma projeleri balatmlardr.

    Japonya metro treninde kullanlan bulank mantk denetleyicisi, gerek insan srclerden gerekse otomatik kontrol denetleyicilerden daha iyi i karmtr. Klasik denetleyiciler, bir aracn istasyondan ne uzaklkta olduunu gsteren konum iaretlerine gre bir treni altrr ya da durdururlar. Bu denetleyiciler ok kesin programlanm olduklar iin yolculuk sarsntl olabilir. Otomatik denetleyici tren

    9

  • istasyondan rnein 100 metre kadar uzakta iken yoku yukar ya da aa gittiine bakmadan ayn fren basncn uygular. Metro trenlerinde becerikli bir insan srcden daha da yumuak biimde hzlandrmak, yavalatmak ve durdurmak iin bulank kurallar kullanlmtr. Bu kurallar trenin almas ile ilgili olarak her an hznn ne sklkta ve ne lde deitiini, maksimum hza ne kadar yaklat gibi geni bir deikenler dizisini kapsar. Bulank mantk denetleyicileribenzeim denemelerinde yolcularn rahat, ksalan yolculuk sresi gibi konularla ilgili lmlerde otomatik denetleyiciyi yenmi, ayrca trenin enerji tketimini de yzde 10 orannda azaltmay baarmtr.

    Bulank mantk, kameralarda grnt verilerini eitli mercek dzeneklerine iletebilir. 1990da pazara srlen ve ilk bulank mantk kameralardan biri olan Canonun el tipi, 13 bulank mantk kural kullanarak otomatik odaklama yapabiliyor. Alglayclar alt ayr alanda grntlerin berrakln lyor. Kurallar yaklak bir kilobyte kadar bellek gerektiriyor ve alglayc verilerini annda yeni mercek ayarlarna dntryor.

    Elin hareketinden kaynaklanan grnt titremelerini dengelemek iin daha ok kural kullanlan kameralar gelitirilmitir. Bulank kurallar yardm ile grntnn ne yne kayacan belirliyor ve grntdeki blgesel ve genel deiiklikleri gz nnde tutarak gerekli dengeleme ilemlerini yapyor. Matematik modellere dayanan sistemlerde denetleyicileri en ok bir ka tr grnt titremesini dengelemektedir. Bir iin yaplmas iin ne kadar g gerektiini daha doru hesapladklar iin bulank sistem denetleyicileri enerjiyi ou zaman daha verimli kullanr.

    10

  • Bulank mantktan helikopterlerde de yaralanlr. Bu aracn drt paras, asansr, kanatk, valf ve dmen yukar k, yere in ve havada kal gibi 13 bulank ses komutunun istediini yerine getirmektedir. Bulank mantk denetleyici arac havada tutmak gibi pilotlar iin bile g olan bir ii baarabilmektedir. Bulank mantk mekanik sistemlerin tesinde bilgi de ynetebilmektedir. Bulank sistemler hastalarn salk durumlarn renmek ve hastalklarndan korunmalarna, salkl kalmalarna ve stresten kurtulmalarna yardmc olmak zere kiiye zg planlar izebilen kurallar oluturabilirler. Japon Omron grubu bu konuda tp veri tabanlarn bulank mantk denetleyicileri ile denetleyen sistemler kurmulardr. Bulank mantktan uygulamalar otomobiller zerinde de yaplmtr. General Motors bulank mantkla alan bir vites tasarlamtr. Nissan, bulank mantkla ileyen ABS fren sistemi, bulank bir vites sistemi, bir de bulank yakt enjektr patenti almtr. Ana karttaki bir mikroilemcide sakl bir dizi bulank kural yakt akn dzenler. Alglayclar valf ayarn, manifold borusu basncn, radyatr suyu scakln ve motorun devir saysn ler. kinci bir bulank mantk kural kmesi ise motorun bir dakikadaki dnme saysn, su scakl ve oksijen younluuna gre makinenin ateleme zamann ayarlar. Baz irketler ise tahvil ve hisse senedi fonlar iin ekonomik verilerdeki deiikliklere gre davranmak zere bulank mantk kurallar kullanan alveri programlar gelitirmilerdir. Burada bulank sistemlerin gittike artan sayda bilgisayara, ev aletlerine ve teorik modellere kolayca girebilecei, rneklerle verilmeye allmtr. Gelecek yzyl dlenildiinden de bulank olabilir.

    11

  • 1.2 Bulank Sistem Nedir? lde kayboldunuz, elinizde 2 ie su var; birinin zerinde %91 olaslkla kirli su, dierinin zerinde %91i kirli su yazyor. Hangisini iersiniz?

    Bulank mantk ile ileyen bir sistem kurmak iin bir uzmandan alnacak bir dizi bulank mantk kuralyla ie balanabilir. eitli bulank girdi ve kt kmelerine ait yelik dereceleri, bir takm eri kmeleri ile tanmlanr. Daha sonra girdi ve kt kmeleri arasnda bu ilikinin grafii izilebir. Hava serin gibiyse motorun hzn dr kural verildiinde, girdiler (scaklk) grafiin bir ekseni boyunca, ktlar ise (motorun hz) ikinci eksen boyunca sralanr. Bu bulank kmeler bulank bir alan, yani sz konusu kuraln girdi ve ktlar arasnda oluturduu btn birlikteliklerin kmesini temsil eden bulank bir blge oluturacktr. Bulank alann bykl kuraln bulank ya da belirsizliini yanstr. Bulank kme kesinletike alan da klr Bulank bir sistemin kurallar girdilerin tmn ktlarn tmyle ilikilendirecek, rten alanlardan oluan bir kme tanmlar. Bu anlamda bulank sistem matematiksel bir neden-sonu fonksiyonu ya da denklemine yaklar. Bu fonksiyonlar bir mikroilemciye bir klima cihaznn gcn ya da amar makinesinin hzn, yaplan en son lme uygun olarak nasl ayarlamas gerektiini syeleyen kurallar olabilir. ekil 1.1de basit bir bulank sistemin konfigurasyonu verilmitir. Burada fuzzifier aamasnda gerek dnyann deerleri bulank kmelerde yelik deerlerine dntrlrler. Daha sonra Bulank Inference Engine ile IF-THEN kurallar girdi ve kt uzaynda

    12

  • tanml bir bulank ilikiye dntrlr. Defuzzifier ksmnda ise bulank kme gerek dnyann deerlerine dntrlr. Bulank Kural Taban Fuzzifier Defuzzifier

    ekil 1.1 Temel bir bulank sistemin konfigrasyonu Hava scakln motor hzlaryla eletirmek iin be kurala, dolaysyla be bulank alana dayanan bulank bir klima cihaz dnelim. Scaklk kmeleri (souk, serin, lk, scak ve ok scak) olabilecek btn bulank girdileri kapmaktadr. Motor hz kmeleri ise (ok yava, yava, hzl ve ok hzl) btn bulank ktlar vermektedir. rnein 20 derece scaklk yzde 30 serin ve yzde 70 lk olabilir(ekil 1.2). Ayn anda hava da yzde sfr souk, scak ve ok scaktr. Serinse ve lksa kurallar hem yava hem de orta motor hzlarn harekete geirip altracaktr. Her iki kural motorun son hzna orantl olarak katkda bulunur. Hava yzde 20 serin olduunda motor hznn yavaln betimleyen eri, yksekliinin yzde 30una, orta hz erisi de yzde 70e inmelidir. ndirgenmi bu iki eri toplanarak bulank kt kmesinin son erisi elde edilir. Bu tr bir kt erisi bulank mantk biimindeyken binary sistemine gre alan denetleyicilere yardmc olamaz. Bu nedenle son adm bulank kt erisinin saysal tek bir deere dnt bir defuzzifier srecidir. En yaygn defuzzifier teknii eri alann arlk merkezini hesaplamaktr. Bu rnekte bulank mantk kt erisinin arlk merkezi dakikada 47 dnl bir motor hzna denk olabilir. Bylece elektronik denetleyici niceliksel bir scaklk girdisiyle bulank scaklk ve motor hz kmeleri yardmyla akl yrterek uygun ve kesin bir hz kts elde edilebilir.

    Bulank InferenceEngine

    x y

    13

  • Fonksiyon: X Y

    ok hzl

    Scak ise hzl

    ekil 1.2 Bulank mantn bir klima cihaz denetimine uygulanmas

    Mot

    or Hz

    Yava

    Orta Hz

    Hzl

    Ilk ise orta hz

    Serin ise yava

    Dur

    Serin Ilk Scak Souk ok scak

    Hava Scakl

    70

    Yz

    dele

    r

    Serin Ilk 30

    20Hava Scakl

    Arlk Merkezi

    Motor Hz

    30

    70

    Yz

    dele

    r

    Orta Hz Yava

    47

    14

  • 1.3 Bulank Mantn Tarihi Geliimi 1960lar : Bulank mantn balangc 1970ler : Teoremlerin geliimi ve ilk uygulamalar 1980ler : nemli uygulamalarn balangc 1990lar : Bulank mantk uygulamalarnn olgunlamas 1993 : IEEE Transaction Fuzzy Systems dergisinin k Bulank mantk uygulamalarnn akademik evrede de arpc gelimesini yllara gre gsteren makale saylar aadaki gibidir. INSPEC/fuzzy

    1970-1980 : 566

    1980-1990 : 2,361

    1990-2000 : 23,753

    Toplam : 26,680

    Math.Sci.Net/fuzzy

    1970-1980 : 453

    1980-1990 : 2,476

    1990-2000 : 8,428

    Toplam : 11,357

    INSPEC/soft computing

    1990-2000 : 1,994

    15

  • 1.4 Bulank Mantk Uygulama Alanlar Lineer ve Nonlineer Kontrol Sistemleri Sinyal leme Entegre Devre retimi Tp, Psikoloji Ekonomik Sistemler Kuantum Fizii Veri Analizi Veri Taban Uygulamalar Toplum Bilimi Proses Planlama Karar Verme

    16

  • Blm 2 Klasik ve Bulank Kme Kavram 2.1 Tanmlar Standart kme kuramnda herhangi bir nesne bir kmeye ya aittir ya da deildir. Bunun ortas yoktur. Ayrca bu iki kmeden hibirine ait olmamas sz konusu deildir. Bu ilke bir nesnenin ayn anda hem bir ey olmas hem de o ey olmamas elikisini olanaksz klmaktadr. Bulank mantkta, elemanlar bulank bir kmeye ancak ksmen aittir. Ayrca, ayn anda birden ok kmeye de ait olabilirler. Hava, tek bir kiiye bile deiik derecelerde serin, lk ya da scak gelebilir. Standart kmelerin snrlar ise eridir yada giderek yok olur ve bu erilik ksm bulanklk oluturur. Hava yzde 20 serin olabilir ayn anda yzde 80 serin deil olabilir. Bulank mantk olaslk yzdeleri ile ayn eyi ifade etmemektedir. Olaslklar bir eyin olup olamayacan ler. Bulank mantk ise bir olayn ne dereceye kadar olduunu, bir koulun ne dereceye kadar var olduunu ler. Yzde 30 olaslkla hava serin olacak nermesi serin hava olasln dile getirir. Fakat sabah hava yzde 30 serin gibi geliyor nermesi hava bir dereceye kadar serin ayn zamanda da deien derecelerde lk ve scak demektir. nsan zekas gerektiren problemlerin matematiksel modellenmesinde klasik kme teorisi yetersiz kalmaktadr. rnein, ekil 2.1de bir odann scakl klasik kme teorisi kullanlarak karakterize edilmitir. Aka grld zere klasik teoride 50 derecenin stndeki scaklklarda havann scak, altnda ise havann souk olduu sonucu kmaktadr. yelik deeri 1 ya da 0dr.

    17

  • ekil 2.1 Herhangi bir scaklk souk kmesinin ya yesidir ya da deildir. Ayn zamanda ekil 2.2de grld gibi 100 derecedeki bilgi de 51 derecedeki bilgi de ayn derecedeki scak kavram ile tanmlanmaktadr.

    ekil 2.2 Klasik kme mantndaki karlalan problem.

    Gnlk hayatta ise ok souk, souk, lk, ok scak gibi kavramlar kullanlmaktadr. Bu kavramlar arasndaki gei klasik mantktaki gibi bu kadar keskin deildir. Bu doal olaylar bulank kmelerle daha doru karakterize etmek mmkn olmaktadr. ekil 2.3de ayn bilgi bulank kmesi ile karakterize edilmitir. ekil 2.3 Herhangi bir scaklk deeri hem souk kmesine hem de scak kmesine ait olabilir. yelik deeri 1 ile 0 arasndadr.

    U 1souk

    scak 0

    0scaklk

    50 100

    1

    0 Scaklk (oC) 0 50 100

    scaksouk scak souk

    1U

    souk 0.5

    scak 00 25 50 75 100

    scaklk

    18

  • Bir bulank A kmesi U uzaynda tanmlanan ve [0, 1] aralnda deerler alabilen A(x) yelik fonksiyonu ile karakterize edilen kmedir. A = { (x, A(x)) / x U} eklinde gsterilir. yelik fonksiyonunun ald deerlere yelik deerleri denir. A(x), x in bu uzaya ne kadar ye olduunun lsdr. 1 ise, x tamamen A kmesinin yesidir. A(x) = (0, 1) ise, ksmen A kmesinin yesidir. 0 ise, A kmesinin yesi deildir. yelik fonksiyonlarnn ekli tecrbeye gre veya data toplandktan sonra ilgili parametre ayarlar yaplp seilir. Matlab Bulank Toolboxda kullanabileceimiz balca yelik fonksiyonlar ekil 2.4de verilmitir. trimf(x, [1.8 3.2 4.3]); zmf(x, [2 8]); trapmf(x, [0.5 1 1.5 2]); gbellmf(x, [1.5 5 2.5]); smf(x, [8 10]); dsigmf(x,[5 2 5 7]); gaussmf(x, [4 6]); sigmf(x, [2 3]); psigmf(x, [2 3 -5 8]); pimf(x, [2 5 8 9]); dsigmf(x,[5 2 5 7]); gauss2mf(x, [2 8 1 4]);

    19

  • ekil 2.4 Matlab Fuzzy Toolboxdaki hazr yelik fonksiyonlar 2.2 Bulank Kmelerle Temel lemler Bir rnekle bulank kme kavramn aklamaya alalm. zmirdeki yerli arabalar kmesi D bulank kmesi olsun. D(x) = p(x) p(x) arabasnn paralarnn yerlilik orann gstersin. rnein x1 arabas %60 yerli ise x1 D kmesine 0.6 derecesinde yedir. zmirdeki yerli olmayan arabalar kmesi F kmesi ile gsterilsin. )(1)( xx DF = (2.1) olacaktr.

    20

  • x=0:1:100; mD=zmf(x, [0 100]); mF=1-mD; plot(x,mD,'r',x,mF,'b') title('yelik fonksiyonu ve deili') xlabel('yerlilik oran') ylabel('yelik deeri')

    0 20 40 60 80 1000

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1yelik fonksiyonu ve de ili

    yerlilik oran

    ye

    lik d

    eer

    i

    ekil 2.5 D yelik fonksiyonu ve deili F yelik fonksiyonu D ve F yelik fonksiyonlarnn birleimi; [ )(),(max)( xxx FDFD ] = (2.2) eklinde tanmlanr.

    21

  • x=0:1:100; mD=zmf(x, [0 100]); mF=1-mD; plot(x,max(mD,mF)) title('yelik fonksiyonu ve bileimi') xlabel('yerlilik oran') ylabel('yelik deeri')

    0 20 40 60 80 1000

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1yelik fonksiyonu ve bile imi

    yerlilik oran

    ye

    lik d

    eer

    i

    ekil 2.6 D ve F yelik fonksiyonlarnn birleimi D ve F yelik fonksiyonlarnn kesiimi;

    [ ])(),(min)( xxx FDFD = (2.3) eklinde tanmlanr.

    22

  • x=0:1:100; mD=zmf(x, [0 100]); mF=1-mD; plot(x,min(mD,mF)) title('yelik fonksiyonu ve kesiimi') xlabel('yerlilik oran') ylabel('yelik deeri')

    0 20 40 60 80 1000

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1yelik fonksiyonu ve kesi imi

    yerlilik oran

    ye

    lik d

    eer

    i

    ekil 2.7 D ve F yelik fonksiyonlarnn kesiimi

    23

  • 2.3 Bulank Birleim ve S Normlar yelik fonksiyonlarnn maksimumunun, bulank kme birleimi iin kullanldn bir nceki blmde gstermitik. Literatrde bulank kme birleimi iin, farkl uygulamalarda kullanlan s normlar vardr. Farkl s normlarnn olmasnn nedeni baz s normlarnn baz uygulamalarda daha anlaml olmasdr. D ve F yelik fonksiyonlarnn birleimini aritmetik toplam s normu kullanlarak bulunmak istenirse;

    [ ])(),()( xxsx FDFD = )()()()( xxxx FDFD += (2.4) eklinde olacaktr. x=0:1:100; mD=zmf(x, [0 100]); mF=1-mD; plot(x,(mD+mF-mD.*mF)) title('yelik fonksiyonu ve bileimi') xlabel('yerlilik oran') ylabel('yelik deeri')

    0 10 20 30 40 50 60 70 80 90 1000

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1yelik fonksiyonu ve bile im i

    yerlilik oran

    ye

    lik d

    eer

    i

    ekil 2.8 Bulank birleim ve s normu

    24

  • 2.4 Bulank Kesiim ve T Normlar A ve B bulank kmelerinin kesiimi iin daha nce minimum fonksiyonunu kullandk. s normlarnda olduu gibi t normlar da birden fazladr. D ve F yelik fonksiyonlarnn kesiimi aritmetik toplam t normu kullanlarak bulunmak istenirse;

    [ ])(),()( xxtx FDFD = )()( xx FD = (2.5) eklinde olacaktr. x=0:1:100; mD=zmf(x, [0 100]); mF=1-mD; plot(x,(mD.*mF)) title('yelik fonksiyonu ve kesiimi') xlabel('yerlilik oran') ylabel('yelik deeri')

    0 10 20 30 40 50 60 70 80 90 1000

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1yelik fonksiyonu ve kesi imi

    yerlilik oran

    ye

    lik d

    eer

    i

    ekil 2.9 Bulank kesiim ve t normu

    25

  • 2.5 S Norm ve T Norm Karlatrmas Bu blmde s ve t normlar, s normu : [a^p+b.^p-(a.*b).^p].^(1/p) t normu : [1-[(1-a).^p+(1-b).^p-((1-a).^p).*(1-b).^p].^(1/p)] eklinde tanmlandnda p parametresine gre s ve t normlarnn nasl deitii incelenmitir. clear x=0:0.05:.9; a=0:0.1:.9; b=1-a; mua=gaussn(x,0.6,0.5);a=mua; mub=gaussn(x,0,0.7);b=mub; plot(x,a,x,b),title('mA mB') pause for lam=0.1:0.2:4 s=(1+((1./a-1).^(-lam)+(1./b-1).^(-lam)).^(-1/lam)).^(-1); plot(x,s,x,a,x,b),axis([0,1,0,1]), title('S-Norm'),pause(0.1) end pause close w=3; sw=min(1,(a.^w+b.^w).^(1/w)); plot(x,sw),title('S-Norm'), axis([0,1,0,1]) pause %S norm for p=0.01:0.25:20 S=[a.^p+b.^p-(a.*b).^p].^(1/p); plot(x,S,'k',x,max(a,b),'b',x,a,x,b,x,1-a.*b,':k'), title('S-Norm'),pause(0.3) end

    26

  • pause % p=1 iken S norm=1-a*b % p=sonsuz iken S norm max(a,b) ye eit % S norm aUb:Bulank birleim %T norm for p=0.01:0.25:10,p T=1-[(1-a).^p+(1-b).^p-((1-a).^p).*(1-b).^p].^(1/p); plot(x,T,'k',x,min(a,b),'*b',x,a.*b,':k',x,a,'-.',x,b,'--'), title('T-Norm'),pause(0.4) legend('T norm p=10','min(muA,muB)','muA*muB','muA','muB'); end % p=1 iken T normu a*b ye eit % p=sonsuz iken T normu min(a,b) ye eit % T norm a kesiim b :Bulank kesiim

    27

  • 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1T-Norm

    T norm p=10min(muA,muB)muA*muBmuAmuB

    ekil 2.10 T normu ve yelik fonksiyonlar

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1S-Norm

    ekil 2.24 S normu ve yelik fonksiyonlar

    28

  • Blm 3 Szsel Deikenler ve IF-THEN Kurallar 3.1 Szsel Deikenlerden Saysal Deerlere Gnlk hayatta kullandmz deikenleri ounlukla kelimeler karlar. rnein, bugn hava ok souk, dendiinde, szsel deiken ; bugnk havann scakl deeri ; ok souk olduu anlalmaktadr. Bulank sistemlerde kelimeler tanml olduklar uzayda bulank kmelerle temsil edilirler. Bir arabann hznn bulank modeli kartlmak istendiinde, ilk nce tanml olduu uzay belirlememiz gerekir. Bu aralk bir arabann ulaabilecei maksimum hz ile minimum hz arasndaki deerlerdir. Bu uzay belirledikten sonra, ok yava, yava, hzl, ok hzl gibi szsel deikenleri temsil edecek bulank kmeler belirlenir. ekil 3.1 e baknz. ok

    yava ok hzlyava hzl 1

    0 Vmax ekil 3.1 Szsel bir deiken olan bir arabann hznn bulank kmelerle temsili

    nsan bilgi ve tecrbesini IF-THEN kurallar kullanarak sistemlerin kontrol gereklenebilir. Bulank IF-THEN kural; IF < bulank nerme >, THEN < bulank nerme > eklinde ifade edilir.

    29

  • U ve V gerek uzaylarnda tanmlanan x ve y szsel deikenlerini, A ve B bulank kmeleri temsil etmek zere; x A ise ve y B ise nermesi AB eklindeki bulank ilikiye ve yelik fonksiyonlar ile herhangi bir t normuna karlk gelir.

    [ ])(),()( xxtx FDFD = (3.1) x A ise ya da y B ise nermesi AB eklindeki bulank ilikiye ve yelik fonksiyonlar ile herhangi bir s normuna karlk gelir. [ ])(),()( xxtx FDDF = (3.2) x A deil ise nermesi Ann deilidir. Ann deilini E bulank kmesi ile gsterirsek, E(x) = c (A(x) ) = 1 - A(x) (3.3) rnek: (x1 A ise ve x2 B deil ise) ya da x3 C ise nermesini bulank sistemde yelik fonksiyonlar ile ifade etmek istersek; s [ t [ A(x1), c(B(x2))], C(x3)] (3.4) eklinde olacaktr.

    30

  • Blm 4 Bulank Sonu karma (Fuzzy Inference) Bulank karm, bulank mantk kullanarak girdilerden kt elde etme ilemidir. Bulank karm daha nceki blmlerde anlatlan bulank yelik fonksiyonlarnn, yelik deerlerinin, IF-THEN kurallarnn, bulank mantk operatrlerinin kullanld bir ilemdir. Bir ok karm metodu vardr. Aada Mamdaninin Minimum karm metodu verilmitir.

    =

    =)(),(...,),........(),(minmax '''

    2'11

    ' xxxx BnAAAM

    IB (4.1)

    ki girili, bir kl ve kurall bir sistem zerinde izlenmesi gereken admlar aklamaya alalm. Kural 1: Eer servis kt

    veya yemek bayat ise bahi az verilecek.

    ekil 4.1 ki girili tek kl bulank kural taban

    Giri 1 Servis [0,10]

    Kural 2: Eer servis orta ise bahi orta verilecek.

    Giri 2 Yemek [0,10]

    Kural 3: Eer servis iyi veya yemek gzel ise bahi ok verilecek.

    k

    31

  • 4.1 Bulanklatrc (Fuzzifier ) ekil 4.2 Fuzzifier ilemi

    Bulank mantk operatr (veya = max)

    Eer servis kt veya yemek bayat ise bahi az veril

    Eer servis orta ise bahi orta ve

    Eer servis iyi veya yemek gzel ise bahi ok veril

    Giri 1 Servis: 3

    Giri 2 Yemek: 8

    min ilemi

    32

    ecek.

    rilecek.

    ecek.

    Fuzzy k

  • 4.2 Durulayc (Defuzzifier) Durulama ilemi iin en ok kullanlan yntem eriler altnda kalan alann arlk merkezinin bulunmasdr.

    AM = Arlk Merkezi Bahi = % AM

    ekil 4.3 Defuzzifier ilemi

    rnekler zerinde Durulama kavramn daha iyi anlamaya alalm. Burada sadece Center of Gravity ve Center of Average Defuzzifier yntemlerinden bahsedilecektir.

    0.7 0.5

    4 6

    ekil 4.4 Center of Average Defuzzifier ileminin grafiksel gsterimi

    33

  • Center of Average defuzzifier ileminde, durulanm y* deeri

    lM

    l

    lM

    l

    l

    w

    wyy

    =

    =

    =

    1

    1* (4.2)

    eklinde hesaplanr. ekil 4.4deki verilen problem iin M=2dir. yelik

    fonksiyonlarnn maksimum deerlerini, ise yelik fonksiyonlarnn

    merkezini gstermektedir. Buna gre;

    lw

    ly

    166.57.05.0

    7.0*6.5.0*4* =++

    =y (4.3)

    eklinde durulanm deer elde edilir.

    1

    0.5

    0.3

    0 1 3.5 5.5 4 6 7 8

    ekil 4.5 Center of Gravity Defuzzufier ileminin grafiksel gsterimi Center of Gravity Defuzzifier ileminde, durulanm y*deeri,

    =

    v B

    v B

    dyy

    dyyyy

    )(

    )(

    '

    '*

    (4.4)

    34

  • eklinde hesaplanr. Buna gre gerekli integraller alnp durulanm y* deeri hesaplanr. ekil 4.5de verilen k yelik fonksiyonu center of gravity metodu kullanarak durulamak istersek;

    ( )

    ( ) +++

    +++=

    = 1

    0

    4

    5.3

    5.3

    1

    1

    0

    4

    5.3

    5.3

    1

    '

    '*

    )23()3.0()3.0(

    )23()3.0()3.0(

    )(

    )(

    dyydydyy

    dyyydyydyyy

    dyy

    dyyyy

    v B

    v B

    ....

    9.4)8()5()5.0(

    )8()5()5.0(

    6

    5.5

    8

    7

    7

    6

    5.5

    4

    6

    5.5

    8

    7

    7

    6

    5.5

    4 = +++

    +++

    dyydydyydyy

    dyyyydydyyydyyy

    (4.5)

    eklinde bulunur. ekil 4.5deki k yelik fonksiyonunu durulama ilemi iin center average defuzzifier metodunu kullanrsak;

    ekil 4.6 Center average defuzzifier

    41.515.03.0

    15.65.053.05.2

    1

    1* =++++

    =

    =

    =

    =

    xxx

    w

    wyy

    lM

    l

    lM

    l

    l

    (4.6)

    1

    0.5

    0.3

    0 2.5 5 6.5

    35

  • 4.3 karm Metotlarna Bir rnek U=1:4; V=1:4; L=[0 0.1 0.5 1]; S=[1 0.5 0.1 0]; subplot(2,1,1);plot(U,L);title('mL') subplot(2,1,2);plot(V,S);title('mS') pause mD=max(1-L,S); mL=min(1,1-L+S); mZ=max(min(L,S),1-L); mG=L;mg=L

  • 1 1.5 2 2.5 3 3.5 40

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    mDmLmZmG

    ekil 4.8 karm rnekleri (mL : Larsen, mZ : Zadeh)

    37

  • Blm 5 Giri k Bilgisinden Bulank Sistem Tasarm

    Uzman Bilgisi

    Bilinalt/sze

    dklemeyen bilgi

    Bilinli/szle ifade edilebilir

    bilgi

    Uzmandan uygulama

    yapmasn iste

    IF-THEN kurallar

    Uzman siyah

    kutu olarak gr

    Giri k verileri

    Bulank Sistem

    38

  • 5.1 Table Look-Up Kullanarak Bulank Kme Tasarm Girdileri ve ktlar bilinen bir sistem iin bulank sistem tasarlanabilir. Oluturulan bulank sistem tanmlanan sistemin yerini alabilir ve yeni girdilerin ktlarn bulmada kullanlabilir.

    );( 00pp yx p =1, 2, . N veriliyor ya da llyor.

    [ ] [ ] [ ]nnP Ux ,.....,, 22110 = (5.1)

    [ ]yyp Vy ,0 = (5.2)

    Table look-up metodunda izlenmesi gereken kurallar: Adm 1 Herbir [i , i] i =1, 2, 3, .. n iin AIj (j = 1, 2, 3, Ni) bulank kmeleri ve benzer ekilde Bj (j = 1, 2, 3, . Ny) bulank kmesi [y, y] de tanmlanmaldr. rnek: n = 2, N1 = 5, N2 = 7 ve Ny = 5 gi bi bir sistem tanmlandnda; Giri says 2, birinci ve ikinci giri iin srasyla 5 ve 7, k iin 5 bulank yelik fonksiyonu/kmesi olduu anlalmaktadr. Adm 2 Her giri / k ifti iin; );,......,( 21

    po

    pon

    po

    po yxxx

    poix lerin ( j = 1, 2, 3, .. N

    jlA i) bulank kmelerdeki ve benzer ekilde

    lerin ( l = 1, 2, 3, . NpoylB y)deki yelik deerleri belirlenmelidir.

    x ve y gerek deerleri fuzzifier edilirken ayn anda farkl bulank kmelerde deer alabilirler. Bu durumda en byk yelik deerine sahip bulank kme seilir ve daha sonra IF-THEN kurallar oluturulur.

    39

  • Adm 3 Ayn IF ksmna fakat farkl THEN ksmna sahip kurallar elemek ve kural saysn azaltmak iin kural derecesini belirleyip en byk dereceye sahip kurallar bulank sistemi oluturmak zere seilir.

    );( 00pp yx giri k ifti iin yelik deeri:

    )()()( 0*0*p

    lBpij

    iAyxkuralD = (5.3)

    eklinde hesaplanr. Adm 4 Elde edilen kurallara uzman bilgisi de var ise eklenmelidir. ki girili tek kl bir bulank sistem dnelim. Her iki giri ve k iin 4 yelik fonksiyonu tanmlansn. Bu adma kadar elde edilen kurallar tabloya tayabilir ve kurallar daha ak grebiliriz. S1, S2, S3, S4 birinci giri (x1) iin yelik fonksiyonlar, T1, T2, T3, T4 ikinci giri (x2) iin yelik fonksiyonlar, C1, C2, C3, C4 k (y) iin yelik fonksiyonlar olsun.

    T4 C3 T3 C2 T2 C1 T1 C4 S1 S2 S3 S4

    ekil 5.1 Bulank kural taban iin table look-up ekil 5.1deki tabloya bakarak bu sistem iin aadaki kural yazabiliriz. IF x1 is S1 and x2 is T4 THEN y is C3 vb. Adm 5 Elde edilen bulank kurallar kullanlarak bulank sistem Denklem (5.9) deki gibi tanmlanr.

    40

  • 5.2 Table Look-Up Kullanarak Bulank Kme Tasarm ile Uygulamalar 5.2.1 Zaman Serisi Tahmini Mackey-Glass kaotik zaman serisi > 17 iken, d x(t) / dt = ((0.2 x(t - ) )/ (1 + x10(t - ) )) 0.1 x(t) (5.4) diferansiyel denklemi ile retilir. 1 snlik aralklarla 600 nokta iin yukardaki diferansiyel denklem zlp zaman serini retildikten sonra, ilk 300 nokta bulank sistemi tasarlamak iin; giri k bilgisi olarak tanmlanr. Bu rnekte 7 bulank yelik fonksiyonlu, 4 girili 1 kl bulank sistem tasarlanmtr. Bulank sistem tasarlandktan sonra geriye kalan 300 nokta bulank sistem ile hesaplanr. k = 1, 2, 3, ..600 rnekleme says n = 4 giri says olmak zere zaman serisi tahminleme problemini aadaki gibi formlize edebiliriz. giri : x(k-n+1, x(k-n+2), ..., x(k)) k : x(k+1) k Mackey-Glass kaotik zaman serisini reten diferansiyel denkleminin =30 iin zm. h=1; x(1:31)=zeros(1,31); x(1:15)=ones(1,15); x(5)=100000; x(23)=12220; x(31)=0.8; t(1:31)=0:h:30; t(31)=31; i=31; j=1; for n=1:1:600; k1(j)=h*(((0.2*x(i-30))/(1+x(i-30)^10))-0.1*x(i));

    41

  • xk1i=x(i)+0.5*k1(j); xk13=x(i-30)+0.5*k1(j); k2(j)=h*((0.2*xk13/(1+xk13^10))-0.1*xk1i); xk2i=x(i)+0.5*k2(j); xk23=x(i-30)+0.5*k2(j); k3(j)=h*((0.2*xk23/(1+xk23^10))-0.1*xk2i); xk3i=x(i)+k3(j); xk33=x(i-30)+k3(j); k4(j)=h*((0.2*xk33/(1+xk33^10))-0.1*xk3i); x(i+1)=x(i)+(1/6)*(k1(j)+2*k2(j)+2*k3(j)+k4(j)); t(i+1)=t(i)+h; i=i+1; j=j+1; end plot(t(31:631),x(31:631)) axis([31 631 0 1.4])

    100 200 300 400 500 6000

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    ekil 5.2 Mackey-Glass kaotik zaman serisinden bir kesit

    42

  • Elde edilen ilk 300 nokta ile oluturulan bulank sistem ile geriye alan 300 nokta hesaplayacak Matlab kodu aada verilmitir.

    ; ;

    7=trimf(x, [1.2 1.4 1.6]); 1.4];

    y4;y5;y6;y7];

    ad xdata

    n,:)=[xdata(i) xdata(i+1) xdata(i+2) xdata(i+3) xdata(i+4)]; =n+1;

    6;

    =1:7; u(k)=interp1(x,y(k,:),data(n,i));

    ux(n,i)=max(mu); x(n,i)=find(mux(n,i)==mu);

    1:296; (i)=mux(i,1)*mux(i,2)*mux(i,3)*mux(i,4)*mux(i,5);

    95; (n,:)*ones(5,1);

    k x=0:0.1:1.6; y1=trimf(x, [0 0.2 0.4]); y2=trimf(x, [0.2 0.4 0.6])y3=trimf(x, [0.4 0.6 0.8])y4=trimf(x, [0.6 0.8 1]); y5=trimf(x, [0.8 1 1.2]); y6=trimf(x, [1 1.2 1.4]); yymrk=[0.2 0.4 0.6 0.8 1 1.2 y=[y1;y2;y3; lon=1; for i=1:1:296; data(nend for n=1:29 for i=1:5; for kmend mkmu end end for i=Dend for n=1:2T=kmux

    43

  • if T = 0; n+1;

    r s=i:296; n,1:4)-kmux(s,1:4);

    0; (p)=s;

    =p+1;

    nd ynk);

    =1:r; ynkD(q,:)=[aynk(q) D(aynk(q))];

    ynkD(r+1,:)=[n D(n)]; (aynkD(:,2));

    kD(q,2) < makDkr; x(aynkD(q,1),:)=zeros(1,5);

    ];

    mux(:,1)~=0); rallar;

    c]=size(kn);

    :1:596; ta(n,:)=[xdata(i) xdata(i+1) xdata(i+2) xdata(i+3) xdata(i+4)];

    (1)=0;

    ;

    i=p=1; fofark=kmux( if fark==aynkpend e[a r]=size(a for qaend amakDkr=max for q=1:r+1; if aynkmuend end end aynk=[aynkD=[]; end kurallar=find(kkn=ku[rn=1; for i=297prdan=n+1; end AB(1)=0; for s=1:300q=2; for i=1:r;

    44

  • a=kmux(kn(i),1); b=kmux(kn(i),2); c=kmux(kn(i),3); d=kmux(kn(i),4); mrk=kmux(kn(i),5); pmux1=interp1(x,y(a,:),prdata(s,1)); pmux2=interp1(x,y(b,:),prdata(s,2)); pmux3=interp1(x,y(c,:),prdata(s,3)); pmux4=interp1(x,y(d,:),prdata(s,4)); uy=[pmux1 pmux2 pmux3 pmux4];

    rk(mrk)*min(uy)) + A(q-1); min(uy)+B(q-1);

    =q+1;

    s)=A(r+1)/B(r+1);

    =1:300; plot(p,f,':',p,xdata(301:600))

    A(q)=(ymB(q)=qend f(end p

    0 50 100 150 200 250 3000.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6.

    ekil 5.3 Zaman serisinin gerek ve bulank sistem ile hesaplanan deerleri

    5.2.2 Ara Park Uygulamas

    45

  • Bir otomobilin geri geri park etmesi dorusal olmayan bir kontrol problemidir. Geleneksel kontrol uygulamalarnda ilk adm olarak sistemin matematiksel modeli kartlr, daha sonra da kontrol edici tasarlanr. Dier bir yaklamda ise bir srcnn davrann yanstacak kontrol edici sz konusudur. Burada ikinci yaklam bulank mantk kullanlarak ele alnacaktr. Bu metotta, bir srcnn arac park etmesi srasnda aracn pozisyonuna gre davranmas ve kontrol etmesi giri k verisi olarak toplanr ve bu veri ile bulank

    antk sistemi tasarlanr. Srcnn yapmas gerekenler bulank

    imle edilecek ara ve park yeri ekil 5.4de verilmitir.

    d nmamtr. Bulank mantk sistemi

    x=10,

    mmantk sistemine retilir. S

    =90o

    x=0 x=20

    (x,y)

    y

    ekil 5.4 Simle edilen ara ve park yeri

    Aracn pozisyonu , x ve y durum deikeni ile belirlenmitir. aracn yatay ile yapt adr. Aracn kontrol direksiyon as ile salanmaktadr. Arac istenilen yere gtrme esnasnda sadece geri gitmee izin verilmektedir. Sistemi basitletirmek iin ara ile park yeri arasndaki mesafenin yeterli olduu dnlerek y deikeni urum deikeni olarak al

    tasarlanrken giri deikenleri olarak (x, ), k deikeni olarak da alnmtr.

    46

  • Son durum deikeni ekil 5.4den grld zere (xf, f) = (10, 90) deerlerini alacaktr. Simlasyon iin durum deikenlerinin deiim ralklara ]20,0[x , ]270,90[ ve ]40,40[ eklindedir.

    ulank mantk sistemini tasarlarken aadaki admlar takip Bedilmitir. Adm 1 lk admda (x, p; p) giri-k iftlerini oluturmak gerekir. Bu veriler uzman bilgisi ile oluturulabilir. k eikeni src

    crbesine bal olarak belirlenir. Bu uygulamada simlasyon iin Wang ve Mendelin [1992b] matematiksel modeli kullanl

    dte

    acaktr.

    [ ] [ ] [ ])(sin)(sin)()(cos)()1( tttttxtx +++=+ (5.5)

    [ ] [ ] [ ])(cos)(sin)()(sin)()1( tttttyty ++=+ (5.6)

    [ ]

    =+

    ttt )(sin2sin)()1( 1 b

    (5.7)

    rada b aracn uzunluu ve b = 4 in alnmtr. Aracn harekete bubalang yeri rastgele seilecektir. Adm 2 Giri ve k deikenlerine ait yelik fonksiyonlar belirlenir. Bu problemde iin 7, x iin 5 ve iin 7 yelik fonksiyonu belirlenmitir. ekil 5.5e baknz. ve rad cinsinden ifade edilmitir. ( (rad) = (derece) * pi/180).

    47

  • -2 -1 0 1 2 3 4 50

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    a) girii iin yelik fonksiyonlar

    0 2 4 6 8 10 12 14 16 18 200

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    b) x girii iin yelik fonksiyonlar

    -0.8 -0.6 -0. -04 .2 0 0.2 0.4 0.6 0.80

    0.1

    0.2

    0.3

    0.4

    0.8

    0.5

    0.6

    0.7

    0.9

    1

    c) iin y fo o

    ekil 5.5 Ara park pr lemin i e i e nksiyonlar

    k el

    ik nksiy nlar

    ob de g ri v k in y lik fo

    48

  • Adm 3

    yelik fonksiy isi kullanarak ekil 5.6daki giri-k kural tablosu oluturulur.

    S3 S2 S3

    onlarn belirledikten sonra uzman bilg

    S2 S2 S3 S3 S3 S1 B1 S1 S2 S3 S2 CE B2 B2 CE S2 S2 B1 B2 B3 B2 B1 S1 B2 B3 B3 B3 B2B3 B3 B2

    S2 S1 CE B1 B2 X

    ekil 5.6 Ara park problemi iin kural tablosu

    dm 4

    A

    lanlarak bulank mantk sistemi sarm tamamlanr.

    Adm 3de kural tablosunu oluturduktan sonra, kullanlacak bulank mantk sistemini semek gerekir. Denklem (5.8)de verilen form ve ekil 5.6daki kural tablosu kulta

    [ ][ ]

    ==

    =

    == n

    i iAMl

    n

    i iAlM

    l

    x

    xyxf

    li

    li

    11

    11

    )(

    )()(

    (5.8)

    Bu problem iin de 5.2.1de zaman serisi problemi iin verilen matlab koduna benzer kod yazlabilir. Biz burada hem kolaylk olmas hem de Matlab Fuzzy Toolboxn tantma amacyla FIS editrn kullanacaz. ekil 5.7ye baknz. Bunun iin Matlab komut satrnda fuzzy komutunu yazp FIS editr penceresini ayoruz.

    49

  • ekil 5.7 FIS editr

    Giri deikenimiz x ve olmak zere iki tane giri deikeni olduundan edit mensnden bir tane daha giri deikeni eklenir. Daha sonra her iki deikenin yelik fonksiyonlarnn belirlenmesi iin input1 ve input2 kutularna ift tklanr. Giri aralklar dikkate alnarak ka adet yelik fonksiyonu kullanlacana karar verilir ve atanr. k deikeni iin de yelik fonksiyonlar atandktan sonra edit mensnden rule mensne girilerek ekil 5.6da verilen kural tablosuna gre kurallar oluturulur. Bulank mantk sistemi iin uygulanacak durulama yntemi seildikten sonra FIS editr kapatlr ve bir isim verilir. Burada truckrule ismi verilmitir. Aada truckrule ismindeki FIS editrnde tasarlanan sistemin zellikleri grlmektedir. [System] Name='truckrule' Type='mamdani' Version=2.0 NumInputs=2 NumOutputs=1 NumRules=27 AndMethod='min' OrMethod='max' ImpMethod='min' AggMethod='max' DefuzzMethod='centroid'

    50

  • [Input1] Name='input1' Range=[-1.571 4.7124] NumMFs=7 MF1='s3':'trimf',[-2.618 -1.571 -0.524] MF2='s2':'trimf',[-1.571 -0.524 0.5239] MF3='s1':'trimf',[-0.524 0.5239 1.57] MF4='ce':'trimf',[0.5239 1.57 2.618] MF5='b1':'trimf',[1.57 2.618 3.664] MF6='b2':'trimf',[2.618 3.664 4.712] MF7='b3':'trimf',[3.664 4.712 5.761] [Input2] Name='input2' Range=[0 20] NumMFs=5 MF1='s2':'trimf',[-5 -5.551e-017 5] MF2='s1':'trimf',[0 5 10] MF3='ce':'trimf',[5 10 15] MF4='b1':'trimf',[10 15 20] MF5='b2':'trimf',[15 20 25] [Output1] Name='output1' Range=[-0.6981 0.6981] NumMFs=7 MF1='s3':'trimf',[-0.9307 -0.6981 -0.4655] MF2='s2':'trimf',[-0.6981 -0.4655 -0.2326] MF3='s1':'trimf',[-0.4655 -0.2326 0] MF4='ce':'trimf',[-0.2326 0 0.2326] MF5='b1':'trimf',[0 0.2326 0.4655] MF6='b2':'trimf',[0.2326 0.4655 0.6981] MF7='b3':'trimf',[0.4655 0.6981 0.9307] [Rules] 1 1, 2 (1) : 1 1 2, 1 (1) : 1 2 1, 2 (1) : 1 2 2, 1 (1) : 1 2 3, 1 (1) : 1 2 4, 1 (1) : 1 3 1, 5 (1) : 1 3 2, 3 (1) : 1 3 3, 2 (1) : 1 3 4, 1 (1) : 1 3 5, 2 (1) : 1

    51

  • 4 1, 6 (1) : 1 4 2, 6 (1) : 1 4 3, 4 (1) : 1 4 4, 2 (1) : 1 4 5, 2 (1) : 1 5 1, 6 (1) : 1 5 2, 7 (1) : 1 5 3, 6 (1) : 1 5 4, 5 (1) : 1 5 5, 3 (1) : 1 6 2, 7 (1) : 1 6 3, 7 (1) : 1 6 4, 7 (1) : 1 6 5, 6 (1) : 1 7 4, 7 (1) : 1 7 5, 6 (1) : 1 ekil 5.8de giri ve k deikenlerine ait yelik fonksiyonlar ve kural ilikileri grlmektedir.

    ekil 5.8 FIS editr ve kurallar

    52

  • Bu admlardan sonra aadaki Matlab kodu ile sistem tasarm tamamlanr. % aracn balang yeri x(1)=1; phi(1)=30*pi/180; % b=4; fis1=readfis('truckrule'); % FIS editrde tasarlanan sistemin tantlmas for n=1:50; out1=evalfis([phi(n) x(n)],fis1); theta(n)=out1; x(n+1)=x(n)+cos(phi(n)+theta(n))+sin(theta(n))*sin(phi(n)); phi(n+1)=phi(n)-asin((2/b)*sin(theta(n))); end Balang yeri (1,0), (13,30) ve (3,-30) seildiinde y deikeni ihmal edildiinden aracn asnn x deikenine gre deiimi ekil 5.9de verilmitir.

    0 2 4 6 8 10 12 14 16-40

    -20

    0

    20

    40

    60

    80

    100

    120

    140

    ekil 5.9 Ara park ederken deikeninin x deikenine gre deiimi

    53

  • 5.3 Gradyen Tabanl Eitme (Gradient Descent Training) ile Bulank Sistem Tasarm

    nekler gradyen hesaplayamazlar, ama yine de vadinin dibini bulabiliyorlar.

    Table look up metodunda yelik fonksiyonlar giri k iftlerine bal deildir. lk balang olarak seilen yelik fonksiyonlar btn giri k iftleri iin ayn kalmaktadr. Gradient Descent Training metodunda ilk nce bulank sistem yaps belirlenir ve daha sonra giri k iftlerine gre bulank sistem yapsndaki baz parametreleri deitirilip optimum yelik fonksiyonlar belirlenebilmektedir. lk adm olarak bulank sistem yaps oluturulmaldr. En ok kullanlan bulank sistem yapsnda, product inference engine, single tone fuzzifier, merkezi ortalama defuzzifier ve gaussian yelik fonksiyonu kullanlarak elde edilmektedir.

    =

    =

    =

    =

    =

    ni l

    i

    liM

    l

    ni l

    i

    lilM

    l

    xx

    xxy

    xf

    121

    1

    121

    1

    )(exp(

    )(exp()(

    (5.9)

    burada M sabit kural says, n sabit giri says ve [ serbest parametrelerdir.

    li

    li

    l vexy , ]

    54

  • Gradient Descent metodunda izlenmesi gereken admlar zetlemek istersek: Adm 1 Bulank sistem yaps seildikten sonra, M belirlenir. M byk seilirse doruluk nispeti artacaktr. ilk deerleri atanr.

    )0()0(,)0( lil

    il vexy

    Bu ilk deerler uzman bilgisinden faydalanlarak belirlenebilir veya yelik fonksiyonlarnn giri ve k deerlerini rtecek ekilde seilmelidir. Adm 2 Verilen giri k iftleri iin, sistem eitilmeli ve bulank sistem k hesaplanmaldr.

    );( 00pp yx

    ==

    n

    i li

    li

    pil

    qqxx

    z1

    20 )))(

    )((exp(

    (5.10)

    ==

    M

    l

    lzb1

    (5.11)

    ==

    M

    l

    ll zqya1

    )( (5.12)

    p = 0, 1, 2, 3, .. q = 0, 1, 2,3, ... i = 1, 2, 3, .. n l = 1, 2, 3, .. M olmak zere

    baf = (5.13)

    55

  • hesaplanr. B

    onusudur. urada toplam (2n+1)M tane serbest parametre sz

    k

    dm 3A Eitme algoritmas kullanlarak parametreler gncellenmelidir. Bu dmdaki ama parametreler ayar edilerek optimum f deeri a

    hesaplanmaya allmasdr. Belirlenen ep hata oranna ulalana kadar her giri k ifti iin eitime devam edilir.

    [ ]2)(1 popop yxfe = 2 (5.14) Gradyan tabanl eit ep hatasn

    e gre minimize etmek iin, l vexy , me ile bulank sistem tasarmnda,

    serbest parametreler lil

    i

    parametreleri aadaki ekilde gncellenir.

    ql

    ll eqyqy =+ )()1( (5.15) y

    ql

    i

    li

    li x

    eqxqx

    =+ )()1( (5.16)

    ql

    i

    li

    li

    eqq

    =+

    )()1( (5.17)

    Adm 4

    n hataya ulalncaya kadar adm 2 ve adm 3 aldr.

    Belirlene

    krarlanmte

    dm 5A Bir sonraki giri k ifti iin adm 2, 3 ve 4 tekrarlanr.

    56

  • 5.4 Gradyen Tabanl Bulank Sistem Tasarm Uygulamalar

    .4.1 Gradyen Yntemle Basit Fonksiyon Eitme

    Gradyen yntemle y=exp(-(x-xc)/s)^2 fonk.parametrtelerini ayarlama

    ;

    co=1;so=3.6;

    2);

    d=[s]; ];

    aadan xc ve s geliyor...

    =gauss(x,2,1);%Model

    r i=1:100,

    gauss(x,xc,s);%Process

    ';

    o=p; [(x-xc)/s^2.*f;(x-xc).^2/(s^3).*f]']';

    dp;

    =0; 1

    ;

    p(1)>4

    5 %clear all x=0:0.1:4alfa=0.05; xp=[xco;so]; xc=p(1);s=p( sxcd=[xcEd=[]; % fm fo f=e=(f-fm); E=0.5*e*eEd=[Ed E]; pdp=[e*d1=[d1 dp]; p=po-2*alfa* ttif tt==if p(1)>0xc=p(1); else xc=0end ifxc=4; end

    57

  • if p(2)>2

    );

    p(2)

  • 0 10 20 30 40 50 60 70 80 90 1000

    2

    4

    6E

    0 0.5 1 1.5 2 2.5 3 3.5 40

    0.2

    0.4

    0.6

    0.8

    1f ve fm

    ekil 5.10 a) Hatann deiimi b) Gerek ve bulank sistem klar

    0 20 40 60 80 100 1201

    2

    3

    4s

    0 20 40 60 80 100 1200.5

    1

    1.5

    2xc

    ekil 5.11 a) s parametresinin eitme ile deiimi b) xc parametresinin eitme ile deiimi

    59

  • 5.4.2 rnek Li-Xin Wangn Kitabndaki rnek 13.1in zm aada verilmitir. y(k+1) = 0.3y(k) + 0.6y(k-1) + g[u(k)] (5.18) eklinde verilen fark denkleminde bilinmeyen fonksiyon g(u) = 0.6sin(u) + 0.3sin(3u) + 0.1sin(5u) (5.19) ve u(k)=sin(2k7200) (5.20) olsun. M=10 ve =5 seelim. Bu fark denkleminin bulank sistem edeer modeli; y^(k+1) = f^(0.3y(k) + 0.6y(k-1) + g[u(k)]) (5.21) eklinde olacaktr. Burada f^(x) ilk admda seilen bulank sistemi gstermektedir. y(1)=0; y(2)=0; u(1)=0; p=1; for k=2:699; u(k)=sin(2*pi*k/200); y(k+1)=0.3*y(k)+0.6*y(k-1)+0.6*sin(pi*u(k))+0.3*sin(3*pi*u(k))... +0.1*sin(5*pi*u(k)); xvy(p,:)=[y(k) y(k-1) u(k) y(k+1)]; p=p+1; end

    60

  • xm=ones(10,3); sgm=0.1.*ones(10,3); ym=ones(10,1); a=0; b=0; alfa=5; d=10; for p=1:500; d=10; a=0; b=0; while abs(d) > 0.1; for k=1:10 z(k)=exp(-((xvy(p,1)-xm(k,1))/sgm(k,1))^2)*exp(-((xvy(p,2)-xm(k,2))/sgm(k,2))^2)*... exp(-((xvy(p,3)-xm(k,3))/sgm(k,3))^2); b=b+z(k); a=a+ym(k,1)*z(k); end f(p)=a/b; for k=1:10; for g=1:3; xm(k,g)=xm(k,g)-(alfa/b)*(f(p)-xvy(p,4))*(ym(k,1)-f(p))*z(k)*2*(xvy(p,g)-xm(k,g))/(sgm(k,g)^2); sgm(k,g)=sgm(k,g)-(alfa/b)*(f(p)-xvy(p,4))*(ym(k,1)-f(p))*z(k)*2*... ((xvy(p,g)-xm(k,g))^2)/(sgm(k,g)^3); end ym(k,1)=ym(k,1)-(alfa/b)*z(k)*(f(p)-xvy(p,4)); end d=0.5*(f(p)-xvy(p,4)); end end

    61

  • 0 50 100 150 200 250 300 350 400 450 500-5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    5

    ekil 5.12 Bulank edeer model ve gerek deerler

    62

  • 5.4.3 rnek Li-Xin Wangn Kitabndaki rnek 13.2nin zm aada verilmitir. Gradient Descent metodunu ok girili ve ok kl bir sistem iin dnelim. y1(k+1) = y1(k)/(1+y2(k)2)+u1(k) (5.22) y2(k+1) = y1(k)*y2(k)/(1+y2(k)2)+u2(k) (5.23) y2^(k+1)= f2^(y1(k)*y2(k)/(1+y2(k)2))+u2(k) (5.24) y1^(k+1)= f1^(y1(k)/(1+y2(k)2))+u1(k) (5.25) u1(k)=sin(2k/25) (5.26) u2(k)=cos(2k/25) (5.27) M=121 seelim. y1(1)=0.1; y2(1)=0.1; p=1; for k=1:80; u1(k)=sin(2*pi*k/25); u2(k)=cos(2*pi*k/25); y1(k+1)=y1(k)/(1+(y2(k))^2)+u1(k); xvy1(p,:)=[y1(k) y2(k) u1(k) y1(k+1)]; y2(k+1)=y1(k)*y2(k)/(1+(y2(k))^2)+u2(k); xvy2(p,:)=[y2(k) y1(k) u2(k) y2(k+1)]; p=p+1; end xm1=ones(121,2); sgm1=0.1.*ones(121,2); ym1=ones(121,1); xm2=ones(121,2);

    63

  • sgm2=0.1.*ones(121,2); ym2=ones(121,1); alfa=50; d1=10; for p=1:80; d1=10; a1=0; b1=0; while abs(d1) > 0.1; for k=1:121; z1(k)=exp(-((xvy1(p,1)-xm1(k,1))/sgm1(k,1))^2)*exp(-((xvy1(p,2)-xm1(k,2))/sgm1(k,2))^2); b1=b1+z1(k); a1=a1+ym1(k,1)*z1(k); end f1(p)=(a1/b1)+xvy1(p,3); for k=1:121; for g=1:2; xm1(k,g)=xm1(k,g)-(alfa/b1)*(f1(p)-xvy1(p,4))*... (ym1(k,1)-f1(p))*z1(k)*2*(xvy1(p,g)-xm1(k,g))/(sgm1(k,g)^2); sgm1(k,g)=sgm1(k,g)-(alfa/b1)*(f1(p)-xvy1(p,4))*(ym1(k,1)-f1(p))*z1(k)*2*... ((xvy1(p,g)-xm1(k,g))^2)/(sgm1(k,g)^3); end ym1(k,1)=ym1(k,1)-(alfa/b1)*z1(k)*(f1(p)-xvy1(p,4)); end d1=0.5*(f1(p)-xvy1(p,4)); end end

    64

  • for p=1:80; d2=10; a2=0; b2=0; while abs(d2) > 0.1; for k=1:121; z2(k)=exp(-((xvy2(p,1)-xm2(k,1))/sgm2(k,1))^2)*exp(-((xvy2(p,2)-xm2(k,2))/sgm2(k,2))^2); b2=b2+z2(k); a2=a2+ym2(k,1)*z2(k); end f2(p)=(a2/b2)+xvy2(p,3); for k=1:121; for g=1:2; xm2(k,g)=xm2(k,g)-(alfa/b2)*(f2(p)-xvy2(p,4))*... (ym2(k,1)-f2(p))*z2(k)*2*(xvy2(p,g)-xm2(k,g))/(sgm2(k,g)^2); sgm2(k,g)=sgm2(k,g)-(alfa/b2)*(f2(p)-xvy2(p,4))*(ym2(k,1)-f2(p))*z2(k)*2*... ((xvy2(p,g)-xm2(k,g))^2)/(sgm2(k,g)^3); end ym2(k,1)=ym2(k,1)-(alfa/b2)*z2(k)*(f2(p)-xvy2(p,4)); end d2=0.5*(f2(p)-xvy2(p,4)); end end plot(t,f1,t,xvy1(:,4)) plot(t,f2,t,xvy2(:,4))

    65

  • 0 10 20 30 40 50 60 70 80-6

    -5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    ekil 5.13 y1(k) iin bulank edeer model k ve gerek deerler

    0 10 20 30 40 50 60 70 80-3

    -2

    -1

    0

    1

    2

    3

    ekil 5.14 y2(k) iin bulank edeer model k ve gerek deerler

    66

  • 5.4.4 On line parametre atama yntemi ve adm adm eitme ile ilgili dinamik sistem eitme rnei % giri x,k yf % 5 kural, basit gradyen yntemi, on-line parametre atamas % adm adm eitme. clear yp(1)=0; yp(2)=0; u(1)=0; d(1)=1; for k=2:250-1; d(k)=k; if k

  • po=[xco so yco deo]; dp=zeros(5,4); %kuralciz([-0.1:0.02:0.3],xco,so,yco,[-1:0.02:1]),pause Tope=1.0; tt=[];GG=[]; [aa,bb]=size(u); p=0; while Tope>0.5 & p

  • %po=pupdate(po,[-1:1],[-10:10]); xco=po(:,1); so=po(:,2); yco=po(:,3); deo=po(:,4); end tt=[tt Tope]; end plot(d,yf,'r',d,yp(1:249),'k'); %title('Eitme faz'), %legend('Bulank sistem k','gerek sistem k') pause; %semilogy(tt),pause [tn,tm]=size(xi); for j=1:tn, GG=[GG;gaussn(x,xc(j),s(j))]; end bGG=GG; if min(size(GG))>1 bGG=sum(GG); end fson=yc'*[GG]./bGG; % plot(d,yp(1:249),'r',d,yf,'b'),pause % plot(u,g,u,fd),pause % Deneme faz. tson=700; for k=250:tson-1; d(k)=k; if k

  • E=0; for q=250:tson-1, y=yp(q); %Tanmlanacak fonksiyon z=gaussn(u(q),xc,s); z=z./deo; b=sum(z); a=yc'*z; f=a/b; fdt(q)=f; ys=0.3*yp(q+1)+0.6*yp(q)+f; E=E+(ys-y)^2; yf(q)=ys; end plot(d,yf,'b',d,yp(1:tson-1),'k'); %title('Eitme faz (k250)'), %legend('Bulank sistem k','gerek sistem k') pause; %kuralciz([-1:0.02:1],xco,so,yco,[-1:0.02:1]) E plot(d,yf-yp(1:tson-1),'k'),grid axis([0 700 -5 5]) %title('Hata'),pause plot(d,yf,'b',d,yp(1:tson-1),'k',d,yf-yp(1:tson-1))

    70

  • -1 -0.5 0 0.5 1-0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    0.8

    ekil 5.15 Dinamik sistemin verdii k

    0 50 100 150 200 250-5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    5

    ekil 5.16 Eitme faz

    71

  • 0 100 200 300 400 500 600 700-5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    5

    ekil 5.17 Eitme faz (k=250) ve Test faz (k > 250) iken bulank sistem ve gerek sistem k

    0 100 200 300 400 500 600 700-5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    5

    ekil 5.18 Gerek sistem ve bulank sistem arasndaki hata

    72

  • 5.4.5 Arttrlm Bulank Sistemle Sistem Tanmlama Optimizasyon/Eitme Yntemi: BFGS k yelik fonksiyonlarnn merkezini de dikkate alan bulank sistem modeli aada verilmitir.

    =

    = =

    = =5

    1

    2

    1

    5

    1

    2

    1

    /)(

    /)(),,,,(

    l i

    liA

    l i

    liA

    l

    llli

    li

    x

    xyyxxf

    li

    li (5.28)

    Bu sisteme, Arttrlm Bulank Sistem denmektedir. Bu rnekte bu sistem kullanlarak gradyen tabanl yntemlerden biri olan BFGS yntemi ile eitme yaplacaktr. Bu yntem dorusal arama (line search) kullanr. Bir baka deyile, renme adm her iterasyon admnda hesapanr. % Golden section search. % Ayn balang artlaryla Artrlm sistem, % daha az admda istenen hatann altna iniyor. clear global xk yp xk=0:0.1:2.5; xco=[0;1;1;2]; so=[1;1;1;1]; yco=[-1;0;1;1]; do=[1;1;1;1]; M=size(yco,1); %Kural says po=[xco;so;yco;do]; pd=po'; olcut='folcut5'; gradyen='fgrad5'; hata=feval(olcut,po);

    73

  • ed=hata; adiz=0; k=1; Ho=eye(4*M); co=feval(gradyen,po); con=norm(co); d0=-inv(Ho)*co; while hata>0.0080 & con>0.0010 k=k+1; alfa=goldens1(po,olcut,-d0); %alfa=arac(po,olcut,-d0,0.001,0) p=po+alfa*d0; %p=pupdate(p,xk,yp); hata=feval(olcut,p); s0=alfa*d0; c1=feval(gradyen,p); yo=c1-co; Do=yo*yo'/(yo'*s0); Eo=co*co'/(co'*d0); H1=Ho+Do+Eo; d1=-inv(H1)*c1; d0=d1; Ho=H1; co=c1; con=norm(co); po=p; pd=[pd;p']; ed=[ed hata]; adiz=[adiz alfa]; [k alfa hata con] fcikis5(po,xk),pause(.2); end fcikis5(po,xk),pause

    74

  • p=reshape(p,M,4) renk='brkc'; for jj=1:size(pd,2); plot(pd(:,jj),renk(rem(jj,4)+1)) hold on end pause hold off semilogy(ed,'k'),grid,title('Hata'),pause semilogy(adiz,'k'),grid,title('alfa'),pause

    0 0.5 1 1.5 2 2.50

    0.5

    1

    1.5

    2

    2.5

    3

    ekil 5.19 Gerek sistem ve Bulank Sistem ktlar

    75

  • 0 10 20 30 40 50 60 70 80 9010-4

    10-3

    10-2

    10-1

    100

    101

    102alfa

    ekil 5.20 alfa deiimi 5.5 En Kk Kareler (Recursive Least Squares) Kullanarak Bulank Sistem Tasarm Gradient Descent metodunda adm, adm eitmede hatann en aza indirilmesi her bir veri ifti iin yaplr. Eitme algoritmas bir kerede sadece bir tane giri k ifti iin parametreleri gncellemektedir. Recursive Least Squares metodunda btn giri k iftleri iin hesaplanan toplam hata en aza indirmeye allr. Performans indeksi aada verilmitir.

    [2

    1)( =

    =

    p

    j

    jo

    jop yxfJ ] (5.29)

    Recursive Least Squares metodu kullanarak bulank sistem tasarmnda izlenecek admlar yledir:

    76

  • Adm 1

    [ ] [ ] [ nnU ] ,.....,, 2211 = (5.30) uzayn rtecek ekilde Ni tane bulank kme oluturulur. Adm 2 =

    ni iN1 tane bulank IF THEN kurallar oluturulur. Daha sonra

    rnein, product inference engine, single tone fuzzifier ve merkezi ortalama defuzzifier seilerek tanmlanan fuzzy sistem tasarlanr.

    =

    ===

    ==

    =

    )(.....

    )(.....)(

    11

    1

    11

    11

    ....11

    11

    in

    i iliA

    nN

    nl

    N

    l

    in

    i iliA

    nN

    nl

    nllN

    l

    x

    xyxf

    (5.31)

    Adm 3 lk deer parametreleri atanr. Adm 4 Adm 2de tanmlanan f(x) bulank sistem aadaki gibi dzenlenir.

    TNNNN yyy )...,,.........( 3211...11,1...1 = (5.32)

    )()( xbxf T= (5.33)

    TnNNNN xbbxbxb ))(..,,.........),....,(()( ...211...111..1= (5.34)

    =

    ===

    =

    )(.....

    )()(

    11

    1

    11

    1...1

    in

    i iliA

    nN

    nl

    N

    l

    in

    i iliAnll

    x

    xxb

    (5.35)

    77

  • pJ minimize edecek parametre gncelleme algoritmas (en kk kareler) aada verilmitir

    [ ])1()()()1))( 00 += pxbypKpp pTp (5.36)

    [ ] 1000 1)()1()()()1()( += ppTp xbpPxbxbpPpK (5.37)

    )1()()()1()( 0 = pPxbpKpPpPpT (5.38)

    )0( nc admda seilmiti. IP =)0( , I birim matris olmak zere

    byk bir sabit seilir. Adm 2de tanmlanan bulank sistemdeki parametreleri nlly .....1 )( p elemanlarna karlk gelmektedir.

    5.6 En Kk Kareler Bulank Sistem Tasarm Uygulamaklar 5.6.1 rnek 1 y = sin (x1*x1) + cos (x1) (5.39) - < x1 < arasnda tanmlanan sistemi Recursive Least Squares metodu kullarak bulank sistem tasarm yapalm. x1=-pi:0.1:pi; y=sin(x1.*x1)+cos(x1); n1=100; c1(1,:)=linspace(-pi,pi,n1); sigma1(1,:)=2*ones(1,n1); for j=1:n1 mu1(j,1)=exp(-0.5*((x1(1)-c1(1,j))/sigma1(1,j))^2); end

    78

  • payda(1)=sum(mu1(:,1)); for j=1:n1 bi(j,1)=mu1(j,1)/payda(1); end sgm=500; P(:,:,1)=sgm*eye(n1); Q(:,1)=zeros(n1,1); yest(1)=bi(:,1)'*Q(:,1); for k=2:63; for j=1:n1 mu1(j,k)=exp(-0.5*((x1(k)-c1(1,j))/sigma1(1,j))^2); end payda(k)=sum(mu1(:,k)); for j=1:n1 bi(j,k)=mu1(j,k)/payda(k); end K(:,k)=P(:,:,k-1)*bi(:,k)/(bi(:,k)'*P(:,:,k-1)*bi(:,k)+1); Q(:,k)=Q(:,k-1)+K(:,k)*(y(k)-bi(:,k)'*Q(:,k-1)); P(:,:,k)=eye(size(P(:,:,k-1)))-K(:,k)*bi(:,k)'*P(:,:,k-1); yest(k)=bi(:,k)'*Q(:,k); end plot(x1,yest,'r.',x1,y,'b'); title('Bulank Systems Using Recursive Least Squares')

    79

  • -4 -3 -2 -1 0 1 2 3 4-2

    -1.5

    -1

    -0.5

    0

    0.5

    1

    1.5

    ekil 5.21 Gerek deerler ve bulank sistem k 5.6.2 Bulank Taban Fonksiyonlar [-3;3] uzaynda 4 adet gauss yelik fonksiyonu tanmlayp, bulank taban fonksiyonlarn hesaplatp izdiren Matlab kodlar aadaki gibidir. clear all; x=-5:0.1:5; xc=[-3 -1 1 3]; s=sqrt(2)*ones(size(xc)); muf=gaussn(x,xc,s); plot(x,muf'),,title('Membership Functions'); pause close for j=1:max(size(xc)) p(j,:)=muf(j,:)./sum(muf); end plot(x,p),title('Bulank Basis Functions')

    80

  • -5 0 50

    0.2

    0.4

    0.6

    0.8

    1Membership Functions

    ekil 5.22 yelik fonksiyonlar

    -5 0 50

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Fuzzy Basis Functions

    ekil 5.23 Bulank taban fonksiyonlar

    5.6.3 RLS ile FS sistem Tanmlama rnei

    81

  • Burada kullanlan gaussn fonksiyonu n adet gauss yelik fonksiyonunu tanmlar... function y=gaussn(x,c,s) sc=max(size(c)); for i=1:sc y(i,:)=exp(-0.5*((x-c(i))./s(i)).^2); end RLSE ile yo=2*xo/(sin(3*xo)+1+tanh(xo)) (5.40) fonksiyonunu xa=[0:0.1:5] de tanmlanyor. clear all %RLSE yo=2*xo/(sin(3*xo)+1+tanh(xo)); %fonksiyonunu xa=[0:0.1:5] de tanmlyor % td=[]; bx=11; xar=[0:5/bx:5-5/bx]; t=rand(1,bx); Po=eye(bx); hata=1; p=0; adim=0; hatad=[]; while hata>0.10 & adim

  • end plot(td),title('parametrelerin k yelik fonksiyonu merkezleri)deiimi'); pause xa=[0:0.1:5]; r1=regf(xa,xar); r=r1'; yson=t*r; yg=(2*xa)./(sin(3*xa)+1+tanh(xa)); plot(xa,yson,':b',xa,yg,'k-'), title('Gerek sistem ve bulank sistem klar'); pause semilogy(hatad),grid title('Hatann iterasyonla deiimi');

    0 200 400 600 800 1000 1200-2

    0

    2

    4

    6

    8

    10parametrelerin k yelik fonksiyonu merkezleri)de i imi

    ekil 5.24 Parametrelerin k yelik fonksiyonu merkezleri deiimi

    83

  • 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

    1

    2

    3

    4

    5

    6

    7

    8Ger ek sistem ve fuzzy sistem k lar

    ekil 5.25 Gerek sistem ve bulank sistem klar

    0 2 4 6 8 10 12 14 16 18 2010

    0

    101

    102Hatan n iterasyonla de i imi

    ekil 5.26 Hatann iterasyonla deiimi

    84

  • 5.7 Clustering Kullanarak Bulank Sistem Tasarm Bu metotta giri k iftlerini kullanarak, kmeleme ilemi ile bulank sistemin oluturulmas hedeflenmektedir. ok kompleks sistemlerde kural saysnn okluu istenmeyen bir problem olarak karmza kmaktadr. Bu metotta izlenecek kurallar srasyla yledir: Adm 1 lk giri k ifti iin cluster merkezleri ve r yarap belirlenir.

    1)1(,)1( 111 == ByA o ilk deerleri atanr.

    )(kAl k giri/k iin l ninci kmedeki klarn toplam, ise k giri/k iin ninci kmedeki giri k saysdr.

    )(kBl

    l Adm 2 knc giri k ifti iin nn cluster merkezine olan uzakl hesaplanr.

    kox

    Eer rxx klc

    ko > ise yeni cluster merkezi olarak atanr.

    (5.41)

    kox

    ko

    Mc xx =

    +1

    1)(,)( 11 == ++ kBykA MkoM (5.42)

    MlkBkBkAkA llll ...1)1()(),1()( === (5.43) Eer rxx klc

    ko

  • Adm 3 Eer xo(k) yeni bir kme oluturmuyor ise k giri/k ifti , );( 00

    jj yxj = 1, 2, 3, ...k iin aadaki bulank sistem tasarlanr.

    =

    =

    =

    21

    21

    )(exp()(

    )(exp()()(

    l

    clMl

    lclM

    l

    xxkB

    xxkA

    xf (5.47)

    Adm 4 k=k+1 iin 2. adma geri dnp, ilemler tekrarlanr.

    86

  • 5.8 Kmeleme Kullanarak Bulank Sistem Tasarm Uygulamalar 5.8.1 Li-Xin Wangn Kitabndaki rnek 15.2 clear format compact xo=[-2 -1 0 1 2]; yo=[ 1 0 2 2 1]; r=1.5; xc(1)=xo(1); A(1,1)=1; B(1,1)=1; M=1 for k=2:max(size(xo)), k uz=abs(xo(k)-xc); muz=min(uz); imuz=find(uz==muz); if abs(xo(k)-xc(imuz))>r disp('yeni cluster') M=M+1 xc(M)=xo(k) A(M,k)=yo(k); B(M,k)=1; for l=1:(M-1) A(l,k)=A(l,k-1); B(l,k)=B(l,k-1); end end if abs(xo(k)-xc(imuz))

  • A(l,k)=A(l,k-1); B(l,k)=B(l,k-1); end end end AA=A([1:M],k)' BB=B([1:M],k)' end % A(l,k) ; l. clusterdaki k(yo) larn toplam. % B(l,k) ; l. clusterdaki giri/k says % A(l,k) ve B(l,k) tamam,imdi bulank sistem... s=0.3; x=-3:0.1:3; fu=0; fa=0; for l=1:M; fu=fu+AA(l)*exp(-(x-xc(l)).^2./s); fa=fa+BB(l)*exp(-(x-xc(l)).^2./s); end f=fu./fa; plot(x,f,'k',xo,yo,'ob') pause l=1:M; si=s*ones(1,M); kuralciz(x,xc,si,BB,[-3:0.1:3]); fuo=0; fao=0; for l=1:M; fuo=fuo+AA(l)*exp(-(xo-xc(l)).^2./s); fao=fao+BB(l)*exp(-(xo-xc(l)).^2./s); end %sadece verilen xo noktalarnda hesap. fo=fuo./fao; E=0.5*(fo-yo)*(fo-yo)'

    88

  • -3 -2 -1 0 1 2 30

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    2

    ekil 5.27 Gerek sistem ve bulank sistem klar

    Ekran kts M = 1 k = 2 eski cluster AA = 1 BB = 2 k = 3 yeni cluster M = 2 xc = -2 0 AA = 1 2 BB = 2 1 k =

    89

  • 4 eski cluster AA = 1 4 BB = 2 2 k = 5 yeni cluster M = 3 xc = -2 0 2 AA = 1 4 1 BB = 2 2 1 5.8.2 Bulank Kmeleme ile sin(x) Fonksiyonunun Tanmlanmas r = 0.11 alnmtr. clear format compact xo=0:0.1:2*pi; yo=sin(xo); r=0.11; xc(1)=xo(1); A(1,1)=1; B(1,1)=1; M=1 for k=2:max(size(xo)), k uz=abs(xo(k)-xc); muz=min(uz); imuz=find(uz==muz);

    90

  • if abs(xo(k)-xc(imuz))>r disp('yeni cluster') M=M+1 xc(M)=xo(k) A(M,k)=yo(k); B(M,k)=1; for l=1:(M-1) A(l,k)=A(l,k-1); B(l,k)=B(l,k-1); end end if abs(xo(k)-xc(imuz))

  • si=s*ones(1,M); kuralciz(x,xc,si,B(l),[-2:0.1:2]); pause close fuo=0; fao=0; for l=1:M; fuo=fuo+A(l,k)*exp(-(xo-xc(l)).^2./s); fao=fao+B(l,k)*exp(-(xo-xc(l)).^2./s); end fo=fuo./fao; E=(fo-yo)*(fo-yo)' M

    0 1 2 3 4 5 6 7-1

    -0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    ekil 5.28 Bulank mantk k ve gerek k

    E toplam karesel hata = 0.4503 M kme says = 32

    92

  • Blm 6 MATLAB Fuzzy Logic Toolbox Kullanarak Bulank Mantk Tabanl Sistem Tasarm 6.1 Matlab Bulank Mantk GUI Aralar ve levleri Matlab ortamnda GUI ( graphical user interface - grafiksel kullanc arabirimi) kullanarak grafiksel ortamda sistemimizi kolaylkla kurabiliriz. Fuzzy Logic Toolboxa komut satrndan da ulalabilir. Fuzzy Logic Toolboxta bir sistemi kurmak, kontrol etmek ve gzlemlemek iin be temel GUI arac vardr: Bulank Karar Sistemi Editr ( Fuzzy inference System - FIS ), yelik Fonksiyonu Editr ( Membership Function Editor ), Kural Editr (Rule Editor), Kural zleyici (Rule Viewer) ve Yzey zleyici (Surface Editor). Bu GUI ler dinamik olarak birbirine baldr. FIS Editr sistemin en st seviyesindeki ilemleri yapar. Ka tane giri ve k deikeni olduu, isimlerinin ne olduu burada belirlenir. Fuzzy Logic Toolbox giri saysn snrlamaz. Ama yine de giri says kullandmz bilgisayarn hafza miktaryla snrl olabilir. Eer giri says yada yelik fonksiyonlarnn says ok fazlaysa, dier GUI aralaryla FISi analiz etmek zorlaabilir. yelik Fonksiyonu Editr her bir deikenle ilgili yelik fonksiyonlarnn ekillerini belirler. Kural Editr sistem davrann belirleyen kurallar oluturmak ve zerinde dzenlemeler yapmak iindir. Kural ve Yzey zleyici, dzenleme deil de FISi gzlemek iin kullanlr. Bunlar sistem zerinde deiiklik yapma zelliine sahip deildir. Kural zleyici hangi kurallarn aktif olduunu, her bir yelik fonksiyonunun sonucu nasl deitirdiini gsterir. Yzey zleyici, kn herhangi bir veya iki k deerine balln gsterir yani sistemin k yzeyini oluturur ve haritasn izer.

    93

  • Fuzzy Logic Toolbox, Simulink (MathWorksun salad simlasyon yazlm) ile birlikte alabilecek ekilde tasarlanmtr. Bunun iin tasarlanan sistem MATLAB Workspace ortamna kayt edilir. GUI aralaryla yada dier metotlarla oluturulan bir sistem simlasyon ortamna dorudan uygulanabilir. 6.2 MATLAB Simulink Ortamnda Uygulamalar Bu blmde, Matlab Fuzzy Logic Toolbox kullanarak baz kontrol uygulamalar iin simulasyonlar yaplacaktr. Geleneksel anlamda oluturulan PI, PD ve PID ile Fuzzy PI, Fuzzy PD ve Fuzzy PID gereklemeleri yaplp, daha sonra karlatrlacaktr. Simulasyonlarda geleneksel denetleyicilerin parametrelerinin optimize edilmedii hatrdan karlmamaldr. Her iki durumda da denetleyici parametreleri deneme yanlma metodu ile seilmitir. 6.2.1 Geleneksel PD Denetleyici Aada grlen geleneksel PD denetleyici devresi MATLAB Simulink ortamnda kurulmutur.

    ekil 6.1 PD denetleyici blok emas

    Kontrol edilen sistem, ikinci dereceden bir transfer fonksiyonuna sahiptir. Sistemin blok emas ekil 6.1 de verilmitir. Sistemde kazan faktr olarak Kp = 12 seilmesinin sebebi sistem kyla giri deerleri arasndaki farkn azaltlmasdr, bylece kararl-hal hatas da azalm olur. Trev zaman sabiti Td =1/12 olarak seilmitir. Hatann trevinin alnd ksmdaki transfer fonksiyonu [s / (0.1*s +1) ] ile ifade

    94

  • edilmitir. Bunun sebebi sadece [s] ile ifade edildiinde trev sinyalinin hatann ilk andaki ani deiimine bal olarak sonsuza gitmesidir. Simulink ortamnda sisteme girilen birim basamak fonksiyonu ve deiik durumlarda sistem klar aada verilmitir.

    ekil 6.2 Sistemin girii

    ekil 6.3 Sistemin sadece orantsal denetleyiciyle kontrol edildii durumda yani Td katsaysnn sfr olduu durumda gzlenen k sinyali:

    95

  • ekil 6.4 Sistemin orantsal ve diferansiyel kontrol sonucunda gzlenen k sinyali

    ekil 6.3 ve ekil 6.4de k sinyalleri incelendiinde trev kontrolnn sitemin kararl-hale geiindeki osilasyonlar azalttn ve bu istenen geie daha ksa srede ulatn gryoruz Hata sinyalinin, hatann trevinin ve denetleyici knda gzlenen kontrol sinyalinin zamana bal olarak ald deerler Tablo 6.1de verilmitir.

    96

  • Tablo 6.1 PD Denetleyici k Deerleri Time (sec)

    Error Error Derivative

    Control Output

    1.0 1.00 10.0 22.0 1.1 0.90 3.20 14.0 1.2 0.70 000 8.50 1.3 0.46 -1.45 4.00 1.4 0.25 -2.00 1.20 1.5 0.07 -1.88 -1.10 1.6 -0.07 -1.50 -2.25 1.7 -0.13 -1.05 -2.67 1.8 -0.17 -0.60 -2.63 1.9 -0.16 -0.15 -2.00 2.0 -0.12 0.20 -1.35 2.1 -0.08 0.38 -0.54 2.2 -0.02 0.50 0.30 2.3 0.03 0.50 0.87 2.4 0.08 0.46 1.40 2.5 0.10 0.36 1.65 2.6 0.13 0.25 1.80 2.7 0.14 0.14 1.74 2.8 0.13 0.04 1.65 2.9 0.12 -0.04 1.45 3.0 0.11 -0.10 1.25 3.1 0.10 -0.11 1.08 3.2 0.08 -0.12 1.06 3.2 0.07 -0.10 0.92 3.4 0.07 -0.08 0.82 3.5 0.06 -0.06 0.74 3.6 0.06 -0.03 0.72 3.7 0.06 -0.01 0.72 3.8 0.06 0.01 0.72 3.9 0.06 0.02 0.72 4.0 0.07 0.03 0.88 4.1 0.07 0.03 0.92 4.2 0.08 0.02 0.95 4.3 0.07 0.02 0.96 4.4 0.07 0.01 0.97 4.5 0.07 000 0.97

    97

  • 6.2 2. Bulank Mantk PD Denetleyici Aada grlen Bulank Mantk PD denetleyici devresi MATLAB Simulink ortamnda kurulmutur. Fuzzy Logic Controller (Bulank Mantk Denetleyici) blounun MATLAB Fuzzy Logic Toolbox ortamnda tasarlanmas bir sonraki alt balkta verilecektir.

    ekil 6.5 Bulank Mantk PD denetleyici blok emas

    Bulank Mantk PD denetleyici devresinin k (kontrol sinyali) ve tm sistemin k aadaki ekillerde grlmektedir.

    ekil.6.6 Sistemin bulank mantk PD kontroll k.

    98

  • ekil 6.6 ve ekil 6.4 de grafiksel olarak gsterilen srasyla Bulank Mantk PD denetleyici kullanlmas sonucunda gzlenen sistem k ve geleneksel PD denetleyici kullanlmas sonucunda gzlenen sistem k arasnda farklar vardr. Burada ama daha iyi performansta alan bir sistem tasarlamak olmad halde, sadece bir sistemin giri ve k deerlerine yani geleneksel PD denetleyicisinin hata, hatann trevi ve denetleyici k deerlerine bakarak bu sistem MATLAB Fuzzy Logic Toolbox ortamnda gerekletirilmi, ve bulank mantk PD denetleyicisi ile kontrol edilen sistem knn gei hali osilasyonlar, kn ald maximum deer (overshoot) ve kararl hale gei sresinin istenen ynde deitirilebilecei gsterilmitir. Yukarda anlatlan yntemler kullanarak parametreleri istenilen zellikleri salayacak ekilde ayarlanabilen ve ok iyi performans zellikleri gsteren sistemler tasarlanabilir. 6.2.3 Geleneksel PID Denetleyici Aada grlen geleneksel PID denetleyici devresi MATLAB Simulink ortamnda kurulmutur.

    ekil 6.7. PID denetleyici blok emas

    nceden kurulmu olan PD denetleyicisine integral fonksiyonu ekleyerek oluturulan PID denetleyicisinin integral zaman Ti = 4 olarak seilmitir. Bu durumda elde edilen sistemin k sinyali ekil 6.8de verilmitir.

    99

  • ekil 6.8 Sistemin orantsal-integral-diferansiyel kontroll k ekil 6.8deki sistem k ekil 6.4 ve ekil 6.5deki grafikler ile karlatrldnda, integral fonksiyonun sistem kna offset ekleyerek kararl hal hatasn giderdii grlmektedir. Devrenin hata sinyalinin, hatann trevinin, hatann integralinin ve denetleyici knda gzlenen kontrol sinyalinin zamana bal olarak ald deerler Tablo 6.2de verilmitir.

    100

  • Tablo 6.2 PID denetleyici k deerleri

    Time (sec) Error

    Error Derivative

    Error Integral

    Control Output

    1.0 1.00 10.0 000 22.0 1.1 0.90 3.20 0.09 14.5 1.2 0.70 000 0.17 9.00 1.3 0.46 -1.50 0.23 5.00 1.4 0.23 -2.00 0.26 1.50 1.5 0.03 -2.00 0.28 -0.80 1.6 -0.11 -1.60 0.24 -2.10 1.7 -0.19 -1.16 0.26 -2.67 1.8 -0.24 -0.64 0.25 -2.35 1.9 -0.23 -0.20 0.27 -2.33 2.0 -0.02 1.16 0.29 -1.65 2.1 -0.14 0.38 0.27 -0.80 2.2 -0.08 0.55 0.16 0.10 2.3 -0.02 0.56 0.16 0.73 2.4 0.03 0.53 0.18 1.37 2.5 0.06 0.43 0.18 1.70 2.6 0.09 0.30 0.17 1.90 2.7 0.10 0.18 0.18 1.94 2.8 0.10 0.05 0.19 1.86 2.9 0.09 -0.04 0.20 1.67 3.0 0.08 -0.11 0.21 1.48 3.1 0.06 -0.14 0.22 1.26 3.2 0.04 -0.16 0.23 1.06 3.2 0.03 -0.15 0.24 0.92 3.4 0.02 -0.12 0.23 0.80 3.5 0.01 -0.09 0.23 0.75 3.6 0.01 -0.06 0.23 0.73 3.7 0.01 -0.02 0.24 0.72 3.8 0.01 -0.01 0.25 0.80 3.9 000 000 0.25 0.85 4.0 000 000 0.26 0.90 4.1 000 000 0.27 0.95

    101

  • 4.2 000 000 0.27 1.00 4.3 000 000 0.28 0.99 4.4 000 000 0.29 1.00 4.5 000 000 0.30 1.00

    6.2.4 Bulank Mantk PID Denetleyici Aada grlen Bulank Mantk PID denetleyici devresi MATLAB Simulink ortamnda kurulmutur.

    ekil 6.9 Bulank mantk PID denetleyici blok emas Devrede Gain1 (Kazan1) blok deeri 0.85, Gain2 (Kazan2) blok deeri 20 ve Gain3 (Kazan3) blok deeri 1.5 olarak seilmitir. Saturasyon deerleri ise Tablo 6.2deki hata ve hatann integrali deikenlerinin deer aral gz nne alnarak belirlenmitir. Buna gre Saturasyon1 blounun deer aral [-0.24,1] ve Saturasyon2 blounun deer aral [0,0.3] olarak alnmtr. Bu ilave bloklar sistemin k deerlerinin sonsuza gitmesini nlemek ve daha iyi performans elde edebilmek iindir. Bulank Mantk PID denetleyici ile kontrol edilen sistemin k aadaki ekilde grlmektedir.

    102

  • ekil 6.10 Sistemin Bulank Mantk PID kontroll k 6.2.5 Bulank Mantk PD Denetleyicinin MATLAB Fuzzy Logic Toolbox Ortamnda Gerekletirilmesi Matlab ortamnda komut satrna fuzzy yazlarak ulalan Fuzzy Logic Toolbox aldktan sonra, giri ve k deikenleri ekilde grld gibi belirlenip adlandrlmtr.

    ekil .6.11 Bulank mantk giri k deikenleri Sisteme verilen her bir giri iin yelik fonksiyonu tanmlama gerei vardr. Sistemde kullanlan yelik fonksiyonlar gauss

    103

  • fonksiyonlardr. FIS ortamnn kullanmna olanak tand baka yelik fonksiyonlar da mevcuttur. yelik fonksiyonlarnn FIS ortamnda oluturulmas ekillerle anlatlmtr. Bu yelik fonksiyonlar oluturulurken Tablo 6.1deki deerler gz nne alnmtr. FIS ortamnda error (hata) deikenine ift tklayarak ulalan yelik Fonksiyonu Editr (Membership Function Editor ) aadaki ekilde gsterilmitir.

    ekil 6.12 FIS editr ve hata FIS ortamnda error derivative (hata trevi) deikenine ift tklayarak ulalan yelik Fonksiyonu Editr ( Membership Function Editor ) aadaki ekilde gsterilmitir;

    104

  • ekil 6.13 FIS editr ve hatann trevi FIS ortamnda controller output (kontrolr k) deikenine ift tklayarak ulalan yelik Fonksiyonu Editr ( Membership Function Editor ) aadaki ekilde gsterilmitir;

    ekil 6.14 FIS editr ve kontrolr k

    105

  • Giriimizin istediimiz k deerleriyle ilikisi, belirlediimiz kurallarla olur. Bulank mantk kurallar geleneksel PD kontrolr yapsna gre hazrlanr ve sadece dizayn iin gereklidir. Tablo 6.1deki deerler belirli zaman aralklarna gre eletirilir ve bu deerlerin ait olduu yelik fonksiyonlarna gre eletirme FIS ortamna kurallar araclyla tanr. FIS ortamnda FIS editr zerindeki Edit mens alp Kural Editr (Rule Editor)n seilmesiyle ulalan Rule Editor aadaki ekilde gsterilmitir;

    ekil 6.15 Kural Editr

    Kurallar yazlrken AND (ve) bulank operatr kullanlmtr. Bu operatrn kullanlmas sonucunda kurallarn yorumlanmasn Kural zleyici (Rule Viewer) yardmyla grebiliriz. FIS editr zerindeki View mens alp Kural zleyici (Rule Viewer)nin seilmesiyle ulalan Rule Viewer aadaki ekilde gsterilmitir.

    106

  • ekil 6.16 Kural izleyici

    107

  • 6.2.6 Bulank Mantk PID Denetleyicinin MATLAB Fuzzy Logic Toolbox Ortamnda Gerekletirilmesi Bulank Mantk PID denetleyici oluturulurken yaplan ilemler, Bulank Mantk PD denetleyici ile ayndr aralarndaki tek fark Tablo 6.2den yararlanlm olmasdr. FIS ortamnda oluturulan yap aada verilmitir.

    6.17 FIS ortamnda oluturulan yap Sistemin hata sinyalinin, hatann trevinin, hatann entegralinin ve denetleyici knda gzlenen kontrol sinyalinin yelik fonksiyonlar srasyla ekil 6.18, ekil 6.19, ekil 6.20, ekil 6.21 de verilmitir. Bulank Mantk PD denetleyiciden farkl olarak daha iyi sonular elde edebilmek iin yelik fonksiyonlarnn ekillerinde deiiklikler yaplmtr. FIS ortamnda bu deiiklikler kolaylkla yaplabilmektedir.

    108

  • 6.18 FIS editr ve hata

    6.19 FIS editr ve hatann trevi

    109

  • 6.20 FIS editr ve hatann integrali

    ekil 6.21 FIS editr ve kontrolr k

    110

  • Kurallar aadaki listede belirtilmitir:

    ekil 6.22 Kural editr

    111

  • Kurallarn FIS ortamnda yorumlanmas ise Rule Viewer yardmyla ekil 6.23 de gsterilmitir.

    ekil 6.23 Kural izleyici

    112

  • Faydal Linkler About Fuzzy Logic Inc. - website services: http://www.fuzzylogic.ca/about.html Adaptive Model Predictive Control Using Neural Networks: http://www.xdiv.lanl.gov/XCM/neural/chemical_proc/baum_talk/baum_talk.html Artificial Intelligence, Knowledge Management and more - a CompInfo Directory: http://www.compinfo-center.com/tpai-t.htm Bart Kosko : http://sipi.usc.edu/~kosko/ Benchmark Group on Data Modeling http://neural.cs.nthu.edu.tw/jang/benchmark/ Bruno Di Stefano's Homepage @ UofT - Bruno Di Stefano's Fuzzy Logic Links: http://www.ecf.utoronto.ca/~bruno/fzlnk.html comp.ai.fuzzy http://groups.google.com/groups?hl=tr&lr=&ie=UTF8&oe=UTF8&group=comp.ai.fuzzy Course Notes and Learning Resources - Process Control: http://lorien.ncl.ac.uk/ming/Dept/Swot/connotes.htm Course Outline - Neuro-fuzzy and Soft Computing: http://www.uoguelph.ca/~syang/ENGG4430/outline.htm Dr. M. Kudra's Fuzzy Page: http://www.uni-leipzig.de/~kudra/fuzzy/ FAQ Fuzzy Logic and Fuzzy Expert Systems: http://www.cs.cmu.edu/Groups/AI/html/faqs/ai/fuzzy/part1/faq.html FLLL - A brief course in Fuzzy Logic: http://www.flll.uni -linz.ac.at/pdw/fuzzy/fuzzy.html

    113

    http://www.fuzzylogic.ca/about.htmlhttp://www-xdiv.lanl.gov/XCM/neural/chemical_proc/baum_talk/baum_talk.htmlhttp://www-xdiv.lanl.gov/XCM/neural/chemical_proc/baum_talk/baum_talk.htmlhttp://www.compinfo-center.com/tpai-t.htmhttp://sipi.usc.edu/~kosko/http://neural.cs.nthu.edu.tw/jang/benchmark/http://www.ecf.utoronto.ca/~bruno/fzlnk.htmlhttp://groups.google.com/groups?hl=tr&lr=&ie=UTF8&oe=UTF8&group=comp.ai.fuzzyhttp://groups.google.com/groups?hl=tr&lr=&ie=UTF8&oe=UTF8&group=comp.ai.fuzzyhttp://lorien.ncl.ac.uk/ming/Dept/Swot/connotes.htmhttp://www.uoguelph.ca/~syang/ENGG4430/outline.htmhttp://www.uni-leipzig.de/~kudra/fuzzy/http://www.cs.cmu.edu/Groups/AI/html/faqs/ai/fuzzy/part1/faq.htmlhttp://www.flll.uni -linz.ac.at/pdw/fuzzy/fuzzy.html

  • From Semi-Heuristic Fuzzy Techniques To Optimal Fuzzy Methods Mathematical Foundations and Applications (Research Index): http://citeseer.nj.nec.com/34960.html Fuzzy archive By Thread: http://www.dbai.tuwien.ac.at/marchives/fuzzy-mail/index.html Fuzzy Logic Archive: http://www.austinlinks.com/fuzzy/ Fuzzy Logic, partial truth: http://www.eg3.com/WebID/elect/fuzzy/blank/book/1-a-f.htm Fuzzy Logic General: http://www.cms.dmu.ac.uk/~rij/general.html Fuzzy Logic What is Fuzzy Logic: http://www.emsl.pnl.gov:2080/proj/neuron/fuzzy/what.html Fuzzy Systems Engineering: http://www.fuzzysys.com/ Fuzzy Systems Resources: http://www.nwcil.pdx.edu/fuzzy/ Fuzzy TECH Home Page : http://www.fuzzytech.com/ IFSA: http://www.abo.fi/~rfuller/ifsa.html Internet's Resources for Neuro-fuzzy and Soft Computing : http://www.cs.nthu.edu.tw/~jang/nfsc.htm Jerry M. Mendel: http://sipi.usc.edu/~mendel/ Li-Xin WANG: http://www.ee.ust.hk/~eewang/ Neural Fuzzy Systems: http://www.abo.fi/~rfuller/nfs.html Neuro-Fuzzy and Soft Computing: http://neural.cs.nthu.edu.tw/jang/book/ Neuro-Fuzzy Computing in Automation - Course Material: http://www.control.hut.fi/Kurssit/AS-74.115/Material/ Open Directory - Computers Artificial Intelligence Fuzzy: http://dmoz.org/Computers/Artificial_Intelligence/fuzzy/

    114

    http://citeseer.nj.nec.com/34960.htmlhttp://www.dbai.tuwien.ac.at/marchives/fuzzy-mail/index.htmlhttp://www.austinlinks.com/fuzzy/http://www.eg3.com/WebID/elect/fuzzy/blank/book/1-a-f.htmhttp://www.cms.dmu.ac.uk/~rij/general.htmlhttp://www.emsl.pnl.gov:2080/proj/neuron/fuzzy/what.htmlhttp://www.fuzzysys.com/http://www.nwcil.pdx.edu/fuzzy/http://www.fuzzytech.com/http://www.abo.fi/~rfuller/ifsa.htmlhttp://www.cs.nthu.edu.tw/~jang/nfsc.htmhttp://sipi.usc.edu/~mendel/http://www.ee.ust.hk/~eewang/http://www.abo.fi/~rfuller/nfs.htmlhttp://neural.cs.nthu.edu.tw/jang/book/http://www.control.hut.fi/Kurssit/AS-74.115/Material/http://dmoz.org/Computers/Artificial_Intelligence/Fuzzy/

  • Ortech Engineering's Fuzzy Logic Reservoir: http://www.ortech-engr.com/fuzzy/reservoir.html Roger Jang's Home Page: http://neural.cs.nthu.edu.tw/jang/ The Control Engineering Virtual Library Conferences Page: http://www-control.eng.cam.ac.uk/extras/conferences/conferences.html WOB List of Examples: http://www.bifurcation.de/Examples.html Bulank Mantk Ve Sistemler Forumu http://farabi.selcuk.edu.tr/egitim/bulanik/forums/ T Bulank Mantk ve Teknolojileri kulb http://www.bumat.itu.edu.tr/ Matlab official web site: http://www.mathworks.com Useful Matlab M-Files and Toolboxes: http://www.mathtools.net

    115

    http://www.ortech-engr.com/fuzzy/reservoir.htmlhttp://neural.cs.nthu.edu.tw/jang/http://www-control.eng.cam.ac.uk/extras/conferences/conferences.htmlhttp://www-control.eng.cam.ac.uk/extras/conferences/conferences.htmlhttp://www.bifurcation.de/Examples.htmlhttp://farabi.selcuk.edu.tr/egitim/bulanik/forums/http://www.bumat.itu.edu.tr/http://www.mathworks.com/http://www.mathtools.net/

  • Bulank Mantkla ilgili Kaynak Kitaplar ve Makaleler A Course in Fuzzy Systems and Control, Li-Xin Wang, 1997, Prentice Hall. Neuro-Fuzzy and Soft Computing, J.-S.R. Jang, C.-T. Sun, E. Mizutani, 1997, Prentice Hall. Adaptive Fuzzy Systems and Control, Li-Xin Wang, 1994, Prentice Hall. Fuzzy Engineering, Bart Kosko, 1997, Prentice Hall. Matlab Supplement To Fuzzy and Neural Approaches in Engineering, J.W. Hines, 1997, John Wiley & Sons Inc. L. A. Zadeh, Fuzzy Sets, Info S. Ctl Vol. 8, 1965, sayfa 338 353 L. A. Zadeh, Fuzzy Algorithms, Info S. Ctl. Vol.12, 1968, sayfa 94-102 L. A. Zadeh, Making computers think like people, IEEE Spectrum, Vol.8 1984, sayfa 26 32 Neural Networks and Fuzzy Systems, Bart Kasko, Prentice Hall, 1991 Fuzzy Sets and Applications: Selected Papers by L. A. Zadeh, R. R. Yager vd., Wiley-Interscience, 1987

    116

  • Dizin

    A ABS fren sistemi, 11 adaptive, 8 arttrlm bulank sistem, 73

    B BFGS, 73 bulank inference engine, 12 bulank kme, 17, 20 bulank kme birleimi, 24 bulank kme kesiimi, 25 bulank kural taban, 31 bulank mantk PD denetleyici,

    98 bulank mantk PID

    denetleyici, 102 bulank sistem, 12 bulanklatrc, 32

    C center average defuzzifier, 35 center of average, 33 center of gravity, 34 clustering, 85

    D defuzzifier, 13, 33 dinamik sistem, 67 dorusal arama, 73 durulayc, 33

    E editr, 93 en kk kareler, 76

    F FIS, 93 fonksiyon eitme, 57 fonksiyon tanmlanmas, 90 fuzzifier, 12, 32 fuzzy logic toolbox, 94, 103

    G gaussian yelik fonksiyonu, 54 gradient descent, 54, 76 gradyen tabanl eitme, 54 grafiksel kullanc arabirimi, 93 graphical user interface, 93 GUI, 93

    H hata oran, 56

    I IF-THEN, 29, 39

    K kararl hal, 99 klasik kme, 17, 18 kmeleme, 87 kural izleyici, 112

    L Larsen, 37 Li-Xin Wang, 60, 87

    M Mackey-Glass, 41 Mamdani, 31

    117