Sunteți pe pagina 1din 7

CAPITOLUL 9

TEHNICI INTELIGENTE ÎN ECOLOGIE UTILITÂND ALGORITMI


HIBRIZI

9.1. METODE DE PROIECTARE A ALGORITMILOR HIBRIZI

Tehnicile inteligente utilizate în modelarea şi conducerea proceselor sunt: sisteme expert,


sisteme cu inferenţă si deducţie, sisteme fuzzy, reţele neurale si algoritmi gentici. Fiecare tehnică
de modelare si conducere este mai adecvată pentru o anume aplicaţie. De exemplu, reţelele
neurale sunt adecvate pentru recunoaşterea de imagini, iar sistemele fuzzy pentru sisteme in care
informaţiile de la operatorul uman au o pondere mai mare. Însă combinarea acestor două tehnici
poate oferi noi domenii de utilizare. De exemplu la conducerea unui proces de ardere într-un
cazan cu mai multi combustibili, o reţea neurală se poate folosi pentru predicţia temperaturii la
urmatorul moment de eşantionare, iar sistemul fuzzy pentru alegerea regimului optim de ardere,
realizându-se o reglare extremală a temperaturii.
Pentru a defini particularităţile tehnicilor inteligente se pot formula 4 criterii:

a) Achiziţia de cunoştinţe
În problemele de achiziţie de cunoştinţe, reţelele neurale si algoritmii genetici pot învăţa
din datele analizate, care sunt utilizate ca date de instruire si pot fi unificate cu ajutorul datelor
test. În achiziţia de cunoştinţe, sistemele expert sunt limitate deoarece eficienţa metodei depinde
de expertul consultat in domeniul problemei. Sistemele fuzzy nu pot extrage cunoştinţe din
informaţiile de prelucrat. Sistemele cu reguli de deducţie pot fi folosite pentru a automatiza
procesele de achiziţie de cunoştinţe, pentru a forma noi reguli si pentru decizii tip arbore.

b) Domeniul de utilizare
Metodele bazate pe tehnici inteligente de conducere a proceselor au particularităţi care le
recomandă pentru o anumită clasă de probleme. Astfel sistemele in logica fuzzy pot utiliza date
inexacte sau parţial corecte, in timp ce sistemele expert nu pot funcţiona dacă se modifică
modelul procesului, iar sistemele cu reguli de deducţie au dificultăţi in funcţionare dacă intervin
situaţii contradictorii.

c) Explicarea acţiunilor
Un utilizator al sistemului inteligent de conducere trebuie să înţeleagă acţiunile "gândite"
de către sistem, pentru a cunoaste in orice moment ce acţiuni ar trebui întreprinse dacă sistemul se
defectează. De exemplu, un sistem inteligent de diagnoză medicală, bazat pe tehnici expert oferă
explicaţiile necesare personalului, dar cele cu reţele neurale nu oferă aceste explicaţii.

d) Nivelul de gândire artificială

În tehnica proceselor de gândire artificială există o gamă foarte largă de funcţiuni, ca de


exemplu de nivel inferior la prelucrarea semnalelor de la un senzor si de nivel înalt, de exemplu
la recunoaşterea formelor la roboţi industriali. Astfel, reţelele neuronale, sistemele cu logica
fuzzy sunt adecvate pentru recunoaşterea de caractere, dar in analiza datelor in finanţe sau in
sisteme de navigaţie sistemele expert oferă rezultate mai bune.
Utilizarea sistemelor inteligente hibride permite realizarea unui progres tehnologic, astfel
in rezolvările unor probleme se poate combina o tehnică mai slabă într-un subdomeniu şi una
mai performantă pentru subproblema analizată. Combinând particularităţile fiecărei tehnici
inteligente, se poate extinde domeniul acestora de utilizare. În prezent se proiectează sisteme
inteligente cu o mare putere de procesare, ceea ce se poate realiza utilizând cele mai eficiente
tehnici pentru fiecare acţiune.

1
Există trei grupe de metode pentru proiectarea sistemelor inteligente hibride:
1. proiectarea de sisteme hibride la care o tehnică inteligentă este folosită pentru
implementarea algoritmului principal, dar printr-o altă tehnică se substituie o operaţiune a
acestuia. De exemplu o reţea neuronală este folosită pentru recunoaşterea de imagini, dar
ponderile acestei reţele neurale sunt calculate folosind algoritmi genetici.
2. proiectarea de sisteme hibride inteligente prin intersectarea unor tehnici, a unor
module care rezolvă diferite aspecte ale unei probleme complicate. De exemplu in probleme de
diagnoză a unor sisteme complexe de conducere, prin metode expert se definesc anumite
trăsături, simptome, iar cu o reţea neurală se calculează indicele de defectare.
3. proiectarea de sisteme hibride inteligente cu structuri uniforme, unde se
foloseşte o singură arhitectură de procesare, de tip multifuncţional, asigurându-se funcţionalitatea
diferitelor tehnici inteligente de procesare.
Grupele de metode pentru proiectarea sistemelor inteligente hibride oferă largi posibilităţi
in utilizarea eficienţa a fiecarei tehnici in rezolvarea unei probleme complexe, ca procesarea
inteligentă a semnalelor, luarea unor decizii financiare si înţelegerea limbajelor naturale. Prin
combinarea tehnicilor convenţionale de calcul statistic si de calcul numeric, se vor putea proiecta
instrumente program de mare eficienţă in rezolvarea unor probleme complexe. În general etapele
pentru proiectarea unui sistem inteligent hibrid sunt:
- definirea problemei, divizarea problemei in subtask-uri, pentru a delimita propietăţile
acestora
- alegerea tehnicii inteligente celei mai adecvate pentru subtask-uri si a metodei de
combinare a acestora
- implementarea procedurilor selectate prin instrumente program care să ofere o mare
elasticitate in rezolvarea problemei
- testarea instrumentelor program pentru validarea arhitecturii sistemului hibrid inteligent
si conceperea principiilor de mentenanţă, care asigură anumite performanţe când se modifică
rapid condiţiile de mediu.

9.2. UTILIZAREA ALGORITMILOR GENETICI PENTRU ACORDAREA UNUI


REGULATOR FUZZY LA CUPTOARE DE RECUPERARE

Pentru un cuptor de recuperare se pune problema arderii complete a materialelor


combustibile. În acest caz se impune utilizarea unui regulator cu logică fuzzy (RLF), deoarece nu
sunt disponibile cunoştinţe privind modelul matematic al procesului, existând însă recomnadări
din partea operatorului uman. Structura sistemului de reglare este prezentată in fig. 9.1.:

RLF
de du Fig.9. 1
D y
r
+ I Proces
e SF
-

Prin 'D' s-a notat elementul pentru derivarea erorii de reglare, prin I, elementul de
integrare si prin SF - subsistemul cu logica fuzzy. Prin proiectarea acestui sistem se impune ca
procesul tranzitoriu pentru o referinţă sub formă de treaptă să intre într-o zonă impusă, delimitată
de două exponenţiale, într-un timp minim, fig.9.2.

2
Iesirea sistemului y=f(t), 1=referinta

1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Fig. 9.2.

Un regulator cu logica fuzzy (RLF) are un număr mare de parametrii de acordare, în


funcţie de apartenenţa si reguli, care determină performanţele sistemului de reglare. Dacă un RLF
emulează un regulator liniar PID, PD etc, atunci există unele proceduri de acordare. Dacă RLF
este proiectat pe baza cunoştinţelor unui expert şi dacă se pune problema optimizării sistemului
folosind o funcţie cost, atunci problema este de mare complexitate pentru că există un număr
mare de parametrii de acordare şi se poate folosi un algoritm genetic ("genetic algorithms").

a) Codificare genetică a sistemelor fuzzy


Codificarea unei probleme de optimizare este cheia succesului in aplicarea unui algoritm
genetic (AG). Funcţiile de apartenenţă ale semnalului de intrare sunt de tip trapezoidal si sunt
definite de patru parametrii. Se aleg parametrii de optimizare, deci o codificare specială, fig. 9.3.
Poziţia unei funcţii de
apartenenţă se defineşte in raport µ
cu funcţiile vecine, adică printr-un
parametru de poziţie a două funcţii
adiacente.
Conform notaţiilor din fig.9.3,
parametrii fs, fd si f, care definesc
forma funcţiei de apartenenţă sunt:
pj+1
pj Semnal
fs = ps / (pj - pj-1) intrare
ds dd
fd = pd / (pjH - pj) ps pd
Fig. 9.3.
f = dd / pd = ds / ps

Parametrul fp care defineşte poziţia


funcţiei de apartenenţă este definit astfel:

fp = (pj - pj-1) / (pj+1 - pj)

Pentru operaţia de codificare, genele funcţiilor de aprtenenţă sunt definte prin relaţiile:
a) gena1: reprezintă o funcţie de comutare, astfel pentru gen1<0 funcţia de apartenenţă
respectivă nu există, si prin gen1>=0 aceasta există

3
b) gena2: defineşte poziţia funcţiei de aparteneneţă prin relaţia:

fp = exp (gen2*ln(fp,max))

c) gena3: defineşte ramura din stânga a funcţiei de apartenenţă:

fs = exp (gen3*ln(fs,max))

d) gena4: defineşte ramura din dreapta a funcţiei de apartenenţă:

fd = exp (gen4*ln(fd,max))

e) gena5: defineşte forma triunghiulară a funcţiei de apartenenţă:

f = (gen5 + 1) / 2

S-a considerat că funcţiile de apartenenţă ale comenzii sunt de tip singular, adică având valori
unice. În mod identic se definesc 6 gene care fixează parametrii de vecinatate a două funcţii de
apartenenţă. Prin alegerea acestui mod de codificare, toate genele sunt numere reale in gama (-
1,+1) si deci semnificaţia genelor rezultă din valoarea numerică a acestora. În mod identic se
codifică genele pentru regulile sistemului fuzzy. Prin tabelul cu reguli de deducţie se defineşte o
regulă, care este determinată de două gene. Prima genă cu număr impar este o funcţie de
comutare care activează sau nu regula respectivă, iar a doua, cu număr par, este un număr care
indică funcţia de apartenenţă a semnalului de ieşire.
Prin modul ales de codificare a genelor, dacă o funcţie de apartenenţă este dezactivată,
atunci nu se formează un loc gol, deoarece funcţiile de apartenenţă se deplasează până când au
ramuri vecine. Deasemeni alegerea genelor pentru codificarea tabelului de reguli permite ca
semnalul de ieşire să fie relativ independent de numărul de apartenenţă ale acestuia.
Algoritmul genetic utilizat, fig.9.4, constă in selectarea aleatoare a trei părinţi din
populaţia actuală, dintre care cel mai puţin eficient este înlocuit cu copilul a celorlalţi doi mai
buni.
Alegerea populaţiei
iniţiale

Selectare
Părinţi părinţi Recombinare

Mutaţie

Selectare Copii

Fig. 9.4.
Funcţii cost
Ca funcţie de evaluare se consideră performanţele răspunsului sistemului de reglare pentru
un semnal treaptă a referinţei.
Cea mai Scopul
bună utilizării algoritmilor genetici de proiectare a regulatorului
cu logica fuzzy este ca raspunsul sistemului să fie in jurul unui răspuns impus din considerente
variantă
tehnologice.

4
9.3. PROIECTAREA SISTEMELOR FUZZY DE CONDUCERE FOLOSIND REŢELE
NEURALE ŞI ALGORITMI GENETICI

Pentru proiectarea unui sistem fuzzy de conducere sunt, in general, suficiente cunoştinţele
euristice, obţinute prin interviuri cu operatorul uman. Atât algoritmii fuzzy, cât si reţeleLE
neurale, pot fi utilizate pentru sisteme neliniare, unde tehnicile clasice nu oferă soluţii practice din
cauza timpului mare de calcul necesar. Astfel cu reţele neurale se pot forma modele neliniare ale
procesului, care sunt utilizate in sisteme adaptive de conducere. Însă proiectarea unei reţele
neurale necesită utilizarea unor metode de gradient, deci calculul unor derivate parţiale ale
criteriului de optimizare. În acest sens algoritmii genetici reprezintă o clasă de metode care nu
folosesc derivate parţiale, ei mimând evoluţia organismelor vii in natură. Pentru a aplica un
algoritm genetic este necesară codificarea datelor in vederea obţinerii unor grupuri de biţi, care să
fie manipulate printr-un algoritm genetic.
Ca exemplu de utilizare a algoritmilor genetici si a reţelelor neurale pentru acordarea unui
sistem cu logica fuzzy, se reprezintă o arhitectură a unui sistem de conducere pentru un bioreactor
(fig. 9.5.). Deoarece bioreactorul este definit prin modele matematice neliniare, pentru cercetări
experimentale in vederea proiectării algoritmului de conducere se foloseşte o reţea neurală care
modelează procesul.

r u
Modul Functii Algoritmi
Retea genetici
fuzzy cost
neurala
Y

Fig. 9.5
Proiectarea sistemului de conducere are urmatoarele faze:
a) Alegerea algoritmului fuzzy de conducere
Pentru domeniile cunoscute de variatie a marimilor de referinta si a comenzilor se aleg
variabilele lingvistice si tabelul de reguli de deductie. Ca lege de reglare se poate lua un regulator
fuzzy de tip incremental, care pentru o lege de reglare P1 marimea de comanda este definita prin
relatia:

∆u(t) = Kp∆e(t) + Kje(t),

unde primul termen defineste componenta proportionala, iar al doilea componenta integrala.
b) Alegerea structurii modelului cu retele neurale
Intrarea retelei neurale o reprezinta marimea de comanda, iar iesirea - marimea reglata y
din bioproces. Pentru procese cu modele neliniare se poate folosi o retea neurală de tip perceptron
multistrat, la care ponderile se calculeaza prin metoda propagarii inverse.
c) Alegerea algoritmului genetic
Utilizarea algoritmului genetic are ca scop optimizarea sistemului de conducere prin
determinarea unui algoritm fuzzy pentru care minimizeaza un criteriu de performanta al
sistemului, ca de exemplu

tf

I ( p j ) = ∫ r ( t ) − y (t , p j ) dt
0

5
unde tf este intervalul de timp, r - marimea de referinta, iar pj - vectorul parametrilor regulatorului
fuzzy. Dupa codificarea datelor de intrare ai algoritmului genetic, alegerea dimensiunii populatiei
care se manipuleaza genetic, se aleg algoritmii de reproducere, de evaluare si de selectare.
Scopul cercetarilor experimentale este de a determina parametrii functiilor de apartenenta
pentru variabilele lingvistice ale erorii de reglare, a derivatei acesteia si ale marimii de comanda.
Daca modelul matematic contine un parametru care depinde neliniar de marimea de comanda, ca
de exemplu, constanta de proportionalitate, atunci in functie de gama de variatie a acestora se
intocmesc mai multe tabele de reguli, care se folosesc la fiecare etapa de calcul in functie de
starea sistemului (e, ∆e si u).
Deoarece aplicarea algoritmilor genetici nu necesita calculul unor derivate, acesti
algoritmi se pot utiliza si pentru proiectarea tabelelor de reguli. Daca procesul studiat nu este
stationar, atunci regulatorul fuzzy optimal proiectat poate sa devina neadecvat in timp, obtinandu-
se performante slabe ale sistemului de conducere. In acest caz este necesara utilizarea unor
modele adaptive, ceea ce permite mentinerea in timp a performantelor sistemului de conducere.

9.4.PROIECTAREA REŢELELOR NEURALE FOLOSIND ALGORITMI GENETICI

ApariŢia circuitelor integrate specializate de tip VLSI si extinderea utilizarii metodelor de


calcul paralel, a dus la utilizarea retelelor neurale in rezolvarea unor probleme cu modeLE
neliniare. Instruirea unei retele neurale urmareste alegerea topologiei retelei si a ponderilor, a
polarizarilor si a functiilor de activare. In practica utilizarii retelelor neurale se alege initial
topologia retelei si din considerente teoretice se alege si tipul de functie de activare. Deci
proiectarea unei retele neurale consta in calculul ponderilor, polarizarile fiind incluse in aceasta
problema, cu ponderea unu.
Un algoritm genetic necesita adoptarea unui mod de codificare, alegerea unei functii de
apreciere, alegerea unei metode de initializare a populatiei de cromozomi si aplicarea unui
mecanism de reproducere si selectare. Avantajul esential al algoritmilor genetici il constituie
faptul ca se pot obtine rezultate bune si cand exista mai multe optime locale.
Daca se foloseste o retea neurala pentru prelucrarea unor date definite prin K-trasaturi şi
M clase, atunci este necesar ca numarul de noduri de intrare sa fie K, iar cel de iesire sa fie M.
Asfel la aplicarea unor valori ale trasaturilor la intrarea retelei, dupa propagarea starilor prin
reteaua neurala, la iesirea acesteia se obtine tipul de clasa.
Utilizarea algoritmilor genetici pentru calculul ponderilor unei retele neurale necesita
alegerea unei forme de reprezentare a cromozomilor, a functiei de evaluare, a unor proceduri de
initializare si a algoritmului de reproducere si selectare.

9.5. PREPROCESAREA PRIN METODE FUYYZ A DATELOR PENTRU REŢELE


NEURALE

Volumul mare de date de la traductoare nu inseamna ca se primesc informatii noi. Din


acest motiv utilizarea retelelor neurale pentru probleme de diagnoza a unor procese tehnologice
necesita folosirea unor noi tehnologii pentru preprocesarea datelor. Astfel folosind metode fuzzy
pentru preprocesarea datelor introduse intr-o retea neurala, prin aceasta, dintr-un volum mare de
date se pot extrage niste caracteristici esentiale si la intrarile retelei se poate transmite un volum
mai mic de date. Dar marele avantaj al preprocesarii datelor de intrare consta in usurarea
procesului de instruire a retelei neurale. O retea neurala poate identifica interactiunile intre
variabilele de intrare si permite realizarea unor modele care vor predicta iesirea pentru date de
intrare cunoscute. Pentru a transforma datele de intrare intr-o forma mai accesibila pentru retele
neurale care sa reflecte relatii de productie, este necesara reprezentarea variabilelor de instruire

6
sub forma de multimi fuzzy. Cea mai utilizata forma pentru functiile de apartenenta este forma
piramidala trunchiata (fig.9.6)
Relatiile prin care o variabila
x este convertita intr-o multime de
functii de apartenenta sunt deduse µ(x)
introducand constante intermediare: y

C1 = 1 / (b - a)

C2 = 1/ (e - d)
x
g = (aC1 - dC2) / (C1 - C2) a b c d
d
h = (g - h) / C1 Fig. 9.6

In functie de aceste constante se determina valoarea functiei de apartenenta u(x)=f(h,g,C1,C2,x),


pentru un x-dat.

Prin inlocuirea variabilelor de intrare cu 3 sau 4 functii de apartenenta fiecare, creste


numarul de intrari al retelei neurale, dar informatiile de intrare vor fi deja preprocesate si va fi
mai usor de gasit o relatie, un model neliniar pentru seturile de intrare.
Insa problema preprocesarii semnalelor, datelor de intrare, folosind tehnici fuzzy necesita
cercetari preliminare, ca de exemplu, la analiza datelor obtinute prin chestionare de colectare a
datelor, la predictia pietei finainciare, etc. Dar preprocesarea datelor folosind tehnici fuzzy
permite obtinerea de modele fiabile implementate pe retele neurale.