marți, 13 noiembrie 2007

Inteligenta Artificiala

1.Concepte de baza
Cand s-a vorbit prima data de Inteligenta Artificiala (AI � Artificial Intelligence) in 1956, totul parea o utopie, un vis prea frumos pentru a fi realizat, un stadiu al dezvoltarii considerat a fi greu de atins. In ultimii aproape 50 de ani, termenul a prins contur, devenind realitate, fiind in prezent folosit in aproape toate stiintele care doresc sa se afirme. Initiatorul sau, prof. John McCarthy a prezentat noul concept in vara anului 1956 la intrunirea �Darthmouth Summer Research Project on Artificial Intelligence�.
Odata cu dezvoltarea tehnicii de calcul si a pachetelor software, Inteligenta Artificiala a devenit o ramura suplimentara a stiintelor. Totusi, varful de lance este stiinta computerelor, cea care a introdus termenul si a facut cel mai mult pentru afirmarea noului concept.
Termenul de Inteligenta Artificiala este intalnit azi in numeroase publicatii tehnice, medicale, militare, stiintifice, de obicei, cand vine vorba de aplicatii ce realizeaza performante de care numai omul era socotit capabil: recunoasterea si analiza vocii si a imaginilor, traduceri dintr-o limba in alta, diferite jocuri de inteligenta (sah, bridge), luarea unor decizii complexe fara interventia unui operator uman etc. Initial, obiectivele Inteligentei Artificiale au fost foarte ambitioase: masina trebuia sa rezolve diferite probleme, sa invete din propria experienta si din evenimentele exterioare sistemului sau, sa efectueze rationamente, sa conceapa noi obiecte cu proprietati prestabilite.
A fost usoara realizarea acestor obiective ? A reusit omul sa creeze �rivalul� sau in inteligenta ? In mod natural, inca din momentul constientizarii existentei sale, omul a fost intotdeauna interesat sa cunoasca modul de formare si functionare a inteligentei proprii.
Unii oameni de stiinta afirma ca inteligenta umana este imposibil de atins si intrecut pe cale artificiala de o masina. In 1989, matematicianul britanic Roger Penrose a sustinut ca mecanismele de functionare specifice creierului uman nu pot fi replicate de masina, nici macar in principiu. In prezent, creierul uman este considerat a fi cel mai sofisticat computer cunoscut. Afirmatia nu poate fi negata, dar creierul uman functioneaza pe aceleasi principii ca oricare alt creier din regnul animal. Spre a intelege inteligenta umana, trebuie sa intelegem modul in care se formeaza cele mai simple ganduri. Incercarea de a trece peste aceste etape primare si a cerceta direct actiunile complexe ale creierului uman este aproape imposibila.
O metoda de a intelege lucrurile este de a le modela pe un computer si apoi a le produce artificial. Primul pas pe care stiinta computerelor trebuie sa il faca in cercetarea Inteligentei Artificiale este sa incerce a modela modul de functionare a creierului.
Pana in prezent s-au dezvoltat doua metode diferite de abordare a Inteligentei Artificiale. Prima metoda este cunoscuta sub numele �top-down approach� sau �symbolic approach to AI�. Spre exemplu, vederea artificiala a unei masini (controlata de un computer) a fost abordata prin construirea unor algoritmi si aplicarea lor pe o serie de date de intrare. Fiecare pas al procesului de vedere trebuie evaluat, un algoritm urmand sa transforme datele de intrare intr-o forma mai usor de utilizat. Aceasta metoda are dezavantajul ca este prea dependenta de masina si poate fi utilizata doar in probleme foarte restranse. De asemenea, abordarea se bazeaza in mare masura pe cunostintele programatorului, absolut nimic nu poate fi adaugat automat.
A doua metoda consta in construirea unei retele neuronale care sa asigure convertirea unei imagini in informatie. In anii �60 preocuparile au fost concentrate pentru constituirea unei astfel de retele, denumita �perceptron�. Acesta, o combinatie reusita de retea neuronala si informatii pre-procesate, a permis pentru prima data recunoasterea imaginilor de catre un computer. Perceptronul s-a bazat pe ceea ce a reprezentat atunci primul stadiu al vederii artificiale, fiind folosit ulterior in constructia masinilor autoghidate.

2.Retele neuronale
O retea neuronala este de tip fizic (in electronica) sau virtual (un program pe computer). Fiind vorba de o retea, aceasta se prezinta sub forma unei matrici de noduri sau neuroni legati intr-un mod oarecare, unul de altul. Fiecare neuron are cateva intrari si iesiri. Intrarile sunt formate din mesaje primite de la o serie de senzori. Mesajele sunt prelucrate anterior de catre alte retele asociate si apoi transmise mai departe.
In anul 1943, un neuro-psiholog (Warren McCulloch) si un logician (Walter Pitts) au construit un model (folosind rezistoare si amplificatoare) care simula ce era cunoscut pana atunci despre neuronii naturali, biologici. Neuronii electronici primeau anumite semnale de intrare, pe care, in functie de cativa parametri, le trimiteau sau nu mai departe catre alti neuroni. Acestia primeau semnalele ca date de intrare si, in functie de alti parametri, trimiteau sau nu semnalele mai departe. Intregul model construit de cei doi oameni de stiinta s-a constituit intr-o retea de celule interconectate, fiecare in legatura functionala cu urmatoarele.
Presupunand ca semnalul de intrare in reteaua neuronala atinge punctul de iesire din aceasta, acesta poate fi o valoare sau o matrice de valori. La inceput, rezultatul va fi aproape aleatoriu pana cand reteaua este antrenata corect. Antrenamentul retelei consta in primirea de informatii pentru a face rationamentele cat mai aproape de realitate.
In viitor, computerele vor fi, probabil, un hibrid intre reteaua neuronala si tehnologia conventionala, utilizata in prezent. Tehnologia actuala are avantajul de a fi logica si rapida in probleme matematice. Retelele neuronale nu sunt foarte potrivite pentru ecuatii complicate, asa cum creierul uman se descurca mai greu in calcule matematice, dar exceleaza in deosebirea culorilor, a sunetelor, a formelor. Azi, in ciuda realizarilor extraordinare in domeniu, retelele neuronale se afla in stadiul de inteligenta al unei insecte, fiind inca un concept foarte nou si care trebuie inteles cu maxima precizie.

3.Stadiul cercetarilor in Inteligenta Artificiala
Totusi, in urma cercetarilor din ultimii ani, calculatorul este capabil sa realizeze rationamente si sa descopere legaturi logice intre fapte descrise corect prin propozitii. De asemenea, calculatorul este capabil sa invete din propriile greseli si sa interactioneze cu un utilizator. Folosindu-se de aceste performante, omul a creat computere si programe specifice care sa lucreze pentru el, sa-i rezolve ecuatii complicate, sa proceseze baze de date cu sute de mii de inregistrari, sa-l ajute in proiectarea si producerea unor echipamente tehnice avansate etc. Cu toate aceste realizari extraordinare, comparativ cu situatia de acum 50 de ani, limita este departe de a fi atinsa, cercetatorii fiind mereu preocupati de cercetarea �masinii care gandeste� si care poate oferi instantaneu solutii viabile la diversitatea mare de probleme care apar.
Pentru a crea o masina care �gandeste� trebuie definita �inteligenta� unei astfel de masini. Inteligenta masinii este rezultatul a mai multor ani de cercetari, teste, reusite si esecuri. S-a dorit ca masina sa invete, sa inteleaga limbajul folosit de utilizator prin intermediul a nenumarate interfete si sa-si perfectioneze perceptia senzoriala. Cercetatorul britanic Alan Turing este de parere ca un computer poate fi numit inteligent daca, pus, in legatura cu un om, il determina pe acesta sa creada ca este in contact tot cu un om. Pentru a face fata unui test uman, computerul trebuie sa stocheze o cantitate imensa de informatie, din toate domeniile.
Inteligenta si informatia nu pot fi separate una de alta. Oamenii sunt capabili sa furnizeze o informatie utila, dau dovada de inteligenta, de competenta, dar sunt limitati in cunoastere. Sistemele informatice cladite in jurul unor baze de date inglobeaza acest tip de competenta, dar nu au rationamentul nativ al omului. Deosebirea consta in proprietatile echipamentului electronic ce permite multiplicarea competentei respective de mii de ori, oferind, implicit, o inteligenta multiplicata corespunzator. Aceasta inteligenta, astfel creata, este mult mai ieftina si precisa decat cea umana, putand fi reprodusa mecanic la nesfarsit.
Tinand cont de explozia performantelor componentelor electronice si a calculatoarelor in general, este evident ca termenul de Inteligenta Artificiala va capata noi valente in anii urmatori.
Iata o scurta enumerare a doar cateva din domeniile in care este si va fi folosita Inteligenta Artificiala:
-Sisteme expert. Un sistem expert este format dintr-un grup de programe si o colectie de informatii specifice, cu ajutorul carora se poate purta un dialog om-computer, in vederea rezolvarii problemelor. Informatiile primite de la calculator sunt asemanatoare cu cele date de un expert uman in domeniul respectiv. Sistemele expert multiplica inteligenta formalizata a unor specialisti punand-o la dispozitia acelor persoane al caror acces la respectivii specialisti este imposibila;
-Retele neuronale - sunt sisteme care simuleaza inteligenta prin reproducerea tipurilor de conexiuni fizice care se gasesc in creierul biologic. Din cauza limitarilor tehnologice, numarul acestor conexiuni este foarte mic, comparativ cu cele cateva zeci de miliarde de conexiuni din creierul uman;
-Intelegerea limbajului natural - reprezinta programarea computerelor astfel incat acestea sa inteleaga si sa interactioneze cu utilizatorii in limbajul natural al acestora. La baza intelegerii limbajului natural se afla recunoasterea vocala care transforma un dialog in text, folosind un dispozitiv special;
-Agentii - sunt entitati computerizate care actioneaza in locul operatorilor umani, adunand stiri de pe Internet, trimitand mesaje de e-mail sau filtrandu-le pe cele primite. Desi lucreaza pe baza unor "cuvinte cheie" si se afla inca in cercetare, agentii vor deveni foarte utili, ajutandu-si utilizatorul sa gaseasca, spre exemplu, numai stirile sau articolele care il intereseaza, scutindu-l de ore intregi de navigare inutila pe Internet;
-Roboti. Noile modele de roboti au in componenta computere programate sa "auda", sa "vada" si sa reactioneze la diferiti stimuli externi. Exista deja roboti care pasesc asemenea unei fiinte vii, disting o voce din mai multe, raspunzand numai la comanda acesteia, se orienteaza in spatiu, recunoscand obiectele inconjuratoare, aleg drumul cel mai scurt intre doua puncte si ocolesc obstacolele.
-Jocurile pe computer. Dezvoltarea jocurilor si a domeniului multimedia, in general, este in plina expansiune, o afacere de sute de milioane de dolari. La ora actuala, nu se mai poate concepe un joc fara a avea in structura elemente de Inteligenta Artificiala. Implementata corect, aceasta garanteaza un produs bine vandut, deci profit si satisfactie oferita jucatorilor. Este deja cunoscut ca programele de sah pe computer pot invinge un oponent uman, cel mai elocvent exemplu fiind cel de acum cativa ani in care campionul Gary Kasparov a fost intrecut de un super-computer, Deep Blue, creat de firma IBM.
In viitor computerele vor dispune de Inteligenta Artificiala, dar, in mod sigur, diferita de cea umana. In numeroase situatii, oamenii sunt influentati de emotii, acestea fiind adevaratele motivatii ale rationamentului si actiunii lor. In cazul inteligentei artificiale, motivatiile vor fi total diferite. Spre a intelege cat de mare va fi diferenta, putem privi si analiza cea de-a doua fiinta inteligenta de pe planeta dupa om, delfinul. Lumea oamenilor este diferita de cea a delfinilor, iar cele doua forme de inteligenta sunt influentate de habitat. Delfinii isi folosesc inteligenta pentru navigatie, asa cum oamenii o folosesc pe cea proprie pentru manevrarea uneltelor. Diferitele habitate impun diferite prioritati creaturii care traieste in ele. La nivelul de cunoastere actual, pentru oameni este aproape imposibil de imaginat ce forma de inteligenta va avea entitatea virtuala aflata in memoria unui computer.

Niciun comentariu: