gerenciamento de recursos aplicados a jogos de estratégia em tempo real
TRANSCRIPT
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
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 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