Referat, comentariu, eseu, proiect, lucrare bacalaureat, liceu si facultate
Top referateAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Instrument software pentru Achizitia de Cunostinte si Evaluarea de Expresii Fuzzy (principii si metode de implementare)
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
Structura aplicatiei pe module este dupa cum urmeaza (in ordinea in care apar in bara de unelte principala): c5p21pe
· modulul pentru administrarea Domeniilor de discurs
· modulul pentru administrarea Multimilor fuzzy
· modulul pentru administrarea Numerelor fuzzy
· modulul pentru administrarea Modificatorilor lingvistici
· modulele pentru administrarea Cuantificatorilor si Operatorilor lingvistici nu au fost implementate in aceasta versiune
· modulul pentru Evaluarea de Expresii Fuzzy
· modulul pentru Descrierea contextului

Inainte de a trece la descrierea fiecarui modul, tin sa fac unele precizari cu privire la elementele independente de mediul Visual Basic care au fost folosite in dezvoltarea aplicatiei.

Este vorba de baza de cunostinte care in fapt este o baza de date relationala proiectata folosind Microsoft Access’97.
Atentie! Pentru a aduce modificari in structura bazei de cunostinte dar care sa nu-i afecteze functionalitatea, vor trebui ca relatiile sa fie pastrate avand structura curenta, bineinteles aceasta se refera si la tipul campurilor, indecsi, samd. Deci, este bine ca eventualele modificari ale bazei de date MSAccess sa se limiteze doar la adaugari la structura. Este absolut necesar sa nu se faca conversia bazei de date de la versiunea Access’97 la o alta versiune tot in scopul de a nu afecta functionalitatea.

O alta observatie este faptul ca baza de cunostinte, chiar daca are extensia CKB (Context KnowledgeBase), aceasta este recunoscuta ca si structura de catre MSAccess’97.

Consider necesar sa fac unele precizari in legatura cu modul de reprezentare interna a multimilor fuzzy continui si discrete:
§ multimile fuzzy continui ca si reprezentare a functiei de apartenenta, s-a ales ca in baza de date sa se reprezinte fiecare pereche cheie (valoare, grad) pentru specificarea punctelor din grafic pentru delimitarea elementelor corespunzatoare: nucleu si zone de imprecizie
§ multimile fuzzy discrete sunt reprezentate in baza de date in tabela corespunzatoare prin perechea (valoare, grad). Pentru valoare este specificat codul elementului in relatie cu elementul declarat ca si element discret in tabela pentru elemente discrete ale domeniilor.




Pentru detalii, consultati baza de date folosind MSAccess’97. Veti gasi acolo explicatii detaliate privind utilitatea fiecarei tabele respectiv camp in parte.

Revenind la implementarea modulelor aplicatiei, in continuare sunt descrise cateva elemente comune tuturor modulelor:
- fiecare modul in parte ale la baza o ferestra (FORMular in VBasic), ca si interfata de dialog cu utilizatorul. De notat este faptul ca cea mai mare parte a codului este scris “in spatele” obiectelor grafice ca raspuns la interactiunea utilizatorului cu acestea (control dirijat de evenimente).
- fiecare modul, are implementata o metoda de regasire a informatiilor si actualizarea proprietatilor obiectelor grafice (Ex: actualizarea listei cu domeniile definite in contextul curent).
- fiecare modul are implementate metode pentru modificarea datelor existente corespunzatoare fiecarui element caracteristic conceptelor folosite (termenul lingvistic folosit pentru specificarea unei multimi fuzzy, limitele absolute sau relative ale unui domeniu de discurs, samd).
- fiecare modul are implementate metode pentru actualizarea informatiilor din baza de cunostinte (salvarea informatiilor referitoare la elementele descrise, modificate, samd).
- in caz de necesitate, o fereastra (formular) poate deschide alt formular pentru a putea reprezenta informatiile referitoare la anumite elemente (cazul proprietatilor multimilor fuzzy), sau dupa caz, extinderea formularului (modulul pentru domenii, numere fuzzy, modificatori, samd).
- majoritatea modulelor au o bara de instrumente pentru accesarea functiilor de administrare a elementelor pe care le gestioneaza.

Domenii de discurs -; DomainsDialog

Metode (subrutine/functii) folosite:

setDefaultSettings()
- actualizeaza informatiile pentru initializarea elementelor grafice. Regaseste domeniile definite in baza de cunostinte si actualizeaza lista cu domenii domainsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
- identifica butonul apasat din bara de unelte si executa codul corespunzator addNewDomain()
- initializeaza mediul pentru definirea unui nou domeniu deleteDomain()
- sterge domeniul ales din lista impreuna cu toate multimile fuzzy definite pe acel domeniu saveCommand_Click()
- salveaza informatiile corespunzatoare definirii/modificarii domeniului ales showDomainProperties()
- afiseaza informatiile corespunzatoare domeniului ales

Acestea sunt functiile mai importante implementate. In plus, acest modul mai ofera posibilitatea de vizualizare a multimilor fuzzy deja definite pe anumite domenii si accesul catre modulul pentru administrarea elementelor ce definesc domeniile discrete (pentru domenii discrete) -; vezi metoda de identificare a optiunilor puse la dispozitie prin intermediul barei de unelte.

Multimi fuzzy -; SetsDialog

Metode (subrutine/functii) folosite:

setDefaultSettings()
- actualizeaza informatiile pentru initializarea elementelor grafice. Regaseste domeniile definite in baza de cunostinte cat si multimile fuzzy deja specificate corespunzatoare si actualizeaza lista cu domenii si multimi fuzzy. setsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
- identifica butonul apasat din bara de unelte si executa codul corespunzator. Aici, cel mai adesea se trece controlul catre formularul ce se ocupa de proprietatile multimilor fuzzy. Asupra acestuia se va reveni. showRelatedSets()
- filtreaza afisarea in lista cu multimi fuzzy, doar a acelor multimi ce sunt definite pe domeniul ales din lista ascunsa (combo) cu domeniile deleteSelectedSet()
- sterge din baza de cunostinte multimea aleasa din lista

Proprietatile multimilor fuzzy -; SetPropDialog

setDefaultSettings()
- regaseste datele corespunzatoare multimii fuzzy sau initializeaza mediul pentru definirea unei noi multimi fuzzy showSetProperties()
- actualizeaza informatiile referitoare la multimea fuzzy aleasa initDiscreteValues()
- regaseste datele corespunzatoare elementelor discrete ale domeniului de discurs pe care se defineste multimea si actualizeaza lista cu elemente disponibile cat si cele deja folosite pentru a descrie multimea curenta saveCommand_Click()
- salveaza informatiile corespunzatoare multimii fuzzy cu care se lucreaza initGraph() si drawGraph()
- initializeaza zona respectiv afiseaza graficul corespunzator punctelor de referinta definite. In plus, exista implementate metodele graphPicture_MouseUp, graphPicture_MouseDown si graphPicture_MouseMove ce permit folosirea tehnicii Drag&Drop pentru modificarea coordonatelor unui punct in grafic. De notat este faptul ca aceste puncte sunt memorate intr-un tablou dinamic pentru o mai buna manevrare, procedeu folosit si in modulul pentru evaluarea de expresii fuzzy din aceleasi considerente. normalizePoints()
- folosita pentru a ordona punctele in ordine crescatoare dupa valoarea specificata ca apartinand domeniului de valori permise

Mai sunt implementate metode pentru conversia valorilor reale la cele corespunzatoare graficului (transpunerea in grafic a punctelor specificate).

Numere fuzzy -; FnumbersDialog

Metode (subrutine/functii) folosite:

setDefaultSettings()
- actualizeaza informatiile pentru initializarea elementelor de interfata. Aici se face regasirea tuturor numerelor fuzzy definite in contextul curent impreuna cu proprietatile corespunzatoare. fNToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
- permite executarea operatiilor de administrare a numerelor fuzzy (adaugare, modificare, stergere, samd) saveCommand_Click()
- permite salvarea informatiilor cu privire la un numar fuzzy deleteFN()
- permite stergerea unui numar fuzzy din baza de cunostinte showFNProperties()
- afiseaza informatiile cu privire la un numar fuzzy drawGraph()
- afiseaza reprezentarea grafica a modului in care un numar fuzzy afecteaza conform proprietatilor specificate

Modificatori lingvistici -; ModifiersDialog

Metode (subrutine/functii) folosite:

setDefaultSettings()
- regaseste informatiile cu privire la modificatorii lingvistici definiti in contextul curent cu scopul de a initializa mediul de lucru cu acestia modifiersToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
- permite executarea operatiilor de lucru cu modificatorii lingvistici (adaugare, modificare, stergere, samd) downCommand_Click()
- decrementeaza gradul in care afecteaza modificatorul lingvistic ales din lista upCommand_Click()
- incrementeaza gradul in care modificatorul afecteaza saveCommand_Click()
- salveaza modificarile facute asupra proprietatilor unui modificator lingvistic deleteModifier()
- sterge modificatorul ales

Construirea si Evaluarea Expresiilor fuzzy -; ExprEvDialog

Metode (subrutine/functii) folosite:

setDefaultSettings()
- regaseste informatiile cu privire la domenii, multimi, modificatori, numere fuzzy, samd, definite in contextul curent si actualizeaza elementele de intefata showExpression()
- afiseaza expresia construita conform elementelor utilizate in constructor pentru prima metoda de evaluare (evaluarea gradului de credibilitate/adevar corespunzator expresiei construite) showEvExpression()
- afiseaza expresia construita conform elementelor utilizate in constructor pentru cea de-a doua metoda de evaluare (evaluarea gradului de apartenenta a unei valori specificate la toate multimile definite pe domeniul ales, cu aplicarea modificatorilor lingvistici pe acele multimi ce accepta sa le fie aplicat un modificator) isOkToModify(setID As Integer, domain As Integer) As Integer
- verifica daca o multime poate fi modificata (i se poate aplica un modificator lingvistic). Intoarce -;1 daca se poate aplica modificator la stanga, 1 daca se poate aplica modificator la dreapta si 0 daca nu accepta modificator. modifyLeft(depth As Integer)
- modifica la dreapta multimea cu care se lucreaza modifyRight(depth As Integer)
- modifica la stanga multimea cu care se lucreaza getGrade(value As Double) As Double
- intoarce gradul de apartenenta calculat corespunzator valorii specificate prin value evaluateCommand_Click()
- executa operatiile de evaluare a expresiei folosind prima metoda de evaluare evalCommand_Click()
- executa operatiile de evaluare a expresiei folosind cea de-a doua metoda de evaluare


Descrierea contextului -; ContextPropDialog

Metodele folosite aici nu fac decat sa actualizeze campurile corespunzatoare din tabela cu proprietatile contextului, acestea referindu-se la un Identificator pentru context, cateva elemente pentru a descrie acest context, cat si unele note/observatii ce se pot face. Aceste metode sunt cat se poate de simple si nu fac obiectul unui studiu complex.

Pentru alte informatii cu privire la modul de functionare si utilizarea acestor module si pentru a intelege mai bine modelul adoptat, aveti la dispozitie aplicatia impreuna cu ghidul de utilizare/asistenta, codul sursa impreuna cu toate elementele utilizate in dezvoltare, baza de date in a carei structura sunt integrate comentarii asupra tabelelor (relatiilor), campurilor, modului in care sunt implementate relatiile intre campurile diferitelor tabele.

Pentru alte informatii, trimiteti un eMail la adresa lt_mirel@hotmail.com


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui referat, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza referatul:
In prezent referatul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite referat | Harta site | Adauga in favorite
Colt dreapta