Logica fuzzy - fundamente matematice. seturi neclare

Logica fuzzy (FL) implică operația de inferență fuzzy, a cărei bază este baza de reguli, precum și funcția de apartenență a termenilor lingvistici. Rezultatul este o valoare clară pentru variabilă.

Inferența logică fuzzy este aproximarea dependenței folosind o bază de cunoștințe neclară și operații pe mulțimi fuzzy.

Pentru a efectua inferențe logice neclare, sunt necesare următoarele condiții:

Trebuie să existe cel puțin o regulă pentru fiecare termen lingvistic al variabilei de ieșire;

Pentru orice termen dintr-o variabilă de intrare, trebuie să existe cel puțin o regulă care folosește acel termen ca o condiție prealabilă;

Nu ar trebui să existe contradicții și corelații între reguli.

Figura 1.7. arată secvența acțiunilor atunci când se utilizează procesul de inferență fuzzy.

Figura 1.7 - Secvența acțiunilor la utilizare

proces de inferență neclar

Inferența fuzzy este esențială pentru logica fuzzy și sistemele de control fuzzy. Acest proces este o procedură sau algoritm pentru obținerea de concluzii neclare bazate pe condiții sau ipoteze neclare.

Sistemele de inferență fuzzy sunt un caz special de sisteme fuzzy de producție în care condițiile și concluziile regulilor individuale sunt formulate sub formă de afirmații fuzzy cu privire la valorile anumitor variabile lingvistice.

Dezvoltarea și aplicarea sistemelor de inferență fuzzy includ mai multe etape, a căror implementare se realizează folosind prevederile de bază considerate anterior ale seturilor fuzzy.

Variabilele de intrare care vin la intrarea sistemului de inferență fuzzy sunt informații care sunt măsurate într-un fel. Aceste variabile sunt variabilele reale ale procesului de control. Variabilele de control ale sistemului de control sunt formate la ieșirea sistemului de inferență fuzzy.

Astfel, sistemele de inferență fuzzy sunt concepute pentru a converti valorile variabilelor de intrare ale procesului de control în variabile de ieșire pe baza utilizării regulilor de producție fuzzy. Cea mai simplă opțiune regula de producție fuzzy, care este cel mai des folosită în sistemele de inferență fuzzy, este scrisă sub forma:

REGULĂ<#>: DACĂ „β 1 este α 1”, atunci „β 2 este α 2”

Aici, propoziția fuzzy „β 1 este α 1 ” este condiția acestei reguli de producție fuzzy, iar propoziția fuzzy „β 2 este α 2 ” este concluzia fuzzy a acestei reguli, care sunt formulate în termeni de enunțuri lingvistice fuzzy. Se presupune că β 1 ≠ β 2 .

Principalele etape ale inferenței neclare și caracteristicile fiecăreia dintre ele sunt discutate mai detaliat mai jos:

1) Formarea bazei de reguli. Baza de reguli a sistemelor de inferență fuzzy este concepută pentru a reprezenta în mod formal cunoștințele empirice sau cunoștințele de specialitate într-o anumită zonă problematică și este un set de reguli pentru producțiile fuzzy de forma: REGULA_1: DACĂ „Condiție_1”, ATUNCI „Concluzie_1” (F 1)

REGULA_2: DACĂ „Condiție_2”, ATUNCI „Concluzie_2” (F 2)

REGULA_n: DACĂ „Condiție_n”, ATUNCI „Concluzie_n” (F n)

Aici F i (i aparține (1, 2, …, n)) sunt coeficienții de certitudine sau coeficienții de greutate ai regulilor corespunzătoare, care pot lua valori din intervalul . Dacă nu se specifică altfel, atunci F i =1.

Astfel, baza de reguli este considerată dată dacă pentru aceasta sunt definite un set de reguli de producție neclare, un set de variabile lingvistice de intrare și un set de variabile lingvistice de ieșire.

2) Fuzzificarea (introducerea neclarității) este un proces și o procedură pentru găsirea valorilor funcțiilor de apartenență ale seturilor (termenilor) fuzzy pe baza datelor de intrare obișnuite (clare). După finalizarea acestei etape, pentru toate variabilele de intrare, trebuie determinate valorile specifice ale funcțiilor de membru pentru fiecare dintre termenii lingvistici, care sunt utilizați în subcondițiile bazei de reguli a sistemului de inferență fuzzy.

3) Agregarea este o procedură de determinare a gradului de adevăr al condițiilor pentru fiecare dintre regulile sistemului de inferență fuzzy. Dacă condiţia de regulă are formă simplă, atunci gradul de adevăr al acestuia este egal cu valoarea corespunzătoare a variabilei de intrare aparținând termenului folosit în această condiție. În cazul în care condiția constă din mai multe subcondiții de forma:

REGULĂ<#>: DACĂ „β 1 este α 1 ” ȘI „β 2 este α 2”, atunci „β 3 este ν”, sau

REGULĂ<#>: DACĂ „β 1 este α 1” SAU „β 2 este α 2”, atunci „β 3 este ν”,

atunci gradul de adevăr al enunțului complex este determinat pe baza valorilor de adevăr cunoscute ale subcondițiilor. În acest caz, formulele corespunzătoare sunt utilizate pentru a efectua conjuncția fuzzy și disjuncția fuzzy:

§ Conjuncție logică neclară (ȘI)

§ Disjuncție logică neclară (OR)

4) Activarea este procesul de găsire a gradului de adevăr al fiecăreia dintre subconcluziile regulilor de producție fuzzy. Înainte de această etapă, se presupune că gradul de adevăr și coeficientul de pondere sunt cunoscute ( F i) pentru fiecare regulă. În continuare, se ia în considerare fiecare dintre concluziile regulilor sistemului de inferență fuzzy. Dacă concluzia regulii este o afirmație neclară, atunci gradul de adevăr al acesteia este egal cu produsul algebric al gradului de adevăr corespunzător al condiției și coeficientul de pondere.

Când concluzia constă din mai multe sub-concluzii de forma:

REGULĂ<#>: DACĂ „β 1 este α 1 ” ATUNCI „β 2 este α 2 ” ȘI „β 3 este ν”, sau

REGULĂ<#>: DACĂ „β 1 este α 1 ” ATUNCI „β 2 este α 2” SAU „β 3 este ν”,

atunci gradul de adevăr al fiecăreia dintre subconcluzii este egal cu produsul algebric al valorii corespunzătoare a gradului de adevăr al condiției prin coeficientul de pondere.

După găsirea setului С i =(c 1 , c 2 , … , c n ) gradele de adevăr ale fiecăreia dintre subconcluzii sunt determinate de funcţiile de apartenenţă ale fiecăreia dintre ele pentru variabilele lingvistice de ieşire considerate. Pentru a face acest lucru, utilizați una dintre următoarele metode:

Activare minimă: μ'(y)=min(Ci, μ(y));

Activare produs: μ'(y)=C i *μ(y);

Medie-activare: μ'(y)=0,5*(C i +μ(y)),

Unde μ'(y) este funcția de apartenență a unui termen care este valoarea unei variabile de ieșire y j, dat despre univers Y.

5) Acumularea este procesul de găsire a funcției de membru pentru fiecare dintre variabilele lingvistice de ieșire. Scopul acumulării este de a combina toate gradele de adevăr ale concluziilor (sub-concluzii) pentru a obține o funcție de apartenență pentru fiecare dintre variabilele de ieșire. Motivul pentru acest pas este că subconcluziile care se referă la aceeași variabilă lingvistică de ieșire îi aparțin reguli diferite sisteme de inferență neclare. Unirea seturilor fuzzy C i produs folosind formula:

,

unde este valoarea modală (modul) a setului fuzzy corespunzătoare variabilei de ieșire după acumulare, calculată prin formula:

6) Defuzzificarea (reducerea la claritate) este o procedură pentru găsirea valorii obișnuite (clare) pentru fiecare dintre variabilele lingvistice de ieșire. Scopul este de a utiliza rezultatele acumulării tuturor variabilelor lingvistice de ieșire pentru a obține valoarea cantitativă obișnuită a fiecăreia dintre variabilele de ieșire, care poate fi utilizată dispozitive speciale, extern sistemului de inferență fuzzy. Pentru a efectua calcule numerice în etapa finală, pot fi utilizate următoarele metode de defuzzificare (Figura 1.8):

Centroid - centru de greutate; Bisectoare - mediană; SOM (Smallest Of Maximums) - cel mai mic dintre maxime;

LOM (Largest Of Maximums) - cel mai mare dintre maxime; MOM (Mean Of Maximums) - centrul maximelor.

Figura 1.8 - Principalele metode de defuzzificare

1. Metoda centrului de greutate este considerată una dintre cele mai simple din punct de vedere al complexității de calcul, dar destul de precisă. Calculul se face dupa formula:

unde este rezultatul defuzificării (valoarea exactă a variabilei de ieșire); – limitele intervalului purtătorului mulţimii fuzzy a variabilei de ieşire; - funcţia de apartenenţă a mulţimii fuzzy corespunzătoare variabilei de ieşire după etapa de acumulare.

Pentru opțiunea discretă:

Unde numărul de elemente din zonă pentru a calcula „centrul de greutate”.

2. Metoda centrului zonei:

unde este rezultatul defuzificării (valoarea exactă a variabilei de ieșire); MinȘi Max- punctul stâng și drept al purtătorului mulțimii fuzzy a variabilei de ieșire; - funcţia de apartenenţă a mulţimii fuzzy corespunzătoare variabilei de ieşire după etapa de acumulare.

Structura tipică a procesului de inferență fuzzy este prezentată în fig. 17.

Orez, 17

În primul rând, ar trebui să se formeze o bază de reguli, care este un set finit de reguli pentru producțiile neclare. Formarea bazei de reguli include definirea variabilelor lingvistice de intrare și de ieșire, precum și regulile în sine. Variabilele lingvistice de intrare sunt variabilele lingvistice utilizate în subcondițiile regulilor. Variabilele de ieșire sunt variabile utilizate în subconcluziile regulilor. Definiția variabilelor lingvistice înseamnă definirea setului de termeni de bază de variabile și a funcțiilor de apartenență a seturilor de termeni. Regulile sunt formate așa cum s-a discutat în Secțiunea 2.4. Fiecărei reguli i se poate atribui o pondere care ia o valoare din interval. Dacă nu există greutate, putem presupune că greutatea este zero.

Intrarea sistemului de inferență fuzzy este un vector x* =[*,*,*2, »?**, ] de valori clare ale variabilelor lingvistice e. Blocul de fuzzificare (am. fuzzification - reducere la fuzziness) calculează gradul de apartenență a acestor valori la seturi fuzzy de valori lingvistice.variabile. Pentru a face acest lucru, trebuie cunoscute funcțiile fiecărui termen al variabilei lingvistice.

Fuzzificarea se face în felul următor. Fie cunoscută pentru fiecare variabilă lingvistică de intrare q valoarea sa numerică X*. Se ia în considerare fiecare enunț de subcondiții, în care variabila g apare, de exemplu, „p. Există de unde os (-termen cu funcție de membru cunoscută [lah). Sens X* este folosit ca argument //(l), rezultând = q(x*). În acest caz, pot fi utilizați modificatori. Astfel, se calculează valorile de adevăr ale tuturor subcondițiilor sistemului de inferență fuzzy. Declarațiile din subcondiții sunt înlocuite cu numere. La ieșirea blocului de fuzzificare se formează un vector m =, care este intrarea blocului de ieșire.

Blocul de inferență fuzzy primește la intrare vectorul gradului de adevăr al tuturor subcondițiilor Tși calculează funcția de membru rezultată a valorii de ieșire (un sistem de ieșire poate avea mai multe ieșiri, atunci vorbim despre vectorul de ieșire). Calculul funcției de membru rezultat include următoarele proceduri (în paranteze sunt numele procedurilor în conformitate cu standardul internațional pentru limbaje de programare pentru controlere IEC 1131 - Controlere programabile. Partea 7 - Programare Fuzzy Control):

  • - calculul gradului de adevăr al condiţiilor (Aggregation - aggregation);
  • - determinarea funcţiilor de membru activate ale concluziilor (Activftion - activation);
  • - determinarea funcţiilor de apartenenţă rezultate ale variabilelor lingvistice de ieşire (Acumulare - acumulare).

În procedura de calcul a gradului de adevăr al condițiilor pentru fiecare dintre regulile sistemului de inferență fuzzy (agregare), se ia în considerare fiecare condiție a regulilor sistemului de inferență fuzzy și se calculează gradul de adevăr al condițiilor. Datele inițiale sunt gradul de adevăr al subcondițiilor (vector T) calculată în blocul de fuzzificare. Dacă condiția conține o declarație neclară de formă, atunci gradul de adevăr al condiției este egal cu gradul de adevăr al enunțului condiției. Dacă o condiție constă din două subcondiții legate prin conjuncție sau disjuncție, gradul de îndeplinire a condiției se calculează folosind norme triunghiulare (Secțiunea 1.5). De exemplu, pentru condiția regulii IF „(3, Există a, „și” R2 au 2" noi obținem

XȘi x 2 - valorile variabilelor de intrare n; și x 2,

T este unul dintre operatorii de normă t, / și a(x) și M a,(*) - funcțiile de membru ale termenilor ", și a 2 .

În mod similar, pentru condiția regulii:

Unde S- unul dintre operatorii s-norm. Dacă o condiție conține un set de subcondiții legate prin disjuncții și conjuncții, atunci se calculează mai întâi gradele de adevăr ale subcondițiilor legate prin conjuncții, apoi prin disjuncții. Ca de obicei, parantezele rupe ordinea. Este recomandat să folosiți reguli consistente pentru calcularea adevărului. De exemplu, dacă operația de intersecție min este utilizată pentru a calcula conjuncția fuzzy, atunci operația max-union ar trebui utilizată pentru a calcula disjuncția fuzzy.

Procedura de determinare a funcțiilor de apartenență activate ale concluziilor (activare) se bazează pe operația de implicare fuzzy (Secțiunea 2.1). Datele de intrare pentru procedură sunt gradele de adevăr ale condițiilor regulilor și funcțiile de membru ale valorilor de ieșire, datele de ieșire sunt funcțiile de apartenență ale tuturor subconcluziilor. Să luăm în considerare un exemplu. Fie regula de forma DACA (x = A) ATUNCI (y = ÎN), funcții de membru c A(x) și MV(y) - triunghiular (Fig. 18), valoare de intrare X*\u003d 6,5, gradul de adevăr al condiției /i, f (x *) \u003d 0,5 (a se vedea Fig. 18).


Orez. 18 -

Folosim implicația Mamdaiya:

Funcția de apartenență activă practic a concluziei atunci când se folosește implicația Mamdani se găsește prin simpla trunchiere a funcției de apartenență a concluziei. Мv(y) D° gradul de adevăr al condiției [l A(x*) (Fig. 18). Pot fi utilizați și alți operatori de implicare fuzzy.

De exemplu, rezultatul activării concluziei folosind regula „produs” este prezentat în Fig. 19.


Orez. 19

În practică, mai ales când există mai multe concluzii în reguli, este convenabil să se utilizeze procedura de activare bazată pe algoritmul de inferență Mamdani (algoritmul va fi discutat în Secțiunea 2.6). În acest algoritm, pentru fiecare regulă, va fi dat un factor de ponderare /^e. Pot fi F/= 1, o astfel de valoare este luată dacă factorul de ponderare nu este specificat în mod explicit. Pentru subconcluzii individuale ale aceleiași reguli, pot fi specificați diferiți coeficienți de ponderare. Gradul de adevăr al tuturor subconcluziilor regulii /-a se calculează prin formula

Funcția de membru activată j- A-a subconcluzie a regulii /-a este calculată prin una dintre formulele bazate pe metoda compoziției fuzzy:

activare minimă /J*(d>) = min ( cu p(j");

prod-activation //* (y) = CT// (y).

Algoritmul considerat este deosebit de convenabil atunci când regulile conțin mai multe subconcluzii ale formei.

Întrucât subconcluziile se refereau la aceeași variabilă lingvistică de ieșire, în vedere generala aparține reguli diferite, atunci este necesar să se construiască o singură funcție de membru rezultată pentru fiecare variabilă de ieșire. Această procedură se numește acumulare. Acumularea se realizează prin combinarea, folosind una dintre normele s, a funcțiilor de apartenență activate ale fiecărei variabile lingvistice de ieșire. Ca urmare, pentru fiecare variabilă de ieșire se obține o funcție de apartenență, eventual de o formă foarte complexă.

Defuzzificare (reducere la paritate) - găsirea pentru fiecare variabilă lingvistică de ieșire a unei valori clare într-un anumit sens în cel mai bun mod, reprezentând o variabilă fuzzy. Necesitatea defuzificării se explică prin faptul că, de regulă, sunt necesare valori clare la ieșirea sistemului de inferență fuzzy, care sunt alimentate, de exemplu, la actuator. Deoarece există criterii diferite pentru reprezentarea unei variabile de tip tap-dance printr-un singur număr, există diverse metode defuzificare. Ca rezultat al determinării funcțiilor de apartenență rezultate ale variabilelor lingvistice de ieșire, se obțin funcțiile de apartenență rezultate. №res(y)- Pentru o funcție de apartenență unimodală, cea mai simplă metodă de defuzzificare este alegerea unui număr clar corespunzător gradului maxim de apartenență. O generalizare a acestei metode la funcțiile multimodale sunt metodele valorilor modale stânga și dreapta.

În metoda valorii modale din stânga (LM - Lost Most Maximum), numită și metoda primului maxim (FM - FirstofMaxima), sau cea mai mică dintre maxime (SOM - Smallest Of Maximums), se ia o valoare clară la= min (X t), unde x t - valoarea modală a funcției de membru rezultată. Cu alte cuvinte, modul cel mai mic (cel mai din stânga) este luat ca variabilă de ieșire clară.

În metoda valorii modale potrivite (RM - RightMostMaximum), numită și ultima metodă maximă (LM - LastofMaxima), sau metoda maximă cea mai mare (LOM - Largest Of Maximums), se ia o valoare clară la\u003d max (x / u |, adică cel mai mare (cel mai din dreapta) dintre moduri. Exemple de defuzificare folosind valorile modale din stânga și din dreapta sunt prezentate în Fig. 20a și 206.

În metoda maximului mediu (MM - MidleofMaxima), sau metoda centrului maximelor (MOM - MeanOfMaximums), se găsește media aritmetică a elementelor mulțimii universale cu gradul maxim de apartenență.

Unde G- mulţimea tuturor elementelor din interval care au gradul maxim de apartenenţă la mulţimea fuzzy. Un exemplu de defuzificare folosind metoda medie maximă este prezentat în fig. Secolului 20

Defuzificarea prin metoda centrului de greutate (CG - Center of Gravity, Centroid) se realizează conform formulei de determinare a centrului de greutate al unei figuri plate, limitată de axele de coordonate și graficul funcției de apartenență a mulțimii fuzzy.

Unde MinȘi max sunt punctele stânga și dreapta ale intervalului purtătorului variabilei de ieșire.

Un exemplu de defuzificare folosind metoda centrului de greutate este prezentat în fig. Secolului 20


Orez. 20 - Exemple de defuzificare a) rezultatul defuzificării prin valoarea modală stângă a lui y =y 1 ;

  • b) rezultatul defuzificării prin metoda valorii modale corecte la = la 2;
  • c) rezultatul defuzificării prin metoda maximă medie;
  • d) rezultatul defuzificării prin metoda centrului de greutate. Defuzzificarea prin metoda centrului zonei (CA - Centrul de

Area, Bisectoare de Arie, Bisectoare) este să găsiți un astfel de număr

>’ max

la y, Ce J//(x)dx= J//(x)dx. Sensul geometric al metodei

constă în găsirea unui astfel de punct pe axa x încât perpendiculara restabilită în acest punct să împartă aria de sub curba funcției de membru în două părți egale.

Pe tema:

„Inferență neclară”

Scopul lucrării: să stăpânească procedura de formare a variabilelor lingvistice și implementarea inferenței logice fuzzy.

1. Informații teoretice

1.1. Secvență de execuție a inferenței neclare

Mecanismul de inferență fuzzy utilizat în diferite tipuri de sisteme expert și de control are practic o bază de cunoștințe formată din experți în domeniu sub forma unui set de reguli fuzzy de următorul tip:

P1: dacă X Există A 1, atunci y Există B 1;

P2: dacă X Există A 2, atunci y Există B 2;

P n: Dacă X Există Un, Acea y Există bn,

Unde X– variabilă lingvistică de intrare (nume pentru valorile date cunoscute); y– variabilă lingvistică de ieșire (nume pentru valoarea datelor de calculat); AI, Bi sunt funcții de membru (subseturi fuzzy) definite respectiv pe XȘi y; « X Există A" este o afirmație neclară numită premisă reguli; " y este B" - n declarație clară numită concluzie reguli.

Un exemplu de astfel de regulă:

Dacă Preț înalt, Acea cerere mic de statura.

Aici Preț– variabila de intrare X; cerere- valoarea de ieşire y; înalt, mic de statura– funcții de membru (subseturi fuzzy) definite pe seturi de valori preturiȘi cerere respectiv.

În sistemele de control neclare, toate regulile funcționează simultan, dar gradul de influență a acestora asupra rezultatului este diferit. Prin urmare, baza funcționării sistemelor de control fuzzy este calculul unui rezultat generalizat care ia în considerare influența tuturor regulilor.


Procesul de procesare a regulilor de inferență neclare în sistemele de control constă în patru etape:

1. Introducerea neclarității(fasificare). Funcțiile de apartenență definite pe variabilele de intrare sunt aplicate la valorile lor reale pentru a determina gradul de adevăr al premisei fiecărei reguli.

2. Concluzie neclară. Valoarea de adevăr calculată pentru premisele fiecărei reguli se aplică concluziilor regulilor. Aceasta oferă un subset neclar pentru variabila de ieșire a fiecărei reguli. Operațiile sunt folosite ca reguli de inferență min(MINIM) sau produs(MUNCĂ). În inferența logică MINIMĂ, funcția de apartenență a încheierii regulii este „tăiată” de înălțimea corespunzătoare gradului de adevăr calculat al premisei regulii (vezi Fig. 1). În concluzia logică a PRODUSULUI, gradul de adevăr al premisei regulii este utilizat ca un coeficient prin care se înmulțesc valorile funcției de apartenență a încheierii regulii (vezi Fig. 2).

3. Compoziţie. Toate submulțile neclare definite pentru fiecare variabilă de ieșire (în toate regulile) sunt combinate împreună pentru a forma un submulțime neclară pentru fiecare variabilă de ieșire. Acest sindicat folosește operațiunea max(MAXIM) sau sumă(SUMĂ). Când se compune MAXIMUM, funcțiile de membru ale submulților fuzzy sunt combinate conform formulei (interpretarea grafică este prezentată în Fig. 3):

https://pandia.ru/text/80/195/images/image003_177.gif" width="71" height="23">

Fig.4. Compoziție SUMMA.

4. Rafinament sau scalarizare(defuzificarea) rezultatului compoziției, adică trecerea de la o submulțime neclară la valori scalare.

Scalarizarea se face căi diferite. Definiția cea mai des folosită este „centrul de greutate” H funcțiile de membru ale unei submulțimi fuzzy conform formulei (vezi Fig. 5):

https://pandia.ru/text/80/195/images/image012_79.gif" width="232" height="60">.

Orez. 5. Scalarizarea prin metoda „centrului de greutate”.

O altă modalitate de scalarizare este utilizarea valorii maxime a funcției de membru (vezi Fig. 6). În acest caz, sunt utilizate trei tipuri de luare a maximului: cel mai mare dintre maxime ( LOM), cea mai mică dintre maxime ( SOM) și centrul maximelor ( MAMA).

Orez. 6. Scalarizarea prin metoda „maximum”.

Exemplu. Să fie descris un sistem prin următoarele reguli neclare:

P1: dacă X Există A, Acea w Există D,

P2: dacă y Există B, Acea w Există E,

P3: dacă z Există C, Acea w Există F,

Unde X, yȘi z– numele variabilelor de intrare, w– numele variabilei de ieșire, A, B, C, D, E, F li se acordă funcții de membru.

Procedura de inferență neclară este ilustrată în Fig. 7.

Se presupune că variabilele de intrare au luat niște valori specifice (clare) − X 0, y 0 și z 0.

În conformitate cu etapele de mai sus de procesare a regulilor de inferență neclare, la etapa 1 pentru aceste valori și pe baza funcțiilor de membru A, B, C, se determină grade de adevăr pentru cerințele prealabile ale fiecăreia dintre cele trei reguli de mai sus (vezi Fig. 7).

La etapa a 2-a, funcțiile de membru ale concluziilor regulilor sunt „decupate” (adică, D, E, F) la niveluri .


La etapa 3, funcțiile de membru trunchiate la a doua etapă sunt luate în considerare și sunt combinate folosind operația max, rezultând un submulțime fuzzy combinată descrisă de funcția de membru și corespunzătoare concluziei logice pentru variabila de ieșire w.

https://pandia.ru/text/80/195/images/image015_71.gif" width="53" height="27">: .

Orez. 7. Ilustrație pentru procedura de inferență neclară.

1.2. Algoritmi de inferență fuzzy

Să luăm în considerare cele mai frecvent utilizate modificări ale algoritmului de inferență fuzzy, presupunând, pentru simplitate, că baza de cunoștințe include două reguli fuzzy de forma:

P1: dacă X Există A 1 și y Există B 1 atunci z Există C 1,

P2: dacă X Există A 2 și y Există B 2 atunci z Există C 2,

Unde X, y– numele variabilelor de intrare; z– numele variabilei de ieșire; A 1, A 2, B 1, B 2, C 1, C 2 sunt câteva funcții de membru date.

Este necesar să se definească un sens clar z 0 pe baza regulilor de inferență specificate și a valorilor clare X 0, y 0.

1.2.1. algoritmul Mamdani

Acest algoritm corespunde exemplului considerat și Fig. 7. Din punct de vedere matematic, poate fi descris astfel.

1. Neclaritate: grade de adevăr sunt determinate pentru premisele fiecărei reguli: A 1(X 0), A 2(X 0), B 1(y 0), B 2(y 0).

2. Inferență neclară: nivelurile „limită” sunt determinate pentru cerințele prealabile ale fiecărei reguli folosind operația MINIM:

https://pandia.ru/text/80/195/images/image019_59.gif" width="162" height="25">,

unde „” denotă operația de luare a minimului (min), apoi funcțiile de membru „trunchiate” sunt calculate

https://pandia.ru/text/80/195/images/image022_54.gif" width="145" height="28">.

3. Compozitie: folosind operatia MAXIMUM ( max, denumită în continuare ""), funcțiile trunchiate găsite sunt combinate, ca urmare, submulțimea finală fuzzy pentru variabila de ieșire cu funcția de membru este determinată:

4. Rafinament: a găsi z 0 se calculează centrul de greutate.

1.2.2. Algoritmul Tsukamoto

Premisele inițiale sunt aceleași ca pentru algoritmul anterior, dar în acest caz se presupune că funcțiile C 1(z) Și C 2(z) sunt monotoni. Algoritmul include următorii pași:

1. Prima etapă este aceeași ca și în algoritmul Mamdani.

2. La a doua etapă, mai întâi (ca și în algoritmul Mamdani) nivelurile de „cut-off” și , apoi ca urmare a rezolvării ecuațiilor

https://pandia.ru/text/80/195/images/image030_35.gif" width="126" height="52 src=">

Când n seturi fuzzy, se folosește următoarea formulă:

.

Exemplu. Să avem , , https://pandia.ru/text/80/195/images/image035_34.gif" width="96" height="25 src=">.

Gradele de adevăr ale cerințelor prealabile ale regulilor sunt definite după cum urmează:

https://pandia.ru/text/80/195/images/image037_31.gif" width="340" height="25 src=">

și valori și https://pandia.ru/text/80/195/images/image040_32.gif" width="91" height="25 src=">, .

În același timp, valoarea clară a variabilei de ieșire (vezi Fig. 8)


Fig.8. Ilustrație pentru algoritmul Tsukamoto.

1.2.3. Algoritmul Sugeno

Algoritmul Sugeno utilizează un set de reguli fuzzy de următoarea formă:

P1: dacă X Există A 1 și y Există B 1 atunci ,

P2: dacă X Există A 2 și y Există B 2 atunci .

Algoritmul include următorii pași.

1. Primul pas este același ca în algoritmul Mamdani.

2..gif" width="162" height="25 src="> și ieșiri ale regulilor individuale:

https://pandia.ru/text/80/195/images/image048_26.gif" width="120" height="27 src=">.

3. La al treilea pas, o valoare clară a variabilei de ieșire este determinată de formula:

https://pandia.ru/text/80/195/images/image027_43.gif" width="21" height="25">:

https://pandia.ru/text/80/195/images/image019_59.gif" width="162" height="25">,

și apoi subseturi fuzzy https://pandia.ru/text/80/195/images/image051_24.gif" width="64" height="25 src=">.

3..gif" width="205 height=47" height="47">.

4. Rafinarea se realizează folosind metoda centrului de greutate.

Algoritmul lui Larsen este ilustrat în Fig. 9.


Orez. 9. Ilustrarea algoritmului lui Larsen.

1.2.5. Exemplu de inferență neclară

Luați în considerare un exemplu de procesare a regulilor de inferență neclare folosind algoritmul Larsen într-un sistem care controlează un ventilator de aer condiționat din cameră.

Sarcina aparatului de aer condiționat este să mențină temperatura optimă a aerului din încăpere, răcindu-l când este cald și încălzindu-l când este rece. Lăsați, prin modificarea vitezei de rotație a ventilatorului care conduce aerul prin elementul de răcire, este posibilă modificarea temperaturii aerului din cameră, apoi algoritmul aparatului de aer condiționat poate fi setat după următoarele reguli:

1. Dacă temperatura camerei este ridicată, viteza ventilatorului este mare.

2. Dacă temperatura aerului din cameră este medie, atunci viteza ventilatorului este medie.

3. Dacă temperatura camerei este scăzută, viteza ventilatorului este scăzută.

Pentru ca sistemul să proceseze aceste reguli, este necesar să se stabilească funcții de membru pentru subseturile neclare care determină valoarea temperaturii t si viteza ventilatorului v. Lăsați temperatura aerului din cameră să fie între 0 și 60°C. Funcție de apartenență pentru un subset neclar scăzut, determinat pe intervalul de schimbare a temperaturii, poate fi setat, de exemplu, după cum urmează (vezi Fig. 10). Dacă temperatura este sub 12 ° C, atunci asta este cu siguranță temperatura scazuta pentru camera ( ). Temperaturile peste 20°C nu pot fi numite scăzute ( ). În intervalul de la 12 la 20 ° C, funcția de membru scade liniar, adică, odată cu creșterea temperaturii, adevărul afirmației „temperatura aerului din cameră este scăzută” scade..gif" width="249" height=" 116">

Orez. 10. Subset fuzzy „low”, definit pe setul de valori ale temperaturii.

Raționament similar ne permite să definim funcții de apartenență pentru subseturile rămase: in medieȘi înalt(vezi Fig. 11, 12).

Orez. 11. Subset fuzzy „medie”, definită pe un set de valori ale temperaturii

Fig.12. Subset fuzzy „high”, definit pe un set de valori ale temperaturii

Definim subseturi fuzzy pentru viteza ventilatorului. Lăsați-l să varieze de la 0 la 1000 rpm. Este posibilă următoarea variantă de definire a funcțiilor de membru pentru submulțimi fuzzy scăzut, in medieȘi înalt(vezi fig. 13, 14, 15):

Orez. 13. Subset fuzzy „low”, definit pe platou

valorile vitezei ventilatorului

= 28°C

2. Sarcina pentru munca de laborator

1. Elaborați o prezentare a variabilelor lingvistice în funcție de opțiunea indicată de profesor. Reprezentarea variabilelor lingvistice trebuie să fie realistă și să satisfacă regulile de construire a termenilor variabilelor lingvistice.

2. Formulați reguli de inferență neclare folosind aceste variabile.

3. Efectuați inferențe neclare pentru două valori variabile selectate utilizând algoritmii Mamdani și Larsen în mediul software MathCad.

4. Comparați rezultatele.

5. Emite un raport asupra lucrării.

3. Variante de sarcini pentru munca de laborator

1. Amplasarea apartamentului (față de centrul orașului), Costul apartamentului.

2. Durata băncii, Fiabilitatea băncii.

3. Venitul clientului, încrederea clientului.

4. Dimensiunea apartamentului, costul apartamentului.

5. Capitalul companiei, Fiabilitatea companiei.

6. Vârsta persoanei, Probabilitatea de a obține un loc de muncă.

7. Perioada de valabilitate a produsului, Volumul achiziționării acestuia.

8. Prețul mașinii, volumul vânzărilor.

9. Calitatea produsului, volumul vânzărilor.

10. Calitatea produsului, durata de viață.

11. Termenul limită de executare a cererii, Prioritatea cererii.

12. Viteza de mișcare, Probabilitatea unui accident.

13. Calitatea mărfurilor, Perioada de garanție.

14. Vechimea mașinii, riscul de asigurare (în puncte pe o scară de 5 puncte).

15. Vârsta șoferului, Riscul de asigurare (în puncte pe o scară de 5 puncte).

16. Complexitatea reparației (în puncte pe o scară de 10 puncte), Timp de reparație (în zile).

17. Sarcina rețelei de calculatoare, timpul de răspuns al rețelei (timp de transmisie).

18. Încărcarea rețelei de calculatoare, Probabilitatea de livrare a mesajelor.

19. Proximitatea unui obstacol, Viteza de mișcare.

20. Vechimea dispozitivului, fiabilitatea dispozitivului.

21. Temperatura aerului în seră, Timpul de aerisire al serei.

22. Vârsta copacului, randament așteptat.

23. Cantitatea de precipitații, randament așteptat.

24. Viteza maximă a mașinii, Riscul de asigurare (în puncte pe o scară de 5 puncte).

25. Experiența de muncă a unui specialist (în ani), Probabilitatea de a obține un loc de muncă.

4. Întrebări de control

1. Ce este o regulă neclară?

2. Numiți etapele procesării regulilor de inferență fuzzy.

3. Ce operații sunt folosite pentru a compune mulțimi fuzzy?

4. Ce metode de scalarizare (defuzificare) se folosesc?

5. Descrie algoritmul lui Mamdani.

6. Descrieți algoritmul Tsukamoto.

7. Descrieți algoritmul Sugeno.

8. Descrieți algoritmul lui Larsen.

5. Raportați conținutul

2. Formularea sarcinilor pentru munca de laborator.

3. Descrierea progresului muncii pentru fiecare element al sarcinii.

4. Concluzii asupra muncii depuse.

Literatură

1. , date Reich. Procesarea inteligentă a informațiilor. - M.: Editura, Editura Knowledge, 2001. - 496 p.

2. Algoritmi de control Anisimov: Uch. indemnizatie. – M.: Editura MPEI, 2004. – 61 p.

2.1 Concepte de bază ale logicii fuzzy

După cum sa menționat în capitolele anterioare, logica clasică operează doar cu două concepte: „adevărat” și „fals”, și exclude orice valori intermediare. La fel, logica booleană nu recunoaște decât 1 și 0.

Logica fuzzy se bazează pe utilizarea turelor limbajului natural. O persoană însuși determină numărul necesar de termeni și atribuie fiecăruia dintre ei o anumită valoare a mărimii fizice descrise. Pentru această valoare, gradul de apartenență al unei mărimi fizice la un termen (un cuvânt dintr-un limbaj natural care caracterizează o variabilă) va fi egal cu unul, iar pentru toate celelalte valori, în funcție de funcția de apartenență aleasă.

Cu ajutorul seturilor neclare, este posibilă definirea formală a conceptelor inexacte și ambigue, precum „temperatură ridicată”, „tânăr”, „înălțime medie” sau „oraș mare”. Înainte de a formula definiția unei mulțimi fuzzy, este necesar să se definească așa-numitul univers al discursului. În cazul conceptului ambiguu de „mulți bani”, o sumă va fi recunoscută ca mare dacă ne restrângem la gamă și una complet diferită în gamă.

Variabile lingvistice:

O variabilă lingvistică este o variabilă care utilizează valori lingvistice care exprimă evaluări calitative, sau numere fuzzy. Un exemplu de variabilă lingvistică poate fi viteza sau temperatura, un exemplu de valoare lingvistică este o caracteristică: mare, mediu, mic, un exemplu de număr neclar este o valoare: aproximativ 5, aproximativ 0.

Un set de termeni lingvistici este ansamblul tuturor valorilor lingvistice utilizate pentru a defini o variabilă lingvistică. Domeniul unei variabile este setul tuturor valori numerice, care poate lua un anumit parametru al sistemului studiat, sau un set de valori care este semnificativ din punctul de vedere al problemei care se rezolvă.

Seturi neclare:

Să fie un set universal, este un element și este o proprietate. Subset obișnuit (clar). set universal , ale căror elemente satisfac proprietatea , sunt definite ca mulțime de perechi ordonate
,Unde
este o funcție caracteristică care ia valoarea 1 dacă satisface proprietatea și 0 în caz contrar.

Subsetul fuzzy diferă de cel obișnuit prin aceea că pentru elemente din nu există un răspuns definitiv da-nu referitor la o proprietate. În acest sens, o submulțime neclară a mulțimii universale definit ca un set de perechi ordonate
, Unde
este o funcție de apartenență caracteristică care ia valori într-un set ordonat (de exemplu,
). Funcția de apartenență indică gradul de apartenență a unui element mulți . O multime de
numit set de accesorii. Dacă
, atunci setul fuzzy poate fi considerat ca un set clar obișnuit.

O mulțime de elemente spațiale
, pentru care
, se numește purtătorul mulțimii fuzzy și notat sup A:

Înălțimea setată neclară definit ca

set neclar se numeste normal daca si numai daca
. Dacă setul fuzzy nu este normal, atunci poate fi normalizat folosind transformarea

,

Unde
este înălțimea acestui set.

set neclar
, este convex dacă și numai dacă pentru arbitrar
Și
conditia

2.1.1 Operații pe mulțimi fuzzy

Includere. Lăsa Și ‒ seturi fuzzy pe setul universal . Ei spun asta cuprins în , Dacă

Egalitatea. și egal dacă

Plus. Lăsa
,Și sunt seturi fuzzy definite pe .Și se completează reciproc dacă

intersecție.
este cea mai mare submulțime fuzzy conținută simultan în Și :

O asociere.
este cea mai mare submulțime fuzzy care conține toate elementele din Și :

Diferență.
‒ subset cu funcție de membru:

2.1.2 Relații neclare

Lăsa
este produsul direct al mulţimilor universale şi
- un set de accesorii. O relație n-ară fuzzy este definită ca o submulțime fuzzy pe , care își preia valorile în
. Când
Și
atitudine neclară între seturi
Și
funcția va fi apelată
, care mapează fiecare pereche de elemente
valoare
.

Lăsa ‒ atitudine neclară
între
Și , Și relație neclară
între Și . Relație neclară între
Și , notat
, definit prin Și expresia se numește compoziție de relații Și .

Implicație neclară.

O implicație neclară este o regulă de forma: DACA
ACEA
,Unde
este o condiție și
- concluzie, și Și ‒ seturi fuzzy definite de funcțiile lor de membru
,
si domenii
,respectiv. Implicația se notează ca
.

Diferența dintre implicația clasică și cea fuzzy este că, în cazul implicației clasice, condiția și concluzia pot fi fie absolut adevărate, fie absolut false, în timp ce pentru implicația fuzzy sunt permise să fie parțial adevărate, cu o valoare aparținând intervalului . Această abordare are o serie de avantaje, deoarece în practică există rareori situații în care condițiile regulilor sunt complet îndeplinite și, din acest motiv, nu se poate presupune că concluzia este absolut adevărată.

Există mulți operatori de implicare diferiți în logica fuzzy. Toate dau rezultate diferite, al căror grad de eficacitate depinde în special de sistemul care se modelează. Unul dintre cei mai comuni operatori de implicare este operatorul Mamdani, bazat pe presupunerea că gradul de adevăr al concluziei
nu poate fi mai mare decât gradul de îndeplinire a condiţiei
:

2.2 Construirea unui sistem fuzzy

Dintre evoluțiile inteligenței artificiale, sistemele expert au câștigat o recunoaștere constantă ca sisteme de sprijinire a deciziilor. Ei sunt capabili să acumuleze cunoștințe dobândite de o persoană în diverse domenii de activitate. Cu ajutorul sistemelor expert, este posibil să se rezolve multe probleme moderne, inclusiv probleme de management. Una dintre principalele metode de reprezentare a cunoștințelor în sistemele expert este regulile de producție, care fac posibilă abordarea stilului gândirii umane. De obicei, regula de producție este scrisă astfel: „DAC (premisă) (link) (premise) ... (premise) THEN (concluzie)”. În regulă pot exista mai multe premise, caz în care acestea sunt combinate prin intermediul conective logice „ȘI”, „SAU” .

Sistemele fuzzy (NS) se bazează și pe reguli de tip producție, totuși variabilele lingvistice sunt folosite ca premisă și concluzie în regulă, ceea ce face posibilă evitarea limitărilor inerente regulilor clasice de producție.

Astfel, un sistem fuzzy este un sistem a cărui caracteristică de descriere este:

specificarea neclară a parametrilor;

descrierea neclară a variabilelor de intrare și de ieșire ale sistemului;

descrierea neclară a funcționării sistemului bazată pe regulile de producție „DAC…Atunci…”.

Cea mai importantă clasă de sisteme fuzzy sunt sistemele de control fuzzy (FCS).Una dintre cele mai importante componente ale FCS este baza de cunoștințe, care este un set de reguli fuzzy „IF-THEN” care determină relația dintre intrări și ieșiri. a sistemului studiat. Există diferite tipuri de reguli fuzzy: lingvistice, relaționale, model Takagi-Sugeno etc.

Pentru multe aplicații legate de controlul procesului, este necesar să se construiască un model al procesului luat în considerare. Cunoașterea modelului vă permite să selectați controlerul corespunzător (modulul de control). Cu toate acestea, construirea unui model corect este adesea o problemă dificilă, necesitând uneori introducerea de diverse simplificări. Aplicarea teoriei multimilor fuzzy pentru controlul proceselor nu presupune cunoasterea modelelor acestor procese. Este necesar doar să se formuleze regulile de comportament sub formă de propoziții condiționale fuzzy de tip „DACĂ-Atunci”.

Figura 2.1 -. Structura sistemului de control fuzzy

Procesul de control al sistemului este direct legat de variabila de ieșire a sistemului de control fuzzy, dar rezultatul inferenței fuzzy este neclar, iar actuatorul fizic nu este capabil să accepte o astfel de comandă. Sunt necesare metode matematice speciale pentru a face posibilă trecerea de la valorile neclare ale cantităților la cele bine definite. În general, întregul proces de control fuzzy poate fi împărțit în mai multe etape: fuzzificare, dezvoltarea regulilor fuzzy și defuzzificare.

Fuzzification implică o tranziție la fuzziness. În această etapă, valorile exacte ale variabilelor de intrare sunt convertite în valorile variabilelor lingvistice prin aplicarea unor prevederi ale teoriei mulțimilor fuzzy, și anume, folosind anumite funcții de apartenență.

În logica fuzzy, valorile oricărei cantități sunt reprezentate nu prin numere, ci prin cuvinte din limbaj natural și sunt numite „termeni”. Astfel, valoarea variabilei lingvistice „Distanța” este termenii „Departe”, „Aproape”, etc. Pentru a implementa o variabilă lingvistică, este necesar să se determine valorile fizice exacte ale termenilor săi. Să presupunem că variabila „Distanță” poate lua orice valoare din intervalul de la 0 la 60 de metri. Conform teoriei mulțimilor fuzzy, fiecărei valori de distanță dintr-un interval de 60 de metri i se poate atribui un anumit număr, de la zero la unu, care determină gradul de apartenență a unei anumite valori de distanță fizică (să zicem, 10 metri) la unul sau un alt termen al variabilei lingvistice „Distanța” . Apoi, distanței de 50 de metri i se poate atribui gradul de apartenență la termenul „Departe”, egal cu 0,85, iar la termenul „Închidere” - 0,15. Întrebând câți termeni dintr-o variabilă sunt necesari pentru o reprezentare rezonabilă a unei mărimi fizice, se acceptă în general că 3-7 termeni per variabilă sunt suficienți pentru majoritatea aplicațiilor. Majoritatea aplicațiilor sunt destul de limitate la utilizarea numărului minim de termeni.O astfel de definiție conține două valori extreme (minim și maxim) și o medie. În ceea ce privește numărul maxim de termeni, acesta nu este limitat și depinde în întregime de aplicație și de acuratețea necesară a descrierii sistemului. Cifra 7 se datorează capacității memoriei pe termen scurt a unei persoane, în care, conform conceptelor moderne, pot fi stocate până la șapte unități de informații.

Apartenența fiecărei valori exacte la unul dintre termenii variabilei lingvistice se determină prin intermediul funcției de apartenență. Forma sa poate fi absolut arbitrară, totuși, s-a format conceptul așa-numitelor funcții de membru standard

Figura 2.2 - Funcții standard de membru

Funcțiile standard de membru sunt ușor de aplicat pentru a rezolva majoritatea problemelor. Cu toate acestea, dacă trebuie să rezolvați o problemă specifică, puteți alege o formă mai adecvată a funcției de membru și puteți obține performanțe de sistem mai bune decât atunci când utilizați funcții din formularul standard.

Următoarea etapă este etapa de dezvoltare a regulilor neclare.

Acesta definește reguli de producție care leagă variabilele lingvistice. Cele mai multe sisteme fuzzy folosesc reguli de producție pentru a descrie dependențele dintre variabilele lingvistice. O regulă tipică de producție constă dintr-un antecedent (partea IF...) și un consecvent (partea THEN...). Un antecedent poate conține mai multe premise. În acest caz, ele sunt combinate prin intermediul conectivelor logice „ȘI” sau „SAU”.

Procesul de calcul al unei reguli fuzzy se numește inferență fuzzy și este împărțit în două etape: generalizare și concluzie.

Să fie următoarea regulă:

DACĂ „Distanța” = medie ȘI „Unghiul” = mic, ATUNCI „Puterea” = medie.

La prima etapă de inferență, este necesar să se determine gradul de apartenență a întregului antecedent al regulii. Pentru a face acest lucru, există doi operatori în logica fuzzy: Min(...) și Max(...). Primul calculează valoarea minimă a gradului de apartenență, iar al doilea calculează valoarea maximă. Când să aplicați acest sau acel operator depinde de ce legătură sunt conectate parcelele din regulă. Dacă se folosește legătura „ȘI”, se folosește operatorul Min(...). Dacă coletele sunt combinate cu linkul „Sau”, este necesar să se aplice operatorul Max(...). Ei bine, dacă există o singură premisă în regulă, operatorii nu sunt deloc necesari.

Următorul pas este concluzia sau concluzia reală. În mod similar, valoarea consecventului este calculată folosind operatorii Min/Max. Datele inițiale sunt valorile gradelor de apartenență ale antecedentelor regulilor calculate la pasul anterior.

După finalizarea tuturor pașilor de inferență fuzzy, găsim valoarea fuzzy a variabilei de control. Pentru ca dispozitivul executiv să poată procesa comanda primită este necesară o etapă de control, la care scăpăm de neclaritate și care se numește defuzzificare.

În stadiul defuzificării, se face o tranziție de la valorile neclare ale cantităților la anumiți parametri fizici care pot servi drept comenzi pentru actuator.

Rezultatul inferenței neclare va fi, desigur, neclar. De exemplu, dacă vorbim despre controlul unui mecanism și comanda pentru motorul electric va fi reprezentată de termenul „Medie” (putere), atunci aceasta nu înseamnă absolut nimic pentru actuator. În teoria mulțimilor fuzzy, procedura de defuzzificare este similară cu găsirea caracteristicilor de poziție (așteptări matematice, mod, mediană) ale variabilelor aleatoare în teoria probabilității. Cel mai simplu mod de a efectua procedura de defuzzificare este alegerea unui număr clar corespunzător maximului funcției de membru. Cu toate acestea, adecvarea acestei metode este limitată doar de funcțiile extreme de membru. Pentru a elimina neclaritatea rezultatului final, există mai multe metode: metoda centrului maxim, metoda valorii maxime, metoda centroidului și altele. Pentru funcțiile de apartenență multi-extremă, defuzificarea este folosită cel mai adesea prin găsirea centrului de greutate al unei figuri plate delimitate de axele de coordonate și de funcția de membru.

2.3. Modele de inferență neclare

Inferența logică fuzzy este o aproximare a dependenței „input-output” bazată pe declarații lingvistice precum „IF-THEN” și operații pe mulțimi fuzzy. Modelul fuzzy conține următoarele blocuri:

‒ un fuzzifier care transformă un vector fix de factori de influență X într-un vector de mulțimi fuzzy necesare pentru a efectua inferențe neclare;

‒ bază de cunoștințe neclară care conține informații despre dependență
sub forma unor reguli lingvistice de tip „IF-THEN”;

‒ o mașină de inferență fuzzy care, pe baza regulilor bazei de cunoștințe, determină valoarea variabilei de ieșire sub forma unei mulțimi fuzzy corespunzătoare valorilor neclare ale variabilelor de intrare ;

‒ defuzifier care transformă setul fuzzy de ieșire într-un număr clar Y.

Figura 2.3 - Structura modelului fuzzy.

2.3.1 Modelul fuzzy de tip Mamdani

Acest algoritm descrie mai multe etape succesive. În acest caz, fiecare etapă ulterioară primește ca intrare valorile obținute în pasul anterior.

Figura 2.4 - Diagrama activității procesului de inferență fuzzy

Algoritmul este remarcabil prin faptul că funcționează pe principiul unei „cutii negre”. Valorile cantitative vin la intrare, sunt aceleași la ieșire. În etapele intermediare se utilizează aparatul logicii fuzzy și teoria mulțimilor fuzzy. Aceasta este eleganța utilizării sistemelor fuzzy. Puteți manipula date numerice familiare, dar, în același timp, puteți utiliza flexibilitatea oferită de sistemele de inferență neclare.

În modelul de tip Mamdani, relația dintre intrările X = (x 1 , x 2 ,…, x n) și ieșirea y este determinată de o bază de cunoștințe neclară de următorul format:

,

Unde
- termen lingvistic, care evaluează variabila x i în linie cu numărul
;
), Unde - numărul de șiruri-conjuncții în care iese evaluat prin termen lingvistic ;
- numărul de termeni utilizați pentru evaluarea lingvistică a variabilei de ieșire .

Folosind operațiile ∪(OR) și ∩(AND), baza de cunoștințe neclară poate fi rescrisă într-o formă mai compactă:

(1)

Toți termenii lingvistici din baza de cunoștințe (1) sunt reprezentați ca seturi fuzzy definite de funcțiile de apartenență corespunzătoare.

Baza de cunoștințe fuzzy (1) poate fi interpretată ca o partiție a spațiului factorilor de influență în subdomenii cu granițe fuzzy, în fiecare dintre ele funcția de răspuns ia valoarea specificată de setul fuzzy corespunzător. Regula din baza de cunoștințe este un „cluster de informații”, reflectând una dintre caracteristicile dependenței „input-output”. Astfel de „aglomerații de informații bogate” sau „granule de cunoștințe” pot fi văzute ca analoge cu codificarea verbală, care, după cum au stabilit psihologii, apare în creierul uman în timpul învățării. Aparent, prin urmare, formarea unei baze de cunoștințe neclare într-un anumit domeniu, de regulă, nu este dificilă pentru un expert.

Să introducem următoarea notație:

- funcția de intrare de membru termen neclar
,
acestea

- funcția de apartenență a ieșirii y la termenul fuzzy
, adică

Gradul de apartenență al vectorului de intrare
termeni neclari din baza de cunoștințe (1) este determinată de următorul sistem de ecuații logice fuzzy:

Cel mai des sunt utilizate următoarele implementări: pentru operația SAU - găsirea maximului, pentru operația AND - găsirea minimului.

Setul fuzzy corespunzător vectorului de intrare X * este definit după cum urmează:

unde imp este o implicație, de obicei implementată ca operație de constatare minimă; agg - agregare de mulțimi fuzzy, care este cel mai adesea implementată prin operația de găsire a maximului.

Ștergeți valoarea de ieșire , corespunzător vectorului de intrare
, este determinată ca urmare a defuzificării mulțimii fuzzy . Cea mai des folosită defuzzificare este metoda centrului de greutate:

Modelele de tip Mamdani și de tip Sugeno vor fi identice atunci când concluziile regulilor sunt date prin numere dure, adică dacă:

1) termenii d j ai variabilei de ieșire în modelul de tip Mamdani sunt dați prin singletons - analogi fuzzy ai numerelor clare. În acest caz, gradele de apartenență pentru toate elementele mulțimii universale sunt egale cu zero, cu excepția unuia cu un grad de apartenență egal cu unu;

2) concluziile regulilor din baza de cunoștințe a modelului de tip Sugeno sunt date de funcții în care toți coeficienții variabilelor de intrare sunt egale cu zero.

2.3.2 Modelul fuzzy de tip Sugeno

Până în prezent, există mai multe modele de control neclar, dintre care unul este modelul Takagi-Sugeno.

Modelul Takagi-Sugeno-Kang este uneori denumit Takagi-Sugeno-Kang. Motivul este că acest tip de model fuzzy a fost propus inițial de Takagi și Sugeno. Cu toate acestea, Kang și Sugeno au făcut o muncă excelentă privind identificarea modelelor neclare. De aici și originea numelui modelului.

Într-un model de tip Sugeno, relația dintre intrări
iar rezultatul y este dat de o bază de cunoștințe neclară de forma:

Unde - unele numere.

Baza de cunoștințe (3) este similară cu (1) cu excepția concluziilor regulilor , care sunt date nu de termeni fuzzy, ci de o funcție liniară a intrărilor:

,

Astfel, baza de cunoștințe din modelul de tip Sugeno este hibridă - regulile sale conțin premise sub formă de mulțimi fuzzy și concluzii sub forma unei funcții liniare clare. Baza de cunoștințe (3) poate fi interpretată ca o partiție a spațiului factorilor de influență în subdomenii fuzzy, în fiecare dintre acestea valoarea funcției de răspuns este calculată ca o combinație liniară de intrări. Regulile sunt un fel de comutare de la o lege liniară „input-output” la alta, de asemenea liniară. Granițele subdomeniilor sunt neclare; prin urmare, mai multe legi liniare pot fi îndeplinite simultan, dar cu greutăți diferite. Valoarea rezultată de ieșire definită ca o suprapunere a dependențelor liniare efectuate la un punct dat
spațiu factor n-dimensional. Poate fi o medie ponderată

,

sau sumă ponderată

.

Valori
sunt calculate ca pentru modelul de tip Mamdani, adică prin formula (2) Rețineți că în modelul Sugeno, OR probabilistic și înmulțirea sunt de obicei folosite ca operații ˄ și, respectiv, ˅. În acest caz, modelul fuzzy de tip Sugeno poate fi considerat o clasă specială de rețele neuronale multistrat de propagare directă a semnalului, a căror structură este izomorfă cu baza de cunoștințe. Astfel de rețele sunt numite neuro-fuzzy.

Ponens modus deduce concluzia „B este adevărat” dacă se știe că „A este adevărat” și regula „Dacă A, atunci B” există (A și B sunt afirmații logice clare). Totuși, dacă nu există precedent, atunci modus ponens nu va putea trage nicio concluzie, nici măcar una aproximativă. Chiar și în cazul în care se știe că o afirmație A" apropiată de A este adevărată, modul ponens nu poate fi aplicat. Unul dintre moduri posibile luarea deciziilor sub informații incerte este utilizarea inferenței neclare.

Definiția 47.Inferență neclară se numește obținerea unei concluzii sub forma unei mulțimi neclare corespunzătoare valorilor curente ale intrărilor, folosind o bază de cunoștințe fuzzy și operații fuzzy.

Baza inferenței logice neclare este regula compozițională a lui Zadeh.

Definiția 48. Regula de inferență compozițională a lui Zade se formulează după cum urmează: dacă se cunoaște o relație neclară între variabilele de intrare (x) și de ieșire (y), atunci cu o valoare neclară a variabilei de intrare , valoarea neclară a variabilei de ieșire se determină după cum urmează:

unde este compoziția maximă.

Exemplul 12. Dată o regulă neclară „Dacă , atunci” cu seturi fuzzy: și . Determinați valoarea variabilei de ieșire dacă .

Mai întâi, calculăm relația neclară corespunzătoare regulii „Dacă, atunci”, folosind operația de găsire a minimului ca normă t:

.

Acum, conform formulei, calculăm valoarea neclară a variabilei de ieșire:

Mamdani fuzzy inference

Inferența logică fuzzy conform algoritmului Mamdani este efectuată pe o bază de cunoștințe fuzzy:

,

în care valorile variabilelor de intrare și de ieșire sunt date prin mulțimi fuzzy. Să introducem următoarea notație, necesară pentru prezentarea ulterioară a materialului:

Funcția de apartenență a intrării la termenul fuzzy , i.e. , .

Funcția de apartenență a ieșirii la termenul fuzzy , i.e. , .

Gradele de apartenență a vectorului de intrare termenii fuzzy din baza de cunoștințe se calculează după cum urmează:

unde este o operație din norma s (norma t), adică. din setul de implementări ale operațiilor logice SAU (ȘI). Cel mai des sunt utilizate următoarele implementări: pentru operația SAU - găsirea maximului și pentru operația AND - găsirea minimului.

Ca rezultat, obținem o astfel de mulțime neclară corespunzătoare vectorului de intrare:

.

Particularitatea acestei mulțimi fuzzy este că mulțimea universală este setul de termeni al variabilei de ieșire. Astfel de mulțimi fuzzy sunt numite mulțimi fuzzy de ordinul doi.

Pentru a trece de la o mulțime fuzzy definită pe un set universal de termeni fuzzy la o mulțime fuzzy pe un interval, este necesar să: 1) „taie” funcțiile de membru la nivelul ; 2) combinați (agregați) mulțimile fuzzy rezultate. Din punct de vedere matematic, aceasta este scrisă după cum urmează:

,

unde este agregarea mulțimilor fuzzy, care este cel mai adesea implementată prin operația de găsire a maximului.

Valoarea clară a ieșirii corespunzătoare vectorului de intrare este determinată ca urmare a defuzificării mulțimii fuzzy. Cea mai des folosită defuzzificare este metoda centrului de greutate.