Sunteți pe pagina 1din 40

PROGRAMAREA LOGIC ăă

ŞI
INTELIGEN ăARTIFICIAL

Scopul principal al cursului :


Însusirea ideilor fundamentale despre Ineligen a
Artificială şi ideilor fundamentale despre
programarea logica, familirizarea cu structurile
avansate limbajului Prolog pentru implementari
practice a sistemelor de Inteligen ă Artificială.

Cursul prevede:
45 de ore de curs si conferin e
30 de ore luctări de laborator
Examen (intermediar, final ) 1
Inteligen a artificial : ştiinta si/sau inginerie ?

Dpdv istoric, denumirea oficială a domeniului este


“Inteligenţa artificială” –IA a fost propusă in cadrul
seminarului de vară de la Dartmouth College în 1956 de către
cercetatorul american John McCarthy. La aceasta conferin ă
se intilnesc primii patru mari ini iatori ai domeniului:
John McCarthy, Marvin Minsky,
Alen Newell şi Herbert Simon

2
Inteligen a artificial : ştiinta si/sau inginerie ?
Dpdv istoric, denumirea oficială a domeniului este
“Inteligen a Artificială” – IA. Aceasta a fost propusă în
cadrul seminarului de vară de la Darmuth College USA ăn
1956 de către cercetatorul american John McCarthy.
IA este atît ştiinţa cît şi inginerie.
–Obiectivul ştiinţific: in elegerea principiilor care
stau la baza comportamentului inteligent al
sistemelor naturale sau artificiale.
–Obiectivul ingineresc: dezvoltarea metodelor şi
tehnologiilor pentru proiectarea şi construirea
3
unor sisteme inteligente artificiale.
Ce este inteligenta artificiala?

Defini ia sa termenul Inteligenţa artificială (IA)


este traducerea din limba engleгă a sintagmei
Artificial Intelligence şi se referă la un domeniu de
cercetare, în general în cadrul informaticii,
tehnologiei informa iei sau ştiin ei calculatoarelor,
care se ocupă cu studiul şi proiectarea agenţilor
inteligenţi.

4
Conceptul de agent

Un agent inteligent este o entitate software care


caută în mod activ modalită i de a-şi finaliгa
sarcinile.
Agen ii inteligen i au capacitatea de a dobîndi
cunoştin e prin intermediuil proceselor de solu ionare
a problemelor.

Agent = percepţie + raţionament + acţiuni


5
Conceptul de agent.Exemple
Robot:
percepţie= sistem de senzori,
acţiune= sistem de actuare,
raţionament = sistem de calcul
Sistem Expert:
percepţie= utiliгator uman care furniгeaгă
descrierea problemei,
acţiune = utiliгator uman care reгolvă problema
Infobot:
un robot care “trăieşte” în mediul informa ional
6
Conceptul de agent. Întrări
• Cunoastere apriorica despre lumea inconjuratoare

• Experiente trecute care constituie surse de invatare

• Obiective care trebuie realizate si metode de


evaluare a ceea ce este mai important de realizat la
un moment dat

• Observatii referitoare la mediul inconjurator si la


propria stare (introspectie) 7
Conceptul de agent

8
Exempleădeăagen i:

9
Cunoaştere
Rezolvarea problemelor ce necesită inteligen ă cere şi un
mare volum de cunoaştere.

Cunoaşterea = mul imea ideiilor, faptelor, principiilor şi


modelelor referitoare la un anumit domeniu sau la rezolvarea
unei probleme , la un moment dat de timp.

Una di sarcinile principale ale IA este studiul achiziţiei,


reprezentării şi utilizării cunoaşterii în scopul construirii
sistemelor inteligente.
10
Logica si rationament
• Pentru specificarea precisă(formală) a semnifica iei
unei repreгentări a cunoaşterii vom apela la logica
matematică.

• Limbajul logicii este deja intens deгvoltat şi studiat


de matematicieni şi filosofi

• Logica matematica stă la baгa ştiin ei


calculatoarelor (programare logică, verficare
formală, sinteвa logică a sistemelor hardware, etc)
11
Sisteme de reprezentare si rationament
Utilizarea cunoasterii in IA se face cu ajutorul unui sistem de
reprezentare si rationament – SRR (engl.representation and
reasoning system).
SRR = sintaxa+ semantica+ rationament
– Sintaxa(formalism de reprezentare) este un limbaj de
comunicare cu sistemul de calcul
– Semantica – este o modalitate de a asocia semnificatii
simbolurilor
– Raţionament - proceduri pentru rezolvarea problemelor si
calculul rezultatelor
• Ar putea fi considerate SRR:
-Limbaje de programare – nivel prea coborat 12
- Limbajul natural – nivel prea inalt
Sisteme bazate pe cunoştin e

13
Structura unui sistem inteligent

14
Ce reprezint ăInteligen aăArtificial ă?

• Simularea inteligenței umane ?

• Emularea inteligenței umane ?

Marvin Minsky , intrebat ce este inteligenta


artificială, a răspuns:

"Exista întotdeauna persoane care au nevoie sa


definească totul pentru a realiza ceva. De ce?"
15
Ce este inteligenta artificiala?
Dacă ve i pune această întrebare la10 informaticieni,
ve i primi 10 răspunsuri diferite. Exemple:

• Inteligenţa artificială este studiul facultaţilor


mentale pe baza modelelor computaţionale.

• Inteligenţa artificială este studiul procesului prin


care calculatoarele pot fi instruite sa facă
lucruri care, pentru moment, sînt facute mai bine
de oameni.
16
Ce este Inteligen a Artificial ?

•"AI is the attempt to make computers do what


people think computers cannot do."
Douglas Baker

• IA este stiinţa care îsi propune să găsească soluţii


la probleme complexe care erau apanajul
inteligenţei umane, cu ajutorul programelor de
calculator sau a maşinilor automate.

17
Ce este inteligenta artificiala?

• Inteligenta artificiala este domeniul ştiinţei


calculatoarelor care se ocupă de studiul şi
crearea sistemelor de calcul şi a programelor
care prezinta o formă de inteligenţă.

• Inteligenţa artificială este studiul ideilor care


permit calculatoarelor să fie inteligente.


18
Inteligen a artificial : defini ii
• IA - Studiul principiilor, modelelor si metodelor de
realizare a sistemelor inteligente artificiale prin intermediul
sistemelor de calcul, în sensul reproducerii
comportamentului inteligent al sistemelor inteligente
naturale.

• IA=Agenţi inteligenţi şi/sau sisteme bazate pe cunoştinţe

• Sisteme de Inteligenţă Artificială (SIA) includ oameni,


proceduri, hardwaru-ul, softwair-ul, date şi cunoştintele
necesare dezvoltarii sistemelor si maşinelor care
demonstreaza caracteristici specifice inteligenţei. 19
Ce este inteligenta artificiala?
Se poate observa din aceste definiţii că anumite
curente de opinii privesc IA ca o modalitate de cercetare,
descoperire şi simulare a modului de funcţionare a
inteligenţei umane.

Un program inteligent este un program care manifestă


o comportare similară cu aceea a omului cînd este
confruntat cu o problemă similară.

Dar nu este necesar ca programul să rezolve sau să


incerce sa rezolve problema in acelaşi mod in care ar
rezolva-o oamenii.
20
Scurt istoric

• 1960 – apar primele programe inteligente cuprinse în


lucrarea General Problem Solver scrisă de Newell care
demonstrau teoremele de logică.
• 1965 - IA este domeniul care se ocupă cu studiul
conceptelor care permit ca maşinile să fie inteligente.
• 1981 - IA este definită ca un domeniu al informaticii care
îşi propune crearea unor sisteme de calcul inteligente
care să posede acele caracteristici care sunt asociate în
general cu inteligenta umană:raţionament, capacitate de
învăţare şi de comunicare.
21
Scurt istoric

• La începutul anilor ’80 IA a suferit a dezvoltate


considerabilă prin succesul comercial al sistemelor
expert (primele construite fiind în domeniul
medical). Sunt deja apărute limbaje de programare
dedicate acestui domeniu: Prolog, Lisp.

• În anii 1990 apar noi tehnici de aplicație: rețele


neuronale artificiale, algoritme genetice și altele.

22
Scurt istoric

• În mai 1997 Deep Blue este primul calculator


dedicat jocului de șah care îl învinge pe multiplul
campion de șah Garry Kasparov.

• În 2005, un robot construit la Stanford University,


cсștigă o cursă de conducere a unui automobil:
Defense Advanced Research Projects Agency
Grand Challenge demonstrсnd încă o dată că
inteligența poate fi implementată întro mașină.
… 23
Ce este inteligenta artificiala?
Deşi IA ca stiin ă, este considerată, în general,
ca o ramură a Informaticii, Tehnologiei Informaţiei
sau a Stiinţei Calculatoarelor, trebuie să eviden iem
legăturile sale puternice cu alte stiin e, cum ar fi
Matematica (Logica, Teoria probabilită ilor),
Psihologia (Inteligen a umană, Teoria învă ării),
Medicina (Neuroştiin ele), Gnoseologia (Teoria
cunoaşterii), Biologia, Filozofia, Linguistca şi multe
altele.

Abilitatea de a combina cunoaşterea din toate


24
aceste domenii duce la progres în crearea IA.
Contribuţii remarcabile în istoria IA:

1. George Boole (1815-1864): a pus bazele matematice ale


calculatoarelor (algebra booleană, logica booleană);
2. Alan Turing (1912-1954): considerat ca primul părinte al IA
(test Turing, masina Turing etc.);
3. Warren S. McCulloch (1899-1969): considerat de unii ca al
doilea părinte al IA (re ele neurale, „poker chip”);
4. Walter Pitts;
5. John McCarthy (n. 1927): a dat numele si prima defini ie
pentru IA, contribu ii (Lambda Calculus, Lisp);
6. Allen Newell;
7. Herbert Simon;
8. Marvin Minsky; (teoria frăimurilor)
9. Lotfi A. Zadeh (n. 1912) (logica vagă)
10. s.a. 25
Domeniile în care se foloseşte IA
• Reprezentarea cunoştintelor, inclusiv ontologii
/Web semantic/Web social (Web 2.0, Web 3.0)

• Raţionament de bun simţ

• Reţele neuronale (simuleaгă inteligen a prin


reproducerea tipurilor de conexiuni fizice care se
gasesc in creierul biologic)

• Agenţii (sunt entitati computerizate care actioneaza


in locul operatorilor umani)

• Jocuri 26
Domeniile în care se foloseşte IA

• Percepţie: vedere artificiala, recunoaşterea vorbirii


• Intelegerea limbajului natural
• Sinteza automata a vorbirii
• Expertiza (Sisteme Expert):
inginerie, medicina, analiza financiara,
sisteme de suport a decizie, predictie, etc.
• Roboţi
• Matematica, calcul simbolic, demonstrarea
automata a teoremelor…
27
O discutie precisa despre natura, specificul si modalitaţile de
rezolvare a problemelor de inteligenţa artificială trebuie să
considere urmatoarele patru intrebari importante:

1. Este posibilă simularea comportamentului inteligent pe


calculator?

2. La ce nivel se incearca modelarea comportamentului


inteligent?

3. Care este criteriul pe bază căruia se apreciază inteligenţa


unui program?

4. Care sunt reprezentările şi tehnicile utilizate în rezolvarea


problemelor de IA ?
28
Aprecierea comportamentului inteligent
Cel mai celebru criteriu de apreciere a inteligenţei
unui program, deci criteriul care ar putea răspunde la
intrebarea (3), este testul Turing.

In 1950, Alan Turing (1912-1954), celebru


matematician britanic şi unul dintre intemeietorii ştiinţei
calculatoarelor, a propus un test pentru a determina dacă o
masină poate avea sau nu un comportament inteligent
(publicat intr-un articol in revista de filosofie Mind in1952)

Turing a pus pentru prima oară problema posibilitaţii


simulării gîndirii umane cu ajutorul calculatorului.
29
Testul Turing const din urmatorul
experiment
Un om comunică prin intermediul unui terminal al
calculatorului cu alte două terminale, situate in camere
invecinate, punînd intrebări şi obţinînd răspunsuri.

Răspunsurile sunt date de o persoana la unul din cele


două terminale ascunse şi de un program la celalalt
terminal.

Dacă interogatorul nu poate stabili în urma dialogului care


este terminalul de unde i-a raspuns omul si care este cel de
la care i-a raspuns programul atunci programul are o
comportare Inteligentă.
30
Jocul imita ieiăpropusădeăTuring
cuprinde 2 faze.
1- interogatorul, un bărbat şi o femeie, sunt puşi în
camere separate şi pot comunica doar prin mediu
neutral, cum ar fi un terminal la distanţă.

Obiectivul interogatorului este de a-şi da seama care


este femeia şi care este bărbatul doar din întrebările pe
care le adresează celor doi.

2 - omul este înlocuit cu un calculator programat să


inducă în eroare interogatorul.

31
Testul Turing:

32
TestulăluiăTuringăareădou ăcalit iă
remarcabile ce îl fac universal:

• Prin menţinerea comunicaţiei dintre om şi masină prin


intermediul terminalelor, testul ne furnizează un punct de
vedere standard obiectiv asupra inteligenţei. Se evită
dezbaterile despre natura umană a inteligenţei şi elimină
orice înclinare în favoarea omului.

• Testul este destul de independent de detaliile


experimentului. Poate fi realizat fie ca un joc în 2 faze
sau având doar o fază, în care interogatorul trebuie să
aleagă între un om şi masină.
33
Testul Turing

Pîna la ora actuală nici un program nu a


reuşit sa treacă testul Turing !!!

Cu toate acestea, testul Turing permite o


masură a performanţelor unui program în
domenii restrinse ale discursului ( jocuri şah,
dame, extertiza şi a.).
34
Tehnici ale Inteligen eiArtificiale

• Sistemele expert (Expert System)

• Reţele neuronale artificiale


(Artificial neural networks)

• Mulțimile și logica fuzzy (Fuzzy sets și Fuzzy logic)

• Algoritmi genetici (Genetic algorithms)

35
Stadiul cercetărilor in Inteligenţa Artificială
În urma cercetarilor din ultimii ani, calculatorul este capabil
• Să realizeze raţionamente şi sa descopere legaturi logice
intre fapte descrise corect prin propozitii.
• De asemenea, calculatorul este capabil să inveţe din
propriile greşeli şi să interacţioneze cu un utilizator.

Folosindu-se de aceste performante, omul a creat computere


şi programe specifice care să lucreze pentru el, să-i rezolve
ecuaţii complicate, să proceseze baze de date cu sute de mii
de inregistrări, să-l ajute în proiectarea si producerea unor
echipamente tehnice avansate etc.
36
Stadiul cercet rilor in Inteligen a Artificial
Inteligenţa şi informaţia nu pot fi separate una de alta.
Oamenii sunt capabili sa furnizeze o informa ie utilă,
dau dovadă de inteligentă, de competen ă, dar sunt limita i in
cunoaştere.
Sistemele informatice clădite în jurul unor baze de date
înglobează acest tip de competen ă, dar nu au ra ionamentul
nativ al omului.
Deosebirea constă în proprietă ile echipamentului
electronic ce permite multiplicarea compe entei respective de
mii de ori, oferind şi o inteligentă multiplicată. Această
inteligenţă, astfel creată, este mult mai ieftină si precisă decît
cea umană, putînd fi reprodusă mecanic la nesfarsit.
37
Stadiul cercet rilor in Inteligen a Artificial
inînd cont de explozia performan elor componentelor
electronice şi a calculatoarelor în general, este evident că
termenul de Inteligen ă Artificială va capata noi valen e in
anii urmatori.

In viitor computerele vor dispune de Inteligentă


Artificială, dar, in mod sigur, diferită de cea umană.

La nivelul de cunoaştere actual, pentru oameni este


aproape imposibil de imaginat ce forma de inteligenţă va
avea entitatea virtuală aflată in memoria unui computer.
38
Materiale curs
• Cotelea Vitalie. Programarea în logică. Chişinău: Nestor, 2000
• L.Luchianova, V.Lazu, “Programarea Logică sс şi Inteligen a
Artificială”, Editura “Tehnica-UTM”, 2014
• Ioan Dzitac, InteligenŃă artificială, Editura UniversităŃii „Aurel
Vlaicu”, 2008
• Volovici, D. - "Inteligen ă artificială şi sisteme expert"
Editura Universită ii din Sibiu, Sibiu, 1997.
• Б ат И. П а а а я ы Prolog я
а. М.:М , 1990.
• Malita, M.; Malita, M. - "Baгele inteligen ei artificiale.
Logici propoгi ionale" - Editura Tehnică, Bucuresti, 1987
• Сте и г Л., Ша и Э. И а а я а
яы П : П . а . М. : М , 1990
• Carcea L. Sisteme expert. Ciclu de prelegeri.
UTM,Chisinau,1998
• ... 39
Materiale curs

Articole on-line
• "Computing Machinery and Intelligence", Turing, A.M. Mind, 59,
1950, 433-460.

• "AI's Greatest Trends and Controversies", IEEE Intelligent Systems


January/February 2000.

• "A Framework for Representing Knowledge", Marvin Minsky, MIT-AI


Laboratory Memo 306, June, 1974.

• S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach,


Prentice Hall, 2002, http://aima.cs.berkeley.edu/ ...
• …
40