Aplicarea logicii fuzzy. Fuzzy Logic: Soluții clare Fuzzy Logic

Logica neclară– logica bazata pe teoria multimilor fuzzy. Subiectul său este construirea de modele de raționament uman aproximativ și utilizarea lor în sisteme informatice. ÎN logica fuzzy Limita estimării a fost extinsă de la o estimare cu două valori (Fie 0, fie 1) la o estimare nelimitată cu mai multe valori (Pe intervalul ).

O mulțime neclară A într-un spațiu complet X este definită prin funcția de membru m A (x):

Logica definirii conceptului de mulțime fuzzy nu conține nicio vagitate. În loc să specificați o anumită valoare (De exemplu, 0,8), este obișnuit să folosiți valori inferioare și superioare pentru a stabili limite acceptabile de evaluare (De exemplu).

În cazul logicii fuzzy, puteți crea un număr nelimitat de operații, astfel încât să nu se folosească operatii de baza pentru a înregistra restul. Extensiile lui NOT, AND, OR la ​​operațiile fuzzy sunt deosebit de importante. Ele sunt numite respectiv – negație fuzzy, t-norm și s-norm. Deoarece numărul de stări este nelimitat, este imposibil să descrii aceste operații folosind un tabel de adevăr. Operațiile sunt explicate folosind funcții și axiome și reprezentate cu ajutorul graficelor.

Reprezentarea axiomatică a operațiilor fuzzy:

Negare neclară

Axioma N1 păstrează proprietatea NOT cu valoare dublă, iar N2 păstrează regula dublei negații. N3 – cel mai semnificativ: negația fuzzy inversează succesiunea aprecierilor.

O operație tipică de negație fuzzy este scăderea din 1.

Când este negat, valoarea 0,5 este centrală și, de obicei, x și xθ iau valori simetrice în raport cu 0,5.

norma T.

Axioma T1 este valabilă, ca și pentru I clar. T2 și T3 sunt legile intersecției și unirii. Axioma T4 este o cerință pentru ordine.

O normă t tipică este operația min sau produsul logic:

Cu un produs logic, graficul se construiește simetric față de planul, format din x1 și x2 înclinați.

S-norma.

O normă s tipică este o sumă logică, definită de operația max.

În plus, există o sumă algebrică, o sumă limită și o sumă drastică:

După cum se poate observa din figuri, ordinea este opusă decât în ​​cazul normei t.

Exemplele de definiție neclară includ temperatura și funcționarea supapei:

Asemănări

Logica fuzzy este o generalizare a logicii clare clasice. Atât logica clară, cât și cea neclară se bazează pe seturi și operații relaționale. Operațiile fuzzy sunt o extensie a operațiilor logicii precise.

Diferențele

În logica clară, variabilele sunt membri completi ai mulțimilor, iar în logica fuzzy sunt doar membri parțiali ai mulțimilor.

Într-o logică clară, o afirmație este fie adevărată, fie falsă, iar legea eliminării mijlocului operează în ea. În logica fuzzy, adevărul sau falsitatea nu mai sunt absolute, iar afirmațiile pot fi parțial adevărate și parțial false. În logica clară, numărul de operații posibile este finit și depinde de numărul de intrări, în timp ce în logica fuzzy numărul de operații posibile este infinit.

3. Exemplu

Mai întâi luăm în considerare mulțimea X a tuturor numere reale intre 0 si 10, pe care o vom numi zona de studiu. Acum, să definim o submulțime X a tuturor numerelor reale din intervalul între 5 și 8.

A=

Acum să ne imaginăm setul A folosind o funcție simbolică, adică această funcție atribuie numărul 1 sau 0 fiecărui element din X, în funcție de faptul dacă elementul se află într-un submult A sau nu. Rezultă următoarea diagramă:

Putem interpreta elementele cărora li se atribuie numărul 1 ca ca elemente care sunt în mulțimea A,și elementele cărora li se atribuie numărul 0, ca elemente care nu se află în mulțimea A.

Acest concept este suficient pentru multe domenii de aplicare. Dar putem găsi cu ușurință situații în care flexibilitatea este pierdută. Pentru a arăta acest lucru, luați în considerare următorul exemplu care arată diferența dintre un set neclar și unul clar:

În acest exemplu dorim să descriem un set de tineri. Mai formal putem denota

B = (set de tineri)

Deoarece, în general, vârsta începe de la 0, linia de jos din acest set trebuie să fie zero. Limita superioară, pe de altă parte, trebuie determinată. Pentru prima dată, să definim limita superioară a setului, să zicem 20 de ani. Prin urmare primim B ca un interval clar, și anume:

B=

Acum apare întrebarea: de ce cineva este tânăr la 20 de ani, dar nu tânăr a doua zi? Evident, acesta este... problema structurala, deoarece dacă mutăm limita superioară de la 20 la un punct arbitrar, putem pune aceeași întrebare.

Un mod mai natural de a descrie un set B este de a slăbi diviziunea strictă dintre tineri și netineri. Vom face acest lucru permițând nu numai o soluție (clară). DA: el/ea este în mulți tineri, sau NU: el/ea nu este printre cei tineri, dar expresii mai flexibile precum: Bine, el/ea aparține puțin mai mult mulțimii tinere sau NU, el/ea cu greu aparține mulțimii tinerilor.

În primul nostru exemplu, am codificat toate elementele zonei de studiu ca 0 sau 1. O modalitate simplă de a generaliza acest concept la o mulțime neclară este definirea cantitate mare valori între 0 și 1. De fapt, definim infinit de opțiuni între 0 și 1 și anume intervalul unitar eu =.

Interpretarea numerelor din setul fuzzy atribuit tuturor elementelor Zonei de studiu este mai dificilă. Desigur, din nou numărul 1 este atribuit elementului ca o modalitate de a identifica elementul care se află în set Bși 0 - modul în care elementul nu este definit în mulțime B. Toate celelalte valori înseamnă apartenența treptată la mulţime B.

Pentru o mai mare claritate, arătăm acum setul de tineri, ca primul nostru exemplu, grafic folosind o funcție simbolică.

Cu această metodă, oamenii de 25 de ani vor încă tineri cu 50 la sută (0,5). Acum știi ce este un set neclar.

Epimenide din Knossos din insula Creta este un poet și filozof semi-mitic care a trăit în secolul al VI-lea. î.Hr., a declarat cândva: „Toți cretanii sunt mincinoși!” Din moment ce el însuși era cretan, el este amintit ca inventatorul așa-numitului paradox cretan.


În ceea ce privește logica aristotelică, în care o afirmație nu poate fi atât adevărată, cât și falsă, iar astfel de autonegații nu au sens. Dacă sunt adevărate, atunci sunt false, dar dacă sunt false, atunci sunt adevărate.


Și aici intră în joc logica fuzzy, unde variabilele pot fi membri parțiali ai mulțimilor. Adevărul sau falsitatea nu mai sunt absolute - afirmațiile pot fi parțial adevărate și parțial false. Folosirea acestei abordări ne permite să demonstrăm strict matematic că paradoxul Epimenidei este exact 50% adevărat și 50% fals.

Astfel, logica fuzzy este fundamental incompatibilă cu logica aristotelică, în special în ceea ce privește legea Tertium non datur („Nici o treime nu este dată” - latină), care este numită și legea excluderii mediei1. Pentru a spune pe scurt, se întâmplă astfel: dacă o afirmație nu este adevărată, atunci este falsă. Aceste postulate sunt atât de elementare încât sunt adesea luate pur și simplu ca de la sine înțelese.


Un exemplu mai banal al utilităţii logicii fuzzy poate fi dat în contextul conceptului de rece. Majoritatea oamenilor sunt capabili să răspundă la întrebarea: „Ți-e frig acum?” În majoritatea cazurilor (cu excepția cazului în care vorbești cu un student absolvent de fizică), oamenii înțeleg că nu vorbim despre temperatură absolută pe scara Kelvin. Deși o temperatură de 0 K poate fi numită, fără îndoială, rece, mulți nu vor considera o temperatură de +15 C ca fiind rece.


Dar mașinile nu sunt capabile să facă gradări atât de fine. Dacă definiția standard a frigului este „temperatura sub +15 C”, atunci +14,99 C va fi considerat rece, dar +15 C nu.

Teoria multimilor fuzzy

Să ne uităm la Fig. 1. Prezintă un grafic care vă ajută să înțelegeți modul în care o persoană percepe temperatura. O persoană percepe o temperatură de +60 F (+12 C) ca rece și o temperatură de +80 F (+27 C) ca fierbinte. Temperaturile de +65 F (+15 C) par reci pentru unii, dar destul de confortabile pentru alții. Numim acest grup de definiții funcția apartenenței la seturi care descriu percepția subiectivă a unei persoane asupra temperaturii.

Este la fel de ușor să creezi seturi suplimentare care descriu percepția umană asupra temperaturii. De exemplu, puteți adăuga seturi precum „foarte rece” și „foarte cald”. Este posibil să se descrie funcții similare pentru alte concepte, cum ar fi stările deschise și închise, temperatura răcitorului de lichid sau temperatura turnului de răcire.


Adică, sistemele fuzzy pot fi folosite ca un aproximator universal (mediu) pentru o clasă foarte largă de sisteme liniare și neliniare. Acest lucru nu numai că face strategiile de control mai fiabile în cazurile neliniare, dar permite și utilizarea evaluărilor experților pentru a construi circuite logice computerizate.

Operatori fuzzy

Pentru a aplica algebra la valori neclare, trebuie să determinați operatorii de utilizat. În mod obișnuit, logica booleană folosește doar un set limitat de operatori, cu ajutorul cărora sunt efectuate alte operații: NOT (operatorul NU), AND (operatorul AND) și OR (operatorul OR).

Pentru aceste trei pot fi date multe definiții operatori de bază, dintre care trei sunt prezentate în tabel. Apropo, toate definițiile sunt la fel de valabile pentru logica booleană (pentru a verifica, înlocuiți doar 0 și 1 în ele). În logica booleană, FALSE este echivalent cu 0, iar TRUE este echivalent cu 1. În mod similar, în logica fuzzy, gradul de adevăr poate varia de la 0 la 1, deci valoarea „Rece” este adevărată la puterea lui 0,1, iar operația NOT(„Rece”) va da valoarea 0,9.


Poți să te întorci la paradoxul lui Epimenide și să încerci să-l rezolvi (matematic se exprimă ca A = NU(A), unde A este gradul de adevăr al afirmației corespunzătoare). Daca vrei mai mult sarcină dificilă, apoi încearcă să rezolvi problema sunetului unei palme făcute de o mână...

Rezolvarea problemelor folosind metode de logica fuzzy

Doar câteva supape sunt capabile să se deschidă „doar puțin”. Când se operează echipamentul, se folosesc de obicei valori clare (de exemplu, în cazul unui semnal bimodal 0-10 V), care pot fi obținute folosind așa-numita „rezolvare a problemelor cu logica fuzzy”. Această abordare face posibilă transformarea cunoştinţelor semantice conţinute în sistemul fuzzy într-o strategie de control implementabilă2.


Acest lucru se poate face folosind diferite tehnici, dar pentru a ilustra procesul în ansamblu, să ne uităm la un singur exemplu.


În metoda defuzificării înălțimii, rezultatul este suma vârfurilor setului fuzzy, calculată folosind ponderi. Această metodă are mai multe dezavantaje, inclusiv treaba proasta cu funcții de apartenență a seturilor asimetrice, dar are un avantaj - această metodă este cel mai ușor de înțeles.

Să presupunem că setul de reguli care guvernează deschiderea supapei ne oferă următorul rezultat:


„Supapa parțial închisă”: 0,2

„Supapa parțial deschisă”: 0,7

„Supapa deschisă”: 0,3

Dacă folosim metoda defuzificării înălțimii pentru a determina gradul de deschidere al supapei, vom obține rezultatul:

„Supapa închisă”: 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%,

acestea. robinetul trebuie deschis la 67,3%.

Aplicarea practică a logicii fuzzy

Când a apărut pentru prima dată teoria logicii fuzzy, articolele despre posibilele sale domenii de aplicare puteau fi găsite în reviste științifice. Pe măsură ce evoluțiile în acest domeniu progresează, mai mult aplicații practice căci logica neclară a început să crească rapid. Această listă ar fi prea lungă în acest moment, dar iată câteva exemple pentru a vă ajuta să înțelegeți cât de larg este utilizată logica fuzzy în sistemele de control și sistemele expert3.


– Dispozitive pentru menținerea automată a vitezei vehiculului și creșterea eficienței/stabilității motoare de automobile(Companii Nissan, Subaru).

mecanismele gândirii, am observat că în realitate nu există o singură logică (de exemplu, booleană), ci atâtea câte ne dorim, deoarece totul este determinat de alegerea sistemului adecvat de axiome. Desigur, odată alese axiomele, toate enunţurile construite pe baza lor trebuie să fie strict, fără contradicţii, legate între ele după regulile stabilite în acest sistem de axiome.

Gândirea umană este o combinație de intuiție și rigoare, care, pe de o parte, consideră lumea ca un întreg sau prin analogie, iar pe de altă parte, logic și consecvent și, prin urmare, reprezintă un mecanism neclar. Legile gândirii pe care am dori să le includem în programele de calculator trebuie să fie neapărat formale; legile gândirii manifestate în dialogul om-uman sunt neclare. Putem spune așadar că logica neclară poate fi bine adaptată dialogului uman? Da daca software, dezvoltat ținând cont de logica fuzzy, va deveni operațional și poate fi implementat tehnic, apoi comunicarea om-mașină va deveni mult mai convenabilă, mai rapidă și mai potrivită pentru rezolvarea problemelor.

Termenul " logica fuzzy" este de obicei folosit în două sensuri diferite. Într-un sens restrâns, logica fuzzy este calculul logic, care este o extensie logica cu mai multe valori. In ea în sens larg, care este cea predominantă în uz astăzi, logica fuzzy este echivalentă cu teoria mulțimilor fuzzy. Din acest punct de vedere, logica fuzzy în sens restrâns este o ramură a logicii fuzzy în sens larg.

Definiție. Orice variabilă fuzzy caracterizat prin trei

Unde este numele variabilei, - set universal, este o submulțime fuzzy a mulțimii, care reprezintă o constrângere fuzzy asupra valorii variabilei, condiționată de .

Folosind analogia unei genți de călătorie, variabilă fuzzy poate fi asemănată cu o geantă de călătorie cu o etichetă care are pereți „moi”. Apoi - inscripția de pe etichetă (numele pungii), - o listă de articole care, în principiu, pot fi plasate în geantă și - o parte a acestei liste, unde pentru fiecare articol este indicat un număr, care caracterizează gradul de ușurință cu care articolul poate fi pus în geantă.

Să luăm acum în considerare diverse abordări pentru definirea operațiilor de bază pe variabile fuzzy, și anume conjuncție, disjuncție și negație. Aceste operații sunt fundamentale pentru logica fuzzy, în sensul că toate structurile sale se bazează pe aceste operații. Momentan în logica fuzzy ca operații de conjuncție iar disjuncțiile folosesc pe scară largă -norme și -conorms, care au ajuns la logica fuzzy din teoria spațiilor metrice probabilistice. Ele sunt destul de bine studiate și formează baza multor construcții formale ale logicii fuzzy. În același timp, extinderea domeniului de aplicare a logicii fuzzy și a capabilităților de modelare fuzzy necesită generalizarea acestor operații. O direcție este asociată cu slăbirea axiomaticii lor pentru a extinde instrumentele de modelare fuzzy. O altă direcție de generalizare operații de conjuncție iar disjuncția logicii fuzzy este asociată cu înlocuirea setului de valori de apartenență cu un set ordonat liniar sau parțial de evaluări a credibilității lingvistice. Aceste generalizări ale operațiilor de bază ale logicii fuzzy, pe de o parte, sunt cauzate de nevoia de a dezvolta sisteme expert în care valorile de adevăr ale faptelor și regulilor sunt descrise de un expert sau utilizator direct la scară lingvistică și sunt de o natură calitativă. Pe de altă parte, astfel de generalizări sunt cauzate de o schimbare a direcției dezvoltare activă logica neclară de la modelarea proceselor cantitative, măsurabile până la modelarea proceselor de gândire umană, unde percepția lumii și luarea deciziilor au loc pe baza granulării informațiilor și calculării în cuvinte.

O generalizare naturală a operațiilor de negație involutivă ale logicii fuzzy sunt negații non-involutive. Ele sunt de interes independent și sunt considerate în logica fuzzy și în alte logici neclasice. Necesitatea studierii unor astfel de operații de negație este cauzată și de introducerea în considerare a generalizate operații de conjuncțieși disjuncții conectate între ele folosind operatii de negatie.

Introducere în logica fuzzy

Logica fuzzy este logică sau sistem de control n cifre sistem logic, care utilizează gradele de stare („grade de adevăr”) ale intrărilor și generează ieșiri care depind de stările intrărilor și de rata de schimbare a acestor stări. Aceasta nu este logica obișnuită „adevărat sau fals” (1 sau 0), boolean (binar) pe care calculatoare moderne. Acesta oferă în principal baza pentru raționamentul aproximativ folosind soluții imprecise și permite utilizarea variabilelor lingvistice.



Logica fuzzy a fost dezvoltată în 1965 de profesorul Lotfi Zadeh de la Universitatea din California, Berkeley. Prima aplicație a fost de a efectua prelucrarea computerizată a datelor pe baza valorilor naturale.


Pentru a spune simplu, stările logice fuzzy pot fi nu numai 1 sau 0, ci și valori între ele, adică 0,15, 0,8 etc. De exemplu, în logica binară, putem spune că avem un pahar cu apă fierbinte (adică 1 sau logic mare) sau un pahar apă rece, adică (0 sau nivel logic scăzut), dar în logica fuzzy, putem spune că avem un pahar cu apă caldă (nici fierbinte, nici rece, adică undeva între aceste două stări extreme). Logica clară: da sau nu (1, 0). Logica fuzzy: desigur, da; probabil nu; Greu de spus; poate da etc.

Arhitectura de bază a unui sistem cu logică fuzzy

Sistemul logic fuzzy este format din următoarele module:



Fuzzifier (sau operator de estompare). Preia variabilele măsurate ca intrare și convertește valorile numerice în variabile lingvistice. Transformă valorile fizice, precum și semnalele de eroare într-un subset normalizat fuzzy, care constă dintr-un interval pentru o serie de valori de intrare și funcții de membru care descriu probabilitatea stării variabilelor de intrare. Semnal de intrareÎmpărțit în principal în cinci stări, cum ar fi: mare pozitiv, mediu pozitiv, mic, mediu negativ și mare negativ.


Controlor. Constă dintr-o bază de cunoștințe și un motor de inferență. Baza de cunoștințe stochează funcțiile de membru și regulile fuzzy obținute prin cunoașterea funcționării sistemului în mediu. Motorul de inferență procesează funcțiile de membru și regulile fuzzy rezultate. Cu alte cuvinte, motorul de inferență produce rezultate bazate pe informații lingvistice.


Defuzzifier sau operator de restabilire a clarității. Efectuează procesul invers al focului de fază. Cu alte cuvinte, convertește valorile neclare în valori numerice normale sau semnale fiziceși le trimite la sistem fizic pentru a controla funcționarea sistemului.

Principiul de funcționare al unui sistem logic fuzzy

Operația fuzzy implică utilizarea de seturi fuzzy și funcții de membru. Fiecare set fuzzy este o reprezentare a unei variabile lingvistice care definește o posibilă stare de ieșire. Funcția de apartenență este o funcție a valorii generale din mulțimea fuzzy, astfel încât atât valoarea generală, cât și mulțimea fuzzy aparțin mulțimii universale.


Gradele de apartenență la această valoare generală în setul fuzzy determină rezultatul pe baza principiului IF-THEN. Calitatea de membru este atribuită pe baza ipotezei ieșirii din intrări și a ratei de modificare a intrărilor. Funcția de membru este practic reprezentare grafică set neclar.


Se consideră o valoare „x” astfel încât x ∈ X pentru întregul interval și o mulțime neclară A, care este o submulțime a lui X. Funcția de apartenență a lui „x” în submulțimea A este dată de: fA(x), Rețineți că „x” denotă valoarea de membru. Mai jos este o reprezentare grafică a mulțimilor fuzzy.



În timp ce axa x indică mulțimea universală, axa y indică grade de apartenență. Aceste funcții de apartenență pot avea formă triunghiulară, trapezoidală, punct unic sau gaussian.

Exemplu practic de sistem cu logica fuzzy

Să ne dezvoltăm sistem simplu control fuzzy pentru a controla funcționarea mașinii de spălat, astfel încât sistemul fuzzy controlează procesul de spălare, aportul de apă, timpul de spălare și viteza de centrifugare. Parametrii de intrare aici sunt volumul de îmbrăcăminte, gradul de murdărie și tipul de murdărie. În timp ce volumul de îmbrăcăminte ar determina aportul de apă, gradul de contaminare ar fi, la rândul său, determinat de claritatea apei, iar tipul de murdărie ar fi determinat de momentul în care culoarea apei a rămas constantă.


Primul pas este definirea variabilelor și termenilor lingvistici. Pentru datele de intrare, variabilele lingvistice sunt date mai jos:

  • Tip de noroi: (gras, mediu, nu gras)
  • Calitatea murdăriei: (Mare, Medie, Mică)

Pentru ieșire, variabilele lingvistice sunt date mai jos:

  • Timp de spălare: (Scurt, foarte scurt, lung, mediu, foarte lung) (scurt, foarte scurt, lung, mediu, foarte lung).

Al doilea pas implică construirea funcțiilor de membru. Mai jos sunt diagrame care definesc funcțiile de membru pentru cele două intrări. Funcții accesorii pentru calitatea noroiului:



Funcții accesorii pentru tipul de noroi:



Al treilea pas implică dezvoltarea unui set de reguli pentru baza de cunoștințe. Mai jos este un set de reguli care utilizează logica IF-THEN:

DACĂ Calitatea murdăriei este mică ȘI tipul murdăriei este grasă, atunci timpul de spălare este lung.
DACĂ calitatea murdăriei Medie ȘI Tipul de murdărie Gras, ATUNCI Timp de spălare Prelungit.
DACĂ calitatea murdăriei Mare și tipul de murdărie Gras, ATUNCI Timp de spălare Foarte lung.
DACĂ calitatea murdăriei Mic ȘI Tipul murdăriei Mediu, APOI Timp de spălare Mediu.
DACĂ calitatea murdăriei Medie ȘI Tipul murdăriei Medie, ACI Timp de spălare Mediu.
DACĂ calitatea murdăriei Mare și tipul murdăriei Mediu, ACI Timp de spălare Mediu.
DACĂ calitatea murdăriei Mic și tip murdărie Negras, ATUNCI Timp de spălare Foarte scurt.
DACĂ calitatea murdăriei Medie ȘI Tipul murdăriei Negras, ATUNCI Timp de spălare Mediu.
DACĂ calitatea murdăriei Mare și tipul de murdărie Gras, ATUNCI Timp de spălare Foarte scurt.

Fazifire, care a convertit inițial intrările senzorului în aceste variabile lingvistice, acum aplică regulile de mai sus pentru a efectua operații de setare neclară (de exemplu, MIN și MAX) pentru a determina funcțiile fuzzy de ieșire. O funcție de apartenență este dezvoltată pe baza seturilor fuzzy de ieșire. Ultimul pas este pasul de defasificare, în care defasifiantul utilizează funcțiile de membru de ieșire pentru a determina timpul de spălare.

Domenii de aplicare ale logicii fuzzy

Sistemele cu logică fuzzy pot fi utilizate în sisteme auto precum transmisiile automate. Aplicații în zonă aparate electrocasnice include cuptorul cu microunde, aer conditionat, mașini de spălat, televizoare, frigidere, aspiratoare etc.

Avantajele logicii fuzzy

  • Sistemele cu logica fuzzy sunt flexibile si permit modificarea regulilor.
  • Astfel de sisteme acceptă chiar și informații inexacte, distorsionate și eronate.
  • Sistemele cu logica fuzzy pot fi proiectate cu usurinta.
  • Deoarece aceste sisteme sunt asociate cu raționamentul uman și cu luarea deciziilor, ele sunt utile în formarea deciziilor în situații complexe în tipuri variate aplicatii.

site-ul web


Etichete:



   Vă mulțumim pentru interesul acordat proiect de informare site-ul web.
   Dacă doriți ca materiale interesante și utile să fie publicate mai des și cu mai puțină publicitate,
   Puteți susține proiectul nostru donând orice sumă pentru dezvoltarea lui.

Teoria matematică a mulțimilor fuzzy și logica fuzzy sunt generalizări ale teoriei clasice a mulțimilor și ale logicii formale clasice. Aceste concepte au fost propuse pentru prima dată de omul de știință american Lotfi Zadeh în 1965. Principalul motiv pentru apariția noii teorii a fost prezența raționamentului neclar și aproximativ atunci când oamenii descriu procese, sisteme și obiecte.

Înainte de abordarea modelării fuzzy sisteme complexe a primit recunoaștere în întreaga lume, a trecut mai bine de un deceniu de la nașterea teoriei mulțimilor fuzzy. Și pe această cale de dezvoltare a sistemelor fuzzy, se obișnuiește să se distingă trei perioade.

Prima perioadă (sfârșitul anilor 60–începutul anilor 70) este caracterizată de dezvoltarea aparatului teoretic al mulțimilor fuzzy (L. Zadeh, E. Mamdani, Bellman). În a doua perioadă (70–80), primele rezultate practice au apărut în domeniul controlului fuzzy al complexului. sisteme tehnice(generator de abur cu control fuzzy). În același timp, a început să se acorde atenție problemelor de construire a sistemelor expert bazate pe logica fuzzy și dezvoltarea de controlere fuzzy. Sistemele expert fuzzy pentru sprijinul deciziilor sunt utilizate pe scară largă în medicină și economie. În cele din urmă, în a treia perioadă, care durează de la sfârșitul anilor 80 și continuă și astăzi, apar pachete software pentru construirea de sisteme expert fuzzy, iar domeniile de aplicare a logicii fuzzy se extind considerabil. Este utilizat în industria auto, aerospațială și de transport, în domeniul aparatelor de uz casnic, în finanțe, analiză și luarea deciziilor de management și multe altele.

Marșul triumfal al logicii fuzzy în întreaga lume a început după ce Bartholomew Cosco a demonstrat celebra teoremă FAT (Teorema de aproximare fuzzy) la sfârșitul anilor 80. În afaceri și finanțe, logica neclară a câștigat recunoaștere după sistem expert pe baza unor reguli neclare pentru prezicerea indicatorilor financiari, singurul a prezis un crash bursier. Iar numărul de aplicații fuzzy de succes se numără acum la mii.

Aparat matematic

O caracteristică a unui set fuzzy este funcția de membru. Să notăm cu MF c (x) gradul de apartenență la mulțimea fuzzy C, care este o generalizare a conceptului de funcție caracteristică a unei mulțimi obișnuite. Atunci o mulțime fuzzy C este o mulțime de perechi ordonate de forma C=(MF c (x)/x), MF c (x) . Valoarea MF c (x)=0 înseamnă lipsă de apartenență la mulțime, 1 înseamnă apartenență completă.

Să ilustrăm acest lucru cu un exemplu simplu. Să oficializăm definiția imprecisă a „ceaiului fierbinte”. X (zona de discuție) va fi scala de temperatură în grade Celsius. Evident, va varia de la 0 la 100 de grade. Un set neclar pentru conceptul „ceai fierbinte” ar putea arăta astfel:

C=(0/0; 0/10; 0/20; 0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100).

Astfel, ceaiul cu o temperatură de 60 C aparține setului „Hot” cu un grad de apartenență de 0,80. Pentru o persoană, ceaiul la o temperatură de 60 C poate fi fierbinte, pentru altul poate să nu fie prea fierbinte. Tocmai aici se manifestă vagul specificării setului corespunzător.

Pentru mulțimile neclare, ca și pentru mulțimile obișnuite, sunt definite operațiile logice de bază. Cele mai elementare necesare pentru calcule sunt intersecția și unirea.

Intersecția a două mulțimi neclare („ȘI” fuzzy): A B: MF AB (x)=min(MF A (x), MF B (x)).
Unirea a două mulțimi fuzzy (fuzzy „OR”): A B: MF AB (x)=max(MF A (x), MF B (x)).

Dezvoltat în teoria mulțimilor fuzzy abordare generală la executarea operatorilor de intersecție, unire și complement, implementați în așa-numitele norme și conorme triunghiulare. Implementările de mai sus ale operațiunilor de intersecție și unire sunt cele mai frecvente cazuri de t-norm și t-conorm.

Pentru a descrie mulțimile fuzzy, sunt introduse conceptele de variabile fuzzy și lingvistice.

O variabilă fuzzy este descrisă de o mulțime (N,X,A), unde N este numele variabilei, X este o mulțime universală (domeniul raționamentului), A este o mulțime fuzzy pe X.
Valorile unei variabile lingvistice pot fi variabile fuzzy, adică variabila lingvistică este la mai mult nivel inalt decât o variabilă fuzzy. Fiecare variabilă lingvistică constă din:

  • titluri;
  • multimea valorilor sale, care se mai numeste si multimea de termeni de baza T. Elementele multimii de termeni de baza sunt denumirile variabilelor fuzzy;
  • set universal X;
  • regula sintactică G, conform căreia se generează termeni noi folosind cuvinte dintr-un limbaj natural sau formal;
  • regula semantică P, care atribuie fiecare valoare a unei variabile lingvistice unei submulțimi fuzzy a mulțimii X.

Să considerăm un astfel de concept neclar ca „Prețul acțiunilor”. Acesta este numele variabilei lingvistice. Să formăm un set de termeni de bază pentru acesta, care va consta din trei variabile neclare: „Scăzut”, „Moderat”, „Ridicat” și să setăm domeniul de aplicare al raționamentului în forma X= (unități). Ultimul lucru care rămâne de făcut este să construiți funcții de apartenență pentru fiecare termen lingvistic din setul de termeni de bază T.

Există peste o duzină de forme de curbă standard pentru specificarea funcțiilor de membru. Cele mai utilizate sunt: ​​funcțiile de apartenență triunghiulare, trapezoidale și gaussiene.

Funcția de apartenență triunghiulară este definită printr-un triplu de numere (a,b,c), iar valoarea sa în punctul x este calculată conform expresiei:

$$MF\,(x) = \,\begin(cases) \;1\,-\,\frac(b\,-\,x)(b\,-\,a),\,a\leq \,x\leq \,b &\ \\ 1\,-\,\frac(x\,-\,b)(c\,-\,b),\,b\leq \,x\leq \ ,c &\ \\ 0, \;x\,\nu \in\,(a;\,c)\ \end(cases)$$

Când (b-a)=(c-b) avem cazul unei funcții de membru triunghiular simetrice, care poate fi specificată în mod unic prin doi parametri din triplul (a,b,c).

În mod similar, pentru a specifica o funcție de apartenență trapezoidală, aveți nevoie de patru numere (a,b,c,d):

$$MF\,(x)\,=\, \begin(cases) \;1\,-\,\frac(b\,-\,x)(b\,-\,a),\,a \leq \,x\leq \,b & \\ 1,\,b\leq \,x\leq \,c & \\ 1\,-\,\frac(x\,-\,c)(d \,-\,c),\,c\leq \,x\leq \,d &\\ 0, x\,\nu \in\,(a;\,d) \ \end(cases)$$

Când (b-a)=(d-c) funcția de membru trapezoidală ia o formă simetrică.

Funcția de membru de tip Gaussian este descrisă de formula

$$MF\,(x) = \exp\biggl[ -\,(\Bigl(\frac(x\,-\,c)(\sigma)\Bigr))^2\biggr]$$

și funcționează cu doi parametri. Parametru c denotă centrul mulțimii fuzzy, iar parametrul este responsabil pentru panta funcției.

Colecția de funcții de membru pentru fiecare termen din setul de termeni de bază T este de obicei reprezentată împreună pe un singur grafic. Figura 3 prezintă un exemplu de variabilă lingvistică „Prețul acțiunii” descrisă mai sus. Figura 4 prezintă o formalizare a conceptului imprecis „Vârsta persoanei”. Astfel, pentru o persoană de 48 de ani, gradul de apartenență la setul „Tânăr” este 0, „Medie” – 0,47, „Peste medie” – 0,20.

Numărul de termeni dintr-o variabilă lingvistică depășește rar 7.

Inferență neclară

Baza pentru efectuarea operației de inferență logică fuzzy este o bază de reguli care conține declarații fuzzy sub forma „Dacă-atunci” și funcții de apartenență pentru termenii lingvistici corespunzători. În acest caz, trebuie îndeplinite următoarele condiții:

  1. Există cel puțin o regulă pentru fiecare termen lingvistic al variabilei de ieșire.
  2. Pentru orice termen al variabilei de intrare există cel puțin o regulă în care acest termen este folosit ca o condiție prealabilă ( partea stanga reguli).

În caz contrar, există o bază incompletă de reguli neclare.

Fie ca baza de reguli să aibă m reguli de forma:
R 1: DACĂ x 1 este A 11... ȘI... x n este A 1n, atunci y este B 1

R i: DACA x 1 este A i1 ... SI ... x n este A in , ATUNCI y este B i

R m: DACA x 1 este A i1 ... SI ... x n este A mn, ATUNCI y este B m,
unde x k, k=1..n – variabile de intrare; y – variabila de iesire; A ik – date seturi fuzzy cu funcții de membru.

Rezultatul inferenței neclare este o valoare clară a variabilei y * bazată pe valorile clare date x k , k=1..n.

În general, mecanismul de inferență include patru etape: introducerea neclarității (fazificarea), inferența neclară, compoziția și reducerea la claritate sau defuzzificarea (vezi Figura 5).

Algoritmii de inferență fuzzy diferă în principal prin tipul de reguli utilizate, operatii logiceși un tip de metodă de defasificare. Au fost dezvoltate modele de inferență fuzzy Mamdani, Sugeno, Larsen, Tsukamoto.

Să aruncăm o privire mai atentă asupra inferenței neclare folosind mecanismul Mamdani ca exemplu. Aceasta este cea mai comună metodă de inferență în sistemele fuzzy. Utilizează compoziția minimax de seturi fuzzy. Acest mecanism include următoarea secvență de acțiuni.

  1. Procedura de fazificare: se determină grade de adevăr, i.e. valorile funcțiilor de membru pentru partea stângă a fiecărei reguli (condiții preliminare). Pentru o bază de reguli cu m reguli, notăm gradele de adevăr ca A ik (x k), i=1..m, k=1..n.
  2. Ieșire neclară. În primul rând, sunt determinate nivelurile de limită pentru partea stângă a fiecărei reguli:

    $$alfa_i\,=\,\min_i \,(A_(ik)\,(x_k))$$

    $$B_i^*(y)= \min_i \,(alfa_i,\,B_i\,(y))$$

    Compoziția sau combinația funcțiilor trunchiate rezultate, pentru care se folosește compoziția maximă a mulțimilor fuzzy:

    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

    unde MF(y) este funcția de membru al mulțimii fuzzy finale.

    Defasificare, sau aducerea la claritate. Există mai multe metode de defuzzificare. De exemplu, metoda centrului mediu sau metoda centroidului:
    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

Sensul geometric al acestei valori este centrul de greutate pentru curba MF(y). Figura 6 prezintă grafic procesul de inferență fuzzy Mamdani pentru două variabile de intrare și două reguli fuzzy R1 și R2.

Integrarea cu paradigme inteligente

Hibridizarea metodelor de procesare intelectuală a informației este motto-ul sub care anii 90 au trecut printre cercetătorii occidentali și americani. Ca urmare a combinării mai multor tehnologii inteligenţă artificială a apărut un termen special - „soft computing”, care a fost introdus de L. Zadeh în 1994. În prezent, soft computing combină domenii precum: logica fuzzy, rețelele neuronale artificiale, raționamentul probabilistic și algoritmii evolutivi. Se completează reciproc și sunt folosite în diverse combinatii pentru a crea sisteme inteligente hibride.

Influența logicii fuzzy s-a dovedit a fi poate cea mai extinsă. Așa cum mulțimile fuzzy au extins domeniul de aplicare al teoriei matematice clasice a mulțimilor, logica fuzzy a „invadat” aproape majoritatea Metode de date Exploatare, oferindu-le noi funcționalități. Mai jos sunt cele mai multe exemple interesante astfel de asociații.

Rețele neuronale neclare

Rețelele neuronale fuzzy efectuează inferențe bazate pe logica fuzzy, dar parametrii funcțiilor de membru sunt ajustați folosind algoritmi de învățare NN. Prin urmare, pentru a selecta parametrii unor astfel de rețele, aplicăm metoda de retropropagare a erorii, propusă inițial pentru antrenarea unui perceptron multistrat. În acest scop, modulul de control fuzzy este reprezentat în formular rețea multistrat. O rețea neuronală neclară constă de obicei din patru straturi: un strat de fazificare a variabilelor de intrare, un strat de agregare a valorilor de activare a condițiilor, un strat de agregare a regulilor fuzzy și un strat de ieșire.

Cele mai utilizate arhitecturi de rețele neuronale fuzzy sunt ANFIS și TSK. S-a dovedit că astfel de rețele sunt aproximatori universali.

Algoritmi de învățare rapidă și interpretabilitatea cunoștințelor acumulate - acești factori au făcut ca rețelele neuronale neclare de astăzi una dintre cele mai promițătoare și instrumente eficiente soft computing.

Sisteme neclare adaptive

Sistemele clasice fuzzy au dezavantajul că pentru a formula reguli și funcții de membru este necesar să se implice experți ai unuia sau altuia domeniul subiectului, ceea ce nu este întotdeauna posibil de asigurat. Sistemele adaptive fuzzy rezolvă această problemă. În astfel de sisteme, selecția parametrilor sistemului fuzzy se realizează în procesul de instruire pe date experimentale. Algoritmii pentru antrenamentul sistemelor fuzzy adaptive sunt relativ intensi și complexi în comparație cu algoritmii pentru antrenarea rețelelor neuronale și, de regulă, constau în două etape: 1. Generarea regulilor lingvistice; 2. Corectarea funcțiilor de membru. Prima problemă este o problemă de tip de căutare exhaustivă, a doua este o problemă de optimizare în spații continue. În acest caz, apare o anumită contradicție: pentru a genera reguli fuzzy, sunt necesare funcții de membru, iar pentru a efectua inferențe fuzzy sunt necesare reguli. În plus, atunci când se generează automat reguli neclare, este necesar să se asigure completitatea și consistența acestora.

O parte semnificativă a metodelor de predare a sistemelor fuzzy folosește algoritmi genetici. În literatura de limbă engleză, acesta corespunde unui termen special – Genetic Fuzzy Systems.

O contribuție semnificativă la dezvoltarea teoriei și practicii sistemelor fuzzy cu adaptare evolutivă a fost adusă de un grup de cercetători spanioli conduși de F. Herrera.

Interogări neclare

Interogările neclare către bazele de date sunt o direcție promițătoare în sisteme moderne procesarea informatiei. Acest instrument face posibilă formularea de interogări în limbaj natural, de exemplu: „Afișați o listă de oferte de locuințe ieftine în apropierea centrului orașului”, ceea ce este imposibil când utilizați mecanismul standard de interogare. În acest scop, un fuzzy algebră relaționalăși extensii speciale de limbaj SQL pentru interogări neclare. Majoritatea cercetărilor din acest domeniu aparțin oamenilor de știință din Europa de Vest D. Dubois și G. Prade.

Reguli de asociere neclare

Fuzzy regulile de asociere(reguli asociative fuzzy) – un instrument pentru extragerea tiparelor din baze de date care sunt formulate sub formă de enunțuri lingvistice. Aici sunt introduse concepte speciale de tranzacție fuzzy, suport și fiabilitatea unei reguli de asociere neclară.

Hărți cognitive neclare

Hărțile cognitive fuzzy au fost propuse de B. Kosko în 1986 și sunt folosite pentru a modela relațiile cauzale identificate între conceptele unei anumite zone. Spre deosebire de hărțile cognitive simple, hărțile cognitive fuzzy sunt un grafic direcționat fuzzy ale cărui noduri sunt seturi fuzzy. Marginile direcționate ale graficului nu reflectă doar relațiile cauză-efect dintre concepte, dar determină și gradul de influență (ponderea) conceptelor conectate. Utilizare activă hărțile cognitive neclare ca mijloc de modelare a sistemelor se datorează posibilității reprezentare vizuala sistemul analizat și ușurința de interpretare a relațiilor cauză-efect dintre concepte. Principalele probleme sunt legate de procesul de construire a unei hărți cognitive, care nu poate fi formalizată. În plus, este necesar să se demonstreze că harta cognitivă construită este adecvată sistemului real care se modelează. Pentru a rezolva aceste probleme, au fost dezvoltați algoritmi pentru construirea automată a hărților cognitive pe baza eșantionării datelor.

Clustering neclar

Metodele de grupare fuzzy, spre deosebire de metodele clare (de exemplu, rețelele neuronale Kohonen), permit aceluiași obiect să aparțină mai multor clustere simultan, dar cu grade diferite. Gruparea neclară în multe situații este mai „naturală” decât gruparea clară, de exemplu, pentru obiectele situate la granița clusterelor. Cele mai comune sunt algoritmul de autoorganizare fuzzy c-means și generalizarea acestuia sub forma algoritmului Gustafson-Kessel.

Literatură

  • Zadeh L. Conceptul de variabilă lingvistică și aplicarea acesteia la aproximarea luării deciziilor. – M.: Mir, 1976.
  • Kruglov V.V., Dli M.I. Sisteme informatice inteligente: suport computer pentru logica fuzzy și sistemele de inferență fuzzy. – M.: Fizmatlit, 2002.
  • Leolenkov A.V. Modelare fuzzy în MATLAB și fuzzyTECH. – Sankt Petersburg, 2003.
  • Rutkowska D., Pilinski M., Rutkowski L. Rețele neuronale, algoritmi genetici și sisteme fuzzy. – M., 2004.
  • Masalovich A. Logica neclară în afaceri și finanțe. www.tora-centre.ru/library/fuzzy/fuzzy-.htm
  • Kosko B. Sisteme fuzzy ca aproximatori universali // IEEE Transactions on Computers, vol. 43, nr. 11, noiembrie 1994. – P. 1329-1333.
  • Cordon O., Herrera F., A General study on genetic fuzzy systems // Genetic Algorithms in engineering and computer science, 1995. – P. 33-57.