Sunteți pe pagina 1din 9

CAPITOLUL 7

APLICAŢII FUZZY

Folosirea metodelor fuzzy este recomandată: în procesele


foarte complexe, pentru care nu există un model matematic simplu;
pentru procesele neliniare; dacă trebuie realizată prelucrarea
cunoştinţelor experţilor.
Folosirea metodelor fuzzy nu este recomandată dacă:
metodele tradiţionale dau un rezultat bun; există un model matematic
adecvat; problema nu se poate rezolva.

7.1 Domenii de aplicare

În mod curent, sistemele de logică fuzzy sunt folosite în


industria de automobile pentru a determina blocarea sau deblocarea
roţilor în sistemele de anti-furt. Un aparat de fotografiat poate folosi
un sistem fuzzy pentru a determina ce parte a imaginii ar trebui să fie
pe focus. Logica fuzzy a devenit un instrument profitabil pentru
controlul sistemelor la metrou şi în procesele industriale complexe,
precum şi pentru mecanisme electronice casnice, sisteme de
diagnostic şi alte sisteme expert. “Fuzzy” a devenit un cuvânt cheie în
domeniul marketingului; articolele electronice fără componente fuzzy
tind să devină un stoc mort. În Japonia, cercetarea fuzzy este larg
sprijinită cu un buget uriaş, Japonia fiind şi locul de unde s-a lansat
dezvoltarea rapidă a acestei tehnologii lansate în SUA. În Europa şi
SUA, se fac eforturi pentru a ajunge din urmă imensul succes japonez.
De exemplu, agenţia spaţiala NASA s-a implicat în aplicarea logicii
fuzzy pentru manevre complexe de cuplare a aeronavelor.
Domenii specifice în care companiile folosesc soft bazat pe
fuzzy:
1. determinarea secvenţelor optime pentru asamblarea automobi-
lelor: softul realizat de FLS (Qualicision Sequencing Software) dă
posibilitate constructorilor de automobile sa reducă timpii şi
efortul de producţie prin folosirea unei noi strategii pentru
stabilirea secvenţei proceselor. Acest soft este folosit de BMW,
Audi, Ford, Volskwagen;
2. automatizarea producerii de cauciucuri (realizat pentru
Continental AG);
3. controlul roboţilor pentru montarea cauciucurilor (Burke Porter
Machenary Company);
4. consultanţă bancară (FuzzyDecisionDesk) cuprinzând partea de
interfaţă cu clientul cât şi stabilirea tipului optim de credit pentru
clientul respectiv;
5. consultanţă pentru acordarea creditelor: sistem care face distincţia
între un client bun şi unul rău (folosit de Citibank);
6. analiza imaginilor pentru folosirea în serviciul poştal (verifică
dacă un pachet de documente-scrisori este bine realizat, în sensul
separării scrisorilor în funcţie de destinaţie); folosit de Datev;
7. asigurarea calităţii prin control optic pentru verificarea
destinaţiilor pachetelor şi aşezarea lor corectă în depozit (folosit
de Datev şi Wiltron);
8. proiectarea sistemelor micro-electronice (ehrfeld Mikrotechink)
9. monitorizarea optică a liniei de asamblare - (asigurarea calităţii):
Hengst;
10. verificarea vizuală a potrivirii suprafeţelor la montarea
cauciucurilor(BMW) (Japonia);
11. control automat al barajelor pentru hidrocentrale (Tokio Electric
Pow);
12. controlul roboţilor (Hirota, Juji Electric, Toshiba, Omrom);
13. focusul camerei de luat vederi pentru transmiterea evenimentelor
sportive (Omron);
14. analiza activităţilor de pe bursa de mărfuri (Yamaichi);
15. împiedicarea fluctuaţiilor nedorite de temperatură în sisteme de
aer condiţionat (Mitsubishi);
16. controlul eficient şi stabil al motoarelor maşinilor (Nissan);
17. eficientizarea proceselor industriale (fluxul proceselor) (Aptronix,
Omron, Mitsubishi);
18. planificare optimizată a orarelor pentru autobuze (Toshiba);
19. sisteme de arhivare a documentelor (Mitsubishi Elec);
20. sisteme de predicţie a cutremurelor;
21. medicină: diagnosticarea cancerului (Kawasaki Medical School);
22. recunoaşterea scrisului (Sony);
23. recunoaşterea formelor în picturi (Canon, Minolta);
24. recunoaşterea suprafeţei pentru controlul aspiratoarelor
(Matsushita);
25. controlul luminii la aparate video (Sanyo);
26. design software pentru procese industriale (Aptronix, Harima);
27. controlul metroului pentru îmbunătăţirea confortului şi economie
de energie (NOK);
28. îmbunătăţirea eficienţei lifturilor (Fujitec);
29. creşterea siguranţei pentru reactoare nucleare (Hitachi, Bernard).

7.2 Aplicaţii în ştiinţele mediului

Utilizarea fuzzy în meteorologie:


De ce este recomandată logica fuzzy în prezicerea vremii?
a) datele meteo sunt inerent fuzy: spre prânz: răcire; minime-
maxime, vânturi dinspre vest, ninsori moderate, ploi ocazionale;
b) s-a demonstrat că funcţionează (Bjarne Hansen a construit
două sisteme fuzzy, unul care prezice corect înălţimea norilor şi
vizibilitatea);
c) este un domeniu în care soluţiile aproximative sunt
acceptabile, în care variabilele pot fi reprezentate numeric, în care
relaţiile pot să nu fie bine definite sau consistente, în care nu e
disponibilă nici o formulă matematică (sau e foarte complexă).
Cercetători care au lucrat cu tehnici fuzzy pentru modelarea
incertitudinii în problema mediului:
a) Bachisio Arca, F. Benincasa, Matteo De Vincenzi - Institute for
Agroecosystem Monitoring Sassari, Italy. Modelează procese
complexe fizice şi biologice cu ajutorul logicii fuzzy: fluxurile de
radiaţie solară, evaporaţia, evapotranspiraţia, îngheţul.
b) Dr. Istvan Bogardi-University of Nebraska. Încorporează un set
de tehnici fuzzy pentru a lucru cu incertitudinile în condiţiile
schimbărilor climatice, predicţia hidrologiei locale.
c) Prof. Dr. ir. Dick Botteldooren, ir. Tom De Muer, Andy Verkeyn
Acoustics Research Group Department of Information Technology
Ghent Belgium. Modelează zgomotele din mediu (generat de trafic,
industrie...) cu modele fuzzy de propagare a sunetului. Stressul
provocat de zgomote este în esenţă un concept fuzzy, depinde nu
numai de intensitatea şi expunerea la zgomote ci şi de factori personali
şi psihologici incerţi.
d) Dr. Steve Dorling Lecturer in Atmospheric Sciences University
of East Anglia, UK. A construit un sistem pentru evaluarea indicelui
Lamb (indică tipul situaţiei sinoptice influenţând Marea Britanie,
bazat pe centrele de presiune). Determinarea acestui indice este în
mod tradiţional o procedură manuală, sistemul înlocuind
subiectivismul cu logica fuzzy.
e) Oscar Duarte Departamento de Ingeniería Eléctrica (Department
of Electrical Engineering) Universidad Nacional de Colombia
(National University of Colombia). A dezvoltat o metodologie fuzzy
pentru analiza impactului asupra mediului, în funcţie de diferiţi factori
şi variabile subiective.
f) Walter Maner <http://web.cs.bgsu.edu/maner/> Faculty,
Department of Computer Science Bowling Green State University
Bowling Green, Ohio WXSYS. Culege date de la senzorii staţiei
meteo fuzzificate. Procesul de fuzzificare nu introduce erori ci,
exprimă erorile normale de măsurare ale valorilor (dacă presiunea
arătată de barometru este 30.06 HG atunci presiunea reală este 30.06
plus sau minus o anumită valoare). În plus, fuzzificarea permite lucrul
cu reguli de genul "dacă vântul bate puternic dinspre sud vremea se va
schimba în 24h".
g) Shreedhar Maskey Ph.D. Research Fellow Hydroinformatics and
Knowledge Management The Netherlands. Investigheaza modelarea
incertitudinii în predicţia inundaţiilor şi sisteme de avertizare folosind
abordări fuzzy.
h) Ulf Nordlund Institute for Earth Sciences Uppsala University,
Sweden. Pentru studiul depunerilor şi eroziunii sedimentelor pe malul
oceanelor.
i) Haresh C. Shah Earthquake Engineering Center Department of
Civil Engineering Stanford University. Pentru prezicerea cutremurelor
şi strategii financiare pentru asigurarea în cazul catastrofelor naturale.
j) Dr. William Silvert Instituto de Investigação das Pescas e do
Mar Departamento de Ambiente Aquático Portugal foloseste logica
fuzzy pentru extragerea datelor relevante pe baza jurnalelor de bord.
k) Ron Spiegel Environmental Protection Agency Research
Triangle Park. Pentru optimizarea motoarelor cu inducţie, controlul
turbinelor de vânt.
l) Ramesh Teegavarapu Dept. of Civil Engineering University of
Manitoba Winnipeg, Manitoba, Canada. Aplicaţii fuzzy pentru
gestiunea resurselor de apă (operaţii cu rezervoare şi predicţia
volumului disponibil).
m) Richard Wagoner Research Applications Program National
Center for Atmospheric Research Boulder, Colorado. Foloseşte logica
fuzzy în 90% din sistemele utilizate.

7.3 Instrumente de modelare

Unelte software pentru construirea sistemelor fuzzy:


1. Fuzzy Knowledge Builder: este un produs software folositor unui
proiectant de sisteme fuzzy; este un editor de reguli şi seturi fuzzy în
mod grafic.
2. Judgement Maker: este un soft de asistare a deciziei care
descompune un scenariu în părţi uşor de analizat (şi de descris
pentru expertul uman), după care înregistrează respectivele
componente şi alege alternativa optimă.
3. Fuzzy Engine este un program open source realizat în Java, oferă o
serie de clase şi metode permiţând evaluarea regulilor fuzzy (deci
integrarea raţionamentului fuzzy (evaluări) în software Java
(operaţii de intrare-ieşire); suportă evaluarea regulilor fuzzy în
formă simbolică; operatori şi/sau/not fuzzy; nesting; atribuiri
multiple; operatori de atribuiri necondiţionali; ponderări dinamice.
4. Fuzzy Logic Toolbox suportă proiectarea şi analiza sistemelor
bazate pe logica fuzzy (dezvoltare, documentare, proiectare,
simulare, implementare); oferă o interfaţă grafică atractivă şi multe
metode bazate pe logica fuzzy (cum ar fi clustere sau învăţare
automată).
5. Flex Tools ajută la construirea sistemelor fuzzy pentru scopuri de
cercetare şi de afaceri; codul sursă fiind inclus, este un instrument
uşor de adaptat în funcţie de necesităţi.
6. FLOPS este un nucleu de sistem expert fuzzy, creat acum zece ani,
derivat din limbajul non-fuzzy OPS5. Sistemul FLOPS oferă o
comandă fuzzy pentru a realiza această translatare într-un singur
pas. Există şi o comandă defuzzify pentru operaţia inversă.

Funcţii de apartenenţă pentru Control Fuzzy în sistemul FLOPS

FLOPS deţine un întreg set de comparaţii numerice


aproximative:
~< aproximativ mai mic decât
~< = aproximativ mai mic sau egal decât
~ = aproximativ egal cu
FLOPS deţine o comandă „defuzzify”, ce va realiza automat
procesul de defuzzificare. Vom ilustra un proces foarte simplu de
defuzzificare, utilizând numai reguli, fără comanda „defuzzify”.
Să presupunem că avem un rezultat de tip mulţime fuzzy, denumit
CANTITATE, ce are trei membri: YERO, MEDIU, MULT. Voi
asigna fiecărui astfel de membru o valoare corespunzătoare:

0 pentru ZERO
40 pentru MEDIU
100 pentru MULT.
De asemenea a mai fost declarată o dată REZ pentru a stoca
numărul rezultat.

if CANTITATE .ZERO = <Z>


and CANTITATE .MEDIU = <M>
and CANTITATE .MULT = <H>
then REZ = (<Z>*0 + <M>*40 + <H>*100) / (<Z> + <M> + <H>);

Sintaxa CANTITATE ZERO reprezintă nivelul de încredere


al membrului ZERO în cadrul mulţimii fuzzy CANTITATE.
În general însă nu se folosesc astfel de reguli, ci se definesc
funcţii de apartenenţă pentru mulţimea noastră fuzzy rezultată şi apoi
comanda “defuzzify”. Există mai multe proceduri de defuzificare
disponibile pentru controlul fuzzy, dar aplicaţiile de tip raţionamente
fuzzy nu necesită foarte multe opţiuni. În FLOPS, comanda
“defuzzify” are două opţiuni:
maxav -> media dintre valorile maxime
centroid -> pentru metoda “centroid”, des folosita în controlul
proceselor industriale

Figura 7.1 – Funcţiile de apartenenţă pentru defuzzificarea unei mulţimi


rezultat de tip fuzzy
Prima opţiune pentru defuzzificare – maxav – caută între
funcţiile de apartenenţă valorile maxime şi observă că ZERO îşi atinge
singurul maxim la REZ=0; aceasta este valoarea selectată ca fiind
reprezentativă pentru ZERO. Funcţia pentru MEDIU îşi atinge
singurul maxim la REZ=40 si MULT la REZ=100. Comanda
“defuzzify” utilizează în principiu aceeaşi formulă ca şi regula de
defuzzificare folosită mai sus, obţinându-se acelaşi rezultat:
REZ = Σ (val. Reprezentativa * încredere) / Σ încredere

7.4 Limbaje de programare permiţând modelare fuzzy

1. FuzzyCLIPS
O versiune extinsa de CLIPS ce suporta dezvoltarea sistemelor
experte fuzzy. Compatibil cu majoritatea platformelor ce suporta un
compilator ANSI C. Realizat de integrated Reasoning Group din
cadrul Institute for IT facand parte din National Research Council of
Canada. Extinde CLIPS oferind un mecanism de rationament fuzzy
perfect integrat cu faptele şi regulile CLIPS pentru reprezentarea şi
manipularea faptelor şi regulilor fuzzy. FuzzyCLIPS poate raţiona în
modul exact, fuzzy sau combinat. Introduce conceptele de imprecizie
şi incertitudine. Versiunea curentă (6.10c, Octombrie 24 2002)
realizată de Dave Woodman
2. FRIL este un limbaj de programare logică în condiţii de incerti-
tudine ce include Prolog ca un subset al limbajului, precum şi seturi
pentru raţionament fuzzy şi probabilistic. Această generalizare a
programării logice oferă un mediu puternic şi flexibil pentru
modelarea şi implementarea aplicaţiilor. Reprezentarea incertitudinii
se bazează pe teoria lui J.F. Baldwin despre exprimarea familiilor de
distribuţii de probabilitate (mass assignement). Pot fi folosite seturi
fuzzy continue sau discrete. Poate trata incertitudinea în date, fapte
sau reguli. În afară de regulile Prolog, exista trei tipuri de reguli
incerte: regula de bază, regula extinsă (folosită pentru aplicaţii cauzale
tip reţea) şi regula de evidenţă logică (pentru raţionament analog).
Caracteristici:
• suportă limbajul Prolog;
• stil de programare declarativ;
• sintaxă bazată pe liste; implementare portabilă în C; compilare
incrementală a clauzelor; unelte pentru debug;
• help online;
• dezvoltare uşoară a sistemelor expert;
• optimizarea codului;
• interfaţa cu ferestre;
• interfeţe cu limbaje procedurale; poate fi apelat într-un cod
procedural (într-un program C);
• rulează pe staţii de lucru Unix, PC-uri subwindows, maşini
Apple Macintosh. Cine foloseşte: "LIFE- laboratory for fuzzy
Engineering, japonia; Intera Ltd-Intelligent manageemnt of
geological data; British Aerospace; TMS (sfaturi pentru
dentişti); UK Defence Research Agency; British Airways
(monitorizarea datelor din cutiile negre).
Istoric: Denumirea este un acronim pentru Fuzzy Relational
inference Language, apărut în anii '70 pe baza cercetărilor lui Jim
Baldwin. În 1986, când compania Equipu AIR a dezvoltat un limbaj
de programare logică, nu i-a mai schimbat numele. în 1987 a fost
lansată prima versiune pentru MSDOS şi unix. În 1988, Equipu
AIR devine Fril Systems Ltd.; s-a ajuns la versiunea 5. Este
dezvoltat si comercializat de către Fril Systems Ltd.
Mediul de programare Cobalt AI SDK este un ansamblu de
unelte AI pentru dezvoltarea rapidă a aplicaţiilor AI pentru jocuri,
afaceri, previziuni, strategii legale, luarea deciziilor, analiza spectrală,
controlul calităţii, troubleshooting în VB.Net şi alte limbaje. Nu
necesită cunoştinţe speciale de AI.