Documente Academic
Documente Profesional
Documente Cultură
FACTS și IA
Partea a II-a
Tehnologii avansate în SEE:
Inteligenţă artificială
(IA)
Cap 2. Sisteme expert
2.1. Introducere
Sistemele expert (SE) constituie o clasă particulară de sisteme informatice bazată pe
inteligenţa artificială, având ca scop reproducerea cu ajutorul calculatorului a
cunoştinţelor şi raţionamentelor experţilor umani.
Memorie de Date
lucru Motor de
Modul de achiziţie
Acţiuni inferenţã
de cunoştinţe
Mediu de
dezvoltare
-baza de cunoştinţe
- baza de date
- motorul de inferenţă
- modulul de achiziţionare de cunoştinţe
- interfaţa cu inginerul de aplicaţie (expertul)
- inginerul de cunoştinţe şi cu utilizatorul
- module de grafică şi calcule
Baza de cunoştinţe
Baza de cunoştinţe (BC) cuprinde o colecţie de cunoştinţe relevante despre un anumit
domeniu. Baza de cunoştinţe cuprinde reguli şi fapte.
Regulile se referă la operaţiile ce pot fi efectuate asupra obiectelor conţinute în baza
de date. Regulile se modifică mai rar, ca urmare, de exemplu, a unor schimbări în
regulamentele tehnice. În esenţă regulile constituie un ansamblu complet şi
necontradictoriu de cunoştinţe necesare rezolvării unei probleme. Faptele reprezintă
partea dinamică a bazei de cunoştinţe şi au rolul de a reprezenta starea obiectelor la un
moment dat.
2.3. Arhitectura unui sistem expert
Reprezentarea cunoştinţelor în domeniu se poate realiza sub formă de reguli (sau reguli
de producţie), reţele semantice, structuri împachetate (frameuri), programarea orientată pe
obiecte saude
Reguli logica formală.
producţie. Reprezentarea cunoştinţelor sub forma regulilor de producţie se
înscrie în categoria metodelor de IA cunoscută sub denumirea de sisteme de producţie.
La baza sistemului de producţie stă conceptul de regulă de producţie a cărei structură
este:
<partea de condiţie> <partea de acţiune>
Exemplu:
Grafurile şi reţelele semantice pot fi organizate ierarhic; acest lucru permite ca unele
atribute să fie moştenite de la tipuri generale la tipuri specializate.
Exemplu:
Utilizator
Fapte
Alte
Motor de inferenţe acţiuni
Reguli reguli aplicabile
Reguli
Selectare Regulă
(ii) După modul în care este parcurs graful de decizie. Şi în această situaţie sunt
posibile trei alternative:
• Explorarea în adâncime (”depth-first search”), care este forma de căutare des utilizată de
un sistem expert. Este o căutare în interiorul unui graf, unde fiecare nod este tratat conform
regulii ”ultimul nod sosit este primul nod luat în considerare”. Fiecare arc al grafului este
tratat până la extremitatea sa înainte de a explora un alt arc;
• Explorarea în lăţime (”breadth-first search”): în acest caz, ”primul nod sosit este primul
nod tratat”. Graful este parcurs complet pe fiecare nivel de adâncime înainte de a trece pe un
nou nivel;
• Căutarea bazată pe procedee euristice. Pentru o bază de cunoştinţe ce conţine un număr
important de reguli, cantitatea de operaţii necesare a fi efectuate pentru a parcurge
ansamblul regulilor depăşeşte adesea capacitatea calculatoarelor aflate la dispoziţie. Acest
fapt a făcut să fie adoptate proceduri de căutare euristice. Procedeele euristice acţionează
prin introducerea unor salturi care să evite explorarea anumitor direcţii de căutare
considerate ineficiente. Unele dintre aceste proceduri adoptă mecanisme de orientare a
căutării, iar altele utilizează o căutare aleatoare.
E E, F E, F,
a A
R4 B, C, R8 B, C, R6 H
B, C R7 R7 R7
X R9 X, A R9
b
ambele subscopuri
G neverificat ŞI trebuie verificate
ŞI
inutil deoarece nu una sau alta dintre
R2 D SAU reguli poate fi aplicată
a fost verificat G
SAU
A R3 C verificat B verificat
ŞI R7 C verificat
SAU
H
R6 ªI R8 F R1 D
ŞI R9
R7 C verificat
R5
X R4 B verificat E D
R9
c
Fig. 2.3. Procedee de inferenţă: a. căutare înainte (după prima regulă aplicabilă);
b. căutare înainte (după regula cu cel mai mare număr de condiţii); c. căutare înapoi.
2.3. Arhitectura unui sistem expert
Strategii de căutare
În afară de diferitele moduri de parcurgere a regulilor, motorul de inferenţe trebuie
să-şi orienteze căutarea în profunzime, în lărgime, sau conform unor criterii euristice.
Aceasta permite, în particular, a evita conflicte în timpul stabilirii unei reguli de declanşat
între mai multe selectate.
A A
1 1
2
B C B C
2 4 3
3 4
D E D 5 E
a. b.
REZOLVARE
CONFLICTE
Reguli
reţinute
Fig. 2.5. Ciclul de bază al unui motor de inferenţe.
EXECUŢIE
REGULI
2.3. Arhitectura unui sistem expert
• SELECŢIA: se extrag din baza de reguli şi din baza de fapte elementele care caracterizează
subdomeniul de rezolvare a problemei (se constituie o partiţie a bazei de cunoştinţe, care va
scurta timpul de căutare pentru etapele următoare). Această fază este necesară atunci când
baza de cunoştinţe este mare, încercând să acopere mai multe domenii ale cunoaşterii.
• FILTRAJUL (pattern matching) constă în compararea premiselor regulilor selecţionate
anterior cu faptele ce caracterizează problema de rezolvat, pentru a determina submulţimea
regulilor declanşabile. În urma acestei etape pot rezulta una, mai multe, sau nici o regulă
declanşabilă. Dacă nu rezultă nici o regulă declanşabilă, înseamnă că suntem într-o situaţie de
eşec.
• REZOLVAREA CONFLICTELOR este necesară atunci când din etapa de filtraj au
rezultat mai multe reguli declanşabile şi trebuie aleasă una pentru a fi executată. Printre
criteriile de alegere care pot fi utilizate în această etapă se amintesc: prima regulă din listă,
regula cu cel mai mare număr de fapte în premisă, regula cea mai des utilizată etc. De
calitatea acestei alegeri depind performanţele motorului de inferenţe, care va găsi mai rapid
sau mai lent soluţia problemei.
•EXECUŢIA REGULII ALESE constă în adăugarea uneia sau a mai multor fapte în ”baza
de fapte”. Este posibil, de asemenea, ca în această etapă să se facă apel la proceduri externe
(acces la baze de date sau la procesoare de tabele) sau la întrebări puse utilizatorului. Pentru
rezolvarea unei probleme, motorul de inferenţe execută mai multe cicluri de bază şi se opreşte
în funcţie de modul de raţionament utilizat.
2.3. Arhitectura unui sistem expert
Alte module
Tehnici de Tehnici de
achiziţie reprezentare a Baza de
Expertiză cunoştinţe cunoştinţelor cunoştinţe
Expert Inginer de
aplicaţie cunoştinţe
Sistem expert
Modulul de interfaţă cu utilizatorul, este partea din program care permite utilizatorului să
pună întrebări sistemului expert, să introducă noi informaţii sau să primească diferite
recomandări de la acesta. Aprecierea utilizatorului asupra unui sistem expert depinde în
mare măsură de asemănarea între modul de reprezentare a informaţiilor de către SE şi
modelul pe care utilizatorul îl are în ”mintea sa” despre problema care se rezolvă.