Fuzzificarea (tranziția la fuzzy)
Valorile exacte ale variabilelor de intrare sunt convertite la valorile variabilelor lingvistice prin aplicarea unor prevederi ale teoriei seturilor fuzzy, și anume, folosind anumite funcții de membru.
Să luăm în considerare această etapă mai detaliat. În primul rând, introducem conceptul de "variabilă lingvistică" și "funcție de membru".
În logica fuzzy, valorile oricărei cantități nu sunt reprezentate de numere, ci de cuvintele unei limbi naturale și se numesc THERMs. Astfel, valoarea variabilei lingvistice DISTANCE este termenii FAR, CLOSE etc.
Desigur, pentru realizarea unei variabile lingvistice este necesară pentru a determina valorile fizice exacte ale termenilor săi. Să presupunem, de exemplu, variabila DISTANTA poate lua orice valoare în intervalul de la 0 la 60 de metri. Cum procedăm? În termenii teoriei mulțimilor fuzzy, fiecare valoare la distanță în intervalul de 60 de metri poate fi asociat cu unele număr între zero și unu, care determină gradul de apartenență la o anumită valoare fizică la distanță (de exemplu, 10 metri) la un anumit termen distanța variabilă lingvistică. În acest caz, distanța de 50 de metri, puteți specifica gradul de afiliere la termen un FAR de 0,85, iar termenii sunt aproape de - 0,15. Definirea specifică a gradului de afiliere este posibilă numai atunci când se lucrează cu experții. Când se discută despre băile de variabilă lingvistică este interesant pentru a estima cât de multe dintre termenii din precizia variabilă este necesară pentru o reprezentare suficientă a cantității fizice. În prezent, sa considerat că pentru majoritatea aplicațiilor, un 3-7 termeni pentru fiecare variabilă. Valoarea minimă a numărului de termeni este destul de opravdanno.Takoe determinarea cuprinde două valori extreme (minime și maxime) și înseamnă. Pentru majoritatea aplicațiilor, acest lucru este destul de mult. În ceea ce privește numărul maxim de termeni, nu este limitat, și depinde în întregime de aplicare și precizia necesară a descrierii sistemului. Numărul 7 se datorează capacității memoriei umane pe termen scurt, în care, în baza unor concepte moderne, pot fi păstrate până la șapte unități de informații.
În concluzie, oferim două sfaturi care vor ajuta la determinarea numărului de termeni:
n începeți de la sarcina din fața dvs. și acuratețea necesară a descrierii, rețineți că pentru majoritatea aplicațiilor este suficient să existe trei termeni în variabila;
n regulile fuzzy compilate pentru funcționarea sistemului ar trebui să fie clare, nu ar trebui să întâmpinați dificultăți semnificative în dezvoltarea lor; altfel, dacă nu există suficientă vocabulară în termeni, ar trebui să crească numărul lor.
După cum am menționat deja, afilierea fiecărei valori exacte la unul dintre termenii variabilei lingvistice este determinată de funcția de membru. Apariția sa poate fi absolut arbitrară. Acum a fost creată noțiunea de așa-numite funcții standard de aderare (a se vedea Figura 3).
Funcțiile standard de membru sunt ușor de aplicat la rezolvarea majorității problemelor. Cu toate acestea, dacă trebuie să rezolvați o problemă specifică, puteți alege o formă mai adecvată a funcției de membru, în timp ce puteți obține o performanță mai bună a sistemului decât cu vizualizarea standard.
Să rezumăm etapa de fuzzificare și să oferim un fel de algoritm pentru formalizarea problemei în termeni de logică fuzzy.
Pasul 1. Pentru fiecare termen al variabilei lingvistice luate, găsiți valoarea numerică sau intervalul de valori care descriu cel mai bine termenul. Deoarece această valoare sau valori sunt "prototipul" termenului nostru, pentru aceștia este aleasă o singură valoare a funcției de membru.
Pasul 2. După determinarea valorilor cu un singur membru, trebuie să determinați valoarea acestui parametru cu calitatea de membru "0" la acest termen. Această valoare poate fi selectată ca valoare cu calitatea de membru "1" la un alt termen din numărul definit mai devreme.
Pasul 3. După determinarea valorilor extreme, trebuie să stabiliți valorile intermediare. Pentru ele, funcțiile n sau A sunt selectate din funcțiile standard de membru.
Pasul 4. Pentru valorile corespunzătoare valorilor extreme ale parametrului, sunt selectate funcțiile S- sau Z-membru.
Dacă ați reușit să descrieți sarcina înaintea voastră în acest fel, sunteți deja scufundați în lumea neclarității. Acum aveți nevoie de ceva care vă va ajuta să găsiți calea cea bună în acest labirint. Acest ghid poate fi baza regulilor fuzzy. Vom discuta mai jos metodele de compilare.
Dezvoltarea regulilor fuzzy
În acest stadiu, regulile de producție care leagă variabilele lingvistice sunt definite. Un set de astfel de reguli descrie strategia de control utilizată în această sarcină.
Majoritatea sistemelor fuzzy utilizează reguli de producție pentru a descrie dependențele dintre variabilele lingvistice. O regulă tipică de producție constă din antecedent (parte IF ...) și din consecință (parte din TO ...). Un antecedent poate conține mai mult de o parcelă. În acest caz, ele sunt combinate prin legături logice AND și OR.
Procesul de calcul al unei reguli fuzzy se numește o concluzie logică fuzzy și este împărțit în două etape: generalizarea și încheierea.
Să presupunem că avem următoarea regulă:
DACĂ REMOTE = MEDIU ȘI
ANGLE = mic. THEN POWER = medie.
Cu referire la exemplul unei macarale container și ia în considerare situația în care distanța până platforma este de 20 de metri, unghiul de deviere și containerul pe coarda de macara este egal cu patru grade. După fuzzificare obține datele originale, gradul de distanta de 20 metri aparținând unui termen al unui mediu DISTANȚĂ variabilă lingvistică este de 0,9, iar gradul de membru al unghiului de 4 grade la termenul unei CORNER variabilă lingvistică SMALL este de 0,8.
La prima etapă a inferenței, este necesar să se determine gradul de apartenență al antecedentului regulii. Pentru aceasta, există doi operatori în logica fuzzy: MIN (...) și MAX (...). Primul calculează valoarea minimă a gradului de apartenență, iar al doilea - valoarea maximă. Când se aplică acest sau acel operator, depinde de ce pachet parcele din regula sunt conectate. Dacă utilizați AND, utilizați operatorul MIN (...). Dacă parcelele sunt unite printr-o șir OR, trebuie să utilizați operatorul MAX (...). Ei bine, dacă există o singură premisă în regula, operatorii nu sunt deloc necesare. Pentru exemplul nostru, aplicăm operatorul MIN (...), deoarece folosim conexiunea I. Obținem următoarele:
În consecință, gradul de apartenență al antecedentului unei astfel de reguli este egal cu 0,8. Operația descrisă mai sus este procesată pentru fiecare regulă în baza regulilor fuzzy.
Următorul pas este încheierea sau concluzia. În mod similar, prin intermediul operatorilor MIN / MAX se calculează valoarea consecinței. Datele inițiale sunt valorile gradelor de apartenență ale antecedentelor regulilor calculate în etapa anterioară.
După executarea tuturor etapelor ieșirii fuzzy, găsim valoarea fuzzy a variabilei de control. Pentru ca dispozitivul executiv să elaboreze comanda recepționată, este necesară o etapă de control, pe care vom scăpa de neclaritate și care se numește defuzzificare.
Defuzzificarea (eliminarea neclarității)
În acest stadiu, trecerea de la valorile fuzzy la anumiți parametri fizici care pot servi drept comenzi către dispozitivul executiv.
Rezultatul inferenței fuzzy, desigur, va fi fuzzy. În exemplul cu macaraua, comanda pentru motorul electric al macaralei va fi reprezentată de termenul MID (putere), dar pentru dispozitivul executiv nu înseamnă absolut nimic.
Pentru a elimina neclaritatea rezultatului final, există mai multe metode. Să luăm în considerare câteva dintre ele. Abrevierea, după numele metodei, provine din abrevierea echivalentului în limba engleză.