Universitatea Politehnica Bucuresti – Facultatea de Automatica si Calculatoare
REZUMAT
Dezvoltarea spectaculoasa a calculatoarelor in ultimii cincizeci de ani a permis
cercetatorilor in domeniu sa incerce utilizarea calculatoarelor pentru probleme din ce in ce mai dificile si din ce in ce mai apropiate de complexitatea problemelor solutionate de om, fapt ce a dus la aparitia unui nou domeniu al stiintei calculatoarelor: inteligenta artificiala. In ziua de azi aceasta denumire acopera mai multe subcategorii care s-au evidentiat de-a lungul anilor, printre care se pot enumera recunoasterea formelor si a vorbirii, retele neurale, robotica, extragerea textului din imagini, etc.
sistemelor de calcul si a programelor care
1. INTRODUCERE prezinta o forma de inteligenta: sisteme care invata noi concepte, care pot rationa si deduce concepte utile intr-un domeniu al lumii Cum se poate defini inteligenta aritficiala? Exista inconjuratoare, sisteme care pot intelege limbajul numeroase definitii sau incercari de a prezenta natural sau percepe si intelege un peisaj, intr-un acest subiect insa nici una nu poate fi considerata cuvint sisteme care necesita capacitati inteligente ca fiind cea mai generala. Multitudinea acestor specifice omului. definitii provine tocmai din faptul ca domeniul, Inteligenta artificiala este ştiinţa, parte a fiind legat de insasi esenta naturii umane, este informaticii, care proiectează sisteme artificiale deosebit de provocator. Descrierea cea mai cu comportament inteligent – adică sisteme ce acceptata a fost data de John McCarthy în 1955: manifestă proprietăţi pe care în mod obişnuit le “crearea unei masini care se comporta într-un asociem cu existenţa inteligenţei în mod care ar fi considerat inteligent daca un om s- comportamentul uman - înţelegerea limbajului, ar fi comportat asa”. Alte exemple care au fost învăţare, raţionament, rezolvarea de problemelor, acceptate sunt cele prezentate mai jos: etc. Astfel de sisteme pot răspunde flexibil în Inteligenta artificiala este proprietatea unui situaţii ce nu au fost anticipate de programator. sistem de a fi capabil de a învata. Un program inteligent este un program care Inteligenta artificiala este domeniul stiintei manifesta o comportare similara cu aceea a calculatoarelor care se ocupa de studiul si crearea omului cind este confruntat cu o problema similara. Nu este necesar ca programul sa întotdeauna mutarea cea mai bună. Dacă o rezolve sau sa incerce sa rezolve problema in secvenţă ajungea într-o stare cîştigătoare, atunci acelasi mod in care ar rezolva-o oamenii. ea era cea de urmat. Problema practică era insa mai subtila, deoarece numarul de posibilitati era Inteligenta artificiala este studiul facultatilor suficient de mare inca sa nu poata fi rezolvat de mentale pe baza modelelor computationale. calculator intr-un timp acceptat. Solutia care s-a Inteligenta artificiala este studiul procesului prin abordat a venit din comportamentul uman. care calculatoarele pot fi instruite sa faca lucruri Observandu-se modul de lucru al unor sahisti de care, pentru moment, sint facute mai bine de performanta si algoritmul pe care acesta il oameni. folosesc de a-si alege mutarile, au ajuns la Marvin Minsky, intrebat ce este inteligenta concluzia ca indiferent de algoritmul folosit, artificiala, a raspuns: "Exista intotdeauna chiar si calculatorul trebuie sa-si imbunatateasca persoane care au nevoie sa defineasca totul modul de lucru in functie de experientele pentru a realiza ceva. De ce?" anterioare. Se poate observa din aceste definitii ca anumite Celălalt domeniu care a fost propus in aceasta curente de opinii privesc inteligenta artificiala ca perioada a fost demonstrarea automata de o modalitate de cercetare, descoperire si simulare teoreme. Acest domeniu se aseamănă cu cel al (copiere) a modului de functionare a inteligentei jocurilor prin faptul că performanţele sunt simplu umane. Aceasta perspectiva a condus la de evaluat. Calculatorul primeste ca date de numeroase cercetari in inteligenta artificiala si la intrare un set de axiome si un set de reguli de dezvoltarea unor noi domenii cum ar fi stiinta referinta. Daca un astfel de program reusea, un cunoasterii, domeniu studiat de psihologi, mare set de probleme nerezolvate inca isi puteau lingvisti, informaticieni, filozofi, si domeniul gasi raspunsul intr-un timp relativ scurt. retelelor neuronale, numit si inteligenta În această arie au fost create mai multe artificiala la nivel subsimbolic. O alta abordare a programe, printre care si “The Logic Theorist” al fost insa una mai pragmatica, si anume lui Newell, care demonstra teoreme din primul rezolvarea unor anumite tipuri de probleme capitol al cărţii ``Principia mathematica'' de folosind algoritmi ce simuleaza gandirea umana. Whitehead şi Russell, şi programul lui Gelenter In momentul aparitiei acestui concept, atentia care rezolva probleme simple de geometrie. multor cercetatori s-a indreptat in aceasta Insa aceste programe rezolvau probleme de o directie. O buna perioada de timp, dezvoltarea complexitate relativ mica si nu puteau avea inca acestui domeniu a fost strans legata de o utilitate bine definita. In aceasta perioada a dezvoltarea calculatoarelor. Implicit, totul urmat un scurt declin al inteligentei artificiale, si incerca sa fie transpus in limbaj masina, astfel o parte considerabila dintre cercetatori si-au incat gandirea era considerata asemanatoare pierdut interesul pentru acest domeniu. proceselor care aveau loc in interiorul unei Cei care au ramas fideli acestei directii au masini iar obiectele erau descrise prin continuat cercetarea incercand alta directie: proprietatile pe care le contineau. Cercetarea se procesarea limbajului natural. Un program baza pe psihologie, punându-se accent pe faimos al timpului a fost ELIZA. ELIZA era inteligenta lingvistica (de exemplu: testul capabila sa simuleze comportamentul unui Turing). Acest test este o propunere pentru a se psiholog, conversînd cu pacienţii si verifica aptitudinea/capacitatea unei masini de a determinandu-i pe acestia sa vorbeasca si sa purta o conversatie umana în limbaj natural: constientizeze problemele pe care le aveau. exista un “juriu” uman care converseaza cu Programul ştia un set mic de cuvinte cheie, şi oameni si computere printr-un canal text. În avea una sau mai multe reguli pentru fiecare cazul în care juriul nu poate sa-si dea seama care dintre ele. Cînd întîlnea un astfel de cuvînt în este computerul, atunci acesta a trecut testul. propoziţiile pacientului său, folosea una din Primele aplicatii practice ale acestui domeniu au regulile corespunzătoare cuvîntului respectiv, in aparut imediat după al doilea război mondial, si felul asta conversatia se purta intr-un mod anume programe care rezolvau puzzle-uri sau oarecum firesc iar pacientul era convins sa-si care jucau anumite jocuri. Jocurile cu care s-a continue povestea. experimentat au fost cele de şah, X si 0, avioane, Un amănunt mai special despre ELIZA este etc. Ideea era foarte simplă - fiind dată o poziţie impactul pe care ea l-a avut asupra pacienţilor săi pe tablă, se încerca să se genereze toate umani. Autorul ei, Weizenbaum, a fost uimit să secvenţele posibile de mutări de la acel moment constate “cît de rapid şi de puternic oamenii au mai departe, considerînd că adversarul alege ajuns să se implice emoţional în comunicarea cu recunoastere a vocii sau a obiectelor dintr-o calculatorul şi cît de mult şi-l imaginau ca pe o poza. fiinţa umană”. Programul ELIZA este inca Punctul de vedere al inteligenţei artificiale slabe disponibil pe internet si poate fi in continuare acceptă conştiinţa ca rezultat al acţiunilor fizice testat. Se poate accesa la: http://www- ale creerului şi faptul că orice acţiune fizică ai.ijs.si/eliza/eliza.html. poate fi reprodusă computaţional, dar simularea computaţională nu trezeşte sau nu presupune şi Un alt program (poate de altfel cel mai important conştiinţă. Spre deosebire de punctul de vedere din acea perioada) a fost SHRDLU mecanicist un robot care trece testul Turing în http://hci.stanford.edu/~winograd/shrdlu/ El era mare măsură simulează înţelegerea fără ca în capabil sa accepte comenzi date, care ulterior aceasta să aibă cu adevărat loc, la nivelul sa fie folosite pentru a modifica o lume de reacţiilor o persoană şi o maşină se manifestă la cubuleţe. De asemenea, SHRDLU răspundea fel, dar maşina simulează conştiinţa, o raportează unor întrebări legate de configuraţia blocurilor doar, pe cînd o fiinţă o experimentează. (ceea ce in viitor va determina un nou val de atentie asupra inteligentei artificiale in programe Sub titlul general de inteligenta artificiala se de recunoastere a formelor. Mai mult, SHRDLU ascund mai multe subdomenii care au pornit de putea să construiască planuri ca să îndeplinească la o idee initiala si apoi s-au separat de restul comenzi de tipul “Pune piramida albastră peste prin rezolvarea unui anumit timp de probleme blocul verde”. Insa daca se aflau alte figurine sau prin metoda care este folosita. peste blocul verde, acesta le indeparta si apoi Retelele neurale: Sisteme care incearca sa executa comanda primita. simuleze inteligenta prin reproducerea Un alt exemplu este MYCIN, un program care conexiunilor fizice care sunt intalnite in creier si simula un doctor. Dandui-se simptomele a sinapselor care au loc intre acestea. pacientului, pe baza unor reguli prestabilite anterior de catre programator, programul era capabil sa intoarca verdictul. Regulile erau insa destul de simple, un exemplu fiind: “Daca 2. RETELE NEURALE pacientul are temperatura peste 38 de grade atunci este vorba de meningita”. Cu toate acestea, in urma unor teste facute la care au participat atat programul cat si doctori Reţelele neurale artificiale încearcă să se apropie specializati, rezultatele au fost oarecum de modelul creierului uman. Spre deosebire de asemanatoare, ceea ce a demonstrat ca exista si maşinile Von-Neuman care se caracterizează unele probleme care pot fi rezolvate aproape la prin existenţa unei unităţi procesoare care fel de bine si de catre calculator, chiar daca se execută instrucţiuni stocate în memorie, într-o considera ca ele pot fi abordate doar de catre secvenţă aflată sub controlul numărătorului de specialistul uman. Cu toate ca avea capacitati program, alte arhitecturi propuse încearcă să limitate si nu avea un grad de securitate ridicat, exploateze cât mai eficient paralelismul care este MYCIN a fost inceputul erei sistemelor expert. de obicei inerent. "Procesoarele" care formează reţelele neuronale, sunt denumite neuroni In ziua de azi, inteligenta artificiala este artificiali. Mai corect spus reţele neurale, impartita in doua directii majore: inteligenta caracterizează ansambluri de elemente de artificiala puternica si inteligenta artificiala procesare simple, puternic inteconectate şi slaba. Cea puternica este cea care face afirmatia operând în paralel, care urmăresc să ca este posibila crearea unui calculator care sa interacţioneze cu mediul înconjurător într-un gandeasca la un nivel cel putin asemanator mod asemănător creierelor biologice şi care oamenilor. Genul acesta de inteligenta artificiala prezintă capacitatea de a învăţa. Nu există o este defapt visul de la care s-a plecat in definiţie general acceptată a acestor tipuri de dezvoltarea acestui domeniu si care este in sisteme, dar majoritatea cercetătorilor sunt de continuare doar in stadiul de fictiune. Inteligenta acord cu definirea reţelelor artificiale ca reţele de artificiala slaba afirma doar ca se pot scrie elemente simple puternic interconectate prin programe care sa se comporte inteligent in intermediul unor legături numite interconexiuni interactiunea cu oamenii si ca pot simula prin care se propagă informaţie numerică. gandirea umana. Exemple care deja sunt utilizate Originea acestor reţele se gaseste în studierea in viata de zi cu zi sunt programele de reţelelor bioelectrice din creier formate de neuroni şi sinapsele acestora. Principala trăsătură din ce in ce mai buni, pana la atingerea unei a acestor reţele este capacitatea de a învăţa pe valori a raportului dintre evaluarea asociata unui bază de exemple, folosindu-se de experienţa sir si evaluarea medie a tuturor sirurilor anterioară pentru a-şi îmbunătăţi performanţele. populatiei despre care se stie ca este optimala, Principala deosebire a reţelelor neurale faţă de sau pana cand algoritmul genetic nu mai poate alte sisteme de prelucrare a informaţiilor îl aduce imbunatatiri. Intr-un sens mai larg, un constituie capacitatea de învăţare în urma algoritm genetic este orice model bazat pe ideea interacţiunii cu mediul înconjurător, şi de populatie si care foloseste selectie si operatori îmbunătăţirii performanţelor. O reprezentare de recombinare pentru a genera noi puncte intr- corectă a informaţiilor, care să permită un spatiu de cautare. Multe modele au fost interpretarea, predicţia, şi răspunsul la un stimul introduse de cercetatori dintr-o perspectiva extern, poate permite reţelei să construiască un experimentala. Algoritmii genetici se pot folosi model al procesului analizat. Acest model va la crearea unor retele neuronale mai compacte si putea răspunde astfel unor stimuli neutilizaţi în mai eficiente, reglarea parametrilor unui sistem procesul prelabil de învăţare. Informaţiile expert fuzzy pentru controlul proceselor, utilizate în procesul de învăţare pot fi : informaţii imbunatatirea performantei unui sistem expert disponibile a priori sau perechi intrare-ieşire(care prin incorporarea rationamentului bazat pe stabilesc relaţii de tipul cauză-efect), iar modul cazuri, etc. de reprentare internă urmăreşte un set de regului bine documentate. Aceşti algoritmi pot fi clasificaţi după mai multe criterii cum ar fi : 4. SISTEME EXPERT disponibilitatea răspunsului dorit la ieşirea reţelei, existenţa unui model analitic, tipul aplicaţiei în care sunt utilizaţi, dar cele mai multe documentaţii se rezumă la două clase mari: Sistemele expert constituie o clasă particulară de învăţarea supravegheată (care presupune existeţa sisteme informatice bazate pe inteligenţa în orice moment a unei valori dorite a fiecărui artificială, având drept scop reproducerea cu neuron din stratul de ieşire) şi învăţarea ajutorul calculatorului a cunoştinţelor şi nesupravegheată (în care reţeaua extrage singură raţionamentelor experţilor umani. Un asemenea anumite caracteristici importante a datelor de sistem este capabil să colecteze şi să stocheze ieşire, în urma unui gen de competiţie între expertiza acumulată de persoane cu calificare neuronii elementari). În ultima perioadă se superioară şi experienţă vastă şi să o difuzeze în remarcă încă o clasă de algoritmi, algoritmii de cadrul intreprinderii sau să o încorporeze în învăţare folosind un critic, rezultaţi în urma sisteme informatice de asistare a deciziilor. observaţiilor experimentale făcute pe animale, Realizarea sistemelor expert impune utilizarea acestia fiind de tipul recompensă/pedeapsă. unor metodologii de lucru specifice, care să ţină cont de particularităţile acestor sisteme inteligente, în raport de sistemele software 3. ALGORITMI GENETICI convenţionale şi anume:
construirea unui sistem inteligent presupune
Algoritmii genetici sunt o familie de modele considerarea problemei de rezolvat în sens mult inspirate de teoria evolutiei, sunt programe mai larg decât simpla rezolvare a acesteia. Acest inteligente capabile sa solutioneze probleme lucru se explică prin faptul că definirea folosind un concept al evolutiei speciilor. Acesti problemei şi a posibilităţilor de rezolvare sunt algoritmi codifica solutiile posibile ale unor mai greu de realizat decât în cazul sistemelor probleme specifice intr-o structura de date de tip convenţionale. cromozom si aplica acestor structuri operatori de recombinare, pentru a pastra informatia utila. Un cromozom este un vector sau un sir de gene. la realizarea unui sistem expert schemele de Pozitia unei gene este numita locusul ei. Valorile rezolvare convenţionale trebuie să fie incluse în pe care le poate lua o gena sunt numite alele, mulţimea posibilităţilor de rezolvare a sunt multimi finite de numere intregi, intervale problemelor, alături de cele specifice inteligenţei de numere reale, sau chiar structuri complexe de artificiale. date. Alele variaza de la un locus la altul. Sarcina unui algoritm genetic e sa descopere cromozomi Ceea ce caracterizează, în ansamblul lor metodologiile de realizare a sistemelor expert este faptul că ele se bazează pe paradigma realizării evolutive a sistemelor software, care diferă de modelul liniar, al trecerii o singură dată printr-o serie de etape, faze, activităţi etc. Conţinutul diferitelor etape şi modul în care este dirijată reluarea acestora reprezintă elementele specifice fiecărei metodologii în parte. Realizarea sistemelor expert impune desfăşurarea următoarelor tipuri de activităţi: Investigare, în scopul cunoaşterii cât mai detaliate a domeniului pentru care se realizează sistemul; Analiză, în principal pentru identificarea şi formalizarea cunoştinţelor; Proiectare, de ansamblu şi de detaliu a sistemului expert; Programare a componentelor de sistem; Evaluare a sistemului expert şi/sau componentelor acestuia; Activităţi de punere în funcţiune, exploatare şi întreţinere a sistemului expert. Specific metodologiilor de realizare a sistemelor expert este îmbinarea acestor tipuri de activităţi, pe parcursul întregului ciclu de realizare. Concomitent cu investigarea se realizează atât analiza, cât şi proiectarea preliminară a sistemului. Pentru fazele ulterioare, proiectarea se îmbină cu analiza şi cu programarea. În acest fel, nu se pot pune în evidenţă etape orientate în exclusivitate pe un singur tip de activitate.
5. BIBLIOGRAFIE
1 Adina Magda Florea – Bazele logice ale
inteligentei artificiale – note de curs (Facultatea de Automatica si Calculatoare, Universitatea Politehnica Bucuresti) 2. Inteligenta Artificiala – Raluca Vasilescu 3. Aurelian Popa – Relizarea sistemelor expert