VELIBORB@USA.NET
Intelligent software agents- new challange!?
Velibor Božić Mažuranićeva 8, 48000 Koprivnica,Hrvatska Tel: +99 385 (0)48 622 721 E-mail: veliborb@usa.net
Abstract. Main topic in this text are intelligent software agents because they represent the new technology in information science. Many scientists think that agents are really important break-through in global informatization of the world we are living in. This is the main reason for my occupation with agents. What are the agents, what is their purpose, properties of agents, taxonomy of agents, areas of application, differences between agents and "ordinary" programs ? This is some questions I shall try to get the answer in this text. Besides, I shall show the principles of agent`s architecture, agency (set of agents which collaborate among themselves) architecture, the principles of agent´s communication. I shall point out adventages of agents, but also I shall talk about problems which people must resolve before the fully implementation of agents. Intelligent software agents are a very young area inside information science which is developing fast, teoretically and practically. They are the new challenge which we should catch, surely. Keywords: intelligent software agent, agency, intelligence, multiagent system, agent architecture, agent oriented language
1. Uvod
Živimo u vremenu u kojem smo svakodnevno bombardirani velikom količinom informacija koje je nemoguće kvalitetno prihvatiti, pregledati, obraditi i iskoristiti na pravi način bez pomoći. Postoje razni programi koji nam pomažu kod rada sa informacijama. Danas su oni vrlo sofisticirani i omogućuju nam stvari koje su nekad bile nezamislive. Devedesetih godina intezivirano je istraživanje u području distribuirane umjetne inteligencije a u vezi tzv. inteligentnih softverskih agenata. Inteligentni softverski agenti imaju takve osobine i (potencijalne) mogućnosti da ih mnogi smatraju slijedećim velikim pomakom u cjelokupnoj informacijskoj znanosti. Upravo iz tog razloga oni su predmet zanimanja u mnogim akademskim zajednicama širom svijeta, ali i u poslovnim krugovima koji su u njima prepoznali moćnog saveznika u donošenju bitnih poslovnih odluka koje će im omogućiti efikasniji rad i prednost nad konkurencijom. Područje inteligentnih softverskih agenata je vrlo mlado i još uvijek u fazi pročišćavanja teoretskih postavki i u traženju adekvatnih praktičnih rješenja koja bi uvažavala teoriju. Istraživanja ovog područja mogu se podijeliti na razvijanje teorije o agentima, na razvijanje arhitekture agenata i na razvijanje agent orijentiranih jezika (kako internih tj. onih u kojima su agenti napisani tako i eksternih tj. onih koji služe za komunikaciju među agentima). Unatoč preprekama koje postoje, inteligentni softverski agenti su novi izazov koji treba prihvatiti jer prednosti koje nude premašuju poteškoće koje stoje na putu njihove praktične primjene. Sve gore navedene činjenice bile su mi glavna motivacija da napišem ovaj tekst. Ovdje mi nije namjera duboko ulaziti u temu već približiti čitatelju tematiku agenata i zainteresirati ga za daljnje istraživanje teme. Što su zapravo agenti, kako mogu pomoći čovjeku, kakva im je arhitektura, koje su vrste agenata, koji su problemi sa agentima, koje su im osobine, kako komuniciraju? Ovo su pitanja na koja ću pokušati dati odgovor u ovom tekstu. Osim toga dat ću reference za daljnje proučavanje ove teme.
2. Osnovni pojmovi
Općenito govoreći, agent je entitet koji nešto radi i to radi u ime nekoga. Postoje i mnogo određenije definicije što su agenti. Istini za volju, te definicije odražavaju svu raznolikost shvaćanja pojma što je posljedica mladosti čitavog područja. U nastavku navesti ću neke definicije od kojih svaka naglašava neku od osobina agenata koja se činila značajnom za tvorca definicije ili za područje kojim se bavi.
"MuBot Agent" [http://www.crystaliz.com/logicware/mubot.html]
Termin agent prikazuje dva ortogonalna koncepta. Prvi je sposobnost agenta da djeluje autonomno tj. neovisno od korisnika. Drugi koncept je sposobnost agenta da zaključuje o nekom području od interesa.
"AIMA agent" [Russell i Norvry, 1995, str.33]
Agent je nešto što može prihvaćati vlastitu okolinu kroz senzore i djelovati na okolinu kroz efektore"
"MACS agent" [Maes 1995, str. 108]
Autonomni agenti su sustavi koji prihvaćaju kompleksnu dinamičnu okolinu, osjećaju je i djeluju autonomno u toj okolini te na taj način realiziraju skup ciljeva zbog kojih su dizajnirani.
"KidSim agent" [Smith, Cypher i Spoherer 1994]
Agenti su stalni softverski entiteti namjenjeni za posebnu svrhu. "Stalni" razlikuju agente od podprograma; agenti imaju svoje vlastite ideje o izvršenju zadatka, svoj vlastiti raspored. "Posebna svrha" razlikuje agente od potpuno višefunkcionalnih aplikacija; agenti su manji.
"Hayes-Roth agenti" [Hayes-Roth, 1995]
Inteligentni softverski agenti neprekidno obavljaju tri funkcije: percepcija promjenjivih uvjeta u okolini, poduzimanje akcija koje utiču na okolinu te zaključivanje o percipiranjim uvjetima, rješavanje problema, izvođenje zaključaka i određivanje akcija.
"IBM agenti" [http://activist.gpl.ibm.com/whitepaper/ptc2.htm]
Inteligentni agenti su softverski entiteti koji obavljaju skup operacija u ime korisnika ili drugog agenta. Imaju određeni stupanj autonomije ili neovisnosti i na taj način prikazuju neko znanje ili prezentiraju korisničke ciljeve i želje.
"Wooldridge - Jannings agenti" [Wooldridge, Jennings, 1995, str. 2]
Agenti su hardverski ili mnogo češće softverski proizvodi koji imaju slijedeće osobine:
· Autonomnost - agenti rade bez direktne intervencije ljudi ili drugih agenata; imaju kontrolu nad vlastitim postupcima i unutrašnjim stanjem · Društvena sposobnost - agenti surađuju sa drugim agentima (i vjerojatno sa ljudima) preko komunikacijskog jezika · Sposobnost reagiranja - agenti prihvaćaju vlastitu okolinu (koja može biti fizički svijet, korisnik preko grafičkog sučelja, kolekcija drugih agenata, Internet ili kombinacija svega rečenog) i odgovaraju na promjene u okolini · Sposobnost djelovanja - agenti ne samo da jednostavno reagiraju na promjene u okolini nego i preuzimaju inicijativu kod vlastitog ponašanja prema cilju
Na osnovu navedenih definicija može se uočiti da su agenti softver koji pomaže ljudima i djeluje u njihovo ime. Agenti su autonomni što znači da kontroliraju vlastite aktivnosti. Imaju sposobnost promatrati okolinu te prilagođavati svoje ponašanje okolini ili pak prilagođavati okolinu tako da postignu zacrtane ciljeve. Agenti imaju određene specifičnisti koje ih razlikuju od uobičajenih programa Oni sadrže određeni stupanj inteligencije (nivo zaključivanja i učenja odnosno sposobnosti da prihvate korisnikove izjave o ciljevima i da obave zadatke koji se postave pred njih). Tehnologija izrade agenata i sama ideja izrade razlikuje se od one u klasičnih programa pa je , shodno tome, rezultat potpuno novi skup mogućnosti i svojstava. U nastavku navest ću karakteristike inteligentnih softverskih agenata.
3. Svojstva agenata
Postoji izreka da su svi inteligentni softverski agenti programi, ali nisu svi programi inteligentni softverski agenti. Ova dva termina često se poistovjećuju i izazivaju zbrku o tome što su zapravo agenti. Danas se mnogi programi nazivaju agentima samo zbog marketinškog štosa. U čemu je glavna razlika između agenata i programa ? Glavna i osnovna razlika je u svojstvima agenata. Osnovna svojstva agenata su: autonomnost agenata, sposobnost reakcije, orijentiranost ka cilju, vremenska trajnost, sposobnost učenja te komunikativnost i kooperativnost. Autonomnost agenta je njegova sposobnost da samostalno, neovisno od vanjskog poticaja djeluje i da ima kontrolu nad izvođenjem vlastitih aktivnosti. Sposobnost reagiranja je svojstvo agenta da trenutno odgovori na promjene u okolini i da se prilagodi promjenama. Orijentiranost ka cilju jest svojstvo agenta da prilagođava okolinu u skladu sa ciljevima koje treba ostvariti. Vremenska trajnost je sposobnost agenta da neprekidno radi; agenti predstavljaju neprekidni proces. Učenje je sposobnost značajna kod inteligencije, a ogledava se kroz mogućnost da agent uči od korisnika. Agent prati korisnikove radnje, pamti ih te u budućim sličnim slučajevima reagira autonomno od korisnika koristeći prije stečeno znanje. Kooperativnost i komunikativnost se negdje naziva "društvena sposobnost". Agenti imaju mogućnost da komuniciraju sa drugim agentima i na taj način upotpunjuju svoje znanje. Ukoliko sam agent nema znanja o nekom području, on može komunicirati sa drugim agentima kako bi dobio potrebna znanja. Sa ovim svojstvom povezan je i pojam agencije. Agencija je skup od više međusobno povezanih agenata koji kombiniraju vlastito znanje i aktivnosti kako bi opravdali svrhu postojanja. Upravo sa svojstvom agencije povezana su i neka dodatna svojstva agenata koji imaju za cilj oponašanje ljudskog zaključivanja. Ta dodatna svojstva su:
· Svojstvo istinitosti · Svojstvo benevolencije · Svojstvo racionalnosti
Svojstvo istinitosti pretpostavlja da agent neće svjesno davati lažne informacije. Svojstvo benevolencije pretpostavlja da agenti neće imati konfliktne ciljeve i da će svaki agent uvijek pokušati obaviti ono što se od njega traži. Svojatvo racionalnosti pretpostavlja da će agenti uvijek djelovati u skladu sa postavljenim ciljem i da neće onemogućavati postavljanje cilja bar dok se cilj ne izmjeni. Osim navedenih svojstava agenti moraju imati sposobnost da budu tolerantni prema greškama, neočekivanim ili pogrešnim ulazima. Neki radovi sa područja inteligentnih softverskih agenata spominju i karakterne osobine agenata tj. vjerovanja, obveze, zahtjeve, namjere. No, o tome više u nastavku.
4. Podjela agenata
Budući da su softverski inteligentni agenti mlado područje informacijske znanosti, a izbog svoje širine (u smislu područja koje zahvaća) postoje mnogobrojne podjele agenata. Najjednostavnija podjela agenata je prema osobinama agenata : · Reagirajući agenti: trenutno reagiraju na promjene u okolini · Autonomni agenti: obavljaju kontrolu nad vlastitim djelatnostima · Ciljno orijentirani: agenti za obavljanje specifične zadaće · Vremenski kontinuirani agenti · Komunikacijski: sposobnost komunikacije s drugim agentima je ključ koji omogućuje inteligentnim agentima da pronađu i izdvoje informacije brzo i to zbog toga što komunikacija omogućuje kooperativnost · Adaptivni agenti: oni agenti koji uče · Mobilni agenti: sposobni su putem mreže prelaziti sa jednog stroja na drugi; omogućuju bolje iskorištenje sistemskih resursa, manju zagušenost mreže i smanjenje vjerojatnosti greške u prijenosu · Fleksibilni agenti: njima su akcije unaprijed propisane · Karakterni agenti: imaju osobnost i emocionalna stanja (mentalni model- vjerovanja, obveze, zahtjeve, pretpostavke, namjere)
Agenti se mogu podijeliti na agente za prikupljanje informacija, za selekciju elektroničke pošte, agente za selektiranje vijesti... Brustolini klasificira agente na: regulacijske agente (reguliraju stanje; reagiraju na neki ulaz i uvijek znaju kako treba reagirati; oni ne planiraju i ne uče), agente za planiranje ( služe za rješavanje problema; zasnivaju se na pravilima iz baze znanja), prilagodljivi agenti (imaju sposobnost planiranja). Agenti bi se mogli podijeliti i na: · Agente koji planiraju i koji ne planiraju · Agente koji uče i koji nemaju sposobnost učenja · Mobilne i statične agente · Komunikacijske i samostalne agente
Mogla bi se konstruirati i slijedeća podijela agenata:
· Agenti za obavljanje nekog zadatka: obavljaju zadatke u ime korisnika ili drugog agenta · Agenti koji zaključuju: interpretiraju događaje, rješavaju probleme, određuju akcije koje će poduzeti · Komunikacijski agenti: komuniciraju sa drugim agentima pomoću jezika za komunikaciju (KQML npr.) · Agenti za pregovaranje ili informacijski agenti: koriste se za dijalog, pregovaranje i koordiniranje prijenosa informacija · Korisnički agenti: omogućuju komunikaciju s korisnikom; preko njih korisnik postavlja svoje zahtjeve i preko njih mu se predočuju rezultati obrada
Na kraju ovog dijela treba reći da se vrlo često agenti kombiniraju tj. stvaraju se zajednice agenata (tzv. agencije) namjenjene da pomažu korisniku.
5. Arhitektura agenata
Kad se govori o arhitekturi agenata misli se na takvu konstrukciju kompjutorskog sustava koja omogućuje agentima da to zaista i budu (da imaju osobine koje ih čine agentima). Arhitektura agenata je određena metodologija izgradnje agenata, ona određuje kako se agent dekomponira u niz modula i kako su ti moduli povezani. Ona pokazuje na koje načine moduli obavljaju svoje aktivnosti, a u svrhu obavljanja nekog zadatka. U arhitekturi agenata mogu se prikazati i veze između različitih agenata, a ne struktura samo jednog agenta. Kod arhitekture ne može se govoriti o jednoj, jedinstvenoj arhitekturi agenata. Kakva će ona biti ovisi o svrsi koju agent ili cijela agencija trebaju ostvariti. Zbog toga se može govoriti o čitavom prostoru oblikovanja arhitektura s jedne strane, ali isto tako i o prostoru zahtjeva i ograničenja vezanih za agente s druge strane. Ovdje ću prikazati primjer arhitekture jednog agenta i primjer arhitekture multiagentnog sustava.
5.1. Arhitektura jednog agenta
Ovdje će biti riječi o modulima koji su potrebni svakom od agenata kako bi agent mogao obavljati svoje funkcije . Svaki agent trebao bi imati takvu arhitekturu koja bi mu omogućila real-time interakciju sa korisnikom ili drugim agentom, prikupljanje informacija ili podršku u donošenju odluka. Agent se sastoji od: modula i dijela koji čini znanje agenta. Moduli su: modul za raspoređivanje, modul za komunikaciju i koordinaciju, modul za nadgledanje izvođenja, modul za planiranje i modul za upravljanje iznimkama. Dio koji čini znanje agenta: činjenice, mentalni model (vjerovanja, obveze, namjere, pretpostavke), dijelovi plana ovisni i neovisni o domeni.
MODULI
· Za planiranje: ulaz mu je skup ciljeva, a izlaz je plan koji omogućuje ispitivanje cilja; ulaz u ovaj modul je trenutni skup ciljeva agenta, trenutna struktura zadatka i zapisi shema reduciranja zadatka. Shema reduciranja zadatka prikazuje način dekompozicije zadatka na jednostavnije dijelove i opisuje informacijski tok među njima. To znači da izlaz iz jednog dijela može biti ulaz u drugi dio. Na osnovi sheme reduciranja zadatka radi se plan za izvođenje akcija · Za komunikaciju i koordinaciju: prihvaća i interpretira poruke od drugih agenata (napisanih u KQML - u). Poruke mogu sadržavati zahtjeve za uslugama. Ti zahtjevi postaju ciljevi za agente koji ih prihvaćaju. · Za raspoređivanje: raspoređuje svaki korak plana. Proces raspoređivanja ima za ulaz trenutni skup koraka plana nekog agenta, znači skup svih izvršnih akcija. Ovaj modul odlučuje koja će se, i da li će se uopće izvesti neka akcija. Akcija koja se treba sljedeća izvesti označava se kao namjeravana sve dok se zaista ne izvede (uz pomoć izvršnog dijela agenta). · Modul za nadgledanje izvođenja: potreban je zbog dinamične okoline, koja je neočekivana i može uzrokovati greške. Ovaj modul omogućuje reagiranje agenata na promjene. Kao ulaz u ovaj modul uzima se sljedeća namjeravana akcija. Modul za nadgledavanje izvođenja tada priprema, nadgleda i dovršava neku aktivnost. Pripremanje se obavlja kroz postavljanje konteksta (uz pomoć rezultata prethodne akcije) za akciju. Nadgledanje akcije obavlja se usporedbom vremena potrebnog za izvođenje akcije i vremena u kojem akcija ne napreduje (moguća greška). Uočena greška uzrokuje preoblikovanje plana izvođenja, a modul za upravljanje iznimkama vodi računa o tome da se greška što prije sanira ( za to vrijeme izvodi se druga akcija unutar nekog zadatka).
ZNANJE AGENTA
Sastoji se od:
· Dijelova plana neovisnih od domene: oni su indeksirani po ciljevima i njima je opisana struktura zadatka · Dijelova plana koji su ovisni o domeni: indeksirani su po planovima
Pomoću ovih zapisa, planovi mogu biti rekonstruirani i postepeno se mogu izvoditi prema ulaznim parametrima. Ovdje su zapisani izlazi iz modula za planiranje, a podaci se koriste kod izvođenja zadatka.
· Činjenice i mentalni model: bitni su za funkcionalnost modela
U nastavku nešto o multiagentnim sustavima.
5.2. Multiagentni sustavi
Ovi sustavi su skupovi više agenata različitih vrsta za koje je svojstveno da: djeluju autonomno u izvođenju zadataka, da svaki agent ima mogućnost komunikacije sa ostalima, agenti su potpuno integrirani ukoliko doista komuniciraju svaki sa svakim. Promatra li se funkcija agenata, onda se arhitektura u nekom multiagentnom sustavu može svesti na tri razine. Prvu razinu činili bi tzv. korisnički agenti. Drugu razinu sačinjavali bi agenti za obavljanje zadatka, a treću razinu informacijski agenti. Uloga korisničkih agenata jest komunikacija između korisnika i multiagentnog sustava. Od korisnika primaju ciljeve koje trebaju ispuniti i specifikacije zadataka, a korisniku prikazuju rezultate. S druge strane, korisnički agenti su povezani sa agentima druge razine i to mrežno tj. jedan korisnički agent može biti povezan sa više (teoretski sa svima) agenata za izvođenje zadatka. Korisnički agent šalje zadatke, a od agenata sa druge razine dobija prijedloge rješenja. Agenti sa druge razine (za obavljanje nekog zadatka) glavni su dio multiagentnog sustava. Agenata na drugoj razini ima više i svaki agent obavlja neki zadatak ili dio zadatka. Ukoliko trenutno nema informacija potrebnih za rješenje problema, komunicira sa agentima treće razine tj. informacijskim agentima. Jedan agent sa druge razine može komunicirati sa više agenata treće razine. Istovremeno, svaki agent sa druge razine može komunicirati i sa drugim agentima za obavljanje zadatka. Agenti na drugoj razini međusobno komuniciraju u svrhu rješavanja problema i radi integracije informacija. Agenti druge razine daju informacijskim agentima svoje zahtjeve za informacijama i očekuju određeni odgovor. Informacijski agenti (agenti na trećoj razini) povezani su međusobno, a isto tako jedan informacijski agent povezan je sa više informacijskih izvora. Informacijski izvori mogu biti najrazličitije baze podataka, baze znanja, nestrukturirani dokumenti i slično. Korisnik može tražiti informaciju koja se direktno zahtijeva od informacijskih agenata, bez posredovanja agenata sa druge razine. Opisana arhitektura predstavlja kolekciju inteligentnih softverskih agenata koji asinhrono surađuju u svrhu dolaženja do željenih informacija i njihove integracije. Prikazani multiagentni sustav ima svojstva da agenti asinhrono djeluju i surađuju, aktivno se traže informacije, prikupljanje informacija je integrirano. Kod ove arhitekture agenti mogu biti fizički locirani na različitim računalima u mreži.
FUNKCIJE AGENATA U OPISANOJ ARHITEKTURI
Korisnički agenti: prikupljaju bitne informacije za pokretanje akcija, prezentiraju važne informacije (uključujući rezultate i objašnjenja), propitkuju korisnika za dodatne informacije potrebne za rješenje problema, traže od korisnika potvrdu za neku aktivnost. Agenti za obavljanje zadatka: preuzimaju specifikaciju zadataka od korisnika, interpretiraju specifikacije i određuju ciljeve rješavanja problema, stvaraju plan za ostvarenje ciljeva, identificiraju podciljeve za pretraživanje informacija koje su prisutne u planu, dekomponira plan i koordinira se sa drugim agentima zbog rješenja aktivnosti tj. zbog nadogradnje i povezivanja rješenja. Informacijski agenti: nude jednokratan odgovor uz pomoć pridruženih informacijskih izvora, odgovara na periodične upite i rezultate šalje onom tko pita, nadgleda izvore informacija zbog mogućih promjena i o njima izvješćuje. Sve razine agenata imaju sposobnost učenja. Problem u multiagentnim sustavima jest komunikacija i inter operabilnost između agenata. Mora postojati standard u komunikaciji tj. zajednički jezik kojim agenti komuniciraju. Jedan od takvih jezika, koji teži da postane standard, je KQML (Knowledge Query and Manipulation Language). Agenti razmjenjuju poruke preko KQML-a ili imaju tzv. ulazne agente koji različite formate komunikacijskih kanala, podataka, upita prilagođavaju KQML-u. U nastavku bit će više riječi o agent orijentiranim jezicima, a u okviru njih i o KQML-u.
6. Agent orijentirani jezici
Zbog specifičnih osobina i zahtjeva koji se postavljaju pred agent orijentirane aplikacije, one se moraju programirati u agent orijentiranim jezicima. Osim agent orijentiranih jezika u kojima su pisani agenti (neki ih nazivaju interni jezici), postoje i jezici koji omogućuju komunikaciju između agenata (zovu se još i eksterni jezici) kao npr. KQML. U nastavku dat ću kratak pregled tih jezika.
· Smalltalk: razvio ga je XeroxParc. Popularan je u telekomunikacijskoj industriji. Koristi se za razvoj objektno orijentiranih, distribuiranih klijent server rješenja. · Tcl/Tl: koristi se za manje komercijalne aplikacije i prototipiranje.Strojno je neovisan. Napisan je u C jeziku. · Safe-Tcl: varijacija Tcl jezika. Koristi se za "inteligentni e-mail" kojim se povećava sigurnost · Perl: jezik napisan u C-u. Brži je od Tcl-a. Pogodan je za komercijalne aplikacije srednje veličine. · Pyton: objektno orijentiran jezik sa prijateljskim sučeljem. Idealan za programiranje agenata. · Telescript: objektno orijentiran jezik pogodan za programiranje mobilnih agenata · Java: najbolji jezik za pisanje Web aplikacija. Interpreterski, siguran i više platformski jezik. Može se izvesti na svakom stroju koji ima Java Runtime sustav. Pogodan za aplikacije interaktivne, elektroničke trgovine. · MS Active X: Microsoftov odgovor Javi.
KQML - jezik za komunikaciju među agentima
KQML (Knowledge Query and Manipulation Language - Jezik za manipulaciju i upite nad znanjem) dopušta agentima da međusobno komuniciraju preko univerzalnog protokola. KQML omogućuje svakom agentu u agenciji da koristi vlastiti unutrašnji jezik i mogućnost procesiranja, a da još uvijek kvalitetno komunicira sa ostalim agentima. Oblik KQML komunikacijskog jezika zasniva se na arhitekturi visokog stupnja apstrakcije. Sadržaj, poruke i komunikacijski oblik tri su razine KQML jezika. Razina sadržaja jednostavno je informacija koju jedan agent želi poslati drugom agentu. Razina poruka djeluje kao "ogrtač" oko sadržaja koji označava što informacija zapravo predstavlja. Konačno razina komunikacije "učahuruje" poruku i sadržaj te označava tko šalje i prima paket. (KQML se sastoji od tzv. ključnih riječi. One pomažu u komunikaciji između agenata. Ugrađene su u komunikacijsku razinu da bi opisali namjenu poruke, kao i tip govora koji se u poruci koristi. Primjeri ključnih riječi su : :sender, :reciever, :in-replay-to, :language...) Format razine poruke i razine komunikacije je standardiziran i zbog toga poruke mogu razmjenjivati bilo koji agenti unutar agencije. Na nesreću, KQML službeno nikad nije dovršen zbog nedostatka u semantici. Kako se koristi u praksi ovisi o konkretnom agentnom sustavu. Njegova upotreba u praksi nije tako jednostavna. Poruke koje se razmjenjuju moraju proći kroz nekoliko interpretera koristeći različite protokole što može uticati na integritet originalnog paketa. Osim toga, KQML nije dovoljno osiguran od modifikacija, nedopuštenog pristupa i od gršaka u komunikaciji. On je još uvijek u testnoj fazi . Istraživanje na ovom području u punom je jeku i očekuju se konkretniji rezultati.
7. Područja primjene agenata
Danas se sa proučavanjem inteligentnih softverskih agenata, pored znanstvenika, intenzivno bave i poslovni ljudi (direktno softverske kuće i indirektno kroz financiranje svi ostali) jer su uvidjeli veliku potencijalnu korist od agenata i to prije svega u: · području automatizacije pretraživanja, procesiranja i održavanja velikwe količine informacija koje su pohranjene u heterogenim, dislociranim informacijskim izvorima · području pomoći korisniku kod obavljanja poslova (uočava probleme i nudi pomoć-razni asistenti koji imaju mogućnost učenja) · agenti osiguravanju brzo i pravilno obavljanje posla i daju veću sigurnost u uvjetima brze promjene hardvera i softvera (u uvjetima dinamičke okoline)
Neka od područja primjene agenata ,mogu se podijeliti i ovako: - upravljanje sustavom i mrežom - mobilni pristup i upravljanje - pošta i poruke (čitači pošte, čitači vijesti) - pristupi i upravljanje informacijama - omogućavanje suradnje korisnika - praćenje toka procesa (workflow) i upravljanje njima - elektronička trgovina - prilagodljivo korisničko sučelje.
Danas postoje mnogobrojne aplikacije koje su agent orijentirane. Većina tih aplikacija se ne bi moglo nazvati agentima jer ne ispunjavaju sve uvjete. Ipak te aplikacije nisu niti "obični" programi jer imaju dodatna svojstva. Velika većina tih programa odnosi se na bolje i brže pretraživanje Interneta (npr. WBI od IBM-a, Copernic, Lycos itd), za selekciju vijesti ili čitanje elektroničke pošte. Razvili su se i multiagentni sustavi za pretraživanje i prikupljanje informacija (npr. RESTINA, SIMS itd.). Postoje i programi koji pomažu korisnicima (npr. Personal Assistent unutar MS Office-a), edukacijski programi (npr. Java Tutor, Miner - program za opis raznih metodologija kod razvoja informacijskih sustava).
Ovo su bili primjeri samo nekih od agenat orijentiranih aplikacija i poslužili su kao ilustracija da postoje i implementacije teoretskih postavki tj. dokaz da je koncept agenata ostvariv u praksi.
8. Budućnost agenata
Budućnost agenata je optimistična, ali prije njihove potpune primjene trebaju se riješiti neki problemi. Treba se isključiti svaka mogućnost da agenti naprave nekom štetu. Treba se osigurati da korisnik uvijek ima kontrolu nad agentima. Agenti ne smiju nikada otkriti vlastito znanje nekome kome ne bi trebali. Treba se poštivati pravo privatnosti.
U budućnosti će agent orijentirane aplikacije postati uobičajene. Toj pretpostavci ide u prilog mnogo činjenica:
- desktop aplikacije postaju toliko mpćne da korisnici mogu iskoristiti samo dio od njihovih mogućnosti; agenti bi pomogli ljudima da doista učine ono što žele i to bez ručnog rada - izvori informacija kao i njihov sadržaj neprekidno raste. Agenti pomažu filtrirati informacije i usmjeravaju korisnike prema značajnim podacima - korisnici su preopterećeni velikom količinom informacija; inteligentni agenti eliminiraju nepotrebne informacije i tako pomažu boljem upravljanju sa informacijama - klijenti i serveri danas posjeduju dosta moći da pomognu korisnicima i procesima - agenti nam štede vrijeme tako da omogućuju brzo pretraživanje Web stranica - inteligentni agenti se nalaze u testnoj fazi; u bliskoj budućnosti bit će kompletirani i potpuno spremni za upotrebu - danas već postoje alati za razvoj agenata (npr. AgentBilder) - velike korisničke aplikacije postaju agent orijentirane
Inteligentni softverski agenti štede vrijeme i olakšavaju upotrebu aplikacija. Njihov potencijal je neograničen. Stoga se rezultati optimistički očekuju. Agenti su novi izazov u informatičkom svijetu. Treba ga prihvatiti!
9. Zaključak
Danas, na pragu 21. stoljeća, zbog velike količine informacija koje nas okružuju, neophodno nam je potrebno pomagalo za bolje snalaženje u informacijskoj džungli. Inteligentni softverski agenti, kao koncept javili su se u drugoj polovici osamdesetih godina, a njihovo izučavanje je intenzivirano u devedesetim jer su prepoznati kao obećavajuće rješenje za problem prikupljanja, obrade, čuvanja velike količine informacija koje su podloga za kvalitetno odlučivanje. Inteligentni softverski agenti mogu pomoći ljudima na mnoge načine: - mogu sakriti složenost zadatka (agent može obavljati složene zadatke umjesto korisnika) - agenti mogu raditi u ime korisnika ( u smislu da kontroliraju aktivnosti, upozoravaju korisnike da treba nešto učiniti) - agenti mogu trenirati ili učiti korisnike (mogu pomoći korisniku da usavrši svoje vještine, daje sugestije, uočava greške i uči korisnika kako da ispravno postupi) - agenti pomažu suradnju različitih korisnika - nadgledaju događaje i procese
Sve ovo agenti ostvaruju na različite načine. Postoje razne arhitekture agenata, različiti multiagentni sustavi i agent orijentirani jezici. Velika raznolikost posljedica je mladosti područja. Upravo iz toga razloga postoji puno teoretskih postavki i praktičnih aplikacija koje nisu u potpunosti agent orijentirane. Bez obzira na gore navedene činjenice, mnogi agentni sustavi su u testnoj fazi, preležali su dječje bolesti i očekuje se njihova puna primjena do 2000. godine.Inteligentni softverski agenti su novi izazov, jedan od ulaza u informacijsku znanost 21. stoljeća kojeg ne treba olako zaobići.
10. Literatura
ARENS, CHEE: "Retrieving and integrating data from multiple information source"; Information Sciences Institute; University of Southern California, USA, 24 March 1994
BARBUCEANU,FOX: "The Information agent: building intelligent information infrastructures for enterprise integration"; Department of Indus