You are on page 1of 109

Cap. 1.

Sisteme expert
O definiie a sistemelor expert

Sistemele expert SE constituie o clas particular de


sisteme informatice bazate pe inteligena artificial,
avnd ca scop reproducerea cu ajutorul calculatorului a
cunotinelor i raionamentelor experilor umani.
Edward Feigenbaum de la Stanford University,
considerat printele sistemelor expert, definete SE ca
fiind: programe concepute pentru a raiona n scopul
rezolvrii problemelor dificile pentru care, n mod
obinuit, se cere o expertiz uman considerabil.
10.04.2011

Cap. 1. Sisteme expert

Un expert uman este o persoan care posed cunotine


temeinice ntr-un anumit domeniu, un specialist de nalt
clas, care poate efectua o expertiz n acel domeniu.
Expertul poate rezolva probleme ale domeniului, pe care
alii nu le pot rezolva deloc sau n mod eficient. El trebuie
s fie capabil s ndeplineasc urmtoarele sarcini:

s formuleze precis problema pe baza datelor puse la


dispoziie;
s determine soluia corect;
s explice soluia i paii necesari pentru obinerea ei;
s acorde asisten pentru implementarea soluiei ntr-un
domeniu particular.
10.04.2011

Cap. 1. Sisteme expert

Din punct de vedere funcional, un sistem expert poate fi


definit ca un program care se bazeaz pe o baz de
cunotine pentru a realiza anumite sarcini, uneori
dificile, pe care de regul le rezolv un expert uman din
domeniul respectiv.
n concluzie, un SE este un program inteligent care
utilizeaz cunotine, fapte i tehnici de raionament
pentru a rezolva probleme care n mod normal
necesit cunotinele experilor umani.

10.04.2011

Cap. 1. Sisteme expert


Observaii:

Performanele programului inteligent depind de:

bogia bazei de cunotine;


organizarea acestora, care s permit rezolvarea problemei
ntr-un timp rezonabil.

Spre deosebire de majoritatea programelor clasice de


calcul, care cer informaii complete pentru rezolvarea
problemei sau luarea deciziilor, sistemele expert sunt
proiectate s gseasc soluia pe baza datelor disponibile,
adesea incomplete, la fel ca un expert uman.
10.04.2011

Cap. 1. Sisteme expert

SE sunt sisteme de prelucrare automat a datelor


coninute ntr-o baz larg de date care pe lng
elementele clasice de prelucrare, conin:

baza de cunotine alctuit din reguli i fapte;


elementele necesare manipulrii cunotinelor sub forma
mecanismului de inferen;
elementele necesare achiziionrii i implementrii de noi
cunotine;
componenta explicativ.
10.04.2011

Cap. 1. Sisteme expert

Asemntor expertului uman care, bazndu-se pe


cunotinele acumulate, prin raionamentul propriu
ajunge la anumite concluzii, un SE se bazeaz pe
cunotinele nglobate n baza de cunotine i pe
mecanismul de inferen care are funcia de a lua
decizii n urma unor raionamente logice.
Raionamentul este o nlnuire de judeci (propoziii) n care plecnd de la
anumite cunotine, consemnate ntr-un numr de propoziii numite premise sau
fapte iniiale, se ajunge la o nou cunotin exprimat printr-o nou propoziie
numit concluzie. Raionamentul este corect dac i numai dac concluzia este
consecina logic a premiselor.
Raionamentul poate fi definit i ca o nlnuire de reprezentri simbolice care
trebuie s conduc la atingerea unui scop: a demonstra, a convinge, a elucida, a
decide, a explica etc.
10.04.2011

Cap. 1. Sisteme expert

SE implic urmtoarele caracteristici:

reprezentri simbolice;
inferen simbolic;
cutare euristic,

Acestea le difereniaz n mod esenial de sistemele


informatice convenionale (procedurale) de prelucrare
care folosesc date i algoritmi cunoscui apriori pentru
rezolvarea problemelor.
Metodele de rezolvare folosite de SE nu sunt proceduri
matematice sau procesoare de date, ci tehnici de
raionament calitativ sau tehnici euristice, care leag
elemente ntre ele prin reguli de judecat precum i prin
legi i definiii teoretice.
10.04.2011

Cap. 1. Sisteme expert


Diferenele dintre un program de calcul analitic i un SE:

sistemul expert folosete datele din baza de date filtrate printr-un set de
cunotine, nmagazinate n baza de cunotine, care sunt independente
de algoritmul de rezolvare utilizat;
algoritmul de cutare a soluiei, denumit motor de inferen, nu mai
este de tip iterativ, ca n cazul programelor analitice, ci de tip
convergent;
datorit delimitrii nete dintre elementele componente (baza de date,
baza de cunotine, motorul de inferen) un SE poate fi modificat cu
uurin prin simpla adugare sau eliminare de reguli; conceperea
unui SE este un proces linear, realizat prin discuii repetate cu experi
umani pentru dezvoltarea bazei de cunotine;
toate operaiile logice i matematice care se succed n gsirea unui
rspuns se aduc la cunotina utilizatorului printr-un modul explicativ
independent numit interfaa cu utilizatorul.
10.04.2011

Cap. 1. Sisteme expert


Caracteristicile care calific un program drept
sistem expert

lucreaz la un nivel expert de competen;


folosete un mecanism de inferen pentru a realiza deduciile;
expertiza efectuat se bazeaz exclusiv pe cunotine special
dobndite;
programarea lui implic descrierea i reprezentarea cunotinelor
unor experi n domeniu, cunotine ce sunt pstrate n baze de date
specifice, numite baze de cunotine, n scopul utilizrii ulterioare.

10.04.2011

Cap. 1. Sisteme expert


Avantaje ale utilizrii sistemelor expert
1.

2.

3.
4.
5.

aria de aplicabilitate cuprinde numeroase domenii de activitate


mergnd de la arhitectur, arheologie, bnci, comer, educaie, pn
la ingineria sistemelor i medicin;
disponibilitatea crescut, expertiza devenind accesibil pe orice
calculator adecvat: spre deosebire de expertul uman, SE este
disponibil n orice moment i nu este afectat de emotivitate, factori de
stres etc.;
reducerea costului, explicabil n corelaie cu cele menionate la
punctul anterior, dar i cu evoluia preului sistemelor de calcul;
permanena, rezultat din faptul c, spre deosebire de experii umani,
SE nu au o via limitat;
reducerea riscurilor prin incorporarea n sisteme de comand a
roboilor industriali utilizai n medii periculoase pentru om;
10.04.2011

10

Cap. 1. Sisteme expert


Avantaje ale utilizrii sistemelor expert
6.

cretrea calitii, prin obinerea unei expertize complete a domeniului,


ceea ce expertul uman nu realizeaz ntotdeauna;
7. posibilitatea de explicare n detaliu a soluiei obinute pentru creterea
gradului de ncredere al utilizatorului;
8. rapiditatea, n sensul c pe sisteme hardware i software adecvate se
pot obine performane de timp mult mai bune comparativ cu cele ale
experilor umani;
9. pstrarea n siguran a cunotinelor: marile firme i-au constituit
sisteme expert pentru a fi afectate ntr-o mai mic msur de plecarea
unor experi umani;
10. contribuia la rspndirea cunotinelor din domeniu: un utilizator
poate rula programul pentru mai multe probleme, de la simplu la
complex, i urmrind soluiile i explicaiile date de SE se poate
autoinstrui n domeniul respectiv.
10.04.2011

11

Cap. 1. Sisteme expert


Arhitectura unui SE

E xpert n
do meniu

Baza de
date

Ingin er de
cu notine

A ch iziie de
cu notin e

Memo riea d e
lucru
Fapte dinamice

Da te
A ciuni
Concluzii

M oto r de
in feren

Regu li
selecionate

Reg uli
Baza de
cu notine Fap te

Utilizator

Selectare
reg uli i fapte

Mediu de
d ezvo ltare
10.04.2011

12

Cap. 1. Sisteme expert

Componentele unui SE se grupeaz n:


1. Componente de baz care alctuiesc nucleul SE

baza de cunotine;
baza de date;
motorul de inferene. (inferen = operaie logic de trecere de la un
enun la altul i n care ultimul enun este dedus din primul )

2. Componente complementare

modulul de achiziionare de cunotine;


interfaa cu inginerul de aplicaie (expertul);
interfaa cu inginerul de cunotine;
interfaa cu utilizatorul;
module de grafic i de calcul.
10.04.2011

13

Cap. 1. Sisteme expert


Baza de cunotine BC

cuprinde o colecie de cunotine relevante despre un


anumit domeniu i este constituit din reguli i fapte.

Regulile se refer la operaiile ce pot fi efectuate asupra


obiectelor coninute n baza de date. Ele se schimb mai rar i n
esen constituie un ansamblu complet i necontradictoriu de
cunotine necesare rezolvrii unei probleme.
Faptele reprezint partea dinamic a bazei de cunotine i au
rolul de a reprezenta starea obiectelor la un moment dat.
10.04.2011

14

Cap. 1. Sisteme expert


Reprezentarea cunotinelor

Reprezentarea cunotinelor se poate


realiza prin:

regulile de producie;
reele semantice;
structuri mpachetate sau frameuri;
obiecte;
logica propoziional sau a predicatelor

10.04.2011

15

Cap. 1. Sisteme expert


Reguli de producie

Reprezentarea cunotinelor sub forma regulilor de producie este


specific sistemelor de producie i este foarte potrivit pentru
raionamente.
ntr-un sistem de producie cunotinele sunt de natur procedural i
se mpart n urmtoarele componente:

cunotine declarative sau factuale, grupate sub forma unor structuri de date
memorate ntr-o colecie denumit context;
cunotine procedurale reprezentate sub forma unor perechi de tipul condiie
aciune, denumite reguli de producie, memorate n baza de reguli;
cunotine strategice sau de control, reprezentate sub forma unor reguli care
sprijin decizia n procesul de soluionare al problemei.
10.04.2011

16

Cap. 1. Sisteme expert

Structura general a unei reguli de producie este:


< partea de condiie > < partea de aciune >
i este interpretat astfel:
DAC < partea de condiie > este ndeplinit,
ATUNCI se poate executa < partea de aciune >.
Partea de condiie, denumit i premis, este constituit
din propoziii logice care trebuie s fie verificate pentru
ca regula s poat fi aplicat.
Partea aciune corespunde declanrii unei concluzii sau
a unei noi ipoteze.
10.04.2011

17

Cap. 1. Sisteme expert

Avantajele regulilor de producie

modularitatea proprie a fiecrei reguli orice regul poate fi


considerat ca o entitate structural independent de celelalte ceea
ce confer o uoar ntreinere a bazei de reguli;
modularitate n realizarea formalismului de rezolvare a problemei
regulile putnd fi asimilate cu un ansamblu de constitueni
elementari, care se adun i se combin pentru a forma un rspuns
la problema studiat;
caracterul natural de exprimare ;
accesibilitatea bazei de reguli, dat de facilitatea i uniformitatea
structurii utilizate pentru reprezentarea cunotinelor.

10.04.2011

18

Cap. 1. Sisteme expert

Dezavantajele regulilor de producie

imposibilitatea de a prevedea o desfurare optim pentru o


secven de aciuni;
ordinea n care sunt aplicate regulile potenial aplicabile
influeneaz concluzia obinut.

10.04.2011

19

Cap. 1. Sisteme expert


Reele semantice

Sunt structuri destinate reprezentrii cunotinelor sub forma unui


graf complex alctuit din noduri i arce.
Nodurile reelei/grafului sunt utilizate pentru a reprezenta obiecte,
concepte, atribute, stri, evenimente etc.
Arcele reprezint relaiile existente ntre obiectele ataate
nodurilor reelei semantice i sunt de dou tipuri:

ISA is a (este un);


AKO a kind of (un fel de).

Reelele semantice, respectiv grafurile corespunztoare, pot fi


organizate ierarhic ceea ce permite motenirea unor atribute de la
tipurile generale la cele particulare.
10.04.2011

20

Cap. 1. Sisteme expert


Structuri mpachetate (frame-uri).

O structur este un grup de atribute ce descriu un obiect dat.


Fiecare atribut este stocat ntr-un slot (compartiment ) care
conine valoarea/valorile ataate.
Folosirea structurilor permite reprezentarea cunotinelor n
blocuri de date, fiecare bloc fiind prezentat printr-un slot sau
compartiment.
Structurile reprezentnd diverse obiecte pot fi nzestrate cu
proprietatea de motenire, pe baza creia se genereaz legturi
ierarhice ntre acestea. Prin urmare, ele pot fi reprezentate sub
forma unui arbore.
10.04.2011

21

Cap. 1. Sisteme expert


Reprezentarea orientat pe obiecte

Constituie un pas superior n reprezentarea datelor.


Caracteristica principal a reprezentrii orientat pe obiecte este
aceea c unific, ntro aceeai unitate structural numit "obiect",
datele i funciile sau metodele care acioneaz asupra lor.
Din punct de vedere al tehnicii de programare tipurile structurilor
amintite se definesc cu ajutorul conceptului de clas, iar obiecte cu
care opereaz programul sunt instaieri ale claselor.
10.04.2011

22

Cap. 1. Sisteme expert


Logica predicatelor

Ofer un mijloc de exprimare a aseriunilor


(aseriune = enun care este dat ca adevrat ) i
un cadru formal pentru realizarea de inferene
bazate pe manipularea sintatic a formulelor
logice.
O baz de cunotine este constituit exclusiv
dintr-o mulime de formule care descriu
universul problemelor de rezolvat numit i
universul de discurs.
10.04.2011

23

Cap. 1. Sisteme expert

Utilizarea logicii predicatelor pentru reprezentarea


cunotinelor rezult din posibilitatea obinerii de noi
rezultate folosind reguli de inferen precum:

modus ponens;
modus tollens;
rezoluia etc.

Logica permite exprimarea relativ natural a unor


fapte, fiind lipsit de ambiguiti: este un sistem formal
care ofer rigoare i claritate semantic.
Avantajele oferite de rigoare i claritate constituie n
acelai timp dezavantaje n reprezentarea cunotinelor
i realizarea expertizei deoarece omul, n general, nu
este att de riguros, raionamentele sale fiind adesea
mult mai suple.
10.04.2011

24

Cap. 1. Sisteme expert

Nu exist o organizare ntre diferitele elemente care alctuiesc


baza de cunotine. Obiectele manipulate nu au o reprezentare
proprie; ele exist doar prin intermediul formulelor care sunt
diseminate n baza de cunotine (este caracteristica
formalismului relaional, opus celui obiectual.
Pe msur ce baza de cunotine se dezvolt, lipsa de
organizare genereaz probleme viznd coerena utilizrii sale.
Modelarea cunotinelor n logica de ordinul nti nu este
ntotdeauna uor de realizat.
Pentru eliminarea dezavantajelor i extinderea cmpului de
aplicaii al logicii s-au dezvoltat aa numitele logici neclasice
cum ar fi logicile multivalente, logicile de incertitudine,
logicile modale, logicile fuzzy etc.
10.04.2011

25

Cap. 1. Sisteme expert


Consideraii viznd reprezentarea cunotinelor

n dezvoltarea aplicaiilor practice de tip SE, pentru


reprezentarea cunotinelor se au n vedere urmtoarele
aspecte:

regulile de producie sunt foarte adecvate pentru dezvoltarea


raionamentelor;
frame-urile (cadrele), ncadrate eventual n reele semantice,
sunt adecvate pentru stocarea i manipularea eficient a
cunotinelor;
reprezentarea orientat pe obiecte, prin proprieti precum
ncapsularea, motenirea i polimorfismul, asigur o
elasticitate mrit n elaborarea SE.
10.04.2011

26

Cap. 1. Sisteme expert

n afara inferenelor folosind cunotinele calitative, pentru


rezolvarea problemelor din viaa real sunt necesare i calcule
numerice. Cantitatea de calcule poate fi foarte mic n unele cazuri
i destul de mare n altele.
Necesitatea ca un sistem expert s fie capabil s apeleze programe
de calcul procedural.

Acestea formeaz o parte a bazei de cunotine i se numesc cunotine


cantitative.
Ele pot fi reprezentate ca funcii sau programe scrise n limbaje de
programare de nivel nalt cum ar fi Fortran sau C.

n acest conrext, cele mai multe shell-uri de dezvoltare a sistemelor


expert furnizeaz faciliti de reprezentare att a cunotinelor
calitative (prin reguli, structuri etc.), ct i a cunotinelor cntitative
prin funcii scrise n limbaje procedurale.
10.04.2011

27

Cap. 1. Sisteme expert


Baza de fapte BF

Constituie partea dinamic a sistemelor bazate pe


cunotine i conine informaii relative la domeniul de
aplicaie studiat.
Faptele sunt date normale de tip:

nchisdeschis pentru un echipament de comutaie;


o alarm de ieire din funciune a unui echipament;
o valoare sau o mrime fizic aflat n afara limitelor
admisibile etc.

Ele se modific pe msur ce strile obiectelor crora le


sunt asociate se schimb (de exemplu datorit unor
avarii, efecturii unor manevre, schimbrii configuraiei
de funcionare a unei reele etc.).
10.04.2011

28

Cap. 1. Sisteme expert

Un fapt are o reprezentare de forma:


<Obiect>, <Relaie>, <Valoare>
<Obiectul> reprezint, de exemplu, un echipament a crui stare
poate fi stabilit printro semnalizare, verificare sau,
mai general, deducie logic;
<Relaie> corespunde unei relaii existente ntre obiecte sau ntre
un obiect i diferitele stri n care acesta se poate afla;
<Valoare> reprezint cuantificarea strii obiectului la un moment
dat.

Exemplu:
< ntreruptorul I7 > < Este n poziia > < nchis >
10.04.2011

29

Cap. 1. Sisteme expert

n funcie de domeniul de aplicare, sistemul expert are la


dispoziie un anumit numr de fapte, care descriu stri
sau dau informaii de tip cantitativ.
O parte din datele din baza de fapte sunt introduse cu
ajutorul dialogului ommain, n timp ce alt parte este
ncrcat automat prin citirea lor dintr-o baz de date.
Prin analogie cu programele de calcul convenionale,
faptele reprezint datele problemei. n arhitectura SE
ele, alturi de unele date numerice aferente modelului
problemei abordate, baza de date .
10.04.2011

30

Cap. 1. Sisteme expert


Motorul de inferen MI

Este un program general care implementeaz


mecanismul prin care se construiesc raionamentele.
Pornind de la faptele iniiale ( datele de intrare ale
problemei ), MI are ca sarcin exploatarea regulilor i
generarea rspunsurilor la ntrebrile puse de utilizatori
n scopul determinrii soluiei problemei analizate.

10.04.2011

31

Cap. 1. Sisteme expert

n acest sens, cu regulile existente n baza de cunotine


se construiesc arbori de inferen sau de cutare care au
ca noduri premisele/condiiile, iar ca ramuri arcele care
conecteaz diferitele premise.
Exist diverse procedee sau mecanisme de inferen care
traverseaz acest arbore n sensuri diferite, conceptul de
CUTARE fiind unul esenial n programele de IA.
Cele mai cunoscute metode de inferen sunt:

nlnuirea nainte - este un proces de inferen deductiv, condus de date;


nlnuirea npoi - este un proces de inferen inductiv, condus de scop;
nlnuirea hibrid - este un proces de inferen care combin inducia
nainte i inducia napoi.
10.04.2011

32

Cap. 1. Sisteme expert


Principiul de funcionare al MI.
Sistem achiziie de date
Utilizator
Fapte

Motor de inferene
Reguli

Alte
aciuni

reguli
aplicabile
Reguli
Selectare

Regul

Folosind baza de cunotine (faptele i regulile), MI construiete


dinamic raionamentele alegnd regulile ce vor fi aplicate i ordinea
de nlnuire a acestora pn cnd se ajunge la scopul propus.
10.04.2011

33

Cap. 1. Sisteme expert


Ciclul de baz al motorului de inferen
Este independent de modul de raionament utilizat i
comport patru etape:
SELECIA: n aceast etap se extrag din baza de reguli

i din baza de fapte elementele care caracterizeaz


subdomeniul de rezolvare a problemei. Aceast etap este
necesar atunci cnd baza de cunotine este mare,
ncercnd s acopere mai multe domenii ale cunoaterii.
Reguli posibile
Faptele selecionate
10.04.2011

34

Cap. 1. Sisteme expert


FILTRAJUL ( pattern matching ) const n
compararea premiselor regulilor selecionate anterior
cu faptele ce caracterizeaz problema de rezolvat,
pentru a determina submulimea regulilor declanabile.
n urma acestei etape pot rezulta:

o regul aplicabil care este declanat pentru a genera noi


fapte;
nici o regul aplicabil: s-a ajuns ntr-o stare de eec pe
care SE o semnaleaz, iar utilizatorul va trebui s rspund
la o serie de ntrebri n scopul datelor
mai multe reguli aplicabile: s-a generat o stare conflictual
care trebuie rezolvat.
10.04.2011

35

Cap. 1. Sisteme expert


REZOLVAREA CONFLICTELOR este necesar
atunci cnd din etapa de filtraj au rezultat mai multe
reguli declanabile i trebuie aleas una pentru a fi
executat. Pentru aceasta se utilizeaz diverse criterii
dintre care se amintesc:

prima regul din list;


regula cu cel mai mare numr de fapte n premis;
regula cea mai des utilizat.

De alegerea fcut n aceast etap depind performanele


MI. Este dificil de indicat unul sau altul dintre criterii.
Alegerea depinde de contextul n care se gsete baza de
cunotine n momentul respectiv.
10.04.2011

36

Cap. 1. Sisteme expert


EXECUIA REGULII SELECTATE const n
adugarea uneia sau mai multor fapte n baza de fapte
ca o consecin a aplicrii regulii respective. Este posibil
ca n aceast etap s se fac apel i la proceduri externe
( acces la baze de date, calcul tabelar sau la proceduri de
calcul scrise n limbaje de nivel nalt ) sau la ntrebri
puse utilizatorului.
Pentru rezolvarea unei probleme MI execut mai
multe cicluri de baz i se oprete n funcie de
modul de raionament utilizat.
10.04.2011

37

Cap. 1. Sisteme expert


Baza de reguli
(BR)

Baza de fapte
(BF)
SELECIE

Reguli
posibile

Fapte
selecionate

FILTRAJ
Reguli
declanabile
REZOLVARE
CONFLICTE
Reguli
reinute

10.04.2011

EXECUIE
REGULI

38

Cap. 1. Sisteme expert


Module complementare
Modulul de achiziie de cunotine - realizeaz transferul
cunotinelor de la experii n domeniu ctre sistemul expert

10.04.2011

39

Cap. 1. Sisteme expert

Extragerea cunotinelor de la un expert uman cu


ajutorul unor mijloace specifice sau prin metoda
interviurilor este un proces eterogen, numit ingineria
cunoaterii i const n:

Identificare: definirea corect a problemei i determinarea


caracteristicilor sale;
Conceptualizare: determinarea conceptelor care s sprijine
reprezentarea cunotinelor;
Formalizare: alegerea unor metode de reprezentare a
cunotinelor i a mecanismului de inferen;
Implementare: reprezentarea propriu-zis a cunotinelor n
formalismul ales;
Testare: verificarea cunotinelor i validarea sistemului.
10.04.2011

40

Cap. 1. Sisteme expert

Interfaa cu utilizatorul: Este partea din program care


permite utilizatorului:

s pun ntrebri sistemului expert;


s introduc noi informaii;
s primeasc diferite recomandri de la SE.

Aprecierea utilizatorului asupra unui sistem expert


depinde n mare msur de asemnarea ntre modul de
reprezentare a informaiilor de ctre SE i modelul pe
care utilizatorul l are n mintea sa despre problema
care se rezolv.
10.04.2011

41

Cap. 1. Sisteme expert

Modulul explicativ
SE trebuie s aib capacitatea de a furniza explicaii
operatorului n legtur cu raionamentul folosit pentru
a ajunge la o anumit recomandare sau decizie.
Cu ct sunt mai explicit reprezentate cunotinele n baza
de cunotine, cu att este mai eficient procesul
explicativ, deoarece cunotinele i metodele de utilizare
a acestora sunt elemente fundamentale.

10.04.2011

42

Cap. 1. Sisteme expert


STRATEGII DE CUTARE A SOLUIEI

Consideraii generale

Problemele care pot fi rezolvate folosind tehnici ale IA sunt


probleme complex computaionale
Determinarea soluiei se face prin deplasarea n spaiul de
definiie al problemei denumit i spaiul de cutare sau
universul problemei de rezolvat.
Spaiul de cutare este constituit dintr-un numr foarte mare
de stri, fiecare descriind o situaie posibil; datorit
restriciilor problemei, o parte dintre stri sunt stri interzise n
care nu se poate ajunge niciodat.
10.04.2011

43

Cap. 1. Sisteme expert

Concluzie: rezolvarea problemelor poate fi vzut ca un proces


de identificare sau de construire a unui obiect avnd anumite
caracteristici i care reprezint soluia problemei
Aceast activitate implic existena urmtoarelor elemente:

O structur simbolic care s poat reprezenta descrierea


iniial a problemei si fiecare obiect candidat la soluie (este
structura folosit pentru reprezentarea cunotinelor)
O mulime de instrumente computaionale capabile s
transforme descrierea unui obiect (structur simbolic) ntr-o
nou descriere n scopul de a investiga sistematic toi candidaii
la soluie. Aceste instrumente sunt constituite din operatorii de
transformare sau regulile de producie
10.04.2011

44

Cap. 1. Sisteme expert

O strategie de control care s indice ordinea de aplicare a


transformrilor astfel nct soluia problemei s fie gsit ct
mai repede.

Procesul de determinarea a soluiei pornete dintr-o stare


iniial Si cunoscut i, prin aplicarea unor reguli
(operatori de transformare) care permit trecerea dintr-o
stare n alt stare, se urmrete ajungerea ntr-o stare
final Sf care constituie soluia sau o soluie a problemei
de rezolvat
Deci soluia problemei se obine printr-un proces de
cutare i nu prin aplicarea unei secvene de
transformri specificate dinainte.
10.04.2011

45

Cap. 1. Sisteme expert

n procesul de cutare se utilizeaz grafuri: fiecare stare


este reprezentat printr-un nod, iar operatorii de
transformare prin arce.
Definirea unei probleme de cutare se face folosind
urmtorul formalism:
T

P = ( Si D )
Sf D

D este mulimea strilor sau universul problemei;


T mulimea transformrilor;

O soluie a problemei P, notat T*, este o secven de


transformri cu urmtoarea proprietate:
10.04.2011

( (

S f = tn* ...t2* t1* ( Si )

))

46

Cap. 1. Sisteme expert

Algoritmul generic de cutare


1. Stabilete starea/strile iniial/iniiale Si
2. Stabilete starea curent Sc Si
3. Repet
3.1. Selecteaz un operator de transformare t posibil de
aplicat strii curente Sc
3.2. Aplic operatorul t asupra strii si obine o nou
stare S ' = t ( Sc )
3.3. Stabilete Sc S '
pn cnd Sc este stare final
4. Sfrit.
10.04.2011

47

Cap. 1. Sisteme expert

Observaii:

Algoritmul este nedeterminist deoarece pasul 3.1 nu specific


cum se selecteaz operatorul sau transformarea t de aplicat.
Selectarea transformrilor si memorarea transformrilor
efectuate constituie strategia de control.
Strategia de control trebuie s fie sistematic, adic trebuie s
satisfac urmtoarele cerine:

s prezinte proprietatea de completitudine, adic s garanteaz


faptul c strategia produce soluia, dac aceasta exist;
s asigure protecie mpotriva ineficienei prelucrrilor repetate

Altfel spus:

nu las nici o piatr nentoars;


nu ntoarce nici o piatr de mai multe ori.
10.04.2011

48

Cap. 1. Sisteme expert


EXEMPLU
Se consider un sistem aflat n starea iniial
caracterizat de proprietile P1, P2 i P3.
Sistemul evolueaz prin adugarea de noi proprieti
conform urmtoarelor transformri sau reguli:
t1: DAC (P1 I P2) ATUNCI P4
t2: DAC (P2 I P3) ATUNCI P5
t3: DAC (P1 I P4) ATUNCI P6
t4: DAC (P5 I P6) ATUNCI P7
t5: DAC (P2 I P5) ATUNCI P7
10.04.2011

49

Cap. 1. Sisteme expert


Evoluia sistemului are loc respectnd convenia:
dac ntre starea iniial i starea curent s-a aplicat o
anumit secven de transformri, atunci niciuna dintre
transformrile folosite nu mai poate fi aplicat strii
curente.
Se cere s se stabileasc secvena de transformri
ce conduce sistemul n starea final care conine
proprietatea P7.

10.04.2011

50

Cap. 1. Sisteme expert


Secvena de transformri i soluii posibile
T1*
T2*
T3*

= {t1, t2 , t3 , t4 }
= {t2 , t1, t3 , t4 }
= {t1, t3 , t2 , t4 }

T7* = {t1, t2 , t5}


T8* = {t2 , t1, t5}

T9*

= {t2 , t5}
10.04.2011

T4*
T5*
T6*

t4

= {t1, t2 , t3 , t5}
= {t2 , t1, t3 , t5}

t3

= {t1, t3 , t2 , t5}

t2
P1, P2, P3,
P4

t1

t1

P1, P2, P3

t2
P1, P2, P3,
P5

P1, P2, P3,


P4, P5

t2

P1, P2, P3,


P4, P5, P6

P1, P2, P3,


P4, P5, P6,
P7

t5

t5
P1, P2, P3,
P4, P5, P7

t3
P1, P2, P3,
P4, P6

t5
P1, P2, P3,
P5, P7

51

Cap. 1. Sisteme expert

Acest exemplu evideniaz urmtoarele aspecte:

O parte dintre soluii conin aceleai transformri, dar n


succesiuni diferite. Acest fapt implic revenirea n stri deja
explorate i apariia unor bucle n graful de cutare. Dac se
elimin buclele rezult patru soluii posibile:

T1* = {t1, t2 , t3 , t4 }
*
T7

= {t1, t2 , t5 }

T4* = {t1, t2 , t3 , t5 }

T9* = {t2 , t5 }

Numrul transformrilor utilizate difer de la o soluie la


alta, existnd posibilitatea obinerii soluiei printr-un nr.
minim de transformri.
10.04.2011

52

Cap. 1. Sisteme expert

Observaii:

Comportarea programelor de inteligent artificial poate fi caracterizat


ca un proces de cutare n care diverse transformri aplicabile
universului problemei sunt ncercate pn se determina
soluia
problemei.
n general, pentru a determina soluia este necesar evaluarea unui
numr mare de stri intermediare (obiecte candidate la soluie), iar
folosirea cutrii exhaustive este exclus.
Informaia euristic joac un rol foarte important n cadrul procesului de
cutare contribuind la reducerea numrului de stri investigate pentru
obinerea soluiei i creterea eficienei procesului de rezolvare.
Informaia euristic este reprezentat printr-o funcie euristic asociat
fiecrei stri, care estimeaz ct de promitoare este acea stare din punct
de vedere al avansului spre soluie.
Funciile euristice depind i se stabilesc pe baza cunotinelor specifice
problemei sau clasei de probleme de rezolvat.
10.04.2011

53

Cap. 1. Sisteme expert

Reprezentarea soluiei
soluiei problemei
problemei
Reprezentarea

Reprezentarea soluiei
soluiei
Reprezentarea
problemei prin
prin
problemei
spaiul strilor
strilor
spaiul

( Si , O , S f )

10.04.2011

Reprezentarea soluiei
soluiei
Reprezentarea
problemei prin
prin
problemei
grafuri SI
SI // SAU
SAU
grafuri

( Si , O, Pe )

54

Cap. 1. Sisteme expert

Reprezentarea soluiei problemei prin spaiul strilor


Spaiul de cutare are forma unui graf orientat n care
nodurile sunt identificate prin stri, iar arcele reprezint
aplicarea unor operatori pentru a transforma o stare n
alt stare
Reprezentarea este format din tripletul (Si,O, Sf) n care:

Si este starea iniial;


O - mulimea de operatorilor aplicabili strilor universului
problemei pentru a ajunge n noi stri: in fiecare stare
dat, numai o parte din operatori pot fi aplicai;
Sf - mulimea strilor finale; aceasta poate fi constituit
din una sau mai multe stri.
10.04.2011

55

Cap. 1. Sisteme expert

Prin urmare, n aceast reprezentare, o soluie a


problemei este o secvena de operatori care transform
starea iniial n starea final i reprezint o cale ntre
aceste dou stri n graf.
Iniial graful spaiului de cutare este specificat implicit
de reprezentare prin tripletul (Si, O, Sf ). Pe msur ce
procesul de cutare a soluiei avanseaz o parte din acest
graf devine explicit. Poriunea din graful spaiului de
cutare astfel construit reprezint partea explorat a
spaiului de cutare.
10.04.2011

56

Cap. 1. Sisteme expert


Exemplu: Problema comis voiajorului
{A}
B
A

7
13
6
10

10 5C

10
9

{A,B}
E

D
(a) Harta oraselor de parcurs

...

6
10
{A,C}
{A,D}
5
{A,C,D}

...

13
{A,E}
...

6
{A,C,D,E}
(b) O portiune din spatiul de cautare a solutiei

Generarea tuturor traseelor posibile i compararea costurilor asociate pentru a


gsi traseul optim este un proces ineficient din punct de vedere computaional,
mai ales n cazul unui numr mare de orae. De aceea, pentru rezolvarea
acestei probleme se face apel la tehnicile euristice de cutare.
10.04.2011

57

Cap. 1. Sisteme expert


Reprezentarea soluiei problemei prin grafuri SI/SAU

Exist probleme care pot fi rezolvate printr-o tehnic


numit descompunerea problemei n subprobleme.
Caracteristica acestei clase de probleme este aceea c
problema pus de un obiect candidat la soluie este
vzut ca o conjuncie de subprobleme care pot fi
rezolvate independent unele de altele.

10.04.2011

58

Cap. 1. Sisteme expert

Mecanismul de rezolvare a problemelor din aceast clas


const n :

descompunerea problemei iniiale n subproblemele care trebuie


rezolvate;
descompunerea subproblemelor n alte subprobleme;
continuarea procesului pn cnd se obine o descompunere a
problemei iniiale in subprobleme elementare a cror rezolvare
este cunoscut.

Spaiul de cutare al unei astfel de rezolvri a problemei


are forma unui graf SI/SAU. Acesta este un caz particular
al unui hipergraf.
10.04.2011

59

Cap. 1. Sisteme expert


Definiie:

o reprezentare a soluiei problemei prin


grafuri SI/SAU este format din tripletul
(Si , O , Pe) n care:

Si este descrierea strii iniiale;


O mulimea operatorilor de transformare
descompun problema n subprobleme;
Pe mulimea de probleme elementare.

care

Observaie: mulimea operatorilor conine operatori


aplicabili strilor universului problemei
pentru a genera noi stri; n fiecare stare
dat, numai o parte din operatori pot fi
aplicai.
10.04.2011

60

Cap. 1. Sisteme expert


Reguli pentru generarea grafurilor SI/SAU
R1
R2

R3

R4

Fiecare nod reprezint fie o singur problem, fie o mulime


de probleme ce trebuie rezolvate.
Un nod care reprezint o singur problem nu are descendeni.
Problema este fie o problem elementar, fie o problem
neelementar care nu se mai poate descompune n alte
subprobleme.
Nodurile care reprezint mulimea de subprobleme n
care s-a descompus o problem prin aplicarea unui operator de
descompunere se numesc noduri SI.
Nodurile ce reprezint descompuneri alternative ale unei
probleme n subprobleme se numesc noduri SAU. Aceste
noduri au ca descendeni noduri SI.
10.04.2011

61

Cap. 1. Sisteme expert


Exemplu de graf SI/SAU
Nod SAU
Noduri SI
Noduri SAU

10.04.2011

62

Cap. 1. Sisteme expert


ntr-un graf SI/SAU exist dou tipuri de noduri:

noduri rezolvate
noduri nerezolvabile:

Un nod este rezolvat dac:

este un nod terminal etichetat cu o problem elementar;


este un nod SI, iar toi succesorii lui sunt noduri rezolvate;
este un nod SAU si cel puin un succesor al acestuia este nod rezolvat.

Un nod este nerezolvabil dac:

este un nod terminal etichetat cu o problem neelementar care nu se


mai poate descompune n subprobleme;
este un nod SI cu cel puin un succesor nerezolvabil;
este un nod SAU cu toi succesorii nerezolvabili.
10.04.2011

63

Concluzie

O problem are soluie dac exist o secven


de operatori care fac ca nodul corespunztor
descrierii iniiale a problemei s devin nod
rezolvat.

Exemplu. Problema turnurilor din Hanoi


Se cere s se mute n=3 discuri de pe tija A pe tija C,
utiliznd tija intermediar B cu restricia ca un disc s fie
aezat fie pe o tija liber, fie peste un disc de o dimensiune
mai mare dect el.
10.04.2011

64

Cap. 1. Sisteme expert

A
(a) Stare initiala

(b) Stare finala

Mulimea operatorilor de descompunere este format dintr-un singur


operator, cu trei componente i anume:
mut n-1=2 discuri de pe tija i pe tija j, utiliznd tija k;
mut un disc de pe tija i pe tija k;
mut n-1=2 discuri de pe tija j pe tija k, utiliznd tija i.
Singura problema elementar este aceea de a muta un singur disc de pe
o tij pe o alt tij respectnd restricia problemei.
Problema avnd un singur operator de descompunere, spaiul de
cutare va conine numai noduri probleme elementare i noduri SI.
10.04.2011

65

Cap. 1. Sisteme expert


n=3
A la C
O - operator de descompunere

n=2
A la B

n=2
B la C
n=1
A la C

n=1
A la C

n=1
A la B

n=1
C la B

n=1
B la A

n=1
B la C

n=1
A la C

(c) Arborele SI/SAU de descompunere in subprobleme

10.04.2011

66

Cap. 1. Sisteme expert


Observaii viznd soluionarea problemelor de IA

Orice problem poate fi solutionat prin ambele metode


de reprezentare analizate. Totui, pentru o anumit
problem este mai adecvat o reprezentare sau alta.
Anumite probleme conduc n mod natural la o
reprezentare a solutiei prin spatiul starilor, asa cum este
problema comis voiajorului, problema mozaicului de 8
numere, problema celor 8 regine etc. O astfel de
rezolvare corespunde unui rationament direct pentru a
solutiona problema sau unui control condus de date.
10.04.2011

67

Cap. 1. Sisteme expert

Alte probleme, cum ar fi problema turnurilor din Hanoi,


problema cintaririi monezilor, conduc in mod natural la
o rezolvare prin descompunerea problemei n
subprobleme. O astfel de rezolvare corespunde unui
rationament invers pentru rezolvarea problemei sau unui
control condus de scopuri.

10.04.2011

68

Cap. 1. Sisteme expert


Strategii de cutare de baz

Pentru alegerea unei strategii de cutare trebuie s se


in cont de:

Completitudinea strategiei stabilete dac strategia asigur


sau nu gsirea soluiei n cazul n care aceasta exist.
Optimalitatea soluiei este dat de capacitatea strategiei de
a obine o soluie optimal, suboptimal sau pur si simplu o
soluie.
Complexitatea strategiei se refer la complexitatea
exprimat n timp de calcul i memorie (efort computaional)
a algoritmului utilizat.
10.04.2011

69

Cap. 1. Sisteme expert

Caracterizarea unei strategii de cutare se poate face dup


dou criterii:
C1: capacitatea mecanismului de rezolvare de a reveni
ntr-o stare intermediar anterioar:

Strategii de cutare irevocabile;


Strategii de cutare tentative.

C2: dup cantitatea de informaie folosit la gsirea


soluiei:

Strategii de cutare neinformate


Strategii de cutare informate

10.04.2011

70

Cap. 1. Sisteme expert

Strategii de cutare irevocabile.

Principiul: Un operator aplicabil este selectat i aplicat unei stri pentru a


obine o nou stare, iar starea anterioar este uitat (nu este
memorat) i, prin urmare, nu se mai poate reveni n ea .
Exemplu: strategia de cutare a alpinistului.

se bazeaz pe criterii de optim local;


asemntor unui alpinist care dorete sa ajung repede pe vrful unui munte,
strategia alege starea urmtoare de nivel maxim pe baza unei funcii de evaluare
a strilor;
strategia este irevocabil deoarece pentru o stare curent, dup generarea
strilor urmtoare i alegerea strii de nivel maxim ca noua stare curent,
celelalte stri sunt uitate. Deci nu se mai poate reveni ntr-una din strile
anterioare strii curente sau ntr-una din alternativele strii curente.
strategia alpinistului, dei simpl si puin consumatoare de memorie, prezint o
serie de limitri ca de exemplu blocarea intr-un maxim local fr a putea obine
maximul global.
10.04.2011

71

Cap. 1. Sisteme expert

Strategii de cutare tentative

Principiul: La aplicarea unui operator starea curent este memorat


astfel ncnt procesul de cutare s poat reveni ulterior n
strile anterioare strii curente.
Dac starea anterioar la care se poate reveni n timpul cutrii se afl
numai pe calea curent ntre starea iniial si starea final, strategia de
cutare este o strategie tentativ de tip "backtracking". Aceasta este, de
exemplu, strategia utilizata de limbajul Prolog.
Dac starea anterioar n care se poate reveni se afl pe orice cale deja
parcurs n expandarea spaiului de cutare, strategia este de cutare
tentativ general pe grafuri.
10.04.2011

72

Cap. 1. Sisteme expert

Strategii de cutare neinformate.

Principiul: Considerarea strilor urmtoare de inspectat se


face dup o ordine arbitrar, anterior stabilit.
inspecteaz sistematic toate strile spaiului de cutare pn n
momentul gsirii strii finale.
Cele mai importante strategii de acest fel sunt:

cutarea pe nivel sau cutarea n lime;


cutarea in adncime.
10.04.2011

73

Cap. 1. Sisteme expert

Strategii de cutare informate

Principiul: Considerarea strilor urmtoare de inspectat se face


dup criterii euristice.
Strategia folosete o funcie de evaluare a situaiei globale sau
locale care indic starea urmtoare cea mai promitoare din
punct de vedere al avansului spre soluie.
Strategiile de cutare euristice ncearc reducerea numrului de
stri din spaiul de cutare inspectate pn la atingerea strii
finale, pe baza diverselor criterii, cum ar fi funciile euristice.
Exemple: strategia alpinistului, strategia de cutare "best-first",
algoritmul A* si algoritmul AO*.
Algoritmii A* si AO* urmresc n principal, pe lng reducerea
numrului de stri inspectate, gsirea soluiei optime.

10.04.2011

74

Cap. 1. Sisteme expert


Costul computaional

Costul computaional total al unui program de rezolvare


a problemelor de IA depinde de locul unde se situeaz
strategia de control n spectrul neinformat/informat i
are dou componente:

costul aplicrii operatorilor, sau costul parcurgerii spaiului


de cutare ntre starea iniial si starea final;
costul controlului, sau costul evalurii si seleciei celei mai
promitoare stri urmtoare.

10.04.2011

75

Cap. 1. Sisteme expert


Cost
Computational
Cost control
(cost evaluare stari)

Cost parcurgere
(cost aplicare
operatori)

Cost total

Neinformat

10.04.2011

Informat

Grad de
informare

76

Cap. 1. Sisteme expert


Observaii:

O strategie de cutare complet neinformat implic:

O strategie de control complet informat despre domeniul


problemei implic:

un cost redus al controlului;


un cost ridicat al parcurgerii spaiului de cutare deoarece necesit
aplicarea unui numr mare de operatori naintea gsirii unei soluii.

un cost ridicat al controlului deoarece poate necesita calcule


complicate pentru evaluarea meritului strilor;
un cost minim de parcurgere a spaiului de cutare datorita
numrului redus de operatori aplicai pn la gsirea soluiei.

Exist un grad optim de informare pentru care costul total este


minim.
10.04.2011

77

Cap. 1. Sisteme expert

n funcie de aplicaie, proiectantul programului trebuie s


ncerce determinarea celei mai bune variante de pondere a
costurilor.
Obinerea unui cost computaional optim este un aspect
esenial deoarece problemele de cutare sunt probleme de
complexitate timp exponenial.

10.04.2011

78

Cap. 1. Sisteme expert


Cutri neinformate n spaiul strilor
Formularea problemei
Se consider:

un graf definit implicit prin mulimea operatorilor asociai


arcelor ;
nodul sau mulimea de noduri ce definesc starea iniial Si,
adic condiiile iniiale ale problemei de rezolvat ;
nodul sau mulimea de noduri ce definesc starea final , adic
obiectivele sau cerinele problemei .

Pentru rezolvarea problemei este necesar s se gseasc o cale


ntre starea iniial i starea final.
Un proces de cutare
10.04.2011

79

Cap. 1. Sisteme expert

Dup cum s-a prezentat, principiul care se afl la baza


algoritmului generic de cutare const n explorarea
incremental a cilor ce pornesc din nodurile aferente strii
iniiale i folosete noiunea de frontier pentru a delimita
nodurile explorate de cele care nu au fost nc explorate.
n parcurgerea spaiului de cutare un nod poate fi:

necunoscut - nodul aparine prii neexplorate a spaiului de


cutare;
evaluat - nodul este cunoscut dar fie nu se cunoate nici un
succesor al lui, fie se cunosc numai o parte dintre acetia;
expandat - nodul este cunoscut si, in plus, se cunosc toi
succesorii lui
10.04.2011

80

Cap. 1. Sisteme expert

Expandarea unui nod nseamn generarea tuturor


succesorilor si, adic aplicarea tuturor operatorilor
legali strii curente Sc aferent nodului.
n procesul de cutare se vor folosi doua liste:

LF lista frontier care conine nodurile evaluate, adic


frontiera spaiului de cutare parcurs (explicitat) spre partea
necunoscut a acestuia;
LT lista teritoriu care conine nodurilor expandate, adic
partea cunoscut a spaiului de cutare.
10.04.2011

81

Cap. 1. Sisteme expert


STRATEGII DE CUTARE DE BAZ

cutare pe nivel i cutarea n adncime


Ipoteze:

Spaiul de cutare este arbore, adic ntre starea iniial i


cea final exist o cale unic. Rezult c toate strile
generate pe parcursul cutrii sunt unice, adic nu au mai
fost generate anterior.
La fiecare expandare a unui nod se stabilete o legtur de
la fiecare nod succesor la nodul expandat. In momentul
descoperirii nodului stare final aceste legaturi permit
reconstruirea caii spre soluie.
10.04.2011

82

Cap. 1. Sisteme expert

Definiie: ntr-o reprezentare a soluiei problemei prin


spaiul strilor adncimea unui nod se
definete astfel:
Ad(Si )=0 unde Si este nodul stare iniial;
Ad(Sc )=Ad(S p )+1

10.04.2011

n care Sp este predecesorul


strii curente Sc.

83

Cap. 1. Sisteme expert

Cutarea pe nivel sau n lime

este o strategie de cutare care expandeaz strile urmtoare


n ordinea apropierii fa de nodul stare iniial Si.
trateaz lista frontier LF folosind o strategie de tipul FIFO
(First In First Out).
Nodul din frontier care se elimin este primul din list, iar
succesorii si sunt adugai la sfritul listei.

10.04.2011

84

Cap. 1. Sisteme expert


Algoritmul strategiei cutrii pe nivel n spaiul strilor
1.
2.
3.
4.

Creeaz listele LF {Si} si LT {}


DAC LF ={} ATUNCI ntoarce INSUCCES /* nu exist soluie */
Elimin primul nod Sc din LF si-l insereaz n LT
Expandeaz nodul Sc
4.1. Genereaz toi succesorii direci ai nodului Sc
4.2. Pentru fiecare succesor Sj ( 1 j m ) al lui Sc execut
4.2.1. Stabilete legtura Sj Sc
4.2.2. DAC Sj este stare final ATUNCI:
i. soluia este {Sj Sf , Sc Sj,}
ii. ntoarce SUCCES
/* s-a gsit o soluie */
4.2.3. Insereaza Sj n LF, la sfrit
5. repeta de la 2
10.04.2011

85

Cap. 1. Sisteme expert


Exemplu
se consider graful din figur
n care nodul n1 reprezint
starea iniial, iar nodul n10
starea final.

ordinea n care se exploreaz


diversele ci n graful de
cutare depinde de ordinea n
care se genereaz i se
insereaz n LF succesorii
nodului expandat . n cele ce
urmeaz considerm c
succesorii unui nod se
genereaz n ordinea indicelui
numeric.
10.04.2011

n1
n3

n2
n5

n4
n8

n6
n9

n7
n10

86

Cap. 1. Sisteme expert


Pas 1. Iniializri LF {n1} si LT {}
Pas 2 . Elimin n1 din LF i-l insereaz n LT:
LF ={} si LT={n1}
Pas 3. Genereaz succesorii lui n1 si-i insereaz n LF:
LF ={n2 , n3} si LT={n1}
Pas 4. Elimin n2 din LF i-l insereaz n LT:
LF ={n3} si LT={n1 , n2}
Pas 5. Genereaz succesorii lui n2 si-i insereaz n LF la sfrit:
LF ={n3 , n4 , n5} si LT={n1 , n2}
Pas 6. Elimin n3 din LF i-l insereaz n LT:
LF ={n4 , n5} si LT={n1 , n2 ,n3}
Pas 7. Genereaz succesorii lui n3 si-i insereaz n LF la sfrit:
LF ={n4 , n5 , n6 , n7} si LT={n1 , n2 ,n3}
10.04.2011

87

Cap. 1. Sisteme expert


Pas 8.

Elimin n4 din LF i-l insereaz n LT:


LF ={n5 , n6 , n7} si LT={n1 , n2 , n3 , n4}
Obs. Deoarece n4 nu are succesori, nu se adaug alte
noduri n lista LF.
Pas 9.
Elimin n5 din LF i-l insereaz n LT:
LF ={n6 , n7} si LT={n1 , n2 , n3 , n4 , n5}
Pas 10. Genereaz succesorii lui n5 i-i insereaz n LF la sfrit:
LF ={n6 , n7 , n8 , n9} si LT={n1 , n2 , n3 , n4 , n5}
Pas 11. Elimin n6 din LF i-l insereaz n LT:
LF ={n7 , n8 , n9} si LT={n1 , n2 , n3 , n4 , n5 , n6}
Obs. Deoarece n6 nu are succesori, LF nu se modific.
Pas 12. Elimin n7 din LF i-l insereaz n LT:
LF ={n8 , n9} si LT={n1 , n2 , n3 , n4 , n5 , n6 , n7}
Pas 13. Genereaz succesorii lui n7 i-i insereaz n LF la sfrit:
LF ={n8 , n9 , n10} si LT={n1 , n2 , n3 , n4 , n5 , n6 , n7}
10.04.2011

88

Cap. 1. Sisteme expert


Deoarece nodul final n10 a aprut n frontier, se
consider procesul de cutare ncheiat i se specific
soluia: {n10 , n7 , n3 , n1}
Observaii:

Cutarea poate fi uneori lung i complex computaional din


punct de vedere al spaiului de memorie utilizat deoarece pentru
fiecare nivel sunt generate toate strile succesoare posibile.
Cu toate acestea, strategia de cutare pe nivel garanteaz gsirea
soluiei, n cazul n care aceasta exist i, n plus, gsete cel mai
scurt drum spre soluie n termenii numrului de tranziii de stri
executate.
10.04.2011

89

Cap. 1. Sisteme expert

Cutarea n adncime

este strategia cea mai frecvent utilizat n aplicaiile practice;


expandeaz strile cel mai recent generate, adic nodurile din
lista LF cu adncimea cea mai mare;
aceast strategie parcurge o cale de la starea iniial pn la o
stare ce poate fi starea final sau care nu mai are nici un
succesor. n acest ultim caz se aplic mecanismul
backtracking revenindu-se pe nivelurile anterioare i se
ncearc explorarea altor ci posibile.
lista frontier LF este tratat ca o stiv folosind o tehnic de
tipul LIFO (Last In First Out).
10.04.2011

90

Cap. 1. Sisteme expert


Observaii:

Strategia cutrii n adncime nu garanteaz obinerea unei soluii a


problemei, chiar n cazul n care aceasta exist.
O astfel de situaie poate s apar n cazul unui spaiu de cutare
infinit iar ramura pe care s-a plecat n cutare nu conine soluia.
Pentru a evita intrarea ntr-o bucl infinit se introduce o limit
maxim a adncimii de cutare, AdMax. Dac aceast limit a fost
atins fr a se gsi soluia, atunci strategia revine si inspecteaz stri
de pe nivelurile inferioare lui AdMax dar aflate pe ci diferite.
Apare urmtorul dezavantaj: soluia care s-ar gsi pe calea iniial la o
adncime mai mare dect AdMax este pierdut.
Algoritmul cutrii n adncime prezint avantajul generrii unui
numr de stri mai mic comparativ cu algoritmul cutrii pe nivel.
10.04.2011

91

Cap. 1. Sisteme expert


Algoritmul strategiei cutrii n adncime n spaiul strilor
1.
2.
3.
4.

5.

Creeaz listele LF {Si} si LT {}


DAC LF ={} ATUNCI ntoarce INSUCCES
/* nu exist soluie */
Elimin primul nod Sc din LF si-l insereaz n LT
DAC Ad (Sc)=AdMax ATUNCI repet de la 2
Expandeaz nodul Sc
4.1. Genereaz toi succesorii direci ai nodului Sc
4.2. Pentru fiecare succesor Sj ( 1 j m ) al lui Sc execut
4.2.1.
Stabilete legtura Sj Sc
4.2.2.
DAC Sj este stare final ATUNCI:
i. soluia este {Sj Sf , Sc Sj,}
ii. ntoarce SUCCES
/* s-a gsit o soluie */
4.2.3.
Insereaza Sj n LF, la nceput
repeta de la 2
10.04.2011

92

Cap. 1. Sisteme expert

Exemplu
se consider graful din figur
n care nodul n1 reprezint
starea iniial, iar nodul n10
starea final.
ordinea n care se exploreaz
diversele ci n graful de
cutare depinde de ordinea n
care se genereaz i se
insereaz n LF succesorii
nodului expandat . n cele ce
urmeaz considerm c
succesorii unui nod se
genereaz n ordinea indicelui
numeric.
10.04.2011

n1
n3

n2
n5

n4
n8

n6
n9

n7
n10

93

Cap. 1. Sisteme expert


Pas 1. Iniializri LF {n1} si LT {}
Pas 2 . Elimin n1 din LF i-l insereaz n LT:
LF ={} si LT={n1}
Pas 3. Genereaz succesorii lui n1 si-i insereaz n LF: conform
conveniei
adoptate se genereaz i se introduce n list n2 i apoi n3: rezult LF ={n3,
n2} si LT={n1}
Pas 4. Elimin n3 din LF i-l insereaz n LT:
LF ={n2} si LT={n1 , n3}
Pas 5. Genereaz succesorii lui n3 si-i insereaz n LF la nceput:
LF ={n7 , n6 , n2} si LT={n1 , n3}
Pas 6. Elimin n7 din LF i-l insereaz n LT:
LF ={n6 , n2} si LT={n1 ,n3 , n7}
Pas 7. Genereaz succesorii lui n7 si-i insereaz n LF la nceput:
LF ={n10 , n6 , n2} si LT={n1 , n3 , n7 }
Deoarece nodul final n10 a aprut n frontier, se consider procesul de
cutare ncheiat i se specific soluia: {n10 , n7 , n3 , n1}
10.04.2011

94

Cap. 1. Sisteme expert


Algoritmul de cutare n adncime cu nivel iterativ
( algoritmul lui Korf ).

elimin dezavantajele specifice celor dou strategii de cutare de baz;


algoritmul realizeaz la nceput o cutare n adncime n spaiul strilor
cu o adncime maxim de cutare AdMax specificat.
DAC starea final nu a fost gsit, ATUNCI se reia cutarea n
adncime cu AdMax+1;
continu procesul pn se gsete solia;
la fiecare iteraie algoritmul realizeaz o cutare n adncime complet
corespunztoare valorii curente AdMax.
ntre dou iteraii succesive nu se reine nici o informaie despre spaiul de
cutare.
se garanteaz gsirea soluiei, dac aceasta exist, precum i a drumului
cel mai scurt ctre soluie
10.04.2011

95

Cap. 1. Sisteme expert


n cazul n care spaiul de cutare nu este un arbore, ci un
graf oarecare, pentru a evita reconsiderarea unei stri
analizate anterior, pasul de inserare a strii Sj n lista LF
(pasul 4.2.3) se modific astfel:
4.2.3 DAC S j LF LT
ATUNCI insereaz Sj n LF, la sfirsit respectiv la
nceput n funcie de strategie.

10.04.2011

96

Cap. 1. Sisteme expert

Observaii:

Ambele tipuri de cutri realizeaz un raionament direct, pornind n


rezolvarea problemei de la starea iniial si genernd arborele de
cutare a strii finale. Acest mod de abordare corespunde
raionamentului deductiv.
Pentru rezolvarea anumitor probleme se poate proceda invers,
executnd strategiile ncepnd din starea final i cutnd starea
iniial. Acest mod de abordare corespunde raionamentului inductiv.
n anumite cazuri se poate utiliza o combinaie ntre raionamentul
direct si cel invers, adic un raionament bidirecional n care se caut
soluia pornind simultan din starea iniial si cea final. n cazul acestei
strategii, dac se utilizeaz cutarea n adncime exist pericolul ca cei
doi arbori generai simultan, unul pe calea direct i cellalt pe calea
invers, s nu aib noduri intermediare comune (s nu se ntlneasc).
10.04.2011

97

Cap. 1. Sisteme expert

Strategiile de cutare pe nivel si n adncime pot fi uor adaptate la cutarea


soluiei problemei n reprezentarea prin grafuri SI/SAU.

Diferena const n criteriul de determinare a condiiei de oprire. De aceast


dat trebuie s se testeze dac o mulime de noduri formeaz un arbore
SI/SAU soluie.
Impactul fiecrui nod nou generat trebuie propagat n arborele parial
construit pentru a determina dac nodul problem iniial a devenit rezolvat.
Algoritmele de cutare n grafuri SI/SAU trebuie s gestioneze, pe lng
listele LF si LT, i o structur de date care reprezint arborele SI/SAU
construit prin explicitatea spaiului de cutare definit n mod implicit de
reprezentare.
O alt diferen const n faptul c nodurile SI nu se introduc n listele LF i
LT deoarece ele nu corespund efectiv unor subprobleme, ci indic numai o
mulime de subprobleme care trebuie rezolvate. Aceste noduri sunt ns
construite i fac parte din poriunea explicitat a spaiului de cutare.
Pe baza strii de rezolvat sau nerezolvabil a acestor noduri se poate decide
cnd s-a obinut arborele soluie.

10.04.2011

98

Cap. 1. Sisteme expert


Strategii de cutare euristic

Rezolvarea problemelor utiliznd strategii de cutare


neinformat prezint dezavantajul c numrul de stri
investigate pentru a gsi o soluie poate ajunge prohibitiv
de mare, chiar si pentru probleme relativ simple.

Necesitatea aplicrii tehnicilor euristice de cutare.


Acestea in seama de ct de aproape este fiecare nod al
grafului de nodul corespunztor strii finale.
10.04.2011

99

Cap. 1. Sisteme expert

Observaie: cuvntul euristic() provine din greaca veche i are


nelesul a descoperi. Conform DEX un
procedeu euristic servete la descoperirea unor
cunotine noi, respectiv definete o parte a
tiinei care are ca obiect descoperirea de fapte noi.

n contextul problemelor de cutare, o tehnic euristic


este o strategie folosit pentru a crete eficiena cutrii,
fr a garanta obinerea soluiei.
Dezvoltarea unei tehnici euristice se face pe baza unor

aproximri raionale;
ipoteze simplificatoare;
cunotine specifice domeniului problemei.
10.04.2011

100

Cap. 1. Sisteme expert

n acest context, cunotinele euristice pot fi utilizate


pentru:

selectarea nodului urmtor de expandat n cursul cutrii


selectarea nodului cel mai promitor pentru obinerea
soluiei;
a decide care dintre succesorii nodului ce este expandat vor fi
generai i care nu expandarea parial a unui nod prin
aplicarea numai a unui sbset de operatori dintre cei posibil de
aplicat;
eliminarea din spaiul de cutare a anumitor noduri generate
retezarea arborelui de cutare
10.04.2011

101

Cap. 1. Sisteme expert

Dei o mare parte dintre tehnicile euristice cunoscute


sunt tehnici cu aplicabilitate general totui, pentru
aplicarea lor cu succes la o problem particular, ele
trebuie suprapuse peste euristica specific problemei
analizate.
n acest sens, se definete o funcie euristic care
exprim cel mai adesea n form numeric ct de
promitoare este o stare din spaiul de cutare n
procesul de identificare a soluiei, adic ct de
apropiat este starea respectiv de stare final.
10.04.2011

102

Cap. 1. Sisteme expert

Definirea unei funcii euristice f implic utilizarea:

unei funcii g evalueaz


costul deplasrii din
starea iniial Si n starea
curent Sc;
unei funcii h estimeaz
costul deplasrii din
starea curent Sc n
starea final Sf;

10.04.2011

Si
g(Sc)
Sc

f(Sc)
h(Sc)

Sf

103

Cap. 1. Sisteme expert

Observaii :

Dintre cele trei funcii doar g poate fi evaluat precis,


celelalte dou fiind doar estimate i de aceea se noteaz f* i
h* , iar legtura dintre ele este dat de relaia

f * ( Si S f ) = g ( Si Sc ) + h* ( Sc S f )

O particularitate proprie tehnicilor euristice de cutare o


reprezint caracterul local al procesului decizional care
determin o comportare nemonoton a funciei h n spaiul
strilor.

10.04.2011

104

Cap. 1. Sisteme expert

Metoda cii spre obiectiv

Principiul metodei const n alegerea acelor operatori care


par s conduc la un obiectiv: soluia problemei.
La fiecare pas al procesului de cutare se evalueaz
diferenele dintre starea curent Sc i starea final Sf pe
baza crora se identific un operator O1 ce ar permite
trecerea direct din starea curent n cea final.
Din pcate un astfel de operator fie nu exist, fie nu poate fi
aplicat. Se aplic principiul descompunerii problemei n
subprobleme astfel:

se determin o stare intermediar Sc creia i se poate aplica


operatorul identificat anterior i n care se poate ajunge din starea
curent Sc prin aplicarea unui operator secundar .

10.04.2011

105

Cap. 1. Sisteme expert

Metoda pasului optim (best first)

Strategia selecteaz pentru expandare cel mai bun nod din


spaiul de cutare generat folosind cunotinele euristice,
adic o estimare a strii cu ajutorul unei funcii euristice.

Algoritmul de baz al metodei implic parcurgerea


urmtoarelor etape:
1. Calculul funciei euristice pentru toate nodurile din
nivelul curent (nodurile din frontier)
2. Selectarea nodului cu valoarea minim/maxim a
funciei euristice
3. Expandarea nodului selectat (generarea succesorilor
si). Dac unul dintre succesori este soluia, atunci
procesul de cutare se oprete.
10.04.2011

106

Cap. 1. Sisteme expert

Algoritmele A* i AO*

Folosesc pentru a evalua fiecare nod al frontierei o funcie cost


global de tipul :

f * ( Si S f ) = g ( Si Sc ) + h* ( Sc S f )

Caut o soluie optim a problemei.


Algoritmul A* este specific reprezentrii prin spaiul strilor,
Algoritmul AO* este specific reprezentrii prin grafuri
SI/SAU.

10.04.2011

107

Cap. 1. Sisteme expert


R4

B, C

R1: DAC B I D I E F
R2: DAC D I G A
R3: DAC C I F A
R4: DAC B X
R5: DAC D E
R6: DAC A I X H
R7: DAC C D
R8: DAC X I C A
R9: DAC X I B D

R7

R7
R9

B, C,
R8

X, D

R5
R9

B, C,
R8

a
R4
R7

B, C

B, C,

R8

R9

R7

R8

X, D,
E, F

R3
R9

R8

B, C,

R6

X, D,

R9

H
R8

E, F,

B, C,

R6

X, A
b

R9

H
R7

ambele subscopuri
I trebuie verificate
una sau alta dintre
SAU reguli poate fi aplicat

inutil deoarece nu
a fost verificat G
SAU
A R3
C verificat B verificat
C verificat
I
R7
SAU
R1
F
D
R8
I
R9
C verificat
R7
R5
R4
E
D
X
B verificat
R9
c
R2

R6 I

B, C,

G neverificat
I

R1

X, D, R9
E

10.04.2011

B, C,

108

Cap. 1. Sisteme expert

MULUMESC PENTRU ATENIE !


Urmeaz RNA !?!?

10.04.2011

109

You might also like