Gerenciamento de recursos aplicados a Jogos de Estratégia em Tempo Real

41
Gerenciador de Recursos em Ambientes Complexos: uma aplicação aos Jogos de Estratégia em Tempo Real Thiago Andrade ([email protected]) Universidade Federal de Pernambuco Centro de Informática Recife - PE Geber Ramalho ([email protected]) Sérgio Queiroz ([email protected]) 30 de agosto de 2013

Transcript of Gerenciamento de recursos aplicados a Jogos de Estratégia em Tempo Real

Gerenciador de Recursos em Ambientes Complexos: uma aplicação aos Jogos de

Estratégia em Tempo Real

Thiago Andrade([email protected])

Universidade Federal de PernambucoCentro de Informática

Recife - PE

Geber Ramalho([email protected])

Sérgio Queiroz([email protected])

30 de agosto de 2013

Roteiro

• Gerenciamento de Recursos

• Estado da arte

• Abordagem proposta

• Evolução e avaliação

• Conclusões

Gerenciamento de recursos

“Gerenciar recursos é o processo de usar recursos da maneira mais eficiente possível.” (Business Dictionary)

• Presente em muitas atividades humanas

• Tipos

– Tangíveis: Equipamentos, moeda, pessoas

– Intangíveis: Tempo e espaço

Ambientes complexos

• Tempo real

• Dinâmico

• Incerto

• Parcialmente observável

• Forte e múltipla interação entre as variáveis

RTS – Real Time Strategy

• Simulações militares onde jogadores em tempo real utilizam recursos para atingir objetivos

RTS – Recursos

• Recursos

RTS – Investimentos

• Unidades

• Edificações

• Tecnologias

Escopo do trabalho

• Diante...

– Da pouca literatura sobre o tema

– Do impacto prático e interesse científico dele

• Objetivo

– Aprofundar o tema e propor uma abordagem de gerenciamento de recursos com foco em RTS

Problemas de Gerenciamento

• Recursos limitados– Madeira, gás, ouro, carne...

• Muitas opções de escolha– Soldado raso, catapulta, castelo...

• Quantidades a considerar– x soldados ou y catapultas

• Opções de difícil avaliação (multi critério)– soldado x melhor contra inimigo Y,

soldado z melhor contra inimigo T

Problemas de Gerenciamento

• Dependência entre opções

– Soldado depende de castelo

• O Tempo

– Decisões depreciadas depois de certo tempo

• Contexto

– Paz ou Guerra

• Os problemas se misturam!

Recomendações para a solução

• Dê sugestões corretas (Corretude)

• Adaptadas ao contexto (Adaptabilidade)

• Cobrindo todos tipos investimentos (Completude)

• Sejam dadas com custo razoável (Desempenho)

Roteiro

• Gerenciamento de Recursos

• Estado da arte

• Abordagem proposta

• Evolução e avaliação

• Conclusões

IA com foco em Gerenciamento de

Recursos

• Em geral, a IA de jogos é via scripts (rígida)– Maioria dos jogos não tem capacidade de lidar com

situações não familiares (Kovarsky & Buro, 2006)

– F.E.A.R: mostra efeitos positivos do planejamento automático (Orkin, 2005)

• Build-order– A ordem na qual unidades são produzidas num jogo de RTS

(Churchill & Buro, 2011)

– Estático: Em alguns casos descarta o contexto do jogo

IA com foco em Gerenciamento de

Recursos

• Build-order Optimization (Kovarsky & Buro, 2006)

– Minimizar o tempo de objetivo

• Ex. objetivo:– Dois soldados

– Cinco cavaleiros

– Itens atuam no mundo mudando o estado (objetivo estático)

IA com foco em Gerenciamento de

Recursos

• Estratégias de build-order de MCCoy & Mateas, 2008

– InitialStrategy e TierStrategy

– Adhoc

– IA completa (Tactical M, Resource M, Strategy M, Income M, Production M)

Roteiro

• Gerenciamento de Recursos

• Estado da arte

• Abordagem proposta

• Evolução e avaliação

• Conclusões

Abordagem

• Problema complexo

– Nível mais alto de abstração é essencial

– Abstrações e Reformulações -> Simplificações

• PICFlex:

– Gerenciamento de Recursos baseado em Política de Investimento Contextual e Flexível

PICFlex

• Classes de investimento

– Agrupa os itens de um jogo de RTS: Army, Buildings, Upgrade e Tech

• Demanda

– Uma demanda para o PICFlex é uma necessidade por algum item de investimento e é definida como sendo

• Como a demanda é criada

– Demanda circunstancial (regras)

– Demanda perene (crescimento do exército)

• Uma política de investimento P é dada por:

• Postura

– Instância de uma política de investimento

– Inicial, Defensiva e Agressiva• Ex. P = {[army,40%], [building, 30%], [upgrade, 20%], ...}

• A política de investimento pode ser multinível– Ex. P = {[firebat,15%], [goliath, 20%], [medic, 15%], [marine, 30%], ...}

PICFlex

PICFlex

• Escolha da política de investimento– Jogador humano percebe nuances do jogo– Adota diferentes estratégias– Logo, não é recomendável ter uma política única

• Função de escolha de política de investimento

onde P é a política de investimento atual, C é o contexto atual do jogo e P’ é a nova política.

PICFlex

• F simple – Função de escolha simples

• F adequate – Função de escolha adequada

onde P é a política de investimento atual, C é o contexto em

questão, e G é um conjunto de políticas pré-existentes.

PICFlex

• Estratégia de execução da política de investimento

– No longo prazo, a adoção da política proporcionará um "equilíbrio" nos gastos por classe segundo as metas

– A meta pode funcionar como teto impedindo investimentos que o ultrapassem

PICFlex

• S generous – Estratégia generosa (anula a política)

• S rigid – Estratégia rígida

PICFlex

• S observed growth – Estratégia crescimento observado

onde D1, D2, D3 e D4 são consecutivas e extrapolam o teto da meta e D1, D2 e D4 e são da classe x porém D3 é da classe y.

Roteiro

• Gerenciamento de Recursos

• Estado da arte

• Abordagem proposta

• Evolução e avaliação

• Conclusões

Implementação e

estudo de caso• BWAPI (BroodWar API) é um framework para a criação de

módulos de IA para Starcraft Broodwar

• Implementações das nossas técnicas sobre o bot BTHAI do Professor Ph.D. Johan Hagelbäck

• Bot participante de várias competições de Starcraft– Rankings não muito bons

• CIG 2012 StarCraft RTS AI Competition: último colocado

• AIIDE 2010 Starcraft AI Competition: desclassificado na segunda rodada

Variantes de players

• Fixed IP – Política de investimento fixa definida por experts– Política de investimento fixa definida por experts

– St rigid – Estratégia de execução da política de investimento rígida

• Fixed IP2 – Crescimento equilibrado por especialistas– Sub Política de investimento (army) definido por especialistas

classe meta

Firebat 14,2%

Goliath 50,0%

Medic 16,6%

Wraith 25,0%

Vulture 50,0%

Variantes de players

• Adapted IP – Política de investimento chaveada– Política adaptada ao contexto (até o anterior a política era fixa)

– Fa adequate – Escolhe a postura mais aderente ao contexto

– Sr rigid – Continua utilizando a estratégia rígida

• Flexible Adapted IP – Política de gastos flexíveis– Continuar utilizando Fa adequate

– Sg observed growth – Estratégia de execução da política de investimento de crescimento observado

Experimentos

• Objetivo: avaliar as técnicas comparativamente

• Setup: contra a IA nativa do Starcraft Broodwar

• Métrica: pontuação

• 150 partidas

• Dois agentes baseline

– Random Inv

– Random IP

• Política de investimento de valores aleatórios

• St generous – Estratégia generosa

Comparações

• Comparativo entre as implementações do PICFlex

Player Vitórias T Sucesso M Dif Score DP Dif Score

Rnd Inv 23 15,33% -1851,92 14536,95

Rnd IP 4 2,67% -1863,62 6468,54

Fixed IP 31 20,67% 1839,42 12918,82

Fixed IP2 38 25,33% 2389,47 21559,54

Adap IP 40 26,67% 7062,02 14640,15

FlexAdap IP 63 42,00% 10801,01 17343,73

Resultados – FlexAdap IP

Hipótese Alternativa Hipótese Nula a p-value

Ha11: P6 > P5 Hn11: P6 = P5 0,05 0,01637

Ha12: P6 > P4 Hn12: P6 = P4 0,05 7,888e-05

Ha13: P6 > P3 Hn13: P6 = P3 0,05 3,737e-07

Ha14: P6 > P2 Hn14: P6 = P2 0,05 1,415e-12

Ha15: P6 > P1 Hn15: P6 = P1 0,05 1,152e-11

Análise

• Política de investimento mostrou seu valor quando esta foi definida por experts no Fixed IP aumentando de 2,67% para 20,67% a taxa de sucesso

• Crescimento equilibrado por um padrão utilizado desde o Fixed IP2, porém sua taxa de sucesso foi de somente 25,33%

• Fa adequate foi utilizado no Adap IP, porém sua taxa de sucesso foi de somente 26,67%

• Sg observed growth: responsável pelo aumento na taxa de sucesso– Sr rigid: metas barravam investimentos importantes

Limitações dos experimentos

• Aspectos deficientes da tática do bot BTHAI– Questões de ordem tática não foram abordadas nas nossas

implementações

• O módulo BWTA (Broodwar Terrain analyzer for BWAPI) utilizado para identificar caminhos e obstáculos tem inúmeras deficiências

• Unidades exploradoras não conseguiam alcançar diversas regiões do terreno

Roteiro

• Gerenciamento de Recursos

• Estado da arte

• Abordagem proposta

• Evolução e avaliação

• Conclusões

Contribuições

• Contribuição principal– Nova abordagem de Gerenciamento de Recursos baseada

no conceito de Política de Investimento, validada em RTS

• Outras contribuições– Sistematização dos problemas de Gerenciamento de

Recursos em RTS

– Implementação integrada com BWAPI

Trabalhos futuros

• Comparar PICFlex com outra que implemente puramente build-order

• Criar novas implementações de F e S que melhore a pontuação

• Solucionar os problemas existentes no bot utilizado ou até mesmo testar o PICFlex com outro bot e comparar com o BTHAI + PICFlex

Trabalhos futuros

• Melhorar a performance do PICFlex (40% da IA)

• Implementar PICFlex em ambientes complexos que não sejam jogos RTS

Gerenciador de Recursos em Ambientes Complexos: uma aplicação aos Jogos de

Estratégia em Tempo Real

Thiago Andrade([email protected])

Universidade Federal de PernambucoCentro de Informática

Recife - PE

Geber Ramalho([email protected])

Sérgio Queiroz([email protected])

30 de agosto de 2013