380 likes | 612 Views
Inteligentni agenti. Šta rade inteligentni agenti? Kakav je njihov odnos imaju prema okolini – okruženju u kome se nalaze? Kako se ocenjuju – evaluiraju agenti? Kako bi se mogao napraviti inteligentni agent?. 2.1 Uvod o inteligentnim Agentima.
E N D
Inteligentni agenti • Šta rade inteligentni agenti? • Kakav je njihov odnos imaju prema okolini – okruženju 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 može posmatrati da na neki način opaža svoju okolinu pomoću senzora i što na osnovu toga deluje na svoju okolinu preko preko efektora – aktuatora • Ljudski – humani agent ima oči, uši, i druge organe kao senzore, i ruke, noge, usta i druge delove tela kao aktuatore. Agent robot može da ima kamere, IC uređaje, 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
Šta bi agent trebalo da radi? • Razumni agent bi trebalo da se razumno ponaša • To je bolje od drugih mogućih varijanti ponašanja, ali šta to tačno znači? • U prvoj aproksimaciji, može se reći da je razumna akcija – ponašanje baš ono, koje će dovesti do uspeha – ostvarivanja cilja • Dalje, treba definisati kako se ocenjuje – evaluira ponašanje agenta - da li je uspešno i da li vodi ka postavljenom cilju. • Kriterijum uspešnosti delovanja – ponašanja agenta se može nazvati performance measure ili mera performansi
Razumni agenti • “Idealni” inteligentni agent je nemoguć! • Zato se postavljaju neki manje strogi zahtevi za razumno – racionalno ponašanje • Racionalno ponašanje agenta u prvom redu zavisi od: • Odabrane mere performansi – performance measure, koja treba da definiše nivo uspešnosti • Od svega što agent u toku vremena do nekog trenutka opazi, što predstavlja njegovu kompletnu – ukupnu istoriju opažanja ili sekvencu opažaja - percept sequence. • Od znanja agenta o svojoj okolini • Od postupaka – akcija koje agent može da izvede
Definicija idealnog razumnog agenta: • Za svaki mogući niz opaženih sekvenci, idealni razumni agent bi trebalo da uradi sve što god može da bi maximizovao svoj performance mesure na osnovu podataka iz opažene sekvence i na osnovu ugrađenog znanja kojim agent raspolaže. • Pojam agenta je više vezan za terminologiju softverskih AI sistema, nego za neku bezuslovnu podelu na agente i ne agente.
Primer jednostavnog – trivijalnog agenta • Običan sat ili časovnik, može da se posmatra kao običan neživi objekat, ili kao jednostavan agent. Kao agent, sat uglavnom radi ono što i treba – pravilno pokazuje vreme. • Kao takav, sat može da se posmatra kao degenerisani agent čija je lista opažaja uvek prazna, tako da ma šta da se desi u spoljašnjem svetu, to nema uticaja na ponašanje časovnika. • Pri prenosu u drugu vremensku zonu, sat se mora podesiti – nema opažanja prelaska u drugu vremensku zonu
Idealno preslikavanje opaženih sekvenci u akcije • Svaki agent se može opisati kreiranjem tabele akcija koje agent izvršava kao odgovor na svaku moguću opaženu sekvencu. • Za većinu agenata, to bi bila veoma dugačka lista – beskonačna, ukoliko se ne ograniči na neki način • Takva lista se zove – predstavlja preslikavanje opaženih sekvenci u akcije • Ako preslikavanja – mapiranje opisuje agenta, onda idealno preslikavanje opisuje idealnog agenta. • Određivanje – specifikacija, koju akciju agent treba da preduzme kao odgovor na bilo koju opaženu sekvencu, predstavlja dizajniranje idealnog agenta
Autonomija • Neki sistem je autonoman u onoj meri u kojoj je njegovo ponašanje određeno sopstvenim iskustvom. • Ponašanje agenta se može zasnivati i na sopstvenom iskustvu, kao i na ugrađenom znanju koje je upotrebljeno za konstruisanje agenta za određenu sredinu u kojoj agenta treba da deluje • Kada agent ima malo ili nema iskustva uopšte, trebalo bi da se ponaša nasumično, ukoliko mu dizajner ne pomogne • Kao što su u procesu evolucije živi organizmi – životinje obdarene urođenim refleksima koji im pomažu da prežive dovoljno dugo da sami nauče kroz sopstveno iskustvo, u slučaju agenata sa veštačkom inteligencijom to bi značilo da agent treba da ima neko inicijalno znanje, kao i mogućnost da uči. • Autonomija nije samo nešto što odgovara našoj intuiciji, već predstavlja primer odličnog inženjerstva – kreiranje autonomnog sistema je jedna vrsta inženjerskog ideala – nije potrebno upravljanje, održavanje, ... • Suštinski autonoman inteligentni agent bi trebalo da može da uspešno funkcioniše u velikom broju raznovrsnih sredina – okruženja i sa dovoljno vremena za prilagođavanje novim uslovima
STRUKTURA INTELLIGENTOG AGENTA • Jedan od zadataka AI je da dizajnira program za agenta: funkciju koja implementira preslikavanje od opažaja do akcija. • Pretpostavlja se da će taj program da radi na nekom računarskom uređaju sa odgovarajućom arhitekturom koja će se zvati jednostavno arhitektura • Odnos između agenata, arhitekture i programa se može predstaviti kao: • agent = architecture + program • Pre nego što se dizajnira program za agenta, mora postojati jasna ideja o tome šta je sve moguće: • Opažaji, akcije, koje ciljeve treba ostvariti, koja je performance measure potrebna • U kakvoj će 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 očekuje da stekne iskustvo – sekvencu opažaja koja se beleži u memoriji agenta. U nekim okruženjima, moguće je da agent bude uspešan bez pamćenja sekvence opažaja, dok u nekim složenim okruženjima nije ni moguće pamćenje kompletne sekvence događaja. Dalje, cilj koji teba postići – ostvariti, kao i performance measure, nije deo osnovne strukture programa, jer se performance measure primenjuje eksterno za nezavisnu ocenu agenta i često je moguće je da se postignu visoke performance bez eksplicitnog znanja o performance measure
Zašto jednostavno ne pogledati odgovore? 1. Potrebna tabela za nešto 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 već ugrađene funkcije za optimalne akcije 4. Ako se okolina promeni na neki neočekivan način, agent ne može da reaguje na adekvatan način 5. Čak iako agent poseduje mehanizam za učenje, tako da može da ima izvesnu autonomiju, učenje najboljih poteza za sve moguće pozicije na tabli bi trajalo beskonačno Uprkos svemu ovome, TABLE-DRIVEN-AGENT, tj. agent baziran na tabeli stanje / percepcija – akcija radi ono što se očekuje: implementira odgovarajuće mapiranje Nije dovoljno reći da ovakav agent nije inteligentan, treba razumeti zašto agent koji može da rezonuje bolje funkcioniše izbegavajući navedene nedostatke
Primer Tipovi agenata koji će biti razmatrani: • Jednostavni “refleksni” agenti • Agenti koji prate okruženje u kome se nalaze • Agents rukovođeni ciljem • Agenti rukovođeni korišću
Jednostavni refleksni agenti • Mogućnost konstruisanja eksplicitne iscrpne tabele za pretraživanje u realnim slučajevima 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 količina informacija • Moguće je da se takva tabela značajno sažme – redukuje uočavanjem određenih 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 takođe poseduju mnoge slične veze – reflekse. • Neki su naučeni odgovori, kao što je slučaj sa vožnjom, dok se drugi urođeni kao što je to slučaj sa treptanjem – kada se nešto primiče oku • Na slici je predstavljena osnovna struktura jednostavnog refleksnog agenta • Jednostavno pravilo tipa condition-action omogućava da agent ostvari neophodnu vezu opažaja i akcije
Odgovarajući program za agenta koji je takođe veoma jednostavan u ovom slučaju, je prikazan na slici ispod. INTERPRET-INPUT funkcija generiše apstraktni opis tekućeg stanja – opažaja • RULE-MATCH funkcija vraća prvo pravilo u skupu pravila koje odgovara datom opisu stanja. • Iako se ovakvi agenti mogu veoma efikasno implementirati, stvarne praktične mogućnosti njihove primene su veoma ograničene
Ažuriranje 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 utiču na funkciju UPDATE-STATE kojom se kreira unutrašnji opis stanja. Osim interpretiranja novog opažaja u svetlu postojećeg znanja o stanju, informacije o spoljašnjem svetu se koriste i za praćenje “nevidljivog” stanja okoline koja se ne vidi direktno iz podataka senzora Važno je i poznavanje uticaja akcija agenta na stanje spoljašnje okoline
Goal-based agents • Poznavanje tekućeg stanja okoline nije uvek dovoljno za donošenje 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 poželjne. • Program agenta može da kombinuje informacije o cilju sa informacijama o rezultatu mogućih akcija (iste informacije koje se koriste za ažuriranje unutrašnjeg stanja refleksnog agenta) da bi se odabrale akcije za postizanje cilja • Nekada to može biti sasvim jednostavno kada ostvarivanje cilja sledi iz samo jedne akcije, dok u drugim slučajevima može biti složenije, kada agent treba da razmotri dugačke sekvence akcija i razne moguće obrte da bi našao način za ostvarivanje postavljenog cilja. • Pretraživanje i planiranje su pod oblasti AI posvećene pronalaženju sekvenci akcija koje postižu – ostvaruju postavljene ciljeve / cilj agenta
Utility-based agents • Ciljevi sami za sebe nisu dovoljni za generisanje odgovarajućeg efikasnog ponašanja agenta. • Može da postoji više različitih nizova akcija koje postižu isti cilj, ali neki su brži, sigurniji, pouzdaniji, ili jeftiniji nego ostali. • Poznavanje ciljeva omogućava samo grubo razlikovanje između više i manje odgovarajućih stanja sa aspekta cilja, dok je za opštiju performance measure potrebno obezbediti poređenje različitih stanja spoljašnje sredine ili sekvenci stanja prema tome kako doprinose ostvarivanju postavljenog cilja agenta ukoliko su mogući. • Bolji izraz je da se izbor vrši prema prioritetu stanja sa aspekta korisnosti za cilj koji agent treba da postigne
Korisnost je funkcija koja koja vrši mapiranje – preslikavanje stanja u realan broj koji opisuje pridružen stepen korisnosti. • Potpuna specifikacija funkcije korisnosti omogućava racionalne odluke u dve vrste slučajeva koje ciljevi ne omogućavaju. • U slučaju konfliktnih (suprotstavljenih)ciljeva od kojih se samo neki mogu postići (na primer brzina i sigurnost), funkcija korisnosti određuje odgovarajući kompromis. • Kada postoji više ciljeva, koje agent može da ostvari, od kojih se nijedan ne može ostvariti sa sigurnošću, korisnost omogućava način za merenje izgleda na uspeh – ostvarivanje cilja naspram važnosti cilja
Bilo koji razumni agent se može opisati funkcijom korisnosti. Agent koji poseduje eksplicitnu funkciju korisnosti, može da donosi razumne odluke, ali mora i da poredi korisnosti ostvarene različitim akcijama i postupcima. Odlučivanje na osnovu ciljeva iako grublje, omogućava agentu da odabere odgovarajuću akciju ukoliko zadovoljava cilj. U nekim slučajevima, štaviše, funkcija korisnosti se može prevesti u skup ciljeva, tako da se odluke donesene na osnovu ciljeva podudaraju sa odlukama donesenim na osnovu korisnosti
Okruženja • Akcije koje izvršava agent u svojoj okolini, povratno deluju preko opažanja agenta • Svojstva okruženja mogu biti pristupačna ili nepristupačna • Ako senzorni uređaji agenta omogućavaju pristup ukupnom stanju sredine – okruženja, onda je okruženje dostupno tom agentu • Okruženje je efektivno dostupno ako se senzorima detektuju svi aspekti bitni za izbor akcije agenta • Dostupno okruženje je pogodno jer u tom slučaju agent ne mora da održava interno stanje da bi pratio promene u spoljašnjem okruženju, pošto je direktno dostupno
Determinističko i nedeterminističko okruženjeAko je sledeće stanje okruženja potpuno određeno trenutnim stanjem i akcijama koje je agent odabrao, kažemo da je okruženje determinističko • U principu, agent ne mora da se bavi nesigurnošću ako je okruženje dostupno i determinističko • Ako je okruženje nedostupno može delovati i kao da je nedeterminističko • To je naročito tačno u slučaju složenog okruženja gde nije lako da se prate nedostupni aspekti – indirektno • Sa aspekta samog agenta može biti pogodno da se okruženje posmatra kao determinističko ili nedeterminističko
Epizodna i ne epizodna okruženja • U slučaju epizodnog okruženja, agent se vremenski može 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 sledeće epizode ne zavise od toga šta se događalo – od akcija u prethodnim epizodama. Epizodna okruženja su mnogo jednostavnija jer agent ne mora razmatra varijante ponašanja unapred
Statička i dinamička okruženja • Ako okruženje može da se promeni za vreme “razmišljanja” agenta, onda se kaže da je okruženje dinamičko za datog agenta, u suprotnom se kaže da je statičko • Statička okruženja su jednostavna jer agent ne mora da posmatra okruženje za vreme razmišljanja – odlučivanja za akciju a ne treba ni da se vodi računa o proticanju vremena • Ako se okruženje ne menja sa vremenom, ali se menja uspešnost funkcionisanja agenta, onda se okruženje smatra da je semidinamičko.
Diskretna i kontinualna okruženja • Ako postoji ograničen broj različitih jasno definisanih opažaja i akcija, kaže se da je okruženje diskretno. • Šah je diskretan – postoji konačan broj mogućih poteza u svakoj fazi igre. • Vožnja taksija je kontinualna — brzina i lokacija taksija i drugih vozila prolazi kroz niz kontinualnih vrednosti • Različiti tipovi okruženja zahtevaju unekoliko različite programe agenta za efikasno delovanje u odgovarajućoj vrsti okruženja. • Ispostaviće se da je kao što se i može očekivati, najteži slučaj nedostupnog, ne epizodnog, dinamičkog i kontinualnog okruženja. • Takođe se ispostavlja da je većina realnih situacija - okruženja toliko složena, da se mogu sasvim adekvatno tretirati za praktične potrebe kao da su nedeterministička.
Programi za okruženja • Simulator okruženja upotrebljen kao pogodna softverska alatka za složena okruženja uzima kao svoje ulaze jedan ili više agenata i uređuje ih u delovanje u određenom redosledu. Svakom agentu se predaju opažaji na osnovu kojih agent deluje. Simulator onda ažurira okruženje na osnovu akcija agenata, kao i na osnovu drugih dinamičkih procesa u okruženju koji se ne smatraju delovanjem agenata • Okruženje se dakle definiše početnim stanjem i funkcijom za ažuriranje. • Agent koji radi u simulatoru treba takođe da radi i u realnom okruženju koje obezbeđuje istu vrstu opažaja - podataka sa senzora i da prihvati iste vrste akcija – ekvivalentnost realnog – stvarnog oruženja i simulatora sa aspekta opažaja i akcija agenata