Proiect Fuzzy

download Proiect Fuzzy

of 8

description

Sistem cu logică fuzzy pentru determinarea mărimii bacșisului în cazul servirii unei mese la restaurant

Transcript of Proiect Fuzzy

Sistem cu logic fuzzy pentru determinarea mrimii bacisului n cazul servirii unei mese la restaurant

Sistem cu logic fuzzy pentru determinarea mrimii bacisului n cazul servirii unei mese la restaurant

Principalul instrument din MATLAB prin care se pot construi sisteme fuzzy este interfata grafica (graphic user interface) numit Fuzzy Inference System FIS. FIS poate fi lansata fie din fereastra de comenzi (command window) tastnd fuzzy, fie din SIMULINK.

Aceast interfa permite construirea i, n final, analiza grafic a sistemului cu logic fuzzy dorit, folosind cele 5 instrumente grafice care formeaz componenta dedicat logicii fuzzy a mediului Matlab:

1) Editorul sistemului cu logic fuzzy, numit FIS Editor (Fuzzy Inference System Editor);

2) Editorul funciilor de apartenen, adic, al mulimilor fuzzy peste universurile discursurilor variabilelor de intrare i de ieire ale sistemului cu logic fuzzy, numit Membership Function Editor;

3) Editorul regulilor fuzzy, care vor forma baza de reguli a sistemului cu logic fuzzy, numit Rule Editor;

4) Fereastra de vizualizare a regulilor, n care se poate observa gradul de activare al fiecrei reguli i rezultatul (mulimea fuzzy de ieire) dat de fiecare regul a bazei de reguli, pentru o anumit valoare tranant a intrrii stabilite de ctre utilizator; aceast fereastr apare sub numele Rule Viewer;

5) Fereastra de vizualizare a suprafeei ieire-intrare a sistemului cu logic fuzzy, care arat grafic dependena ieirii tranante a sistemului cu logic fuzzy de intrrile tranante ale sistemului cu logic fuzzy, determinate de funcionarea sistemului cu logic fuzzy; aceast dependen este cunoscut n general sub numele de suprafa de control a sistemului, iar fereastra apare sub numele Surface Viewer.

Cele cinci instrumente grafice sunt legate dinamic ntre ele, adic, o modificare a sistemului cu logic fuzzy fcut ntr-una din ferestrele de editare va putea afecta ceea ce se vede n celelalte ferestre. La un moment dat, pentru un sistem cu logic fuzzy, putem avea oricte din cele cinci ferestre deschise simultan.

Cele cinci instrumente grafice ale componentei dedicate sistemelor cu logica fuzzy din Matlab sunt prezentate simbolic n diagrama-bloc din Figura 2,1.

Figura 2.1 Cele cinci instrumente de construire si analiza a unui sistem cu

logica fuzzy, si legatura lor cu sistemul cu logica fuzzy Pentru a putea construi i simula un sistem cu logic fuzzy n Matlab, este necesar cunoaterea elementelor prin care se definete un sistem cu logic fuzzy: variabile de intrare i de ieire ale sistemului cu logic fuzzy; mulimi fuzzy de intrare i de ieire; baz de reguli fuzzy, i a operaiilor implicate de funcionarea sistemului cu logic fuzzy: fuzzificare; inferen; agregare; defuzzificare.La deschiderea FIS-ului sunt implicite o variabila de intrare input 1, una de iesire output 1 si blocul de inferen Mamdani. Inferena Mamdani poate fi nlocuit cu inferena Sugeno.

Blocul de fuzzyficare primete la intrare valori ferme i ofer la ieire valori fuzzy. Variabilele fuzzy sunt construite sub forma de cadre cognitive sau de partitii fuzzy. Setarea unei variabile de intrare ncepe printr-un dublu click pe pictograma variabilei.

Etapa de defuzzyficare produce valori ferme pornind de la valori fuzzy. Aceasta operatie, opusa fuzzyficarii, este necesara doar cnd avem nevoie de valori ferme la iesire, de exemplu n cazul sistemelor de reglare (viteza, pozitie, presiune, etc). Cnd sistemul fuzzy trebuie sa produca iesiri lingvistice, de exemplu n cazul sistemelor de decizie de tipul expert, defuzzyficarea nu mai este necesara si iesirea poate ramne ca variabila fuzzy.

Partea central a unui sistem fuzzy consta din mecanismul sau de inferenta, care este realizat de catre baza de reguli. Blocul de inferenta permite scrierea rapida si usoara a regulilor printr-un tabel McVicar-Whelan. Tipul inferentei este specificat prin alegerea normei t (and method) si normei s (or method) n fereastra principala FIS.

O prima observatie extrem de utila este aceea ca n general aplicatiile Matlab, si mai ales FIS, necesita o atentie deosebita la salvarea fisierelor. Optiunile de salvare se gasesc ca de obicei n meniul File. Aplicatiile FIS sunt salvate ca fisiere cu extensia *.fis, pe hard disk, pe dispozitive externe sau n workspace. n aceasta situatie, la terminarea sesiunii de lucru este necesara si salvarea workspace-ului, ca fisier *.mat.

Cea mai directa varianta de utilizare a FIS este prin intermediul ferestrei de comenzi (command window). Pentru aceasta toolbox-ul fuzzy include un set larg de comenzi aferente FIS: evalfis, ruleviewer, gensurf, readfis, etc. prin care se pot accesa si ajusta toate componentele FIS. Sintaxa lor poate fi studiata cu ajutorul comenzii Help.

Ce mai productiva modalitate de lucru cu FIS este nsa obtinuta prin Simulink-Matlab. Tool-kit-ul Simulink permite modelarea vizuala pe calculator, prin tehnica drag-and-drop, astfel nct aplicatiile pot fi realizate extrem de eficient. n acest fel fisierele *.fis pot fi incluse n modelele Simulink si pot fi testate n aplicatii beneficiind de biblioteca de functii predefinite care a plasat Simulink pe pozitia dominanta a segmentului sau de piata.Editorul sistemului cu logica fuzzy :

Intrari:

servire mancare

Iesire: bacsisPentru intrarea servire, am folosit trei funcii de apartenen de form gaussiana:

1. slaba

2. buna

3. excelenta

Figura 4.2 Partitia fuzzy aferent variabilei de intrare servirePentru intrarea mancare, am folosit trei funcii de apartenen de form triunghiular:1. rea

2. buna

3. deliciasa

Figura 4.3. Partitia fuzzy aferent variabilei de intrare mancare

Pentru iesirea bacsis, am folosit trei funcii de apartenen de form trapezoidal:1. Mic

2. Mediu

3. mare

Figura 4.4. Partitia fuzzy aferent variabilei de iesire bacsis Am introdus regulile n fereastra Rule Editor

Figura 4.5 Fereastra editorului de reguli fuzzy

Fereastra 4.6. Rule ViewerPentru a vedea suprafata de control generat de sistemul fuzzy am tastat:

gensurf(tip)

Figura 4.7 Suprafata de controlPentru a vizualiza comportamentul unui sistem fuzzy in Simulink, am ncrcat modelul, "tip_sim.mdl", cu secvena de cod de mai jos:

close all

clear all

clc

tip = readfis ('tip.fis');

tip_sim;Modelul contine:

un controller fuzzy cu posibilitate de vizualizare a regulilor

doua blocuri de constante, corespunzatoare celor doua variabile de intrare("mancare" si respectiv "servire") un bloc de afisare a valorii de iesire a sistemului Figura 4.8 Modelul SimulinkConcluzii

Una dintre aplicaiile cele mai importante n practic ale sistemelor cu logic fuzzy se refer la folosirea acestora ca i sisteme de control ale proceselor. Folosirea sistemelor cu logic fuzzy ca i controllere se bucur de o baz teoretic solid, existnd la ora actual multe aplicaii comerciale care ncorporeaz un sistem de control fuzzy. Un exemplu reprezentativ n acest sens este i aplicaia prezentat n lucrare.Bibliografie

[1]***FuzzyLogicToolboxUsersGuide,TheMathWorks,Inc,2007;[2]***http://www.bel.utcluj.ro/dce/didactic/tice/tice.htm