Documente Academic
Documente Profesional
Documente Cultură
I. Cocianu, Cătălina-Lucia
004.891:33
Introducere …………………………………………………………. 9
*
Dorin Zaharie, Pavel Năstase, Felicia Albescu, Irina Bojan,
Florin Mihai, Liana-Anica Popa, Sisteme expert. Teorie şi aplicaţii, Editura
Dual Tech, Bucureşti, 2002.
14
*
DEX, Dicţionarul explicativ al limbii române, 1996.
15
*
Marian Zaharia, Claudia Cârstea, Liana Sălăgean, Inteligenţa
artificială şi sistemele expert în asistarea deciziilor economice, Editura
Economică, Bucureşti, 2003.
16
MODULUL DE
ACHIZIŢIE A
CUNOŞTINŢELOR
MODULUL EXPLICATIV
19
21
*
Ioan Andone, Sisteme inteligente hibride. Teorie. Studii de caz pentru
aplicaţii economice. Ghidul dezvoltatorului, Editura Economică, Bucureşti,
2002.
22
25
26
*
Laudon, K, Laudon, J, op.cit., Essentials of Management Information
Systems. Organization and Technology in the Networked Enterprise, Fourth
Editions, JWS, New York, 2001.
27
28
30
31
32
*
Ioan Andone, Al. Ţugui, Sisteme inteligente în management,
contabilitate, finanţe, bănci şi marketing, Editura Economică, Bucureşti, 1999.
33
*
Ioan Andone, op.cit.
37
38
39
Întrebări de control
1. Care sunt abordările inteligenţei artificiale?
2. Care sunt domeniile principale de aplicaţie ale inteligenţei
artificiale?
3. Cum se defineşte o problemă dificil de rezolvat?
4. Cum se defineşte un sistem expert?
5. Care sunt caracteristicile unui sistem expert?
6. Care sunt principalele tipuri de sisteme expert folosite în
domeniul economic?
7. Care sunt motivele folosirii sistemelor expert în management şi
afaceri?
8. Ce sunt cunoaşterea şi raţionamentul din perspective sistemelor
expert?
9. Care sunt cele două componente ale cunoştinţelor?
*
Ioan Andone, op.cit.
40
41
47
P Q ¬P P∧Q P∨ Q P⇒ Q P⇔ Q
T T F T T T T
T F F F T F F
F T T F T T F
F F T F F T T
48
49
50
Precedenţă maximă ¬
∧
∨
⇒
Precedenţă minimă ⇔
P ∧ ¬Q ⇒ ¬R
P ∧ ¬Q ¬ R
¬ Q
51
P ¬P A = P ∨ ¬P
T F T
F T T
53
P ¬P A = P ∧ ¬P
T F F
F T F
P Q P⇒Q ¬Q ¬P ¬Q ⇒ ¬P
T T T F F T
T F F T F F
F T T F T T
F F T T T T
P ⇒ Q ≡ ¬P ∨ Q , respectiv
P ⇒ Q ≡ (P ⇒ Q ) ∧ (Q ⇒ P ) ≡ (¬P ∨ Q ) ∧ (¬Q ∨ P )
54
55
56
57
58
În cazul (1), premisa X > Max este adevărată, deci este realizată
atribuirea X=Max şi, după execuţia lui (I), X nu este mai mare decât Max.
În cel de-al doilea caz, X > Max este falsă şi înainte, şi după execuţia
instrucţiunii (I). Formalizarea construcţiei mai sus menţionate este
posibilă prin definirea următoarelor variabile propoziţionale.
P: X > Max înainte de execuţia lui (I).
Q: X=Max după execuţia lui (I).
R: X>Max după execuţia lui (I).
59
60
61
2. Q ⇒ R
Premisă
3. P Presupunere Presupunem P
4. Q 1,3, MP
5. R 2,4, MP
6. P ⇒ R Elimină P P este considerat cu oricare din
valorile de adevăr T sau F şi rezultă
P⇒R
62
63
65
67
68
69
2. H (S )
Premisă Socrate este muritor.
2. ∀yP( x, y )
Instanţiază linia 1 prin eliminarea
1,
S xx (UI)
primului cuantificator universal.
3. P ( x, y )
Elimină cel de-al doilea cuan-
S yy
2, (UI) tificator universal. În continuare
este folosită regula UG pentru
reintroducerea cuantificatorilor în
ordine inversă.
4. ∀xP(x , y ) 3, UG Deoarece premisa nu conţine x ca
variabilă liberă, poate fi aplicată UG
5. ∀y∀xP( x, y )
4, UG Aplică UG şi obţine concluzia
dorită.
72
74
75
IF
1. C este un cont de pasiv şi
2. C reflectă D şi
3. D scade
THEN
C se debitează
Exemplu de regulă IF-THEN din cadrul unui sistem expert din
contabilitate
IF
1. există o ipoteză H în care procedeul P reuşeşte şi
2. există două ipoteze:
H1: procedeul R1 respinge metoda P
H2: procedeul R2 respinge metoda P
3. H1 este falsă şi H2 este falsă constituie un fapt
THEN
1. generează ipoteza H3: procedeul combinat R1 sau R2
respinge procedeul P
2. generează faptul: H1 implică not H.
Exemplu de regulă IF-THEN de rafinare a procedeelor utilizate în
rezolvarea automată a jocurilor de şah
77
THEN
Reduce preţul cererii la acţiunile X cu un increment
Exemplu de regulă IF-THEN utilizat în sistemul AESOP
78
THEN
Haina va fi mai puţin cerută
Importanţa regulii: 1.
Exemplu de regulă IF-THEN utilizat în sistemul Consumator-Produs
Regulile de Strategie a Vânzărilor sunt reprezentate ca reguli de
ordonare a variabilelor şi reguli de ordonare a valorilor şi sunt metareguli.
De exemplu, un vânzător cu experienţă poate întreba un client
student care este nivelul preţului pe care şi-l poate permite pentru achi-
ziţionarea unui anumit produs, în timp ce pe un client de 40 de ani îl ches-
tionează în legătură cu tipul şi calitatea produsului pe care doreşte să-l
achiziţioneze; de asemenea, vânzătorul va ţine cont şi de sexul clientului.
Secvenţa întrebărilor puse de vânzător este esenţială pentru succesul
afacerii. În termenii sistemului expert, secvenţa întrebărilor determină
ordonarea variabilelor. Un exemplu de regulă de tip ordonare a
variabilelor este,
IF
Nivelul venitului clientului este ridicat
THEN
Clientul solicită un produs de firmă
Importanţa regulii: 0.5.
Exemplu de regulă de ordonare a variabilelor
79
80
82
83
85
86
87
97
98
clauses
negustor(zosima).
negustor(daniil).
negustor(teofan).
nume(zosima).
nume(daniil).
nume(teofan).
castig(X,hamal,mare):-not(X=zosima).
locuinta(teofan,negustor,teopomp).
locuinta(X,hamal,mijloc):-nume_profesie(X,hamal).
locuinta(X,negustor,prusa):-not(castig(X,hamal,mare)).
nume_profesie(X,hamal):-negustor(X),
locuinta(X,negustor,prusa).
nume_profesie(X,calauz):-nume(X),
not(X=daniil),
not(nume_profesie(X,hamal)).
nume_profesie(X,conducator):-nume(X),
not(nume_profesie(X,calauz)),
not(nume_profesie(X,hamal)).
101
Fig. 4.2.
102
3. Interogarea
Goal: supervizeaza(geo, andrei).
este tratată conform reprezentării din figura 4.4. Procesul rezolutiv
generează subscopurile manager(geo) şi functionar(andrei), în cadrul
primei clauze supervizeaza. Subscopul manager(geo) reuşeşte, deci este
rezolvat şi functionar(andrei). Sistemul Prolog încearcă potrivirea
functionar(andrei) cu fiecare din clauzele ale căror cap este functionar.
Deoarece scopul functionar(andrei) eşuează, prima clauză supervizeaza
eşuează şi ea. În continuare, este analizată cea de-a doua clauză super-
vizeaza care, de asemenea, eşuează, datorită faptului că functionar(geo)
(primul subscop) nu reuşeşte. Răspunsul sistemului este yes, deoarece, la
analizarea celei de-a treia reguli supervizeaza, subscopurile rezultate în
urma legării variabilelor X şi Y (X=geo şi, respectiv, Y=andrei) reuşesc.
103
Fig. 4.4.
104
Fig. 4.5.
106
110
111
112
113
114
116
118
119
domains
lista=integer *
predicates
membru(integer,lista)
verifica(lista)
clauses
membru(X,[X|_]).
membru(X,[_|T]):-membru(X,T).
verifica([]).
verifica([H|T]):-
membru(H,[0,1,2,3,4,5,6,7,8,9]),
verifica(T).
calcul_rezultat(Info,[H|T],R):-
prop(Info,H),
rezultat(Info,H,T,R).
calcul_rezultat(Info,[H|T],R):-
calcul_rezultat(Info,T,R).
123
prel_tot(Info,[],[]).
prel_tot(Info,[H1|T1],[H2,T2]):-
prel_unu(Info,H1,H2),
prel_tot(Info,T1,T2).
124
domains
lista=real *
predicates
concate(lista,lista,lista)
sublista(lista,lista)
invers(lista,lista)
ultim(lista,real,lista)
sterge(real,lista,lista)
clauses
concate([],L,L).
concate([H|T],L,[H|L1]):-
concate(T,L,L1).
sublista(S,L):-
concate(_,L2,L),
concate(S,_,L2).
ultim([],X,[X]).
ultim([H|T],X,[H|T1]):-
ultim(T,X,T1).
invers([],[]).
invers([H|T],L):-
invers(T,T1),
ultim(T1,H,L).
sterge(X,[X|T],T).
sterge(X,[H|T],[H|L]):-sterge(X,T,L).
Construirea unei liste în ,,corpul” unei clauze este cea de-a doua
variantă de reconstrucţie a unei liste. Tehnica este referită drept construcţie
prin acumulare şi presupune introducerea unei variabile suplimentare,
numită acumulator. Schema generală este următoarea.
prel_tot(Info,[],Acumulator,Acumulator).
prel_tot(Info,[H1|T1],Acumulator,Raspuns):-
prel_unu(Info,H1,H2),
prel_tot(Info,T1,[H2|Acumulator],Raspuns).
domains
lista=real *
predicates
invers(lista,lista)
invers_ac(lista,lista,lista)
clauses
invers(L,IL):-invers_ac(L,[],IL).
invers_ac([],IL,IL).
invers_ac([H|T],L,IL):-
invers_ac(T,[H|L],IL).
126
50
30 70
20 40 60 90
80
130
132
133
domains
data=d(integer,integer)
pret_mediu,volum=real
database tranz
tranzactie(data,pret_mediu,volum)
*
Zaharie ş.a., 1998.
136
137
predicates
cit_data(data)
cit_pret(pret_mediu)
cit_vol(volum)
adauga_tranz(char)
creare
clauses
cit_data(d(Z,L)):-
nl,
write("Ziua:"),readint(Z),nl,
write("Luna:"),readint(L),nl.
cit_pret(PM):-
nl,
write("Pret mediu:"),readreal(PM).
cit_vol(V):-
nl,
write("Volumul tranzactiilor:"), readreal(V).
adauga_tranz('N'):-!,nl,write("Incheiere introducere date; fisier
salvat"),
save("tran.dba").
adauga_tranz('D'):-
cit_data(D), cit_pret(PM), cit_vol(V),
assert(tranzactie(D,PM,V)).
creare:-write("Introduceti date?(D/N):"),readchar(R),
adauga_tranz(R),R='D',creare.
creare:-!.
database
tranzactie(data,pret_mediu,volum)
predicates
cit_data(data)
consultare
clauses
cit_data(d(Z,L)):-
nl,
write("Ziua:"),readint(Z),nl,
write("Luna:"),readint(L),nl.
consultare:-
consult("tran.dba"),
cit_data(D),
tranzactie(D,PM,_),
write("Pretul mediu:"),write(PM),nl,!.
consultare:-write("Nu exista inregistrare!!"),nl.
139
140
141
142
144
146
Întrebări de control
1. Care sunt caracteristicile limbajului Prolog?
2. Ce este o clauză Prolog?
3. Ce este un scop Prolog?
4. Ce este un predicat Prolog?
5. Ce sunt regulile Prolog?
6. Prezentaţi variabilele în Prolog.
7. Ce este spaţiul soluţiilor în Prolog?
147
148
*
Dorin Zaharie, Pavel Năstase, Felicia Albescu, Irina Bojan, Florin
Mihai, Liana-Anica Popa, Sisteme expert. Teorie şi aplicaţii, Editura Dual
Tech, Bucureşti, 2002.
149
*
Ioan Andone, Alexandru Ţugui, Sisteme inteligente în management,
contabilitate, finanţe-bănci şi marketing, Editura Economică, Bucureşti,
1999.
150
***
F., Puppe, Sistematic Introduction to Expert Systems. Knowledge
Representation and Problem-Solving, Springer-Verlag, Berlin, 1993.
152
153
157
158
*
www.exsys.com
159
163
164
166
169
Andone, I., Sisteme inteligente hibride. Teorie. Studii de caz pentru aplicaţii
economice. Ghidul dezvoltatorului, Editura Economică, 2002.
Andone, I.; Ţugui, Al., Sisteme inteligente în management, contabilitate, finanţe,
bănci şi marketing, Editura Economică, Bucureşti, 1999.
Awad, E.M. - Building Expert Systems. West Publishing Co., 1996.
Baker-Ward, L., Cognitive Science: An Introduction, Cambridge, MA: MIT Press,
1987.
Băjenescu, T., Performanţele inteligenţei artificiale, de la teorie la aplicaţii, Editura
Albastră, Cluj-Napoca, 2002.
Benchimol, G.; Levine, P., Pomerol, J.Ch., Sisteme expert în întreprindere, Editura
Tehnică, Bucureşti, 1993.
Bocu, D., Iniţiere în ingineria sistemelor soft, Editura Albastră, Cluj-Napoca, 2001.
Bodea, C. .N.; Creţu, A.A.; Scurtu, I., Sisteme cu bază de cunoştinţe pentru asistarea
deciziilor economice. Proiectare şi implementare în GoldWorks, Editura ASE,
Bucureşti, 2002.
Bodea, C., Inteligenţă artificială şi sisteme expert, Editura INFOREC, Bucureşti,
1998.
Botezatu, P., Introducere în logică, Editura Graphix, Iaşi, 1994.
Bratko, I., Prolog Programming for Artificial Intelligence, Second Edition, Addison-
Wesley, 1990.
Brna, P., Prolog Programming, A First Course, 2001.
Brule, F.B.; Blount, A., Knowledge Acquisition, McGraw Hill Book Company, New
York, 1999.
Burnham, W. D., Hall, A.R., Prolog Programming and Applications, Macmillan,
1987.
Cârstoiu, D.I., Sisteme expert, Editura All, Bucureşti, 1994.
Choffray, J.M., Sisteme inteligente de management, Diagnostic, analiză şi asistenţă a
deciziei, Editura Ştiinţă şi Tehnică, Bucureşti, 1997.
Collin, S.M.H., Dictionary of Computing, Peter Collin Publishing, London, 1998.
Cooper, A. , Proiectarea interfeţelor utilizator, Editura Tehnică, Bucureşti, 1997.
Davidescu, D.N., Utilizarea sistemelor expert în domeniul financiar-contabil, Editura
Didactică şi Pedagogică, Bucureşti, 1997.
171
173
backtracking, 4.2.
bază de date a sistemului expert, 1.2.1.
baze de date deductive, 2.6.
baze de date indexate, 4.7.2.
baze de date inteligente, 2.6.
baze de date interne, 4.7.1.
baze de date externe,4.7.2.
baza Herbrand, 2.6.
deducţia, 1.1.3.
DF, Depth First Search, metoda de căutare în adâncime, 4.2.
demonstraţii formale (derivări), 2.3.3.
disjuncţie, 2.1.
domeniul cunoaşterii, 2.1.
DSS, Decision Support Systems, sisteme informatice pentru asistarea
deciziei, 1.1.4.
implicaţie, 2.1.
implicaţie logică, 2.3.3.
indexare, 4.7.2.
inducţia, 1.1.3.
inferenţă, 1.2.1.
informatica inteligentă, 1.1.1.
inginer de cunoştinţe, 1.2.2.
instrumentelor inteligente de achiziţie a cunoaşterii, 3.3.
interfaţă cu utilizatorul, 1.2.1., 1.2.7., 3.4.
interogare Prolog, 4.2.
interpretare a afirmaţiilor logice, 2.4.1.
interviul, 2.2.
negaţie, 2.1.
neuron artificial, 1.3.2.
nivel conceptual al bazei de cunoştinţe, 1.2.2.
nivel faptual specific bazei de fapte, 1.2.3.
obiecte, 2.1.
observarea, 2.2.
perceptron, 1.3.2.
piese ale cunoaşterii, 1.2.3.
predicat, 2.1.
predicate de sistem, 4.7.2.
premisă, 1.1.3.
premisele argumentării, 2.3.1.
programare logică, 4.1.
propoziţie, 2.1., 2.3.
propoziţie atom, 2.3.
propoziţie compusă, 2.1., 2.3.1.
prototip, 5.2.
raţionament, 1.1.3.
raţionamentul artificial, 1.1.1.
raţionament bazat pe modele, 1.3.7.
raţionament fuzzy, 1.3.1.
178
scheme, 2.3.1.
schema de interpretare-intenţie, 5.1.4.
SDR, subarbore stâng – subarbore drept – rădăcină, 4.6.2.
selecţie (restricţie), 3.1.
set fuzzy, 1.3.1.
SGBDR, sistem de gestiune a bazelor de date relaţionale
SIAD, sistem informatic pentru asistarea deciziei, 1.1.4.
silogism disjunctiv, 2.3.1., 2.3.3.
silogism ipotetic, 2.3.1., 2.3.3.
simbol, 1.1.3.
sistem automat inteligent autoinstruibil (machine learning), 1.3.2.
sistem conexionist, 1.3.2.
sistem cu calcul evolutiv, 1.3.3.
sisteme de derivări, 2.3.3.
sistem expert neural,1.3.2.
sistem expert neuro-fuzzy, 1.3.2.
sistem holonic, 1.1.4.
sistem expert asistat de un sistem multimedia, 1.3.5.
sistem expert cu reguli de producţie, 3.1.
sisteme expert de control şi monitorizare, 1.1.4.
sisteme expert de diagnosticare, 1.1.4.
sisteme expert destinate previziunii şi planificării, 1.1.4.
sistem fuzzy, 1.3.
sistem hipermedia, 1.3.5.
179
180