Documente Academic
Documente Profesional
Documente Cultură
01 IA Suport Intro
01 IA Suport Intro
1
Introducere în inteligenţa artificială
1 Scurt istoric
1
operaţii aritmetico-logice, procesoarele urmau să realizeze inferenţe (raţionamente elementare),
viteza lor exprimându-se prin număr de inferenţe/secundă. Ca limbaj maşină, proiectul viza
utilizarea limbajului Prolog. După trecerea celor zece ani cât a durat proiectul, au fost raportate o
serie de succese, în special în domeniul hardware-ului paralel, dar au fost făcute mai puţine
referiri în ceea ce priveşte software-ul de prelucrare a cunoştinţelor.
Decada anilor '80 s-a caracterizat prin extinderea utilizării produselor de inteligenţă
artificială în mediul economic, prin diversificarea metodelor şi tehnicilor de lucru aplicate în
realizarea diferitelor sisteme inteligente. Realizatorii de instrumente software au diversificat
oferta de instrumente pentru generarea de produse de inteligenţă artificială. Totodată, au fost
soluţionate o serie de probleme legate de integrarea sistemelor de inteligenţă artificială cu diferite
tipuri de sisteme hardware şi software.
În prezent, cercetările în domeniul inteligenţei artificiale vizează în continuare
diversificarea metodelor şi tehnicilor de lucru, diversificarea platformelor hardware pe care să se
realizeze implementarea sistemelor de inteligenţă artificială, găsirea unor noi soluţii de realizare a
sistemelor distribuite de inteligenţă artificială, precum şi de hibridizare a sistemelor (de utilizare
combinată a mai multor categorii de metode şi tehnici).
ALGORITM
Comportament Comportament
“convenţional” “inteligent”
al maşinilor GENERAL PROBLEM al maşinilor
SOLVER
CUNOŞTINŢE
2
În sens informatic, cunoştinţele reprezintă informaţii care servesc la realizarea diferitelor
activităţi, oferind suport în rezolvarea problemelor. Deşi aspectul pragmatic este esenţial în
definirea conceptului de cunoştinţe, exprimarea acestora trebuie realizată relativ independent de
modul lor de utilizare, deoarece unele şi aceleaşi cunoştinţe pot fi utilizate în mod diferit pentru
rezolvarea diferitelor probleme sau chiar pentru aceeaşi problemă, dar în circumstanţe diferite.
Cunoştinţele constituie informaţii acceptate ca utile în atingerea anumitor scopuri.
Cunoştinţele prezintă, prin urmare, caracteristica de intenţionalitate legată de scopul utilizării lor,
precum şi de încredere în valabilitatea şi utilitatea aplicării acestora.
Cunoştinţele sunt informaţii corelate, integrate unui context specific, pentru care au
semnificaţie şi relevanţă şi în care sunt valabile şi aplicabile.
Informatica convenţională se bazează pe o reprezentare implicită a cunoştinţelor şi o
reprezentare explicită a modului de utilizare a acestor cunoştinţe. Algoritmul constituie de fapt o
schemă de aplicare a unor cunoştinţe care nu sunt menţionate în mod explicit, ci sunt prezente în
contextul de prelucrare în formă implicită.
Spre deosebire de această abordare, inteligenţa artificială a adoptat soluţia reprezentării
explicite a cunoştinţelor, într-o formă relativ independentă de modurile lor de utilizare. În aceste
condiţii, realizarea unui sistem bazat pe cunoştinţe presupune achiziţionarea şi reprezentarea
cunoştinţelor necesare efectuării anumitor activităţi, memorarea acestor cunoştinţe în cadrul
sistemului şi înzestrarea acestui sistem cu mecanisme care să permită aplicarea (utilizarea)
cunoştinţelor. Responsabilitatea deciziilor privind modul efectiv de utilizare a cunoştinţelor
revine sistemului însuşi, care la momentul execuţiei va lua, în mod automat, decizii privind CE
cunoştinţe, CUM şi CÂND să fie utilizate.
Sistemele bazate pe cunoştinţe dispun de o bază de cunoştinţe, de mecanisme de utilizare
a acestora, denumite mecanisme rezolutive, inferenţiale sau de raţionament, precum şi de
interfeţe, cea mai importantă fiind interfaţa utilizator (figura 2).
Mecanismele de
utilizare a cunostintelor
Baza de cunostinte (de rationament,
inferentiale)
Interfata
3
Mecanismele de
utilizare a cunostintelor
Baza de cunostinte (de rationament,
inferentiale)
Interfata
perceptii
Mediu
Agent
actiuni
Un agent raţional este un agent care face ceea ce trebuie, adică acţionează în scopul obţinerii
succesului. Raţionalitatea este asociată cu succesul aşteptat, luând în considerare ceea ce a fost
perceput. Pentru de defini succesul se utilizează o măsură a performanţei agentului. Prin urmare,
raţionalitatea unui agent este definită în funcţie de următoarele elemente (figura 5):
- măsura de performanţă, care defineşte gradul de succes ;
- secvenţa percepţiilor ;
- ceea ce ştie a priori agentul ;
- acţiunile pe care le poate realiza agentul.
Agentul raţional ideal reprezintă agentul care actioneaza astfel încât să-şi maximizeze
performanţa, pe baza informaţiilor despre mediu dobândite prin percepţii şi a cunoştinţelor
deţinute anterior.
4
Agent
Senzori
M
perceptii
E
D
Memorie (BC)
Alegere actiuni
U
actiuni
Efectori
Un program agent reprezintă o functie (un program) prin care se realizeaza trecerea de la
percepţii la acţiuni. Funcţia presupune existenta unei arhitecturi de implementare (hardware si
software). Prin urmare, agentul = arhitectura + programul.
stare INTERPRETARE(perceptie)
regula MATCHING-REGULA(stare, reguli)
actiune ACTIUNE-REGULA[regula]
return actiune
5
Structura generică a unui agent care memoreaza evolutia mediului este următoarea:
stare-tinta CEA-MAI-MARE-UTILITATE(stari-posibile,
utilitate-stari)
actiune IDENTIFICARE-ACTIUNE(stare, stare-tinta, rezultat-actiuni)
stare ACTUALIZEAZA-STARE(stare, actiune)
return actiune
Pentru agent, interacţiunea cu mediul reprezintă un aspect esenţial. Mediul are asociate o serie de
caracteristici, fiind caracterizat drept:
- Accesibil-inaccesibil
- Deterministic-nedeterministic
- Episodic-nonepisodic
- Static-dinamic
6
- Discret-continuu
repeat
for each agent in agenti do
PERCEPT[agent] GET-PERCEPT(agent, stare)
end
for each agent in agenti do
ACTION[agent] PROGRAM[agent](PERCEPT[agent])
end
stare UPDATE-EN(actiuni, agenti, stare)
until conditie-terminare(stare)
7
diagnosticare (tehnică, medicală, economică), analiză şi interpretare date, acordare de
semnificaţie pentru datele senzoriale, consultanţă, instruire, asistare a deciziilor tactice şi
strategice, toate reprezentând în esenţă probleme prost definite. Începe acum aşa numita perioadă
modernă a inteligenţei artificiale.
Domeniile inteligenţei artificiale reprezintă zone majore de aplicaţii ale inteligenţei
artificiale structurate conform tipurilor de activităţi considerate drept semnificative pentru acest
domeniu.
Prelucrarea limbajului natural cuprinde atât înţelegerea cât şi generarea mesajelor în
limbaj natural. Este considerat drept cel mai dificil domeniu al inteligenţei artificiale.
Comunicarea în limbaj natural presupune realizarea unor procese extrem de complexe şi încă
puţin cunoscute. Limbajul natural serveşte la vehicularea cunoştinţelor, sub formă de mesaje,
adesea foarte condensate. Înţelegerea limbajului natural este o problemă deosebit de complexă, de
decodificare a acestor mesaje. Un sistem software capabil să înţeleagă un mesaj în limbaj natural
ar trebui să posede tot atâtea cunoştinţe contextuale şi să efectueze tot atâtea prelucrări
informaţionale, câte au fost necesare celui care a redactat mesajul. În prezent, au fost decodificate
şi generate mesaje în limbaj natural pentru fragmente limitate de lexic
De prelucrarea limbajului natural sunt legate o serie de alte aplicaţii de inteligenţă
artificială, precum traducerile automate şi programarea automată. Programarea automată
presupune generarea unui program pe bază de specificaţii redactate un limbaj natural sau într-o
altă formă de nivel înalt. Într-un anumit sens, compilatoarele realizează o programare automată,
prin faptul că generează cod obiect pe baza unor enunţuri exprimate într-un limbaj formal
(limbajul de programare utilizat pentru scrierea programului sursă). Această formă de programare
automată nu este în spiritul a ceea ce se înţelege în cadrul inteligenţei artificiale prin programare
automată, întrucât nu este asigurată cerinţa ca specificaţiile să fie de nivel înalt. Scrierea oricărui
program este legată de demonstrarea faptului că programul respectiv determină obţinerea unor
rezultate corecte (verificarea programului). Toate sistemele de programare automată trebuie să
realizeze această verificare a programului generat.
Modelarea diferitelor forme de raţionament reprezintă un domeniu mai abstract, cu
aplicabilitate în cadrul altor domenii teoretice şi practice. Semnificative pentru acest domeniu
sunt modelarea raţionamentului inductiv, element de bază al sistemelor de învăţare automată şi
modelarea raţionamentului incert, esenţială în cadrul sistemelor expert. În cadrul modelării
raţionamentului, un rol important îl deţine demostrarea automată a teoremelor, tratată uneori drept
domeniu distinct.
Demonstrarea automată a teoremelor presupune abilitatea de a realiza deducţii, plecând
de la o serie de ipoteze, precum şi intuiţie, pentru stabilirea teoremelor anterior demonstrate a
căror utilizare este utilă în demonstraţia curentă. Multe activităţi curente, practice, precum
diagnosticarea, regăsirea informaţiilor pot fi formalizate drept probleme de demonstrare de
teoreme. Formalizarea procesului deductiv, utilizând logica predicatelor de ordinul întâi a
contribuit la mai buna înţelegere a diferitelor forme de raţionament.
Problemele de percepţie acoperă domenii precum vederea şi vorbirea artificială, cu
aplicabilitate în extinderea capacităţilor de interacţiune om-maşină. Problemele de percepţie se
pot încadra în domeniul mai larg al recunoşterii formelor. Conceptul de formă (pattern) este
extrem de general, nefiind limitat la formele vizuale sau auditive şi având semnificaţia de clasă,
de ansamblu cu anumite caracteristici. O aplicaţie importantă a recunoaşterii formelor este
clasificarea automată. Recunoaşterea formelor vizuale şi auditive ridică problema înţelegerii a
ceea ce semnifică forma văzută sau auzită. Această înţelegere este posibilă numai atunci când se
dispune de o mare cantitate de cunoştinţe referitoare la contextul în care se realizează percepţia.
Procesul de percepţie este descompus într-o serie de operaţii. De exemplu, perceperea unei scene
vizuale presupune codificarea scenei de către senzori, sub forma unor valori (date de intrare
brute), determinarea componentelor primitive de bază (linii, curbe etc.), determinarea
caracteristicilor spaţiale, de volum şi reprezentarea scenei printr-un model (o descriere de nivel
8
înalt). Aceste operaţii se bazează, fiecare pe un anumit nivel de descriere a scenei. Principala
dificultate de realizare a acestor operaţii o constituie numărul enorm de descrieri posibile,
candidate la fiecare nivel în parte. Pentru depăşirea acestor dificultăţi sunt definite clase
(categorii) de scene, urmând a se testa dacă ceea ce a fost perceput aparţine unei clase sau alteia.
Fiecare clasă de scene are asociate numeroase cunoştinţe, organizate de regulă în structuri
denumite frame-uri sau scheme.
Jocurile cu partener calculator reprezintă probleme combinatoriale, pentru care
încetinirea sau chiar împiedicarea exploziei combinatoriale a calculelor reprezintă aspectul
teoretic şi practic cel mai important de soluţionat. Cercetările în domeniul inteligenţei artificiale
au vizat obţinerea unor produse pentru care timpul de rezolvare să crească cât mai puţin în raport
de creşterea dimensiunii problemei. În acest sens, au fost definite o serie de metode de controlare
a exploziei combinatoriale. Elementul central în cadrul acestor metode îl constituie cunoştinţele
despre problemă.
Roboţii inteligenţi reprezintă acea clasă de sisteme fizice autonome care pot realiza
planificarea acţiunilor într-un mediu necunoscut sau numai parţial cunoscut. Controlarea
acţiunilor fizice ale roboţilor presupune utilizarea unor tehnici de modelare a stărilor mediului în
care acţionează robotul, mediu cunoscut sub numele de lumea robotului, a unor tehnici de
descriere a procesului de trecere de la o stare la alta, de generare a unor planuri de acţiune şi a
unor tehnici de monitorizare a execuţiei acestor planuri. Reprezentarea lumii robotului se poate
realiza prin frame-uri, reţele semantice etc. Planificarea acţiunilor se poate realiza pe baza unor
cunoştinţe exprimate prin reguli, de forma unor perechi stare-acţiune. Generarea unui plan de
acţiuni pentru atingerea unui anumit obiectiv înseamnă găsirea acelei secvenţe ordonate de reguli,
prin a căror aplicare să se transforme lumea din starea iniţială într-o stare în care obiectivul să fie
atins.
Sistemele expert reprezintă sistemele de inteligenţă artificială cu cel mai mare succes
comercial şi cu o largă difuzare în activitatea economico-socială curentă.
9
datorită naturii preponderent calitative, necuantificabile a informaţiilor. Pe de altă parte, se poste
vorbi de o extindere pe verticală, în sensul cuprinderii în actuala tehnologie informatică a noi
prelucrări, procese informaţionale, precum: evaluarea calitativă, raţionamentul, în sens general.
În al doilea rând, sistemele de inteligenţă artificială reprezintă un mijloc important de
dominare a complexităţii informaţionale. S-a sperat, şi progresele rapide ale tehnologiilor de
realizare a hardware-ului păreau să confirme acest lucru, că odată cu definirea unui algoritm şi
deţinerea unor procesoare de mare putere, acel algoritm poate fi utilizat pentru rezolvarea
problemelor concrete, indiferent de dimensiunea lor. Atât dezvoltările teoretice (teoria
matematică a complexităţii), cât şi dificultăţile practice întâmpinate în rezolvarea unor probleme
de dimensiuni mari au arătat însă că în lupta împotriva complexităţii informaţionale calea
algoritmică are limite clare
În al treilea rând, prelucrarea nealgoritmică a informaţiei in cadrul sistemelor de
inteligenţă artificială poate oferi soluţii mai productive unor probleme abordate şi rezolvate deja
şi în manieră convenţională, algoritmică.În domeniile în care datele şi cerinţele informaţionale se
modifică frecvent, soluţiile algoritmice se adaptează cu dificultate la aceste schimbări, uneori cu
un efort de reproiectare şi programare foarte important. Tehnologiile nealgoritmice permit o
adaptare perfectă la schimbările intevenite în volumul şi structura cunoştinţelor, a cerinţelor
informaţionale etc. O adaptare deosebită o prezintă sistemele inteligente şi la situaţiile cu
informaţie incompletă şi/sau imprecisă.
Soluţiile obţinute cu ajutorul acestor sisteme sunt în unele cazuri (precum cele obţinute
cu ajutorul sistemelor expert) soluţii de o calitate deosebită, prin faptul că se oferă posibilitatea
utilizării, în cadrul raţionamentului automat a regulilor euristice validate de practică, ce concură,
uneori cu succes abordările formale. Experţii umani exprimă de cele mai multe ori expertiza prin
afirmaţii de tipul “de obicei este adevărat că“ sau “se poate spune că“. Adesea, dificultăţile
constau nu atât în prelucrarea informaţiilor de fundamentare a deciziilor, cât în obţinerea acestor
informaţii şi evaluarea importanţei lor.
În situaţiile perfect cunoscute, cu informaţie completă şi precisă, este posibil de realizat
selectarea celei mai bune variante decizionale, dacă numărul alternativelor nu este foarte mare. În
practică însă, informaţiile sunt cel mai adesea incomplete şi incerte, presiunea în luarea deciziei
este mare (pericol iminent de pierderi semnificative, uneori dramatice). În domeniul
managementului, sistemele de inteligenţă artificială au dobândit o largă utilizare, deoarece pentru
orice funcţie managerială există probleme decizionale complexe, prost înţelese, dinamice, definite
prin criterii multiple şi contradictorii de selectare a alternativelor. Aceste probleme decizionale
reclamă utilizarea sistemelor de inteligenţă artificială.
Cel mai important impact al inteligenţei artificiale asupra mediului economic îl reprezintă
însă contribuţia adusă de aceasta la consolidarea conceptului de organizaţie bazată pe cunoştinţe
şi la definirea unor strategii coerente pentru managementul cunoştinţelor economice în cadrul
acestor organizaţii.
10