Sunteți pe pagina 1din 12

UNIVERSITATEA ”PETROL ȘI GAZE” DIN PLOIEȘTI

FACULTATEA DE INGINERIE MECANICĂ ȘI ELECTRICĂ


DEPARTAMANETUL DE AUTOMATICĂ, CALCULATOARE ȘI ELECTRONICĂ

INTELIGENȚA
ARTIFICALĂ
TEMA DE LABORATOR

Realizat de Ghiveciu Alexandru

Anul univeristar 2018/2019


INTRODUCERE

Tema de laborator presupune realizarea unui SBC (Sistem Bazat pe


Cunoștințe) pentru diagnoza tehnică software și hardware a unui calculator.

Mediul în care s-a dezvoltat aplicația este VP-Expert. Acesta este de fapt un
generator de sisteme expert care cuprinde un shell (nucleu) ce integrează motorul de
inferență și o structură organizată a bazei de cunoștințe.

Se vor evalua posibilele probleme de natură software și hardware care pot


apărea la un calculator, iar pentru fiecare problemă identificată se vor menționa care
sunt posibilele cauze ale defectării.

La final, pe baza informațiilor introduse de către utilizator programul va afișa


dacă respectivul calculator este funcțional sau nu, dar și care este natura problemei pe
care acesta o are.

Principalele surse de cunoaștere utilizate au constituit notițele de curs și de


laborator.
PROIECTAREA ȘI IMPLEMENTAREA SBC

Pentru realizarea SBC-ului au fost identificate în primă fază principalele


probleme de natură software și hardware care pot apărea la un calculator. Pentru
fiecare variabilă analizată se definește domeniul de valori pe baza căruia se va realiza
evaluarea tuturor posbilitătilor pentru a putea determina variabila scop.

Variabila scop este reprezentată de stare_calculator (not. SC), iar valoarea


acesteia depinde de variabilele probleme_soft (not. PS) și probleme_hard (not. PH).

Domeniul variabilei scop este:


Dom(SC) = {functional, nefunctional}

Domeniile pentru variabilele probleme_soft și probleme_hard sunt:


Dom(PS) = {exista, nu_exista}
Dom(PH) = {exista, nu_exista}

a) Variabila probleme_soft este determinată de valorile pentru următoarele


variabile:

 restartare (not. REST);


 sistem_operare (not. SO);
 drivere (not. DRV);
 malaware (not. MALW).

Domeniile de valori sunt:


Dom(REST) = {problema_update, exista_virus, nu_exista}
Dom(SO) = {exista, nu_exista}
Dom(DRV)= {instalate, neinstalate}
Dom(MALW) = {detectat, nedetectat}

Pe baza valorii alese pentru fiecare variabilă în parte se determină valoarea


variabilei PS, valoare ce va contribui la determinarea stării calculatorului.
b) Variabila probleme_hard este determinată de valorile pentru următoarele
variabile:
 alimentare (not. ALIM), care este la rândul ei determinată pe baza
valorilor variabilelor: - sursa (not. SRS);
-cablu_alimentare (not. CA).
 RAM (not. RAM);
 placa_baza (not. PB), care se determină pe baza valorilor pentru
următoarele variabile: -alimentare_placa (not. AP);
-condensatori (not. COND);
-ventilator (not. VENT).

Domeniile de valori pentru variabile sunt:


Dom(ALIM) = {alimentat, nealimentat}
Dom(SRS) = {porneste, nu_porneste}
Dom(CA) = {conetcta, neconectat}
Dom(RAM) = {functional, nefunctional}
Dom(PB) = {functioneaza, nu_functioneaza}
Dom(AP) = {conectat, neconectat}
Dom(COND) = {stare_buna, umflati}
Dom(VENT) = {stare_buna, nu_se_invarte, are_praf}

Valoarea variabilei PB se determină în funcție de alegerile făcute pentru AP,


COND și VENT. La fel și în cazul ALIM, valoarea variabilei se determină în funcție
de valorile pentru SRS și CA. Valoarea variabilei PH se va calcula pe baza
rezultatelor obținute pentru ALIM și PB, dar și pe baza alegeri unei valori pentru
variabila RAM.

Arborele de analiză rezultat în urma stabilirii variabilei scop, a tuturoro


variabilelor utilizate, precum și a domeniilor acestora, este prezentat mai jos.
Pentru nodul restartare avem 3 reguli, nodul sistem_operare are 2 reguli,
nodul drivere are 2 reguli, iar nodul malaware are 2 reguli. Ceea ce înseamnă că
proiecte_soft va avea 3×2×2×2 = 24 reguli.

Nodul cablu_alimentare are 2 reguli, nodul sursa are 2 reguli, iar nodul
alimentare va avea 2×2 = 4 reguli.

Nodurile alimentare_placa și condensatori au câte 2 reguli fiecare, iar nodul


ventilator are 3 reguli. Nodul care conține cele 3 variabile, placa_baza, are 2×2×3 =
12 reguli.

Nodul alimentare, care are 4 reguli, împreună cu nodul alimentare_placa,


care are 12 reguli, și împreună cu nodul RAM, care are 2 reguli vor forma nodul
probleme_hard, care va avea 4×12×2 = 96 reguli.

Nodul rădăcină stare_calculator are 2×2=4 reguli.

SBC-ul a fost implementat în VP-Expert. Pentru început a fost creat proiectul,


cu extenisa *.KBS. După care, prin intermediul editorului au fost scrise blocurile de
instrucțiuni specifice programului.

Întâi a fost creat blocul ACTIONS în care se face afișarea stării


calculatorului, precum și un titlu sugestiv temei de proiect. Următorul pas a constat în
scrierea tuturor regulilor pentru fiecare nod în parte. În cele ce urmează sunt
prezentate exemple de reguli pentru fiecare set în parte.

Un exemplu de regulă pentru determinarea stării calculatorului:

RULE SC1
if PS=exista and PH=exista then SC= nefunctional
DISPLAY "Exista probleme software si hardware" CNF 100;

Un exemplu de regulă pentru determinarea problemei software:

RULE PS1
if REST=nu_exista AND SO=exista AND DRV=instalate AND
MALW=nedetectat then PS=nu_exista
BECAUSE "Nu exista probleme la nivel software";

Un exemplu de regulă pentru determinarea problemei hardware:


RULE PH1
if ALIM=alimentat and RAM=functional and PB=functionala then
PH=nu_exista
BECAUSE "Nu exista probleme la nivel hardware";

Un exemplu de regulă pentru determinarea valorii plăcii de bază:

RULE PB1
if AP=conectat and COND=stare_buna and VENT=stare_buna then
PB=functionala CNF 100;

Un exemplu de regulă pentru determinarea valorii alimentării:

RULE AL1
if SRS=porneste and CA=conectat then ALIM=alimentat CNF 90;

Ultimul bloc este cel decizional, în care se realizează alegerile valorilor pentru
fiecare variabilă analizată.
Un exemplu de astfel de acțiune este următoarea:

ASK REST :"Exista probelem cu restartarea?";


CHOICES REST: problema_update, exista_virus, nu_exista;

În momentul rulării programului pe ecran se va afișa mesajul scris la nivelul


comenzii ASK, împreună cu variantele din care utilizatorul poate face selecția. Acest
procedeu se repetă pentru fiecare variabilă analizată.
În urma parcurgerii tuturor pașilor programului pe ecran se va afișa starea
calculatorului rezultată în urma evaluări tuturor regulilor definite.
Capturi de ecran proiect Protege “Tipuri de senzori”