Return to search

Practical and theoretical issues of evolving behaviour trees for a turn-based game

The concept of evolving components of an artificial intelligence (AI) has seen increased interest in recent years as the power and complexity of AI has grown. In entertainment software, this AI can impact the player's experiences and enjoyment through elements such as the level of difficulty of the player's competition. Therefore AI development is an important research topic, especially as development is considered difficult by the video game industry. This work applies the evolutionary computing paradigm to a turn-based domain by evolving team strategies. These strategies are represented as behaviour trees, a formalism found in the video game industry and well-suited to the evolutionary algorithm due to their flexibility and tree structure. During the evolutionary process, strategies are evaluated in Battle for Wesnoth, an open-source game with a stochastic nature. A fitness function is defined to assign strategies a numerical strength value, along with a second performance metric that is robust to the variance found in the domain. The evolutionary algorithm then recombines strategies with high strength values, using evolutionary operators from the literature such as crossover and mutation. Later experiments focus on evolutionary algorithm parameters, including comparing a variety of fitness functions to provide insights into their use. Starting from a number of initial states, numerous strategies are evolved using this algorithm. These initial states are a null strategy, randomly-generated strategies, and a number of hand-built strategies. The evolved strategies are then evaluated in-game, and will be shown to be measurably stronger than the initial strategies. / L'application de l'informatique évolutive au domaine de l'Intelligence Artificielle (IA) émerge naturellement. Pour l'industrie du divertissement (jeux ludiques), IA fait référence aux différents éléments visuels ou non qui déterminent une partie importante de l'expérience du joueur. Cette responsabilité fait en sorte que développer des système d'IA n'est pas une tâche simple, ce qui en fait un domaine de recherche intéressant. Ce travail applique les concepts d'informatique évolutive a un jeu par tour en lassant évoluer des stratégies d'IA. Les stratégies sont représentées par des arbres de comportement. Nous retrouvons cet automate dans l'industrie des jeux digitales, en général il est flexibles et bien adapté a l'informatique évolutive. Durant le processus d'évolution les stratégies sont évaluées dans le jeu Battle for Wesnoth, un jeu logiciel libre de nature stochastique. Une fonction d'aptitude est assignée aux stratégies afin de déterminer numériquement leur efficacité, de plus l'algorithme utilise des mesures robuste à la variance du processus. L'algorithme d'évolution recombine les stratégies efficaces utilisant des opérateurs évolutionnaires basés sur littérature par exemple, mutation ou transition. De plus amples expériences se concentrent sur différents paramètres et leurs utilités, par exemple les fonctions d'aptitudes. L'algorithme utilise de multiples états initiales : stratégie nulle, stratégie issue du hasard et stratégies de conception humaine. Les stratégies sont ensuite testées dans le jeu. Il est démontré par la suite que les stratégies évoluées par l'algorithme sont plus efficace que leurs états initiaux.

Identiferoai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:QMM.119721
Date January 2013
CreatorsOakes, Bentley
ContributorsClark Verbrugge (Internal/Supervisor)
PublisherMcGill University
Source SetsLibrary and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada
LanguageEnglish
Detected LanguageFrench
TypeElectronic Thesis or Dissertation
Formatapplication/pdf
CoverageMaster of Science (School of Computer Science)
RightsAll items in eScholarship@McGill are protected by copyright with all rights reserved unless otherwise indicated.
RelationElectronically-submitted theses.

Page generated in 0.0072 seconds