470 likes | 723 Views
VEŠTAČKA INTELIGENCIJA INTELIGENTNI AGENTI. - Inteligentni agenti predstavljaju softver koji automatski može da izvrši zadatak koji mu postavi osoba ili drugi softver (agent).
E N D
VEŠTAČKA INTELIGENCIJA INTELIGENTNI AGENTI
-Inteligentni agenti predstavljaju softver koji automatski može da izvrši zadatakkoji mu postavi osoba ili drugi softver (agent). -Računarski sistem, koji u interakciji sa okruženjem , ima sposobnost da fleksibilno i samostalno reaguje u skladu sa ciljevima koji su mu postavljeni. -Primena: Traganje za informacijama, Pružanje odgovora na postavljena pitanja u domenu svog znanja, Informisanje korisnika o interesantnim događajima, pojavi nečeg novog na internetu..., da li se neki pojam pojavljuje WEB-u, Automatsko obučavanje korisnika, UVOD i definisanje intel. agenata
-Okruženje u kome agenti deluju može biti fizičko (realan svet) ili softversko (računar na kome su instalirani ili Internet). -Agent je bilo šta što može biti viđeno kao posmatranje njegove okoline preko senzora i ponašanja pod uslovom da je okolina predstavljena putem činilaca. -Automatski agent zamenjuje kamere i infracrvene zrake kao otkrivač za senzore i raznolike motoričke funkcije za činioce. - Agent softvera ima kodirani niz znakova kao njegovu percepciju i akciju. UVOD i definisanje intel. agenata
-Racionalni agent je onaj, koji čini pravu stvar. -Prava akcija, ona koja uzrokuje što veću uspešnost agenta. - Možemo pitati agenta o subjektivnom mišljenju tome koliko je zadovoljan njegovim vlastitim izvršavanjem, ali neki agenti mogu biti nesposobni za davanje odgovora, a drugi mogu obmanjivati sami sebe. Kako agenti treba da se ponašaju ?
senzori percepcija agent ? akcija činioci (aktuatori) Interakcija agenata sa okolinom okolina
-Šta je racionalno u bilo kom datom vremenu zavisi od čeitiri stvari: Vršenje određene mere, koja definiše saglasnost uspeha, Sve ono što je agent do sada primetio, Šta agent zna o okolini, Akcije koje agent može izvršiti. Šta je racionalno ?
-Definicija IDEALNOG RACIONALNOG AGENTA: za svaku posebnu sekvencu zapažanja, idealni racionalni agent treba da uradi bilo šta što akcija očekuje, da bi povećao vršenje mere na bazi evidencije putem percepcije sekvence i bilo šta što može da nadogradi spoznavanje koje agent ima. -Iz definicije se može na prvi pogled zaključiti da agent, može da ima propuste. -Ako agent prelazi ulicu, i ne gleda na obe strane pre prelaženja prometnog puta, njegova sekvenca zapažanja neće da mu kaže da se približava kamion velikom brzinom. Idealni racionalni agent
-Pr. časovnika : kao i većina agenata (satova), svako od njih radi pravu akciju, znači pomera ruke i noge (skazaljke). -Međutim, kod njih je sekvenca zapažanja prazna, bez obzira šta se dešava napolju oni će i dalje obavljati ono što su do sada obavljali i njihova akcija mora biti netaknuta. -Ako vlasnik sata putuje od Srbije do Kine, prava stvar za sat bi trebalo da bude, da sam sebe podesi za 7 sati unapred. Ako to ne uradi on se i dalje ponaša racionalno zbog toga što ima nedostatak opreme za zapažanje. Racionalni agent
-Kada jednom shvatimo da ponašanje agenta zavisi jedino o njegovoj sekvenci zapažanja, tada možemo da opišemo bilo kojeg pojedinačnog agenta pravljenjem tabele akcije koja podrazumeva svaku moguću sekvencu zapažanja. -Za većinu agenata to može biti veoma duga lista (često beskrajna ako postavimo meru na dužinu sekvence zapažanja) -Takva lista se naziva MAPIRANJE od sekvence zapažanja do akcije Mapiranje od sekvence zapažanja do akcije
-Ako je akcija agenta bazirana kompletno na dograđivanju saznanja (ako se obraća pažnja samo na njegovo zapažanje), tada kažemo da agentu nedostaje autonomija. -Na primer, ako je proizrađivač sata bio dovoljno informisan da zna da vlasnik sata namerava da putuje u Kinu određenog datuma, onda mehanizam može biti izrađen sa prilagođavanjem ruku (kazaljke) automatski na 7 sati unapred samo u to-pravo vreme. -Ovo bi sigurno bilo uspešno ponašanje, ali inteligencija izgleda pripada dizajneru sata pre nego samom satu. Autonomija
-Agentovo ponašanje može biti bazirano na oba njegova iskustva i dograđivanju saznanja korišćenog u konstrukciji agenta za pojedinačnu okolinu u kojoj on radi. -Sistem je samoupravan ako ima nameru da se njegovo ponašanje definiše putem njegovog sopstvenog iskustva. -Kada agent ima malo ili nimalo iskustva, ponašaće se nasumično ukoliko mu dizajner ne obezbedi pomoć. -Evolucija određuje životinje sa dovoljno ugrađenih refleksa, da bi opstali dovoljno dugo dok ne nauče sve o sebi i okolini Autonomija
-Agent koji radi na bazi dogradnje pretpostavljanja, radiće uspešno jedino kada su pretpostavke zadržane, pa prema tome nedostaje fleksibilnost. PRIMER balegara: -Posle kopanja gnezda i polaganja jaja - njegova veština valjanja balege od najbliže gomile do zatrpavanja ulaza; ako se loptica balege pomeri sa željenog puta, balegar nastavlja pantomimu zatrpavanja Primer
-Dok god pričamo o agentima, opisujući njihovo ponašanje – akcija je obavljena nakon bilo kakvog davanja sekvence zapažanja. Agent = arhitektura + program -Arhitektura može biti običan računar, ili može sadržavati specijalne namene hardvera sa tačnim zadatkom -Arhitektura pravi zapažanja senzora dostupnih programu, ubrzava program, čuva akcije programa izborom činioca. STRUKTURA INTELIGENTNIH AGENATA
-Najpoznatija veštačka okolina je turing test okolina, čiji je smisao da su veštački i realni agenti jednako napravili pogrešan korak, ali okolina je dovoljno izazovna jer je veoma teška za agenta softvera kao i za čoveka. Turing TEST
-Gradeći inteligentne agente ko će imati istu konstrukciju i naziv, prihvatajući percepciju od okoline i stvaranje akcije podrazumeva to, da će svaka verzija programa koristiti neku strukturu podataka, koja će biti ažurirana kao nova percepcija. -Takva struktura podataka urađena je agentovom odlukom – izrada procedure do stvaranja izbora akcije, koja tada prolazi do arhitekture da bi bila izvršena. Programi okoline
-Zavisno je od agenta da li će podići na viši nivo sekvencu zapažanja u memoriji, ako on to želi. U svakom prizivanju, memorija agenta je zastarela i odbija novo zapažanje, najbolja akcija je odabrana, a činjenica da je akcija preuzeta takođe je zapamćen u memoriji. Memorija je trajna od jednog pozivanja do sledećeg function Skeleton-Agent (percept)returns action static: memory, the agent’s memory of the world memory – Update-Memory(memory, percept) action Choose-Best-Action(memory) memory – Update-Memory(memory, action) return – action Programi okoline
Programi okoline function Table-Driven-Agent(percept)returnsaction static: percepts, a sequence, initially empty table, a table, indexed by percept sequences, initially fully specified append percept to the end of percepts Agent je baziran na specifikaciji gledanja tabele. On čuva putanju sekvence percepcije i gleda samo najbolje akcije.
Dizajniranje automatskog taksija Agent tipa taksiste
četiri tipa agent programa: jednostavan refleks agenata, agenti koji sledi putanju sveta , ciljno-bazirani agenti, korisno-bazirani agenti. Dizajniranje automatskog taksija
-Na primer, ako su kola ispred u kočenju i uključe se stop svetla to vozač mora primetiti i primeniti kočenje. Drugima rečina, neki procesi su urađeni vizuelno uspostavljajući kondiciju, koju zovemo «kola ispred su u kočenju»; tada okidači uspostavljaju vezu u programu agenta do akcije «pokretanja kočenja». ako je automobil – ispred – u – kočenju onda je primenjeno – kočenje jednostavan refleks agenata
O K O L I N A Senzori AGENT Kako svet izgleda sada Koju akciju trebam sada prerduzeti Pravilo kondicije akcije Činioci jednostavan refleks agenata Šematski dijagram prostog refleks agenta
-Znanje o unutrašnjem položaju okoline nije uvek dovoljno da bi se odlučilo šta treba raditi: na primer, u spajanju puta taksi može skrenuti levo, desno ili se kretati pravo. -Prava odluka o ovoj akciji zavisi od toga gde taksi pokušava da stigne. - Agentu je potrebna neka vrsta informacije cilja, koja opisuje situaciju koja je poželjna, na primer, kao što je odredište putnika. Ciljno bazirani agenti
-Program agenta može se kombinovati sa informacijom o rezultatu mogućih akcija (ista informacija koja je korišćena) za ažuriranje (UPDATE) unutrašnjeg položaja u refleksu agenta, u redu akcija koje postižu cilj. -Ponekad će ovo biti jednostavno, kada cilj zadovoljava rezultat odmah od pojedinačne akcije; ponekad će biti lukaviji agent mora uzeti u obzir dugačku sekvencu zaokreta, okretanja da pronađe put (način) izvršenja cilja. Ciljno bazirani agenti
Ciljno bazirani agenti O K O L I N A Senzori Stanje Kako svet izgleda sada Kako se svet razvija Šta moja okolina radi Koju akciju trebam sada prerduzeti Pravilo kondicije akcije AGENT Činioci Agent refleksa sa unutrašnjim stanjem
Za refklesnog agenta, mora ćemo propisati veliki broj pravila uslovne akcije. Naravno, osnovni cilj agenta je takođe više fkeksibilan u odnosu na traženje različitih destinacija. - Jednostavno, navođenjem podataka nove destinacije, možemo dobiti osnovni cilj agenta koji se pojavljuje kao kao novo ponašanje kod agenta. - Pravilo refleksnog agenta za vreme kada se okreće i kada ide pravo, važi će samo za pojedinačnu destinaciju; moraju svi biti zamenjeni da bi išli na novo mesto. Ciljno bazirani agenti
Ciljno bazirani agenti O K O L I N A Senzori Stanje Kako svet izgleda sada Kako se svet razvija Šta će biti ako uradim akciju A Koja je moja akcija Koju akciju trebam sada da preduzmem Pravilo uslova za akcije AGENT Činioci Agent sa jasnim ciljevima
-Sami ciljevi nisu stvarno dovoljni za proizvodnju visoko kvalitetnog ponašanja. -U veštačkoj inteligenciji ciljevi su brži sigurniji pouzdaniji ili povoljniji od drugih. Cilj određuje grubu destinaciju «srećnih» i «nesrećnih» položaja. -Zbog «srećnog» veštačka inteligencija nema temeljno učenje, uobičajena terminologija kaže da ako društveni položaj daje prednost drugom, to ima veću korist za agenta. - Korist je zbog toga funkcija koja ucrtava položaj u realni broj, koji opisuje udruženu saglasnost o sreći. KORISNO BAZIRANI AGENTI
Kompletna specifikacija funkcije koristi i dozvoljava racionalno odlučivanje u dva slučaja kada ciljevi imaju problem. kada postoje pozitivni ciljevi od kojih samo neki mogu biti izvršeni (na primer brzina i sigurnost), funkcija koristi specificira ustupak za ustupak. kada postoji nekoliko ciljeva koje agent treba obavljati nijedan od njih ne može biti izvršen sa sigurnošću, korist određuje način kojim bi se uspešno išlo i koje bi bilo odgovarajuće protivno važnosti ciljeva. KORISNO BAZIRANI AGENTI
-Svaki racionalni agent koji poseduje funkciju jasne koristi, može zbog toga doneti racionalnu odluku, ali mora utvrditi korist izvršavanja, različitim pravcem akcija. KORISNO BAZIRANI AGENTI
KORISNO BAZIRANI AGENTI O K O L I N A Senzori Stanje Kako svet izgleda sada Kako se svet razvija Šta će biti ako uradim akciju A Šta moja okolina radi Koliko ću biti Srećan u tom položaju Koju akciju trebam sada da preduzmem Pravilo uslova za akcije AGENT Činioci Kompletni korisno bazirani agent
Definisanost okoline: -Okolina predstavlja samo okruženje agenta, koji putem svojih senzora prikuplja za njega relevantne podatke, koji su mu potrebni za racionalno izvođenje neke akcije. OKOLINA
Pristupačne – nepristupačne Opredeljene – neopredeljene Epizodne – ne epizodne Statične – dinamične Prekidne – neprekidne Karakteristike okolina
- Ako agentova aparatura senzora daje pristup kompletnom položaju okoline, tada ćemo reći da je okolina pristupačna agentu. Pristupačne – nepristupačne
-Ako je sledeći položaj okoline kompletno opredeljen tokom položaja akcije odabrane putem agenta, tada ćemo reći da je okolina opredeljena. -Ako je okolina nepristupačna, kako bilo, može se pojaviti kao neopredeljena. Opredeljene – neopredeljene
U epizodnoj okolini agentovo iskustvo je «podeljeno» u epizode. Svaka epizoda zavisi od agentovog zapažanja i tada deluje. Kvalitet njegove akcije zavisi jedino od same epizode, jer sledeća epizoda ne zavisi od akcije koja se dešava u prethodnim epizodama. Epizodne okoline su mnogo jednostavnije, jer agent ne mora misliti unapred. Epizodne – ne epizodne
Ako se okolina može promeniti dok agent razmišlja, tada kažemo da je okolina dinamična za tog agenta Sa statičnim okolinama deljenje je tako, jer agent ne treba gledati na svet dok odlučuje o akciji, niti treba da brine o prolazu vremena. Statične – dinamične
-Ako postoji ograničen broj oznaka, čisto definisane percepcije i akcije, kažemo da je okolina PREKIDNA. Primeri: Šah je prekidan – tamo je fiksni broj mogućih poteza u svakom pravcu. Vožnja taksijem je NEPREKIDNA – brzina i lokacija taksija, i drugi nosioci dostupni su kroz niz neprekidnih vrednosti. Prekidne – neprekidne
-Simulator uzima jednog ili više agenata kao ulaz ka ponovnom davanju, svakom agentu, pravih percepcija i primanja povratnih akcija. Tada simulator menja okolinu baziranu na akciji; i moguće druge dinamične procese u okolini koja nije smatrana da bi bila agent (kiša, na primer). -Zbog toga je okolina definisana početnim položajem i primenom funkcije. -Naravno, agent koji radi u simuliranju mora takođe raditi u realnoj okolini koja određuje iste vrste percepcije i prihvata istu vrste akcije. Programi okoline
procedure Run-Envirnment(state, UPDATE-FN, agents, termination) inputs: state, the intial state of the environment UPDATE-FN, function to modify of the environment agents, a set of agents termination, a predicate to test when we are done repeat for eachagentinagentsdo PERCEPT-[agent] GET-PERCEPT(agent,state) end for each agent in agents do Action[agent] – Program[agent](Percept[agent]) end state Update-FN(actions, agents, state) untiltermination(state) Programi okoline Osnovni program simulacije okoline. Daje svakom agentu njegovu percepciju, nabavlja akcije od agenta, i tada menja okoline.
procedure Run-Envirnment(state, UPDATE-FN, agents, termination, PERFORMANCE-FN) returnsscores local variables:scores, a vector the same size as agents, all 0 repeat for eachagentinagentsdo PERCEPT[agent] GET-PERCEPT(agent, state) end for eachagentinagentsdo ACTION[agent] PROGRAM[agent](PERCEPT[agent]) end state UPDATE-FN(actions, agents, state) scores PERFOMANCE-FN(scores, agents, state) untiltermination(state) returnscores Programi okoline Program simulacije okoline koja održava putanju mere izvođenja za svakog pojedinačnog agenta
-Ako ga osmislimo za pojedinačnog protivnika, bi ćemo u mogućnosti da iskoristimo priliku specifičnih slabosti protivnika, ali to nam neće dati dobar program za osnovnu igru. -U toku mere izvođenja agenta, moramo imati stvaraoca okoline, koji bira pojedinačne okoline (sa sigurnim izgledom) u kojoj će agent izvršavati. -Moguća zabuna dolazi između promene položaja u simuliranoj okolini promene položaja samog agenta Programi okoline
-Dok, programer dopunjuje simulator okoline i agenta, privlačno je dopustiti agentu da zaviri u okolinu simulatorskog menjanja položaja. -Agenotva izmena položaja mora biti napravljena samom percepcijom, bez pristupa kompletnom stanju informacije. Programi okoline