Conspect Inteligenta Artificiala

Descărcați ca pdf sau txt
Descărcați ca pdf sau txt
Sunteți pe pagina 1din 11

Cuprins

Cuprins
1. Noţiuni de Inteligenţă Artificială
Componentele şi domeniile Inteligenţei Artificiale
Aplicaţii ale IA
2. Fundamentele sistemelor expert
Arhitectura sistemelor expert
Aplicaţii ale sistemelor expert

1. Noţiuni de Inteligenţă Artificială


Inteligenţa artificială (IA) reprezintă un domeniu al informaticii care urmăreşte realizarea unor
sisteme care să reproducă (să imite) caracteristicile inteligenţei umane: înţelegerea
limbajului, învăţarea, raţionamentul, rezolvarea problemelor, recunoaşterea formelor etc. Ea
se află la confluenţa mai multor ştiinţe: informatica, ştiinţele cognitive, logica, neuroştiinţele
etc.
Inteligenţa naturală este definită [1] ca fiind “capacitatea de a învăţa sau înţelege din
experienţă, abilitatea de a achiziţiona şi memora cunoştinţe, capacitatea de a răspunde
rapid şi eficient la probleme noi, utilizarea facultăţii de a raţiona”. Altfel spus, inteligenţa
poate fi definită ca abilitatea de a achiziţiona cunoştinţe şi de a le utiliza folosind gândirea şi
raţionamentul.

Iată câteva dintre cale mai cunoscute definiţii ale IA:


1.
2. IA este legată de automatizarea activităţilor pe care noi le
asociem cu gândirea umană, activităţi cum ar fi rezolvarea problemelor,
luarea deciziilor, învăţarea (Bellman, 1978) [6].
3.
4. IA este legată de efortul de a face calculatoarele să
gândească, de a înzestra maşinile cu minte, în sensul cel mai literal
(Hangeland, 1985) [6].
5.
6. IA este studiul proceselor de calcul ce fac posibile percepţia,
raţionamentul şi acţiune (Winston, 1992) [6].
7.
8. Sistemele inteligente sunt acele sisteme care gândesc raţional şi
acţionează raţional (Russel şi Norvig, 1995) [1].

Problema poate fi simplificată dacă se dă o definiţie operaţională a unui sistem inteligent:


cum trebuie să se comporte un sistem pentru a fi considerat inteligent. Această definiţie a
fost dată de Alan Turing care a conceput în 1950 celebrul test ce-i poartă numele. Testul
Turing este următorul [6]: se consideră un “joc de imitaţie”, la care participă trei jucători.
Jucătorul A este un bărbat iar jucătorul B este o femeie. Jucătorul C (judecătorul) comunică
printr-un sistem de teleimprimare cu A şi B, fără să-i poată vede pe aceştia. Jucătorul C
trebuie să decidă, prin întrebări adresate celorlalţi doi, care este bărbat şi care este femeie.
Scopul lui A este să-i faciliteze lui C o identificare corectă pe când scopul lui B este să
provoace o identificare eronată. Dacă în locul unui bărbat şi a unei femei se pun un om şi o
maşină, aceasta poate fi considerată inteligentă dacă C nu poate decide care este omul şi
care este maşina. O altă variantă constă în înlocuirea lui C cu un sistem artificial şi dacă
acesta face corect identificarea femeii şi a bărbatului, se spune că este un sistem inteligent.

Componentele şi domeniile Inteligenţei Artificiale

Aşa cum s-a putut vedea în secţiunile anterioare, IA ca ştiinţă are o vârstă relativ mică şi
acest lucru se manifestă şi printr-o oarecare neclaritate a frontierelor sale. Figura 1.1.
prezintă sintetic un punct de vedere asupra componentelor IA. În sinteză, se pot face
următoarele afirmaţii [3]:
IA simulează raţionamentele de gândire ale creierului uman prin intermediul unor
reguli de raţionament aplicate succesiv prin intermediul unui sistem de calcul şi a unui nou
mod de programare de tip declarativ ce utilizează conceptele de reguli, fapte şi motoare de
inferenţă (MI). Apare astfel un nou domeniu al informaticii - informatica simbolică -
caracterizat prin limbaje specializate (LIPS, PROLOG) şi concepte specifice.
Domeniile (componentele) clasice ale IA sunt:

interfeţele, ce asigură:
- percepţia vizuală;
- imagine pe calculator;
- tratarea automată a cuvintelor;

raţionamentele, cuprind:
- sisteme expert;
- demonstrarea teoremelor;

instrumentele, conţin:
- baze de cunoştinţe;
- reprezentarea cunoştinţelor;
- maşini specializate / maşini LISP.

De asemenea, la intersecţia acestor domenii, IA mai conţine:


- traducerea automată;
- înţelegerea limbajelor naturale;
- metodologie-ajutor în programare;
- baze de date deductive.
Aplicaţii ale IA

Componentele IA ilustrate în fig. 1.1. sugerează şi principalele domenii de aplicaţie ale IA


[1]:
1. Rezolvitoare generale de probleme
2. Sisteme expert
3. Prelucrarea limbajului natural
4. Recunoaşterea formelor
5. Robotica
6. Învăţământul asistat de calculator

2. Fundamentele sistemelor expert


Sistemele expert (SE) reprezintă, alături de reţelele neuronale artificiale (RNA), o ramură a
Inteligenţei Artificiale (IA) care s-a impus prin aplicaţii comerciale în ultimul deceniu.

O altă definiţie este dată de profesorii I. Giarratano şi G. Riley (NASA): “ Un sistem expert
este un sistem care emulează abilitatea de a lua decizii a expertului uman” [1].
În sfârşit după Farrey H. “ sistemele expert sunt programe, dar pot fi tot atât de bine
maşini cu software, destinate să înlocuiască sau să asiste specialistul în domeniile unde
este recunoscută necesitatea expertizei umane” [1].
O sinteză a definiţiilor SE conduce la următoarele idei [1]:
- sistemele expert urmăresc reconstituirea raţionamentului uman pe baza expertizei
preluate de la experţii umani;
- sistemele expert posedă cunoştinţe şi capacitate de a face raţionamente;
- sistemele expert sunt concepute pentru achiziţia şi exploatarea cunoaşterii dintr-un
domeniu particular, numit domeniul problemei;
- sistemele expert se bazează pe principiul separării cunoaşterii de programul care
tratează această cunoaştere.
Arhitectura sistemelor expert

Scopurile principale avute în vedere la realizarea unui sistem expert sunt:


1.
2. achiziţionarea uşoară a cunoaşterii, prin prelucrarea cât mai
simplă a expertizei de la experţii umani;
3.
4. exploatarea eficientă a colecţiei de cunoştinţe;
5.
6. uşurinţa de a efectua diverse operaţii (adăugare, modificare,
eliminare) asupra cunoştinţelor.
Pentru realizarea acestor obiective, structura unui sistem expert cuprinde
următoarele componente esenţiale (fig. 2.2.):
a) Baza de cunoştinţe în care sunt stocate piesele de cunoaştere specifice unui
domeniu. Această bază de cunoştinţe trebuie să satisfacă scopul al treilea.
b) Motorul de interferenţe - este un program care exploatează baza de cunoştinţe
şi este destinat combinării şi înlănţuirii cunoştinţelor pentru a infera noi cunoştinţe prin
judecăţi, planuri, demonstraţii, decizii şi predicţii.
c) Interfaţa de dialog cu utilizatorii care dispune şi de un limbaj de exprimare a
cunoaşterii achiziţionate de la experţii umani.
Fig. 2.2. Reprezentare simplificată a unui sistem expert

În afara acestor componente de bază, un sistem expert trebuie să asigure:


- achiziţia şi modificarea pieselor de cunoaştere;
- interacţiunea cu utilizatorul în timpul lucrului;
- explicarea raţionamentelor făcute.
Ca urmare apar încă două componente ale sistemului expert:
d) Modulul de achiziţionare a cunoaşterii - care ajută utilizatorul expert să introducă
cunoştinţe într-o formă recunoscută de către sistem.
e) Modulul explicativ furnizează, la solicitarea utilizatorului, explicaţii asupra
desfăşurării proceselor inferenţiale.
Trebuie subliniat că sistemele expert nu interacţionează numai cu utilizatorul uman,
în cadrul sistemului informaţional general al organizaţiei. El poate fi apelat sau poate apela
programe externe, poate folosi senzori, baze de date etc. Ca urmare, arhitectura completă a
unui sistem expert este prezentată în figura 2.3.

Fig. 2.3. Arhitectura unui sistem expert şi modul de interfaţare. Sursa:[1], pag.44

În continuare vom detalia fiecare din modulele prezentate mai sus.


Baza de cunoştinţe conţine informaţii preluate de la experţii umani în legătură cu
domeniul problemei constând în situaţii evidente, fapte, euristici. În general o bază de
cunoştinţe poate conţine informaţii relevante de diverse tipuri: fapte, euristici, reguli, atribute sau
relaţii (fig. 2.4).
Fig. 2.4. Exemplificare a informaţiilor dintr-o bază de cunoştinţe. Sursa: [20].

În cazul, foarte răspândit, al SE bazate pe reguli de producţie, baza de cunoştinţe


este formată din două componente: baza de fapte şi baza de reguli.
Motorul de inferenţe este un program sau un circuit integrat microprogramat,
capabil de inferenţe asupra bazei de cunoştinţe. Scopul urmărit este prelucrarea cunoaşterii
pentru soluţionarea problemei. Dacă SE se bazează pe reguli de producţie, motorul de
inferenţe se mai numeşte şi interpretor de reguli. Componentele motorului de inferenţe sunt:

● sistemul de administrare al bazei de cunoştinţe, care efectuează operaţii de
organizare automată, control şi actualizare a cunoştinţelor;

● procesorul de inferenţe simbolic care oferă metoda de prelucrare ce
furnizează liniile de raţionament.
Structura motorului de inferenţe este independentă de baza de cunoştinţe şi este
aceeaşi pentru structuri de probleme similare [1].
Interfaţa de dialog cu utilizatorii - asigură accesul utilizatorilor la faptele şi
cunoştinţele din bază. Prin intermediul acestei interfeţe se face achiziţia cunoaşterii de la
experţi şi dialogul cu utilizatorii în timpul sesiunilor de lucru. Este de dorit o interfaţă
prietenoasă, cât mai apropiată de limbajul natural, cu texte, imagini grafice, etc. În momentul
de faţă interfeţele reale sunt departe de limbajul natural, fiind bazate pe meniuri, comenzi,
pictograme, cutii de dialog.
Modulul de achiziţie al cunoaşterii - permite utilizatorului expert şi cognoticianului
să introducă şi să actualizeze cunoştinţele într-o formă recunoscută de sistem.
Modulul explicativ - oferă explicaţii despre procesul inferenţial, despre soluţiile
obţinute, în sesiunile de consultare.
Deşi structura sistemelor expert, aşa cum a fost prezentată mai sus, pare relativ
simplă, realizarea unui sistem expert este o muncă complexă cu două activităţi dificile:

● extragerea cunoaşterii şi a metodelor experţilor umani;

● reformularea cunoaşterii şi a metodelor într-o formă organizată, în scopul
utilizării ulterioare.
Aceste activităţi poartă numele de achiziţia şi reprezentarea cunoaşterii în care sunt
implicaţi experţii umani şi inginerii de cunoştinţe (cognoticieni).
Putem acum sintetiza câteva trăsături semnificative ale sistemelor expert:

● în SE există o distincţie între cunoştinţe şi mecanismele ce manipulează
aceste cunoştinţe;

● în SE se utilizează reguli, spre deosebire de programele clasice care
folosesc instrucţiuni;

● SE rezolvă problemele prin manipularea simbolurilor şi nu prin calcule
matematice.
Cercetătorul Watterman [1] arată că sistemele expert trebuie să aibă cele patru
caracteristici de bază ilustrate în figura 2.5.
Folosirea unui sistem expert implică trei etape fundamentale (vezi şi capitolul 6):

● Dezvoltarea sistemului - prin obţinerea bazei de cunoştinţe de la experţi.
Această cunoaştere este separată în cunoaştere declarativă (actuală) şi
cunoaştere procedurală (reguli). În această etapă se construieşte şi motorul de
inferenţe, modulul explicativ, modulul de achiziţie, interfeţele, etc. În mod
frecvent pentru dezvoltarea sistemului expert se foloseşte un generator de
sisteme expert (shell).

● Consultarea sistemului, care se face la iniţiativa unui utilizator care
adresează întrebări sistemului şi eventual răspunde unor întrebări ale acestuia.
Motorul de inferenţe este cel care realizează rezolvarea problemei puse de
utilizator. În momentul de faţă consultarea unui sistem expert impune prezenţa
utilizatorului în faţa unui terminal informatic ce permite dialogul cu
sistemul expert.

● Îmbunătăţirea sistemelor expert, prin adăugarea de noi cunoştinţe,
ameliorarea interfeţelor etc.
Aplicaţii ale sistemelor expert

Nr. crt. Funcţia Specificaţia

CONTROL Controlul
1 ŞI automat
MONITORIZARE inteligent al sistemelor

DEPANARE Recomandă
2 ŞI corecţii ale
REPARARE deficienţelor funcţionării
sistemelor

PROIECTARE Proiectarea
3 produselor şi
sistemelor

DIAGNOSTIC Localizează
4 ŞI erorile de
ÎNTREŢINERE funcţionare şi recomandă
corecţiile necesare

INSTRUIRE Îmbunătăţeşte
5
performanţelor celor care
învaţă folosind strategiile
CAI
(Computer Aided
Instruction). Tutori inteligenţi
INTERPRETARE Clarificarea
6 unor situaţii,
inferarea semnificaţiilor
situaţiilor noi pe
baza
semnalelor de la senzori

PLANIFICARE Dezvoltă
7 scheme de
activitate orientate spre
scop

PREDICŢIE Inferarea
8 unor situaţii
probabile pe baza
informaţiilor deja cunoscute

SIMULARE Deducerea
9 consecinţelor
acţiunilor sau evenimentelor
declanşate de către

sistemul însuşi

CLASIFICARE Organizarea
10 entităţilor
(TAXONOMIE) (obiectelor) pe
clase/categorii

SELECŢIE Identificarea
11 celei mai
bune alternative dintr-o listă
de posibilităţi
Din punct de vedere al interacţiunii cu experţii umani, sistemele expert pot fi utilizate în
următoarele moduri [1]:
a) înlocuirea completă a expertului uman:

b) înlocuirea parţială a expertului uman:

c) asistarea expertului uman:

d) asistarea unei aplicaţii informatice clasice:

e) integrarea într-o aplicaţie informatică clasică:


f) interfaţă de intrare într-o aplicaţie informatică:

g) interfaţă de ieşire dintr-o aplicaţie informatică:

h) utilizarea în scop de instruire şi documentare:

În tabelul 2.3. sunt prezentate exemple de sisteme expert folosite în gestiune, finanţe
şi contabilitate.

S-ar putea să vă placă și