7/23/2019 Técnicas de Inteligência Artificial em StarCraft http://slidepdf.com/reader/full/tecnicas-de-inteligencia-artificial-em-starcraft 1/20 Técnicas de Inteligência Artificial em StarCraft UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Técnicas de Inteligência Artificial em StarCraft Vinícius Vieira Moreira RECIFE, OUTURO DE !"#$ !
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
7/23/2019 Técnicas de Inteligência Artificial em StarCraft
At%almente, cada )e6 mais &s /&g&s eletr0nic&s est+& se fa6end& *resentes n&
c&tidian& da *&*%la+&, se/a na f&rma de /&g&s *ara smart*(&nes e ta'lets, d&s tradici&nais
c&ns&les de mesa &% d&s *&rt4teis3 Mas além de t&da essa *&*%laridade, &s /&g&s tam'ém
s+& )erdadeiras f&ras *r&*%ls&ras de m%itas 4reas de c&n(eciment&, mas *rinci*almente
em 4reas relaci&nadas a c&m*%ta+&, 5%e é & artif<ci& 5%e *ermite t&da a interati)idade 5%e
fa6 d&s /&g&s & 5%e eles s+& na at%alidade3
Este tra'al(& )em a*resentar %ma )is+& s&'re Inteligência Articial e em *artic%lar
s&'re s%as técnicas e im*lementa+& n& /&g& StarCraft3 O é rec&rrentemente esc&l(id&
c&m& *lataf&rma de *es5%isa *ara técnicas de Inteligência Artificial de)id& a& se% s%cess&
c&mercial, grande c&m%nidade de *es5%isa e até c&m*etiBes entre &s agentes /&gad&res
n+&2(%man&s3
Esta m&n&grafia c&mea c&m & ca*<t%l& ! 5%e m&stra %ma )is+& geral a& leit&r3 Este
ca*<t%l& & far4 e*licand& a (ist;ria d&s /&g&s eletr0nic&s, *artind& desde & *rimeir& /&g&
eletr0nic&, *assand& *elas *rimeiras técnicas de Inteligência Artificial a serem
im*lementadas nestes até & nasciment& d& gêner& de /&g&s de estratégia, 5%e f&i %m d&s
mai&res im*%ls&s *ara a *es5%isa de Inteligência Artificial3 N& ca*<t%l& >, a m&n&grafia
tratar4 mais es*ecificamente de c&nceit&s d& /&g& StarCraft, técnicas de T4tica e Estratégiae *&r fim a*resenta alg%mas das 5%estBes em a'ert& na *es5%isa de Inteligência Artificial
em /&g&s RTS3 A m&n&grafia é em seg%ida finali6ada c&m a a*resenta+& das c&ncl%sBes
deste tra'al(&3
#
7/23/2019 Técnicas de Inteligência Artificial em StarCraft
Em mead&s d&s an&s J" a Atari lan&% & *rimeir& /&g& de fli*erama, 5%e se c(ama)a
C&m*%ter S*aceG, e f&i a< 5%e &s *rimeir&s game designers c&mearam a inc&r*&rar as *rimeirastécnicas de IA em /&g&s3 O *r&*;sit& inicial dessas IAs era dific%ltar a )ida d&s /&gad&res *ara 5%e esses
gastassem mais e mais nas m45%inas de fli*erama -Si1%an %, !"#!.3 Alg%ns /&g&s dessa gera+& f&ram
K&ngG, S*ace In)adersG e D&nLe1 &ngG3 As *rimeiras técnicas de Inteligência Artificial a serem
inc&r*&radas em /&g&s eletr0nic&s eram etremamente r%dimentares e nem se5%er se a*r&ima)am d&
c&m*&rtament& (%man&, geralmente eram *adrBes arma6enad&s *re2determinad&s de m&)imenta+& a
serem esc&l(id&s de maneira aleat;ria *ela m45%ina, *ara 5%e a m&)imenta+& f&sse men&s *re)is<)el3
c&m*licada a '%sca *ela decis+& ;tima3 E *&r fim, a c&m*leidade desses /&g&s, se/a n& taman(& d&
es*a& de estad&s *&ss<)eis &% se/a n& nmer&s de aBes dis*&n<)eis a cada cicl& de t&mada de
decisBes é imens&3
O es*a& de estad&s n& adre6 é n&rmalmente estimad& em &rdens de #"Q$", #"QJ" n&K&Ler e #"Q#!" em 9&, em StarCraftG, *&r eem*l&, %m ma*a c&m%m é estimad& send& de m%itas&rdens de grande6a acima d&s nmer&s citad&s -Ontan&n, !"#>.3 K&r esses m&ti)&s, técnicasc&m%ns %sadas em /&g&s de ta'%leir&, c&m& 4r)&res de '%sca, n+& *&dem ser diretamente a*licadasdiretamente em /&g&s RTS3 C%ri&samente, /&gad&res (%man&s s+& ca*a6es de lidar c&m ac&m*leidade desses /&g&s, *&r essa ra6+&, %ma mir<ade de técnicas tem sid& testadas *ara lidar c&m esse d&m<ni&3
3 – Inteligência rti!icial e" #ogos $%&
A *es5%isa na 4rea de Inteligência Artificial em /&g&s RTS é de grande im*&rtncia e )alia,
se/a de)id& a& se% estad& imat%r&, se c&m*arad& c&m agentes /&gad&res de /&g&s cl4ssic&s deta'%leir&, c&m& & adre6, se/a *ela rica *lataf&rma 5%e esses /&g&s f&rnecem *ara & teste e
desen)&l)iment& de técnicas de Inteligência Artificial3
Os *rinci*ais m&ti)&s *ara a *erf&rmance fraca da IA %tili6ada em /&g&s s+& &s seg%intes -%r&,
!""=.P
=
7/23/2019 Técnicas de Inteligência Artificial em StarCraft
• E finalmente, & desen)&l)iment& de técnicas mais refinadas de Inteligência Artificial *ara /&g&s RTS é tam'ém de interesse militar, 5%e fa6em sim%laBes de 'atal(as em *r&gramasde treinament&3 -:er6 Maced&nia, !""!.
$
7/23/2019 Técnicas de Inteligência Artificial em StarCraft
Kr&t&ss é diametralmente &*&sta d&s ergs, *&ss%ind& %nidades de mai&r c%st&, mas 5%e s+& mais
f&rtes e resistentes, essas caracter<sticas c&m%mente fa6em & /&gad&r dessa raa &*tarem *&r
estratégias de 5%alidade em detriment& de %m grande nmer& de %nidades3
A Fig%ra >3# m&stra %ma ca*t%ra de tela d& /&g& em 5%e & /&gad&r est4 a /&gar c&m a raa
Terran3 A fim de )encer a *artida, & /&gad&r de)e re%nir rec%rs&s -c&m& minerais e g4s 8es*en&.3
Uma )e6 5%e &s rec%rs&s f&ram ad5%irid&s tem2se 5%e al&c42l&s *ara a c&nstr%+& de n&)&s
edif<ci&s -5%e ser)em 'asicamente *ara f&rtalecer a ec&n&mia, criar e dis*&ni'ili6ar %nidades mais
*&der&sas., *es5%isar n&)as tecn&l&gias -*ara a %tili6a+& de n&)as (4'ilidades e & f&rtaleciment&
das %nidades /4 eistentes. e *ara & trein& -*r&d%+&. de n&)as %nidades3 As %nidades criadas
de)em ser di)ididas de ac&rd& c&m s%as f%nBes na *artida, 5%e s+& rec&n(eciment& de terren&,
ata5%e e defesa3 En5%ant& reali6a t&das essas tarefas, & /&gad&r tam'ém *recisa entender a estr%t%ra
d& ma*a em 5%e a *artida se d4, *ara 5%e esse *&ssa reali6ar decisBes c&m& &nde c&nstr%ir n&)&s
edificaBes -elas de)em se c&ncentrar em %ma 4rea &% e*andir.3 Uma )e6 5%e %nidades &fensi)as
de d&is &*&nentes se enc&ntram, esses /&gad&res de)em gerenciar as s%as %nidades *ara 5%e essas
ten(am )antagem n& c&m'ate e saiam )it&ri&sas, & 5%e re5%er aBes r4*idas e reati)as de ac&rd&
c&m as aBes d& &*&nente3 Cada /&gad&r *&de c&ntr&lar até !"" %nidades -mais %m nmer&
ilimitad& de edificaBes., além diss&, cada raa c&ntém entre >" e >$ ti*&s de %nidades distintas, a
mai&ria delas c&m %ma 5%antidade signitificati)a de (4'ilidades es*eciais3
T&d&s &s fat&res a*resentad&s acima fa6em de StarCraft %m desafi& significati)&, &nde &s
/&gad&res (%man&s ainda s+& significantemente mel(&res 5%e /&gad&res n+&2(%man&s3 K&r
eem*l&, em StarCraft &s /&gad&res s+& di)idid&s em ranLs 5%e )+& de E -5%e é & men&r ranL
*&ss<)el. até A e Ol<m*ic&, 5%e s+& res*ecti)amente & seg%nd& mai&r e & mai&r ranL *&ss<)eis, &smel(&res /&gad&res n+&2(%man&s -'&ts. est+& categ&ri6ad&s entre D e D, en5%ant& /&gad&res
(%man&s amad&res n&rmalmente est+& entre C e 3 Kara efeit&s de c&m*ara+&, /&gad&res
*r&fissi&nal n&rmalmente est+& ran5%ad&s entre A2 e A -Ontan&n, !"#>.3
De %m *&nt& de )ista te;rica, & es*a& de estad&s *&ss<)eis e gigantesc&3 K&r eem*l&, c&nsidere%m ma*a c&m%m d& /&g& -5%e *&ss%i #!@ #!@ *&ss<)eis *&siBes *ara as %nidades.3 Dad&5%al5%er m&ment& da *artida *&de2se ter entre $" e ="" %nidades n& ma*a, cada %ma delas tend&%m estad& intern& c&m*le& -c&m& energia restante, aBes send& eec%tadas, *&nt&s de )ida, etc.3Esse fat&res le)am ra*idamente a %m nmer& imens& de estad&s *&ss<)eis -m%it& mai&r 5%e /&g&sc&m& adre6 e 9&, s%a )ers+&G &riental.3 K&r eem*l&, c&nsiderand& a*enas & nmer& de *&siBesiniciais -#!@ #!@ *&siBes *&ss<)eis *&r %nidade. e ="" %nidades, tem&s %m nmer& inicial de
#?>@=Q="" &% #"Q#?@$ *&ssi'ilidades -Ontan&n, !"#>.3 Se adici&narm&s &%tr&s fat&res d& /&g&,&'tem&s nmer&s ainda mai&res3 Dessa f&rma fica il%strad& a c&m*leidade d& /&g& e,c&nse5%entemente, da c&nstr%+& de '&ts 5%e reali6em t&das essas tarefas de maneira *el& men&ssatisfat;ria3
J
7/23/2019 Técnicas de Inteligência Artificial em StarCraft
Até ent+&, técnicas 'aseadas em 4r)&res de '%sca tem sid& inca*a6es de lidar c&m t&da a
c&m*leidade estratégica de medidas c&m rec&m*ensa a l&ng& *ra6& 5%e *ermeiam as aBes de
/&g&s RTS3 Entretant&, essas técnicas tem tid& s%cess& a& serem a*licadas a as*ect&s de men&r
escala em /&g&s RTS, c&m& sit%aBes de c&m'ate entre &*&nentes3 Kara fins de a*lica+& dessas
técnicas de '%sca, %m sim%lad&r 5%e *ermita 5%e & sistema de Inteligência Artificial a)aliar &s
res%ltad&s das aBes *&ss<)eis ra*idamente c&m &'/eti)& de e*l&rar a 4r)&re de '%sca -R&'erts&n,
!"#=.3
Entretant&, técnicas 'aseadas em 4r)&res de '%sca s+& *artic%larmente dif<ceis de se %sar
em StarCraft de)id& a nat%re6a fec(ada d& c;dig&2f&nte d& /&g&, e c&nse5%entemente, a ina'ilidade
de se mani*%lar ar'itrariamente & estad& d& /&g&3 Iss& significa 5%e as mecnicas *recisas das
regras d& /&g& s+& incertas e & /&g& n+& *&de ser facilmente %tili6ad& *ara fa6er sim%laBes a *artir
de %m estad& *artic%lar3
A*esar de f%nci&nar m%it& 'em em sim%laBes, &s res%ltad&s das técnicas 'aseadas em 4r)&res de
'%sca n+& se trad%6em *erfeitamente *ara & /&g&, de)id& a sim*lificaBes c&m& a falta de c&lis+& de
%nidades e acelera+&, & 5%e afeta & res%ltad& final -C(%rc(ill and %r& !"#!V
C(%rc(ill, Saffidine, and %r& !"#!.3 O Sistema f&i ca*a6 de )encer a*enas @=W d&s cen4ri&s
c&ntra & '&t 5%e /4 )em *r&gramad& n& /&g&, em'&ra a sim%la+& indicasse #""W de c(ances de
)it;ria3 A *rinci*al limita+& desse mét&d& se d4 *&r c&nta da c(amada e*l&s+& c&m'inat;riaG de
aBes *&ss<)eis, &% se/a, 5%and& & nmer& de %nidades en)&l)idas em c&m'ate cresce, & nmer& de
aBes *&ss<)eis cresce e a sim%la+& se t&rna in)i4)el 5%and& se tem mais d& 5%e @ %nidades de
cada lada, *&is essa se t&rna demasiadamente lenta3
Afim de se criar %m sistema 5%e *&de reali6ar aBes inteligentes de f&rma estratégica em %m /&g&RTS, m%it&s *es5%isad&res criaram %m sistema de *lane/ament&3 Esses sistemas s+& ca*a6es de
determinar se5%encias de aBes a serem t&madas em %ma sit%a+& es*ec<fica *ara alcanar %m
determinad& &'/eti)&3 Este é %m *r&'lema desafiad&r de)id& a nat%re6a d&s /&g&s RTS ser de
inf&rma+& inc&m*leta, 5%e se trad%6 a& StarCraft atra)és de 4reas d& ma*a 5%e n+& )is<)eis *ara as
%nidades, além d& /4 c&n(ecid& imens& es*a& de aBes *&ss<)eis e a *resena de )4ri&s &'/eti)&s
sim%ltne&s 5%e n+& necessariamente tem %ma (ierar5%ia3
desen)&l)iment& re5%erid& *elas técnicas de desen)&l)iment& de scri*ts, 5%e é a mais c&m%m naindstria at%almente -R&'erts&n, !"#=.3 As *rinci*ais técnicas %sadas na c&nstr%+& de sistemas de
*lane/ament& s+&P Klane/ament& asead& em Cas&s -d& inglês, Case2ased Klanning 2 CK. e
A%t&n&mia Orientada a O'/eti)&s -d& inglês, 9&al2Dri)en A%t&n&m1 2 9DA.
CK é %ma técnica de *lane/ament& 5%e atra)és de sit%aBes *assadas semel(antes, etrai
s&l%Bes *&tênciais *ara a at%al sit%a+&3 N& cas& d& sistema CK, as s&l%Bes enc&ntradas fa6em
#
7/23/2019 Técnicas de Inteligência Artificial em StarCraft
Uma das *rimeiras a*licaBes de CK *ara /&g&s RTS f&i reali6ad& *&r A(a, M&linea%,
and K&nsen -!""$., 5%e criaram %m sistema 5%e estendia & c&nceit& de scripting dinmic& -K&nsen
et al3, !""$., 5%e seleci&na t4ticas e estratégias 'asead& na sit%a+& at%al d& /&g&3 Usand& essa
técnica, & sistema era ca*a6 de /&gar c&ntra inimig&s n+& est4tic&s a& in)és de *recisar reali6ar
treinament& adici&nal t&da )e6 5%e & &*&nente m%da)a3 Eles red%6iram a c&m*leidade d&s es*a&s
de a+& e estad&s3 Iss& *ermiti% a& sistema mel(&rar s%a estimati)a de *erf&rmance de cada t4tica
em cada sit%a+& a& l&ng& de )4ri&s /&g&s, e e)ent%almente, a*rendesse de maneira c&nsistente a
gan(ar de t&d&s &s &%tr&s &*&nentes c&ntra &s 5%ais ele f&ra testad&3
A%t&n&mia &rientada a &'/eti)&s, &% 9DA, é %m m&del& em 5%e & *r;*ri& agente *&ndera
s&'re se%s &'/eti)&s e identifica 5%and& eles de)em ser at%ali6ad&s, e altera &% adici&na eles c&m&
necessidade de *lan&s &% eec%Bes f%t%ras3 Essa técnica lida c&m tant& c&m reati)idade de e)ent&s
de alt& e 'ai& n<)el, &% se/a, esse m&del& é sens<)el tant& a m%danas na estratégia n& *an&rama
geral, 5%e rece'e rec&m*ensas de maneira mais lenta e grad%al 5%ant& m%danas imediatas, 5%e s+&
&s cas&s de 'ai& n<)el, c&m& c&m'ate e *r&d%+& de n&)as %nidades3 O m&del& ati)amente
*&ndera e age s&'re &s m&ti)&s *el& 5%al ele est4 tend& s%cess& &% fal(and& em se%s &'/eti)&s3
He'er, Mateas e (ala -!"#". descre)em %m sistema 9DA *ara StarCraft %tili6and& %maling%agem de c&m*&rtament&s, 5%e é ca*a6 de f&rm%lar *lan&s a *artir de s%as e*ectati)as de %m
desfec(& 5%al5%er3 Se %ma sit%a+& &% e)ent& n+& es*erad& &c&rre, & sistema *&de gra)ar esse dad&
c&m& %ma discre*ncia, gerar %ma e*lica+& d& *&r5%e desse e)ent& &c&rrer e f&rmar %m n&)&
&'/eti)& e gerar %m n&)& *lan&, *ermitind& assim 5%e & sistema *&ssa reagir 'em a circ%nstncias
n+& *re)istas3 Esse m&del& era *re)iamente inca*a6 de a*render &'/eti)&s, e*ectati)as e mlti*l&s
&'/eti)&s de maneira a%t0n&ma, *&rtant&, t&das essas inf&rma+& de)iam )ir de maneira man%al,
mel(&rias n& dec&rrer d& tem*& fi6eram *&ss<)el c&m 5%e esse sistema a*rendesse atra)és de
dem&nstraBes de sit%aBes 5%e /4 &c&rreram -He'er, Mateas, e (ala !"#!.3Esse sistema f&i %tili6ad& c&ntra /&gad&res (%man&s em c&m*etiBes de StarCraft e f&i a)aliad& 'asead& em s%a taa de )it;ria s&'re esses /&gad&res3 O res%ltad& &'tid& indica 5%e esse técnica nac&nstr%+& de agentes /&gad&res n+&2(%man&s era s%*eri&r a /&gad&res c&m*etiti)&s d& /&g& em=@W d&s cas&s -He'er, Mateas, e (alaV !"#"V He'er et al3 !"#".3
#
7/23/2019 Técnicas de Inteligência Artificial em StarCraft
estratégias *&r &'ser)a+& e *&steri&rmente a*lic42lasY 4 eiste alg%m tra'al(&nessa dire+&, mas ainda est4 l&nge de alcanar a mat%ridade -S3 Ontan&n, !"#".3
Esse tra'al(& a'&rd&% temas desde a &rigem d&s /&g&s digitais e as *rimeiras técnicas de
Inteligência Artificiais %tili6adas n& desen)&l)iment& destes até & nasciment& de gêner&s c&m& RTSe & im*act& 5%e as técnicas de Inteligência Artificial tem nesse gêner& de /&g&s3
N& in<ci& desse tra'al(& f&ram descrit&s &s *rimeir&s /&g&s eletr0nic&s, desde &s 5%e n+&
HEER, 3V Ma(&rter, K3V Mateas, M3V and (ala, A3 !"#"3Reacti)e *lanning idi&ms f&r m%lti2scale game AI3 InKr&ceedings &f t(e IEEE C&nference &n C&m*%tati&nalIntelligence and 9ames, ##$7#!!3 IEEE3
U, Si1%an :ist&r1 &f AI design in )ide& games and its de)el&*ment 2 Online, acess& em!!]"]!"#$ na %rl (tt*sP]]sites3g&&gle3c&m]site]m1angelcafe]articles](ist&r1ai