Sunteți pe pagina 1din 41

Universitatea POLITEHNICA București

Facultatea Automatică şi Calculatoare


Departamentul Automatică şi Informatică Industrială

LUCRARE DE LICENŢĂ

Analiza si predicția evoluției educaționale a studenților. Studiu de


caz: studenții din mobilitați ERASMUS

Absolvent
Barbu Bogdan-Daniel

Coordonator
Prof. Univ. Dr. Ing. Dan Mihail Caramihai

București
2018
Cuprins
CUPRINS ......................................................................................................................... 2
1. INTRODUCERE
1.1. Justificarea temei .............................................................................................. 4
1.2. Obiective generale ............................................................................................. 5
1.3. Scopul lucrării ................................................................................................... 5
1.4. Strategia cercetarii ............................................................................................. 5
2. TEORIA COMPORTAMENTULUI PLANIFICAT
2.1. Descriere ............................................................................................................ 6
2.2. Puncte forte ........................................................................................................ 7
2.3. Limitări .............................................................................................................. 7
3. LOGICA FUZZY
3.1. Introducere ......................................................................................................... 7
3.2. Logica fuzzy – Sistem de inferență ................................................................... 8
3.2.1 Structura unui sistem fuzzy ............................................................................. 9
3.2.2. Clasificarea metodelor inferențiale fuzzy........................................................ 9
3.2.3. Metoda Mamdani ........................................................................................... 9
3.2.4. Defuzzificarea .............................................................................................. 10
4. ARHITECTURA SOFTWARE
4.1. Introducere ....................................................................................................... 10
4.2. Front-end ......................................................................................................... 11
4.2.1. Angular 5 ...................................................................................................... 12
4.2.1.1. Securitatea aplicației .................................................................................. 14
4.3. Back-end .......................................................................................................... 14
4.4. Fluxul informației ............................................................................................ 16
4.5. Simulare ........................................................................................................... 16
5. PLATFORMA ERASMUS
5.1. Ecrane .............................................................................................................. 19
5.2. Generare de rapoarte ..................................................................................... 24
5.3. Baza de date .................................................................................................... 25
6. ANALIZA SI PREDICȚIA EVOLUȚIEI
6.1. Analiza datelor de intrare .............................................................................. 26

2
6.2. Sistem de inferență de tipul Mamdani .........................................................................31
6.2.1. Fuzzificarea datelor de intrare ...................................................................................32
6.2.2. Baza de cunoștințe .....................................................................................................34
6.2.3. Procesul de inferență fuzzy .......................................................................................35
6.2.4. Deffuzificarea............................................................................................................36
7. CONCLUZIE
7.1. Note de final .................................................................................................................37
8. BIBLIOGRAFIE .............................................................................................................39
9. ANEXE............................................................................................................................40

3
1. Introducere

1.1. Justificarea temei


Proiectul propune o soluție pentru analiza evoluției comportamentale a studenților, având
în prim plan studenții din mobilități ERASMUS. Acesta va trata pe deoparte modul în care
sunt gestionate la momentul actual informațiile despre studenți, oferind o modalitate on-
line de înscriere a studențiilor la acest program, iar pe de altă parte le va oferi un feedback
despre impactul pe care l-a avut acest schimb de experiență asupra evoluției lor.

Utilizarea metodelor curente de înregistrare a studenților în programul ERASMUS,


completarea fișelor fizice necesare închiderii acordului dintre cele doua facultăți pentru a
susține această mobilitate este învechit și problematic, deoarece este nevoie de completare
de fișe, de stocarea acestora, care poate duce la o eventuală pierdere a informațiilor despre
student. Pentru a elimina spațiul de stocare al documentelor referitoare la fiecare student în
parte, proiectul vine in ajutor cu o platformă on-line care permite introducerea datelor
despre studenți, introducerea datelor aferente închiderii acordului pentru mobilitate, cât și a
datelor necesare depunerii cererilor pentru cazare. Mai mult, daca se dorește ca aceste date
să fie salvate în format fizic, platforma dispune opțiunea de tiparire.

Din alt punct de vedere, în momentul de față nu exista, din partea facultataților, un
feedback oferit studenților care participa la acest program, după finalizarea mobilitații.
Astfel, proiectul propune pe deoparte analiza factorilor care i-a motivat pe studenți să
participe la acest program, aici punându-se accent pe teoria comportamentului planificat
din psihologie propusă de catre Icek Ajzen in anul 1985, analizând factori precum
atitudinea studentului față de aceasta inițiativa, normele subiective care au avut impact
asupra deciziei de a participa la mobilitate, cat și factori ce țin de limitarea acestei decizii.
Pe de alta parte, se vor analiza si rezultatele tehnice, punând in lumină interesul individului
acordat studiilor pe perioada mobilitații, ținandu-se cont si de istoricul evaluărilor de la
facultatea pe care o urmeaza. În final, având aceste date despre participanți, aplicația va
genera o concluzie obiectivă referitoare la parcursul lor.

Așadar, lucrarea gestionează și analizează datele studenților care au decis sa aibă o ruptură
evolutivă de la ceea ce au început să studieze la ei in țară, oferindu-le un raspuns calitativ
despre alegerea efectuată.

1.2. Obiective generale


Principalul obiectiv al acestui proiect este de a oferi studenților, după finalizarea mobilitații
din programul ERASMUS, un feedback orientativ despre evoluția acestora în domeniul pe
care l-au ales să îl studieze la noi în țară, bazat pe concepte din teoria comportamentului
planificat.

4
Proiectul prevede atingerea urmatoarelor faze de dezvoltare și de cercetare:

o Crearea unei platforme on-line care permite înregistrarea datelor despre studenți
necesare programului ERASMUS
o Crearea unui spațiu de stocare, adică a unei baze de date, pentru salvarea acestor
informații introduse in aplicație.
o Analiza din punct de vedere al teoriei comportamenului planificat elaborată de Icek
Ajzen.
o Construirea unui sistem fuzzy pentru prelucrarea acestor date si generarea de
feedback.

1.3. Scopul lucrării


Scopul proiectului este de a analiza pe baza Teoriei Comportamentului Plănuit (Ajzen,
1985) factori precum atitudinea, normele subiective, controlul asupra comportamentului și
prezicerea cu ajutorul unui sistem de interferență fuzzy a evoluție comportamentate a unui
student care participă la programul de mobilitați ERASMUS.

1.4. Strategia cercetării


Teoria comportamentului planificat afirmă că atitudinea față de comportament, normele
subiective si controlul comportamental perceput sunt factorii care influențeaza intenția
unui individ asupra unui comportament, urmând ca acesta sa acționeze în consecință.

Fig. 1. Teoria comportamentului planificat

5
Pentru a înțelege de ce un student dorește să aplice la o mobilitate în cadrul programului
ERASMUS, trebuie să analizăm atitudinea si acțiunile pe care le-a desavârșit în vederea
participării la acest program. De exemplu, dacă interesul i-a fost stârnit în urma unor
cursuri pe care le-a urmat și care au legatura cu domeniul pe care urmează să îl studieze la
noi in țară, înseamnă că acesta a efectuat o acțiune de schimbare a evoluției lui personale,
adică desemneaza o dorință de a încerca un domeniu nou față de cel pe care îl studiază în
momentul actual. Acesta este un factor important care indică o curiozitate a individului de
a avea o ruptură in evoluție.

Infulențele oamenilor din mediul său social, aici luându-se în considerare familia, prietenii,
cât și persoanele cunoscute lui care au legătură cu domeniu ales sa îl studieze in acest
program, trebuie luate in considerare. Acestea pot fi puse in categoria normelor subiective
care au influență asupra intenției lui comportamentale.

Totodată, o pondere destul de mare o reflectă dificultatea pe care o reprezintă alegerea de


participare la acest program. Sunt analizați factori care infulențeaza decizia lui
comportamentală cum ar fi anul de studiu în care dorește să dispună de această mobilitate
și viziunea despre eventualele posibilitați de angajare pe care le ofera acest domeniu în
comparație cu cele oferite de facultatea la care studiaza în prezent. Acești factori sunt puși
in cateogria de control asupra comportamentului și pot influența decizia evolutivă a
studentului.

Țoti acești factori sunt analizați separat și puși cap la cap sub forma de intrari într-un
sistem fuzzy care pe baza unor reguli vor genera un răspuns, o ieșire. Această ieșire va
oferi informații despre evoluția studentului, adică în ce proporție a fost benefică această
schimbare comportamentă și dacă reprezinta o mai bună alternativă pentru a continua
studiile în acest domeniu comparativ cu domeniu studiat inițial.

2. Teoria comportamentului planificat

2.1. Descriere
Teoria comportamentului planificat a fost propusă de catre Icek Ajzen în anul 1985.
Aceasta a fost dezvoltată pentru a explica comportamentul unui individ în lipsa contolului
deplin asupra factorilor care îl influențează.

Potrivit teoriei comportamentului planificat, intenția de a efectua un comportament este


determinată de atitudine, norma subiectiva si de controlul comportamental perceput (Vezi
Fig. 1.).

Cațiva ani mai tarziu Ajzen (1991) a menționat că intenția indică în ce masură oamenii iși
doresc să efectueze comportamenul și cât de mult sunt aceștia pregatiți să îl exercite pentru
a îl realiza.

6
Atitudinea fată de comportament a unei persoane se referă la evaluarea pozitivă sau
negativă față de ceea ce reprezintă comportamenul acestuia.

Norma subiectivă se referă la percepția față de comportament a oamenilor apropiați


individului.

Controlul perceput al comportamenului se referă la dificultatea sau ușurința pe care o


presupune efectuarea comportamuntului.

În final, combinând cei trei factori rezultă că, o atitudine pozitivă față de un comportament,
o normă subiectivă pozitivă și un nivel ridicat al controlului perceput determina o intenție
puternică de a efectua acest comportament.

2.2. Puncte forte


 Poate fi aplicată într-o gama largă de domenii.
 Poate explica comportamentul unui individ
 Oferă o predictabilitate destul de buna a intenției în diferite domenii,
fiind utilizată mai mult in domenile care au legatură cu sanătatea

2.3. Limitări
 Nu ia în considerare alte variabile care influenteaza intenția și comportamentul.
De exemplu, starea de spirit, amenințarea etc.
 Nu sunt luați in considerare factorii de mediu sau cei economici care pot
influența comportamentul.

Până în prezent, teoria comportamentului planificat a fost utilizată în peste 1200 de


aplicații, cum ar fi: Academic Search Premiere, PsycINFO.

3. Logica fuzzy
3.1. Introducere
Logica fuzzy seamană foarte mult cu modul în care persoanele iau decizii și se ocupa de
informații imprecise și vagi.

Termenul de logică fuzzy a fost introdus în anul 1965 în teria seturilor de către Lotfi
Zadeh. Cu toate acestea, logica fuzzy a fost descoperită cu mult timp înaintea acestui an,
dar cunoscută sub termenul de logica infinitului.

Dacă abordarea clasică (cea booleană) este cu doua valori de adevăr, 0 reprezentând fals si
1 reprezentânt adevărat, logica fuzzy spune că valoarea de adevăr poate lua orice valoare

7
din intrevalul [0,1]. Prin urmare, putem să avem valori precum complet fals, parțial fals,
parțial adevărat, complet adevărat etc..

Abordarea logicii fuzzy aduce în prim plan faptul că imita modul uman de luare a
deciziilor, care poate implica toate posibilitațile intermediare între valorile de adevărat sau
fals.

Datorită acestor abordări logica fuzzy este aplicată în multe domenii cum ar fi inteligența
arficială, control de sistem etc..

Acest proiect utilizează sistemul de deducție din logica fuzzy pentru a procesa datele
introduse și a oferi o ieșire corespunzatoare.

3.2. Logica Fuzzy – Sistem de inferență


Un sistem de inferențe fuzzy reprezintă cheia unui sistem logic fuzzy, având ca principal
scop luare de decizii pe baza unor reguli. Cu alte cuvinte scopul lui este de a mapa un
spațiu al intrărilor la un spațiu al ieșirilor folosind logica fuzzy.

O funcție de apartenența pentru un set fuzzy A pe universul de discuție X este


μA: X → [0, 1], unde fiecare element al lui X este mapat la o valoare cuprinsă intre 0 și 1.
Această valoare este numită grad de apartenență sau valoare de membru și cuantifică
gradul de apartenență al elementului X la setul fuzzy A.

Forma funcției de apartenență:

o Trapezoidală
o Triunghiulară
o Gaussiană

Notă: Există mai multe forme ale funcției de apartenență decat cele prezentate.

Regulile pe care le folosește acest sistem sunt de forma:

IF INPUT_1 IS A AND INPUT_2 IS B THEN OUTPUT IS C

Semnificația acestora este:

o Prima parte a regulii ( IF - IS) se numește antecedent sau premisă, iar partea a
doua ( THEN – IS) se numește consecință sau concluzie.
o A, B și C sunt valori lingvistice definite de seturi fuzzy în universurile de
discuție X, Y și Z.
o INPUT_A, INPUT_B, INPUT_C sunt valorile de intrare, iar OUTPUT_C este
valoare de ieșire.

8
3.2.1. Structura unui sistem fuzzy

Fig. 2. Sistem de inferență fuzzy

 Procesul de fuzzificare transformă intrăile din sistem, care sunt in formă tranșată
(clare), în seturi fuzzy.
 Baza de cunoștințe stocheaza regulile IF-THEN.
 Sistemul de inferență simulează procesul raționamentului uman. Face inferența
asupra mărimilor de intrare si a regulilor IF-THEN.
 Defuzzificarea transformă setul fuzzy obținut anterior într-o valoare tranșată
(clară).

3.2.2. Clasificarea metodelor inferențiale fuzzy


Metodele inferențiale fuzzy sunt clasificate in:

o Metode directe: Mamdani, Sugeno


o Metode indirecte

Cea mai raspandită metoda este cea Mamdani. Metodele indirecte sunt mai complexe.

În această lucrare este folosită metoda Mamdani.

3.2.3. Metoda Mamdani


Metoda inferenței fuzzy a lui Mamdani este cea mai frecvent utilizată metodologie.

Aceasta a fost propusă în anul 1975 de către Ebrahim Mamdani printr-o încercare de a
controla motoarele cu aburi și cazane prin sintentizarea unui set de reguli de control
lingvistic.

9
Metoda lui Mamdani este cea mai utilizată in aplicații, deoarece folosește metoda de min-
max.

Metoda de min-max se referă la operatorii AND și OR astfel încat, dacă avem două intrări
cu operatorul AND între ele, ieșirea va fi minimul ariei suprafeței primei intrări. La polul
opus, în cazul în care avem OR, ieșirea va fi maximul ariei.

Această metodă presupune 4 pași care vor fi detaliați la partea de implementare:

1. Evaluarea antecedentului fiecărei reguli


2. Obținerea concluziei fiecărei reguli
3. Agregarea concluzilor
4. Defuzzificarea rezultatului

3.2.4. Defuzzificarea
Defuzzificarea este procesul prin care se trece de la o valoare din setul fuzzy la un număr
tranșificat.

Există multe metode folosite pentru defuzzificare, câteva dintre ele sunt:

o AI (Adaptive Integration)
o BADD (Basic defuzzification distribution)
o COA (Center of area)
o COG (Center of gravity)
o ECOA (Extended center of area)

Cea mai frecvent utilizată metodă este COG, prin urmare aceasta este metoda aleasă în
acest proiect.

4. Arhitectura software

4.1. Introducere
Dezvoltarea platformei ERASMUS presupune construirea unui website unde studenții se
pot înregistra și înscrie la programul pentru mobilitați ERASMUS. După finalizarea
studilor aferente programului, aceștia pot utiliza funcția de predicție evolutivă pentru a
pleca cu un feedback din partea facultății.

Proiectul este împărțit în două ramuri:

1. Partea de front-end
2. Partea de back-end

Website-ul (fron- end) este vazut ca și parte de client (client-side), deoarece toate
operațiunile sunt făcute pe mașina clientului.

10
Un exemplu de operațiune ar fi: introducerea datelor în ecran, salvarea acestora în obiecte
JavaScript, apoi utilizarea serviciului http pentru transmiterea de informații către back-end
(server-side).

Partea de back-end este stocată pe o mașină separată față de cea a clientului, de obicei o
mașină de calcul perfomantă, deoarece aceasta necesită să facă operațiuni complexe care
au nevoie de putere de calcul.

Acest proiect folosește parte de back-end pentru a comunica cu baza de date, a salva datele
venite din front-end, dar și pentru prelucrarea datelor și implementarea sistemului fuzzy.

Ținând cont de faptul că dezvoltarea platformei ERASMUS conține partea de proces fuzzy
care necesită putere de procesare și parte vizuală în care studentul introduce date, s-a ales
împărțirea platformei în cele două părți.

4.2. Front-end (Nivelul prezentare)


Partea de front-end este tot ceea ce vede clientul. Aceasta cuprinde și limbaje de desing
cum ar fi HTML și CSS, dar și limbaje cu ajutorul cărora se introduc functionalități în
paginile web, cum ar fi JavaScript.

În continuare se vor prezenta succint limbajele de design, cât și cele care aduc dinamică
paginilor web.

HTML – scurtă descriere

Denumirea de HTML vine de la Hyper Text Markup Language și este un limbaj standard
de creare a paginilor web.

Acest limbaj descrie structura paginilor . Elementele HTML sunt blocurile de bază a unui
web site. Acestea sunt reprezentate sub formă de etichete care nu sunt afișate, ci sunt
folosite pentru a reda conținutul paginii web.

CSS – scurtă descriere

Denumirea de CSS vine de la Cascading Style Sheets și este folosit pentru a aranja
elementele HTML în pagină și pentru a le aduce la forma dorită din punct de vedere al
design-ului.

JavaScript – scurtă descriere

JavaScript este un limbaj de nivel înalt orientat pe obiecte ca și multe altele precum Java,
C# etc.. Are la bază conceptul prototipurilor si multi-paradigmelor.

Este utilizat în introducerea de funcționalitați în paginile web, o caracteristică importantă


fiind faptul că este dinamic.

Împreună cu HTML și CSS, acesta face parte din principalele tehnologii folosite pe
internet.

11
În timpul nostru, majoritatea paginilor folosesc JavaScript, iar aproape toate browserele
conțin compilator pentru acesta.

Acest proiect combină aceste 3 limbaje, astfel pentru partea de front-end a fost ales
framework-ul Angular care combină cele trei limbaje facând dezvoltarea paginilor web
facilă dezvoltatorilor.

Pentru platforma ERASMUS am ales versiunea 5 de Angular, deoarece aceasta era actuală
la momentul dezvoltarii proiectului.

4.2.1. Angular 5
Angular este o platformă gratuită de creare a aplicaților web. De la versiunea de 2+ încolo
înlocuiește JavaScript-ul cu TypeScript, care totuși are la baza JavaScript.

Pentru instalarea de pachete se folosește npm care este un manager de pachete pentru
limbajul JavaScript.

Arhitectura Angular este simplă și este formată din module. Modulele conțin componente
care vor fi explicate mai jos. Componentele pot avea asociate fișiere HTML și CSS.
Un modul mai poate conține si servicii care se mai numesc și furnizori. Denumirea de
servicii vine de la faptul că aceste fișiere se injectează in componente oferind servicii
pentru a efectua o cerere către back-end sau alte funcții.

Principalul avantaj este că aceste servicii sunt de fapt singleton-uri, adică se crează o
singură dată și există un singur exemplar în toată aplicația.

Partea de front-end a aplicației este dezvoltată in versiunea 5 de Angular.


Ca multe platforme, Angular dispune de un model arhitectural de creare a aplicaților. În
cazul platformei Erasmus a fost aleasă arhitectura MVC ( Model-View-Controller) (Vezi
Fig. 3.).

12
Fig. 3. Arhitectura MVC

Controller-ul reprezintă un fișier TypeScript ( cu extensia .ts) și face referire la locul unde
se scrie toată logica unei pagini web. Una dintre functionalitațile controller-ului este de a
permite manipularea de rute.

Modelul este reprezentat de totalitatea obiectelor JavaScript definite pe aceea pagină. De


obicei, acesta are o mapare de unu la unu cu un obiect de pe partea de back-end.

View se refera la fișierele HTML și CSS, adică tot ce este vizualizat de către utilizator.

Astfel, atunci cănd utilizatorul iși actualizează datele introduse, acestea vor fi transmise
către controller, acesta va notifica modelul în vederea actualizării obiectelor din interior,
urmând ca acesta să se întoarca la controller, apoi se afișeaza rezultatul.

Acest model arhitectural este printre cele mai răspandite modele, deoarece separă logica de
business de interfața cu utilizatorul, rezultând o platforma unde nivele interioare cu reguli
de business sunt separate de cele vizuale si totodată sunt ușor de modificat.

S-au folosit biblioteci și componente oferite ca suport de către Angular.


Din aceasta categorie fac parte modulele de calendar, tabel, slider, dropdown, checkbox
etc., care sunt luate din Angular Material pus la dispoziție de dezvoltatorii Angular.

În plus, pentru stilizarea aplicației s-au folosit componente din Bootstrap 4.

13
4.2.1.1. Securitatea aplicației
Securitatea aplicației se bazează pe conceptul de token.

Conceptul din spatele autentificarii bazate pe token este că utilizatorul trebuie o singură
dată să apeleze partea de server cu numele și parola. Serverul trimite înapoi un token care
este salvat, iar în momentul în care se dorește acces la o anumita resursă de pe server,
utilizatorul va trebui să trimită doar token-ul astfel încat parola nu va mai fi necesară.

Fig. 4. Generare de token pe partea de back-end.

Pentru îmbunatățirea securității se recomandă ca token-ul să aiba o perioadă de valabilitate


bine aleasă, astfel încat la un moment dat să expire și să ceară din nou introducerea parolei.

4.3. Back-end (partea de server)


Partea de back-end cuprinde zona unde se primesc cererile de pe front-end, se execută
cererile, apoi se comunică cu baza de date, urmând să întoarcă un anumit raspuns pe partea
de front-end, tot printr-o cerere utilizând serviciul de http.

Zona de server este cea care se ocupă de procesarea volumului mare de date, trimițând
către partea de client doar datele de care are acesta nevoie, deoarece partea de comunicare
dintre back-end și front-end este cea mai costisitoare de timp.

Logica pe partea de server nu este cu mult diferită față de cea de pe partea de client. Astfel,
componenta care stă și ascultă pentru cereri venite de pe front-end se numește controller.
Într-o aplicație există mai multe controllere cu diferite rute. Exemplu de rută: api/student
sau api/profesor. La pornirea aplicație se face o mapa (cheie, valoare) cu fiecare controller
către ce ruta așteaptă cereri.

Presupunem ca utilizam exemplul de mai sus în care avem doua rute aferente la două
controllere. Astfel, în momentul în care o cerere a venit, aceasta este cautată in mapa cu
rute. Dacă nu este gasita, cererea se va pierde și nu va intra pe niciun controller default.
În cazul în care ruta se potrivește cu una de pe controller, atunci controller-ul se duce fix pe
funcția unde s-a potrivit. Fiecare funcție din controller are o adnotare care reprezintă tipul
serviciului http.

14
Pot exista 4 tipuri de servici HTTP:

1. GET
2. POST
3. PUT
4. DELETE

GET este folosit atunci când se aduc date din baza de date.
POST este folosit atunci când se introduc date în baza de date
PUT este folosit atunci când se actualizează date existente în baza de date.
DELETE este folosit atunci când se șterg anumite date din baza de date.

Din controller se apelează o funcție în serviciu. Ca și pe partea de front-end, urmărind


aproximativ aceeași arhitectură, se dorește ca logica de business să fie separată de logica
de rutare, astfel toate mapările de obiecte și comunicarea cu baza de date se va face prin
intermediul servicilor.

Serviciul la rândul lui comunică cu baza de date printr-un repository. Acesta este precedat
de adnotări @Service și @Transactional pentru a informa aplicația că această clasă java
este de fapt un serviciu și că va comunica cu baza de date prin tranzacții.

Repository (depozit) este un intermediar între serviciu și baza de date. Acesta oferă metode
de adăugare, actualizare, aducere cât si ștergere din baza de date.

Acest tip de intermediere poartă numele de Hibernate.

Ca limbaj de programare, platforma ERASMUL folosește Java, versiunea 8.

Java 8 – scurtă descriere

Java este cel mai popular și cel mai raspândit limbaj de programare orientat pe obiecte de
pe glob.

Acest limbaj este independent de platformă, deoarece are în spate o mașina virtuală care
indiferent de platforma folosită va ști întotdeauna să convertească codul.

Versiunea a 8a a limbajului aduce urmatoare caracteristici:


o Expresii lambda
o Referința metodelor, adică folosirea funcților ca parametru
o Noi instrumente și utilitare pentru compilator

Hibernate ORM – scurtă desriere

Hibernate este un instrument de mapare relațională a obiectelor din Java, pentru a putea fi
salvate în baza de date.

Oferă facilitați de interogare a bazei de date, cât și posibilitatea de a folosi tranzacții,


pentru că în cazul în care o interogare sau o încercare de salvare ar eșua, sa nu permită
alterarea datelor din tabele.

15
4.3. Fluxul informației

Fig. 5. Arhitectura completă a aplicației

Fluxul incepe pe partea de client din pagina HTML, unde utilizatorul introduce date.
Acestea sunt trimise in controller. Deoarece logica de business se face in serviciu,
controllerul nu prelucrează datele, ci le trimite la serviciu. Acesta efectuează operațile
corespunzatoare asupra datelor apoi se face o cerere, cu una din metodele http, pe back-
end.

Controller-ul de pe back-end ascultă la cereri care vin de pe frond-end, când o cerere e


primită apelează serviciul. Acesta apelează repository-ul care efecuează o interogare a
bazei de date în funcție de metoda http cu care a venit cererea.
Baza de date întoarce un raspuns, iar ciclul se reia în aceeași ordine.

4.4. Simulare
Pentru partea de simulare a sistemului de inferență fuzzy s-a folosit utilitarul fuzzy pus la
dispoziție de către matlab.

Acest utilitar conține funcții, aplicații, blocuri de analiză, design și simulare a sistemelor
bazate pe logică fuzzy.

Mai mult, permite alegerea unui număr de intrari si ieșiri pentru sistemul care se dorește a
fi modelat. Dispune de o mulțime de funcții de aparteneță la setul fuzzy, precum cea
triunghiulară, trapezoidală, gaussiană etc..

16
De asemenea, dispune de două tipuri de sisteme de inferență și anume Mamdani și Sugeno
care sunt cele mai frecvent utilizate metode.

Nu în ultimul rand, permite și alegerea funcților de defuzzificare dintre acestea făcând


parte centroid (cea mai utilizată metrodă), bisectoare etc..

5. Platforma ERASMUS

Fig. 6. Pagina de start a aplicației

În figura 6. este prezentată pagina de pornire a platformei.

Prin apasarea butonului de Sign in se va deschide pagina de login.

Prin apasarea butonului de Register a new account se va deschide pagina de înregistrare


utilizator nou.

17
Fig. 7. Pagina de logare

În figura 7. se observă pagina de logare unde se introduc datele referioare la username și


parola apoi se apasă pe butonul de Sign in pentru a se verifica datele introduse.
Dacă sunt corecte, atunci se va deschide pagina de acasă care va conține meniuri în funcție
de utilizatorul care accesează platforma.

Hyperlink-ul Did you forget your password? va face redirectare la pagina de parolă
pierdută, de unde se va putea reseta parola.

Hyperlink-ul You don’t have an account? Register Here! va face redirectare către pagina
de înregistrare utilizator nou.

Platforma este construită pe mai multe nivele de acces. În funcție de fiecare nivel vor fi
accesibile anumite ecrane.

Nivele de acces sunt:


o Admin
o User ( Student)
o Teacher
o Secretary

Platforma construită conține urmatoarele ecrane:


o Introducere date despre student, insitiuția trimițatoare
o Introducere de informații necesare cazării în caminele studențești
o Vizualizare studenți
o Introducere note studenți
o Introducere date pentru chestionarul de generare de predictie evolutiva

În continuare, urmează o detaliere a fiecarui ecran.

18
5.1. Ecrane
Acest ecran este format dintr-un slider care contine 4 sectiuni care vor fi detaliate pe rand.

o Date despre institutia trimitatoare


o Date personale despre student
o Competentele lingvistice
o Informatți suplimentare

Date despre instituția trimițătoare

Campurile care trebuie completate în această formă sunt: numele instituției, adresa, numele
coordonatorului, telefonul instituției, faxul.

Câmpurile conțin validatori. Astfel nici un câmp nu se poate lăsa necompletat, iar adresa
trebuie să conțină cel putin 4 caractere.

Fig. 8. Informații despre unitatea trimițătoare

19
Date personale

Fig. 9. Date personale despre student

Câmpurile care trebuie completate în această formă sunt: numele, prenumele studentului,
un identificator (acesta poate sa fie codul numeric personal din țara care vine sau codul de
la pașaport), sexul, data nașterii, locul nașterii, naționalitatea, emailul, telefonul pe care
poate fi contactat și perioada cand dorește să participe la program.

Câmpurile conțin validatori. Astfel nici un camp nu se poate lăsa necompletat, iar adresa
trebuie să conțină cel puțin 4 caractere, numărul de telefon să fie unul valid, email valid de
forma (aaa@aaa.xxx) și cel puțin un radio button selectat.

20
Competențe lingvistice

Fig. 10. Informații despre competențele lingvistice

Câmpurile care trebuie completate în această formă sunt: limba maternă și cel puțin o
limba străină știută, plus calificativul.

Câmpurile conțin validatori. Astfel singurul câmp care se poate lăsa neselectat va fi Second
language.

Informații suplimentare

Fig. 11. Informații suplimentare

Câmpurile care trebuie selectate în această formă sunt: denumirea programului, câmpul în
care e de acord cu participarea la sesiunea de comunicari științifice din vară, câmpul în
care este întrebat dacă dorește cazare în campusul studențesc.

Această ultimă formă din slider conține butonul de Done. În cazul în care, toate validările
au fost trecute atunci se vor salva datele în baza de date.

21
În cazul în care s-a selectat Yes, Regie Campus Room atunci apăsarea butonului Done nu
va face redirectarea spre pagina de acasă, ci către pagina unde se introduc date despre
cererea camerei.

Ecran cerere cazare

Ecranul este construit dintr-o formă simplă de introducere date. Informațiile sunt
precompletate, deoarece se aduc și datele despre student și numele instituției trimițătoare
salvate anterior.

În ecran avem butoanele:


o Cancel – pentru renuntare la completare
o Save – pentru salvarea informațiilor
o Print – pentru generarea unui fișier cu extensia pdf cu scopul de a fi tiparit

Acest ecran poate fi accesat de către: Admin, User, Teacher.

Ecran management studenți

Acest ecran are funcționalitatea de aducere din baza de date a tuturor studenților
înregistrați, iar pentru fiecare înregistrare se pot executa urmatoare acțiuni:

o Vizualizare – se pot vizualiza toate datele introduse în celelalte ecrane


o Editare - se pot edita toate datele introduse pâna acum
o Ștergere
o Tipărire – se pot tipări atât informațile despre student cât și cererea de cazare

Fig. 12. Managementul studenților

Acest ecran poate fi vizualizat din perspectiva: Admin, Teacher, Secretary.

Pentru nivelul de acces Secretary nu sunt permise functionalitațile de mai sus, în schimb
aceasta poate selecta un student și poate introduce notele obținute în ecranul status
studenți.

22
Ecran status studenți

Acest ecran permite introducerea notelor aferente fiecarui student în urma finalizării
cursurilor, de către utilizatorul cu rolul Secretary.

Există funcția de editare și vizualizare a notelor care este permisă doar din rolul menținonat
mai sus.

Acest ecran poate fi vizualizat din perspectiva: Admin, Secretary.

Ecran chestionar

Acest ecran permite introducere de date care vor fi folosite pentru generarea predicției.

Câmpurile introduse în acest ecran sunt detaliate in capitolul 6.

Acest ecran poate fi vizualizat din perspectiva: Admin, User.

Ecranul administrativ utilizatori si conturi

Fig. 13. Panoul administrativ

Acest ecran permite vizualizarea tuturor utilizatorilor din sistem, dar și vizualizarea,
editarea și ștergerea din baza de date. În plus, se pot activa conturile, schimba profilele de
acces.

În dropdown-ul de Account avem urmatoarele 3 posibilități:


o Setari – schimbare date cont
o Parola – schimbare parolă
o Ieșire – ieșire din cont

23
În dropdown-ul de Administrativ avem urmatoarele 2 posibilități:
o Managementul utilizatorilor (Vezi Fig. 1.)
o Audit – unde se gasesc toate autentificările de pe platformă
Acest ecran poate fi vizualizat din perspectiva: Admin.

5.2. Generarea de rapoarte


Acestă aplicație permite generarea de rapoarte. Pentru design-ul rapoartelor s-a folosit
JasperReports, un instrument care permite așezarea în pagină a tuturor componentelor pe
care le dorești afișate în raport. Acest utilitar se conectează la baza de date unde ai
conectată aplicația și cu ajutorul unei interogari a bazei de date se vor genera datele din
raport.

Aplicația permite generarea a 2 rapoarte:


o Fișa de aplicare a studentului
o Cererea de cazare

Fig. 14. Raportul fișei de aplicare

24
5.3. Baza de date

Sistemul de gestiune al bazei de date relaționale este de tipul MySQL.

Baza de date conține urmatoarele tabele de interes:

o Tabel cu datele personale ale studentului


o Tabel cu datele despre competențele lingvistice
o Tabel cu datele despre unitatea trimițătoare
o Tabel cu date suplimentare
o Tabel cu datele preluate din chestionare
o Tabel cu cursurile pe care le-a urmat la el in tară
o Tabel cu cursurile pe care dorește să le urmeze
o Tabel cu notele aferente fiecarui curs

6. Analiza și predicția evoluției


Proiectul propune analiza pe baza Teoriei Comportamentului Planificat (Ajzen, 1985) și
predicția cu ajutorul unui sistem de interferență fuzzy a evoluției comportamentale a unui
student.

Sistemul implementat în această lucrare este de forma:

Fig. 15. Logica aplicației

25
Platforma ERASMUS se ocupa de colectarea de date necesare nu numai analizei, dar și
pentru prelucrarea lor în vederea obțineri răspunsului.

Preluarea datelor de interes se face din ecranul aferent statusului studenților, cât și din
ecranul unde se completează chestionarul cu detalii despre student.

6.1. Analiza datelor de intrare


Partea de analiză se face cu ajutorul celor trei factori care sunt implicați în luarea unei
decizii și anume:

o Atitudinile personale privind comportamenul


o Normele subiective
o Controlul perceput

Atitudinile personale ale unui student privind comportamenul de a participa la această


mobilitate, având totodată și o dorință de ruptură evolutivă față de domeniul actual pe care
îl studiază, sunt cercetate în această lucrare.

În cazul de față, pentru a analiza atitudinile personale se utilizeaza datele introduse în


ecranul chestionarului pe care îl completează studentul, cât și cele introduse în ecranul
statusului studenților.

S-au ales 4 indici care reprezintă cel mai bine atitudinile personale privind comportamenul,
aceștia sunt:

1. Media notelor obținute în țara de origine


2. Media notelor obținute în cadrul mobilității
3. Influența cursurilor suplimentare care au legatură cu domeniu ales pentru mobilitate
4. Un grad de comparație între cele doua domenii studiate

Ca factor care influnțeaza atitudinea față de comportament a unui student s-a ales media
notelor obținute la facultatea din țara de origine, deoarece aduce informație despre
parcursul lui.

Acestă informație denota interesul studentului privind domeniul pe care îl studiază.

Presupunand că un student se află în anul III de stiudiu la o anumită facultate din țara lui,
iar media anilor denota o evoluție descendentă, adica în primul an a obținut o anumită
medie, iar în anul urmator a obținut o medie mai mică, acest fapt indică o scădere a
interesului față de ceea ce studiază și un grad al intenției mai ridicat privind o eventuală
ruptură evolutivă.

De subliniat faptul că aceste medii vor fi modelate cu o anumită valoare de adevăr în


sistemul fuzzy, astfel o medie de 7.25 de exmplu poate sa fie vazută în domeniul care
caracterizează notele medii ca având o valoare mare de adevăr, dar din punctul de vedere al
medilor mari aceasta va avea o valoare mică de adevar (Vezi Fig. 16.)

26
Fig. 16. Set fuzzy pentru evaluarea mediei

Urmatorul factor care care intra în categoria atitudinilor personale provine din datele
introduse în ecranul de status al studentului, unde o persoană desemnată se autentifică cu
rol de Secretary și introduce informații precum nota și punctele de credit aferente fiecarui
curs pe care l-a urmat în acestă mobilitate.

Din aceste informații se preiau doar datele despre notele obținute la cursurile urmate din
cadrul programului de mobilități ERASMUS.

Mai departe, se face media notelor și se obține un factor calitativ privind atitudinea lui față
de această mobilitate.

Media semestrului de studiu obținută infulențează comportamentul individului.

La fel ca media obținută precedent, media cursurilor urmate este modelată cu o anumită
valoare de adevăr (Vezi Fig. 16.).

Această informație indică interesul studentului față de domeniul pentru care a efectuat
această mobilitate.

Factorul acesta este în stransă legatură cu media anilor de studiu de la facultatea de


proveniență, deoarece dacă se obține un calificativ net superior în domeniul străin față de
domeniul natal, atunci intenția individului de a avea o ruptură evolutivă crește, pentru că
este puternic influențat de parcusul bun pe care l-a avut.

În caz contrar, dacă se obțin medii mai bune la facultatea de origine, față de facultatea unde
s-a exercitat mobilitatea, atunci aceast fapt indică o scadere a intenției de a avea o ruptură
evolutivă.

Dacă mediile sunt apropiate, atunci infulența lor asupra intenției este greu de justificat.
În această lucrare, s-a ales o probabilitate de 50% ca acesti factori să influențeze decizia
comportamentală.

Un alt factor analizat pentru a caracteriza cat mai bine atitutinile personale privind
comportamentul îl reprezintă cursurile la care a participat studentul, în afara programului
universitar și care au legatură cu alegerea domeniului unde se efectueză mobilitatea.

27
Acest parametru indica în ce proporție studentul este interesat de alt domeniu în afara celui
studiat. Prin alt domeniu ne referim la domeniul care urmează sa-l studieze la facultatea
straină.

Se presupune că dacă un student a arătat un anumit grad de interes față de un anumit


domeniu și a ales sa urmeze anumite cursuri în această privință, se cercetează impactul pe
care l-au avut aceste cursuri asupra intenției lui de a participa la progamul ERASMUS și
de a avea o posibilă ruptură evolutivă.

Considerând că acest parametru poate avea valori intre 0 și 10. Adica 0 însemnând că nu a
urmat nici un curs,prin urmare nu are nici o influența asupra rezultatului, 5 presupune că a
urmat cel puțin un curs care nu l-a influențat convingător să participe la această mobilitate,
iar 10 presupune că a urmat peste un curs care l-a influențat să participe la acest program
(Vezi Fig. 17.).

Fig. 17. Set fuzzy pentru modelarea influenței cursurilor

Un exemplu ar fi o pondere de 5 care reprezintă o valoare de adevăr maxima pentru


calificativul de impact Medium, în schimb o valoare de adevăr falsă pentru celelalte două
zone.

Ultimul factor analizat este cel comparativ, adică se cere studentului să facă o comparație
între interesul trezit de catre cursurile efectuate în timpul mobității față de cursurile pe care
le-a studiat la el în tară.

Acest indice face parte din categoria atitudinilor față de un comportament, deoarece un
grad ridicat, pe o scară de la 0 la 10, ar însemna că studentul ar prefera să urmeze cursuri
care fac parte din domeniu studiat în cadrul programului ERASMUS mai mult decat cele
urmate la el în țară. Asfel acesta influențează intenția, având o anumită podere în
schimbarea comportamentului, deci poate contribui la ruptura evolutivă.

Acest parametru a fost modelat la fel ca și cel care desemnează infulența cursurilor. (vezi
Fig. 17.)

Astfel, ca și în cazul de mai sus, o pondere de 9 reprezintă o valoare parțială de adevăr în


domeniul de influență ridicată, 10 fiind maxim. O valoare de fals absolut o reprezintă în
celelate două parți, interes scăzut sau mediu.

28
A se ține cont că acești factori au fost scalați pe un interval de la 0 la 10. Unde li se oferă
ponderi egale pentru zonele de influență scazută, medie și ridicată. Mai multe detalii sunt
oferite în zona de modelare fuzzy.

Normele subiective privind comportamentul de a participa la această mobilitate, având


totodată și o dorință de ruptură evolutivă față de domeniul actual pe care îl studiază, sunt
cercetate în continuare.

În cazul de față, pentru a analiza normele subiective se utilizează datele introduse în


ecranul chestionarului pe care îl completează studentul.

S-au ales 2 indici care reprezintă cel mai bine normele subiective privind comportamenul,
aceștia sunt:

1. Influența familiei
2. Rețeaua de prieteni

Ca factor care influnțează norma subiectivă a unui student s-a ales influența famiei,
deoarece aduce informație despre gradul de implicare a personelor din familie în decizia pe
care a desăvârșit-o participând la programul ERASMUS.

Acesta indice face parte din categoria normelor subiective, deoarece un grad ridicat, pe o
scară de la 0 la 10, ar însemna ca contribuția familiei a influențat schimbarea
comportamentului, deci poate contribui la ruptura evolutivă.

Un exemplu ar fi o pondere de 5 care reprezintă o valoare de adevăr maximă pentru


calificativul de impact Medium, în schimb o valoare de adevăr falsă pentru celelalte două
zone.

Acest indice poate lua valori pe un interval de la 0 la 10. S-au oferit ponderi egale pentru
zonele de influență scazută, medie si ridicată. (vezi Fig. 17.)

Rețeaua de prieteni influnețează norma subiectivă a unui student, deoarece aduce


informație despre gradul de implicare a prietenilor, cunoștințelor în decizia pe care a luat-
o.

Analiza acestui parametru se face din urmatorul punct de vedere. Dacă studentul cu pricina
are în grupul lui de prieteni o persoană care are tangențe cu domeniul pe care acesta
dorește să îl studieze prin mobilitatea ERASMUS, atunci aceea persoană poate infulența
într-o anumită masură intenția și convingerea studentului cu privire la disponibilitatea de a
participa la acest program.

Pe o scară de la 0 la 10 acest indice oferă informații despre gradul de interes, scazut, mediu
sau ridicat (vezi Fig. 17.) adus de o cunoștința asupra evoluției intenției.

Controlul perceput privind comportamentul de a participa la aceasta mobilitate, având


totodată și o dorință de ruptură evolutivă față de domeniul actual pe care îl studiază, este
cercetat în continuare.

29
În cazul de față, pentru a analiza normele subiective se utilizează datele introduse în
ecranul chestionarului pe care îl completează studentul.

S-au ales 2 indici care reprezintă cel mai bine controlul perceput privind comportamenul,
aceștia sunt:

1. Anul de studiu
2. Oportunitațile de angajare

Ca factor care influnțează controlul perceput al unui student s-a ales anul de studiu,
deoarece aduce informație despre gradul de dificultate pe care îl reprezintă în decizia de a
participa la programul ERASMUS.

S-au facut urmatoarele prezumții.

Studenții care sunt în primii ani la facultatea pe care o studiază la ei în tară, prin primii ani
se înțelege primii doi din patru posibili, dispun de un grad de dificultate scăzut/mediu în
vederea aplicării la acest program de studiu.

Pe de altă parte, studenții care sunt în ani terminali, prin ani terminali se înțelege ultimii
doi ani din patru posibili, dispun de un grad de dificultate mediu/ridicat în vederea aplicării
la un program de schimb de studiu.

Acest fapt apare din cauză că o dată ce te apropi de terminarea unui ciclu de învătământ
într-un anumit domeniu, interesul sau dorința de a avea o ruptură evolutivă scade
considerabil.

Oportunitațile de anagajare reprezintă ultimul factor analizat care ia parte la generarea


predicției evolutive a unui student.

Acesta influențează decizia unui student de a participa la un program de schimb de studii,


din punctul de vedere al posibilitaților de angajare oferite de fiecare domeniu studiat în
parte.

Astfel, se face urmatoarea prezumție.

Intenția unui student spre a porni un comportament de aplicare la un program ERASMUS


poate fi provocată de oportunitațile de angajare pe care le ofera domeniu de studiu ales, în
comparație cu domeniul studiat la el în țară.

Aceast grad de influență a fost analizat pe o scară de la 0 la 10, reprezentând 3 arii de


interes cum ar fi cea de influență scazută, medie sau ridicată (a se vedea Fig. 17.).

Notă: Aceste date reprezintă valoarea tranșată și urmează să li se aloce câte un set fuzzy pe
un univers de discuție stablit.

30
În final, fiecare factor influențează într-o anumită masură intenția, deci comportamentul.
(vezi Fig. 18.)

Fig. 18. Factori care influențează comportamentul

În continuare, se vor tranșa valorile corespunzatoare fiecărui factor care influențează


intenția, se vor procesa pe baza unor reguli, apoi se va genera predicția evoluției
studentului.

6.2. Sistem de inferență de tipul Mamdani


Această lucrare propune utilizarea unui sistem de interferență fuzzy folosind metoda lui
Mamdani.

Această metodă este constituită din patru etape care urmează a fi parcurse în vederea
generării predicției.

31
Etapele metodei Mamdani:

1. Fuzzificarea
2. Baza de cunoștințe
3. Procesul de inferență
4. Defuzzificarea

Sistemul rezultat este de forma:

Fig. 19. Sistem de inferență fuzzy pentru generarea predicției

6.2.1. Fuzzificare datelor de intrare


Fuzzificarea se referă la maparea valorilor tranșate la valori dintr-un set fuzzy pe un anumit
univers de discuție.

Proiectul utilizează ca intrări în sistemul de inferență fuzzy factorii găsiți și analizați mai
sus, prin teoria comportamentului planificat.

Asfel, primul pas este de a stabili universul de discuție.

Universul de discuție a fost ales pentru datele de intrare: media anilor precedenți si media
semestrului dobândită în urma mobilității ca fiind reprezentat de un interval de valori de la
[0, 10], dar se pot lua și valori care nu sunt numere întregi, de exemplu 5,5. Acest fapt nu
este permis si la celelalte intrări.

Pentru celelalte date de intrare cum ar fi: cursuri suplimentare, interes față de cursurile
studiate, familia, rețeaua de prieteni, anul de studiu și oportunitatea s-a ales un univers de
discuție între [0, 10], dar fiecare intrare va avea un scor reprezentând un număr întreg din
acest interval.

Sunt folosiți urmatori termeni lingvistici: Bad, Good și High pentru a caracteriza intrările
referitoare la medii. Bad reprezintă gama de medie între [0, 6], Good reprezeintă gama
între [5, 8], iar High între [7, 10].

32
Valorile cele mai consistente se obțin pentru o medie de 0 (practic imposibil) o valoare de
adevăr absolut a termenului de Bad. Pentru o medie de 6,5 se obține o valoare de adevăr
absolut pentru gama medie de rezultate, iar pentru o medie de 10 se obține valoare de
adevăr abosolut a termenului High (vezi Fig. 13.).

Pentru celelalte intrări care caracterizează gradul de infulență asupra intenției s-au folosit
termenii lingvistici: Low, Medium și High.(vezi Fig. 17.).

Termenul de Low este folosit pe un interval de la [0, 4]. Valoarea absolută de adevăr o
reprezintă scorul 0, iar valoarea de fals absolut o reprezintă scorul de 4.

Termenul de Medium este folosit pe un interval de la [3, 7]. Valoarea absolută de adevăr o
reprezintă scorul 3, iar valoarea de fals absolut o reprezintă scorul de 7.

Termenul de High este folosit pe un interval de la [6, 10]. Valoarea absolută de adevăr o
reprezintă scorul 0, iar valoarea de fals absolut o reprezintă scorul de 4.

S-a convenit ca domeniu care gradeaza apartenența să fie cuprins în intervalul [0, 1].

Devine posibilă astfel alegerea formei funcției de apartenență din urmatoarele posibilități:

o Trapezoidală
o Triunghiulară
o Gaussiană

Notă: Există mai multe forme ale funcției de apartenență decat cele prezentate.

Lucrarea aceasta folosește forma triunghiulară a funcției de apartenență, dupa cum s-a
putut observa și în figurile de mai sus (vezi Fig. 17.).

Ieșirea o reprezintă gradul de intenție al unui student de a realiza o ruptură evolutivă


combinată cu gradul de reușită (de progres).

Acestă ieșire, numită și progres, a fost modelată pe un univers de discuție între [0, 100].

Valoarea 0 reprezintă faptul ca studentul pe deoparte nu a fost motivat, influențat în luarea


acestei decizii, nu și-a arătat interesul față de acest domeniu, nici nu a reușit să treacă peste
factorii referitori la dificultate și nici la evoluție tehnică.

Astfel, un scor de 100 reprezintă faptul că studentul a fost motivat și influențat să participe
la acest program de studiu. A luat măsuri în vederea participării la acest program (de
exemplu, a participat la cursuri din aria noului domeniu). A avut rezultate foarte bune în
noul domeniu comparativ cu rezultatele de la unitatea trimițătoare.

Pentru valori intermediare înseamnă ca unele intrări au acționat negativ în privința intenției
lui de a participa la mobilitatea ERASMUS.

Pentru o mai bună aproximare a ieșirii s-a folosit un univers de discuție mai mare și mai
mulți termeni lingvistici, cât și o formă trapezoidală a funcției de apartenență.

33
Termenii lingvistici folosiți în cadrul ieșirii sunt:Very low, Low, Medium, High si Very
high.(vezi Fig. 20.).

Fig. 20. Forma ieșirii

În continuarea lucrării, pentru a simula și pentru a înțelege cum funcționează aplicația se


vor folosi doar doua intrări, 9 reglui și o ieșire.

Regulile pentru funcționarea completă a aplicației vor fi adăugate in anexa de la sfârșitul


proiectului.

Notă: Aplicația implementează toate regulile, nu doar cele folosite pentru exemplificarea
logicii.

6.2.2. Baza de cunoștințe


Mergând pe sistemul cu două intrări și cu o singură ieșire, baza de cunoștințe poate lua
orice combinație posibilă din variabilele lingvistice aferente fiecărui set fuzzy.

Lăsând doar primele două intrări în sistem referitoare la evoluția din punct de vedere tehnic
a studenților, regulile cuprind toate combinațile posibile ale variabilelor lingvistice: Bad,
Good si High.

Regulile sunt generate cu toolbox-ul referitor la fuzzy din matlab, unde


Old_tehnical_abilities se referă la media obținută la unitatea trimițătoare, iar
New_tehnical_abilities se referă la media cursurilor obținute din programul ERASMUS.

1. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) then


(Progress is Very_High).
2. If (Old_tehnical_abilities is Bad) and (New_tehnical_abilities is High) then
(Progress is Very_High)
3. If (Old_tehnical_abilities is Bad) and (New_tehnical_abilities is Good) then
(Progress is High)
4. If (Old_tehnical_abilities is Bad) and (New_tehnical_abilities is Bad) then
(Progress is Medium)
5. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is Bad) then
(Progress is Low)
6. If (Old_tehnical_abilities is High) and (New_tehnical_abilities is Bad) then
(Progress is Very_Low)

34
7. If (Old_tehnical_abilities is High) and (New_tehnical_abilities is Good) then
(Progress is Low) (1)
8. If (Old_tehnical_abilities is High) and (New_tehnical_abilities is High) then
(Progress is Medium)
9. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is Good) then
(Progress is Medium)

6.2.3. Procesul de inferență fuzzy


Având datele de intrare mapate cu funcțile de apartenență la cate un set, cum am văzut
anterior, și baza de cunoștințe formată din regulile enunțate mai sus, putem să aflăm care
este valoarea ieșirii.

Se consideră următoarea simulare a sistemului format din doua intrări și o ieșire, unde au
fost aplicate fiecare regulă în parte.

Fig. 21. Procesul de inferență

Se observă că prima intrare referitoare la media obținută pe parcursul anilor la facultatea de


proveniență este de 7,5 grad de apartenență în zona de Good destul de mare, având în
vedere că valoarea maximă de 1, de adevăr absolut pentru Good este de 6,5. Există și grad
de apartenență în zona de High, deoarece 7,5 nu este chiar o nota așa medie, dar nici mare.

De partea cealaltă, intrarea referitoare la media notelor obținute la facultatea unde a


practicat mobilitatea este de 9. Acest fapt înseamnă că gradul de apartenență în zonele Bad
și Good este 0, fals absolut, iar în zona de High avem un grad ridicat aproape de adevărul
absolut.

35
Analiza regulilor:

Prima regula se referă la faptul că dacă media anilor de studiu este Good, adică face parte
din zona medilor mijloci ȘI (operator) media obținută la cursurile la care a participat la
mobilitate este din zona High, adică o medie mare atunci se calculează valoarea ieșirii,
echivalentă acestei reguli ca fiind minimul gradului de apartenență dintre cele doua intrări,
practic aria minimă a suprafeței triunghiulare.

Asftel in primul caz este luată aria reprezentată de media anilor transpusă la forma
trapezoidală a ieșiri.
Celelalte reguli urmează același principiu.

În final, prin procesul de agregare se obține o formă neregulată a ieșiri.

Pentru a calcula valoarea tranșată a ieșirii trebuie să aplicăm o medotă de defuzzificare a


rezultatului.

6.2.4. Defuzzificare
Pentru defuzzificare se utilizează metoda COG (center of gravity) din literatură.

Metoda de calcul al centrului de masă implică aflarea centrului de masă a formei


neregulate a ieșirii, acest centru de masa reprezintă valoarea tranșată a ieșirii.

În cazul nostru, după procesul de defuzzificare rezultatul obținut este de 69,7.

Acest rezultat este un indice calitativ asupra intenției studentului, reprezentând, în lipsă de
factori ai normei subiective sau ai controlului perceput, o creștere a evoluției studentului pe
ramura studiată în programul ERASMUS. Aceasta creștere poate fi reprezentată sub forma
unui raspuns de genul „ S-a constatat o evoluție medie spre ridicată.”

Pentru a întelege mai bine cum funcționează sistemul se va prezenta urmatorul grafic (vezi
Fig. 19.).

Fig. 22. Evoluția ieșirii

36
7. CONCLUZIE

Predicția evoluției unui student depinde de mulți factori și reprezintă un domeniu vast de
cercetare și implementare de soluții.

Această lucrare se axează explicit pe diferiți factori care influențează comportamentul


unui student. Pentru aceasta, se pune accent pe binecunoscuta teorie a comportamentului
planificat dezvoltată de către Ajzen (1991) și îmbunatățită de Krueger si Brazeal (1994).
Este posibil ca o mai bună înțelegere a factorilor care infuențează atitutinea către
comportament a studentului, ar putea facilita dezvlotarea cu mai mult succes a acestei
inițiative.

Am introdus o nouă abordare a analizei si predicției evoluției unui student folosind


concepte din teoria logicii fuzzy. Din punct de vedere teoretic, logica fuzzy oferă o
abordare naturală problemelor complexe de natură multidimensională când informația
disponibilă este puțină sau de proastă calitate.

În acest proiect, am prezentat un experiment practic în care am inclus date fuzzy pentru a
ilustra un model de date care infulențează intenția unui student de a avea o ruptură
evolutivă și de a participa la un program ERASMUS. Totodatș s-a generat un raspuns
calitativ în legatură cu alegerea domeniului favorabil pentru el.

Toate acestea puncte fiind abordate, s-a atins scopul aceste lucrări care în urma finalizării
programului ERASMUS, studenții pleacă cu un feedback din partea facultății care i-a
găzduit.

7.1. Note de final


Lucrarea poate fi îmbunătațită printr-o analiză mai detaliată a factorilor care influențează
atitudinile personale ale studentului, normele subiective, cat si controlul perceput asupra
comportamentului.

Pe de altă parte, folosirea unei model mai adecvat al funcției de apartenență la un set fuzzy,
poate duce la o îmbunătățire a răspunsului.

37
8. BIBLIOGRAFIE
1. Ajzen, I. (1991). The theory of planned behavior. Organizational Behavior and Human
Decision Processes.

2. Ajzen, I. (2002). Constructing a TPB Questionnaire: Conceptual and Methodological


Considerations.

3. Documentație Angluar 5: https://angular.io/docs/ Accesat: 2017

4. Documentație JasperSoft:
https://community.jaspersoft.com/documentation?version=49176/ Accesat: 2018

5. Documentație MySQL: https://dev.mysql.com/doc/ Accesat: 2017

6. Documentație Spring MVC: https://docs.spring.io/spring/docs/current/spring-


framework-reference/web.html/ Accesat: 2017

7. Jung Lee, Frank A. Cerreto and Jihyun Lee. Theory of Planned Behavior and
Teachers’ Decisions Regarding Use of Educational Technology.

8. M. Ganesh. Introduction to fuzzy sets and fuzzy logic.

9. Vilém Novák, Irina Perfilieva, Jiří Močkoř. Mathematical Principles of Fuzzy Logic

38
10. ANEXE

Fig. X. Exemplu de intrare în sistemul fuzzy declarată in Java

Fig. X. Exemplu de declarare regulă în Java

Un sumar ar regulilor folostite. Aplicația este capabilă să genereze toate cele 6561 de
reguli

1. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Medium) and (Interest is Low) and (Family is Low) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is High)

2. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is High) and (Interest is Low) and (Family is Low) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is High)

3. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Low) and (Interest is Medium) and (Family is Low) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is High)

4. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Low) and (Interest is High) and (Family is Low) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is High) 14. If
(Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research is
Low) and (Interest is High) and (Family is Low) and (Network is Low) and (Oportunities
is Low) and (Year_of_study is Low) then (Progress is High)

5. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Medium) and (Interest is High) and (Family is Low) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is Very_High)

39
6. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research
is High) and (Interest is High) and (Family is Low) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is Very_High)

7. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Low) and (Interest is Medium) and (Network is Low) and (Oportunities is Low) and
(Year_of_study is Low) then (Progress is High)

8. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Low) and (Interest is Low) and (Family is Low) and (Network is Low) and (Oportunities
is Low) and (Year_of_study is Low) then (Progress is High)

9. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is High) and (Interest is High) and (Family is Low) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is Very_High)

10. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Low) and (Interest is Low) and (Family is Low) and (Network is Low) and (Oportunities
is Low) and (Year_of_study is Low) then (Progress is High)

11. If (Old_tehnical_abilities is High) and (New_tehnical_abilities is Good) and (Research


is Medium) and (Interest is Medium) and (Family is Low) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is Medium)

12. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Medium) and (Interest is Medium) and (Family is High) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is High)

13. If (Old_tehnical_abilities is High) and (New_tehnical_abilities is Good) and (Research


is High) and (Interest is Low) and (Family is Low) and (Network is Low) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is Medium)

14. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Medium) and (Interest is Medium) and (Family is High) and (Network is Medium) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is Very_High)

15. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is Medium) and (Interest is Medium) and (Family is Medium) and (Network is High) and
(Oportunities is Low) and (Year_of_study is Low) then (Progress is Very_High)

16. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is Good) and (Research


is High) and (Interest is High) and (Family is Medium) and (Network is Medium) and
(Oportunities is Medium) and (Year_of_study is Low) then (Progress is High)

17. If (Old_tehnical_abilities is Good) and (New_tehnical_abilities is High) and (Research


is High) and (Interest is High) and (Family is Medium) and (Network is Medium) and
(Oportunities is Medium) and (Year_of_study is High) then (Progress is Medium)

40
18. If (Old_tehnical_abilities is High) and (New_tehnical_abilities is High) and (Research
is Medium) and (Interest is High) and (Family is High) and (Network is Medium) and
(Oportunities is High) and (Year_of_study is High) then (Progress is High)

19. If (Old_tehnical_abilities is High) and (New_tehnical_abilities is High) and (Research


is Medium) and (Interest is High) and (Family is High) and (Network is Medium) and
(Oportunities is High) and (Year_of_study is Low) then (Progress is Very_High)

20. If (Old_tehnical_abilities is High) and (New_tehnical_abilities is Good) and (Research


is High) and (Interest is Medium) and (Family is Low) and (Network is Low) and
(Oportunities is Medium) and (Year_of_study is Medium) then (Progress is High)

41

S-ar putea să vă placă și