Sunteți pe pagina 1din 5

UNIVERSITATEA "AUREL VLAICU" ARAD

FACULTATEA DE INGINERIE

REFERAT
Inteligenţă Artificială

Prof.coordonator: STUDENT:
Introducere in Visirule

VisiRule are ca principala caracteristica reprezentarea grafica de tip


organigrama a algoritmilor. Prin adoptarea sa putem maximiza eficienta
programarii sistemelor de tip expert, stiut fiind ca una dintre metodele
predilecte de reprezentare a algoritmilor de decizie este tocmai
reprezentarea prin organigrame.
Nimic mai simplu si mai direct decat sa trecem direct de la
organigrama sursa a algoritmului la o alta organigrama cu rol de
implementare.
Pe langa inteligenta implicita pe care o inglobeaza un algoritm de tip
organigrama, VisiRule este capabil sa creeze sisteme bazate pe
cunostinte(knowledge-based systems) si este interactiv, ghidand intr-un
mod inteligent proiectarea aplicatiilor.
VisiRule opereaza cu un numar redus de blocuri care pot fi
configurate si interconectate de catre programator. Cea mai simpla
organigrama poate fi obtinuta utilizand urmatoarele blocuri:
-START BOX (colorat cu verde) – punctul initial al algoritmului;

-QUESTION BOX (colorat cu galben) – bloc care initiaza un dialog cu


utilizatorul;

-EXPRESSION BOX (colorat cu alb);

-END BOX (colorat cu rosu) – punctul final al algoritmului.

Prolog este unul dintre limbajele clasice ale Inteligentei artificiale,


dedicat dezvoltarii de sisteme de decizie luat eprin calcul propozitional.
Versiunea moderna WinProlog se distinge prin compatibilitatea cu
toate standardele din componenta sistemului de operarea Windows.
Lansarea VisiRule se face fie vizual, fie din fereastra de comenzi
WinProlog, dupa indicatiile care insotesc fiecare pachet de programe.
Prezentarea programului in Visirule

Programul facut de mine simuleaza acordarea unui credit la banca.


Programul calculeaza acordarea creditului in functie de contractul de
munca al solicitantului creditului(norma intreaga, jumate de norma),
vechimea acestuia in colaborarea cu banca la care se face cererea de
acordare a creditului, in functie de alte credite existente ale solicitantului si
rambursarea acestora la timp.
In functie de aceste date programul acorda sau respinge cererea de
acordare a creditului.
Codul flex al aplicatiei produse de “Calculeaza zilele.vsr” este urmatorul:

do ensure_loaded( system(vrlib) ) .

relation start( Conclusion ) if


'q_Norma intreaga'( Conclusion ) .

relation 'q_Norma intreaga'( Conclusion ) if


the answer to 'Norma intreaga' is _ and
check( 'Norma intreaga', =, da ) and
q_Peste3ani( Conclusion ) .

relation 'q_Norma intreaga'( Conclusion ) if


the answer to 'Norma intreaga' is _ and
check( 'Norma intreaga', =, nu ) and
q_Peste5ani( Conclusion ) .

relation q_Peste3ani( Conclusion ) if


the answer to 'Peste3ani' is _ and
check( 'Peste3ani', =, da ) and
Conclusion = 'Imprumut acordat' .

relation q_Peste3ani( Conclusion ) if


the answer to 'Peste3ani' is _ and
check( 'Peste3ani', =, nu ) and
'q_Imprumut Precedent'( Conclusion ) .

relation 'q_Imprumut Precedent'( Conclusion ) if


the answer to 'Imprumut Precedent' is _ and
check( 'Imprumut Precedent', =, da ) and
'q_Rambursat la timp'( Conclusion ) .

relation 'q_Imprumut Precedent'( Conclusion ) if


the answer to 'Imprumut Precedent' is _ and
check( 'Imprumut Precedent', =, nu ) and
Conclusion = 'Imprumut neacordat' .

relation 'q_Rambursat la timp'( Conclusion ) if


the answer to 'Rambursat la timp' is _ and
check( 'Rambursat la timp', =, da ) and
Conclusion = 'Imprumut acordat' .

relation 'q_Rambursat la timp'( Conclusion ) if


the answer to 'Rambursat la timp' is _ and
check( 'Rambursat la timp', =, nu ) and
Conclusion = 'Imprumut neacordat' .

relation q_Peste5ani( Conclusion ) if


the answer to 'Peste5ani' is _ and
check( 'Peste5ani', =, da ) and
'q_Imprumut Precedent'( Conclusion ) .

relation q_Peste5ani( Conclusion ) if


the answer to 'Peste5ani' is _ and
check( 'Peste5ani', =, nu ) and
Conclusion = 'Imprumut neacordat' .

group group1
da, nu .

question 'Norma intreaga'


'Este solicitantul creditului un angajat cu normă întreagă ?'
;
choose one of group1
because explanation .

question 'Rambursat la timp'


'Si a fost rambursat la timp ?' ;
choose one of group1
because explanation .

question 'Imprumut Precedent'


'A avut un împrumut anterior ?' ;
choose one of group1
because explanation .

question 'Peste3ani'
'Lucreaza cu banca de peste 3 ani ?' ;
choose one of group1
because explanation .

question 'Peste5ani'
'Lucreaza cu banca de peste 5 ani ?' ;
choose one of group1
because explanation .