Vetaka Inteligencija LOGIKI AGENTI Agenti bazirani na znanju
Veštačka Inteligencija LOGIČKI AGENTI Agenti bazirani na znanju 1
Logički agenti Reprezentacija znanja i postupci zaključivanja koje omogućva primena tog znanja su centralna tema svake oblasti veštačke inteligencije. Znanje i zaključivanje omogućavaju uspešno ponašanje za agenta. 2
Logički agenti Refleksni agent je mogao da nađe put od Arada do Bukurešta samo uz pomoć puke sreće. Agent koji raspolaže sa bazom znanja ume da iskoristi znanje koje je opisano u veoma opštoj formi, a da sakuplja elemente znanja tako, da odgovara mnogim ciljevima. Znanje i zaključivanje su jako bitni i kod okruženja koja su samo delimično opservabilna. 3
Logički agenti Agent sa bazom znanja ume da kombinuje svoje opšte znanje sa trenutnim percepcijama (osećajima), kako bi zaključio skrivene aspekte trenutnog stanja, pre nego što se odluči za delovanje (radnju). Prirodni jezik takođe zahteva da zaključujemo u vezi sa skrivenim aspektima, i da prepoz- namo namere govornika. 4
Logički agenti „Josip je video dijamant kroz prozor, i voleo bi da (ga) dobije. ” Na šta se odnosi reč „ga”? Da li na prozor ili na dijamant? Na osnovu znanja o relativnim vrednostima zaključujemo da se radi o dijamantu. 5
Agent koji logično zaključuje Mogućnosti: prihvatanje novih zadataka na osnovu ciljeva koji su napisani u eksplicitnoj formi postati kompetentan na osnovu prihvaćenih ili naučenih informacija o okolini prilagođavanje promenama okoline osvežavanjem relevantnog znanja 6
Agent koji logično zaključuje Znanja: Trenutno stanje sveta Vremenski razvoj sveta Rezultati sopstvenih postupaka nakon raznih radnji 7
Agent sa bazom znanja 8
Agent sa bazom znanja Centralni element agenta sa bazom znanja je upravo njegova baza znanja (knowledge base). Baza znanja nije ništa drugo nego skup iskaza (rečenica - sentences). Iskaze predstavljamo pomoću jednog jezika koji se naziva jezik reprezentacije znanja (knowledge representation language). 9
Agent sa bazom znanja, kao i svaki drugi agent, detektuje nešto kao ulaz, a vraća jednu radnju. Agent održava jednu bazu znanja (BZ), koji u početku može da sadrži neko pozadinsko znanje. 10
Agent sa bazom znanja U bazu znanja novu rečenicu dodajemo sa postupkom KAŽE, a sa postupkom PITA ispitujemo znanje. Ako se pozove program agenta, on čini tri stvari. Prvo KAŽE bazi znanja ono što je percipirao. Drugo, PITA bazu znanja kakvu radnju treba da izvrši. Treće, agent fiksira izabranu radnju koriš- ćenjem KAŽE, i izvrši radnju. 11
WUMPUS-ov svet 12
WUMPUS-ov svet Wumpus-ov svet (wumpus world) je jedna pećina koja se sastoji od soba, i od prolaza koji ove sobe povezuju. Wumpus je jedno čudovište, koji pojede svakog ko uđe u njegovu sobu i skriven je negde u pećini. Agent može da odstreli wumpus-a, ali za to ima samo jednu strelu. Nekoliko soba sadrži klopku, koji zarobljava svakog ko uđe u sobu (osim wumpus-a). U okolini wumpus-a se može naći zlato. 13
WUMPUS-ov svet Tipični WUMPUS-ov svet. Agent se nalazi u donjem levoj uglu. 14
WUMPUS-ov svet Definiciju okoline daćemo pomoću PORS: • Performance: agenta uapdanje ako pojede klopku wumpus, ili u -1 za svaku strele. +1000 uzimanje zlata, -1000 izvršenu radnju, -10 upotreba • Okolina: Mreža od 4 x 4 sobe. Agent uvek kreće iz sobe (1, 1) licem okrenuto prema desno. Zlato i wumpus su raspoređeni slučajno, ali nisu u polaznom kvadratu (1, 1). Bilo koja soba može biti klopka sa verovatnoćom 0. 2. 15
WUMPUS-ov svet Radnje: Agent može da se kreće pravo, i može da se okreće levo ili desno za 90 stepeni. Agent umire ako kroči u sobu u kojoj je klopka, ili tamo gde je wumpus. Kretanje pravo nema nikakvog efekta ako je ispred agenta zid. Radnjom Uzmi agent uzima predmet koji se nalazi u istoj sobi sa njim. Radnjom Pucaj strela se ispucava u onom pravcu u kom agent upravo stoji. Strela leti dok ne pogodi wumpus-a (i ubije ga), ili ne udari u zid. Agent ima samo jednu strelu. 16
Pravila WUMPUS-ovog sveta Senzori: Agent poseduje 5 senzora, svaki vraća jedan bit informacije: 1. U kvadratu gde je wumpus, i u kvadratima pored (ne dijagonalno) agent oseća smrad. 2. Ako se agent nalazi u kvadratu pored klopke, agent oseća vetar. 3. U kvadratu u kome je zlato, agent percipira sjaj. 4. Ako agent udari u zid, oseća udarac. 5. Ako je wumpus ubijen, čuje se krik u celoj pećini. 17
WUMPUS-ov svet Agent osećaje (informacije) dobija u formi liste koja sadrži 5 simbola: Ako u jednom kvadratu ima smrada i povetarca, ali nema udarca, sjaja i krika, tada agent dobija sledeći osećaj: [Smrad, Povetarac, Ništa, Ništa] 18
WUMPUS-ov svet Glavni problem je u tome što agent u početku ne zna ništa o okruženju, i potrebna su mu logička zaključivanja. U najvećem broju slučajeva postoji siguran način za agenta da pronađe zlato. U nekoliko slučajeva agent treba da izabere da li da ode kući praznih šaka, ili da rizikuje put koji vodi ili do zlata ili do smrti. U 21% slučajeva zlato se nalazi u klopci, ili u kvadratu koji je okružen klopkama. 19
WUMPUS-ov svet U početku agent zna da se nalazi u polju (1, 1), i da je to jedan siguran kvadrat. Prvi osećaj je [Ništa, Ništa] Na osnovu ovoga agent zaključuje da su susedni kvadrati sigurni. 20
WUMPUS-ov svet Pošto u (1, 1) nije bilo ni smrada ni povetarca, agent zaključuje da su kvadrati (1, 2) i (2, 1) sigurni. Nakon ovog saznanja u odgovarajuće kvadrate pišemo OK. Pretpostavimo da je sledeći potez agenta u kvadrat (2, 1). 21
WUMPUS-ov svet Agentov prvi korak u Wumpus-ovom svetu 22
WUMPUS-ov svet Agent će detektovati povetarac u (2, 1), dakle u nekoj od susednih kvadrata je klopka. Klopka ne može biti u (1, 1), tako da je ili u (2, 2) ili u (3, 1), ili u oba kvadrata (ako ima dve klopke, vetar nije jači). Znak Cs? (K) označava moguću klopku u poljima. pošto postoji samo jedan siguran kvadrat, agent se vraća u (1, 1), i odavde dalje u (1, 2). 23
WUMPUS-ov svet Dva slučaja u toku kretanja agenta 24
WUMPUS-ov svet U (1, 2) agent dobija osećaj [Smrad, Ništa, Ništa] Smrad u (1, 2) znači da je wumpus u blizini. Wumpus ne može biti u (1, 1), a ne može biti ni u (2, 2) jer bi u tom slučaju agent osetio smrad u (2, 1). Tako da wumpus može da bude samo u (1, 3) kvadratu (W!). Nepostojanje povetarce u (1, 2) znači da nema klopke u (2, 2). Ali agent već zna da je klopka ili u (2, 2) ili u (3, 1), zato dolazi do zaključka da je klopka u (3, 1). Ovo je jedan veoma složen zaključak pošto koristi znanja koja su skupljena u različitim vremenima i na različitim mestima, a izvršenje jedne veoma važne radnje se oslanja na nepostojanje jednog osećaja. 25
WUMPUS-ov svet Agent je dokazao sebi da u (2, 2) nema ni klopke, ni wumpus-a (OK). U kvadratu (2, 2) agent donosi zaključke isto kao i do sada, i prelazi u kvadrat (2, 3) gde detektuje sjaj, uzima zlato, i sa time se igra i završava. 26
WUMPUS-ov svet U bilo kom trenutku kad agent donosi zaključke na osnovu raspoloživih informacija, posledica će garantovano biti ispravna, ako su informacije koje su na raspolaganju ispravne. 27
Sintaksa Baza znanja sastoji se od iskaza (sentences). Ove iskaze izražavamo prema sintaksi jezika za reprezentaciju. x+y=2 dobro formiran iskaz x 2 y+= loše formiran iskaz 28
Logika 29
Aspekti jezika za reprezentaciju znanja § § Sintaksa jezika (syntax) opisuje one moguće konfiguracije sa kojima je možemo generisati iskaze. Logika treba da definiše i semantiku (semantics) jezika. Kod semantike se radi o „značenju” iskaza. U logici semantika jezika definiše istinitost (truth) iskaza, u odnosu na svaki mogući svet (possible world). Iskaz x+y=4 je tačan u onom svetu gde su x=2 i y=2, i netačan u onom svetu gde su x=1 i y=1. 30
Logičko zaključivanje Relacija logičkog povlačenja (entailment) između iskaza izražava da jedan iskaz logički sledi iz jednog drugog iskaza. Matematička oznaka je: α |= β Iskaz α povlači iskaz β. Svugde je α tačno, i β je tačno. Iskaz x+y=4 povlači iskaz 4=x+y. 31
Logičko zaključivanje Na osnovu slike 7. 3. b: agent nije osetio ništa u (1, 1), i osetio je povetarac u (2, 1). Ovi osećaji zajedno sa pravilima koja važe u wumpusovom svetu čine bazu znanja. Agenta sada zanima da li kvadrati (1, 2), (2, 2) ili (3, 1) sadrže klopku. Svaki od njih može da sadrži klopku, tako da ukupno postoji 23=8 modela. 32
Logičko zaključivanje Slika 7. 4: Mogući modeli prisustva klopke u [1, 2], [2, 2] i [3, 1], ako je poznato da se u [1, 1] ne oseća ništa, dok se u [2, 1] oseća povetarac. (a) Modeli baze znanja i 1 (nema klopke u [1, 2]). (b) Modeli baze znanja i 2 (nema klopke u [2, 2]. 33
Logičko zaključivanje Baza znanja (BZ) je neistinit u onim modelima koji protivreče onome što agent zna. Na primer BZ je neistinit u svakom modelu gde (1, 2) sadrži klopku, pošto u (1, 1) nema povetarca. Postoji samo 3 modela u kojem je BZ istinit, slika 7. 5 njih prikazuje kao podskup modela. 34
Logičko zaključivanje Dve moguće posledice: α 1=„Nema klopke u (1, 2). ” α 2=„Nema klopke u (2, 2). ” U svakom modelu gde je BZ istinit, i α 1 je istinit. BZ |= α 1, i nema klopke u (1, 2). U nekim modelima gde je BZ istinit, α 2 je neistinito. TB |≠ α 2, i agent ne može da zaključi da u (2, 2) nema klopke. 35
Logičko zaključivanje Jedan proces zaključivanja, koji uvodi samo iskaze povlačenja, nazivamo ispravnim (sound) ili truth preserving. Jedan proces zaključivanja je potpun (complete), ako može da izvede sve iskaze povlačenja. 36
Kraj 37
- Slides: 37