You are on page 1of 4

Team Description Paper: UNIFEI Robok2D

Felipe Lira Santana Silva, Carlos Jnio de Andrade Vieira, Guilherme Sousa Bastos felipe.lira.santana@gmail. om, arlos.!unio.a.vieira@gmail. om, sousa@unifei.edu."r Centro de #efer$n ia em %e nologia da &nforma'(o )C#%i*, &nstituto de +ngenharia de Sistemas e %e nologia da &nforma'(o )&+S%&*, ,niversidade Federal de &ta!u"- ),.&F+&*, &ta!u"- / 0G, Brasil, C+1 234556752
Resumo Este artigo descreve brevemente o time Robok2D o qua uti i!a a t"cnica de #prendi!agem por Re$or%o como base da inte ig&ncia do time' (er) descrito a respectiva discreti!a%*o do ambiente+ as a%,es que os -ogadores podem rea i!ar+ os resu tados obtidos e os traba .os $uturos' &. &ntrodu'(o ,ma partida de fute"ol 8 um am"iente din9mi o e imprevis:vel no ;ual uma e;uipe de !ogadores ooperam entre si para on;uistarem um o"!etivo omum, mar ar gols. Juntamente om a disponi"ili<a'(o de um simulador => de uma partida de fute"ol, )Soccer Server) pela #o"o up ?@A, este esporte se tornou um dos alvos de pes;uisa na -rea de &ntelig$n ia Artifi ial e Sistemas 0ultiagentes. B #o"oC=> 8 um time om @@ !ogadores e um t8 ni o riado para o simulador Soccer Server, desenvolvido em um tra"alho de &ni ia'(o Cient:fi a atrav8s do 1rograma &nstitu ional de Bolsas de &ni ia'(o Cient:fi a )1&B&C* fomentado pelo Conselho .a ional de >esenvolvimento Cient:fi o e %e nolDgi o )C.1;*. B time utili<a o Ddigo fonte do ,vA %rilearn ?=A modifi ado pelo Grupo 1+% da +ngenharia da Computa'(o da ,niversidade Federal do +sp:rito Santo, Brasil ?2A omo time "ase e implementa as t8 ni as de Aprendi<agem por #efor'o na tomada de de isEes. A Aprendi<agem por #efor'o ?FA 8 uma t8 ni a de &ntelig$n ia Artifi ial ;ue utili<a omo "ase um 1ro esso >e isDrio de 0arCov )0arCov >e ision 1ro ess / 0>1* ?4A na ;ual o agente aprende uma pol:ti a Dtima por meio da intera'(o direta om o am"iente. A intera'(o om o am"iente ini ia6se a partir de um estado ;ual;uer, de a ordo om a dis reti<a'(o do am"iente no ;ual o agente est- inserido e sua posi'(o, o agente ent(o es olhe uma a'(o ;ue o levar- para um outro estado onde um refor'o seral ulado. +ste refor'o pode ser tanto positivo ;uanto negativo e depende das ara ter:sti as do novo estado. Se por eGemplo o time perdeu a posse de "ola ou tomou um gol, o novo estado 8 ruim e indese!-vel sendo seu refor'o negativo, mas se foi mar ado um gol o refor'o 8 positivo, valori<ando as a'Ees reali<adas para ada !ogador do time. B algoritmo utili<ado neste time para a Aprendi<agem por #efor'o 8 o Q-Learning. &&. 0odelagem do %ime 1ara implementar o algoritmo de Aprendi<agem por #efor'o 8 ne ess-rio definir o espa'o de estados e a'Ees poss:veis e o -l ulo de refor'o. A modelagem utili<ada no #o"oC=> foi "aseada no artigo Generalizao da aprendizagem por reforo do &0+ ?HA. A. Discretizao do ambiente 1ara representar o am"iente do simulador em uma ;uantidade de estados vi-vel omputa ionalmente foram feitas algumas dis reti<a'Ees dispostas em uma have de estados om sete posi'Ees, i5 I iH. >is reti<a'(o i5J #epresenta a posi'(o da "ola em ampo. A dis reti<a'(o 8 diferente de a ordo om o tipo do !ogador, <agueiro, lateral, meio6 ampo e ata ante omo mostrado na Figura @.

ig!ra "# Discretizao da posio da bola no campo para cada tipo de $ogador# a) %ag!eiro, b) Lateral es&!erdo, c) Atacante, d) Lateral direito, e) 'eio (ampo >is reti<a'(o i@J #epresenta a dist9n ia do !ogador I "ola.

>is reti<a'(o i@J #epresenta a dist9n ia do !ogador I "ola.

Como onse;u$n ia da dis reti<a'(o utili<ada o !ogador sD sa"e sua posi'(o no ampo ;uando em posse de "ola. ). A*es poss+veis As a'Ees est(o separadas em dois gruposJ a'Ees om a posse de "ola e a'Ees sem a posse de "ola. Com a posse de "olaJ A@J >ri"le seguro a 5K A=J >ri"le r-pido a 5K A2J >ri"le seguro a 25K AFJ >ri"le seguro a 625K A4J >ri"le seguro a 75K AHJ >ri"le seguro a 675K A3J 1asse direto ao aliado mais prDGimo ALJ Chute direto para o gol A7J >ominar a "ola Sem a posse de "ola

ig!ra -# Discretizao da dist.ncia da bola ao $ogador >is reti<a'(o i= e i2J #epresentam a dist9n ia do !ogador ao aliado mais prDGimo )i=* e ao oponente mais prDGimo )i2*. Am"os utili<am a mesma dis reti<a'(o omo mostrada na Figura 2.

ig!ra /# Discretizao da dist.ncia do oponente e aliado mais pr01imo >is reti<a'(o iFJ #epresenta o 9ngulo entre o oponente mais prDGimo, o aliado mais prDGimo e o !ogador. Se o 9ngulo entre eles for menor ;ue @4K iF 8 igual a 5, se o 9ngulo estiver entre @4K e 25K iF 8 igual a @, e para 9ngulos maiores ;ue 25K iF 8 igual a =.

A@5J &nter eptar a "ola A@@J 0ar ar o oponente ontra passe para ele A@=J Girar o orpo na dire'(o da "ola A@2J 0over6se para posi'(o estrat8gi a Algumas o"serva'EesJ

A a'(o A@= 8 importante para o !ogador fi ar parado no ampo ;uando por eGemplo est- na sua posi'(o estrat8gi a, e onomi<ando energia )stamina no simulador*. ,ma ara ter:sti a importante dos dri"les 8 ;ue o !ogador huta a "ola a uma dist9n ia segura )eG eto no dri"le r-pido* e logo a inter epta, movendo6se em dire'(o a "ola e onse;uentemente pelo ampo. Butro ponto importante a ressaltar 8 ;ue ;uando em posse de "ola o !ogador n(o possui uma a'(o para re uar. A a'(o A@5 leva 4 i los )455 ms* para ser reali<ada ou at8 inter eptar a "ola, durante esse per:odo nenhuma a'(o 8 es olhida e nenhuma atuali<a'(o da aprendi<agem 8 reali<ada. A a'(o A7 8 ne ess-ria para os momentos em ;ue a "ola se aproGima o "astante do !ogador a ponto de o estado indi ar posse de "ola )i@ M 5* mas ela possui uma erta velo idade. Se o agente reai<ar um hute, um dri"le ou um passe estar- adi ionando uma for'a I "ola ;ue !possui uma velo idade, portanto a dire'(o final ser- de a ordo om o vetor resultante gerado o ;ue n(o 8 ne essariamente a dire'(o final dese!ada.

ig!ra 2# 3ng!lo entre oponente, aliado e o $ogador >is reti<a'(o i4 e iHJ #epresentam a posi'(o angular do oponente mais prDGimo em rela'(o ao !ogador )i4* e o 9ngulo glo"al do orpo do !ogador )iH*. As duas haves utili<am a mesma dis reti<a'(o angular mstrada na figura.

ig!ra 4# Discretizao do .ng!lo global e relativo do $ogador

(. (,lc!lo do reforo B agente aprende independente da posse de "ola, por isso o -l ulo do refor'o 8 determinado para as a'Ees.

#efor'o do Gol Gol tomadoJ 6@55N Gol feito J 45N #efor'o da posse de "ola para a'Ees 7, @5, @@ e @= Se o !ogador do mesmo time est- prDGimo ) have i2 O =*J posse de "olaJ @5N sem posse de "olaJ 6F5 N Se o !ogador do mesmo time est- distante ) have i2 P @*J posse de "olaJ =5N sem posse de "olaJ 6=4 #efor'o do >ri"le >ri"le em dire'(o ao gol advers-rioJ posse de "olaJ @4N perda da posse de "olaJ 6=5N >ri"le em dire'(o oposta ao gol advers-rioJ posse de "olaJ 4N perda da posse de "olaJ 624N #efor'o do 1asse 1asse em dire'(o ao gol advers-rioJ posse de "ola do timeJ 24N perda da posse de "ola do timeJ 6=5N 1asse em dire'(o oposta ao gol advers-rioJ posse de "ola do timeJ =5N perda da posse de "ola do timeJ 624N #efor'o do >om:nio da Bola )A'(o L* Se a "ola dominada seguia em dire'(o ao gol advers-rioJ =5N Se seguia na dira'(o opostaJ 24N Se a "ola !- estava dominadaJ 6=5N 555. 5mplementao da Aprendizagem por 6eforo 1ara a implementa'(o do algoritmo de Aprendi<agem por #efor'o no time "ase ,vA %rilearn foram ne ess-rias algumas modifi a'Ees. Foram riadas fun'Ees espe ialmente desenvolvidas para fa ilitar a apli a'(o do algoritmo e diminuir o uso de par9metros na hamada destas fun'Ees. 1ara ada dis reti<a'(o foi riada uma fun'(o diferente utili<ando partes do Ddigo do prDprio time "ase mas ;ue !- retornassem os valores previamente espe ifi ados. Assim omo nas a'Ees foram riadas novas fun'Ees ;ue !- reali<assem a a'(o determinada sem a ne essidade de par9metros. Lista de fun'Ees riadasJ A#QgetBall1os)*N A#QgetBall#el>istan e)*N A#QgetClo%eammate#el>ist)*N A#QgetCloBpponent#el>ist)*N A#QgetAngleChavei4)*N A#Qget#elativeBppAng)*N A#QgetAgentGloBodRAngle)*N A#QSafe>ri""le )* A#QFast>ri""le )*

A#QSafe>ri""le1lus25 )* A#QSafe>ri""le0inus25 )* A#QSafe>ri""le1lus75 )* A#QSafe>ri""le0inus75 )* A#Qdire t1ass.ormal )* A#Qdire tShootGoal )* A#QmarCBppAndBall )* Foram riadas duas lasses para arma<enamento de vari-veis e implementa'(o de fun'Ees ne ess-rias para o algoritmo. Classe 0atri<esJ Arma<ena e reali<a "us as e adi'Ees de elementos nas matri<es essen iais assim omo re upera e as salva em ar;uivos para a utili<a'(o nos prDGimos !ogos. Sual;uer opera'(o ne ess-ria ;ue envolva matri<es 8 reali<ada por esta lasse. Cada !ogador tem um ar;uivo para ada matri< essen ial e as informa'Ees n(o s(o ompartilhadas no final de ada !ogo. Sendo S o nmero total de estados e A o nmero de a'Ees poss:veis, as matri<es essen iais s(oJ 0atri< de estadosJ Cont8m todas as om"ina'Ees das haves de estado, sendo ;ue ada linha representa um estado poss:vel. +ssa matri< 8 salva em ar;uivo e 8 ne ess-ria para a pro ura do estado atual e prDGimo estado do !ogador. .este tra"alho o nmero total de estados 8 @42H5. 0atri< de re ompensasJ #)S,A* arma<ena a re ompensa da determinada a'(o em um determinado estado. +ssa matri< foi onstru:da durante os testes de a ordo om as eGperi$n ias dos !ogadores. 0atri< de transi'(o de estadosJ %)S,A,S* arma<ena a pro"a"ilidade de se efetuar a transi'(o entre o estado atual e o prDGimo estado dada uma a'(o tomada. 1or ser uma matri< muito grande e esparsa foi implementada omo uma lista en adeada "idimensional ?=@A. +ssa matri< foi onstru:da durante os testes de a ordo om as eGperi$n ias dos !ogadores. 0atri< valor6a'(oJ S)S,A* 8 a matri< aprendida atrav8s do algoritmo Q7Learning, os valores gravados nela indi am ;ual a'(o deve ser tomada em um determinado estado. B algoritmo Q7Learning atuali<a esta matri< de a ordo om uma fun'(o pr86esta"ele ida ;ue utili<a o refor'o o"tido omo "ase dos -l ulos. +la 8 salva em ar;uivo para a utili<a'(o nos prDGimos !ogos.

Classe Aprendi<agemQ#efor'oJ #espons-vel pela aprendi<agem do !ogador, esta lasse implementa o algoritmo QLearning, al ula as re ompensas e determina a a'(o do !ogador. %am"8m arma<ena o nmero da itera'(o do !ogador, nmero do !ogo e saldo de gols. B aprendi<ado do time 8 ontrolado por um oefi iente ;ue multipli a o valor da atuali<a'(o da matri< S)S,A*. +ste oefi iente foi a!ustado para ser fun'(o do nmero de itera'Ees !reali<adas e da diferen'a do saldo de gols ;uando o time estperdendo. >esse modo, mesmo ;ue o time !- tenha reali<ado muitas itera'Ees do algoritmo mas este!a perdendo ele vai aprender da mesma forma ;ue no in: io dos testes ou at8 mais

rapidamente se a diferen'a de saldo de gols for grande. Foram implementadas duas diretri<es ;ue implementam estados virtuais separados da modelagem. A primeira diretri< determina a a'(o A@2 )0over6se para posi'(o estrat8gi a* ;uando o modo de !ogo 8 goal78ic8 ou free78ic8 )tiro de meta ou o"ran'a livre*. +sta diretri< impede a aglomera'(o no ampo de defesa. A segunda diretri< implementa o estado virtual posse de "ola do time. .a modelagem a posse de "ola 8 individual, !- essa diretri< determina ;uando o time tem a posse de "ola para evitar ;ue um !ogador tente rou"ar a "ola de um ompanheiro de e;uipe. A aprendi<agem por #efor'o foi apli ada aos de< !ogadores na linha. &V. %estes e #esultados 1ara o in: io dos testes todas as matri<es foram geradas e, om eG e'(o da matri< de estados, todas as outras foram ini iadas om <ero. A es olha das a'Ees 8 fun'(o do nmero do !ogo sendo ;ue no in: io a pro"a"ilidade 8 de @55T de es olha de uma a'(o aletDria ;ue de ai de a ordo om a reali<a'(o de ada !ogo. +sta pro"a"ilidade 8 hamada taGa de eGplora'(o. Foram reali<ados 255 !ogos sendo ;ue durante os testes nenhum gol foi mar ado. B saldo de gols e sua respe tiva m8dia est(o na Figura H.

"ola pelo goleiro n(o foi efi iente, sendo a ausa de muitos gols tomados. >e fato n(o foi apli ado a Aprendi<agem por #efor'o ao goleiro e nem ao t8 ni o. >esse modo n(o houve uma evolu'(o desses integrantes do time. Como metas futuras portanto t$m6se a implementa'(o da Aprendi<agem por #efor'o ao goleiro e ao t8 ni o do time, uma modelagem dos estados mais ompleta in luindo a posse de "ola do time, stamina e in luir mais op'Ees de hute e de a'Ees sem a "ola. %am"8m ser- ne ess-rio a utili<a'(o de Ueur:sti as ?3A para a elerar o aprendi<ado indi ando informa'Ees "-si as omo n(o inter eptar a "ola se ;uem est- om ela 8 um ompanheiro de e;uipe e entre outras. +spera6se tam"8m utili<ar a omuni a'(o entre os !ogadores para ompartilhar o aprendi<ado a elerando o mesmo, para isso os estados dos !ogadores devem ser ompat:veis, pois nos estados dos times desenvolvidos nesse tra"alho, ada tipo de !ogador possui uma dis reti<a'(o diferente do ampo tornando imprati -vel o ompartilhamento da aprendi<agem. V&. #efer$n ias
?@A CU+., 0aoN FB#B,GU&, +hsanN U+&.%V, FredriCN U,A.G, VhanWiangN XA1+%A.AX&S, SpirosN XBS%&A>&S, XostasN X,00+.J+, JohanN .B>A, &tsuCiN BBS%, BliverN #&L+Y, 1atN S%+FF+.S, %imoN ZA.G, YiN Y&., Wiang. 6obo(!p Soccer Server9 for So er Server Version 3.53 and later . =55@. ,sers 0anual. pp. @@6@2N =@6F3 ?=A J. BB+#, #em o deN XBX, [%he in remental development of a sRntheti multi6agente sRstemJ %he uva trilearn =55@ ro"o up so er simulation team,\ 0aster]s thesis, Fa ultR of S ien e, ,niversitR of Amsterdam, Amsterdam, =55=. ?2A Simula'(o =>. >ispon:vel em O^^^.inf.ufes."r_`pet_P A essado em 52.fev.=5@=. ?FA Sutton, #. S. a Barto, A.G. )@77L* 6einforcement Learning# An 5ntrod!ction. %he 0&% press. ?==A

25 20 15 10 5 0 0 50

Gols tomados

?4A BAS%BS, G. S. 'et:ods for ;r!c8 Dispatc:ing in <pen-=it 'ining.


=5@5. @F5f. %hesis of >o tor in S ien e / %e hnologi al &nstitute of Aeronauti s, S(o Jos8 dos Campos. pp. =762@

?HA X+#BAG+, Samir +. U. N A.%,.+S, +merson B. N AL0+&>A,


>iego F. N #BSA, 1aulo F. F. Generalizao da aprendizagem por reforo# ,ma estrat8gia para ro"bs autbnomos ooperativos. &nstituto 0ilitar de +ngenharia. ?3A B&A.CU&, #einaldo Augusto da Costa. >so de ?e!r+sticas para a Acelerao do Aprendizado por 6eforo. %ese )>outorado* / +s ola 1olit8 ni a da ,niversidade de S(o 1aulo. >epartamento de +ngenharia de Computa'(o e Sistemas >igitais. S(o 1aulo, =55F.

100

150

200

250

300

350

V&&. Agrade imentos Bs autores agrade em I e;uipe do time ,FLA=> da ,niversidade Federal de Lavras, Lavras / 0G, Brasil pelas informa'Ees so"re a instala'(o do simulador Soccer Server e so"re o ,vA %rilearn.

ig!ra @# Gols tomados e respectiva mAdia Blin:a vermel:a) B"servou6se uma ;ueda da m8dia de gols tomados e uma tend$n ia a diminuir se houvessem mais testes. V. Con lus(o e %ra"alhos Futuros A m8dia de gols tomados aiu 4 gols em tre<entos !ogos, e n(o houve gol mar ado. +m uma ompeti'(o deve ser uma diminui'(o mais a entuada e em um per:odo menor ;ue uma partida. >urante os !ogos foi poss:vel o"servar ;ue a reposi'(o de