530 likes | 661 Views
Fakulteta za računalništvo in informatiko Univerza v Ljubljani. Avtomatsko modeliranje ve čagentnih sistemov. mag. Andraž Bežek mentor: akad. prof. dr. Ivan Bratko somentor: prof. dr. Matjaž Gams. Ljubljana, 3. januar 2007. Vsebina. Večagentno modeliranje
E N D
Fakulteta za računalništvo in informatiko Univerza v Ljubljani Avtomatsko modeliranje večagentnih sistemov mag. Andraž Bežek mentor: akad. prof. dr. Ivan Bratko somentor: prof. dr. Matjaž Gams Ljubljana, 3. januar 2007
Vsebina • Večagentno modeliranje • Sistem za strateško modeliranje - MASDS • Algoritem za strateško modeliranje - MASDA • Aplikacija in ovrednotenje na • domeni RoboCup • domeni 3vs2 Keepaway • Prispevki znanosti • Zaključek
Večagentno modeliranje:Problem • Iz sledenja nizkonivojskega obnašanja skupine agentov in zgolj osnovnega domenskega znanja ugotoviti, kakšno skupno strategijo izvajajo. • Naloga je zahtevna iz dveh ključnih razlogov: • Agenti so samostojneentitete, ki skušajo v nenehni interakcijis soigralci, nasprotniki in okoljem skladno izvajati vnaprej dogovorjeno strategijo. Iz nizkonivojskega opisa delovanja posameznih agentov je zato težko izluščiti visokonivojsko strategijo skupine agentov. • Pri učenju ima sistem poleg opazovanja nizkonivojskega obnašanja na voljo le osnovno domensko znanje. Tako osnovno domensko znanje je običajno na voljo, naloga pa zahteva odkrivanje poglobljenega znanja, kakršnega imajo na voljo domenski strokovnjaki. • Naloga je primer modernega problema umetne inteligence[1] [1] Cohen, P.R., If Not Turing’s Test, Then What? AI Magazine, 2005. 26(4): str. 61-67.
Večagentno modeliranje: Predpostavka • Načrtovano izvajanje strategije večagentnega sistema se v podobnih situacijah kaže v podobnih zaporedjih akcij, lokalno odzivanje agentov na "šumne" spremembe okolja pa v spremenljivih zaporedjih akcij.
Večagentno modeliranje: Cilj disertacije • Razviti domensko neodvisen postopek, ki iz zaporedja osnovnih akcij večagentnega sistema in z uporabo osnovnega domenskega znanja zgradi model delovanja večagentnega sistema, ki: • opisuje zaporedja agentnih akcij, ki so del večagentne strategije, • je človeku razumljiv ter primeren za analizo in interpretacijo modela, • je primeren za avtomatsko klasifikacijo.
Večagentno modeliranje:Definicija problema • Modeliranje strategije večagentnega sistemaMAS<AG, Abasic, Sbasic, Fbasic, h, A, R, S, F, G, G'basic> je iskanje približka strategije G na osnovi sledi delovanja MAS trace. Pri tem je podano: • sled delovanja MAS trace, • množica agentov AG, • množica agentnih vlog R, • množica agentnih akcij A in • množica osnovnih agentnih akcij Abasic. • Naloga je poiskati: • množice zaporedij pogosto odigranih akcijZ={z1, z2, ..., zm}, kjer je zx=ax,1, ax,2, ..., ax,c; ai,j A • čim boljši približek višjenivojskih odločitvenih funkcij G v obliki Γ={γ1, γ2, ..., γn}, kjer je γi približek gi G
Sistem za strateško modeliranje • MASDS (angl. Multi-Agent Strategy Discovering System)
Prikaz abstrakcije v sistemu za strateško modeliranje Predprocesiranje Naraščajoča abstrakcija MASDA
Vhod je sled izvajanja večagentnega sistema Sled izvajanja je predstavljena kot nabor vrednosti atributov v danem časovnem intervalu 468 atributov 6000+ časovnih korakov MASDS Vhod: Sled delovanja
MASDS Vhod: Domensko znanje • Podano v hierarhični obliki: • Hierarhija agentnih vlog - opis agentnih vlog • Hierarhija agentnih akcij - opis agentih akcij • Hierarhije značilk - opis domenskega stanja
P. 1 Zaznava osnovnih agentnih akcij P. 2 Zaznava agentnih akcij • P. 1 Zaznava osnovnih agentnih akcij: • Iz sprememb vrednosti atributov v sledi izvajanja sklepamo na opravljene osnovne agentne akcije. • Rezultat je seznam osnovnih agentnih akcij v vsakem koraku danega časovnega intervala. • P. 2 Zaznava agentnih akcij: • Iz sprememb vrednosti atributov v sledi izvajanja in seznama osnovnih agentnih akcij ugotavljamo agentne akcije. • Rezultat je zaporedje agentnih akcij v danem časovnem intervalu. • Vsaka zaznana akcija je opisana z: <akcija, tzačetek, ttrajanje, agent, vloga> Sled izvajanja Seznam osnovnih agentnih akcij Zaporedje agentnih akcij
I.1 Gradnja akcijskega modela izhod: akcijski graf I.3 Izbira strateških konceptov makroakcij izhod: koncepti makroakcij I.2 Gradnja abstraktnega akcijskega modela izhod: abstrakten akcijski graf II.1 Določitev agentnih vlog in akcij izhod: karakterni opisi konceptov makroakcij II.2 Določitev učnega problema izhod: učni primeri II.3 Indukcija pravil izhod: grafični in simbolni opisi konceptov makroakcij Algoritem za strateško modeliranje MASDA I. del: Gradnja grafičnega akcijskega modela MASDA II. del: Simbolni opis akcijskega modela
Algoritem za strateško modeliranje I.1 Gradnja akcijskega modela • Iz zaporedja agentnih akcij zgradimo akcijski graf (AG) • Povezave v AG ustrezajo akcijam, vozlišča pa začetkom in zaključkom akcij • Povezava je opisana z: • izvornim in ponornim vozliščem • agentno akcijo (iz hierarhije agentnih akcij) • imenom agenta • njegovo vlogo (iz hierarhije agentnih vlog) • trenutkom začetka akcije in njenim trajanjem • Vozlišče je opisano z: • agentno akcijo (iz hierarhije agentnih akcij) • imenom agenta • njegovo vlogo (iz hierarhije agentnih vlog) • trenutkom začetka/konca akcije • in domensko pozicijo agenta v trenutku začetka/konca akcije
I.1 Gradnja akcijskega modela Primer akcijskega grafa 10 iger moštva STEP iz RoboCup 2005
Algoritem za strateško modeliranje I.2 Gradnja abstraktnega akcijskega modela • Iz izhodiščnega akcijskega grafa zgradimo abstrakten akcijski graf (AAG) • Določimo funkcijo razdalje dist(a, b), ki meri konceptualno razdaljo med vozlišči a in b iz AAG. Funkcija upošteva razdaljo med opisi: • agentnih akcij • agentnih vlog • domenskih pozicij agentov • Proces abstrakcije: iterativno združevanje najbližjih vozlišč • Ustavitveni pogoj: najmanjša razdalja med poljubnima vozliščema je večja od parametra abstrakcijeabs • Rezultat je AAGabs, ki je model abstraktnega večagentnega obnašanja: • vozlišče predstavlja koncept začetka/konca akcije • povezava predstavlja celoten akcijski koncept ki jih opisujeta vozlišči a in b
I.2 Gradnja abstraktnega akcijskega modelaPrimer procesa abstrakcije Parameter abstrakcije abs 16 14 12 10 8 6 4 2 0
Algoritem za strateško modeliranje I.3 Izbira strateških konceptov makroakcij • Šibka povezanost poti path v AAG je minimalno število primerov, ki so opisani v povezavah v poti path • Močna povezanost poti path v AAG je število poti iste dolžine iz izhodiščnega AG, ki so v celoti vsebovane v poti path • Izberemo tiste poti v AAG, ki imajo dovolj visoko močno povezanost • Taka pot predstavlja eno makroakcijo (zaporedje akcij) večagentnega sistema, ki je posledica skupne agentne strategije
I.3 Izbira strateških konceptov makroakcijPrimer strateških konceptov makroakcij AAG8 Vse poti dolžine = 1s šibko povezanostjo ≥ 2 Vse poti dolžine = 1s šibko povezanostjo ≥ 3 Vse poti dolžine = 3z močno povezanostjo ≥ 3
I.3 Izbira strateških konceptov makroakcijPrimer strateškega koncepta makroakcije
I.3 Izbira strateških konceptov makroakcijPrimer strateškega koncepta makroakcije Pot dolžine = 3z močno povezanostjo = 3 in šibko povezanostjo = 7
Algoritem za strateško modeliranje II.1 Določitev agentnih vlog in akcij • Za dano pot v AAG: • Vsakemu vozlišču in povezavi določimo najmanj splošno agentno vlogo in akcijo, ki še odgovarja vsem opisom vlog in akcij v odgovarjajočih vozliščih oz. povezavah izhodiščnega AG • Zgradimo karakterni opis makroakcije, ki je sestavljen iz zaporedja: • vloge agenta • akcijskega koncepta • domenske pozicije agenta
II.1 Določitev agentnih vlog in akcijPrimer karakternega opisa makroakcije L-FW:Long-dribble L-FW:To-player C-FW:Successful-shoot
Algoritem za strateško modeliranje II.2 Določitev učnega problema • Proces učenja koncepta makroakcije razdelimo na učenje posameznih akcijskih konceptov, ki jih predstavljajo vozlišča v poti, določeno z makroakcijo. • Za vsako vozlišče v poti definiramo dvorazredni učni problem: • pozitivni razred sestavljajo primeri akcij, ki so vsebovani v danem vozlišču • negativni razred so ostali primeri • Izrazito neuravnotežena porazdelitev učnih primerov • Vzorčenje negativnih primerov glede na njihovo oddaljenost od pozitivnih
Algoritem za strateško modeliranje II.3 Indukcija pravil • Binarni atributi, ki odgovarjajo parom "agent:značilka" oz. "okolje:značilka" • Atribut "a:z" resničen, če je značilka z resnična za agenta a:Npr: agent1:speed_fast = true, agent2:speed_fast = false, ball:speed_fast = true • Število atributov je odvisno od števila agentov: n*N+M n = št. agentov, N = št. značilk za agentne lastnosti, M = št. značilk okolja • Namesto imen agentov uporabimo agentne vloge (agent:značilka vloga:značilka): Npr: C-FW:speed_fast = true, C-FW:speed_fast = false, ball:speed_fast = true • Problemi: • če ima več agentov isto vlogo, sivrednosti za par vloga:značilka lahko nasprotujejo • če agenti dinamično spreminjajo vloge, potem vrednosti atributov vloga:značilka niso nujo določeni za vse časovne točke • Binarne atribute pretvorimo v atribute, katerih vrednosti so množice. Atributi predstavljajo značilke, elementi množice pa vloge, za katere je par "vloga:značilka" resničen. Npr: speed_fast= {C-FW, ball} • Zmanjšanje števila atributov (ni več odvisno od števila agentov): n*N+M N+M • Induciramo pravila, ki klasificirajo primere v pozitivni razred.
II.3 Indukcija pravilPrimer pravil C-FW:Incoming L-FW:Immediate R-MF:Incoming RTeam.GK:Incoming L-MF:Back RTeam.C-FW:Very-far R-MF:Center-of-the-field L-FW:Long-dribble L-FW:To-player RTeam.LC-FB:Center-circle RTeam.L-FB:Right-wing L-MF:Medium-distance R-FW:Faster RTeam.R-FW:Moving L-MF:Defending-half L-FW:Moving RTeam.LC-FB:Right-half R-FB:Very-far C-FW:Successful-shoot C-MF:Moving-away L-FW:Medium-distance C-FW:Attacking-half.Attacking-third.Danger-zone C-MF:Medium-distance L-FB:Moving-away L-MF:Medium-distance RC-FB:Moving-away-slow
Domena RoboCupEkspertna analiza • Ekspertna analiza 29 pogojev vmodelu napada[1, 2]: • 10 pogojev zelo primernih (34,5 %) • 10 pogojev smiselnih (34,5 %) • 9 pogojev neprimernih (31,0 %) • Pravila nakazujejo na glavne prednosti oz. pomanjkljivosti situacij [1] Pocrnjič, M., Osebni pogovori. 2005: Ljubljana. Profesor nogometa na Fakulteti za šport. [2] Resnik, J., Osebni pogovori. 2006: Kranj. Igralec NK Triglav.
Razlaga akcijskega konceptaL-FW:Long-dribble • Situacija predstavlja napačno postavitev branilcev desnega moštva RTeam.LC-FB in RTeam.L-FB. Omenjena branilca sta predaleč stran od napadalcev levega moštva C-FW in L-FW, namesto da bi bila pred njima, zato tudi ne moreta preprečiti neizogibnega prodora napadalnih igralcev levega moštva. Značilnost pozicije so tudi napačne postavitve sredinskih igralcev levega moštva L-MF, C-MF in R-MF, ki se zadržujejo preveč v obrambnih položajih. Njihova vloga v dani situaciji bi morala biti striktno napadalna. RTeam.LC-FB:Center-circleRTeam.L-FB:Right-wingL-MF:Medium-distanceR-FW:FasterRTeam.R-FW:Moving L-MF:Defending-halfL-FW:MovingRTeam.LC-FB:Right-halfR-FB:Very-far
Razlaga akcijskega konceptaL-FW:To-player • Drugi akcijski koncept predstavlja nevarno situacijo za desno moštvo, saj ima napadalno moštvo kar tri napadalce pred nasprotnikovimi branilci, kar daje igralcu z žogo več možnosti: L-FW lahko sam preigra vratarja, lahko poda C-FW ali pa R-FW. Obrambni igralci desnega moštva so "zamudili" pri obrambi in so glavni krivci za nastalo situacijo.RTeam.GK gre pravilno na žogo, vendar ga L-FW prehiti in poda C-FW, ki ima prosto za strel na gol. C-FW:IncomingL-FW:ImmediateR-MF:IncomingRTeam.GK:IncomingL-MF:Back RTeam.C-FW:Very-far R-MF:Center-of-the-field
Razlaga akcijskega konceptaC-FW:Successful-shoot • Tretji akcijski koncept predstavlja brezizhodno situaciji za desno moštvo, saj ima C-FW prosto za nemoten strel na gol. Krivdo za to nosijo predvsem obrambni igralci desnega moštva, ki se niso uspeli postaviti med napadalce in gol. C-MF:Moving-away L-FW:Medium-distanceC-FW:Attacking-half.Attacking-third.Danger-zoneC-MF:Medium-distance L-FB:Moving-away L-MF:Medium-distance RC-FB:Moving-away-slow
Domena RoboCupOpis izvedbe meritev • 10 iger moštva STEP iz RoboCup 2005 proti 8 različnim nasprotnikom: • skupaj 99 golov (STEP 96, nasprotniki 3) • skupnadolžina 66.216 korakov • > 3.000.000 osnovnih agentnih akcij • 10.000 agentnih akcij • Primere smo označili na podlagi zgrajene makroakcije iz 10 iger • 10 kratno prečno preverjanje: • 9 iger za učenje modela • 1 igra za preverjanje modela • Testni primeri izbrani v okolici makroakcije • Klasificiranje na podlagi: • karakternega opisa • pravil • karakternega opisa in pravil • večinskega klasifikatorja
Domena 3vs2 Keepaway • Želeli smo preveriti naslednje hipoteze: • Domenska neodvisnost: je MASDA res domensko neodvisen algoritem? • Popolnost modelov: ali lahko MASDA generira model celotne strategije in ne samo njenih delov? • Uporabnost modelov: ali je možno uporabiti dobljeni model strategije neposredno za nadzor izvajanja agentov? • Kvaliteta modeliranja: kakšna je kvaliteta modeliranja oz. v kakšni meri so dobljeni modeli podobni originalnim strategijam?
Domena 3vs2 KeepawayOpis prostora • Domenski prostor opisan s 13 spremenljivkami: • dist(K1, C), dist(K2, C), dist(K3, C), • dist(T1, C), dist(T2, C), • dist(K1, K2), dist(K1, K3), dist(K1, T1), dist(K1, T2), • min(dist(K2, T1), dist(K2, T2)), min(dist(K3, T1), dist(K3, T2)), • min(ang(K2, K1, T1), ang(K2, K1, T2)), min(ang(K3, K1, T1), ang(K3, K1, T2)).
Domena 3vs2 KeepawayPostopek primerjave Igra z referenčno strategijo MASDA modeliranje Naučena pravila vnesemo v program Igra z naučeno strategijo Primerjava strategij
Domena 3vs2 KeepawayUjemanje modela z referenčno strategijo if (playerNum == 1) { // branilecštevilka 1 if (DistK1T1 > 3) return Hold } else if (playerNum == 2) { // branilec številka 2 if (DistK1T1 > 6) return Hold } else { // branilec številka 3 if (DistK1T1 > 9) return Hold } // sicer podaj najbolj odprtemu branilcu if (MinAngK2K1T1T2 > MinAngK3K1T1T2) return PassK2 else return PassK3 • Analiza modela strategije hand3-6-9, kjer smo določili različno strategijo za posameznega branilca
Domena 3vs2 KeepawayVizualna primerjava z referenčno strategijo Referenčna hand strategija Naučena hand strategija Referenčna randstrategija Naučena rand strategija
Prispevki k znanosti • Nov, domensko neodvisen algoritem za modeliranje večagentnih sistemov, ki iz opazovanja obnašanja večagentnega sistema ob le osnovnem predznanju zgradi človeku razumljivo delno ali celotno strategijo skupine agentov. • Prispevki k znanosti so: • Ob uporabi le osnovnega predznanja algoritem uspešno odkriva visokonivojsko znanje neodvisno od domene • V algoritmu je razvit nov postopek abstrakcije, ki omogoča gradnjo poljubno abstraktnih opisov strategije večagentnega sodelovanja. • Zgrajeni model opisuje sodelovanje agentov, ki je predstavljeno v grafični in simbolni obliki. • Uspešnost algoritma je izkazana na dveh večagentnih domenah.
Zaključek • Izpolnili smo cilje - razvili smo domensko neodvisen postopek MASDA, ki iz zaporedja osnovnih akcij večagentnega sistema in z uporabo osnovnega domenskega znanja zgradi model delovanja večagentnega sistema, ki: • opisuje zaporedja agentnih akcij, ki so del večagentne strategije, • je človeku razumljiv ter primeren za analizo in interpretacijo modela, • je primeren za avtomatsko klasifikacijo.
Zaključek • Domensko neodvisnost smo potrdiliz implementacijo na dveh večagentnih domenah RoboCup in 3vs2 Keepaway, kjer smo za vsako domeno podali zgolj osnovno domensko znanjev obliki hierarhij agentnih akcij, vlog in domenskih značilk • Model strategije večagentnega sistema • na domeni RoboCup ekspert potrdil, da je predstavljena makroakcija del nogometne strategije • na domeni 3vs2 Keepaway uspešno modelirali celotno strategijo • Človeško razumljivost smo potrdili: • z ekspertno analizo koncepta makroakcije na domeni RoboCup • s primerjavo implementacije strategije in generiranih pravil referenčne hand in hand3-6-9 strategije na domeni 3vs2Keepaway. • Primernost za avtomatsko klasifikacijo: • strojno ovrednotenje na domeni RoboCup z meritvami klasifikacijske točnosti, priklica in natančnosti • na domeni 3vs2 Keepaway ovrednotenje z igranjem igre z agenti, ki imajo implementiran model naučene referenčne strategije agentov • Relevantnost prispevkov disertacijesmo pokazali s primerjavo s sorodnimi deli
Vprašanja • ?
Primeri napadov na gol L-fwd:speed dribble →L-fwd:pass → Fwd:shoot L-fwd:pass to player →Fwd:dribble → Fwd:shoot C-fwd:speed dribble → C-fwd:pass → Fwd:dribble → Fwd:shoot R-fwd:pass to player →Fwd:control dribble → Fwd:shoot R-fwd:dribble →R-fwd:pass to player → Fwd:shoot Fwd:pass to player →L-fwd:control dribble → L-fwd:shoot