Agenti inteligenti Internet

Tehnologia sistemelor multiagent îsi face intrarea pe Internet. În viitorul nu foarte îndepărtat, programele de tip agenti inteligenti vor constitui modalitatea preponderentă de exploatare a cantitătii enorme de informatie din Internet.

Adina Magda

Inteligenta artificială distribuită

Inteligenta artificială distribuită este un subdomeniu al inteligentei artificiale care are ca scop construirea sistemelor de agenti inteligenti ce pot lua decizii pentru a-si realiza scopurile fixate, într-o lume populata de alti agenti inteligenti (artificiali sau umani) care au, la rîndul lor, propriile lor scopuri.

Există mai multe motive care justifică distribuirea inteligentei în sistemele artificiale. În anumite aplicatii (controlul traficului aerian, retelele de senzori distribuiti, cooperarea din sistemele de roboti si altele) cunostintele si activitătile sînt inerent distribuite spatial, deci distribuirea controlului inteligent se impune natural. Un al doilea motiv este extinderea paradigmei cooperării om-masină printr-o abordare mai naturală bazată pe rezolvarea distribuită a problemelor. În al treilea rînd, un sistem poate fi atît de complicat si poate contine atît de multe cunostinte încît este mai bine să fie împărtit în diverse entităti cooperative în scopul de a obtine o eficientă crescută: modularitate, flexibilitate si un timp de răspuns mai scurt.

De asemenea, există interesul de a integra sistemele de inteligentă artificială deja existente, atît între ele cît si cu componente de prelucrare clasică. Inteligenta artificială distribuită, cu modelul ei central al sistemelor multiagent, poate modela mai fin intuitia noastră despre comportamentul inteligent, executarea actiunilor si a planurilor atît cooperativ cît si competitiv, conducînd astfel la o nouă perspectivă asupra reprezentării cunostintelor si rezolvării problemelor.

Si, în sfîrsit, comportamentul uman, pe care cele mai multe sisteme de inteligentă artificială încearcă să-l modeleze, este un comportament social. Foarte putine implementări si nu multe abordări teoretice din inteligenta artificială au tinut cont si de acest aspect.

Agenti si sisteme multiagent

Ce sînt agentii, de ce se numesc ei asa si de ce a fost nevoie de introducerea/ folosirea acestui termen? Notiunea de agent poate avea diverse interpretări în functie de domeniul particular în care este utilizată. Există agenti în stiintele cognitive, economice, sociale, în biologie si, recent, în stiinta calculatoarelor. Din punct de vedere software, un agent este un program care se comportă analog cu un agent uman, de exemplu un agent al unei agentii de voiaj sau un agent de asigurări. În esentă, acest termen se referă la un program care prezintă o metaforă de interfată socială, adică este capabil să comunice în mod inteligent cu alti agenti software sau persoane.

O descriere relevantă a notiunii de agent poate fi dată prin enumerarea caracteristicilor de bază pe care un agent trebuie să le posede:

Pentru anumiti cercetători, în special cei din domeniul inteligentei artificiale, termenul de agent implică si alte caracteristici suplimentare cum ar fi: notiuni mentale (păreri, dorinte, obligatii, optiuni), rationalitate, adaptibilitate si învătare. Aceste caracteristici nu sînt exhaustive si, de altfel, nu există agenti inteligenti care să le înglobeze pe toate. Deocamdată nu există un consens referitor la importanta relativă a diverselor proprietăti ale agentilor, dar cei mai multi cercetători recunosc că cele amintite ar fi caracteristicile definitorii ale unui program agent fată de un program obisnuit.

Componentele cheie care apar în următoarele două scenarii pot fi considerate a fi agenti.

Sistemul de control al traficului aerian din tara X s-a defectat din cauza conditiilor meteorologice. Din fericire, sistemele computerizate de control al traficului aerian din tările învecinate sesizeaza pericolul (reactivitate), negociază între ele (abilitate socială) pentru a coordona toate zborurile afectate si situatii potential periculoase sînt evitate fără interventia omului (autonomie).

Un utilizator se conectează la un terminal în contul lui si i se prezintă de îndată o listă a mesajelor electronice, sortată în ordinea importantei, de către agentul asistent personal al utilizatorului (Personal Digital Assistant). De asemenea, i se prezintă o listă a noilor articole aparute, în care PDA evidentiază un articol particular (reactivitate) care descrie rezultate recente relevante domeniului de cercetare al utilizatorului (domeniu indicat sau învătat de agent pe parcursul cooperării cu utilizatorul). După o discutie electronică cu alti PDA (abilitate socială si comunicare), PDA-ul utilizatorului în cauză a obtinut deja textul acestui articol, anticipînd astfel dorinta utilizatorului (autonomie).

Modelul sau arhitectura agentilor poate varia de la structuri foarte simple, gen automate, cum este cazul agentilor reactivi, pînă la structuri de cunostinte complexe, cu reprezentări sofisticate, capacităti de rationament si decizie, structuri întîlnite în cazul agenti cognitivi, numiti si agenti rationali.

Modelele fizice, de exemplu fortele electrostatice, permit exprimarea interactiunilor simple, cum ar fi atractia si repulsia, si sînt de multe ori folosite pentru reprezentarea agentilor reactivi. Agentii reactivi pot fi văzuti si ca niste entităti simple de tipul „conditie actiune" care percep schimbările din mediu (conditie) si reactionează în functie de acestea (actiune). Un exemplu de sistem multi-agent reactiv este un program de desenare a unei hărti în care fiecare punct important de pe hartă este reprezentat printr-un agent, caracterizat de o masă si o anumită fortă de interactiune. În functie de forta particulară a fiecărui agent apar actiuni de apropriere sau depărtare si, pe baza interactiunilor cumulate, harta se desenează „singură" pe măsură ce agentii îsi fac loc în mediu si ajung la un punct de echilibru. După cum se vede din exemplu, în cazul agentilor reactivi, inteligenta sistemului multiagent (desenarea corectă a hărtii) rezultă din comportarea globală a comunitătii de agenti care rezolvă problema.

Spre deosebire de agentii reactivi, agentii cognitivi contin o reprezentare simbolică explicită a lumii si sînt capabili să ia decizii (ce actiuni să execute) pe baza unui rationament simbolic. Ei au scopuri fixate si sînt capabili să-si modifice actiunile în functie de schimbările din mediu si interactiunea cu alti agenti, în vederea realizării acestor scopuri. Fiecare agent cognitiv este un sistem bazat pe cunostinte, cu un grad mai mare sau mai mic de elaborare si care include întreaga metodologie asociatată acestor sisteme. În cazul sistemelor de agenti cognitivi, inteligenta sistemului este dată atît de suma comportamentelor inteligente individuale ale fiecărui agent cît si de inteligenta rezultată din comportamentul colectiv bazat pe interactiune de tip social. Un sistem de agenti cognitivi este, de exemplu, un planificator automat de ocupare a unei săli de reuniuni apatinînd unei mari companii. Într-un astfel de sistem există agentul asociat ocupării sălii, agentii asociati fiecărui departament care poate beneficia de sală, agentul care se ocupă de alocarea resurselor pentru sală (resurse de tipul retroproiector, ecran, video, calculator, etc.) si în final agentul de tip contabil care estimează costul fiecărei reuniuni. Această comunitate de agenti trebuie să discute si să coopereze pentru ocuparea optimă a sălii, atît din punct de vedere al programului cît si din punct de vedere al costului unei reuniuni particulare.

Dezvoltarea conceptului de agent software are sanse să conducă la nasterea unei noi directii de programare si anume programarea orientată agent, cu un impact similar programării orientate obiect, dar la un nivel superior. Într-o astfel de paradigmă obiectele vor fi înlocuite de agenti, deci entităti dotate cu capacităti de perceptie, comunicare, rationament si decizie, iar programele vor fi scrise prin manipularea adecvată a unei multimi de agenti predefiniti sau definiti de utilizator.

Agenti pe autostrada informatiei

Una dintre modalitătile spectaculoase prin care agentii se impun comunitătii utilizatorilor de calculatoare este aceea a agentilor Internet, agenti informationali ce oferă servicii Internet inteligente. Tehnologia calculatoarelor a generat o crestere remarcabilă a capacitătii de a genera, oferi si stoca informatie. În acelasi timp însă, instrumentele de localizare, filtrare si analiză a informatiei existente nu au înregistrat o crestere corespunzătoare. Desi manipularea directă a informatiei, gen meniuri, butoane si altele, este usoară pentru operatii simple cum ar fi compilarea unui program, editarea de texte sau tipărirea unui fisier, nu acelasi lucru se întîmplă în cazul accesului si căutării în retele masive de informatie. Agentii inteligenti Internet sînt destinati schimbării acestei situatii. „Internet Society" estimează că există peste 30 de milioane de utilizatori care acceseaza zilnic reteaua Internet. Desi există unii utilizatori care se amuză să navigheze prin Internet, cei mai multi ar fi foarte bucurosi dacă ar putea lăsa operatii costisitoare ca timp, cum ar fi aceea de a căuta informatii despre un subiect particular, pe seama unor agenti competenti.

În continuare vom descrie o serie de agenti software inteligenti care există sau sînt pe cale de a fi implementati, în scopul de a oferi o idee despre ceea ce vor fi agentii Internet. Utilizînd metafora de „autostadă a informatiei" (information superhighway), un agent inteligent poate fi văzut ca un ghid al unui autocar cu turisti care sugerează soferului, la fiecare intersectie, calea de urmat. Sau ca un sofer de taxi care conduce pasagerii la destinatie. Mai mult chiar, agentii inteligenti pot ajunge atît de performanti încît pot ascunde toate detaliile autostăzii informatiei, aceasta devenind transparentă pentru utilizator. Descrierea agentilor Internet ce urmează va fi făcută în termeni de functionalitate si nu de arhitectură, dar ei sînt, de cele mai multe ori, modele cognitive de agenti.

Agenti ghizi. O primă categorie de agenti este aceea a agentilor ghizi (tour guides). Multi utilizatori sînt dezorientati în momentul în care vor să consulte World Wide Web-ul. Un agent care îi poate ajuta în acest domeniu este un agent ghid, agent capabil să răspundă unei întrebări de tipul „Unde caut în continuare?" sau „Ce mai trebuie să citesc despre un anumit subiect?". Există deja diverse implementări de astfel de agenti pentru sisteme hipertext de dimensiune redusă si există prototipuri de astfel de sisteme si pentru Web. De exemplu, WebWatcher sfătuieste interactiv utilizatorii Web-ului asupra legăturii următoare pe care trebuie s-o urmeze. În plus, WebWatcher încearcă să învete prin observarea reactiei utilizatorului la sfatul primit, utilizatorul fiind evident liber să nu urmeze sfatul agentului. În consecintă, agentii ghizi au ca scop conducerea utilizatorilor prin Web, oferind în acelasi timp o experientă personalizată fiecărui utilizator.

Agenti index. O altă categorie de agenti Internet este aceea a agentilor index (indexing agents) Acestia sînt deocamdata cei mai populari agenti din retea, prin implementări cum ar fi Lycos, WebCrawler si InfoSeek. Agentii index efectuează o căutare masivă si autonomă de informatie în Web, putînd ajunge să inspecteze pînă la un milion de documente, si creează un index de cuvinte găsite în titlurile si textul documentelor inspectate. Utilizatorul poate apoi interoga agentul despre documente ce contin anumite cuvinte cheie. Agentii index pot oferi răspunsuri rapide dar prezintă o serie de limitări. Căutarea unei anumite informatii nu este întotdeauna bine deservită de cuvintele cheie. Utilizatorii pot dori criterii mai complicate. În plus, agentii index nu sînt personalizati, ceea ce poate duce la oferirea unor informatii nerelevante, si nici selectivi în căutarea efectuată. Revenind la metafora autostrăzii informatiei, agentii index sînt ca soferii de taxi care te conduc la destinatia dorită dar te depun acolo, fără a se preocupa de ceea ce faci în continuare si nici dacă ai ajuns exact acolo unde doreai de fapt.

Agenti FAQ. Reprezintă o altă categorie de agenti Internet, mai selectivă decît cele două prezentate anterior. Acesti agenti au rolul de a ghida utilizatorul pentru găsirea răspunsurilor la întrebările frecvente. Utilizatorii au tendinta să pună mereu aceleasi întrebări asupra unui anumit subiect. Ca urmare, diversele organizatii sau grupuri din Internet au înfiintat si dezvoltat o serie de fisiere care contin întrebările si răspunsurile la ceea ce s-au considerat a fi întrebări frecvent puse asupra unui subiect particular (Frequently Asked Questions files, pe scurt FAQ). Un utilizator ce are acces la Internet poate să fie destul de sigur că, dacă are o întrebare comună sau chiar mai putin comună, poate găsi răspunsul într-un fisier FAQ, dar este posibil să fie incapabil să localizeze fisierul respectiv. Agentii FAQ se ocupă de această problemă prin indexarea fisierelor FAQ si oferă, cîteodată, chiar si o interfată în limbaj natural pentru punerea întrebărilor. Agentul foloseste textul întrebării pentru localizarea răspunsului adecvat. Spre deosebire de agentii index, agentii FAQ sînt capabili să găsească răspunsuri numai la întrebările ce apar în fisierele FAQ pe care le-au indexat. Datorită naturii semistructurate a acestor fisiere si deoarece fisierele FAQ reprezintă o categorie relativ restrînsă în raport cu totalitatea documentelor din WWW, agentii FAQ sînt mult mai eficienti decît agentii index.

Softbot. Un agent inteligent Internet diferit ca natură de agentii descrisi mai sus este agentul Softbot. Numele de Softbot este derivat din „software robot". În locul unui robot mobil cu brate si roti, Softbot-ul este un asistent al utilizatorului capabil de a întelege si executa comenzi si actiuni complexe. Datorită lui, cea mai mare parte a structurilor din Internet devin transparente pentru utilizator. În contrast cu agentii inteligenti care asistă utilizatorii în găsirea informatiilor relevante, Softbot-ul acceptă scopuri de nivel înalt definite de utilizator si sintetizează dinamic secventa de comenzi Internet potrivită pentru satisfacerea acestor scopuri. Apoi Softbot-ul execută această secventă de comenzi, adunînd informatii pentru decizii ulterioare, recuperînd erorile si reîncercînd comenzi, dacă aceasta este necesar. Agentul Softbot poate realiza diverse scopuri de nivel înalt în serviciul utilizatorului. El poate monitoriza o serie de evenimente, cum ar fi utilizarea discului, activitatea utilizatorului, buletinele electronice de stiri, servere FTP, si comunică utilizatorului ceea ce a găsit printr-un semnal sonor, un mesaj pe ecran sau un mesaj e-mail. Pe lîngă filtrarea informatiei, Softbot-ul poate actiona asupra mediului în care lucrează, de exemplu prin asigurarea compactării permanente a fisierelor dintr-un director, protejarea fisierelor din altul, etc. De asemenea, Softbot-ul poate realiza automat compilarea fisierelor program, conversia documentelor dintr-un format în oricare altul, accesul la baze date de diverse tipuri, prin apelul, în secventă, a diverselor programe adecvate. Fiindu-i dat numele unei persoane, el poate determina adresa electronică a acesteia printr-o combinatie de comenzi whois, netfind, staffdir, finger si alte utilitare. Cheia succesului agentilor inteligenti este gradul în care agentii sînt capabili să înteleagă informatia pe care o manipulează. Unul din motivele pentru care agentul Softbot este considerat un succes este focalizarea lui asupra unor informatii structurate de tipul celor amintite anterior.

The next generation

Agentii Internet existenti sînt departe de a fi perfecti si de a îndeplinii toate cerintele pe care utilizatorii le pretind de la ei. Programele bazate pe agenti informationali Internet vor evolua spre sisteme multiagent capabile să integreze abilitătile punctuale descrise mai sus într-un singur program, combinîndu-le si cu alte caracteristici definitorii ale agentilor inteligenti si a sistemelor multiagent. Se presupune că viitoarea generatie de agenti Internet va fi o combinatie de modele cognitive si reactive, cu structuri organizatorice complexe, care vor avea ca scop atît cresterea eficientei accesului utilizatorului la informatia din Internet cît si transparenta totală a autostrăzii informatiei. În acest fel numai se poate garanta accesul nerestrictiv al oricărei categorii de utilizatori, indiferent de calificare si cunostinte, la enorma resursă informatională ce este si va deveni Internet.


(C) Copyright Computer Press Agora