Documente Academic
Documente Profesional
Documente Cultură
Suport lucrări de laborator
Sisteme Expert de Gestiune
„FIŞA DISCIPLINEI (anul universitar 2009-2010)
Logica propoziţiilor
Calculul predicatelor
Căutare euristică
Programul EISEWIN
Introducerea calificatorilor
Introducerea regulilor:
Bibliografie sursă
Laborator 1 Reţele neuronale.
Să studiem construcţia şi modul de funcţionare al celulei neuronale. Sinapsele sunt receptorii
terminali care “simt” anumiţi stimuli din mediu. Sinapsele transmit apoi semnalul prin dendrite
nucleului, centrului de decizie care apoi transmite decizia prin Axon spre un centru de execuţie
(muschi sau alt organ intern) sau spre sinapsa unui alt neuron. Un nucleu poate primi mai multe
informaţii consecutiv şi pe baza “experienţelor anterioere” referitoare la acea combinaţie de
stimuli sau ţinând cont de o anumită ordine de priorităţi a diferiteor stimuli va lua o decizie pe
care o va transmite mai departe.
P1
P2
P3
S1
Acţiune
Nonacţiune
Decizia:
?? prag
S P
i i
P1
S2
P2
S3
Pn
Sn
Pe diferite căi de comunicaţii centrul de decizie primeşte un set de “stimului” Si fiecare cu o
anumită importanţă în luarea deciziei Pi . Se calculează suma ponderată a intrărilor şi se compară
cu o valoare prag care dacă este depăşit, celula va transmite mai departe, altfel se va bloca.
În informatică semnalele pot avea două valori : 0 (nonacţiune, fals) şi 1(acţiune, adevărat), deci
putem lucra cu valori oarecare numai pentru ponderi respectiv prag.
-5
0.1
1x(-5)+0x3+0x3=-5<0.1
deci răspuns 0. Se poate vedea că pentru aceste valori trebuie ca stimulii 2 şi 3 să fie neapărat 1.
Am ales pragul 0.1 pentru că având stimulii (0,0,0) pragul de 0 ar fi satisfăcut dar este “ilogic” să
nu avem semnal de nici un fel. Sunt situaţii când este posibil şi acest lucru.
În funcţie de valoarea ponderii acestea pot fi excitatoare, de obicei valori pozitive care contribuie
la îndeplinirea condiţiei de depăşire prag deci spre acţiune; iar dacă o ponderea este negativă,
reduce şansele depăşirii pragului vorbim de valori inhibatoare. Prin urmare prin valoarea
ponderilor reflectăm importanţa unui anumit stimul, care pot veni de la un anumit receptor sau de
la o altă celulă. Prin ajustarea ponderilor putem programa reţeaua de unităţi de prelucrare să
răspundă într-un anumit mod previzibil sau chiar definit la anumiţi stimului.
Reţelele neuronale sunt formate dintr-o serie de unităţi neuronale conectate între ele. Ieşirea unei
celule este intrare într-o altă celulă.
În funcţie de participarea unui stimul la ekementele reţelei avem două tipuri de reţele:
Reţele combinate în care un stimul poate participa cu valoarea lui la mai multe celule care la
rândul lor sunt legate între ele.
2. Pentru schema reţelei combinate să se calculeze răspunsurile pentru valorile de prag respectiv
ponderi din tabel cu urmatoarele valori de intrare:(0,0) (0,1) (1,0) (1,1)
4. Ajustaţi ponderile şi valoare prag pentru următoarea unitate de prelucrae astfel încât ieşirea să
fie 1 dacă şi numai daca cel puţin două dintre intrări au valoare 1.
Laborator 2 Logica propoziţiilor, logica
predicatelor
Logica propoziţiilor
După cum s-a văzut la curs, logica propoziţiilor se bazează pe determinarea stării de adevărat sau
fals ale conţinutului acestora sau a modului de implicare(o afirmaţie are o implicaţie într-o altă
afirmaţie), iar când avem mai multe propoziţii se aplică axiomele pentru determinarea stării
logice finale. Pentru acesta se trasează tabela de adevăr.
Se pune problema formalizării limbajului natural adică găsirii unui mod de substituţie a
limbajului natural cu un un limbaj formal. Pentru o asemenea descriere vom folosi notaţii
speciale pentru categoriile:
3.Argumente de tip predicat cu nume specifice (ex: studentii de la IDD sunt cu taxe=> cu
taxe(studenti IDD))
5.Verbele sunt reprezentate ca predicate cu argumente care pot fi subiecte sau obiecte (ex:
plouă =>plouă(); creşterea leului => creşte(leu); A plăteşte lui B 100 lei =>plăteşte(A,B,100))
10. imlpicaţiile reprezintă expresii condiţionale. IF este premisa sau condiţia iar
THEN este acţiunea sau concluzia: Dacă un om este fericit el este prietenos => (x):fericit(x)
prietenos(x)
O altă metodă de utilizare a logicii este inferarea adică derivarea unor propoziţii noi din
propoziţii existente.
---------------------------------------
Calculul propoziţional are în vedere enunţurile declarative repartizate în două grupe: Adevărat şi
Fals. O propoziţie compusă este formată din propoziţii elementare legate cu conectorii (AND)
(OR) iar pentru negarea unei propoziţii se foloseşte ~(NOT) . Pentru a stabili valoarea de
adevăr a unei propoziţii vom folosi următorul tabel
A B ~A ~B AB AB
A A F F A A
A F F A F A
F A A F F A
F F A A F F
Calculul predicatelor
Calculul predicatelor permite fragmentarea propoziţiilor în obiecte (argumente) şi
predicate(aserţiuni despre atributele obiectelor); calculul predicatelor permite de asemenea
utilizarea variabilelor şi funcţiilor de variabile. Aceste proprietăţi fac din calculul predicatelor un
instrument mai puternic decât calculul propoziţional.
În exemplul de mai sus am utilizat valori concrete dar la fel de bine se pot utiliza în descrierea
formală a predicatelor variabile cont-de-activ(x) deci putem scrie propoziţii generalizate.
Cuantificatorii universal şi existenţial enunţaţi mai sus se pot folosi şi la calculul predicatelor:
Contul 5121 este un cont de activ dacă 5121 este un cont şi toate conturile sunt de activ
Exerciţii:
Folosind diagrama de mai jos, tabelul de adevăr şi regula IF A AND B THEN C, complectaţi
rubricile corespunzătoare(vă dăm rezolvarea pt cazul A=a şi B=f):
A _a_______________________
B __f______________________
A AND B _f__________________
ESTE(INFLAŢIA MARE)
DEBITEAZĂ(X, CONT(5131))
L(x,y)= x iubeşte y
Regulile de producţie pot fi clasificate dupã ordinea în care se merge în inferenţã (premise ->
concluzie, sau concluzie -> premise) sau dupã tipul de entitãţi conţinute (constante sau variabile).
DACÃ
<premise>
ATUNCI
<concluzie>
În acest caz se utilizeazã implicaţia logicã în sensul cã dacã premisele sunt adevãrate, atunci şi
concluzia este adevãratã şi aceasta se adaugã şi ea bazei de fapte.
Ca urmare se pot aplica alte reguli care conţin între premise şi fapta nou adãugatã.
<concluzie>
DACÃ
<premise>
Din punct de vedere logic regulile deductive şi cele inductive sunt formulãri echivalente.
Utilizarea unor reguli care conţin doar constante este neeconomicã datoritã faptului cã trebuie
scrisã câte o regulã pentru fiecare caz în parte, chiar dacã sunt mai multe cazuri similare.
Ca şi în cazul predicatelor, folosirea variabilelor oferã o modalitate generalã de exprimare.
Exemplu : Presupunem cã sunt necesare reguli pentru pensionarea unui angajat de forma:
Astfel de reguli trebuie scrise pentru fiecare angajat, soluţie greoaie si neeconomicã. Se poate
scrie însã o regulã cu variabile care sã fie valabilã pentru toţi angajaţii:
IF ?x este SALARIAT
În continuare vom reda o posibila listă de reguli de producţie care vor fi de folos la alegerea unui
tip de imprimantă. Avem trei tipuri de imprimante:
1. cu ace (costul de intreţinere redus, calitate rea, pret mediu) recomandat pentru
contabilitate
2. cu jet (caliate bună, preţ mic, costuri relativ mari) recomandat pentru birouri mici
sau pentru casa cu numar redus de listări
3. cu laser (calitate foarte bună, costuri mici, pret foarte mare) recomandat
birourilor, firmelor mari unde calitatea documentelor este importană.
Vom face mai întâi un tabel în care vom include datele de mai sus:
AND preţ_achiz=mare
Putem constata că pentru a lua în consiederare toate posibilităţile trebuie să scriem 3x3x3=27
reguli de producţie. Evident sunt combinaţii (ilogice) care nu ne duc la nici o soluţie concretă.
(ex: preţ-mare costuri-mari calitate-rea) Exerciţiu: scrieţi celelalte reguli de producţie logice.
Exerciţiu 2: Stabiliţi criteriile şi concepeţi regulile de producţie pentru un sistem expert care să
ne asiste în alegerea unei anumite metode de investiţii financiare(bancă, valută, acţiuni).
Observaţie pentru a rezolva problema trebuie să utilizaţi posibilitatea utilizării variabilelor şi
valorilor numerice în scrierea regulilor de producţie.
Laborator 4 Arbori de căutare
Sarcina principală a sistemului de control este acela de a dezvolta o soluţie pentru o anumită
problemă. Pentru acesta algoritmul de căutare va trebuii să asigure parcurgerea grafului de stări
pornind de la nodul iniţial până când se ajunge la nodul ţintă .
Nodurile sunt stările sistemului iar producţiile sunt reprezentate prin operaţiile efectuate pentru a
trece de la o stare la alta. Sistemul de control va parcurge nodurile prin efectuarea producţiilor,
va compara fiecare nod cu starea ţintă şi în momentul găsirii acestuia va reconstitui calea pe
acele noduri şi acele producţii care au condus la rezultat. Ca efect ala cestei strategii se
construieşte arborele de căutare care nu este altceva decât acea parte a grafului stărilor care a fost
verificată de sistemul de control. Nodul rădăcină este stare iniţială iar fiii fiecărui nod sunt stările
care pot fi onbţinute prin producţii asupra nodului părinte. Fiecare arc care leagă două noduri
este o producţie.
Pentru rezolvarea acestui puzle o maşina făra gândire logică umană ar trebuii să
mute numerele, efectuând toate mutările posibile dintr-o anumită stare
(producţii) să verifice stările obţinute şi dacă nu sa găsit starea ţintă să mai
aplice câte o producţie pe stările noi . În cazul nostru pe primul nivel (nivelul
0)ar fi trei producţii posibile : 2, 5 şi 8. Cele trei noduri obţinute, pe nivelul 1 cu
3 stări, la rândul lor nefiind stări ţintă, vor fi supuse unor noi producţii rezultând
alt nivel (2) cu 5 stări ş.a.m.d.. până când pe un nivel oarecare (5) se obţine
soluţia . Parcurgerea în acest exemplu as efectuat pe orizontală. După găsirea soluţiei se
reconstituie acele producţii (se evidenţiaază acele ramuri) care au condus la rezultat.
Evident metoda poate fi înbunătăţit cu anumite condiţii “de bun simţ” cum ar fi:
Mută 5 în jos
Mută 3 la dreapta
Mută 2 în sus
Mută 5 la stânga
Mută 6 în sus
Primele trei nivele le puteţi vedea pe figura următoare. Urmăriţi producţiile enunţate mai sus şi
verificaţi corectitudinea rezultatului. (obs.. ramura din stânga)
132
485
76
Căutare euristică
Vom îmbunătăţi metoda noastră prin introducerea unor elemente care imită intuiţia umană. Vom
spune că acolo unde oamenii aplică reguli logice, sistemele artificiale aplică reguli euristice.
Vom identifica acele caracteristici pe care le iau în considerare oamenii atunci când aleg calea.
Oamenii tind să aibă în vedere ţinta şi tind spre opţiunea care le aduce mai aproape de acesta,
gândim înainte. Pentru a aplica o asemenea metodă trebuie să învăţăm sistemul să poată măsura
care din stări care din producţii este mai aproape de ţintă. O asemenea măsură se numeşte
euristică.
Pentru jocul nostru de puzle o asemenea euristică ar putea consta în “evaluarea costuirilor”. Prin
acesta vom înţelege în acest caz (şi numai în acest caz, pentru alte probleme vom stabilii alte
criterii) suma mutărilor necesare dacă persupunem că la un moment dat avem un singur număr
pe suprafaţa de joc, pentru ca acesta să ajungă în poziţia lui finală. Astfel o cifră aflată într-o
poziţie adiacentă poziţiei finale va fi la distanta 1, iar o cifră aflată lângă poziţia finală dar pe
diagonală va avea distanţa=2 (1 verticală + 1 orizontală). Fie de exemplu starea următoare:
Pentru acaestă stare costul proiectat est de 7 (2,5,8 la distaţa 1; 3,6 la distanţa 2
=> 3x1+2x2=7)
1.
2.
Laborator 5 Arbori SI SAU
O altă metodă de reprezentare a cunoşterii este ce a a arborilor (grafurilor) Şi/Sau . Nodurile acestor
grafuri reprezinta faptele, baza de cunostinte iar ramurile (legaturile) intre diferite fapte legate prin
afirmatii de tip Si Sau se bazează pe regulile de productie.
Raţionament inductiv (înapoi-backward chaining), în care se porneşte de la un scop care este
descompus succesiv în subscopuri până se ajunge la dovedirea lui. Acest tip de raţionament este
dirijat de scop.
Raţionament mixt. În acest caz se fixează un scop, se determină toate faptele deductibile, se
precizează faptele interogabile, apoi se aplică raţionamentul inductiv.
Fiecare din modurile de raţionament enumerate mai sus are avantaje şi dezavantaje, eficienţa
aplicării lui depinzând mult de contextul problemei.
Se consideră setul de 9 reguli R1…R9 de mai jos, se dă baza de fapte formată din faptele B şi C şi se
cere să se demonstreze scopul H.
Figura 5.2 ilustrează funcţionarea motorului de inferenţe în cazul aplicării primei reguli din listă, iar
figura 5.3 cazul în care se aplică regula cea mai complexă.
Fig. 5.2. Raţionament deductiv cu executarea primei reguli aplicabile.
Dezavantaje:
În legătură cu ultimul dezavantaj, se poate face o clasificare a faptelor procesate de un sistem expert
în fapte cunoscute şi fapte necunoscute. La rândul lor faptele necunoscute pot fi deductibile prin
aplicarea unor reguli sau pot fi interogabile (într-un proces de comunicare interactivă între sistemul
expert şi utilizator).
Vom ilustra acest mod de raţionament pe aceeaşi problemă enunţată în cazul raţionamentului deductiv.
Întrucât regula R6 are în partea de concluzii scopul urmărit H, se începe cu ea iar premisele ei devin sub-
scopuri. Urmează deci să se arate că X şi A sunt adevărate. Procesul continuă prin descompunerea fiecărui
sub-scop în sub-sub-scopuri, până se dovedesc toate faptele necesare (fig. 5.4).
Observaţii:
În etapa de rezolvare a conflictelor se alege regula cu numărul de ordine cel mai mic;
Arborele este parcurs în profunzime şi de la stânga la dreapta;
În caz de eşec (G) se revine în arbore la următoarea regulă posibil de declanşat (R3).
Avantaje:
Exercitii:
R1 dacă X şi Y atunci A
R2 dacă A atunci B
R3 dacă B atunci C
R4 dacă A şi X şi Y atunci D
R5 dacă D atunci G
R6 dacă A şi D atunci E
R7 dacă E atunci F
R8 dacă A şi D şi E atunci S
2. Să se exprime sub formă de reguli de producţie următorul arbore:
Laborator 6 Generatorul de SE EISEWin
Generatorul EISEWin face parte din grupa generatoarelor de tip arborescent care în noduri
permit bifurcarea în două în funcţie de răspunsul afirmativ sau negativ la un anumit nivel şi
utilizat la generarea sitemelor descriptive. Baza de cunoştinţe este stabilită de cognitician. Un
scenariu este format dintr-o înşiruire de întrebări şi răspunsuri, răspunsurile la rândul lor pot fi
noi întrebări astfel asigurându-se ramificarea pe subnivele. Utilizatorul va avea de ales între două
variante de răspunsuri Da Nu
De aici rezultă că acest sistem poate fi folosit doar acolo unde este valabilă cunoaşterea
descriptivă, făcându-se o evaluare calitativă.
Programul EISEWIN
Lansarea în execuţie a programului se face de pe desktop (dacă este făcută legătura)
sau din Windows Explorer din directorul corespunzător dând dublu-click pe icoana
programului.
Progarmul se prezintă întro fereastra cu două mape corespunzătoare celor două moduri
de lucru şi anume Run EISEWin Script pentru rularea aplicaţiilor create; Create EISEWin
Script pentru a crea o aplicaţie (script).
Să vedem în continuare prima mapă, cea de utilizare a scripturilor. Suprafaţa de lucru a acestuia
conţine:- butoane pentu încărcarea scripturilor salvate pe disc, -lansarea scriptului încărcat,
-ieşire din program, -ajutor, -iar pe suprafaţa client unde apar întrebările respectiv soluţia avem
două butoane Yes şi No corespunzătoare răspunsurilor posibile la un monet dat.
Încărcare script Rulare Script Ieşire program Ajutor
Pentru a încărca un script dăm click pe butonul corespunzător. Va apărea o fereastră pentru
selectarea discului, directorului şi fişierului. Ne selectăm fişierul cu scriptul dorit şi dăm dublu
click pe acesta sau după selectare facem click pe butonul OK
După încărcarea unui script trecem la execuţia (rularea acestuia) facând click pe butonul de
rulare.
Crearea unui script
Crearea unui script trebuie să înceapă cu proiectarea acestuia pe hârtie. Trebuiesc stabilite
punctual soluţiile problemei date; întrebările care conduc la o anumită soluţie, structura arborelui
de întrebări şi răspunsuri. Este bine ca sistemul să aibă răspunsuri şi pentru situaţia în care
utilizatorul nu ştie ce vrea, char dacă acest răspuns este acela de ai indica să stabileasca mai exact
propriile criterii (să ştie ce vrea).
-cu jet (caliate bună, preţ mic, costuri relativ mari) recomandat pentru birouri mici sau pentru
casa cu numar redus de listări
-cu laser (calitate foarte bună, costuri mici, pret foarte mare) recomandat birourilor, firmelor mari
unde calitatea documentelor este importană.
În primă fază vom crea un script numai pentru utilizările recomandate urmând ca dumneavoatra
să stabiliţi şi să creaţi un nou script care să ţină cont şi de proprietăţile din paranteze.
Deschidem deci mapa de creare a scripturilor Create EISEWin Script. Suprafaţa de lucru se
va prezenta astfel:
1 2 3
4 5 6 7
9
Aici găsim următoarele:
După introducerea textelor salvăm scriptul dând clic pe butonul 2 şi introducând un un nume în
fereastra care apare (atenţie format din maxim 8 litere, limitare a programului EISEWin) . Noi
am ales numele de printer.
Exerciţiu: refaceţi acest script astfel încât la rulare acesta să ţină cont şi de celelalte caracteristici
ale diferitelor tipuri de imprimante. Pentru ajutor redăm în ceea ce urmează o posibilă clasificare
pe criterii (ideea este de a stabilii câte un criteriu principal pentru care dupa aceea verificăm şi
celelalte criterii).
Laborator 7 Generatorul de SE EXSYS
Generatorul de SE EXSYS este o aplicaţie care utilizează regulie de producţie ca metodă de
reprezentare a cunoaşterii şi de luare de decizii. Acest program permite crearea SE de
complexitate mică şi medie. Pune la dispoziţia utilizatorilor o interfaţă sugestivă pentru alegerea
soluţiilor, variabilelor, calificatorilor(constante de text care reprezintă “valori”, atribute descrieri
ale unor subiecte) introducerea de formule etc.
Lansarea în execuţie se face cu clic pe icoana EXSYS de pe desktop sau din Windows Explorer
din mapa EXSYS\PRO\editdemo.exe. După încărcarea programuluiputem alege ca din meniul
File să deschidem o baza de cunoştinţe existente cu comanda Open după care introducem numele
fişierului, sau să creem o nouă bază de cunoştinţe.
Ca şi exemplu vom relua problema alegerii unei imprimante având în vedere că la laboratorul
precedent am stabilit deja care sunt criteriile de alegere a unui anumit tip de imprimantă
respectiv care sunt regulile pe baza cărora vom decide. Să botezăm deci proiectul nostru
printer.
După introducerea si validarea numelui proiectului apare fereastra de parametrii care conţine
date despre autor, subiect, metoda de lucru cu factorul de certitudine(Confidence mode),
modalitatea de parcurgere a bazei de cunoştinţe(Derivation mode), modul de vizualizare a
regulilor pe parcursul execuţiei(Rule Display Mode), modul de testare a regulilor pentru a evita
dublurile respectiv regulile fără sens(Chek new rules for consistency), textul de întâmpinare şi
de final(Starting / Ending text), limita valorii factorului de certitudine de la care să se afiseze
rezulatele(Display Threshodl). Atenţie !!! Odata stabilite criteriile Confidence mode şi
implicaţiile acestuia (Calculation mode) nu mai putem reveni asupra lor dacă s-au introdus deja
soluţii, reguli, sau variabile.
Fereastra cu parametri iniţiali se va complecta după cum urmează:
Pe parcurs avem posibilitatea de a afişa aceasta fereastră din meniul Rule -> Choice List.
Adăugare regulă
Editare regulă
Ştergere regulă
Introducerea calificatorilor
Calificatorii sunt variabile text prin care reprezentăm datele de intrare ale cunoştinţelor, sunt
valori care descriu premisele pe baza cărora SE va face alegerea soluţiei. De exemplu pentru
problema cu imprimanta un asemenea calificator este Preţul de achiziţie care poate lua trei
valori mic, mediu şi mare.
După introducerea unei valori, pentru ataşarea acestuia la lista de valori posibile ale
calificatorului, se apasă butonul (click) Add.
Dacă dorim să avem o valoare implicită (mai des utilizată) putem include această valoare la
Default Value. De asemneea putem limita numărul de răspunsuri (posibilităţi), care se pot
selecta la o anumită întrebare, prin selectarea opţiunii Limit input values to: urmat de un număr.
Pentru baza de cunoştinţe vom mai introduce doi calificatori cu valorile corespunzătoare după
cum urmează:
Fig. REGULUI
Introducerea regulilor:
1.Partea IF implică în primul rând selectarea butonului radio de opţiune unică IF Part(1)
3. se alege calificatorul şi valoarea dorită după care se dă clic pe OK(în fereastra de regulă va
apărea la partea de IF calificatorul şi valoarea ca premisă)
5. după introducerea premiselor urmează concluziile adică partea THEN (2) deci î-l selectăm
8. pentru a adăuga noi soluţii la partea de THEN, separate cu AND sau OR, procedăm analog ca
la partea de IF ,dând rând pe rând clic pe butonul Choice cu Insert şi AND selectate.
După terminarea intoducerii soluţiilor şi punctajelor aferente unei premise, vom obţine ceva
asemănător cu fig. REGULI
După stabilirea tuturor regulilor şi salvarea acestora în baza de cunoştinţe putem trece la
utilizarea programului. Pentru a lansa în execuţie aplicaţia noastră deschidem meniul Options şi
alegem comanda Run
După fereastra de întâmpinare apar pe rând ferestrele în care alegem valorile pentru calificatori.
Numărul de ferestre este egal cu numărul de calificatori incluşi în regului ( la noi 3)
Selectăm cu mouse-ul valoarea (valorile) corespunzătoare şi apăsăm OK pentru a merge mai
departe. După epuizarea calificatorilor SE va genera răspunsul sub forma unei liste a soluţiilor cu
punctajele câştigate. După cum se poate vedea două imprimante au obţinut acelaşi punctaj, ca
urmare a alegerii unor valori “ilogice”.
Laborator 8 Utilizarea variabilelor în EXSYS
În cursul acestui laborator vom urmării printr-un exemplu concret cum se pot utiliza variabilele
numerice în programul EXSYS. Având în vedere utilizarea cu precădere în domeniul economic
al SE este inutil să mai vorbim despre necesitatea ca acestea să poată lucra cu varibile numerice,
în fond deciziile în economie se iau în urma comparării unor valori numerice.
Să facem un pic de matematică. Pentru a determina investiţia optimă vom compara procentele de
câştig lunare din cele trei moduri de investiţie. Vom avea formulele:
Evident vom recomanda acea investiţie care prezintă procentaj cel mai mare la câştig.
După cum se poate vedera avem nevoie de câteva variabie numerice pentru a rezolva această
problemă.
Vom începe o nouă sesiune de lucru cu programul EXSYS. Vom boteza proiectul cu numele
invest. Exemplul descris în suportul de laborator face evaluarea doar pentru situaţiile a două
variabile, dobânda bancară şi cursul valutar, cursanţilor revenind sarcina de a completa proiectul
şi cu a treia variantă pentru investiţii în acţiuni.
După parcurgerea paşilor deja cunoscuţi, adică stabilirea proprietăţilor iniţiale (aici vom alege
Confidence mode Yes/No), respectiv a soluţiilor (Depozit bancar, cumpara valută, ) urmează
să definim variabilele. Vom folosi ca şi denumiri aceleaşi notaţii ca la descrierea teoretică.
Pentru a adăuga variabile selectăm din meniul Rule -> Variable List. În fereastra care apare se
face clic pe butonul New Variable.
Va aparea o nouă fereastra în care vom stabili pe rând numele variabilei.NAME (numele nu
poate conţine spaţii sau semne de punctuaţie) întrebarea care va fi afişată pe ecran când se va
cere valoarea pentru variabila respectivă (Prompt), de asemenea se pot stabili o valoare
iniţială(INITIALIZE), limitele inferioară(LOWER LIMIT) şi superioară(UPPER LIMIT).
Vom complecta cu datele necesare câmpurile corespunzătoare astfel încât în final să aveţi
declarate variabilele necesare. OBSERVAŢIE trebuie să declarăm în mod identic şi variabilele
care nu vor fi introduse de utilizator ci vor fi calculate pe parcurs.
Urmează să efectuăm calculele descrise în partea de introducere. Generatorul EXSYS foloseşte
motorul de declaraţie a regulilor pentru a efectua calcule cu variabile în anumite formule. Regula
de producţie pentru formule de calcul are în partea de IF declarată lista variabilelor iniţiale iar în
parte de THEN formule de calcul pentru variabilele derivate.
IF x THEN y=f(x)
O asemenea scriere se interpretează astfel: Dacă s-a introdus valoare pentru variabila x atunci cu
valoarea variabilei x fă calculul pentru y=f(x).
Urmează deci regulile. Prima regulă o vom folosi pentru testarea variabilelor, dacă au fost
introduse valori pentru ele. Vom selecta butonul Var./Math care va avea ca efect apariţia
ferestrei Add Formula, unde
vom putea introduce formule.
În această fereastră dacă dăm
clic pe butonul Display
Variables va apărea fereastra
cu lista variabilelor unde cu
dublu clic transferăm automat
variabilele în fereastra de
formule. Nu avem nevoie de
formule ci doar de variabile
deci vom introduce în
fereastra de formule doar
variabila pe care vrem so
testăm. Pentru a trece la
fereastra cu reguli după
selectarea variabilei dăm clic
pe butonul OK. În final partea de IF va conţine cele trei variabile iniţiale.
Motorul de inferenţe va testa dacă sau introdus valori pentru cele trei variabile. Ordinea apariţiei
variabilelor în partea de IF va determina ordinea în care la rularea programului acestea vor fi
solicitate utilizatorului.
Am putut renunţa la o a doua regulă prin utilizarea părţii ELSE (Altfel) având în vedere că
aveam doar două posibilităţi.
Exerciţiu.
1. Refaceţi programul astfel încât să conţină şi a treia variabilă pentru investiţia în acţiuni. Câte
reguli va trebuii să scriem?
2. Scrieţi un proiect care să stabilească dacă un student are şanse de promovare respectiv de
bursă pe baza a trei medii la trei materii. Nota de promovare fiind 5 iar cea de bursă 8.50
Ramura THEN în schimb va trebuii să asigure atribuirea de valori de încredere soluţiilor egale cu
procentele diferitelor investiţii.
-se introduce formula , din pacate nu putem apela la lista de variablie pentru a ne ajuta munca. În
cazul în care avem formule mari greoae este de preferat ca să se introducă o noă variabilă care să
păstreze valoarea formulei şi cu o regulă în plus să se atribuie soluţiei valoarea din acea variabilă
suplimentară (în loc să scriem soluţia = a+b scriem c=a+b, soluţia=c). Complectăm câmpurile
conform figurilor ce urmează (atenţie la PARANTEZE !!!).
Regula noastră (unica !) va arăta astfel:
Iată şi un exemplu de terminal:
Laborator 10. Combinarea variabilelor
numerice şi a calificatorilor.
Deşi prin utilizarea variabilelor se reduce drastic numarul de reguli necesare rezolvarii unor
probleme, de multe ori însă acest lucru se face prin renunţarea la anumite criterii care nu pot fi
cuantificaţi numeric. În exemplul cu investiţii de exemplu, am eliminat criteriul periodaei de
investiţii presupunând că investiţia se face pe o perioadă fixă dar celalalt crirteriu riscul, deşi
foarte important, nu a fost deloc luat în considerare.
În asemena situaţii putem apela la anumite artificii matematice prin ataşarea la criteriul
necuantificabil numeric a unei variabile numerice care reflecta importanţa acelui criteriu iar prin
inlcuderea acelei valori în formula de calcul al punctajului soluţieio să putem avea un control în
ceea ce priveşte şansele de reuşită a anumitor soluţii soluţii.
În cazul problemei găsirii celei mai bune metode de investiţii factorul risc va fi luat în
considerare prin ataşarea acestui calificator a unei variabile. Valoarea variabileli va fi inclus în
formula de calcul al puntajului aferent fiecărei metode de investiţii astfel încât prin acceptarea
riscului de către utilizator, punctajul obţinut de fiecare metoda de investiţie să fie cel calculat în
laboratorul precedent, dar daca utilizatorul nu este dispus să asume un risc prin alegerea
corespunzătoare a valorii variabilei risc, şansele de succes pentru metodele care prezintă risc
ridicat ) valută şi acţiuni să fie redus considerabil.
1xX=X
Orice număr înmulţit cu un număr subunitar va rezulta un număr mai mic decât cel original.
Formulelor de calcul pentru profit la valută şi acţiuni din laboratorul precedent li se adaugă prin
înmulţire variabila risc astfel:
- daca utilizatorul este dispus să-şi asume un risc atunci valoarea variabileli risc
va fi egal cu 1, deci rezultatul forumlei va fi neschimbat
- daca utilizatorul nu este dispus sa-şi asume nici un risc atunce atribuim variabilei
[RISC] valoarea 0 astfel rezultatul înmulţirii va fi 0 deci şansele ca această soluţie să
fie câştigătoare sunt 0.
- Dacă utilizatorul este dispus să accepte un risc moderat, atnci valoarea variabilei
[RISC] o vom stabili la 0,33 astfel punctele obţinute de soluţiile valută şi acţiuni vor
fi 3 ori mai mici. Putem spune şi astfel: profitul în valută şi/sau acţiuni trebuie să fie
de 3 ori mai mare decât profitul din bancă ca să merite să riscăm.
Avem însă şi un calificator nou şi anume cel în care i se cere utilizatorului sa se exprime
asupra riscului asumat.
În primă fază trebuie să stabilim valoarea variabilei RISC deci vom avea 3 reguli pentru
cele 3 valori ale calificatorului risc. De fapt numai 2 pentru ca prin iniţializarea variabilei RISC
cu 0 am presupus că suntem în situaţia în care utilizatorul nu-şi asumă nici un risc, deci pentru
valoarea „fără riscuri” nu trebuie sa scriem o regulă.
Urmează ultima regulă, cea în care cerem introducerea valorilor pentru dobândă respectiv cursuri
valutare şi acţiuni şi acordăm punctajele corespunzătoare soluţiilor dar (!!!) formula de la
laboratorul precedent este inmulţit cu variabila risc.
Exerciţiu . realizaţi acest script EXSYS şi verificaţi rezultatele pentru diferite valori.
Să vedem cum sunt realizate practic în aplicaţia EXSYS testele din primul mod de
abordare.
……………………………………………………..
La sfârşit vom avea un set de întrebări, fiecare întrebare având totatâtea răspunsuri câte soluţii,
fiecărei soluţii îi corespunde un răspuns)
Pasul 5 reguli de producţie. Avem un set de reguli de producţie în care parcurgem întrebările
testului de personalitate. Specific acestor reguli este faptul că la partea de THEN, în loc să avem
o soluţie vom avea o incrementare a valorii variabilei asociate unei soluţii de forma
VAR_X=VAR_X+1 (interpretare: valoarea nouă a variabilei VAR_X este egal cu valoarea
veche/precedentă plus 1. Dacă VAR_X iniţial era 2, vom avea VAR_X=2+1 adică 3). Prin
această metodă la parcurgerea tuturor întrebărilor testului la final vom avea calculat în variabilele
asociate soluţiilor punctele obţinute de fiecare soluţie.
Pasul 6 ultima regulă de producţie în care asociem punctele obţinute şi stocate în variabilelel
asociate cu soluţiile propriu zise astfel : soluţia X primeşte VAR_X puncte. La partea de IF a
acestei reguli trebuie să fin însă atenţi să introducem o condiţie care sa fie tot timpul adevarat
astfel ca atribuirea sa se realizeze. Putem foarte uşor să folosim o condişie de forma Daca
VAR_X>-1, condiţie care va fi tot timpul adevărat daca ţinem cont că variabilele asociate le-am
iniţializat cu 0.
A doua categorie de teste de personalitate este acela în care la fiecare întrebare se acordă un
anumit punctaj iar punctajul final este încadrat într-un anumit domeniu de valori.
Pentru a rezolva acest tip de problemă cu ajutorul aplicaţiei EXSYS vom parcurge paşii
următori:
Pasul 3 Definim o variabilă PUNCTAJ în care vom aduna punctele obţinute la fiecare
întrebare. Şi în cazul acestei variabile este valabilă formula recurentă cu observaţia că nu e
obligatoriu ca incrementarea să se faca cu 1: PUNCTAJ=PUNCTAJ + p unde p=puncte obţinute
la întrebarea curentă.
Numărul de astfel de reguli este egal cu numărul de domenii/soluţii. Dacă de exemplu avem trei
soluţii pe domeniile sol. A între 0 – 10 pct, sol B între 11-25pct , sol C peste 26 pct vom avea
evident 3 reguli:
Daca PUNCTAJ <10 Atunci solutia A
Bibliografie sursă
Ioan Ileana Sisteme expert Manualul studentului