Inteligentni agenti
2 INTELIGENTNI AGENTI
U kome se govori o prirodi agenata, perfektnih ili ne, raznolikosti okruženja , i rezultujudoj menadžeriji tipova
agenata.
U poglavlju jedan je identifikovan koncept
racionalnih agenata
kao glavnim za naš prilaz veštačkoj
inteligenciji. U ovom poglavlju, ovu ideju još više konkretizujemo. Videdemo da se koncept racionalnosti može
primeniti na širok spektar agenata koji rade blio kakvom zamišljenom okruženju. Naš plan u ovoj knjizi je da
iskoristimo ovaj koncept ne bi li razvili mali set dizajnerskih principa za razvijanje uspešnih agent-sistema koji se
sa pravom mogu zvati
inteligentni.
Počedemo sa razmatranjem agenata, okruženja, i njihovim međusobnim
sparivanjem. Zapažanje da se neki agenti ponašaju bolje od drugih prirodno vodi ka ideji o racionalnom agentu-
onom koji se ponaša najbolje mogude. Kako dobro se agent može ponašati zavisi od prirode okruženja; neka
okruženja su mnogo teža od drugih. Dademo grubu kategorizaciju okruženja i pokazati kako osobine okruženja
utiču na dizajn odgovarajudih agenata za to okruženje. Opisademo neloliko osnovnih "skeleton" nacina
dizajniranja agenata, koji ce se povremeno pojavljivati u ostatku knjige.
2.1 AGENTI I OKRUŽENJA
Agent
je nešto što se može posmatrati kao sagledavanje svog
okruženja
kroz
senzore
i delovanje u
takvoj sredini kroz
aktuatore.
Ovo je jednostavna ideja ilustrovana na
slici 2.1.
Ljudski agent ima oči, uši i ostale
organe koji su senzori i ruke, noge, usta, i druge delove tela koji su aktuatori. Robotski agent može imati
kamere i trgače u IC opsegu koji predstavljaju senzore i razne motore koji su aktuatori. Softverski agent kao
senzorski ulaz dobija pritiske tastera, sadržaje datoteka i mrežne pakete i deluje na okolinu prikazom na
ekranu, pisanjem datoteka i slanjem mrežnih paketa. Uzedemo kao opštu pretpostavku da svaki agent spoznaje
svoje akcije (ali ne uvek i efekte). Koristidemo termin opažaj koji de se odnosti na perceptivne ulaze agenta u
svakom trenutku. Opažajna sekvenca agenata je kompletna istorija svega što je agent ikada video
.
U
principu,
agentov
izbor akcije u svakom trenutku može zavisiti od cele opažajne sekvence koju je on primio do sada
.
Ako
možemo odrediti izbor agentove akcije za svaku mogudu opažajnu sekvencu, onda smo rekli manje-više sve što
se može redi o agentima. Matematički rečeno, kažemo da je ponašanje agenta opisano od strane
agentske
funkcije
koja sprovodi ma koju opažajnu sekvencu u akciju
.
Slika 2.1
Možemo zamisliti tabeliranje agentske funkcije koja opisuje bilo kog agenta; za vedinu agenata, to bi
bila veoma velika tabela - beskonačna, u stvari, osim ako mi ne stavimo granicu na dužinu opažajne sekvence
koju želimo uzeti u razmatranje. Dopuštajudi agentu da eksperimentiše sa njom, možemo, u principu,
konstruisati ovu tabelu isprobavanjem svih mogudih opažajnih sekvenci i beleženjem akcije koju agent obavlja
kao odgovor na nju. Tabela je, naravno, spoljna karakterizacija agenta. Interno, agentska funkcija za veštačkog
agenta de biti implementirana od strane
agentskog programa
. Važno je da ove dve ideje budu shvadene kao
različite. Agentska funkcija je apstraktni matematički opis; Agentski program je konkretna implementacija, koja
radi na arhitekturi agenta.
Da bi ilustrovali ove ideje, mi demo koristiti vrlo jednostavan primer - usisivačev svet koji je prikazan na
slici 2.2. Ovaj svet je toliko jednostavan da možemo opisati sve što se dešava; to je takođe izmišljen svet, tako
da možemo izmisliti mnoge varijacije. Ovaj konkretni svet ima samo dve lokacije: kvadrate A i B. Usisivačev
agent opaža u kom je kvadratu i da li postoji prljavštine u njemu. Može da odluči da li da se krede levo, desno,
usisa prljavštinu, ili da ne radi ništa. Jedna vrlo jednostavna agentska funkcija može biti slededa: ako je trenutni
kvadrat je prljav, onda usisati, inače pređi u drugi kvadrat. Delimično tabelarni prikaz ove agentske funkcije je
prikazan na slici 2.3. Jednostavan agentski program za ovu funkciju agenta je dat kasnije u poglavlju,na slici 2.8.

2.2 DOBRO PONAŠANJE: KONCEPT RACIONALNOSTI
Racionalni agent
je onaj koji radi pravu stvar - konceptualno posmatrano, svaki unos u tabelu agentske
funkcije je ispravno popunjen. Očigledno, raditi pravu stvar je bolje nego raditi pogrešnu stvar, ali šta to znači
uraditi pravu stvar? Kao prvu aproksimaciju, redidemo da je ispravno delovanje ono koje čini da agent bude što
uspešniji. Dakle, bide nam potreban neki način merenja uspeha. Zajedno sa opisom okruženja, senzora i
aktuatora agenta, to de obezbediti potpunu specifikaciju zadatka sa kojim se suočava agent. S obzirom na to,
možemo definisati preciznije šta to znači biti racionalan.
Mera performansi
Mera performansi
je otelotvorenje kriterijuma uspeha ponašanja jednog agenta. Kada agent uronjen u
okruženje, to stvara niz aktivnosti u skladu sa percepcijama koje prima. Ovaj niz akcija uzrokuje da okruženje
prođe kroz niz stanja. Ako je sekvenca poželjna, onda se agent pokazao dobrim. Očigledno, ne postoji jedna
fiksna mera pogodna za sve agente. Mogli bi smo da pitamo agenta za subjektivno mišljenje o tome kako je
zadovoljan svojim učinkom, ali neki agenti nede biti u stanju da odgovore, a drugi bi obmanjivali sebe. Dakle, mi
demo insistirati na objektivnom merenju performansi, obično onom nametnutom od strane dizajnera koji pravi
agenta.
Razmotrimo agenta usisivača iz prethodnog odeljka. Možemo predložiti da se performanse mere u
odnosu na količinu prljavštine očišdene u jednoj osmočasovnoj smeni. Sa racionalnim agentom, naravno, ono
što tražite je ono što dobijete. Racionalni agent može maksimizirati ovu meru performansi čišdenjem
prljavštine, a zatim njenim ponovnim prosipanjem po podu, a zatim njenim ponovnim čišdenjem, i tako dalje.
Povoljnija mera performansi bi nagraditila agenta za to sto on ispred sebe ima čist pod. Na primer, jedan poen
može biti dodeljen za svaki čist kvadrat u svakom vremenskom koraku (mozda sa kaznom za potrošenu
električnu energiju i buku).
Kao opšte pravilo, bolje je dizajnirati mere performansi u skladu sa onim što se
zapravo želi postidi u okruženju, a ne po tome kako neko misli da agent treba da se ponaša.
Izbor mera performansi nije uvek lak. Na primer, pojam "čist pod" iz prethodnog paragrafa se bazira na
prosečnoj čistodi tokom nekog vremena. Ipak, ista prosečna čistoda može se postidi sa dva različita agenta, od
kojih jedan radi osrednji posao sve vreme: a drugi čisti veoma brzo, ali pravi duže pauze. Šta je bolje može se
činiti kao predmet razmatranja domarske nauke, ali u stvari, to je duboko filozofsko pitanje sa dalekosežnim
posledicama. Šta je bolje - bezobziran život uspona i padova, ili sigurno, ali dosadno postojanje? Šta je bolje-
ekonomija u kojoj svako živi u umerenom siromaštvu, ili ona u kojoj neki žive u izobilju, dok su drugi veoma
siromašni? Mi demo ostaviti ova pitanja, kao vežbu za marljive čitaoce.
Racionalnost
Šta je racionalno u bilo kom trenutku zavisi od četiri stvari:
Mere performansi koje definišu kriterijum za uspeh.
Predznanje agenta o okruženju.
Radnje koje agent može da obavlja.
Dosadašnja opažajna sekvenca agenta.
Ovo vodi do
definicije racionalnog agenta
:
Za svaku mogudu opažajnu sekvencu, racionalni agent treba da izabere akciju od koje se očekuje postizanje
maksimalne mere performansi, uzimajudi u obzir podatke koje obezbeđuje opažajna sekvenca i bez obzira na znanje
koje agent ved poseduje.
Zamislite jednostavni agent usisivač koji čisti kvadrat ako je prljav i seli se u drugi kvadrat, ako prethodni nije prljav;
ovo je agentska funkcija u tabeli na slici 2.3. Da li je to racionalni agent? To zavisi! Prvo, moramo da kažemo šta je
mera performansi, šta se zna o okruženju, i koje senzore i aktuatore agent poseduje. Pretpostavimo sledede:
Mera performansi dodeljuje bod za svaki čist kvadrat u svakom koraku "života" u trajanju od 1000
vremenskih koraka.
"Geografija" okruženja je
a priori
poznata (Slika 2.2), ali distribucija prljavštine i početni položaj
agenta nisu. Očišdeni kvadrati ostaju čisti i usisavanjem se čisti trenutni kvadrat. Akcije
Left
i
Right
pomeraju
agenta levo i desno osim kada bi to agenta odvelo van okruženja, u kom slučaju agent
ostaje gde je.
Na raspolaganju su samo akcije
Left, Right, Suck,
and
NoOp
(ne radi ništa).
Agent ispravno opaža svoju lokaciju i da li ta lokacija sadrži prljavštinu.
Tvrdimo da je
pod ovim okolnostima
agent zaista racionalan; njegove očekivane performanse su barem na
visokom nivou kao bilo kog drugog agenta. Vežba 2.4 traži od vas da to dokažete.

van rute njenog domašaja, buba nastavlja i oponaša zapušavnje gnezda sa nepostojedom loptom balege, nikada
ne primedujudi da lopta nedostaje. Evolucija je ugradila pretpostavku u ponašanje bube, i kada je ona
prekršena, daje neuspešne rezultate ponašanja. Malo inteligentnija je osa kopačica. Ženska osa de iskopati
rupu, otidi i ubosti gusenicu i dovudi je do rupe, udi ponovo u jazbinu i proveriti da li je sve u redu, uvudi
gusenicu unutra, i položiti svoja. Gusenica služi kao izvor hrane, kada se jaja izlegu. Za sada je dobro, ali ako
entomolog pomeri gusenicu nekoliko centimetara dalje, dok osa proverava rupu, ona de se vratiti na korak
"dovlačenje" iz svog plana i nastavide plan bez izmena, čak i posle desetine pomeranje-gusenica intervencija.
Osa nije u mogudnosti da nauči da njen urođeni plan omašuje, i zbog toga ga nede promeniti.
Uspešni agenti dele zadatak računanja agentske funkcije u tri različita perioda: kada je agent dizajniran,
neka od izračunavanja su izvršili dizajneri, kada razmatra svoju narednu akciju, agent radi još izračunavanja, i
kako uči iz iskustva, on radi još više izračunavanja ne bi li odlučio kako da promeni svoje ponašanje.
Ukoliko se agent pretežno oslanja na prethodno znanje svojih dizajnera, a ne na sopstvena opažanja,
kažemo da je agent nema autonomiju. Racionalni agent treba da bude autonoman - on bi trebalo da nauči šta
može kako bi nadoknadio delimično ili netačno predznanje. Na primer, ususivač agent koji uči da predvidi gde i
kada de se pojaviti dodatna prljavština de se pokazati bolje nego onaj koji to ne radi. Kao stvar praktičnosti,
jedan retko zahteva potpunu autonomiju u odnosu na početak: kada agent ima malo ili nikakvo iskustvo, on de
morati da deluje nasumično, osim ako dizajner nije pružio kakvu pomod. Dakle, kao što evolucija obezbeđuje
životinjama dovoljno ugrađenih refleksa kako bi mogle da prežive dovoljno dugo dok same ne nauče dovoljno,
bilo bi razumno obezbediti veštačkom inteligentnom agentu neka početna znanja, kao i sposobnost da uči.
Posle dovoljno iskustva o njegovom okruženju, ponašanje racionalnog agenta može da postane efikasno
nezavisno od njegovog predznanja. Dakle, ugradjivanje učenja omogudava dizajn jednog racionalnog agenta
koji de biti uspešan u širokom dijapazonu okruženja.
2.3 PRIRODA OKRUŽENJA
Sada kada imamo definiciju racionalnosti, skoro smo spremni da razmišljamo o izgradnji racionalnog agenta.
Prvo, međutim, moramo razmišljati o
zadacima okruženja
, koji su u suštini "problemi" za koje su racionalni
agenti "rešenja". Počedemo od toga kako odrediti zadatak okruženja, ilustrujudi proces velikim brojem
primera. Zatim demo pokazati da zadaci okruženja dolaze u različitim ukusa. Ukus zadatka okruženja direktno
utiče na odgovarajudi dizajn programa agenta.
Određivanje zadatka okruženja
U našoj raspravi o racionalnosti jednostavnog usisivača agenta, morali smo da odredimo mere performanse,
okruženja, kao i agentove aktuatore i senzore. Sve to demo grupisati pod naslovom zadatka okruženja. Za one
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti