You are on page 1of 12

VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA

BLACE

SEMINARSKI RAD

PREDMET: Veštačka inteligencija


TEMA: Agenti koji komuniciraju

Student: Profesor:
Aleksandar Ristić 30/08-III dr. Branislav Jevtović

Blace, 2010.
Agenti koji komuniciraju

SADRŽAJ:

1.KOMUNIKACIJA..................................................................................................................................3
Uopšteno o komunikaciji.......................................................................................................................3
2.AGENTNA KOMUNIKACIJA..............................................................................................................4
Softverski agenti....................................................................................................................................4
3.PROCES AGENTNE KOMUNIKACIJE..............................................................................................8
Osnovne arhitekture agenata..................................................................................................................8
Komunikacija agenata............................................................................................................................9
Platforme agentne komunikacije..........................................................................................................10
LITERATURA………………………………………………………………………………………….12

2
Agenti koji komuniciraju

1. KOMUNIKACIJA

Uopšteno o komunikaciji

Mnogi autori koji se bave različitim pitanjima o fenomenu komunikacije, pokušavali su da daju
što precizniju definiciju komunikacije.
Prvu publikovanu definiciju ljudske komunikacije, dao je americki psiholog Kuli za koga je
"komunikacija mehanizam pomoću kojeg ljudski odnosi egzistiraju i razvijaju se, a čine ga simboli
duha sa sredstvima nijhovog očuvanja u vremenu". Komunikacija ne postoji bez života, kao ni obrnuto,
jer je istraživanjima utvrđeno da su i na ćelijskom nivou organizmi u stalnoj komunikaciji jedni sa
drugima.
Brojne definicije komunikacije nastale su tokom vremena a u zavisnosti od izbora konceptualne
komunikacione komponente u koje spadaju: simboli, signali, namere, proces, vreme, prostor,
interakcija, razumevanje, situaciona dinamika, ponašanje, funkcija, uloga, modeli, nivo razmene, nivo
analize itd.
Koliko je komunikacija kao čovekova potreba i aktivnost bitna govori i to da je sposobnost za
efektivnu komunikaciju u modernom poslovnom svetu prioritetan resurs i pojedinaca i organizacija.
Pojedine korporacije su već odavno prepoznale značaj komunikacije, a taj trend je nezaustvljiv i u svim
oblastima uslužnog sektora privređivanja. Jedinstven zaključak brojnih istraživanja je da nesuglasice u
komunikaciji mogu da štete organizaciji posla.
Za bolje razumevanje komunikacije potrebno je definisati pet ključnih koncepata: društvo,
procese, simbole, značenje i okruženje.

Slika 1. Ključni koncepti u definisanju komunikacije

3
Agenti koji komuniciraju

2. AGENTNA KOMUNIKACIJA

Po definiciji agent predstavlja svaki entitet u svetu koji komunicira u određenom kontekstu.
Prema opštoj podeli agenata postoje:
 ljudski agenti
 softverski agenti

Softverski agenti

Softverski agenti predstavljaju deo softvera koji radi za korisnika ili neki drugi program. To
uključuje nadležnosti koje odlučuju koja akcija će biti sprovedena. Srodni i izvedeni koncepti uključuju
inteligentne agente (pogotovo one aspekte koji su izraženi kod veštacke inteligencije, kao što su učenje
i zaključivanje), autonomne agente (sposobne da modifikuju načine za postizanje ciljeva), multi-
agentne sisteme (distribuirane agente koji nemaju sposobnost da izvršavaju naredbe sami) i mobilne
agente (agente koji su sposobni da relociraju njihove postupke na različitim procesorima).
Termin "agent" opisuje softversku apstrakciju, ideju ili koncept. Koncepcija agenta pruža
prikladan i moćan načn opisivanja softverskih entiteta koji su sposobni da deluju kod nekog stepena
autonomije kako bi izvršavali zadatke u ime korisnika.
Različiti autori zastupaju različite definicije agenata, koje u osnovi uključuju koncepte kao što
su:
 upornost (kod se ne izražava na osnovu zahteva, nego agent neprekidno radi i odlučuje o tome
kada treba neku aktivnost izvesti),
 autonomnost (agenti imaju sposobnost selekcije zadataka, prioriteta, ponašanja usmerenog ka
cilju, donošenja odluka bez ljudske intervencije),
 socijalna sposobnost (agenti mogu da angažuju i neke druge komponente prilikom izvršavanja
zadatka pomoću neke vrste komunikacije),
 reaktivnost (agenti opažaju kontekst u kome deluju i u skladu sa njim deluju).

Sposobnosti agenta uključuju:


 adaptaciju
 učenje

Adaptacija podrazumeva osećanje okoline i rekonfiguraciju odgovora. Ovo se može postići


pomoću odgovarajućeg algoritma ili kroz otkrivanje strategija za rešavanje problema. Adaptacija,
takođe, može da uključje i druge aspekte unutrašnje konstrukcije agenata.
Učnje se može odvijati na osnovu primera i generalizacije, što povlaci za sobom smanjenje
kapaciteta.
Softverski agent može biti autonoman ili polu-autonoman, što znači da može izvršavati zadatke
samostalno, bez direktnog nadzora ili direktne kontrole, pri cemu može, a i ne mora, postojati
korisnički interfejs.
Softverski agent bi trebao da poseduje visok nivo inteligencije kako bi mogao da deluje u
dinamičkom okruženju. Takođe, postoje i „glupi“ softverski agenti koji mehanički izvršavaju tačno
definisane zadatke i zahtevaju nadzor i kontrolu.

4
Agenti koji komuniciraju

Vrste softverskih agenta date su u tableli.

Vrsta agenata Definicija


Agent koji izvršava neki pozadinski zadatak ili postupak za
1. Sistemski agent
koji je specijalizovan

Korisnički interfejs kod visoko razvijenih


2. Korisnički agent
mrežnih aplikacija

Korisnički interfejs za serverski bazirane


3. Klijentski agent
aplikacije

Serverski baziran program koji neprekidno ili


4. Web crawler periodično pretražuje mrežu ili selektuje delove mreže tražeći
potrebne informacije
Interaktivni program koji putem veoma pristupačnog
5. Konverzacijski agent interfejsa izvodi specifične
zadatke pod vođstvom korisnika
Program koji teži ciljevima i to sa
minimalnim uputima, pri tome koristeći inteligenciju ili
6. Inteligentni agent
heurističku tehniku, što sam
kompjuter čini pametnim
Autonoman program koji se kreće između
host sistema u toku postizanja određenog cilja, a odlikuje se
7. Mobilni agent
fleksibilnošću pomoću koje se prilagođava promenama na
mreži
Gusto integrisano aplikacijsko okruženje kod kojeg je deo
Zatvoreni multuagentni
8. aplikacije paralelan sa mini-
sistem
programima koji teže pod-ciljevima.
Neodređeno, integrisano, aplikacijsko kruženje gde
Otvoreni multi-agentni nezavisno izrađeni programi (ili agenti) mogu sarađivati u
9.
sistem interakcijama u
kojima agenti imaju veliki značaj za zajednicu.
Inteligentan i fleksibilan program koji ima sposobnost
Osnovni softverski dinamičke podele samog sebe pri čemu pod-agenti izvršavaju
10.
agent pod-zadatke.
Imaju sposobnost korišcenja razlicitih programskih jezika.
Inteligentni softverski agent koji je sposoban
11. Robot
da se kreće u realnom svetu.
Robot koji može da komunicira sa jednim ili
više softverskih agenta ili softverski agent koji može da
12. Hibridni robot-agent
komunicira sa jednim ili više
robota.

5
Agenti koji komuniciraju

Softverski agenti mogu da se kreću u mreži, kao i u realnom svetu, ali takođe, mogu da budu i
statični i sve što rade rade putem host računara u mreži, uključujući i pristupe izvorima koji su na tom
ili nekom drugom host računaru. Interaktivni ili konverzacijski agent može da bude asistent pod
direktnom kontrolom korisnika. Ovo predstavlja manje autonoman način delovanja, ali je agentu
omogućeno da se isključuje kao i da dođe do nekog cilja radeći autonomno. Agentu su dati cilj i
fleksibilnost koji mu omogućavaju da dođe do cilja.

Agent može da deluje kao:


 single-agent (jedan agent koji izvršava sve zadatke kako bi došao do određenog cilja)
 deo grupe agenata (ralativno mali tim agenata, gde je svaki agent specijalizovan za tačno
određeni zadatak) ili
 deo velike grupe agenata (veliki broj agenata koji zajednički rešavaju zadatke).

Skup softverskih agenata ili multi-agentni sistemi koji imaju dosta nezavisnih agenata mogu da
sarađuju u potrazi za zajedničkim ciljevima. Skup bi mogao biti ograničen unapred određenim brojem
članova, ili se može omogućiti da skup bude otvoren, pri čemu je omogućeno da agenti iz okruženja
pristupe tom skupu.

Softverski agent može da radi bez prekida ili neodređeno, pri tom neprekidno težeći ka svojim
ciljevima. Takođe, agent prekida sa radom onda kada dostigne svoje ciljeve ili kada mu ti ciljevi nisu
više od značaja.

Softverski agenti predstavljaju sledeći evolutivni stepenik posle objekata i programa. Objekti su
skloni pasivnosti, kao i skrivanju unutar programa, dok programi imaju tendenciju da budu relativno
statični. Softverski agenti nude mogućnost paralelne i međuprogramske kolaboracije, što omogućava
lak, pouzdan, fleksibilan i siguran način rada.

Svakog agenta, bilo ljudskog bilo softverskog karakterišu sledeće osobine:


 okruženje - upravljačko okruženje ili okruženje pod kojim senzori rade,
 senzori - koji omogućavaju agentima da opažaju okruženje,
 efektori - daju odgovor na percepciju.

Za opažanje okruženja agent koristi senzore na koje deluju stimulusi iz okruženja. Informacije
koje je agent prikupio u toku sekvence opažanja se čuvaju u memoriji agenta. Akcije koje je agent u
mogućnosti da izvrši zavise od sekvence opažanja. Za efikasno i efektivno reagovanje agenta
odgovorna je funkcija mapiranja. Funkcija mapiranja mapira listu perceptivnih sekvenci tokom akcije
agenta, te se na osnovu toga sastavlja tabela akcija kao odgovor na svaku sekvencu opažanja.

Autonomija agenata predstavlja jedan od važnijih koncepata za rad inteligentnih softverskih


agenata. Ponašanje agenata može biti zasnovano na sopstvenom iskustvu ili ugrađenom znanju
korišćenom pri projektovanju agenata za određenu okolinu u kojoj će taj agent da deluje. Sistem je
autonoman ukoliko je ponašanje agenta određeno pomoću sopstvenog iskustva. U slučaju da se
ponašanje agenata bazira isključivo na ugrađenom znanju, agentu bi trebalo obezbediti dovoljnu
količinu znanja za početak, kao i dati mu sposobnost da uči. Fleksibilnost agenata da deluje u različitim
uslovima se postiže autonomijom agenata. Autonoman, inteligentan agent morao bi biti u mogućnosti
da deluje uspešno u različitim okruženjima, pri čemu je obezbeđeno dovoljno vremena da se agent
adaptira.

6
Agenti koji komuniciraju

Slika 2. - Osobine agenta

Program pomoću koga agent funkcioniše predstavlja funkciju na osnovu koje se vrši mapiranje
percepcije u toku akcije. Program koji se odabere mora biti kompatibilan sa arhitekturom agenta. Na
primer, kompjuter mora posedovati odgovarajući softver da bi njegov rad bio moguć. Uopšteno,
arhitektura agenta omogućava da percepcija putem senzora bude prilagođena programu, zatim da
upravlja programom i prenosi odgovarajuće akcije na efektore. Odnos između agenta, arhitekture i
programa može biti predstavljen na sledeci način:

AGENT = ARHITEKTURA + PROGRAM

Dizajn programa zavisi od cilja koji se želi postići, kao i od sredine u kojoj agent treba da
deluje. Agent može da deluje u realnoj i veštackoj sredini. Na primer, rad robota je primer agenta koji
radi u realnoj sredini. Za softverske agente veštačka okolina je određena pomoću inputnih podataka
datih putem tastature i izlaznih podataka prikazanih na monitoru. Softverski agenti su dizajnirani da
pretražuju izvore online vesti kojima će obezbeđivati svoje klijente. Da bi izvršio kako treba svoje
zadatke softverski agent treba da je sposoban za procesiranje nekog prirodnog jezika.

Agenti mogu koristiti uobičajan jezik sa nezavisnom agentnom semantikom (ista poruka bi
trebalo da ima isto značenje u bilo kom kontekstu). Markup jezik veštacke inteligencije je najčešće
korišćen XML (eng. Extensible Markup Language), koji predstavlja dobar jezik za projektovanje
agenata. XML je projektovan kako bi se obezbedila razmena podataka. Takođe, on je dizajniran za
prenos, a ne za prikaz podataka i fokusiran je na vrstu podataka, a ne na to kako ti podaci izgledaju.

Komunikacija između agenata može biti:


1. direktna komunikacija i
2. posredna komunikacija.

Kod direktne komunikacije agenti rukuju sopstvenom koordinacijom. Ovakav pristup se ne


oslanja na postojanje i mogućnosti drugih programa. Kod posredne komunikacije agenti međusobno ne
komuniciraju direktno. Umesto toga, agenti su udruženi u grupacije agenata gde svaka grupacija
agenata ima agenta koji predstavlja koordinatora, što znači da agenti ne komuniciraju direktno između
sebe, nego preko koordinatora, a dalje koordinatori komuniciraju sa drugim koordinatorima. U

7
Agenti koji komuniciraju

grupacijama agenata oni koriste ACL ( eng. Access Control list) kako bi dokumentovali svoje potrebe i
sposobnosti svojim lokalnim koordinatorima.

ACL predstavlja obično listu podataka koji su struktuirani najčešće u obliku tabela koje sadrže
entitete koji su specifični, kako za pojedinačnog korisnika, tako za grupu korisnika. Ovi entiteti su
poznatiji kao kontrolni pristupni entiteti (eng. Access Control Entries ) kod na primer Microsoft
Windows operativnog sistema.

3. PROCES AGENTNE KOMUNIKACIJE

Osnovne arhitekture agenata

U teoriji agenata razlikuju se dve glavne arhitekture:


 dogovorna i
 reaktivna.

Dogovorni agenti potiču od simboličke veštacke inteligencije i iziskuju simboličku


reprezentaciju njihovog okruženja. Oni primenjuju mehanizme logičkog rasuđivanja zasnovane na
manipulaciji simbolima i mehanizmima zaključivanja da bi se donele eksplicitne odluke o neophodnim
akcijama radi postizanja željenih ciljeva.

Okolina
Senzori Efektori

Memorija
Opažanje Izvršenje

Odluka

Slika 3. – Dogovorna agentna arhitektura

Reaktivni agent implementira prosta refleksna pravila koja deluju na osnovu podataka koje
prima agent na senzorima. On nema memoriju zasnovanu na prošlim iskustvima ili situacijama i
izvršenje akcija je isključivo zasnovano na tekućoj situaciji okruženja agenta. Iako sam agent ima samo
ograničen skup pravila koja upravljaju njegovim ponašanjem, on se može nositi sa različitim
situacijama.

8
Agenti koji komuniciraju

Okolina
Senzori Efektori

Opažanje Refleks Izvršenje

Slika 4. – Reaktivna agentna arhitektura

Pored ova dva tipa arhitekture postoji i hibridna agentna arhitektura sa slojevitim pristupima
koja predlaže da se objedine oba tipa arhitekture: brze reakcije od reaktivne arhitekture i odluke
zasnovane najtrajnijim strategijama koje donosi dogovorna arhitektura.

Komunikacija agenata

Sposobnost agenata da aktivno komunicira olakšava dizajn multi-agentnih sistema – MAS.


Multi-agentni sistem je sistem koji je sastavljen od više agenata direktno sposobnih za dostizanje
ciljeva koje je vrlo teško postići individualnim nastupom. MAS sadrži grupu agenata koji međusobno
razmenjuju poruke koje su definisane u specifičnom jeziku za komunikaciju agenata (eng. Agent
Communicate Language – ACL).

ACL se sastoji od: zaglavlja poruke i tela poruke. U zaglavlju su polja deklarisana kao zahtev ili
informacija koji izražavaju osnovnu nameru zbog koje pošiljalac želi da komunicira sa primaocem,
obezbeđuje podatke za komunikacioni menadžment (npr. identifikatori poruka) i meta-informaciju o
sadržaju poruke (npr. ontologiju korišcenu za definisanje poruke). U telo poruke uključen je sadržaj
poruke koji specificira teme konverzacije, npr. šta je traženo u poruci.

Da bi korektno pristupio poruci agent koji prima poruku mora da primi i informaciju i sadržaj
poruke. Sadržaj poruke agenta je kodovan terminima ontologije koji su definisani za specificni domen.

Komunikacija između softverskih agenata omogućava koordinaciju aktivnosti koje obavljaju


različiti agenti. Koordinacija je, na primer, potrebna kada softverski agenti ugovaraju cene roba ili
usluga u ime coveka. Drugi vid MAS-a je njihov potencijal u rešavanju problema putem
kooperativnosti, koji se može zasnivati na slanju podzadataka različitim agentima. Kooperativno
ponašanje se zahteva u proaktivnoj fazi prikupljanja podataka, gde je podzadatak (prikupljeni podatak
podkomande) poslan snabdevaču za informaciju njenoj podkomandi. Imajući u vidu da snabdevačev
agent ne sarađuje, on neće isporučiti željeni odgovor iako je razumeo zahtev. Ovo ilustruje razliku
između softverskih agenata i objektno orijentisanih sistema (objektno-orijentisani sistemi nemaju
izbora već, u slučaju da je neka od njihovih metoda prozvana, rade u skladu sa svojom namenom.

9
Agenti koji komuniciraju

Koordinacija i kooperacija između agenata ostvaruje se kroz komunikaciju između njih u


višestepenim dijalozima (npr. pregovaranje ili zahtevanje nečega što iziskuje razmene nekoliko
poruka). Ovi nizovi interakcija su sumirani u protokole interakcija. Protokole interakcija
standardizovala je FIPA (eng. Foundation for Intelligent Physical Agents), čime je različitim agentima
olakšana koordinacija ili kooperacija.

Platforme agentne komunikacije

Softverski agenti se implementiraju u različite programske jezike. Da bi se olakšala


komunikacija između agenata, realizovana je direktna komunikacija agent-agent, koja je veoma
fleksibilna ali izaziva probleme u kontroli i sigurnosti. Osim nje se koriste i standardne osnovne
komunikacione usluge. Kasnije su razrešeni problemi u kontroli i sigurnosti, ali je to zahtevalo deljenje
logičke komunikacije između agenata i fizičke komunikacije zasnovane na standardnoj platformi. FIPA
je propisala skup standarda za menadžment u komunikacijama, prenos poruka i osnovne usluge koje su
integrisane u platformu agenta.

Platforma agenta služi kao standardno "stanište" softvera agenta i dozvoljava onome ko razvija
sistem da se usredsredi na to da agentom sistema razreši funkcionalne aspekte problema. Ona
predstavlja prelazni proizvod između postojećih osnovnih mrežnih resursa ili operativnog sistema hosta
i aplikacionog sloja predstavljenog specifičnim softverskim agentima.

Slika 5. – FIPA standardna platforma agenata

Usluga prenosa poruka (Message Transport Service, MTS) FIPA platforme obezbeđuje siguran
i pouzdan transport poruka među agentima. Ona takođe obezbeđuje da agenti različitih platformi
agenata koji su, npr. smešteni u različitim preduzećima mogu razmenjivati poruke.

Svaka platforma obezbeđuje dva standardna tipa usluga: servis menadžmenta agenta (eng.
Agent Management Service - AMS) i olakšavanje upravljanja (eng. Directory Facilitator- DF).

10
Agenti koji komuniciraju

Servis menadžmenta agenta sprovodi trenutno i završno stanje agenta na platformi. Za vreme
inicijalizacije od svakog agenta se traži da se registruje sa servisom menadžmenta agenta.

Olakšavanje upravljanja obezbeđuje žute stranice na kojima softverski agenti mogu da objave
svoje vlastite usluge da bi olakšali kooperaciju između agenata.

11
Agenti koji komuniciraju

LITERATURA

- Artificial Intelligence - A Modern Approach, Stuart J. Russell and Peter Norvig


- www.wikipedia.org

12

You might also like