agenti koji komuniciraju

15
VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA BLACE SEMINARSKI RAD PREDMET: Veštačka inteligencija TEMA: Agenti koji komuniciraju

Upload: aleksandar-ristic

Post on 26-Jun-2015

117 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Agenti koji komuniciraju

VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJABLACE

SEMINARSKI RAD

PREDMET: Veštačka inteligencijaTEMA: Agenti koji komuniciraju

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

Blace, 2010.

Page 2: Agenti koji komuniciraju

Agenti koji komuniciraju

SADRŽAJ:

1.KOMUNIKACIJA..................................................................................................................................3Uopšteno o komunikaciji.......................................................................................................................3

2.AGENTNA KOMUNIKACIJA..............................................................................................................4Softverski agenti....................................................................................................................................4

3.PROCES AGENTNE KOMUNIKACIJE..............................................................................................8Osnovne arhitekture agenata..................................................................................................................8Komunikacija agenata............................................................................................................................9Platforme agentne komunikacije..........................................................................................................10

LITERATURA………………………………………………………………………………………….12

2

Page 3: Agenti koji komuniciraju

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

Page 4: Agenti koji komuniciraju

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

Page 5: Agenti koji komuniciraju

Agenti koji komuniciraju

Vrste softverskih agenta date su u tableli.

Vrsta agenata Definicija

1. Sistemski agentAgent koji izvršava neki pozadinski zadatak ili postupak za

koji je specijalizovan

2. Korisnički agentKorisnički interfejs kod visoko razvijenih

mrežnih aplikacija

3. Klijentski agentKorisnički interfejs za serverski bazirane

aplikacije

4. Web crawlerServerski baziran program koji neprekidno ili

periodično pretražuje mrežu ili selektuje delove mreže tražeći potrebne informacije

5. Konverzacijski agentInteraktivni program koji putem veoma pristupačnog

interfejsa izvodi specifičnezadatke pod vođstvom korisnika

6. Inteligentni agent

Program koji teži ciljevima i to saminimalnim uputima, pri tome koristeći inteligenciju ili

heurističku tehniku, što samkompjuter čini pametnim

7. Mobilni agent

Autonoman program koji se kreće izmeđuhost sistema u toku postizanja određenog cilja, a odlikuje se fleksibilnošću pomoću koje se prilagođava promenama na

mreži

8.Zatvoreni multuagentni

sistem

Gusto integrisano aplikacijsko okruženje kod kojeg je deo aplikacije paralelan sa mini-

programima koji teže pod-ciljevima.

9.Otvoreni multi-agentni

sistem

Neodređeno, integrisano, aplikacijsko kruženje gde nezavisno izrađeni programi (ili agenti) mogu sarađivati u

interakcijama ukojima agenti imaju veliki značaj za zajednicu.

10.Osnovni softverski

agent

Inteligentan i fleksibilan program koji ima sposobnost dinamičke podele samog sebe pri čemu pod-agenti izvršavaju

pod-zadatke.Imaju sposobnost korišcenja razlicitih programskih jezika.

11. RobotInteligentni softverski agent koji je sposoban

da se kreće u realnom svetu.

12. Hibridni robot-agent

Robot koji može da komunicira sa jednim iliviše softverskih agenta ili softverski agent koji može da

komunicira sa jednim ili višerobota.

5

Page 6: Agenti koji komuniciraju

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

Page 7: Agenti koji komuniciraju

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

Page 8: Agenti koji komuniciraju

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.

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

OpažanjeMemorija

Odluka

Izvršenje

OkolinaSenzori Efektori

Page 9: Agenti koji komuniciraju

Agenti koji komuniciraju

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

OkolinaSenzori Efektori

Opažanje IzvršenjeRefleks

Page 10: Agenti koji komuniciraju

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

Page 11: Agenti koji komuniciraju

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

Page 12: Agenti koji komuniciraju

Agenti koji komuniciraju

LITERATURA

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

12