380 likes | 575 Views
Agentno poslovanje. Nastavne teme. arhitekture zasnovane na agentima osobine agenata inteligentni agenti multiagentni sistemi mobilni agenti primene i sigurnost. Svaki čovek uzima granice svojih predstava za granice celog sveta. Arthur Schopenhauer. A genti.
E N D
Nastavne teme • arhitekture zasnovane na agentima • osobine agenata • inteligentni agenti • multiagentni sistemi • mobilni agenti • primene i sigurnost
Svaki čovek uzima granice svojih predstava za granice celog sveta.Arthur Schopenhauer
Agenti • softverske (ili hardverske) komponente koje su sposobne da samostalno izvršavaju određeni zadatak za svog korisnika • koriste se kao posrednici u aktivnostima EP • donose novu metaforu koja se naziva kooperativni saradnik • sinteza ideja iz: • veštačke inteligencije • elektronskih transakcija • interakcija između ljudi i računara
Softverski agent • je program koji radi nezavisno u okruženju elektronskog tržišta, a u interesu njegovog korisnika • entitet koji autonomno deluje u ime svog korisnika i ima određeno ponašanje i pokazuje osobine učenja, kooperativnosti i mobilnosti • sinonimi: adaptivni interfejsi, personalni agenti, autonomni agenti, mrežni agenti, softbots, knowbots i taskbots
Glavne karakteristike agenata • autonomija: agenti usmeravaju svoj rad nezavisno i aktivno, bez učešća korisnika ili drugih agenata • interakcija sa okruženjem: agenti su sposobni da reaguju na dobijeni ulaz izvodeći određene akcije i menjajući okruženje • kooperacija: agenti mogu da međusobno komuniciraju • učenje: agenti mogu da uče u toku interakcija i reakcija • fleksibilnost: agenti treba da registruju promene u okruženju i reaguju adekvatnim akcijama i da uočavaju povoljne prilike
Koncept adaptivnosti • da bi serveri i agenti prihvatili dijalog, neophodno je da za to budu prilagođeni • dostupni atributi i preference registrovanih korisnika nalaze se u bazi podataka profila • dinamički kreirana kategorizacija poslovnih partnera vrše se na strani servera pomoću baze podataka i aplikacionog interfejsa • osnovne funkcije: odobrenja za različite mogućnosti pristupa, personalizacija u dijalogu sa kupcem sa dinamički kreiranim dokumentima i uslovi za narudžbu
Implementacija koncepta adaptivnosti • veliki broj ovakvih transakcija teško se može podržati klasičnim alatima i arhitekturama • u primeni se pojavljuju adaptivne tehnologije kao što su: • neuronske mreže • genetski algoritmi • generacija prirodnih jezika • zaključivanje zasnovano na slučajevima • odgovarajući pristupi soft computing‑a
Saradničke tehnologije • istraživanja veštačke inteligencije • data mining • modeliranje korisnika • napredne prezentacije znanja
Inteligentni agenti • dobijaju informacije iz svog okruženja na osnovu kojih donose samostalno odluke o svojim akcijama i izvršavajuih • autonomni, personalizovani, prilagodljivi, aktivni • realizuju se kao apleti – mali Java programi • ne zavise od računara, operativnog sistema ili Web browsera • sadrže senzore, na osnovu kojih opažaju svoje okruženje, i aktuatore, putem kojih dejstvuju na okruženje
Unutrašnji dizajn inteligentnog agenta • API sloj služi za komunikaciju sa korisnikom • definicioni sloj sadrži mehanizme rasuđivanja i učenja • organizacioni sloj služiza definisanje statusa pojedinih agenata u njihovoj grupi • koordinacioni sloj obezbeđuje tehnike razmene znanja i informacija sa drugim agentima • komunikacioni sloj definiše način komuniciranja sa drugim agentima
Sadržaj agenata • I deo: podaci koji se mogu samo čitati i u kojem su podaci koje je tu upisao programer ili korisnik agenta • II deo: programski kod agenta • III deo: protokol svih koraka izvođenja u obliku uslovnih kontrolnih naredbi
Baza znanja jednog agenta • baza činjenica - podaci na osnovu kojih se zasnivaju postupci inteligentnog agenta • baza ciljeva - zadaci agenta • standardni jezik i skup protokola za komunikaciju inteligentnih agenata je KQML (Knowledge Query and Manipulation Language - jezik za upite i rukovanje znanjem)
Najvažniji principi inteligentnih agenata • privremeost važenja njihovih informacija • prioriteti u zaključivanju moraju biti definisani • delegiranje principa pregovaranja drugom agentu je neophodno za pregovaranje • lako se prepogramiraju i ne zavise od računara • sami obogaćuju svoje znanje tehnikama mašinskog učenja • pokazuju inicijativu u obaveštavanju korisnika o informacijama koje zaključe da su značajne • lako se i brzo prilagođavaju promenama u okruženju
Vrste inteligentnih agenata • kolaborativni agenti sarađuju sa drugim agentima • interfejs agenti rade u sprezi sa korisnikom • mobilni agenti se sami prenose kroz mrežu • informacioni agenti prikupljaju i daju informacije • reaktivni agenti miruju dok ih ne pobudi spoljnji događaj • hibridni agenti poseduju više navedenih uloga • multagentni sistemi su organizovane grupe agenata sa navedenim ulogama
Primene inteligentnih agenata • navigacija i pretraživanje Interneta • filtriranje novinskih informacija • finansijske transakcije • elektronska trgovina • inteligentno podučavanje • izbor filmova, muzike i knjiga • kontrola saobraćaja i transporta • nadzor i kontrola industrijskih procesa, dijagnostika i opravka kvarova • medicinska nega • kontrola letilica
Mobilni agenti • inteligentni agenti koji su u stanju da se samostalno kreću preko računarskih mreža i kontaktiraju sa udaljenim računarima, na njima izvršavaju, sakupljaju informacije i vrate se računaru sa kojeg su krenuli da bi podneli izveštaj • oni imaju najčešće mogućnost samostalne navigacije (gde i kada ići i šta uraditi) • osnovu za pretraživanje podataka pomoću mobilnih agenata čine labele (obično imenice koje označavaju određeni podatak)
Osobine mobilnih agenata • broj informacija koje putuju preko mreže značajno se smanjuje u odnosu na 'klasične' udaljene pozive • nije neophodno neposredno uspostavljanje veze računara • agenta je moguće poslati na jednom mestu u mreži, a nakon toga ga pozvati sa neke druge lokacije pomoću prenosivog računara
Mehanizmi za pokretanje mobilnog agenta • udaljeno izvršavanje (remote execution): agent se premešta na jednu lokaciju na kojoj se jedino izvršava • kod na zahtev (code on demand): prenos agentnog koda inicira odredišni računar,na taj način pretraživači preuzimaju kod sa servera • migracija (migration): realizuje se izvršavanje postojećeg agenta na udaljenom računarunakon poziva komande za migraciju sa datom adresom
Životni ciklus agenta • inicijalizacija: na samom početku se izgrađuju inicijalne strukture podataka • pokretanje: početak njegovog rada, migracija sa jednog servera na drugi i izvršavanje pripremljenih instrukcija • pauziranje: označava period kada agent čuva međustanja, vrši serijalizaciju i zastaje sa radom • završetak rada: samo jednom, na kraju životnog ciklusa, kada agent prestaje sa radom
Inicijalizacija Pokretanje Pauziranje Završetak rada
Struktura mobilnih agenata • satoje iz dva dela: • u jednom su instrukcije na osnovu kojih agent formira svoje ponašanje • u drugom delu se nalazi trenutno stanje agenta i njegova prethodna stanja • na osnovu ovih podataka agent 'zna' šta je prethodno uradio i šta treba da uradi • agent podatke upisuje u deo koji će se prenositi na drugu lokaciju ili će ih izbrisati nakon odlaska sa lokacije
Prednosti mobilnih agenata • bolja podrška za mobilne klijente • olakšavaju semantičko pretraživanje informacija • ispitivanja i transakcije su fleksibilniji i robustniji, jer se izvršavaju lokalno • nije potrebno čuvanje njihovih procesnih stanja • omogućavaju finansijske transakcije sa elektronskim novcem • smanjuju se troškovi komunikacije • omogućavju rad softvera u nepouzdanim uslovima
Prepreke primeni mobilnih agenata • isplati se samo ako dobit od upotrebe prevazilazi troškove • većina sajtova nije spremna da omogući pristup agentimajer oni ne vide reklame na njima • agenti smanjuju opterećenje mreže i tako povećavaju njenu propusnost, ali opterećuju procesorsko vreme kod domaćina • poseban problem je zaštita servera od zlonamernih agenata i zaštita agenata od zlonamernih servera
Primene mobilnih agenata • pretraživanje informacija sa filtriranjem nebitnih • filteri kao zaštita od neželjenih informacija • osmatranje i čekanje na pojavu određenih informacija(najčešće akcija na berzi) • agenti naručuju, a ponekad i plaćaju za svog korisnika u ET • infrastruktura servera mobilnih agenata omogućava jednostavan način podele posla u režimu paralelnog procesiranja • modeli sportskih igara, šaha i kockanjapodržavaju takmičenja agenata
Multiagentni sistemi • grupa od dva ili više agenata koji međusobno sarađuju ili se takmiče u rešavanju problema • vrste multiagentnih sistema (MAS): • kooperativne MAS karakteriše međusobna saradnja i pomaganje agenata • kod takmičarskih MAS agenti se međusobno takmiče, a agenti-pobednici mogu da izvedu svoje akcije • delimično takmičarski MAS predstavljaju kombinaciju dve prethodne grupe
Sistemi agenata • direktne interakcije jednakih partnera u okruženju agentski vođenih komunikacionih mreža • mora se obezbediti kompatibilnost i interoperatibilnost za prethodno formirana rešenja • rešenja: različite klase Jave • primeri: IBM Aglets, Odyssey General Magic i Mitsubishi ElectricConcordia
Tipovi interakcijau MAS • kooperacija: zajednički rad agenata radi ostvarivanja zajedničkog cilja • koordinacija: organizacija rešavanja problema pomoću koje se izbegavaju štetne, a koriste povoljne interakcije između agenata • reagovanje: formiranje prihvatljivog sporazuma za sve učesnike
Osnovi konstrukcije MAS • primena data mininga i otkrivanja informacija u pronalaženju odgovarajućeg URL • filtriranje informacija i njihovo izdvajanje u razumljivom, raščlanjenom obliku • interpretacija podataka slična prirodnom jeziku • prezentacija podataka u formatu upita • interakcije sa drugim agentima u toku traženja rešenja
Problemi komunikacije agenata • ontološko izdvajanje: agent treba da drugom razumljivo opiše objekte na nedvosmislen način • strategija: kako agent da odredi pravila koje veličine u pregovorima treba ponuditi ili prihvatiti • ciljevi: kako agent da odredi koje funkcije pregovaranja odabrati • komunikacija: kako da se ponaša sa drugim agentom i šta da radi ako druga strana nema agenta
Elektronska tržišta zasnovana na agentima • kupac definiše šta bi kupio (sa kojim obeležjima) i od koga bi kupio • inicijalizovani agent pronalazi odgovarajućeg prodavca ili njegovog agenta i dostavlja podatke kupcu • brokerski sistemi ove vrste su Frictionless Commerce online shop i MATE (Multi-Agent Trading Environment)
Online aukcije • prodavci predaju opis onoga što prodaju, opisujući detalje zajedno sa početnom i krajnjom prihvatljivom cenom • na osnovu ovih podataka generiše se agent koji će vršiti pregovore o prodaji • poznatije aukcije ove vrste su eBay's Auction Web, Fishmarket i eAuction House
Multi-agentna elektronska tržišta • kupci i prodavci, pored predhodno navedenih osobina, opisuju i strategiju pregovaranja, funkciju sniženja, odnosno povećanja cena i rok do kojeg će se pregovori vršiti • najpoznatija implementacija ove vrste jeKazbaah • njeno proširenje sa nizom novih ulsova u pregovorima je Tete-a-Tete • obe su delo MIT Media Laboratory
Primeri iz prakse • program za kreiranje agenata: IBM System Aglets, a za server: Tahiti • informacioni agenti: BarginFinder i All Direct Books • kooperacioni agenti: CD Recomender System, GroupLens, WiseWire i OpenSesam • transakcioni agenti: MIT Market Maker • agenti za očuvanje anonimnosti: Anonymizer, Crowds, Onion Routing • agenti sa pseudonimima: LPWA • agenti-pregovarači: P3P
Slučajevi ugrožavanja bezbednosti • mogućnost napada agenta na server • mogućnost napada jednog agenta na drugi rešava se strogim, formalnim međusobnim razdvajanjem agenata na serverima • mogućnost napada i zloupotrebe agenta od strane zlonamernog servera
Mogućnost napada agenta na server • postoje 2 metode zaštite: • sandbox method ograničava agentima izvršenje malog skupa operacija uz ograničeni pristup datotekama i mreži • code signing method zasniva se na listama poverljivih klijenata, na osnovu kojih se odobravaju privilegije za agente pojedinih klijenata
Mogućnost napada servera na agenta • zlonamerni domaćin može čitati, manipulisati sa njim ili uništiti svako od područjaagenta • domaćin treba da pročita kod agenta i nije moguće kompletno ga kriptografisati • domaćin može promeniti delove u toku izvođenja agenta i nakraju vratiti sadržaj • domaćin može napraviti neograničeni broj kopija agenta i na izolovanim sistemima sprovesti testove tipa crne kutije da bi saznao kako agent reaguje na različite uslove • server takođe može preuzeti elektronski novac