Departamento de Lenguajes y Ciencias de la Computacio´n Algoritmos Coevolutivos Competitivos para la programacio´n de Inteligencia Artificial en videojuegos Memoria de la tesis de doctorado Autora: Mariela Nogueira Collazo Directores: Dr. Antonio J. Fern´andez Leiva Dr. Carlos Cotta Porras M´alaga, Espan˜a Junio de 2017 AUTOR: Mariela Nogueira Collazo http://orcid.org/0000-0003-3456-5512 EDITA: Publicaciones y Divulgación Científica. Universidad de Málaga Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial- SinObraDerivada 4.0 Internacional: http://creativecommons.org/licenses/by-nc-nd/4.0/legalcode Cualquier parte de esta obra se puede reproducir sin autorización pero con el reconocimiento y atribución de los autores. No se puede hacer uso comercial de la obra y no se puede alterar, transformar o hacer obras derivadas. Esta Tesis Doctoral está depositada en el Repositorio Institucional de la Universidad de Málaga (RIUMA): riuma.uma.es Do. Antonio Jos´e Fern´andez Leiva y Do. Carlos Cotta Porras, Profesores Titulares del DepartamentodeLenguajesyCienciasdelaComputaci´ondelaUniversidaddeM´alaga Certifican: Que Dn˜a. Mariela Nogueira Collazo, Ingeniera en Inform´atica por la Universidad de las Ciencias Inform´aticas de la Habana y M´aster en Ingenier´ıa del Software e In- teligencia Artificial por la Universidad de M´alaga, ha realizado en el Departamento de Lenguajes y Ciencias de la Computaci´on de la Universidad de M´alaga el trabajo correspondiente a su Tesis Doctoral titulada: Algoritmos Coevolutivos Competitivos para la Programaci´on de Inteligencia Artificial en Videojuegos. Revisado el presente trabajo, estimamos que puede ser presentado al tribunal que ha de juzgarlo, y autorizamos la presentaci´on de esta Tesis Doctoral en la Universidad de M´alaga. En M´alaga, a 13 de junio de 2017 Fdo.: Dr. Antonio J. Fern´andez Leiva Fdo.: Dr. Carlos Cotta Porras Director de la tesis Director de la tesis Profesor Titular Profesor Titular Dpto. de Lenguajes y Dpto. de Lenguajes y Ciencias de la Computaci´on Ciencias de la Computaci´on Universidad de M´alaga Universidad de M´alaga Resumen Esta investigaci´on trata sobre la aplicaci´on del enfoque competitivo de la Coevolu- cio´n en la programaci´on de soluciones de Inteligencia Artificial (IA) para videojuegos y propone diferentes modelos para abordarlo. La motivaci´on principal de esta tesis es que la Coevoluci´on resulta un enfoque muy adecuado para explotarlo como m´etodo de bu´squeda y optimizaci´on en videojuegos ya que estos son de por s´ı escenarios intr´ınse- camente competitivos. Est´a demostrado que en los contextos donde resulta complejo definir una medida de calidad de las soluciones, aplicar la Coevoluci´on es muy conve- nienteporquesepodr´ıacalcularelfitness delosindividuosapartirdesusresultadosen las competiciones contra las poblaciones adversarias. Este mecanismo de evaluaci´on es tradicional en los videojuegos basados en competici´on, donde la calidad de un jugador est´a determinada por su desempen˜o frente a los oponentes. Por otra parte, adem´as de las muchas muestras que existen de que la Coevoluci´on es un m´etodo de optimizaci´on muy adecuado en videojuegos, tambi´en se han dedicado varios trabajos en la comunidad cient´ıfica a explicar las “patolog´ıas” que afectan a los modelos coevolutivos. Incluso se han propuesto “remedios” para combatirlas, pero a pesar de eso, la complejidad que genera la din´amica de estos modelos hace que sea dif´ıcil evadir esos fallos. Este problema es tambi´en una de las motivaciones que han guiado esta investigaci´on pues los algoritmos que hemos disen˜ado pretenden disminuir el riesgo de padecer algunos de los fallos t´ıpicos de un proceso coevolutivo. Nuestra apuesta en este sentido ha sido el empleo de los conocidos m´etodos de archivo y el v disen˜o de tres enfoques que mejoran los resultados del modo de uso tradicional de dichos m´etodos. Los juegos que han sido objeto de experimentaci´on en esta investigaci´on son del g´enero estrategia en tiempo real (RTS, por sus siglas en ingl´es: Real Time Strategy Games). Se escogi´o este g´enero porque ofrece una amplia variedad de problemas muy interesantes en el ´ambito de la investigaci´on de la IA aplicada, tales como, la planifica- cio´n de tareas y recursos en tiempo real teniendo en cuenta al adversario y la toma de decisiones con incertidumbre. Es por esto que es uno de los g´eneros de juego que m´as se ha empleado en las investigaciones de IA publicadas en la bibliograf´ıa cient´ıfica. SondoslosjuegosRTSsobrelosquesehaexperimentadoenestatesis.Enambosse han probado los dos enfoques disen˜ados en esta investigaci´on. Uno de ellos tiene como objetivo la creaci´on de estrategias de IA para manejar los bot y/o los NPCs (Non- Player Character) de los juegos RTS antes mencionados. Y el otro, tiene un objetivo mucho m´as complejo, el de generar de forma simult´anea, estrategias de IA y contenido para videojuegos. Este segundo modelo representa el aporte m´as novedoso de esta investigaci´on, pues hasta donde hemos podido investigar en la bibliograf´ıa relacionada, es la primera vez que se logra la coevoluci´on de lo que vendr´ıan siendo (teniendo en cuenta la teor´ıa de la evoluci´on) dos especies tan distintas. Adem´as, constituye un paso importante hacia la creaci´on procedural de juegos completos a nivel de Disen˜o. Nuestros algoritmos pueden verse como m´etodos procedurales de generaci´on de contenidos que permiten crear inteligencias artificiales (o sea, comportamientos) de los NPCs y tambi´en contenidos (en forma de mapas) del juego. Esta tesis presenta el pri- mer algoritmo conocido en la literatura cient´ıfica (hasta donde nuestros conocimientos alcanzan) que es capaz de crear proceduralmente ambos contenidos a la vez; y propone un esquema gen´erico que puede aplicarse a otros videojuegos (no s´olo a RTS). Alolargodelamemoriasonexplicadasdetalladamentelaspropuestasdesoluciones que han sido definidas en esta tesis y se aporta el correspondiente an´alisis de sus resultados para poder valorar seriamente su idoneidad. Palabras Claves: Coevoluci´on, Algoritmos Bioinspirados, Computaci´on Evoluti- va, Inteligencia Artificial, Videojuegos, Generaci´on de Contenidos por Procedimientos. Abstract The research presented here concerns with the application of the Coevolution com- petitive approach for programming AI solutions in a videogames context and proposes different models to apply. The main motivation of this thesis is that Coevolution is a highly suitable approach to use as the optimization method in videogame domains because these are, in themselves, intrinsically competitive scenarios. It is demonstrated that in those contexts in which defining a measure of the quality of the solutions is a little complex, to apply a Competitive Coevolutionary approach is very useful because the fitness of the individuals could be derived from its results in the competitions with the adversary populations. This mechanism is a tradition in videogames, where if you have to evaluate the behavior of a player it has to compete against its opponents and is evaluated according to the result. Ontheotherhand,besidesthemanyexamplesthatshowthesuitabilityofCoevolu- tion as an optimization mechanism in videogames, several publications in the scientific community have also explained the “pathologies” that affect coevolutionary models. In fact, some “remedies” have already been proposed to combat them, but even so, the complexity generated by the dynamics of these models makes it difficult to evade these failures. This is also another of the motivating factors of our research because the algorithms designed by us are intended to reduce the risk of the coevolutionary process suffering from these typical failures. Our aim in this regard has been to use well-known archival methods and the design of three approaches that improve the results of the ix traditional way of using such methods. The games used in the experimental phases of this research are RTS games. This genrewaschosenbecauseitoffersagreatvarietyofveryinterestingproblemsinthefield of AI research, such as real-time task planning and resources, taking into account the adversary and decision making with uncertainty. This is why it is the most-used game genre in AI research that one can find in the scientific literature. With these games we have tested the algorithms that have been designed in the course of this thesis. These are two base algorithms with three instances of each one. The first one aims to create AI strategies to manage the bots of the aforementioned RTS games. The other has a much more complex goal i.e. the simultaneous generation of AI strategies and contentforvideogames.Thissecondmodelrepresentsthemostinnovativecontribution of this research, because, to the best of our knowledge, this is the first time that the coevolution of two, such different, species (taking into account the theory of evolution) has been achieved. All the algorithms that have been designed in the course of this work are explained in detail in this report and the corresponding analysis of the results reached is provided. Keywords:Coevolution,Bio-inspiredAlgorithms,EvolutionaryComputation,Ar- tificial Intelligence, Videogames, Procedural Contents Generation.
Description: