Seminarski Rad - Fazi Logika

30
Visoka poslovna škola strukovnih studija, Blace SEMINARSKI RAD FAZI PRAVILA Predmet: Veštačka inteligencija Profesor: dr Branislav Jevtović Student: Jovanović Vukašin 29/06 III Odsek : Računarstvo i informatika

Transcript of Seminarski Rad - Fazi Logika

Page 1: Seminarski Rad - Fazi Logika

Visoka poslovna škola strukovnih studija, Blace

SEMINARSKI RAD

FAZI PRAVILA

Blace, decembar 2008. godine.

Predmet: Veštačka inteligencijaProfesor: dr Branislav Jevtović

Student: Jovanović Vukašin 29/06 IIIOdsek : Računarstvo i informatika

Page 2: Seminarski Rad - Fazi Logika

Sadržaj

Uvod------------------------------------------------------------------------1

Fuzzy skupovi-------------------------------------------------------------3

Reprezentacija znanja primenom fuzzy skupova---------------------------------------------4

Rešavanje problema primenom fuzzy logike--------------------------------------------------4

Primer 1.--------------------------------------------------------------------------------------------4

Primer 2--------------------------------------------------------------------------------------------5

Fuzzy logika i upravljanje-----------------------------------------------6

Struktura Fuzzy kontrolera-----------------------------------------------------------------------7

Izbor ulaza i izlaza fuzzy kontrolera------------------------------------------------------------8

Lingvističke promenjive i lingvističke vrednosti---------------------9

Funkcije pripadanja-----------------------------------------------------10

Fazifikacija---------------------------------------------------------------------------------------12

Baza pravila--------------------------------------------------------------------------------------13

Zaključivanje i agregacija----------------------------------------------------------------------16

Defazifikacija------------------------------------------------------------16

Page 3: Seminarski Rad - Fazi Logika

Uvod

Šta je fuzzy logika? Da bi odgovorili na ovo pitanje, uporedićemo ovaj pristup sa konvencijalnom logikom. Osnove klasične logike je učvrstio još u antičkoj Grčkoj poznati filozof Aristotel. Ova logika se zasniva na jasnim i precizno utvđenim pravilima, a počiva na teoriji skupova. Neki element može da pripada nekom skupu ili da ne pripada. Skupovi imaju jasno određene granice. Tako su ovakvi skupovi, pa sa njima i logika, nazvani engleskom reči crisp, koja ima značenje – jasan, bistar. Fuzzy (/fΛzi/) je engleska reč koja bi mogla da se prevede kao maglovito, nejasno, mutno. U fuzzy logici nije precizno definisana pripadnost jednog elementa određenom skupu, već se pripadnost meri u, recimo, procentima. Ove mere pripadnosti, skalirane, mogu da uzimaju vrednosti od 0 do1. Uzmimo kao primer dane u nedelji i napravimo dva skupa. Skup radnih dana i skup vikend. U crisp logici bi se u skupu radnih dana našli: ponedeljak, utorak, sreda, četvrtak i petak a u skupu vikend dana: subota i nedelja. Tj. pripadnost elementa nekom skupu bi se izrazila brojem 1 a nepripadanje brojem 0. Međutim u fuzzy zaključivanju bi situacija bila nešto drugačija. Petak, kao dan koji je delom radni dan a delom početak vikenda bio bi negde na granici ova dva skupa. Tj. njegova pripadnost prvom, skupu radnih dana bi se izražavala, recimo brojem 0,75 dok bi pripadnost drugom, skupu vikend dana bila cifra 0,25. Slično bi bilo i za nedelju kao dan koji jeste vikend ali ne sasvim, celim svojim trajanjem, jer ipak se nedelja uveče doživljava kao priprema za novu radnu nedelju odnosno mnogi ljudi će ga okarakterisati kao ne sasvim vikend dan, jer posle njega dolazi ponedeljak.Vidimo da je ova logika jako bliska ljudskoj percepciji o mnogim stvarima u životu. Mnoge slične situacije koje nisu jasno razdvojene, koje su mešavina više stvari su svakodnevno prisutne oko nas. Ovde smo na prilično nestabilnom terenu, jer relevantnim postaje subjektivno mišljenje o nekoj stvari. Čak i kulturološko nasleđe ili generacijske razlike imaju uticaja. Ali to je i poenta. Da li je desetogodišnjak koji sebe smatra visokim stvarno i visok? Ovde smo predstavili domen u kome jasna da – ne (tačno – netačno) logika više nije upotrebljiva. U fuzzy logici istinitost svakog tvrđenja se meri u procentima.

Page 4: Seminarski Rad - Fazi Logika

Slika 1.1 – Preslikavanje ulaza u izlaze

Fuzzy logiku je predstavio Lotfi Zadeh 1965. godine a u kontrolu sistema ju je uveo E. Mamdani 1976. godine. Još tada je ovaj pristup privukao zavidnu pažnju. Iako se za jednostavnije sisteme fuzzy pristup pokazao kao veoma efikasan i jasno prilagođen ljudskom poimanju stvari, za komplikovanije sisteme se pokazao kao veoma zahtevan. Naime, za realizaciju kontrolera u tom slučaju je potrebno mnogo resursa, i vremenskih i intelektualnih. U godinama koje su usledile razvijene su različite metode za projektovanje kontrolera koje bi olakšale ovaj proces. Jedna od tih metoda je projektovanje fuzzy PID kontrolera, odnosno zadržavanje koncepta PID kontrolera i kombinovanje sa fuzzy logikom zaključivanja. Takav pristup ćemo nadalje koristiti. Za ulaze kontrolera se usvajaju proporcionalno, integralno i diferencijalno dejstvo, kao do tad poznate i prihvaćene promenjive o čijem se ponašanju poseduje dovoljno iskustvenog znanja. Sam fuzzy deo kontrolera je zamišljen tako da odgovara ponašanju konkretnog sistema. Fuzzy kontroler je kontroler koji vrši preslikavanje ulaza u izlaze korišćenjem fuzzy logike (slika 1.1).

Page 5: Seminarski Rad - Fazi Logika

Fuzzy skupovi

Fuzzy skupovi su osnovni elementi kojima opisujemo nepreciznost. Naime, diskretan skup (klasičan) sadrži elemente sa istim svojstvima (skup jabuka, skup krušaka, skup celih brojeva itd.) dok fuzzy skupovi sadrže elemente sa sličnim svojstvima (skup visokih ljudi, skup niskih ljudi, skup brzih automobila itd.). U diskretnim skupovima element ili pripada ili ne pripada određenom skupu, ako to predstavimo matematički kažemo da je stepen pripadnosti skupu 1 (ako pripada) ili 0 (ako ne pripada). Sa druge strane elementi u fuzzy skupovima mogu delimično da pripadaju, matematički to možemo da predstavimo na sledeći način 1 (100% pripada), 0 (uopšte ne pripada skupu), 0.7 (70% pripada skupu). Ovim pristupom možemo preciznije da reprezentujemo neprecizne iskaze. Na primer, ako kažemo da su ljudi višlji od 185 cm visoki, kako da opišemo čoveka visokog 184.5 cm? Da li on pripada skupu visokih ili niskih ljudi? Iz iskustva bismo ovakvog čoveka svrstali u grupu visokih ljudi, međutim kako da to predstavimo na sistematičan način (kako bi ono što mi radimo iskustveno radio i računar)? Jednostavno kazaćemo da čovek visok 184.5 pripada skupu visokih ljudi sa stepenom 0.95.Na ovaj način uvodimo nov koncept a to je funkcija pripadnosti. Tako na primer skupu visokih ljudi pridružena je funkcija pripadnosti koja opisuje stepen pripadnosti svakog elmenta tom skupu. Na slici prikazana je funkcija pripadnosti skupu visokih ljudi.

Page 6: Seminarski Rad - Fazi Logika

Osnovne osobine fazi skupa su: • normalnost

Maksimalna vrednost funkcije pripadnosti je 1. • konveksnost

- broj elemenata Broj elemenata skupa računa sa kao zbir vrednosti funkcije pripadnosti svakog elementa. Kao i kod diskretnih skupova i ovde se definišu osnovne operacije (unija, presek, negacija i komplement).

Reprezentacija znanja primenom fuzzy skupova

Znanje u predikatskoj (diskretnoj) logici sadržano je u relacijama između objekata (skup činjenica i pravila). Na isti način se znanje reprezentuje u fuzzy logici ali pomoću fuzzy relacija. Na primer ako imamo dva skupa A={1, 3, 4} i B={3, 1, 5} tada se u diskretnoj logici relacija veći ili jednak definiše na sledeći način.

Page 7: Seminarski Rad - Fazi Logika

Ovde je stepen sigurnosti (stepen pripadnosti) uvek ili 0 ili 1. Kod fuzzy relacija ovo izgleda malo drugačije. Na primer imamo skup A={marko, nikola, steva} tada relacija dobar_drug može da bude definisana na sledeći način:

Ovde je stepen sigurnosti između 0 i 1. Kao i u diskretnim logikama i ovde je moguća kompozicija relacija.

Rešavanje problema primenom fuzzy logike

U ovom poglavlju opisan je jedan primer primene fuzzy logike u rešavanju problema automatskog upravljanja realnim sistemom.

Primer 1.

Projektovati sistem za upravljanje kočenjem automobila koji na osnovu brzine automobila i rastojanju do susednog vozila određuje potrebno kočenje kako bi se izbegao sudar.

Prvi korak u rešavanju problema je podela skupa mogućih vrednosti stanja u nekoliko kategorija. Na primer brzinu automobila (0 do 200 km/h) delimo u dve kategorije ili dva skupa mala_brzina i velika_brzina i rastojanje do susednog vozila (0.5m do 200m) delimo u veliko i malo rastojanje. Ovim su definisane ulazne fuzzy veličine. Drugi korak je podela skupa mogućih akcija u nekoliko skupova ili kategorija. Silu kočenja (0 do 1000 N) delimo u tri fuzzy skupa: slabo, srednje i veliko kočenje. Ovim se definišu izlazne fuzzy veličine. Na osnovu iskustva napisati fuzzy pravila ili fuzzy relacije na osnovu kojih će se izvoditi zaključak. Fuzzy pravila bi u ovom slučaju mogla da izgledaju ovako: Ako je mala_brzina i veliko_rastojanje kočenje treba da bude slabo. Ako je velika_brzina i malo_rastojanje koristiti veliko kočenje. Na kraju definisati funkcije pripadnosti koje opisuju fuzzy skupove (posebno za svaku od veličine).

Primer 2

Page 8: Seminarski Rad - Fazi Logika

Izvršiti dizajn i implementaciju sistema za upravljanje položajem inverznog klatna. Mehanički model problema prikazan je na slici 1, a matematički model dat je sistemom diferencijalnih jednačina u prostoru stanja:

Na slici 2 prikazana je slika realnog sistema kojim se upravlja kao i osnovne veličine koje ga opisuju.

Ulazi u fazi kontroler su ugao i ugaona brzina klatna. Izlaz iz fazi kontrolera je upravljačka sila. Na slici 3. prikazan je šematski prikaz upravljačkog modela. Sistem je podeljen na dve celine. Prva celina predstavlja objekat upravljanja (inverzno klatno), opisan matematičkim modelom. Druga celina je fazi kontroler koji treba da obezbedi željenu vrednost upravljane veličine. Fazi upravljanje se sastoji od tri etape. Prva je fazifikacija ulaznih veličina. Nakon fazifikacije sledi zaključivanje na osnovu fazi pravila. Na kraju se vrednost upravljačke sile određuje u modulu za defazifikaciju.

Page 9: Seminarski Rad - Fazi Logika

Fazifikacija je proces određivanja stepena pripadnosti elementima fazi skupa. Funkcije pripadnosti fazi skupovima su trougaone funkcije opisane sa tri veličine.

Fuzzy logika i upravljanje

Do danas su razvijane mnoge tehnike projektovanja kontrolera koje bi trebalo da omoguće jasnu metodologiju za ostvarivanje željenih performansi i specifikacija koje kontroler treba da ispuni. Ove tehnike se razlikuju i u pristupu, pa se tako izdvajaju različiti kontroleri: linearni, robusni, nelinearni, adaptivni, zasnovani na prostoru stanja itd. Najveći broj kontrolera u upotrebi danas su PID kontroleri koji se često smatraju kao adekvatno rešenje koje je jednostavno, pouzdano i u velikoj meri lako razumljivo. Svi ovi pristupi se oslanjaju na diferencijalne jednačine kojima se dovoljno dobro opisuje dinamičko ponašanje sistema. Matematičke predstave fizičkih zakonitosti po kojima se proces ponaša, dovode do određenih zaključaka kako da se procesom valjano upravlja. Ove jednačine, naravno, opisuju proces sa određenim stepenom zanemarivanja a sve u cilju da se dobije što jednostavniji model procesa koji zadovoljavajuće predstavlja sistem i njegovu dinamiku. Da bi se dobili kontroleri dobrih performansi razvijene su razne metode podešavanja kontrolera. Ove metode se zasnivaju na heurističkom predznanju o procesu koji treba kontrolisati, kao npr. najčešće korišćena metoda Zigler – Nikols (Ziegler – Nichols). Javilo se pitanje kako bi se ponašao kontroler u čijem razvoju je primenjeno isključivo heurističko znanje, bez kompleksnog matematičkog aparata za modeliranje? Fuzzy upravljanje obezbeđuje formalnu metodologiju za predstavljanje, manipulaciju i implementaciju ljudskog heurističkog predznanja o tome kako kontrolisati jedan, određeni sistem. Ovo ne isključuje razvoj modela procesa jer nam je ovaj model u svakom slučaju potreban za detaljnu simulaciju ponašanja kontrolera u cilju ispitivanja zadovoljenja performansi, stabilnosti sistema kao i za ispitivanje krajnih ograničenja samog dizajna. Cilj fuzzy pristupa je da, umesto da jezikom matematike pokuša da što bolje reši problem upravljanja sistemom, omogući implementaciju inženjerskog iskustva o

Page 10: Seminarski Rad - Fazi Logika

procesu u sam algoritam kontrolera. Ovde ćemo predstaviti uopštenu filozofiju ovakvog pristupa dizajniranju kontrolera.

Struktura Fuzzy kontrolera

Slika 4 – Struktura fuzzy kontrolera

• Baza pravila sadrži znanje o tome kako najbolje kontrolisati sistem, i to u formi skupa logičkih (if – then) pravila.• Interfejs je mehanizam za procenjivanje koja kontrolna pravila su relevantna za trenutno stanje sistema i odlučuje logičkim sklopom kakav će biti upravljački signal, tj. ulaz u proces.• Fazifikacija naprosto modifikuje signale ulaza tako da mogu biti pravilno protumačeni I upoređeni sa pravilima u bazi pravila. Crisp signal pretvaramo u adekvatan fuzzy oblik.• Defazifikacija transformiše zaključak interfejsa u takav oblik signala da ovaj može biti signal koji predstavlja ulaz u proces. Ovo je transformacija fuzzy oblika u crisp oblik signala, koji je „razumljiv“ procesu.U osnovi, na fuzzy kontroler treba gledati kao na veštačkog donosioca odluke koji radi u sistemu sa zatvorenom spregom u realnom vremenu. On „sakuplja“ podatke izlaza procesa, upoređuje ih sa referencom i onda na način svojstven fuzzy logici „odlučje“ šta u tom trenutku treba da bude ulaz procesa, i to tako da se zadovolje željene performanse i zadati ciljevi specifikacije. Da bi projektovali jedan fuzzy kontroler, potrebno nam je pre svega određeno predznanje o ponašanju procesa. Heurističke informacije o tome kako najbolje upravljati nekim procesom mogu da se prikupe na dva načina. Informacije najčešće dobijamo od operatera koji ima dovoljno iskustvenih podataka o tome kako na najbolji način upravljatiprocesom. Ređe zaključke o upravljenju procesa donose specijalno angažovani inženjeri koji,shvatajući dinamiku procesa, mogu da odrede pravila po kojima bi se procesom moglo upravljati. Ova pravila nam govore kakav bi trebao da bude ulaz procesa ako se njegov izlazponaša na takav i takav način. Količina informacija ne bi trebalo da bude manja od informacija potrebnih za dizajn nekog od konvencijalnih kontrolera. Iako nam predznanje o izgledu modela procesa nije

Page 11: Seminarski Rad - Fazi Logika

neophodno za samo projektovanje fuzzy kontrolera, ako takvu informaciju i posedujemo, zašto je ne iskoristiti? Ovo je česta zabluda pri prvom susretu sa fuzzy kontrolerom. Ako ni zbog čega drugog, model procesa će nam biti potreban za simulaciju upravljanja i ispitivanje kvaliteta kontrolera, pre eventualnog realnog puštanja u rad. Ako su nam već ti podaci dostupni onda je pametno da ih uzmemo u obzir i iskoristimo. Projektovanje fuzzy kontrolera po definiciji ne isključuje odsustvo potrebe za nalaženjem modela procesa. Prednost fuzzy načina se ne ogleda u tome. Pri konvencijalnom projektovanju za opisivanje dinamike sistema se koriste diferencijalne jednačine, koje se kasnije pokušavaju pojednostaviti i tako učine što „razumljivije“ mašinama. Time one postaju ujedno manje razumljive ljudima. Fuzzy pristup je drugačiji. On ljudski način rezonovanja unosi u računarsku logiku – računarski algoritam postaje bliži ljudskom zaključivanju i samim tim jednostavniji ljudima za shvatanje. Umesto da mi pokušavamo da mislimo na način na koji to „rade“ mašine, omogućavamo mašinama da „misle“ na naš način.Logička pravila po kojim se vrši upravljanje su realizovana u obliku „if – then“ pravila i ako je razvijena strategija upravljanja, sistem je spreman da se proveri u simulaciji. Postupak realizacije fuzzy kontrolera ćemo objasniti na jednostavnom primeru kontrole nivoa vode u rezervoaru putem jednog ventila. Nivo vode se zadaje a otvaranjem i zatvaranjem ventila se postiže valjano upravljanje. Prvo ćemo odrediti koji bi mogli biti ulazi i izlazi našeg kontrolera.

Izbor ulaza i izlaza fuzzy kontrolera

Prvi korak u projektovanju predstavlja izbor ulaza i izlaza kontrolera. Promenljive koje nose informaciju o ponašanju sistema treba da budu ulazi kontrolera. Proučavanjem sistema vidimo da možemo uzeti različite infomacije. U našem primeru to može biti trenutni nivo vode u rezervoaru i priraštaj nivoa vode, tj. tok vode. Drugi izbor za ulaze može biti statička greška nivoa i izvod greške:

e(t)=r(t)−y(t), de(t) / dt,

gde je r(t) referentni ulaz a y(t) izlaz procesa. Primetićemo da nas ovaj izbor podseća na PID kontroler. Naravno postoje mnoga intuitivna rešenja za izbor varijabli koje nose dovoljno informacija o trenutnom stanju sistema i na kojima će se zasnivati odluka kontrolera. Sledeći korak je izbor kontrolne promenjive, odnosno ulaza u proces. Kako je naš primer jednostavan, kao jedini izbor se nameće kontrola ventila. Ventil kakarketišu dve osobine: stepen otvorenosti i brzina kojom se ventil zatvara/otvara. Za kompleksnije sisteme izbor ulaza i izlaza kontrolera može biti teži. Da bi kontroler mogao da donese odluku o vrednosti upravljačke promenjive, mora da prima dovoljno informacija kroz signale ulaza. Ako se ispostavi da kontroler ne radi dobro svoj posao, problem je

Page 12: Seminarski Rad - Fazi Logika

možda upravo u izboru ulaznih signala ili u nedovoljnom broju relevantnih parametara koji su uzeti u obzir. Takođe, kontroler mora imati izlaz koji će upravljati sistemom tako da ga dovede u zahtevano stanje sa željenim performansama. U laboratorijskim i uslovima simulacije, sistemi i njihovo ponašanje su nam relativno poznati. Sistemi sa kojima se inženjeri sreću u praksi su obično višeslojno komplikovani i izbor ovih varijabli se ne sme uzeti olako.

Lingvističke promenjive i lingvističke vrednosti

Jedna od osobina fuzzy logike je da se bazira na prirodnom jeziku, na osnovama ljudskog sporazumevanja. Obični, govorni jezik, predstavlja trijumf efikasnosti komunikacije. Ne primećujemo važnost ovoga, jer se jezikom služimo svakodnevno. Kako je fuzzy logika izgrađena od struktura koje se oslanjaju upravo na kvalitativnim opisima kojima se služimo svakodnevno, u prirodnom jeziku, jednostavnost upotrebe fuzzy logike se sama nameće. Ulazi i izlazi mogu imati različite lingvističke nazive. Uobičajeno se promenjive nazivaju opisnim imenima, poput: nivo vode, priliv vode, ljudi srednjeg rasta, velike zarade, brzi automobili, mala rastojanja itd. Ovo je dobar pristup, ali treba biti obazriv da se, zarad postizanja što detaljnije dokumentacije i što boljeg opisa promenjive i njenog uticaja na sistem, ne napravi previše komplikovan i dug naziv. Transformaciju ovakvih izraza u oblik matematičke predstave omogućava nam teorija fuzzy skupova. Lingvističke promenjive bi trebalo da imaju i lingvističke vrednosti. To mogu biti:

„negativno veliko“, „negativno srednje“, „negativno malo“, „blisko nuli“, „pozitivno veliko“,„dobro“, „otvori brzo“ i sl.

Ovim vrednostima možemo da dodelimo i numeričku predstavu u cilju lakšeg i kraćeg obeležavanja. Ako hoćemo da govorimo o toploti vode, moramo da ustanovimo opseg u kom se očekuje da temperatura varira kao i to šta mislimo pod terminom „vruća“. Odnosno kojih sve temperatura može da bude voda ako je nazovemo „vrućom“. Sve ovo nam koristi da što bolje objasnimo dinamiku sistema kroz lingvističku predstavu znanja o procesu. Što bolje razumemo proces, lingvistička predstava njegovog ponašanja će biti preciznija i samim tim dovesti do boljeg kontrolera. Slučaj da neka lingvistička promenjiva uzima određenu lingvističku vrednost mora da predstavlja jasno određeno stanje sistema i da se distancira od drugih slučajeva. Ako je greška sistema, u našem primeru rezervoara, pozitivna, to može da znači samo jedno: trenutni nivo vode je niži od željenog

Page 13: Seminarski Rad - Fazi Logika

nivoa. U našem primeru zadovoljavajuće lingvističke promenjive su: „e(t)“ za grešku i “de/dt” za izvod greške, a za upravljačku promenjivu „ventil“, jer se ovom promenjivom upravo upravlja ventilom.

Funkcije pripadanja

Koju vrednost zapravo imaju lingvističke vrednosti? Ovde na scenu stupaju funkcije pripadanja. Ovo ustvari ilustruje prirodu lingvističkih vrednosti. Ako kažemo da je vreme danas vruće, šta to u stvari podrazumeva? Svakako ne podrazumeva tačno određenu temperaturu spoljnjeg vazduha, već izvesni intuitivni opseg temperature. Funkcija pripadanja predstavlja kontinualno merilo sigurnosti da li je naša promenjiva klasifikovana kao ta lingvistička vrednost. Ova funkcija određuje stepen pripadanja nekog objekta datom fuzzy skupu.

Slika 5 – Konvencionalna funkcija pripadanja skupu visokih osoba

Uzmimo kao primer određivanje pripadnosti skupu visokih ljudi. Kod konvencijalnog skupa granica pripadnosti bi bila oštro određena jednom prekidnom funkcijom (slika 5). Usvojena je granica do koje se neka osoba smatra visokom. Dve osobe bi bile različito klasifikovane iako im se visina razlikuje u samo par santimetara.

Slika 6 – Kontinualna funkcija pripadanja fuzzy skupu visokih osoba

Page 14: Seminarski Rad - Fazi Logika

Ovaj pristup bi imao smisla da govorimo o nekoj apstraktnoj predstavi kao što su, recimo brojevi. Možemo reći da su svi brojevi veći od nekog broja veliki a manji od njega mali. Međutim, kad pričamo o nečem što je uslovljeno subjektivnim, starosnim i društvenim odlikama, kao što je procena da li je neka osoba visoka, postavljati ovakvu oštru granicu je bez smisla. Zato uvodimo kontinualnu funkciju pripadanja koja određuje da li i u kojem stepenu je neka osoba visoka (slika 6). Ova funkcija može uzeti u obzir na koga se odnosi, da li na osobe ženskog roda, da li na decu do 12 godina ili na sve punoletne osobe. Jedino što funkcija pripadanja mora da ispuni jeste da bude skalirana i da uzima vrednosti od 0 do 1, kao valjane reprezente stepena pripadanja promenjive toj funkciji. Ove funkcije mogu da imaju različite oblike (slika 7). Kakva će biti funkcija pripadnosti zavisi od uslova i ponašanja sistema. Recimo za sve vrednosti promenjive e(t) veće od neke maksimalne relevantne vrednosti funkcija pripadnosti može imati saturaciju, tj. sve vrednosti veće od te pripadaju jednoj funkciji.

Slika 7 – Primer izbora funkcije pripadnosti za slučaj: „e(t) je pozitivna“

Ako funkciju pripadanja označimo sa μ( x ) , onda je fuzzy skup A nad prostorom X definisan kao:

gde je μ (x) funkcija pripadnosti koja mapira stepen pridanosti elementa x skupu A. Na ovaj način se uvodi neodređenost, koja potiče od osobine ljudi da stvari ne posmatraju na egzaktan, određen način. Svaki element x skupa A ima stepen pripadanja μ (x) =[ 0,1 ].

Page 15: Seminarski Rad - Fazi Logika

Slika 8 – Trougaone funkcije (nazivaju se još i L , Λ i Γ funkcije – prema obliku)

Kako bi se ostvarila računska efikasnost, efikasnost korišćenja memorijskih resursa (što je važno kod autonomnih kontrolnih uređaja koji su često skromnih hardverskih mogućnosti) i da bi se ostvarile željene performanse sistema, potrebna je uniformna predstava funkcije pripadnosti. Ovakva predstava može se postići upotrebom funkcije pripadnosti uniformnog oblika i parametarske, odnosno funkcionalne definicije. Najpopularnije su funkcije trougaonog, trapezoidalnog i zvonastog oblika. U automatskom upravljanju se najviše koristi trougaoni oblik funkcije pripadnosti zato što je njen analitički oblik najjednostavniji i najviše odgovara postojećim kontrolnim problemima (slika 8).

Page 16: Seminarski Rad - Fazi Logika

Slika 9 – funkcije pripadanja: a) za ulaz e(t) b) za ulaz de/dt i c) za izlaz „ventil“

U primeru rezervoara ulazne promenjive i upravljačka promenjiva imaju funkcije pripadanja prikazane na slici 9. Primetićemo da imena funkcija odražavaju osobinu promenjivih, kako ulaznih tako i izlazne, upravljačke. Ovim smo, dakle, odredili i lingvističke vrednosti koje ove varijable mogu uzimati.

Fazifikacija

Fazifikacija predstavlja samo vrstu predstave crisp veličina u takav oblik da bude primenjiv u fuzzy logici. Često se ovaj postupak naziva i kodiranje. Ovo nam omogućavaju upravo funkcije pripadnosti, koje ustvari mapiraju stepen istinitosti neke tvrdnje. Ako je e(t) = −0.3 kako se to predstavlja u jednom fuzzy sistemu? Ovo je slikovito objašnjeno na slici 10.

Page 17: Seminarski Rad - Fazi Logika

Slika 10 – Primer fazifikacija ulazne promenjive e(t)Fazifikacija predstavlja preslikavanje numeričkih vrednosti ulaza x u fuzzy skup:

F :X→XFUZ,

gde su sa X FUZ predstavljeni svi fuzzy skupovi koji se mogu definisati nad domenom X. Pridruživanje fuzzy skupa Ai FUZ promenjivoj i x možemo predstaviti relacijom:

Poseban oblik fazifikacije predstavlja „singleton“ fazifikacija. Proizvod ovog preslikavanja je skup AiFUZ , čija funkcija pripadanja uzima samo jednu, diskretnu vrednost :

Ovakva singleton funkcija se predstavlja diskretnom impulsnom funkcijom. Ona se često koristi u procesu određivanja fuzzy skupa izlaznih promenjivih fuzzy kontrolera. Izlazi tada uzimaju konačan broj diskretnih i određenih vrednosti. Ovo je pogodnost u automatskom upravljanju, jer se često vrednosti upravljačkih signala moraju kretati u ograničenom opsegu, da bi se zadržala stabilnost sistema. Ovakvi kontoleri se nazivaju sugeno tip kontrolera.

Baza pravila

Pretpostavimo da je iskusni stručnjak već opisao najbolji način za upravljanje sistemom i to na nekom prirodnom jeziku (npr. srpskom). Naš zadatak je da pronađemo način kako da ovo „lingvističko“ znanje o procesu unesemo u fuzzy kontroler. Cilj fuzzy kontrolera je da fuzzy

Page 18: Seminarski Rad - Fazi Logika

logikom mapira preslikavanje ulaza u izlaze kontrolera. Primarni mehanizam za to je lista if – then tvrđenja koja nazivamo pravilima. Sva pravila se izvšavaju paralelno i njihov redosled nije bitan. Ovakva lista pravila se naziva baza pravila (rule – base). Pravila se odnose na lingvističke promenjive i na njihove osobine. Ako smo prethodno definisali sve termine i sve osobine koje definišu te termine, tj. promenjive, možemo da pristupimo projektovanju sistema koji interpretira pravila. Da bi izrazili posledicu koju proizvode trenutne vrednosti ulaznih pomenjivih gradimo pravila. Ova pravila imaju oblik:

if <premisa> then <posledica>,

odnosno:

if x1 is A1,k and ... and xNx is ANx, then y1 is B1,k , ... , yNy is BNy,k.

Na isti način kao što teorija crisp skupova služi kao osnova za klasičnu logiku , teorija fuzzy skupova služi kao osnova za fuzzy logiku. Osnovni pojam fuzzy logike, kao i logike crisp skupova, je tvrđenje (iskaz) koje ima oblik x is A.

Slika 11 – Razlika između crysp i fuzzy logike

Operacije preseka, unije i komplementa imaju svoje korespodente, u fuzy logici, u veznicima „and“, „or“ i „not“, tako da se pomoću njih mogu graditi složena tvrđenja (slika 11). Maksimalano moguć broj pravila je određen brojem ulaznih veličina i brojem lingvističkih vrednosti. Ako je broj ulaza n , a broj vrednosti za svaku veličinu ponaosob m , onda je maksimalan broj pravila mn . Naravno ovo je u slučaju svih kombinacija, mada se dešava da ako jedna promenjiva ima određenu vrednost, druga ulazna

Page 19: Seminarski Rad - Fazi Logika

promenjiva nema nikakav uticaj. Ako broj ulaza u kontroler nije prevelik, zgodan način predstavljanja svih slučajeva je u formi tabele. Ako imamo dva ulaza: e(t) i de/dt i pet vrednosti koje ove promenjive mogu uzeti: NB (negative big), NS (negative small), Z (zero), PS (positive small) i PB (positive big), predstava svih kombinacija bi bila kroz tabelu 1:

Tabela 1 – tabelarna predstava baze znanja

Primetićemo da ova pravila ne mogu da budu sasvim precizna. To je zato što promenjive uzimaju lingvističke vrednosti i to iz ograničenog skupa pa samim tim imamo i ograničeni skup pravila. Ona su samo apstraktne predstave o tome kako bi trebalo upravljati procesom. Naš cilj i nije da budemo precizni već da predstavimo stvari koje imaju važnost, koje su od značaja za naš problem upravljanja procesom. Sledeći korak u projektovanju fuzzy kontrolera za upravljanje rezervoarom bi bio određivanje pravila. Utvrđena pravila su:

1. If (e(t) is nula) then (ventil is bez_promene)2. If (e(t) is pozitivna) then (ventil is otvori_brzo)3. If (e(t) is negativna) then (ventil is zatvori_brzo)4. If (e(t) is nula) and (de/dt is negativno) then (ventil is zatvori_sporo)5. If (e(t) is nula) and (de/dt is pozitivno) then (ventil is otvori_sporo)

Posle fazifikacije ulaznih promenjivih (slika 10) primenjuju se fuzzy operatori shodno utvrđenim pravilima (slika 12). Ove operacije dovode do određenih zaključaka (slika 13). Celokupni proces zaključivanja je prikazan na slici 14.

Page 20: Seminarski Rad - Fazi Logika

Slika 12 – Primer primene operatora and

Zaključivanje i agregacija

Funkcionalan fuzzy sistem mora da sadrži više od jednog fuzzy lingvističkog pravila rk gde k=1, ..., Nr . Kombinovanjem ovih pravila (poznato kao agregacija), dobija se kompaktna matematička predstava celokupne baze znanja (slika 2.11 korak 4). U zavisnosti od tipa implikacije koja je korišćena, agregacija se svodi na neku od osnovnih logičkih operacija (konjunkciju ili disjunkciju, odnosno T- ili S-normu).

Slika 13 – Primer primene implikacije definisane kao minimum funkcija

Defazifikacija

Defazifikacija predstavlja u suštini proces suprotan procesu fazifikacije pa se naziva i dekodiranje. Ovo je u stvari proces koji treba da pretvori rezultat agregacije, koji u osnovi

Page 21: Seminarski Rad - Fazi Logika

predstavlja presek površi u signal koji je razumljiv procesu. Izlaz kontrolera mora da ima jednu jedinstvenu vrednost, najčešće predstavljenu realnim brojem. Metode koje se najčešće koriste za defazifikaciju su: centar površi (gravitacije), centar suma, centar najveće površi, prvog maksimuma, sredine maksimuma i visinska defazifikacija.

Slika 14 –Prikaz algoritma zaključivanja za primer rezervoara kroz korake

Defazifikacija metodom centra površi (Center of gravity – COG) je najpoznatiji defazifikacioni metod (prikazan na slici 14 korak 5). Ovaj metod glasi:

Page 22: Seminarski Rad - Fazi Logika

gde je R broj pravila a i b centar površi funkcije pripadanja skupa B koja predstavlja posledicu i – tog pravila i uzima odgovarajuću lingvističku vrednost Bi . Ovaj metod određuje centar površi ispod kombinovane funkcije pripadnosti, koja se dobija posle agregacije. U obzir se uzima površina ispod funkcija pripadnosti kao jedinstvena, pa stoga ako se površi preklapaju, to se ne reflektuje u formuli. Kada se utvrde svi metodi koji će se primenjivati: metod fazifikacije, operatora, implikacije, defazifikacije, može se, za svaku kombinaciju dve ulazne promenjive dobiti trodimenzionalna površina prenosa. Ova površina slikovito prikazuje ponašanje izlaza u zavisnosti od kombinacije ulaznih promenjivih (slika 15).

Slika 15 – Primer trodimenzionalne funkcije prenosa fuzzy sistema

U procesu zaključivanja prikazanom na slici 5. na osnovu fazi skupova koji opisuju ulazne veličine i fazi pravila određuje fazi skup koji predstavlja upravljačku veličinu.

Page 23: Seminarski Rad - Fazi Logika

Gde je a i,j su indeksi matrice pravila gde je element jednak k. U ovom primeru za defazifikaciju (slika 6) izabran je metod težišta , a uFM[k,2] centar k-tog elementa fazi skupa.

Page 24: Seminarski Rad - Fazi Logika

Literatura

[JL] Jean-Louis Lauriere: Problem-Solving and Artificial Intelligence

[GN] Michael R. Genesereth and Nils J. Nilsson: Logical Foundations of Artificial Intelligence

[TB] Donald E. Knuth: The TeXbook

Kratak uvod u fuzzy logiku i upravljanje Materijal za vežbe