Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS



Documentos relacionados
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Integrando Planejamento e Execução de Ações no Domínio de Jogos do tipo RTS

Gerenciamento de Riscos do Projeto Eventos Adversos

Governança de TI. ITIL v.2&3. parte 1

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Implantação. Prof. Eduardo H. S. Oliveira

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

Ciclo de Vida de Projetos. Notas de aula exclusivas Proibido a reprodução total ou parcial sem consentimentos

Universidade Paulista

GARANTIA DA QUALIDADE DE SOFTWARE

Sistemas de Informação I

Curso superior de Tecnologia em Gastronomia

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

PROCESSOS DE GERENCIAMENTO DE PROJETOS SEGUNDO O PMBOK. Faculdade PITÁGORAS Unidade Raja Prof. Valéria valeriapitagoras@gmail.

A apresentação através de fluxos lógicos consegue mostrar mal entendidos e pontos que são controversos.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Gestão da Qualidade por Processos

Prêmio Inovação UP 2012 Manual de Preenchimento do Formulário

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

O Coaching Como Ferramenta Para Desenvolvimento Do Processo De Aprendizado

Histórico da Revisão. Data Versão Descrição Autor

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *

Projeto de Sistemas I

Faculdade de Ciência da Informação Disciplina: Projeto de Implementação de Sistemas Arquivísticos Profa. Lillian Alvares

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO

4 passos para uma Gestão Financeira Eficiente

Mapas de Rotas Tecnológicas Roadmaps Conceitos, Tipos e Etapas de Elaboração. LELIO FELLOWS FILHO 05 de julho de 2007

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

Engenharia de Software I

ANEXO 1: Formato Recomendado de Planos de Negócios - Deve ter entre 30 e 50 páginas

Gerenciamento de projetos.

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

07/06/2014. Segunda Parte Prof. William C. Rodrigues Copyright 2014 Todos direitos reservados.

MODELO CMM MATURIDADE DE SOFTWARE

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

SISTEMAS INTEGRADOS DE GESTÃO PAS 99:2006. Especificação de requisitos comuns de sistemas de gestão como estrutura para a integração

Conhecimentos em Comércio Eletrônico Capítulo 4 CAPÍTULO 4 VISÃO GERAL DO COMÉRCIO

Planejamento Estratégico de TI. Prof.: Fernando Ascani

A IMPORTÂNCIA DA GESTÃO DE CUSTOS NA ELABORAÇÃO DO PREÇO DE VENDA

Processo de Controle das Reposições da loja

Visite o hotsite do livro:

Este trabalho visou a caracterização da utilização dos aplicativos APS pelas empresas.


Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

PROBLEMA, MUDANÇA E VISÃO

Gerência de Projetos

ENGENHARIA DE SOFTWARE I

Boas Práticas em Gerenciamento de Projetos Material utilizado nas aulas de Pós-graduação do Centro de Informática

7. Análise e comparação dos programas VMI nas empresas XYZ e DEF

SAM GERENCIAMENTO DE ATIVOS DE SOFTWARE

Metodologia de Gerenciamento de Projetos da Justiça Federal

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Rotinas de DP- Professor: Robson Soares

A UTILIZAÇÃO ADEQUADA DO PLANEJAMENTO E CONTROLE DA PRODUÇÃO (PCP), EM UMA INDÚSTRIA.

CHECK - LIST - ISO 9001:2000

PLANOS DE CONTINGÊNCIAS

O papel do CRM no sucesso comercial

SIGLA - Sistema Integrado de Gestão Legislativa e Administrativa

Prof. Cleber Oliveira Gestão Financeira

Engenharia de Software

Aplicação do algoritmo genético na otimização da produção em indústrias de açúcar e álcool

3 Classificação Resumo do algoritmo proposto

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Análise Estruturada de Sistemas

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Gerenciamento de Projetos

Planejamento Estratégico de TI. Prof.: Fernando Ascani

PMI (PROJECT MANAGEMENT INSTITUT) A PROFISSIONALIZAÇÃO DA GESTÃO DE PROJETOS

GESTÃO DA DIRETORIA DE MARKETING ATRAVÉS DE UMA DIVISÃO ESTRATÉGICA: OTIMIZANDO PROCESSOS E CAPACITANDO PESSOAS PRÁTICA INTERNA. Temática: Marketing

A Grande Importância da Mineração de Dados nas Organizações

Universidade Federal de Pernambuco

Material de Apoio. Sistema de Informação Gerencial (SIG)

{Indicar o tema e objetivo estratégico aos quais o projeto contribuirá diretamente para o alcance.}

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Profissionais de Alta Performance

Transformando serviços automotivos: o caso de pneus

Sistema Banco de Preços Manual do Usuário OBSERVATÓRIO

ALUNOS DO 7º ANO CONSTRUINDO GRÁFICOS E TABELAS

Sistemas de Gestão da Qualidade. Introdução. Engenharia de Produção Gestão Estratégica da Qualidade. Tema Sistemas de Gestão da Qualidade

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Avanços na transparência

Arquitetura de Informação

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

CAPABILITY MATURITY MODEL FOR SOFTWARE. Eduardo Mayer Fagundes

Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

II. Atividades de Extensão

Transcrição:

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Autor:Thiago França Naves 1, Orientador: Carlos Roberto Lopes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Uberlândia (UFU) Uberlândia MG Brasil tfnaves@mestrado.ufu.br, crlopes@facom.ufu.br Nível: Mestrado Ano de ingresso no programa: 2010 Época esperada de conclusão: Abril / 2012 Etapa concluída: Defesa da proposta de dissertação Resumo. Planejamento voltado para produção de recursos em jogos de estratégia em tempo real (RTS Games) apresenta uma grande quantidade de desafios, tais como restrições temporais, efeitos numéricos e satisfação de pré-condições para execução de ações, características típicas do domínio e importante objeto de estudo para a área de pesquisa. Um jogo de RTS pode ser dividido em duas partes, a primeira onde o jogador procura reunir o máximo de recursos possíveis a fim de alcançar um estado em que esses estejam maximizados, e a segunda onde ele utiliza desses recursos para combater o seu oponente. Com isso, a primeira parte do jogo torna-se de vital importância para o sucesso do jogador e é o foco deste trabalho, que tem por objetivo ir além do desenvolvimento de um planejador de ações entre um estado inicial e um estado final pré-estabelecidos, e sim buscar qual o melhor estado objetivo a ser alcançado baseado nas propriedades do domínio. Para tais tarefas, será utilizado o algoritmo Simulated Annealing junto com dois planejadores desenvolvidos para este trabalho. Palavras-Chave. Jogo RTS, recursos, planejamento, busca.

1. Introdução e Motivação Jogos de estratégia em tempo real, popularmente conhecidos como RTS (Real Time Strategy) são uma das categorias de jogos mais famosas e cultuadas no mundo, lançamentos recentes como Starcraft II e World of Warcraft são exemplos dessa categoria. Esses jogos são caracterizados por possuírem duas fases distintas, a primeira onde o jogador deve reunir e construir o máximo de recursos possíveis e a seguinte com o uso dos recursos adquiridos em combates contra outros inimigos ou jogadores. A primeira fase é caracterizada por desafios como: Reunir o máximo de recursos no menor tempo o possível, gerenciar as pré-condições de cada recurso antes e depois de sua construção e conseguir elevar ao máximo a força do exército que está sendo desenvolvido. Durante essa fase o jogador precisa usar toda a sua habilidade e rapidez e o foco dessa pesquisa é nesta, não considerando a etapa de batalha contra os inimigos. Recursos em jogos de RTS são todos os tipos de materiais, construções, bases militares e soldados [Buro and Furtak 2003]. Para alcançar um determinado conjunto de recursos é preciso seguir uma série de ações que levam de um estado inicial a um estado final de recursos desejados. Podemos identificar dois tipos claros de ações, as que coletam e reúnem recursos tais como, mineral, gás ou madeira e as que consomem esses recursos quando são construídas, como barracas, fábricas ou bases militares. Para conseguir sucesso na coleta e desenvolvimento de recursos, são desenvolvidos planejadores que estabelecem um conjunto de ações necessárias para sair de um determinado estado dentro do jogo e chegar até outro com um número maior de recursos. Para que esse plano seja executado o mais rápido o possível, é preciso diminuir o tempo dele através do escalonamento das ações para que essas possam ser realizadas em paralelo. Esse ganho de performance é alcançado através da redução do makespan do plano, um das metas comuns a serem alcançadas em pesquisas como essa. Este trabalho tem como um dos objetivos a redução do makespan. Para a geração dos planos que contém as ações a serem executadas são utilizados dois planejadores, o primeiro que busca obter um plano sequencial linear e outro que utiliza o princípio de plano e ordem parcial e gera um conjunto de ações já escalonadas. Esse último planejador foi desenvolvido especialmente para esta pesquisa e possui diversas técnicas que buscam obter o melhor escalonamento para o domínio em questão. Os dois planejadores serão melhor descritos mais adiante na seção 3. O foco deste trabalho é a busca pelo melhor conjunto de ações possíveis, que representam o estado objetivo a ser alcançado por um planejador de ações. Esse estado objetivo é um conjunto de ações que maximize a força do plano e diminua o tempo de execução deste, dessa forma ao invés de pré-estabelecer esse sem critério como é feito na maioria dos trabalhos, é feita uma busca por qual o melhor estado objetivo a se chegar. Para isso, é utilizado o algoritmo de meta-heurística Simulated Annealing, que recebe o plano de ações e busca através de operações sobre esse obter um novo conjunto de ações que maximize a força desse exército e também diminua o seu makespan. A pesquisa é motivadora, uma vez que não existem muitos trabalhos ou referências que utilizam a abordagem de busca pelo melhor objetivo ou estado final a ser alcançado em um planejamento de ações. Esse trabalho é inspirado nos resultados encontrados em [Fayard 2005], [Chan et al. 2008], [Chan et al. 2007] e [Branquinho et al. 2011] e tem como objetivo compreender o uso de planejamento em jogos RTS e desenvolver planejadores que possam obter resultados melhores que os destes.

2. Trabalhos Relacionados A pesquisa foi motivada inicialmente pelo trabalho [Fayard 2005], onde o autor busca estabelecer uma maneira de avaliar se diferentes classes dentro de um mesmo jogo possuem seus respectivos recursos balanceados em termos de custo e ganho para o jogador. Para tal, ele propõe o uso do Simulated Annealing [Kirkpatrick et al. 1983] para encontrar o melhor conjunto de ações a serem alcançadas dado um conjunto de condições, entre essas está o tempo máximo que o plano final pode obter, além disso, o algoritmo trabalha com a função objetivo voltada para maximizar a força de ataque do plano final. Com a abordagem de [Fayard 2005], foi possível vislumbrar uma forma de preencher uma lacuna encontrada em grande parte das abordagens sobre planejamento para Jogos RTS, pois essas buscam formas de obter planos entre estados iniciais e finais, mas não exploram qual seria o melhor estado final a ser alcançado dado um determinado momento do jogo e os recursos disponíveis nesse. Para completar a pesquisa os trabalhos de [Chan et al. 2008] e [Branquinho et al. 2011] deram as premissas necessárias para o desenvolvimento dos algoritmos que completam a pesquisa. As duas abordagens buscam desenvolver um planejador que estabeleça um plano de ações dado dois estados um inicial e outro final, esse plano é então submetido a outro algoritmo que fica encarregado de escalonar as ações a fim de encontrar o menor tempo de execução possível para ele. Com os trabalhos relatados anteriormente, foi possível estabelecer o corpo desta pesquisa. As abordagens de [Chan et al. 2008] e [Branquinho et al. 2011] estão sendo usadas para inspirar a construção dos planejadores utilizados, que tem a função de estabelecer o conjunto de ações a serem executadas dado um limite máximo de tempo, além de trazer essas ações já escalonadas. Já a abordagem de [Fayard 2005] traz a ideia de aplicar uma meta-heurística a fim de buscar maximizar algumas características desse plano obtido, tendo ao fim um resultado final ótimo em termos de força e tempo de execução do conjunto de ações, representando o melhor plano objetivo. 3. Contribuição do Trabalho Diante dos desafios que envolvem o planejamento em jogos de RTS tais como: obtenção de um plano de ações, escalonamento e principalmente a busca por melhorias no plano já estabelecido através da inserção e remoção de novas ações, as contribuições do trabalho buscam atingir todos esses segmentos de tarefas. As contribuições são: Desenvolvimento de um planejador sequencial linear. Desenvolvimento de um planejador de ordem parcial, que escalona as ações baseado nas restrições do domínio de jogos de RTS. Desenvolvimento de um algoritmo de verificação que avalia a consistência de um plano de ações a cada vez que esse sofre uma operação do S.A. Análise das possiblidades de representação e ordem das ações do plano para um melhor escalonamento União de duas abordagens diferentes de planejamento para a otimização deste em domínios com restrição de tempo, pré-condições e maximização de função objetivo. 4. Metodologia e Estado da Pesquisa Para alcançar os objetivos desta pesquisa primeiramente foi feito um estudo sobre os principais trabalhos de planejamento em jogos de RTS, para através destes obter a configuração atual das

pesquisas nesta área afim de encontrar possíveis espaços para contribuição. Em seguida, iniciamos a busca por algum tipo de simulador ou jogo de RTS que pudesse servir como ferramenta de testes práticos para os resultados que seriam obtidos durante os experimentos. Dentre os modos de jogos e ferramentas de simulação pesquisadas, a que melhor atendeu as necessidades desta pesquisa foi a API chamada Bwapi (Broodwar API) [Bwapi 2011], com ela é possível introduzir algoritmos dentro do jogo Starcraft e dessa forma gerenciar e controlar o ambiente do jogo. A escolha da BWAPI está fortemente ligada ao fato da sua integração com o Starcraft, pois esse é considerado um dos jogos de RTS mais completos e com maior número de restrições e pré-condições entre seus recursos, validando ainda mais os resultados obtidos no decorrer do trabalho. Dentre os algoritmos propostos para o trabalho o primeiro a ser desenvolvido foi o planejador sequencial linear, que é responsável por encontrar um plano linear de ações dado um determinado tempo limite. O plano gerado foi usado junto com o S.A. a fim de obter um conjunto de ações que aumentasse a força de ataque desse, durante os experimentos foi notado que o S.A. consegue em todos eles retornar um plano com força de ataque maior que o inicial e esse novo plano possui também tempo menor de execução, proporcionando outro ganho ao planejamento. O segundo planejador foi desenvolvido baseado no principio de plano de ordem parcial e tem por objetivo além de desenvolver um plano de ações para alcançar um estado final dado um determinado tempo, também o de escalonar essas ações. O escalonamento é feito ao mesmo tempo em que as ações vão sendo planejadas, e o planejador leva em conta diversas características presentes em domínios de jogos RTS para conseguir um escalonamento perto do melhor resultado possível, como por exemplo: Antecipar a execução de um recurso que contribui na obtenção de mais recursos para o plano, não buscar escalonar recursos que são pré-condições de outros em sequência, e sim em intervalos entre outros recursos. Esse plano de ações também é submetido ao S.A a fim de encontrar um plano com força de ataque maior e tempo de execução baixo. Nos testes feitos até o momento o algoritmo consegue encontrar planos com força de ataque maximizado, mas nem sempre com o tempo final menor do que o do plano inicial. 5. Cronograma do Trabalho até a Defesa Cronograma do Trabalho até a Defesa 1. Implementação e testes com o plano parcial escalonado e S.A; 2. Escrita de artigos científicos ; 3. Implementações necessárias para otimizar os algoritmos; 4. Testes com as implementações desenvolvidas; 5. Escrita da dissertação; Figura 1. Cronograma de atividades

Referências Branquinho, A., Lopes, C. R., and Naves, T. F. (2011). Developing strategies for improving planning and scheduling of actions in rts games. 23rd IEEE International Conference on Tools with Artificial Intelligence. Buro, M. and Furtak, T. (2003). Rts games as test-bed for real-time research. Workshop on Game AI, JCIS, 481-484. Bwapi (2011). BWAPI - An API for interacting with Starcraft : Broodwar. Chan, H., Fern, A., Ray, S., Ventura, C., and Wilson, N. (2008). Extending online planning for resource production in real-time strategy games with search. Workshop on Planning in Games ICAPS. Chan, H., Fern, A., Ray, S., Wilson, N., and Ventura, C. (2007). Online planning for resource production in real-time strategy games. In ICAPS. Fayard, T. (2005). Using a planner to balance real time strategy video game. Workshop on Planning in Games, ICAPS 2007. Kirkpatrick, S., Gelatt, C. D., and Vecchi, M. P. (1983). Optimization by simulated annealing. Science 1983.