• Nenhum resultado encontrado

Uma abordagem alternativa para o problema de balanceamento dinâmico é utilizar algum mecanismo de aprendizagem de máquina que não depende da codificação de regras [Langley 1997] para a construção e evolução do comportamento dos agentes. Demasi e Cruz [2002] propõem a utilização de algoritmos genéticos nessa tarefa. Na aprendizagem baseada em algoritmos genéticos, os agentes aprendizes codificam características de comportamento como genes. Por meio da utilização de operações genéticas (como cruzamento e mutação), são constantemente criados novos indivíduos. Aqueles que apresentam maior aptidão (inferido por uma função heurística) para atuar no ambiente são preservados e utilizados como pais na criação de novos indivíduos, de modo que os filhos evoluam a cada nova geração [Eiben e Smith 2003].

3.3.1. Descrição

O método proposto por Demasi e Cruz consiste em preservar os indivíduos que mais se adaptam ao nível do usuário, e não necessariamente os melhores. O método é baseado na Coevolução em Tempo Real, na qual algoritmos genéticos coevolucionários [Wiegand et al. 2002] são modificados para lidar com a restrição de tempo dos jogos. Algoritmos coevolucionários analisam a aptidão dos indivíduos por meio do sucesso atingido por toda a população, o que em jogos pode ser facilmente mapeado ao score do agente. De maneira geral, o método consiste em evoluir ou manter o atual nível dos agentes quando estes são destruídos ou extrapolam um limite de tempo pré-definido. A decisão de evoluir ou não depende de uma função de desafio.

A evolução é baseada em indivíduos-objetivo, que correspondem a modelos que o agente deve alcançar em um determinado instante, servindo como guia para aumentar a velocidade da evolução. Mais especificamente, a evolução do nível de desafio é feita considerando-se o agente objetivo e um indivíduo da população atual como pais para a criação de um novo indivíduo (através de cruzamento); para manter o mesmo nível, a reposição é feita

por meio de simples replicação ou cruzamento entre indivíduos da mesma população. Os indivíduos-objetivo podem ser criados manualmente, usando-se informações do jogo, ou através de simulações off-line, com outros agentes (caso existam) e com humanos.

O balanceamento do jogo é obtido pela utilização de modelos com diferentes aptidões. No começo, enquanto o usuário ainda está aprendendo a jogar, é usado um indivíduo-objetivo com pouca aptidão. À medida que esse modelo intermediário se torna fácil para o usuário, passa-se a considerar o próximo indivíduo-objetivo (com aptidão um pouco maior). Esse processo continua até que o jogador atinja o melhor modelo pré-definido.

Embora os indivíduos-objetivo sejam importantes para garantir a velocidade da aprendizagem, é possível não utilizá-los, o que resulta na evolução convencional de algoritmos genéticos. Nesse caso, é necessário definir uma função de avaliação que determine a aptidão de cada agente. A partir dela, pode-se usar os melhores indivíduos de cada subespécie como pais para a geração de novos indivíduos. Por fim, também é possível realizar uma abordagem híbrida, com uma primeira fase usando indivíduos-objetivo e uma segunda de evolução livre. Essa abordagem possibilita a definição prévia de alguns modelos (o que facilita a obtenção de um nível mínimo de qualidade), mas mantém a capacidade de aprendizagem ao possibilitar que o agente evolua livremente, sem necessitar de padrões pré-definidos.

3.3.2. Vantagens e Limitações

A abordagem genética é uma idéia inovadora que pode resolver o problema de balanceamento com um baixo esforço de desenvolvimento, na medida que não requer a codificação de extensas bases de regras de comportamento. Além disso, a possibilidade de evolução livre (sem a utilização dos indivíduos-objetivo) permite que sejam descobertas estratégias de atuação adequadas a cada oponente, usufruindo suas fraquezas e evitando suas aptidões.

Por outro lado, algumas limitações podem ser identificadas. Um dos problemas dessa abordagem é a criação de indivíduos indesejados. O cruzamento genético pode gerar indivíduos melhores do que o objetivo intermediário desejado dependendo da forma como os genes são definidos e interpretados. Esse problema acaba inserindo ruído na evolução dos agentes, o que pode ser percebido pelas variações entre oponentes muito fracos e muito fortes. Além disso, a utilização de modelos pré-definidos (os indivíduos-objetivo) limita a evolução eficiente dos agentes a esses modelos, prejudicando a aplicação do método contra usuários muito bons ou com comportamento incomum. Como esses usuários não possuem um modelo para agilizar a adaptação dos agentes, pode-se demorar muito tempo até que seus níveis sejam alcançados. Por fim, embora os agentes genéticos sejam capazes de evoluir, não

permitir regressões no comportamento induz os agentes a começarem sempre do nível mais fácil. Enquanto essa abordagem pode ser satisfatória para usuários iniciantes, pode ser frustrante para usuários mais experientes, que precisarão esperar muito tempo pela evolução dos agentes.

Com relação aos requisitos anteriores, a abordagem genética tem o potencial de satisfazer o requisito de rápida adaptação inicial [R/JOG 1.A], uma vez que os modelos de evolução podem ser suficientes para lidar com as primeiras interações dos usuários. Entretanto, a eficiência do balanceamento após os momentos iniciais é profundamente dependente da codificação dos genes. Como a evolução genética não tem garantia de que cada geração é melhor do que a anterior, pode ser preciso realizar várias tentativas até que o agente obtenha um comportamento adequado, o que dificulta o acompanhamento do desenvolvimento dos usuários ao longo do tempo. Essa limitação torna-se ainda mais crítica quando não há modelos para guiar a aprendizagem, o que torna todo o processo ainda mais imprevisível. Com relação aos critérios de credibilidade, essa abordagem pode também apresentar limitações, porque podem ser geradas estratégias de atuação incoerentes pelas operações genéticas, caso não seja explicitamente limitada a execução de ações inconsistentes. Dessa forma, os requisitos [R/JOG 1.B], [R/JOG 2.A], e [R/JOG 2.B] podem não ser atendidos por essa abordagem. O requisito de desenvolvimento [R/IMP 3] é, em princípio, parcialmente satisfeito, pois embora não seja necessária a codificação de regras ou de complexos algoritmos, é preciso realizar um cuidadoso trabalho de parametrização das funções de aprendizagem.