35
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?

Inteligentni agenti

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Inteligentni agenti

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?

Page 2: Inteligentni agenti

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

Page 3: Inteligentni agenti

Generic agent

Page 4: Inteligentni agenti

Š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

Page 5: Inteligentni agenti

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: 1. Odabrane mere performansi – performance measure,

koja treba da definiše nivo uspešnosti 2. 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.

3. Od znanja agenta o svojoj okolini4. Od postupaka – akcija koje agent može da izvede

Page 6: Inteligentni agenti

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.

Page 7: Inteligentni agenti

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

Page 8: Inteligentni agenti

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

Page 9: Inteligentni agenti

Tabela nije uvek potrebna

Page 10: Inteligentni agenti

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

Page 11: Inteligentni agenti

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

Page 12: Inteligentni agenti

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.

Page 13: Inteligentni agenti

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

Page 14: Inteligentni agenti

Zašto jednostavno ne pogledati odgovore?

Page 15: Inteligentni agenti

1. Potrebna tabela za nešto sasvim jednostavno kao što je to agent koji zna samo da igra šah, bi imala otprilike oko 35100 redova2. 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 akcije4. 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

Zašto jednostavno ne pogledati odgovore?

Page 16: Inteligentni agenti

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

Page 17: Inteligentni agenti

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

Page 18: Inteligentni agenti

• 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

Page 19: Inteligentni agenti

• 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

Page 20: Inteligentni agenti

Agents that keep track of the world

Page 21: Inteligentni agenti

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

Page 22: Inteligentni agenti

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

Page 23: Inteligentni agenti
Page 24: Inteligentni agenti

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

Page 25: Inteligentni agenti

• 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

Page 26: Inteligentni agenti

• 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

Page 27: Inteligentni agenti

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

Page 28: Inteligentni agenti

• 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

Page 29: Inteligentni agenti

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 agentaKvalitet 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

Page 30: Inteligentni agenti

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.

Page 31: Inteligentni agenti

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.

Page 32: Inteligentni agenti
Page 33: Inteligentni agenti

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

Page 34: Inteligentni agenti
Page 35: Inteligentni agenti