Algoritmos Coevolutivos Competitivos Para La Programación De Inteligencia Artificial En Videojuegos
Total Page:16
File Type:pdf, Size:1020Kb
Departamento de Lenguajes y Ciencias de la Computacion´ Algoritmos Coevolutivos Competitivos para la programacion´ de Inteligencia Artificial en videojuegos Memoria de la tesis de doctorado Autora: Mariela Nogueira Collazo Directores: Dr. Antonio J. Fern´andezLeiva Dr. Carlos Cotta Porras M´alaga,Espa~na 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´eFern´andezLeiva y Do. Carlos Cotta Porras, Profesores Titulares del Departamento de Lenguajes y Ciencias de la Computaci´onde la Universidad de M´alaga Certifican: Que D~na.Mariela Nogueira Collazo, Ingeniera en Inform´aticapor la Universidad de las Ciencias Inform´aticasde la Habana y M´asteren Ingenier´ıadel Software e In- teligencia Artificial por la Universidad de M´alaga,ha realizado en el Departamento de Lenguajes y Ciencias de la Computaci´onde la Universidad de M´alagael trabajo correspondiente a su Tesis Doctoral titulada: Algoritmos Coevolutivos Competitivos para la Programaci´onde Inteligencia Artificial en Videojuegos. Revisado el presente trabajo, estimamos que puede ser presentado al tribunal que ha de juzgarlo, y autorizamos la presentaci´onde esta Tesis Doctoral en la Universidad de M´alaga. En M´alaga,a 13 de junio de 2017 Fdo.: Dr. Antonio J. Fern´andezLeiva 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´ontrata sobre la aplicaci´ondel enfoque competitivo de la Coevolu- ci´onen la programaci´onde soluciones de Inteligencia Artificial (IA) para videojuegos y propone diferentes modelos para abordarlo. La motivaci´onprincipal de esta tesis es que la Coevoluci´onresulta un enfoque muy adecuado para explotarlo como m´etodo de b´usqueday optimizaci´onen videojuegos ya que estos son de por s´ıescenarios intr´ınse- camente competitivos. Est´ademostrado que en los contextos donde resulta complejo definir una medida de calidad de las soluciones, aplicar la Coevoluci´ones muy conve- niente porque se podr´ıacalcular el fitness de los individuos a partir de sus resultados en las competiciones contra las poblaciones adversarias. Este mecanismo de evaluaci´ones tradicional en los videojuegos basados en competici´on,donde la calidad de un jugador est´adeterminada por su desempe~nofrente a los oponentes. Por otra parte, adem´asde las muchas muestras que existen de que la Coevoluci´on es un m´etodo de optimizaci´onmuy adecuado en videojuegos, tambi´en se han dedicado varios trabajos en la comunidad cient´ıficaa 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´amicade estos modelos hace que sea dif´ıcilevadir esos fallos. Este problema es tambi´enuna de las motivaciones que han guiado esta investigaci´onpues los algoritmos que hemos dise~nadopretenden disminuir el riesgo de padecer algunos de los fallos t´ıpicosde un proceso coevolutivo. Nuestra apuesta en este sentido ha sido el empleo de los conocidos m´etodos de archivo y el v dise~node tres enfoques que mejoran los resultados del modo de uso tradicional de dichos m´etodos. Los juegos que han sido objeto de experimentaci´onen esta investigaci´onson del g´eneroestrategia en tiempo real (RTS, por sus siglas en ingl´es:Real Time Strategy Games). Se escogi´oeste g´eneroporque ofrece una amplia variedad de problemas muy interesantes en el ´ambito de la investigaci´onde la IA aplicada, tales como, la planifica- ci´onde 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´enerosde juego que m´as se ha empleado en las investigaciones de IA publicadas en la bibliograf´ıacient´ıfica. Son dos los juegos RTS sobre los que se ha experimentado en esta tesis. En ambos se han probado los dos enfoques dise~nadosen esta investigaci´on.Uno de ellos tiene como objetivo la creaci´onde 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´ascomplejo, el de generar de forma simult´anea,estrategias de IA y contenido para videojuegos. Este segundo modelo representa el aporte m´asnovedoso de esta investigaci´on,pues hasta donde hemos podido investigar en la bibliograf´ıarelacionada, es la primera vez que se logra la coevoluci´onde lo que vendr´ıansiendo (teniendo en cuenta la teor´ıade la evoluci´on)dos especies tan distintas. Adem´as,constituye un paso importante hacia la creaci´onprocedural de juegos completos a nivel de Dise~no. Nuestros algoritmos pueden verse como m´etodos procedurales de generaci´onde contenidos que permiten crear inteligencias artificiales (o sea, comportamientos) de los NPCs y tambi´encontenidos (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´ericoque puede aplicarse a otros videojuegos (no s´oloa RTS). A lo largo de la memoria son explicadas detalladamente las propuestas de soluciones que han sido definidas en esta tesis y se aporta el correspondiente an´alisisde sus resultados para poder valorar seriamente su idoneidad. Palabras Claves: Coevoluci´on,Algoritmos Bioinspirados, Computaci´onEvoluti- va, Inteligencia Artificial, Videojuegos, Generaci´onde 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. On the other hand, besides the many examples that show the suitability of Coevolu- 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 genre was chosen because it offers a great variety of very interesting problems in the field 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 content for videogames. This second model represents the most innovative contribution 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-inspired Algorithms, Evolutionary Computation, Ar- tificial Intelligence, Videogames, Procedural Contents Generation. Agradecimientos A la Universidad de M´alagapor la oportunidad de hacer esta tesis. A mis directores por guiarme y apoyarme en todo el camino. A mis padres porque les debo todo lo que soy y son un ejemplo de perseverancia. A mi hermana por ser mi soporte emocional en la distancia. A mi abuelo que no pudo ver el final de este proyecto. A Marilis y a Yaima por cuidar de mi en todo momento. A Antonio, por motivarme a continuar y estar pendiente siempre. A Lisa y a Lola por haber sido las primeras que me arroparon en este pa´ıs. A mi familia y amigos de Cuba que se han empe~nadoen acortar las distancias.