Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjet
  • Fuzzy logika za primjere lutki. Projektovanje sistema tipa Mamdani

Fuzzy logika za primjere lutki. Projektovanje sistema tipa Mamdani

mehanizama mišljenja, uočili da u stvarnosti ne postoji samo jedna logika (npr. Bulova), već koliko god želimo, jer je sve određeno izborom odgovarajućeg sistema aksioma. Naravno, kada se izaberu aksiomi, svi iskazi izgrađeni na njihovoj osnovi moraju biti striktno, bez kontradikcija, međusobno povezani prema pravilima utvrđenim u ovom sistemu aksioma.

Ljudsko razmišljanje je kombinacija intuicije i strogosti, koja, s jedne strane, posmatra svijet kao cjelinu ili analogno, a s druge strane, logično i dosljedno, te stoga predstavlja rasplinuti mehanizam. Zakoni mišljenja koje bismo želeli da uključimo u kompjuterske programe moraju nužno biti formalni; zakoni mišljenja koji se manifestuju u dijalogu čoveka i čoveka su nejasni. Možemo li stoga reći da se fuzzy logika može dobro prilagoditi ljudskom dijalogu? Da - ako softver , razvijen uzimajući u obzir fuzzy logiku, postat će operativan i može se tehnički implementirati, tada će komunikacija čovjek-mašina postati mnogo praktičnija, brža i pogodnija za rješavanje problema.

Pojam " fuzzy logika" se obično koristi u dva različita značenja. U užem smislu, fazi logika je logički račun, koji je produžetak logike više vrijednosti. U svom širem smislu, koji je danas dominantan, fuzzy logika je ekvivalentna teorija rasplinuti skupovi. Sa ove tačke gledišta, fuzzy logika u užem smislu je grana fuzzy logike u širem smislu.

Definicija. Bilo koji fuzzy varijabla karakteriše tri

Gdje je ime varijable, - univerzalni set, je fazi podskup skupa, koji predstavlja rasplinuto ograničenje na vrijednost varijable, uslovljeno .

Koristeći analogiju putne torbe, fuzzy varijabla može se uporediti sa putnom torbom sa etiketom koja ima "meke" zidove. Zatim - natpis na etiketi (naziv torbe), - spisak predmeta koji se u principu mogu staviti u torbu, i - deo ove liste, gde je za svaki artikal naznačen broj koji karakteriše stepen lakoće s kojim se predmet može staviti u torbu.

Razmotrimo sada različite pristupe definisanju osnovnih operacija na fuzzy varijable, naime konjunkcija, disjunkcija i negacija. Ove operacije su fundamentalne za fuzzy logiku u smislu da su sve njene strukture zasnovane na tim operacijama. Trenutno u fazi logike kao konjunkcijskim operacijama a disjunkcije naširoko koriste -norme i -konorme, koje su došle do fuzzy logike iz teorije vjerovatnostnih metričkih prostora. Oni su prilično dobro proučeni i čine osnovu mnogih formalnih konstrukcija fuzzy logike. Istovremeno, proširenje obima primjene fazi logike i mogućnosti fazi modeliranja zahtijeva generalizaciju ovih operacija. Jedan pravac je povezan sa slabljenjem njihove aksiomatike u cilju proširenja alata fuzzy modeliranja. Drugi pravac generalizacije konjunkcijskim operacijama a disjunkcija fuzzy logike povezana je sa zamjenom skupa vrijednosti pripadnosti linearno ili djelomično uređenim skupom procjena jezične vjerodostojnosti. Ove generalizacije osnovnih operacija fuzzy logike, s jedne strane, uzrokovane su potrebom da se razviju ekspertni sistemi, u kojem su istinite vrijednosti činjenica i pravila opisane od strane stručnjaka ili korisnika direktno na lingvističkoj skali i kvalitativne su prirode. S druge strane, takve generalizacije su uzrokovane promjenom smjera aktivni razvoj fuzzy logika od modeliranja kvantitativnih, mjerljivih procesa do modeliranja procesa ljudskog mišljenja, gdje se percepcija svijeta i donošenje odluka odvijaju na osnovu granuliranja informacija i izračunavanja riječima.

Prirodna generalizacija involutivnih negacijskih operacija fuzzy logike su neinvolutivne negacije. Oni su od nezavisnog interesa i razmatrani su u fuzzy i drugim neklasičnim logikama. Potreba za proučavanjem ovakvih operacija negacije uzrokovana je i uvođenjem u razmatranje generaliziranih konjunkcijskim operacijama i disjunkcije povezane jedna s drugom upotrebom operacije negacije.

Standardni rad o fazi logike obično pati od dvije stvari:

  1. U 99% slučajeva, članak se bavi isključivo primjenom fuzzy logike u kontekstu fuzzy skupova, odnosno rasplinutog zaključivanja, a još preciznije Mamdanijevog algoritma. Čini se da je to jedini način na koji se fuzzy logika može primijeniti, ali to nije slučaj.
  2. Skoro uvijek je članak napisan matematičkim jezikom. Odlično, ali programeri koriste drugi jezik sa različitim notacijama. Stoga se ispostavlja da je članak jednostavno nerazumljiv onima koji bi, čini se, trebali biti korisni.
Sve je to žalosno, jer je fuzzy logika jedno od najvećih dostignuća matematike 20. veka, ako se kao kriterijum uzme praktična upotreba. U ovom članku pokušat ću pokazati koliko je jednostavno i moćan alat programiranje - jednako jednostavno, ali mnogo moćnije od sistema običnih logičkih operacija.

Najviše izuzetna činjenica o fazi logike je da je prvenstveno logike. Od početaka matematičke logike poznato je da bilo logička funkcija može biti predstavljen disjunktivnim ili konjunktivnim normalnim oblikom, iz čega slijedi da su za implementaciju propozicionog računa dovoljne samo tri operacije: konjunkcija (&&), disjunkcija (||) i negacija (!). U klasičnoj logici, svaka od ovih operacija je specificirana tablicom istinitosti:

A b || a b && a ! -------- -------- ---- 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1
U fazi logike, za razliku od klasične logike, umjesto količina istinito I laž korištena vrijednost stepen istine, uzimajući bilo koju vrijednost iz beskonačnog skupa od 0 do 1 uključujući. Dakle logičke operacije više se ne može prikazati u tabeli. U fazi logici oni su specificirani funkcijama.

Postoje dva načina za implementaciju disjunkcije i konjunkcije:

#Maksimin pristup: a || b => max(a, b) a && b => min(a, b) #Kolorometrijski pristup: a || b => a + b - a * b a && b => a * b
Negacija je data jedini način(nije teško pogoditi):

A => 1 - a
Lako je provjeriti da za ekstremne slučajeve - kada su vrijednosti varijabli isključivo 1 ili 0 - gore navedene funkcije daju tablice istinitosti za operacije klasične logike. Spremni! Sada imamo naprednu logiku koja je nevjerovatno moćna, jednostavna, a opet potpuno kompatibilna s klasičnom logikom u ekstremnim slučajevima. To znači svuda gdje mi [programeri] koristimo logičke izraze, možemo li koristiti fuzzy logičke izraze? Ne baš.

Činjenica je da svi operatori programskog jezika zahtevaju jasne uslove, tako da u nekom trenutku uvek morate da dobijete jasan kriterijum okidača iz nejasnog stepena istine. Ovo je slično onome što se dešava u kvantni svijet: Sve dok se sistem razvija u skladu sa Schrödingerovom jednačinom, njegovo se kvantno stanje mijenja deterministički i kontinuirano, ali čim dodirnemo sistem, dolazi do kvantnog skoka i sistem kolabira u jedno od diskretnih stanja. U fazi logici to se zove defuzzification. Priroda jednostavno pretvara kvantno stanje u vjerovatnoću i baca kocku, ali općenito govoreći, postoje različite metode defuzzifikacije. Neću ulaziti dublje u ovu temu, jer njen obim zahtijeva poseban članak. Samo da napomenem da metodu defuzifikacije treba izabrati uzimajući u obzir semantiku problema.

Kao primjer, zamislite sistem upravljanja raketom koji koristi fuzzy logiku da izbjegne prepreke. Zamislimo da raketa leti pravo uz planinu, a kontrolni sistem izračunava rješenje: leti udesno - 0,5, leti ulijevo - 0,5. Ako koristite defuzzifikaciju koristeći metodu centra mase, kontrolni sistem će dati komandu da leti pravo. Boom! Očigledno, u ovom slučaju ispravno rješenje- bacite kocku i dobijete komandu “lijevo” ili “desno” sa vjerovatnoćom od 50%.

U najjednostavnijem slučaju, kada trebate donijeti odluku na osnovu stepena istinitosti, možete podijeliti skup na intervale i koristiti if-else-if.

Ako se fuzzy logika koristi za pretraživanje pomoću fuzzy kriterija, onda defuzizacija možda uopće neće biti potrebna. Pravljenjem poređenja dobićemo određeni stepen vrednosti jednakosti za svaki element prostora za pretragu. Možemo definirati neki minimalni stepen jednakosti ispod kojeg nas ne zanima; za preostale elemente, stepen jednakosti će biti relevantnost, u padajućem redosledu ćemo sortirati rezultate i prepustiti korisniku da odluči koji je rezultat tačan.

Kao primjer, dat ću vam korištenje fuzzy logike za rješavanje problema s kojim sam se zabavljao još na koledžu - problem pronalaženja kineskog karaktera na slici.

Odmah sam odbacio ideju o prepoznavanju bilo kakvog škrabotina koje je korisnik nacrtao na ekranu (tada je to bio PDA ekran). Umjesto toga, program je ponudio odabir tipa osobine od oko 23, definisano pravilima Japanska kaligrafija. Nakon što je odabrao tip karakteristike, korisnik je nacrtao pravougaonik u koji se ta karakteristika uklapa. U stvari, hijeroglif - i unet i pohranjen u rječniku - bio je predstavljen kao skup pravokutnika za koji je definiran tip.

Kako odrediti jednakost hijeroglifa u takvom prikazu? Za početak, formulirajmo kriterij u jasnoj izjavi:

Hijeroglifi A i B su jednaki ako i samo ako za svaki potez u A postoji jednaka crta u B i za svaki potez u B postoji jednaka crta u A.

Implicitno se pretpostavlja da hijeroglifi ne sadrže duple osobine, odnosno ako se određena osobina poklapa sa osobinom u drugom hijeroglifu, onda se ne može podudarati ni sa jednom drugom osobinom u istom hijeroglifu.

Jednakost osobina se može definisati na sledeći način:

Osobine su jednake ako i samo ako su istog tipa i njihovi pravokutnici zauzimaju istu površinu.

Ove dvije definicije nam daju sistem iskaza koji je dovoljan za implementaciju algoritma pretraživanja.

Prvo, konstruirajmo matricu E na sljedeći način:

Za i u 1..n za j u 1..n E = A[i] == B[j] kraj kraj #A i B su hijeroglifi; A[i] i B[j] su njihove karakteristike, a "==" operator izračunava njihovu rasplinutu jednakost. #Pretpostavlja se da oba hijeroglifa imaju isti broj karakteristika - n.
Zatim zatvaramo ovu matricu u vektor M[n]:

Za i in 1..n M[i] = E.max_in_row(i) end #Metoda max_in_row izračunava maksimalnu vrijednost u redu matrice.
Koristim maksiminski pristup jer u praksi kolorometrijski pristup proizvodi premale vrijednosti za veznike. Ako se sjetimo da je max disjunkcija, ispada da računamo tvrdnju to i-ta karakteristika A je jednako prvom potezu B ili drugom ili trećem, itd. Dakle, M je vektor podudaranja između karakteristika A i karakteristika B.

#Samo nejasna konjunkcija. e = M.min #Ili ovako: e = M.sum / M.length #(odnos zbira elemenata i dužine vektora).
Obje metode rade, ali na različite načine, a druga metoda funkcionira čak i ako jasno uporedite karakteristike. Koja je tačnija, filozofsko je pitanje.

Treba reći još nekoliko riječi o upoređivanju osobina. Prema definiciji, jednakost osobina je spoj dvaju uslova: jednakosti tipova i jednakosti pravougaonika. Osobine nekih tipova su vrlo slične. Prilikom unosa, korisnik ih može lako zbuniti, pa je vrijedno imati tablicu sličnosti, čije će vrijednosti odražavati koliko je karakteristika i slična obilježju j (prirodno će ih biti na glavnoj dijagonali). Kao stepen jednakosti pravougaonika možemo uzeti omjer površine njihovog presjeka i površine većeg pravokutnika.

Općenito, opseg fuzzy logike je vrlo opsežan. U bilo kojem algoritmu, u bilo kojem sistemu pravila, pokušajte zamijeniti istinu i neistinu stepenom istine i, možda, ovaj sistem pravila ili algoritam će preciznije odražavati stvarnost. Na kraju krajeva, živimo u svijetu koji je u osnovi nejasan.

Epimenid iz Knososa sa ostrva Krita je polumitski pesnik i filozof koji je živeo u 6. veku. pne, jednom je izjavio: „Svi Krićani su lažovi!“ Budući da je i sam bio Krićanin, ostao je upamćen kao izumitelj takozvanog Kritskog paradoksa.


U smislu aristotelovske logike, u kojoj izjava ne može biti i istinita i lažna, a takve samonegacije nemaju smisla. Ako su istiniti onda su lažni, ali ako su lažni onda su istiniti.


I tu dolazi u igru ​​fuzzy logika, gdje varijable mogu biti djelomični članovi skupova. Istina ili neistina više nije apsolutna – izjave mogu biti dijelom istinite, a dijelom lažne. Korištenje ovog pristupa nam omogućava da striktno matematički dokažemo da je Epimenidov paradoks tačno 50% istinit i 50% lažan.

Dakle, rasplinuta logika je suštinski nekompatibilna sa aristotelovskom logikom, posebno u pogledu zakona Tertium non datur (“Nema trećeg” - latinski), koji se još naziva zakon isključenja prosjeka1. Ukratko, to ide ovako: ako izjava nije tačna, onda je lažna. Ovi postulati su toliko osnovni da se često uzimaju zdravo za gotovo.


Trivijalniji primjer korisnosti fuzzy logike može se dati u kontekstu koncepta hladnoće. Većina ljudi može odgovoriti na pitanje: „Je li ti sada hladno?“ U većini slučajeva (osim ako ne razgovarate sa diplomiranim studentom fizike), ljudi razumiju da ne govorimo o apsolutna temperatura na Kelvinovoj skali. Iako se temperatura od 0 K bez sumnje može nazvati hladnom, mnogi neće smatrati temperaturu od +15 C hladnom.


Ali mašine nisu sposobne da naprave tako fine gradacije. Ako je standardna definicija hladnoće „temperatura ispod +15 C“, tada će se +14,99 C smatrati hladnom, ali +15 C neće.

Teorija rasplinutih skupova

Pogledajmo sl. 1. Prikazuje grafikon koji vam pomaže da shvatite kako osoba percipira temperaturu. Osoba temperaturu od +60 F (+12 C) doživljava kao hladnu, a temperaturu od +80 F (+27 C) kao vruću. Temperature od +65 F (+15 C) nekima se čine hladnim, ali drugima prilično ugodno. Ovu grupu definicija nazivamo funkcijom pripadnosti skupovima koji opisuju subjektivnu percepciju temperature osobe.

Jednako je lako stvoriti dodatne skupove koji opisuju ljudsku percepciju temperature. Na primjer, možete dodati setove kao što su "veoma hladno" i "veoma vruće". Može se opisati slične funkcije za druge koncepte, kao što su otvorena i zatvorena stanja, temperatura rashladnog uređaja ili temperatura rashladnog tornja.


To jest, rasplinuti sistemi se mogu koristiti kao univerzalni aproksimator (prosjek) za vrlo široku klasu linearnih i nelinearnih sistema. Ovo ne samo da čini strategije upravljanja pouzdanijim u nelinearnim slučajevima, već i omogućava korištenje stručnih procjena za izgradnju kompjuterskih logičkih kola.

Fuzzy Operators

Da biste primijenili algebru na nejasne vrijednosti, morate odrediti operatore koje ćete koristiti. Obično u Bulova logika Koristi se samo ograničen skup operatora uz pomoć kojih se izvode druge operacije: NOT (NOT operator), AND (AND operator) i OR (OR operator).

Za ove tri se mogu dati mnoge definicije osnovni operateri, od kojih su tri prikazana u tabeli. Usput, sve definicije jednako vrijede za Booleovu logiku (da provjerite, samo zamijenite 0 i 1 u njima). U Booleovoj logici, FALSE je ekvivalentno 0, a TRUE je ekvivalentno 1. Isti put u fazi logike, stepen istinitosti može varirati od 0 do 1, tako da je vrijednost “Cold” istinita na stepen 0,1, a operacija NOT(“Cold”) će dati vrijednost 0,9.


Možete se vratiti na Epimenidov paradoks i pokušati ga riješiti (matematički se izražava kao A = NOT(A), gdje je A stepen istinitosti odgovarajuće izjave). Ako želite više težak zadatak, zatim pokušajte riješiti problem zvuka pljeskanja jedne ruke...

Rješavanje problema korištenjem metoda fuzzy logike

Samo nekoliko ventila je sposobno da se otvori "samo malo". Prilikom rada opreme obično se koriste jasne vrijednosti (na primjer, u slučaju bimodalnog signala od 0-10 V), koje se mogu dobiti pomoću takozvanog „rješavanja problema rasplinute logike“. Ovaj pristup omogućava transformaciju semantičkog znanja sadržanog u fazi sistema u implementabilnu strategiju upravljanja2.


To se može učiniti različitim tehnikama, ali da bismo ilustrirali proces u cjelini, pogledajmo samo jedan primjer.


U metodi defuzzifikacije po visini, rezultat je zbir fuzzy skupih pikova, izračunat korištenjem pondera. Ova metoda ima nekoliko nedostataka, uključujući loš posao sa asimetričnim funkcijama članstva skupa, ali ima jednu prednost - ovu metodu je najlakše razumjeti.

Pretpostavimo da nam skup pravila koja reguliraju otvaranje ventila daje sljedeći rezultat:


"Ventil djelimično zatvoren": 0.2

"Ventil djelomično otvoren": 0,7

"Otvoren ventil": 0.3

Ako za određivanje stepena otvorenosti ventila koristimo metodu visinske defuzzifikacije, dobit ćemo rezultat:

"Ventil zatvoren": 0.1

(0,1*0% + 0,2*25% + 0,7*75% + 0,3*100%)/ /(0,1 + 0,2 + 0,7 + 0,3) =

= (0% + 5% + 52,5% + 30%)/(1,3) = = 87,5/1,3 = = 67,3%,

one. ventil mora biti otvoren do 67,3%.

Praktična primjena fuzzy logike

Kada se teorija fuzzy logike prvi put pojavila, članci o mogućim područjima njene primjene mogli su se naći u naučnim časopisima. Kako razvoj u ovoj oblasti napreduje, više praktične primjene jer je fuzzy logika počela brzo da raste. Ova lista bi u ovom trenutku bila predugačka, ali evo nekoliko primjera koji će vam pomoći da shvatite koliko se rasplinuta logika koristi u kontrolnim sistemima i ekspertnim sistemima3.


– Uređaji za automatsko održavanje brzine vozila i povećanje efikasnosti/stabilnosti motora automobila (Nissan, Subaru kompanije).

Osnove teorije rasplinutih skupova i fuzzy logike

Jedna od metoda za proučavanje skupova bez specificiranja njihovih granica je teorija rasplinutih skupova, koju je 1965. godine predložio profesor Kalifornijskog univerziteta Lotfi Zadeh. Prvobitno je razvijen kao sredstvo za modeliranje nesigurnosti u prirodnom jeziku. Međutim, kasnije se raspon problema koji se rješavaju korištenjem aparata rasplinutih skupova značajno proširio i sada uključuje područja kao što su analiza podataka, prepoznavanje, istraživanje operacija, modeliranje složenih sistema, podrška odlučivanju itd.

Često, kada određuju i opisuju karakteristike objekata, oni rade ne samo s kvantitativnim, već i s kvalitativnim vrijednostima. Konkretno, visina osobe može se kvantitativno mjeriti u centimetrima, ili se može opisati pomoću kvalitativnih vrijednosti: patuljasti, nizak, srednji, visok ili div. Tumačenje kvalitativnih vrijednosti je subjektivno, tj. mogu se različito tumačiti od strane različitih ljudi (subjekata). Zbog nedorečenosti kvalitativnih vrijednosti, kada je potrebno prijeći sa njih na kvantitativne vrijednosti, javljaju se određene poteškoće.

U sistemima izgrađenim na bazi rasplinutih skupova koriste se pravila oblika „IF A THEN B“ (A ® B), u kojima i A (uslov, premisa) i B (rezultat, hipoteza) mogu uključivati ​​kvalitativne vrijednosti. Na primjer, “AKO Visina = “visok” ONDA Sport_type = “košarka”.”

Varijabla čija je vrijednost određena skupom kvalitativnih vrijednosti nekog svojstva naziva se u teoriji fuzzy skupova lingvistički. Pravilo primjera koristi dvije lingvističke varijable: Visinu i Sport_Type.

Svaka vrijednost lingvističke varijable određena je kroz takozvani rasplinuti skup. Fuzzy set određena kroz neku osnovnu skalu X i funkcija pripadnosti (karakteristična funkcija) m( X), Gdje X Î X. Štaviše, ako u klasičnom Cantorovom skupu element ili pripada skupu (m( X) = 1), ili ne pripada (m( X) = 0), tada u teoriji rasplinutih skupova m( X) može uzeti bilo koju vrijednost u intervalu . Na rasplinutim skupovima možete izvesti standardne operacije: sabiranje (negacija), unija, presek, razlika, itd. (Sl. 33).

Za rasplinute skupove postoji i niz specijalnih operacija: sabiranje, množenje, koncentracija, proširenje itd.

Prilikom specificiranja lingvističke varijable, njene vrijednosti, odnosno rasplinuti skupovi, moraju zadovoljiti određene zahtjeve (slika 34).

1. Urednost. Fazni skupovi moraju biti poređani (poređani na osnovnoj skali) u skladu s redoslijedom kojim su specificirane kvalitativne vrijednosti za lingvističku varijablu.

2. Ograničeno. Opseg definicije lingvističke varijable mora biti jasno definiran (minimalni i maksimalne vrijednosti jezička varijabla na osnovnoj skali). Na granicama univerzalnog skupa gdje je definirana lingvistička varijabla, vrijednosti funkcija pripadnosti njegovih minimalnih i maksimalnih rasplinutih skupova moraju biti jedinice. Na slici T 1 ima pogrešna funkcija pribor, a T 6 je ispravan.

3. Dosljednost. Prirodna razlika između pojmova (vrijednosti lingvističke varijable) mora se promatrati kada ista tačka univerzalnog skupa ne može istovremeno pripadati m( X) = 1 do dva ili više rasplinutih skupova (zahtjev je narušen parom T 2 – T 3).

4. Potpunost. Svaka vrijednost iz domena definicije lingvističke varijable mora biti opisana najmanje jednim rasplinutim skupom (zahtjev je prekršen između para T 3 - T 4).

5. Normalnost. Svaki koncept u lingvističkoj varijabli mora imati barem jednu referencu ili tipični objekt, tj. u nekom trenutku funkcija pripadnosti rasplinutog skupa mora biti jedinica (zahtjev je prekršen T5).

X

Nejasan skup “kratka visina” m n ( X)

0 20 40 60 80 100 110 120 140 160 X

Nejasan skup “visokog rasta” m u ( X)

0 20 40 60 80 100 110 120 140 160 X

D = N: Dopuna rasplinutog skupa "kratka visina"

m d ( X) = 1 – m n ( X)

0 20 40 60 80 100 110 120 140 160 X

N È V: Kombinacija rasplinutih skupova „niskog rasta“ i „visokog rasta“

m nv ( X) = max(m n ( X), m u ( X))

0 20 40 60 80 100 110 120 140 160 X

N Ç V: Presjek rasplinutih skupova „niskog rasta“ i „visokog rasta“

m nv ( X) = min(m n ( X), m u ( X))

Rice. 33. Operacije na rasplinutim skupovima

m( X) T 1 T 2 T 3 T 4 T 5 T 6

Rice. 34. Primjer specificiranja rasplinutih skupova za lingvističku varijablu uz kršenje zahtjeva

Zahtjevi 2–4 mogu se zamijeniti jednim univerzalnim – zbirom funkcija pripadnosti m( X) za sve rasplinute skupove u svakoj tački u domenu definicije varijable mora biti jednaka 1.

Prilikom obrade pravila sa lingvističkim varijablama (fazi pravila), fuzzy logička pravila se koriste za izračunavanje istinitosti hipoteze. Fuzzy logika– vrsta kontinuirane logike u kojoj same premise, hipoteze i logičke formule mogu poprimiti vrijednosti istine s određenim stupnjem vjerovatnoće.

Osnovni principi fuzzy logike:

· istinitost premise, hipoteze ili formule leži u intervalu;

· ako su dvije premise (E 1 i E 2) povezane sa Ù (logičko I), tada se istinitost hipoteze H izračunava po formuli t(H) = MIN(t(E 1), t(E 2)) ;

· ako su dvije premise (E 1 i E 2) povezane pomoću Ú (logičko OR), tada se istinitost hipoteze H izračunava po formuli t(H) = MAX(t(E 1), t(E 2) );

· ako pravilo (P) ima svoju procjenu istinitosti, tada se konačna istinitost hipoteze N total prilagođava uzimajući u obzir istinitost pravila t(N ukupno) = MIN(t(N), t(P)) .

Uvod u Fuzzy Logic

Fuzzy logika je logična ili sistem kontrole n-cifre logički sistem, koji koristi stupnjeve stanja (“stepene istine”) ulaza i generiše izlaze koji zavise od stanja ulaza i brzine promjene ovih stanja. Ovo nije uobičajena "tačno ili netačno" (1 ili 0), Booleova (binarna) logika na kojoj savremenih kompjutera. Uglavnom pruža osnovu za približno zaključivanje koristeći neprecizna rješenja i omogućava korištenje jezičnih varijabli.



Fuzzy logiku je 1965. godine razvio profesor Lotfi Zadeh na Univerzitetu Kalifornije, Berkeley. Prva aplikacija je bila izvođenje kompjuterske obrade podataka na bazi prirodnih vrijednosti.


Pojednostavljeno rečeno, neizrazita logička stanja mogu biti ne samo 1 ili 0, već i vrijednosti između njih, odnosno 0,15, 0,8, itd. Na primjer, u binarnoj logici možemo reći da imamo čašu vruća voda(tj. 1 ili visoka logički nivo) ili čašu hladne vode, odnosno (0 ili nizak logički nivo), ali u fazi logike možemo reći da imamo čašu tople vode (ni tople ni hladne, odnosno negdje između ova dva ekstremna stanja) . Jasna logika: da ili ne (1, 0). Fuzzy logika: naravno, da; vjerovatno ne; Teško za reći; mozda da itd.

Osnovna arhitektura fuzzy logičkog sistema

Sistem fuzzy logike sastoji se od sljedećih modula:



Fuzzifikator (ili operator zamućenja). Uzima izmjerene varijable kao ulaz i transformira numeričke vrijednosti u lingvističke varijable. On transformiše fizičke vrijednosti kao i signale greške u normalizirani rasplinuti podskup, koji se sastoji od intervala za raspon ulaznih vrijednosti i funkcija pripadnosti koje opisuju vjerovatnoću stanja ulaznih varijabli. Ulazni signal je uglavnom podijeljen u pet stanja, kao što su: veliko pozitivno, srednje pozitivno, malo, srednje negativno i veliko negativno.


Kontroler. Sastoji se od baze znanja i mehanizma zaključivanja. Baza znanja čuva funkcije članstva i fuzzy pravila dobijena poznavanjem rada sistema u okruženju. Mehanizam zaključivanja obrađuje rezultirajuće funkcije članstva i nejasna pravila. Drugim riječima, mehanizam zaključivanja proizvodi izlaz na osnovu lingvističkih informacija.


Defuzzifier ili operator vraćanja jasnoće. Izvodi obrnuti proces od faznog požara. Drugim riječima, pretvara nejasne vrijednosti u normalne numeričke ili fizičkih signala i šalje ih na fizički sistem za kontrolu rada sistema.

Princip rada sistema fazi logike

Fuzzy operacija uključuje upotrebu rasplinutih skupova i funkcija članstva. Svaki rasplinuti skup je reprezentacija lingvističke varijable koja definira moguće stanje izlaza. Funkcija pripadnosti je funkcija opće vrijednosti u fazi skupu, tako da i opća vrijednost i fazi skup pripadaju univerzalnom skupu.


Stepeni pripadnosti ovoj opštoj vrednosti u fazi skupu određuju izlaz na osnovu principa IF-THEN. Članstvo se dodjeljuje na osnovu pretpostavke izlaza iz inputa i stope promjene inputa. Funkcija članstva je u osnovi grafički prikaz fuzzy set.


Razmotrimo vrijednost "x" tako da je x ∈ X za cijeli interval i rasplinuti skup A, koji je podskup X. Funkcija pripadnosti "x" u podskupu A je data sa: fA(x), Imajte na umu da "x" označava vrijednost članstva. Ispod je grafički prikaz rasplinutih skupova.



Dok x-osa označava univerzalni skup, y-osa označava stepene pripadnosti. Ove funkcije pripadnosti mogu biti trokutaste, trapezoidne, jednotačke ili Gausovog oblika.

Praktični primjer fuzzy logičkog sistema

Hajde da se razvijamo jednostavan sistem fuzzy kontrola za kontrolu rada mašine za pranje veša, tako da fuzzy sistem kontroliše proces pranja, unos vode, vreme pranja i brzinu centrifuge. Ulazni parametri ovdje su zapremina odjeće, stepen zaprljanosti i vrsta prljavštine. Dok bi zapremina odeće određivala unos vode, stepen kontaminacije bi zauzvrat bio određen bistrinom vode, a vrsta prljavštine bi bila određena vremenom kada bi boja vode ostala konstantna.


Prvi korak je definiranje lingvističkih varijabli i pojmova. Za ulazne podatke, lingvističke varijable su date u nastavku:

  • Vrsta blata: (masno, srednje, nije masno)
  • Kvalitet prljavštine: (veliki, srednji, mali)

Za izlaz, lingvističke varijable su date u nastavku:

  • Vrijeme pranja: (kratko, vrlo kratko, dugo, srednje, vrlo dugo) (kratko, vrlo kratko, dugo, srednje, vrlo dugo).

Drugi korak uključuje konstruiranje funkcija članstva. Ispod su dijagrami koji definiraju funkcije članstva za dva ulaza. Dodatne funkcije za kvalitet blata:



Dodatne funkcije za vrstu blata:



Treći korak uključuje razvoj skupa pravila za bazu znanja. Ispod je skup pravila koji koriste IF-THEN logiku:

AKO je kvaliteta prljavštine mala I vrsta prljavštine masna, ONDA vrijeme pranja dugo.
AKO kvalitet prljavštine Srednji I Vrsta prljavštine Masno, ONDA Vrijeme pranja Dugo.
AKO kvaliteta prljavštine Velika i vrsta prljavštine Masna, ONDA vrijeme pranja Vrlo dugo.
AKO kvalitet prljavštine Mali I Vrsta prljavštine Srednja, ONDA Vrijeme pranja Srednje.
AKO kvalitet prljavštine Srednji I Vrsta prljavštine Srednja, ONDA Vrijeme pranja Srednje.
AKO kvalitet prljavštine Velika i vrsta prljavštine Srednja, ONDA Vrijeme pranja Srednje.
AKO kvaliteta prljavštine Mala i vrsta prljavštine Nemasno, ONDA vrijeme pranja Vrlo kratko.
AKO kvalitet prljavštine Srednji I Vrsta prljavštine Nemasno, ONDA Vrijeme pranja Srednje.
AKO kvaliteta prljavštine Velika i vrsta prljavštine Masna, ONDA vrijeme pranja Vrlo kratko.

Fazifire, koji je inicijalno konvertovao ulaze senzora u ove lingvističke varijable, sada primjenjuje gornja pravila za izvođenje fuzzy set operacija (npr. MIN i MAX) za određivanje izlaznih fuzzy funkcija. Funkcija članstva je razvijena na osnovu izlaznih rasplinutih skupova. Poslednji korak je faza defasifikacije, u kojoj defasifikator koristi funkcije članstva izlaza da odredi vrijeme pranja.

Područja primjene fuzzy logike

Fuzzy logički sistemi se mogu koristiti u automobilski sistemi kao što su automatski menjači. Prijave na području kućanskih aparata uključiti mikrovalne pećnice, klima uredjaji, mašine za pranje veša, televizori, frižideri, usisivači itd.

Prednosti Fuzzy Logic

  • Sistemi nejasne logike su fleksibilni i dozvoljavaju promjenu pravila.
  • Takvi sistemi takođe prihvataju čak i netačne, iskrivljene i pogrešne informacije.
  • Sistemi nejasne logike mogu se lako dizajnirati.
  • Budući da su ovi sistemi povezani s ljudskim rasuđivanjem i donošenjem odluka, korisni su u oblikovanju odluka teške situacije V razne vrste aplikacije.

web stranica


Tagovi:



   Hvala na interesovanju za informativni projekat web stranica.
   Ako želite zanimljivo i korisnim materijalima izlazio češće i bilo je manje reklama,
    Možete podržati naš projekat tako što ćete donirati bilo koji iznos za njegov razvoj.

Najbolji članci na ovu temu