Documente Academic
Documente Profesional
Documente Cultură
Capitolul 1 Sisteme Expert-2 PDF
Capitolul 1 Sisteme Expert-2 PDF
Cu alte cuvinte, un SE este un program inteligent care utilizează Metodele de rezolvare a problemelor folosite de către sistemele expert
cunoştinţe, fapte şi tehnici de raţionament pentru a rezolva probleme care nu sunt proceduri matematice sau procesoare de date, ci tehnici de
în mod normal necesită cunoştinţele experţilor umani. raţionament calitativ sau euristice, care leagă elemente între ele prin reguli
de judecată precum şi prin legi şi definiţii teoretice.
Diferenţa dintre un program de calcul analitic şi un sistem de tip 2. disponibilitatea crescută, expertiza devenind accesibilă pe orice
expert constă în: calculator adecvat: spre deosebire de expertul uman, SE este
disponibil în orice moment şi nu este afectat de emozivitate, factori
• sistemul expert foloseşte datele din baza de date filtrate printr-un
de stres etc.;
set de cunoştinţe, înmagazinate în baza de cunoştinţe, care sunt
independente de algoritmul de rezolvare utilizat; 3. reducerea costului, explicabilă în corelaţie cu cele menţionate la
punctul anterior, dar şi cu evoluţia preţului sistemelor de calcul;
• algoritmul de căutare a soluţiei, denumit motor de inferenţă, nu
mai este de tip iterativ, ca în cazul programelor analitice, ci de tip 4. permanenţa, rezultată din faptul că, spre deosebire de experţii
convergent; umani, SE nu au o viaţă limitată;
• datorită delimitării nete dintre elementele componente (baza de 5. reducerea riscurilor prin incorporarea în sisteme de comandă a
date, baza de cunoştinţe, motorul de inferenţă) un sistem expert roboţilor industriali utilizţi în medii periculoase pentru om;
poate fi modificat cu uşurinţă prin simpla adăugare sau eliminare de 6. creştrea calităţii, prin obţinerea unei expertize complete a
reguli; conceperea unui sistem expert este un proces linear, realizat domeniului, ceea ce expertul uman nu realizează întotdeauna;
prin discuţii repetate cu experţi umani pentru dezvoltarea bazei de
cunoştinţe; 7. posibilitatea de explicare în detaliu a soluţiei obţinute pentru
creşterea gradului de încredere al utilizatorului;
• toate operaţiile logice şi matematice care se succed în găsirea unui
răspuns se aduc la cunoştinţa utilizatorului printr-un modul 8. rapiditatea, în sensul că pe sisteme hardware şi software adecvate se
explicativ independent numit “interfaţa cu utilizatorul”. pot obţine performanţe de timp mult mai bune comparativ cu cele
ale experţilor umani;
Performanţele SE depind de corectitudinea şi volumul cunoştinţelor pe
care acesta le posedă dar şi de calitatea mecanismelor care îi permit să 9. păstrarea în siguranţă a cunoştinţelor: marile firme şi-au constituit
opereze cu aceste cunoştinţe pentru a deduce concluziile valide. sisteme expert pentru a fi afectate într-o mai mică măsură de
plecarea unor experţi umani;
Indiferent de diversele definiţii date SE, există patru caracteristici ce
califică un program drept sistem expert: 10. contribuţia la răspândirea cunoştinţelordin domeniu: un utilizator
poate rula programul pntru mai multe probleme, de la simplu la
• lucrează la un nivel expert de competenţă; complex, şi urmărind soluţiile şi explicaţiile date de SE se poate
• foloseşte un mecanism de inferenţă pentru a realiza deducţiile; autoinstrui în domeniul respectiv.
Concluzii
Inginer de Reguli Utilizator structuri de date memorate într-o colecţie denumită context;
cunoştinţe selecţionate
Baza de Reguli Selectare • cunoştinţe procedurale reprezentate sub forma unor perechi de
cunoştinţe Fapte reguli şi fapte tipul condiţie – acţiune, denumite reguli de producţie, memorate în
baza de reguli;
Mediu de
dezvoltare • cunoştinţe strategice sau de control, reprezentate sub forma unor
reguli care sprijină decizia în procesul de soluţionare al problemei.
Fig. 1.1. Structura unui sistem expert Structura generală a unei reguli de producţie este:
Baza de cunoştinţe (BC) cuprinde o colecţie de cunoştinţe relevante şi poate fi interpretată astfel:
despre un anumit domeniu şi este constituită din reguli şi fapte. “DACĂ <partea de condiţie> este îndeplinită,
Regulile se referă la operaţiile ce pot fi efectuate asupra obiectelor ATUNCI se poate executa <partea de acţiune>”.
conţinute în baza de date. Ele se schimbă mai rar şi în esenţă constituie un Partea de condiţie, denumită şi premisă, este constituită din propoziţii
ansamblu complet şi necontradictoriu de cunoştinţe necesare rezolvării logice care trebuie să fie verificate pentru ca regula să poată fi aplicată.
unei probleme.
Partea acţiune corespunde declanşării unei concluzii sau a unei noi
Faptele reprezintă partea dinamică a bazei de cunoştinţe şi au rolul de ipoteze.
a reprezenta starea obiectelor la un moment dat.
Principalele avantaje ale reprezentării cunoştinţelor sub forma de reguli
Reprezentarea cunoştinţelor – Baza de reguli (BR) de producţie sunt:
Selectare Regulă
FILTRAJ
Fig. 1.2. Exemplificarea funcţionării unui motor de inferenţe.
(i) SELECŢIA: în această etapă se extrag din baza de reguli şi din baza Reguli
declanşabile
de fapte elementele care caracterizează subdomeniul de rezolvare a
problemei. Această etapă este necesară atunci când baza de
cunoştinţe este mare, încercând să acopere mai multe domenii ale REZOLVARE
CONFLICTE
cunoaşterii.
(ii) FILTRAJUL (pattern matching) constă în compararea premiselor Reguli
regulilor selecţionate anterior cu faptele ce caracterizează problema reţinute
de rezolvat, pentru a determina submulţimea regulilor declanşabile.
În urma acestei etape pot rezulta una, mai multe sau nicio regulă EXECUŢIE
declanşabilă. Dacă nu rezultă nicio regulă aplicabilă, atunci suntem REGULI
într-o stare de eşec pe care SE o semnalează, iar utilizatorul trebuie să
răspundă la o serie de întrebări în scopul completării datelor. Fig. 1.3. Ciclul de bază al unui motor de inferenţe
6
Instrumente de inginerie a cunoştinţelor – generatoare de sistem expert
– automatizează procesul de achiziţie a cunoştinţelor. Dacă se dispune de
Pentru rezolvarea unei probleme MI execută mai multe cicluri de
un astfel de instrument, un expert într-un domeniu bine precizat poate să
bază şi se opreşte în funcţie de modul de raţionament utilizat.
construiască un sistem expert fără a fi necesară prezenţa inginerului de
cunoştinţe.
1.2.3. Module complementare
1.2.3.2. Interfaţa cu utilizatorul
1.2.3.1. Modulul de achiziţie de cunoştinţe
Este partea din program care permite utilizatorului să pună întrebări
Realizează transferul cunoştinţelor de la experţii în domeniu către
sistemului expert, să introducă noi informaţii sau să primească diferite
sistemul expert (fig. 1.4).
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ă.
7
(i) O structura simbolică care să poată reprezenta descrierea iniţială a 1. Stabileşte starea iniţială Si
problemei si fiecare obiect candidat la soluţie. Este vorba de 2. Stabileşte starea curentă Sc ← Si
structura folosită pentru reprezentarea cunoştinţelor în cadrul bazei
de date sau bazei de cunoştinţe. 3. repetă
3.1 Selectează un operator de transformare t posibil de
(ii) O mulţime de instrumente computaţionale capabile să transforme aplicat stării curente Sc
descrierea unui obiect (structură simbolică) într-o nouă descriere în
scopul de a investiga sistematic toţi candidaţii la soluţie. Aceste 3.2 Aplică operatorul t asupra stării Sc si obţine o nouă
instrumente sunt constituite din operatorii de transformare sau
starea S ' = t ( Sc )
regulile de producţie.
(iii) O metodă de planificare efectivă care să indice ordinea de aplicare 3.3 Stabileşte Sc ← S '
a transformărilor astfel încât soluţia problemei să fie găsită cât mai până când Sc este stare finală
repede. Este vorba de strategia de control.
sfârşit.
Procesul de determinarea a soluţiei porneşte dintr-o stare iniţială Si
cunoscută şi, prin aplicarea unor reguli (operatori de transformare) care Algoritmul de mai sus este nedeterminist deoarece pasul 3.1 nu
permit trecerea dintr-o stare în altă stare, se urmăreşte ajungerea în starea specifică cum se selectează operatorul sau transformarea t de aplicat.
finală Sf care constituie soluţia sau o soluţie a problemei de rezolvat. Prin Selectarea transformărilor si memorarea transformărilor efectuate
urmare, soluţia problemei se obţine printr-un proces de căutare şi nu prin constituie strategia de control.
aplicarea unei secvenţe de transformări specificate dinainte. O strategie de control nu este doar o secvenţa de acţiuni, ci o
Această manieră de abordare a soluţionării problemelor utilizează modalitate de descriere a selecţiei unei acţiuni ca răspuns la un eveniment
grafurile asociate spaţiului stărilor. Astfel, fiecare stare este reprezentată extern, cum ar fi rezultatul unui test, rezultatul aplicării unei proceduri
printr-un nod, iar operatorii de transformare prin arce. În aceste condiţii complicate de calcul sau acţiunea unui adversar.
definirea unei probleme de căutare se face folosind următorul formalism: In plus, o strategie de control trebuie să fie sistematică, adică, într-o
formulare plastică, trebuie să satisfacă următoarele cerinţe:
P = ( Si ∈ D ) ⎯⎯
T
→ Sf ∈D ( ) (1) • nu lasă nici o piatră neîntoarsă;
• nu întoarce nici o piatră de mai multe ori.
în care: D este mulţimea stărilor sau universul problemei; Prima cerinţă, numita completitudine, garantează faptul că strategia
T – mulţimea transformărilor. produce soluţia, dacă aceasta există, iar cea de a doua cerinţă protejează
contra ineficienţei prelucrărilor repetate.
O soluţie a problemei P, notată T * este o secvenţă de transformări Pentru exemplificare se consideră un sistem aflat în starea iniţială
caracterizată de proprietăţile P1, P2 şi P3. Sistemul evoluează prin adăugarea
t1* , t2* ,..., tn* cu proprietatea: de noi proprietăţi conform următoarelor transformări sau reguli:
( ( ))
t1: DACĂ (P1 ŞI P2) ATUNCI P4
S f = tn* ...t2* t1* ( Si ) (2) t2: DACĂ (P2 ŞI P3) ATUNCI P5
t3: DACĂ (P1 ŞI P4) ATUNCI P6
Ideea de bază a rezolvării unor astfel de probleme poate fi descrisă, în t4: DACĂ (P5 ŞI P6) ATUNCI P7
manieră nedeterministă, prin următorul algoritm: t5: DACĂ (P2 ŞI P5) ATUNCI P7
Algoritm: Rezolvarea unei probleme prin căutare
8
Evoluţia are loc respectând convenţia: dacă între starea iniţială Si şi T9* = {t2 , t5 } .
starea curentă Sc s-a aplicat o anumită secvenţă de transformări, atunci Acest exemplu evidenţiază următoarele aspecte:
niciuna dintre transformările folosite nu mai poate fi aplicată stării curente. (i) O parte dintre soluţii conţin aceleaşi transformări, dar în succesiuni
Se cere să se stabilească secvenţa de transformări ce conduce sistemul în diferite. Acest fapt se traduce prin revenirea în stări deja explorate,
starea finală care conţine proprietatea P7. adică prin apariţia unor bucle în graful de căutare. Dacă în
exemplul prezentat se elimină buclele rezultă următoarele patru
P1, P2, P3,
P4, P5, P6, soluţii posibile: T1* = {t1, t2 , t3 , t4 } ; T4* = {t1, t2 , t3 , t5} ;
t4 P7
t5 T7* = {t1, t2 , t5 } şi T9* = {t2 , t5 } .
P1, P2, P3,
P4, P5, P6 (ii) Numărul transformărilor utilizate diferă de la o soluţie la alta,
t3 existând posibilitatea obţinerii soluţiei printr-un nr. minim de
transformări.
P1, P2, P3,
P4, P5 Comportarea programelor de inteligentă artificială poate fi
t2 t5 caracterizată ca un proces de căutare în care diverse transformări aplicabile
P1, P2, P3, t2 P1, P2, P3, universului problemei sunt încercate până se determina soluţia problemei.
P4 P4, P5, P7 În general, pentru a determina soluţia este necesară evaluarea unui număr
t1 t3 mare de stări intermediare (obiecte candidate la soluţie), iar folosirea
căutării exhaustive este exclusă.
t1 P1, P2, P3,
P1, P2, P3 În acest context, informaţia euristică joacă un rol foarte important în cadrul
P4, P6
t2 procesului de căutare contribuind la reducerea numărului de stări
investigate pentru obţinerea soluţiei şi creşterea eficienţei procesului de
P1, P2, P3, rezolvare. De obicei, acest tip de informaţie este reprezentat printr-o funcţie
P5 euristică asociată fiecărei stări, funcţie care estimează cât de promiţătoare
t5 este acea stare din punct de vedere al avansului spre soluţie. Funcţiile
P1, P2, P3, euristice depind şi se stabilesc pe baza cunoştinţelor specifice problemei sau
P5, P7 clasei de probleme de rezolvat.
T7* = {t1, t2 , t5 } ; T8* = {t2 , t1, t5 } ; În reprezentarea soluţiei problemei prin spaţiul stărilor, spaţiul de
căutare are forma unui graf orientat în care nodurile sunt identificate prin
9
stări, iar arcele reprezintă aplicarea unor operatori pentru a transforma o {A}
stare în starea următoare. B 7 13
7 10 6 10
Prin definiţie o reprezentare a soluţiei problemei prin spaţiul stărilor 7 {A,B} {A,C} {A,D} {A,E}
( Si , O, S f ) în care:
A 13
este formată din tripletul 6 E
9 ... 5 ... ...
Si este starea iniţială; 10 10 5C 6
{A,C,D}
O – mulţimea de operatorilor aplicabili stărilor universului
6
problemei pentru a ajunge în noi stări: in fiecare stare dată,
numai o parte din operatori pot fi aplicaţi; D {A,C,D,E}
Sf – mulţimea stărilor finale; aceasta poate fi constituită din una
(a) Harta oraselor de parcurs (b) O portiune din spatiul de cautare a solutiei
sau mai multe stări.
Fig. 1.6. Reprezentarea prin spaţiul stărilor
Prin urmare, o soluţie a problemei este o secvenţa de operatori care a problemei comis-voiajorului
transformă starea iniţială în starea finală şi reprezintă o cale între aceste
două stări în graf. B. Reprezentarea soluţiei problemei prin grafuri SI/SAU
Iniţial graful spaţiului de căutare este specificat implicit de
( )
reprezentare prin tripletul Si , O, S f . Pe măsură ce procesul de căutare a Există probleme a căror rezolvare poate fi convenabil reprezentată
printr-o tehnică numită reducerea problemei la subprobleme. Caracteristica
soluţiei avansează o porţiune din acest graf devine explicită. Porţiunea din comună a acestei clase de probleme este aceea că orice problemă pusă de un
graful spaţiului de căutare astfel construită reprezintă partea explorată a obiect candidat la soluţie poate fi văzută ca o conjuncţie de subprobleme ce
spaţiului de căutare. pot fi rezolvate independent unele de altele. Rezolvarea problemelor din
Pentru exemplificare se consideră problema comis voiajorului. această clasă poate fi abordată în următorul mod: se descompune problema
Fiind date un număr de oraşe si distantele de-a lungul unor drumuri care in subproblemele care trebuie rezolvate, acestea se descompun la rândul lor
leagă aceste oraşe, se cere să se găsească drumul de lungime minimă pe în alte subprobleme si aşa mai departe, până când se obţine o descompunere
care îl face un comis-voiajor care trebuie sa treacă prin toate oraşele a problemei iniţiale in subprobleme elementare, adică banal de rezolvat.
pornind dintr-un oraş dat şi revenind în oraşul de plecare. Un posibil Spaţiul de căutare al unei astfel de rezolvări a problemei are forma
exemplu este cel descris in figura 1.6 a. unui graf SI/SAU. Acesta este un caz particular al unui hipergraf. Un
Starea iniţială a problemei este oraşul de plecare A al comis-voiajorului. hipergraf este format dintr-o mulţime de noduri si o mulţime de hiperarce
Stările intermediare sunt oraşele prin care acesta a trecut, iar soluţia definite prin perechi ordonate in care primul element este un nod din
problemei este secvenţa de stări parcurse din starea iniţiala până în starea mulţimea de noduri a hipergrafului, iar cel de al doilea element este o
finală, secvenţă care trebuie să îndeplinească condiţia de cost optim, adică submulţime de noduri. Un graf obişnuit este un caz particular al unui
drum de lungime minimă. O parte din graful spaţiului de căutare este hipergraf in care cel de al doilea element al hiperarcelor este o mulţime
prezentat in figura 1.6 b. formată dintr-un singur nod.
Este evident faptul că generarea tuturor traseelor posibile şi Prin definiţie, o reprezentare a soluţiei problemei prin grafuri SI/SAU
compararea costurilor asociate pentru a găsi traseul optim este un proces
este formată din tripletul ( Si , O, Pe ) în care:
ineficient din punct de vedere computaţional, mai ales în cazul unui număr
mare de oraşe. De aceea, pentru rezolvarea acestei probleme se face apel la Si este descrierea stării iniţiale;
tehnicile euristice de căutare.
10
O – mulţimea operatorilor de transformare, adică de (ii) este un nod SI, iar toţi succesorii lui sunt noduri rezolvate;
descompunere a problemei în subprobleme; aplicabili stărilor (iii) este un nod SAU si cel puţin un succesor al acestuia este nod
universului problemei pentru a ajunge în noi stări: in fiecare rezolvat.
stare dată, numai o parte din operatori pot fi aplicaţi;
Un nod este nerezolvabil dacă:
Pe – descrierea unei mulţimi de probleme elementare. (i) este un nod terminal etichetat cu o problemă neelementară care
Un graf SI/SAU se construieşte pe baza următoarelor reguli: nu se mai poate descompune în subprobleme;
(ii) este un nod SI cu cel puţin un succesor nerezolvabil;
R1. Fiecare nod reprezintă fie o singură problemă fie o mulţime de (iii) este un nod SAU cu toţi succesorii nerezolvabili.
probleme ce trebuie rezolvate.
R2. Un nod ce reprezintă o singură problemă nu are descendenţi. O problemă rezolvată astfel are soluţie dacă nodul corespunzător
Problema este fie o problema elementară, fie o problema descrierii iniţiale a problemei este rezolvat.
neelementară dar care nu se mai poate descompune în O soluţie a problemei este reprezentată prin secvenţa de operatori de
subprobleme. descompunere care determină ca nodul problema iniţială sa devină
R3. Nodurile ce reprezintă mulţimea de subprobleme în care s-a rezolvat.
descompus o problema prin aplicarea unui operator de
descompunere se numesc noduri SI.
R4. Nodurile ce reprezintă descompuneri alternative ale unei
probleme in subprobleme se numesc noduri SAU. Aceste noduri
au ca descendenţi noduri SI.
Un exemplu de graf SI/SAU este prezentat în figura A B C A B C
Nod SAU (a) Stare initiala (b) Stare finala
n=3
A la C
Noduri SI
O - operator de descompunere
n=2 n=2
Noduri SAU A la B B la C
n=1
A la C
13
În procesul de căutare se vor folosi doua liste: 4.1. Generează toţi succesorii direcţi S j ai nodului Sc
• LF – lista frontieră care conţine nodurile evaluate;
• LT – lista teritoriu care conţine nodurilor expandate. 4.2. pentru fiecare succesor S j (1 ≤ j ≤ m) al lui Sc executa
Deci LF reprezintă frontiera spaţiului de căutare parcurs (explicitat) 4.2.1. Stabileşte legătura S j → S
spre partea necunoscută a acestuia, iar LT partea cunoscută a spaţiului de
4.2.2. daca S j este stare finală
căutare.
În cele ce urmează se prezintă strategia de căutare pe nivel şi strategia atunci
de căutarea în adâncime. Algoritmii prezentaţi presupun că: i. Soluţia este (S j , S,...,Si )
1. Spaţiul de căutare este arbore, adică între starea iniţială şi cea finală ii. întoarce SUCCES /* s-a găsit soluţie */
există o cale unică. Prin urmare, toate stările generate pe parcursul 4.2.3. Insereaza S j in LF, la sfârşit
căutării sunt unice, deci nu au mai fost generate anterior. Extinderea 5. repeta de la 2
si modificările necesare pentru a generaliza algoritmii la spatii de sfârşit.
căutare de tip graf vor fi prezentate in final.
Exemplu
2. La fiecare expandare a unui nod se stabileşte o legătură de la fiecare
nod succesor la nodul expandat. In momentul descoperirii nodului Pentru exemplificare se consideră graful din figura 1.9 în care nodul n1
stare finală aceste legaturi permit reconstruirea caii spre soluţie. reprezintă starea iniţială, iar nodul n10 starea finală.
Definiţie. Intr-o reprezentare a soluţiei problemei prin spaţiul stărilor
adâncimea unui nod se defineşte astfel:
Ad(Si )=0 , unde Si este nodul stare iniţială, n1
Ad(Sc )=Ad(S p )+1 , unde Sp este predecesorul stării curente Sc.
n2 n3
Căutarea pe nivel sau în lăţime
14
Pas 4. Elimină n2 din LF şi-l inserează în LT: LF = {n3} şi Deoarece nodul final n10 a apărut în frontieră, se consideră procesul de
LT = {n1, n2 } căutare încheiat şi se specifică soluţia {n1, n3 , n7 , n10 }
Pas 5. Generează succesorii lui n2 si-i inserează în LF la sfârşit: Căutarea poate fi uneori lungă şi complex computaţională din punct de
vedere al spaţiului utilizat deoarece pentru fiecare nivel sunt generate toate
LF = {n3 , n4 , n5 } stările succesoare posibile. Cu toate acestea, strategia de căutare pe nivel
garantează găsirea soluţiei, în cazul în care aceasta există şi, în plus, găseşte
Pas 6. Elimină n3 din LF şi-l inserează în LT: LF = {n4 , n5 } şi cel mai scurt drum spre soluţie în termenii numărului de tranziţii de stări
executate.
LT = {n1, n2 , n3}
15
ATUNCI întoarce INSUCCES /* nu există soluţie sau soluţia nu n2 şi apoi n3 . Deci LF = {n3 , n2 } (ultimul nod generat este
poate fi găsită până la nivelul AdMax */
primul în lista LF)
3. Elimină primul nod Sc din LF si-l inserează în LT
Pas 4. Elimină n3 din LF şi-l inserează în LT: LF = {n2 } şi
3'. DACĂ Ad ( Sc ) = AdMax
LT = {n1, n3}
ATUNCI repetă de la 2
4. Expandează nodul Sc Pas 5. Generează succesorii lui n3 în ordinea n6 , n7 si-i inserează în
4.1. Generează toţi succesorii direcţi S j ai nodului Sc LF care devine LF = {n7 , n6 , n2 }
4.2. Pentru fiecare succesor S j (1 ≤ j ≤ m) al lui Sc execută Pas 6. Elimină n7 din LF şi-l inserează în LT: LF = {n6 , n2 } şi
LT = {n1, n3 , n7 }
4.2.1. Stabileşte legătura S j → Sc
4.2.2. DACĂ S j este stare finală Pas 7. Generează succesorii lui n7 . Există un singur succesor n10 care
ATUNCI este inserat la inceputul listei care devine LF = {n10 , n6 , n2 }
i. Soluţia este ( S j , Sc ,..., Si ) Obs. Deoarece s-a identificat starea finală, procesul de căutare se opreşte.
ii. întoarce SUCCES /* s-a găsit soluţie */
4.2.3. Inserează S j în LF, la început Pentru a elimina dezavantajele specifice celor două strategii de
căutare de bază (strategia de căutare pe nivel şi cea în adâncime) s-a
5. repetă de la 2 dezvoltat algoritmul de căutare în adâncime cu nivel iterativ denumit şi
sfârşit. algoritmul lui Korf. Acest algoritm realizează la început o căutare în
Exemplu adâncime în spaţiul stărilor cu o adâncime maximă de căutare AdMax .
Dacă starea finală nu a fost găsită, se reia căutarea în adâncime cu
Pentru exemplificare se consideră tot graful din figura 1.9 (cel folosit AdMax = AdMax + 1 şi se continuă în acest fel, crescând adâncimea de
la exemplificarea metodei de căutare pe nivel) în care nodul n1 reprezintă căutare. La fiecare iteraţie algoritmul realizează o căutare în adâncime
starea iniţială, iar nodul n10 starea finală. completă corespunzătoare valorii curente AdMax . Între două iteraţii
Obs: Ordinea în care se explorează diversele căi în graful de căutare succesive nu se reţine nici o informatie despre spatiul de căutare.
depinde de ordinea în care se generează şi se inserează în LF succesorii În acest fel se garantează găsirea soluţiei, dacă aceasta există, precum
nodului expandat . În cele ce urmează considerăm că succesorii unui nod se şi a drumului cel mai scurt către soluţie
generează în ordinea indicelui numeric. În cazul în care spaţiul de căutare nu este un arbore, ci un graf
oarecare, pentru a evita reconsiderarea unei stări analizate anterior, pasul
Pas 1. Iniţializări LF = {n1} şi LT = { } de inserare a stării Sj în lista LF (pasul 4.2.3) se modifică astfel:
Pas 2 . Elimină n1 din LF şi-l inserează în LT: LF = { } şi LT = {n1} 4.2.3' DACĂ S j ∉ LF ∪ LT
Pas 3. Generează succesorii lui n1 si-i inserează în LF: conform ATUNCI inserează S j în LF, la sfirsit respectiv la început în
convenţiei adoptate mai întâi se genereză şi se introduce în listă funcţie de strategie.
16
Spatiul de cautare explorat poate fi redus prin aplicarea tehnicilor
Observaţii: euristice de căutare care ţin seama de cât de aproape este fiecare nod al
1. Ambele tipuri de căutări realizează un rationament direct, pornind grafului de nodul corespunzător stării finale.
în rezolvarea problemei de la starea iniţială si generând arborele de Cuvântul euristic(ă) provine din greaca veche şi are înţelesul “a
căutare a stării finale. Acest mod de abordare corespunde descoperi”. Conform DEX “un procedeu euristic serveşte la descoperirea
raţionamentului deductiv. unor cunoştinţe noi”, respectiv defineşte o parte a ştiinţei care are ca obiect
2. In anumite cazuri se poate proceda invers, executind strategiile descoperirea de fapte noi.
începind din starea finală şi căutând starea iniţială. Acest mod de În contextul problemelor de căutare, o tehnică euristică este o strategie
abordare corespunde raţionamentului inductiv. folosită pentru a creşte eficienţa căutării, fără a garanta obţinerea soluţiei.
3. În anumite probleme se poate utiliza o combinaţie între Dezvoltarea unei tehnici euristice se face pe baza unor aproximări raţionale,
raţionamentul direct si cel invers, adică un rationament ipoteze simplificatoare şi cunoştinşe specifice domeniului problemei.
bidirectional în care se caută soluţia pornind simultan din starea În acest context, cunoştinţele euristice pot fi utilizate pentru:
iniţială si cea finală. În cazul acestei strategii, dacă se utilizează a) selectarea nodului urmator de expandat în cursul căutării –
căutarea în adâncime există pericolul ca cei doi arbori generaţi selectarea nodului cel mai promiţător pentru obţinerea soluţiei;
simultan, unul pe calea directă şi celălalt pe calea inversă, să nu b) a decide care dintre succesorii nodului ce este expandat vor fi
aibă noduri intermediare comune (să nu se întâlnească). generaţi şi care nu – expandarea parţială a unui nod prin aplicarea
4. Strategiile de cautare pe nivel si în adincime pot fi uşor adaptate la numai a unui sbset de operatori dintre cei posibil de aplicat;
căutarea soluţiei problemei în reprezentarea cu grafuri SI/SAU. c) eliminarea din spaţiul de căutare a anumitor noduri generate –
Diferenţa constă în criteriul de determinare a condiţiei de oprire. De retezarea arborelui de căutare.
această dată trebuie să se testeze dacă o mulţime de noduri
formează un arbore soluţie. Prin urmare, impactul fiecărui nod nou
generat trebuie propagat în arborele parţial construit pentru a
determina dacă nodul problemă iniţială a devenit rezolvat.
Si
Algoritmele de căutare în grafuri SI/SAU trebuie să gestioneze, pe
linga listele LF si LT, si o structură de date care reprezintă arborele g(Sc)
SI/SAU construit prin explicitarea spatiului de căutare definit în
mod implicit de reprezentare. O altă diferenţă constă în faptul că Sc f(Sc)
nodurile SI nu se introduc în aceste listele LF şi LT deoarece ele nu
corespund efectiv unor subprobleme, ci indică numai o mulţime de h(Sc)
subprobleme care trebuie rezolvate. Aceste noduri sunt însă
construite şi fac parte din porţiunea explicitată a spaţiului de
Sf
căutare. Pe baza stării de rezolvat sau nerezolvabil a acestor noduri
se poate decide cind s-a obtinut arborele solutie.
Fig. 1. 10. Definirea unei funcţii euristice
1.3.3.3. Strategii de căutare euristică
O mare parte dintre tehnicile euristice cunoscute sunt tehnici cu
În rezolvarea problemelor utilizind strategii de căutare neinformată aplicabilitate generală. Totuşi, pentru aplicarea lor cu succes la o problemă
numărul de stări investigate înainte de a gasi o soluţie poate ajunge particulară, ele trebuie suprapuse peste euristica specifică problemei
prohibitiv de mare, chiar si pentru probleme relativ simple. analizate. Cel mai simplu mod de îmbinare constă în definirea unei funcţii
17
euristice care exprimă – cel mai adesea în formă numerică – cât de Ideea de bază a acestei strategii este aceea de a selecta, din spatiul de
promiţătoare este o stare din spaţiul de căutare în procesul de identificare a căutare generat, pentru expandare cel mai bun nod folosind în acest sens
soluţiei, adică cât de apropiată este starea respectivă de stare finală. cunostinţele euristice, adică o estimare a stării cu ajutorul funcţiei euristice.
Modul cel mai general de definire a une funcţii euristice f foloseşte alte
Algoritmul de bază al metodei implică parcurgerea următoarelor etape:
două funcţii, g şi h, având următoarele semnificaţii (fig. 1.10):
• funcţia g evaluează costul deplasării din starea iniţială Si în starea 1. Calculul funcţiei euristice pentru toate nodurile din nivelul curent
curentă Sc; (nodurile din frontieră)
• funcţia h estimează costul deplasării din starea curentă Sc în starea 2. Selectarea nodului cu valoarea minimă/maximă a funcţiei euristice
finală Sf;
3. Expandarea nodului selectat (generarea succesorilor săi). Dacă
Dintre cele trei funcţii doar g poate fi evaluată precis, celelalte două unul dintre succesori este soluţia, atunci procesul de căutare se
fiind doar estimate şi de aceea se notează f * şi h* , iar legătura dintre ele opreşte.
este dată de relaţia Algoritmele A* şi AO*
f * ( Si → S f ) = g ( Si → Sc ) + h* ( Sc → S f ) (1) Folosesc pentru a evalua fiecare nod al frontierei o funcţie cost globală de
tipul celei definită de relaţia (1) şi caută o soluţie optimă a problemei.
O particularitate proprie tehnicilor euristice de căutare o reprezintă Algoritmul A* este specific reprezentării prin spaţiul stărilor, în timp ce
caracterul local al procesului decizional care determină o comportare algoritmul AO* este specific reprezentării prin grafuri SI/SAU.
nemonotonă a funcţiei h în spaţiul stărilor.
Există numeroase metode euristice de căutare dintre care cele mai Pentru a exemplifica modul de utilizare a strategiilor de căutare în
cunoscute sunt: cadrul motorului de inferenţe al unui SE se consideră baza de cunoştinţe
formată din faptele cunoscute B şi C, respectiv scopul căutat notat cu H şi
Metoda căii spre obiectiv baza de reguli:
Principiul acestei metode constă în alegerea acelor operatori care par să R1: DACĂ B ŞI D ŞI E → F
conducă la un obiectiv, de obicei soluţia problemei. În acest sens, la fiecare R2: DACĂ D ŞI G → A
pas al procesului de căutare se evaluează diferenţele dintre starea curentă Sc R3: DACĂ C ŞI F → A
şi starea finală Sf pe baza cărora se identifică un operator O1 ce ar permite R4: DACĂ B → X
trecerea directă din starea curentă în cea finală. Din păcate un astfel de R5: DACĂ D → E
operator fie nu există, fie nu poate fi aplicat. De aceea se aplică principiul R6: DACĂ A ŞI X → H
descompunerii problemei în subprobleme. Astfel, se determină o stare R7: DACĂ C → D
intermediară Sc' căreia i se poate aplica operatorul O1 identificat anterior şi R8: DACĂ X ŞI C → A
în care se poate ajunge din starea curentă Sc prin aplicarea unui operator R9: DACĂ X ŞI B → D
secundar O2 . În figura 1.11 se prezintă două tipuri de arborescenţe ce corespund
acestui caz. Prin linii continue se reprezintă regulile aplicate, iar nodurile
reprezintă diferitele stări ale bazei de fapte. Liniile întrerupte corespund
Metoda pasului optim (best – first) regulilor aplicabile, dar pe care motorul de inferenţe nu le-a ales pentru
utilizare.
18
Procedeul de căutare înainte (raţionamentul deductiv) (fig. 1.11, a, Pe măsură ce una din reguli este întrebuinţată noile fapte se
b) constituie o tehnică de inferenţă care foloseşte reguli (DACĂ-ATUNCI) adaugă la baza de fapte. În stabilirea ordinii de alegere a regulilor în
pentru a găsi soluţia (H) a problemei pornind de la fapte cunoscute (B şi C). exemplul prezentat s-au aplicat următoarele strategii: s-a ales fie prima
Astfel, pornind de la faptele B şi C folosind regula R4 se deduce X, apoi regulă aplicabilă, adică în ordinea lor de numerotare R4 (R7), R7 (R8, R9)
folosind şi regula R7 se deduce D, ş.a.m.d. (fig. 1.11, a), fie regula cu cel mai mare număr de condiţii (fig. 1.11, b).
Astfel, în al doilea caz se preferă regula R8 şi nu R7, pentru că are, conform
bazei de reguli, condiţiile X şi C. În cazul când două sau mai multe reguli au
acelaşi număr de condiţii se alege prima regulă. Se consideră ”succes”
momentul când scopul este adăugat la baza de fapte, iar ”eşec” când nu se
B, C R4 B, C, R7 B, C, R5 B, C, R1 B, C, R3 B, C, R6 H mai poate aplica nici o regulă. Oprirea căutării are loc în momentul în care
R7 R8 R8 R8 R8 R8
X R9 X, D R9 X, D, R9 X, D, R9 X, D, R9 în baza de fapte apare scopul urmărit H.
19
Pentru exemplificarea raţionamentului inductiv se consideră aceeaşi dintre obiectele considerate. Aici există o strânsă legătură între
bază de cunoştinţe; pentru început se propune verificarea scopului H. Dacă cunoştinţele declarative şi cele procedurale;
se parcurg regulile R1…R9, se observă că numai regula R6 are concluzia H. • stabilirea priorităţilor în timp a regulilor şi faptelor;
Astfel H se reduce prin regula R6 la subscopurile A şi X. La rândul său • testarea inconsistenţei şi a integrităţii.
scopul A poate fi verificat utilizând una din cele trei reguli simple R2, R3
sau R8. Strategia utilizată constă în folosirea primei reguli aplicabile (în Prin folosirea ambelor categorii de cunoştinţe – declarative şi
ordinea numerotării lor) pentru ca, în continuare, să caute a verifica unul procedurale – apare o funcţie nouă şi anume sistemul de tip consilier.
după altul subscopurile astfel produse. Subscopul X este adevărat dacă Acesta este un tip de software care ajută operatorul în luarea deciziilor prin
regula R4, în care X este concluzia, se poate aplica. Continuând folosirea cunoştinţelor declarative şi procedurale şi a mecanismelor
raţionamentul se obţine arborele ŞI/SAU de verificare a scopului H. În caz corespunzătoare de rezolvare a problemelor.
de ”eşec” (de exemplu subscopul G nu poate fi dedus în nici un fel), se
revine înapoi şi ultima regulă lăsată deoparte este încercată la rândul său. O formă foarte simplă constă în folosirea a două niveluri: un nivel
Explorarea arborescenţei se opreşte când scopul iniţial este demonstrat (ca superior pentru aplicarea cunoştinţelor declarative sub forma regulilor şi
în exemplul dat), sau când toate posibilităţile au fost explorate fără succes. faptelor şi un nivel inferior pentru cunoştinţele procedurale sub forma
Dezavantajul sistemelor cu înlănţuire înapoi este acela că poate apărea modelelor matematice ce descriu relaţiile cauzale.
blocajul.
În conceperea şi introducerea sistemelor expert în energetică trebuie
avut în vedere permanent că omul va rămâne principalul element de decizie,
sistemul expert asistându-l în această activitate în situaţii excepţionale
(incidente, avarii etc.) sau de rutină pentru a-l elibera de anumite sarcini şi
a-i da posibilitatea să se concentreze pe acele activităţi care implică în mod
necesar elementul uman în alegerea şi executarea acţiunilor. Sistemul
expert trebuie considerat ca un element auxiliar şi nu ca o alternativă la
funcţiile actuale ale dispecerilor.
În prezent cele mai multe SE dezvoltate folosesc doar cunoştinţe
declarative. Având în vedere că în sistemele electroenergetice există şi o
mare cantitate de cunoştinţe procedurale, apare necesar un nou tip de SE –
care să utilizeze ambele tipuri de cunoştinţe.
În cadrul centralelor şi reţelelor electrice este disponibil un număr mare
de cunoştinţe – sub formă de reguli şi fapte – a căror utilizare trebuie
eficientizată. În acest scop apar următoarele probleme:
• alegerea regulilor şi faptelor de importanţă esenţială pentru o anumită
aplicaţie (este nevoie de metode de reducere şi de combinare a
cunoştinţelor date);
• aducerea la zi a regulilor. Unele reguli se păstrează o perioadă lungă de
timp, în timp ce alte reguli se schimbă. Aceste reguli pot fi adesea
obţinute numai prin modele matematice, care descriu relaţiile cauzale
20