You are on page 1of 35

Inteligentni agenti

ta rade inteligentni agenti?


Kakav je njihov odnos imaju prema okolini okruenju u kome se nalaze?

Kako se ocenjuju evaluiraju agenti?


Kako bi se mogao napraviti inteligentni agent?

2.1 Uvod o inteligentnim Agentima


Agent je bilo ta to se moe posmatrati da na neki nain opaa svoju okolinu pomodu senzora i to na osnovu toga deluje na svoju okolinu preko preko efektora aktuatora Ljudski humani agent ima oi, ui, i druge organe kao senzore, i ruke, noge, usta i druge delove tela kao aktuatore. Agent robot moe da ima kamere, IC ureaje, mikrofone kao senzore i razne motore kao aktuatore Agent robot koristi A/D konvertore da radi sa digitalnim vrednostima i D/A konvertore da pretvori dobijene bitove preko motora u neku akciju

Generic agent

Razumni agent bi trebalo da se razumno ponaa To je bolje od drugih mogudih varijanti ponaanja, ali ta to tano znai? U prvoj aproksimaciji, moe se redi da je razumna akcija ponaanje ba ono, koje de dovesti do uspeha ostvarivanja cilja Dalje, treba definisati kako se ocenjuje evaluira ponaanje agenta - da li je uspeno i da li vodi ka postavljenom cilju. Kriterijum uspenosti delovanja ponaanja agenta se moe nazvati performance measure ili mera performansi

ta bi agent trebalo da radi?

Razumni agenti
Idealni inteligentni agent je nemogud! Zato se postavljaju neki manje strogi zahtevi za razumno racionalno ponaanje Racionalno ponaanje agenta u prvom redu zavisi od: 1. Odabrane mere performansi performance measure, koja treba da definie nivo uspenosti 2. Od svega to agent u toku vremena do nekog trenutka opazi, to predstavlja njegovu kompletnu ukupnu istoriju opaanja ili sekvencu opaaja - percept sequence. 3. Od znanja agenta o svojoj okolini 4. Od postupaka akcija koje agent moe da izvede

Definicija idealnog razumnog agenta:


Za svaki mogudi niz opaenih sekvenci, idealni razumni agent bi trebalo da uradi sve to god moe da bi maximizovao svoj performance mesure na osnovu podataka iz opaene sekvence i na osnovu ugraenog znanja kojim agent raspolae. Pojam agenta je vie vezan za terminologiju softverskih AI sistema, nego za neku bezuslovnu podelu na agente i ne agente.

Primer jednostavnog trivijalnog agenta


Obian sat ili asovnik, moe da se posmatra kao obian neivi objekat, ili kao jednostavan agent. Kao agent, sat uglavnom radi ono to i treba pravilno pokazuje vreme. Kao takav, sat moe da se posmatra kao degenerisani agent ija je lista opaaja uvek prazna, tako da ma ta da se desi u spoljanjem svetu, to nema uticaja na ponaanje asovnika. Pri prenosu u drugu vremensku zonu, sat se mora podesiti nema opaanja prelaska u drugu vremensku zonu

Svaki agent se moe opisati kreiranjem tabele akcija koje agent izvrava kao odgovor na svaku mogudu opaenu sekvencu. Za vedinu agenata, to bi bila veoma dugaka lista beskonana, ukoliko se ne ogranii na neki nain Takva lista se zove predstavlja preslikavanje opaenih sekvenci u akcije Ako preslikavanja mapiranje opisuje agenta, onda idealno preslikavanje opisuje idealnog agenta. Odreivanje specifikacija, koju akciju agent treba da preduzme kao odgovor na bilo koju opaenu sekvencu, predstavlja dizajniranje idealnog agenta

Idealno preslikavanje opaenih sekvenci u akcije

Tabela nije uvek potrebna

Autonomija
Neki sistem je autonoman u onoj meri u kojoj je njegovo ponaanje odreeno sopstvenim iskustvom. Ponaanje agenta se moe zasnivati i na sopstvenom iskustvu, kao i na ugraenom znanju koje je upotrebljeno za konstruisanje agenta za odreenu sredinu u kojoj agenta treba da deluje Kada agent ima malo ili nema iskustva uopte, trebalo bi da se ponaa nasumino, ukoliko mu dizajner ne pomogne Kao to su u procesu evolucije ivi organizmi ivotinje obdarene uroenim refleksima koji im pomau da preive dovoljno dugo da sami naue kroz sopstveno iskustvo, u sluaju agenata sa vetakom inteligencijom to bi znailo da agent treba da ima neko inicijalno znanje, kao i mogudnost da ui. Autonomija nije samo neto to odgovara naoj intuiciji, ved predstavlja primer odlinog inenjerstva kreiranje autonomnog sistema je jedna vrsta inenjerskog ideala nije potrebno upravljanje, odravanje, ... Sutinski autonoman inteligentni agent bi trebalo da moe da uspeno funkcionie u velikom broju raznovrsnih sredina okruenja i sa dovoljno vremena za prilagoavanje novim uslovima

STRUKTURA INTELLIGENTOG AGENTA


Jedan od zadataka AI je da dizajnira program za agenta: funkciju koja implementira preslikavanje od opaaja do akcija. Pretpostavlja se da de taj program da radi na nekom raunarskom ureaju sa odgovarajudom arhitekturom koja de se zvati jednostavno arhitektura Odnos izmeu agenata, arhitekture i programa se moe predstaviti kao: agent = architecture + program Pre nego to se dizajnira program za agenta, mora postojati jasna ideja o tome ta je sve mogude: Opaaji, akcije, koje ciljeve treba ostvariti, koja je performance measure potrebna U kakvoj de okolini sredini agent funkcionisati

The most famous artificial environment is the Turing Test environment, in which the whole point is that real and artificial agents are on equal footing, but the environment is challenging enough that it is very difficult for a software agent to do as well as a human.

Agent programs

Od agenta se oekuje da stekne iskustvo sekvencu opaaja koja se belei u memoriji agenta. U nekim okruenjima, mogude je da agent bude uspean bez pamdenja sekvence opaaja, dok u nekim sloenim okruenjima nije ni mogude pamdenje kompletne sekvence dogaaja. Dalje, cilj koji teba postidi ostvariti, kao i performance measure, nije deo osnovne strukture programa, jer se performance measure primenjuje eksterno za nezavisnu ocenu agenta i esto je mogude je da se postignu visoke performance bez eksplicitnog znanja o performance measure

Zato jednostavno ne pogledati odgovore?

Zato jednostavno ne pogledati odgovore?


1. Potrebna tabela za neto sasvim jednostavno kao to je to agent koji zna samo da igra ah, bi imala otprilike oko 35100 redova 2. Takva tabela je sasvim neprihvatljiva, u prvom redu zbog potrebnog vremena za sastavljanje 3. Agent nema nikakvu autonomiju, jer su ved ugraene funkcije za optimalne akcije 4. Ako se okolina promeni na neki neoekivan nain, agent ne moe da reaguje na adekvatan nain 5. ak iako agent poseduje mehanizam za uenje, tako da moe da ima izvesnu autonomiju, uenje najboljih poteza za sve mogude pozicije na tabli bi trajalo beskonano Uprkos svemu ovome, TABLE-DRIVEN-AGENT, tj. agent baziran na tabeli stanje / percepcija akcija radi ono to se oekuje: implementira odgovarajude mapiranje Nije dovoljno redi da ovakav agent nije inteligentan, treba razumeti zato agent koji moe da rezonuje bolje funkcionie izbegavajudi navedene nedostatke

Primer

Tipovi agenata koji de biti razmatrani: Jednostavni refleksni agenti Agenti koji prate okruenje u kome se nalaze Agents rukovoeni ciljem Agenti rukovoeni koridu

Jednostavni refleksni agenti


Mogudnost konstruisanja eksplicitne iscrpne tabele za pretraivanje u realnim sluajevima jednostavno ne dolazi u obzir Primer: Snimci sa jedne kamere frekvencije 25 slika u sec sa 1000 x 1000 pixels, 8 bita boje i 8 bita za intenzitet, to je oko 50M po slici ili za sat vremena 260X60X50M to je neprihvatljiva koliina informacija Mogude je da se takva tabela znaajno same redukuje uoavanjem odreenih ulazno / izlaznih veza koje se esto ponavljaju. Takve veze se nazivaju condition-action rule pravilo uslov akcija i zapisuju se kao: if car-in-front-is-breaking then initiate-braking

Ljudi takoe poseduju mnoge sline veze reflekse. Neki su naueni odgovori, kao to je sluaj sa vonjom, dok se drugi uroeni kao to je to sluaj sa treptanjem kada se neto primie oku Na slici je predstavljena osnovna struktura jednostavnog refleksnog agenta Jednostavno pravilo tipa condition-action omogudava da agent ostvari neophodnu vezu opaaja i akcije

Odgovarajudi program za agenta koji je takoe veoma jednostavan u ovom sluaju, je prikazan na slici ispod. INTERPRET-INPUT funkcija generie apstraktni opis tekudeg stanja opaaja RULE-MATCH funkcija vrada prvo pravilo u skupu pravila koje odgovara datom opisu stanja. Iako se ovakvi agenti mogu veoma efikasno implementirati, stvarne praktine mogudnosti njihove primene su veoma ograniene

Agents that keep track of the world

Auriranje informacije o internom predstavljanju stanja okoline sa vremenom zahteva dve vrste znanja koje treba predstaviti u programu inteligentnog agenta Potrebno je znanje o tome kako se okolina menja sa vremenom evoluira, nezavisno od samog agenta. Zatim, potrebno je znanje o tome kako akcije agenta utiu na funkciju UPDATE-STATE kojom se kreira unutranji opis stanja. Osim interpretiranja novog opaaja u svetlu postojedeg znanja o stanju, informacije o spoljanjem svetu se koriste i za pradenje nevidljivog stanja okoline koja se ne vidi direktno iz podataka senzora Vano je i poznavanje uticaja akcija agenta na stanje spoljanje okoline

Goal-based agents
Poznavanje tekudeg stanja okoline nije uvek dovoljno za donoenje odluke o tome kako inteligentni agent treba da deluje. Agentu je potrebna neka vrsta informacije o cilju i koja opisuje situacije koje su povoljne i poeljne. Program agenta moe da kombinuje informacije o cilju sa informacijama o rezultatu mogudih akcija (iste informacije koje se koriste za auriranje unutranjeg stanja refleksnog agenta) da bi se odabrale akcije za postizanje cilja Nekada to moe biti sasvim jednostavno kada ostvarivanje cilja sledi iz samo jedne akcije, dok u drugim sluajevima moe biti sloenije, kada agent treba da razmotri dugake sekvence akcija i razne mogude obrte da bi naao nain za ostvarivanje postavljenog cilja. Pretraivanje i planiranje su pod oblasti AI posvedene pronalaenju sekvenci akcija koje postiu ostvaruju postavljene ciljeve / cilj agenta

Utility-based agents
Ciljevi sami za sebe nisu dovoljni za generisanje odgovarajudeg efikasnog ponaanja agenta. Moe da postoji vie razliitih nizova akcija koje postiu isti cilj, ali neki su bri, sigurniji, pouzdaniji, ili jeftiniji nego ostali. Poznavanje ciljeva omogudava samo grubo razlikovanje izmeu vie i manje odgovarajudih stanja sa aspekta cilja, dok je za optiju performance measure potrebno obezbediti poreenje razliitih stanja spoljanje sredine ili sekvenci stanja prema tome kako doprinose ostvarivanju postavljenog cilja agenta ukoliko su mogudi. Bolji izraz je da se izbor vri prema prioritetu stanja sa aspekta korisnosti za cilj koji agent treba da postigne

Korisnost je funkcija koja koja vri mapiranje preslikavanje stanja u realan broj koji opisuje pridruen stepen korisnosti. Potpuna specifikacija funkcije korisnosti omogudava racionalne odluke u dve vrste sluajeva koje ciljevi ne omogudavaju. U sluaju konfliktnih (suprotstavljenih)ciljeva od kojih se samo neki mogu postidi (na primer brzina i sigurnost), funkcija korisnosti odreuje odgovarajudi kompromis. Kada postoji vie ciljeva, koje agent moe da ostvari, od kojih se nijedan ne moe ostvariti sa sigurnodu, korisnost omogudava nain za merenje izgleda na uspeh ostvarivanje cilja naspram vanosti cilja

Bilo koji razumni agent se moe opisati funkcijom korisnosti. Agent koji poseduje eksplicitnu funkciju korisnosti, moe da donosi razumne odluke, ali mora i da poredi korisnosti ostvarene razliitim akcijama i postupcima. Odluivanje na osnovu ciljeva iako grublje, omogudava agentu da odabere odgovarajudu akciju ukoliko zadovoljava cilj. U nekim sluajevima, tavie, funkcija korisnosti se moe prevesti u skup ciljeva, tako da se odluke donesene na osnovu ciljeva podudaraju sa odlukama donesenim na osnovu korisnosti

Okruenja
Akcije koje izvrava agent u svojoj okolini, povratno deluju preko opaanja agenta Svojstva okruenja mogu biti pristupana ili nepristupana Ako senzorni ureaji agenta omogudavaju pristup ukupnom stanju sredine okruenja, onda je okruenje dostupno tom agentu Okruenje je efektivno dostupno ako se senzorima detektuju svi aspekti bitni za izbor akcije agenta Dostupno okruenje je pogodno jer u tom sluaju agent ne mora da odrava interno stanje da bi pratio promene u spoljanjem okruenju, poto je direktno dostupno

Deterministiko i nedeterministiko okruenje Ako je sledede stanje okruenja potpuno odreeno trenutnim stanjem i akcijama koje je agent odabrao, kaemo da je okruenje deterministiko U principu, agent ne mora da se bavi nesigurnodu ako je okruenje dostupno i deterministiko Ako je okruenje nedostupno moe delovati i kao da je nedeterministiko To je naroito tano u sluaju sloenog okruenja gde nije lako da se prate nedostupni aspekti indirektno Sa aspekta samog agenta moe biti pogodno da se okruenje posmatra kao deterministiko ili nedeterministiko

Epizodna i ne epizodna okruenja


U sluaju epizodnog okruenja, agent se vremenski moe posmatrati u tim intervalima epizodama Svaka epizoda se sastoji od perioda posmatranja i delovanja agenta Kvalitet i efikasnost akcija zavise samo od date epizode, jer sledede epizode ne zavise od toga ta se dogaalo od akcija u prethodnim epizodama. Epizodna okruenja su mnogo jednostavnija jer agent ne mora razmatra varijante ponaanja unapred

Statika i dinamika okruenja


Ako okruenje moe da se promeni za vreme razmiljanja agenta, onda se kae da je okruenje dinamiko za datog agenta, u suprotnom se kae da je statiko Statika okruenja su jednostavna jer agent ne mora da posmatra okruenje za vreme razmiljanja odluivanja za akciju a ne treba ni da se vodi rauna o proticanju vremena Ako se okruenje ne menja sa vremenom, ali se menja uspenost funkcionisanja agenta, onda se okruenje smatra da je semidinamiko.

Diskretna i kontinualna okruenja


Ako postoji ogranien broj razliitih jasno definisanih opaaja i akcija, kae se da je okruenje diskretno. ah je diskretan postoji konaan broj mogudih poteza u svakoj fazi igre. Vonja taksija je kontinualna brzina i lokacija taksija i drugih vozila prolazi kroz niz kontinualnih vrednosti Razliiti tipovi okruenja zahtevaju unekoliko razliite programe agenta za efikasno delovanje u odgovarajudoj vrsti okruenja. Ispostavide se da je kao to se i moe oekivati, najtei sluaj nedostupnog, ne epizodnog, dinamikog i kontinualnog okruenja. Takoe se ispostavlja da je vedina realnih situacija - okruenja toliko sloena, da se mogu sasvim adekvatno tretirati za praktine potrebe kao da su nedeterministika.

Programi za okruenja
Simulator okruenja upotrebljen kao pogodna softverska alatka za sloena okruenja uzima kao svoje ulaze jedan ili vie agenata i ureuje ih u delovanje u odreenom redosledu. Svakom agentu se predaju opaaji na osnovu kojih agent deluje. Simulator onda aurira okruenje na osnovu akcija agenata, kao i na osnovu drugih dinamikih procesa u okruenju koji se ne smatraju delovanjem agenata Okruenje se dakle definie poetnim stanjem i funkcijom za auriranje. Agent koji radi u simulatoru treba takoe da radi i u realnom okruenju koje obezbeuje istu vrstu opaaja podataka sa senzora i da prihvati iste vrste akcija ekvivalentnost realnog stvarnog oruenja i simulatora sa aspekta opaaja i akcija agenata