Charla sobre Ciencia y Videojuegos en la Universidad de Cádiz

El viernes pasado, Pablo García (aka Dr. Fergu) y yo mismo (aka Dr. Mora) dimos con éxito la charla “La Ciencia y los Videojuegos” en la Escuela Superior de Ingeniería de la Universidad de Cádiz.

Fuimos invitados por el Dr. Manuel Palomo Duarte y muy bien acogidos, tanto por él, como por el resto de sus compañeros. ;D

En la primera parte, conté la relación existente entre ciencia y videojuegos (con mi clásica presentación), con una parte centrada en la interacción autoática y la extracción de información en videojuegos para la creación o mejora de aspectos de los mismos (Inteligencia Artificial, Generación Procedural de Contenidos, etc).

La presentación es:

En la segunda parte, Pablo explicó varios de los desarrollos e investigación del grupo GeNeura en el ámbito de los videojuegos, aplicando Algoritmos Evolutivos a juegos como Unreal, Planet Wars, Super Mario o StarCraft.

Su presentación es:

Esperamos que os gustase (u os guste, si las veis ahora). ;)

Advertisements

Tenemos el segundo bot más humano DEL MUNDO…

…jugando a Unreal Tournament 2004. :D

José L. Jiménez, estudiante de informática de la Universidad de Málaga, dirigido por Antonio Fernández Leiva y por mí ha creado un bot, llamado NizorBot, a partir del ExpertBot que hicieron Francisco Aisa y Ricardo Caballero, que ha obtenido el segundo puesto (considerando la humanidad (humanness) del mismo) en el BotPrize 2014, celebrado dentro del CIG 2014.

Human or Bot competition (BotPrize)

Resultados de la competición BotPrize 2014 (primeros puestos)

La competición se basa en un Test de Turing que los bots deben pasar frente a jueces humanos. Éstos se enfrentarán a los bots en combates (Deathmatch) dentro del juego Unreal Tournament 2004. Durante dichos combates (en varias tandas), los jueces marcarán a cada uno de sus rivales como humano o bot en base a su criterio sobre el comportamiento que observen en el jugador.

Además, este año se ha añadido la presencia de un gran número de jueces off-line, es decir, ‘fuera del juego’, que visualizan los enfrentamientos y deciden también qué jugadores son humanos y cuáles no.

Esto le da más valor al resultado que otros años, ya que estos jueces cuentan con un punto de vista ‘menos limitado’ que los participantes en el juego.

El bot ha sido implementado mediante algoritmos evolutivos interactivos, en los que un controlador humano interviene cada cierto tiempo en dos sentidos:

  • Ajustando parámetros del algoritmo (controlador experto en el algoritmo)
  • Respondiendo a cuestiones sobre el jugador y el juego (controlador experto en el juego).

En ambos casos, el desarrollo del algoritmo (su ejecución) se ve afectado y dirigido por este controlador, lo que hace que el bot evolucione de una forma más acorde con lo que éste espera. En este caso, para comportarse de la manera más humana posible.

José está en proceso de escritura de su Proyecto Fin de Carrera y, a continuación, los tres trabajaremos en un artículo describiendo todo el proceso.

¡Estad atentos! :D

Aplicación de Programación Genética para la generación de bots del RTS Planet Wars en CoSECiVi 2014

Este trabajo se publicó dentro del Primer Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECIVI), que se celebró en conjunción con el Gamelab 2014 en Barcelona.

En él se presentó el artículo titulado “Designing Competitive Bots for a Real Time Strategy Game using Genetic Programming”, cuyo resumen (en inglés) es:

The design of the Artificial Intelligence (AI) engine for an autonomous agent (bot) in a game is always a difficult task mainly done by an expert human player, who has to transform his/her knowledge into a behavioural engine. This paper presents an approach for conducting this task by means of Genetic Programming (GP) application. This algorithm is applied to design decision trees to be used as bot’s AI in 1 vs 1 battles inside the RTS game Planet Wars. Using this method it is possible to create rule-based systems defining decisions and actions, in an automatic way, completely different from a human designer doing them from scratch. These rules will be optimised along the algorithm run, considering the bot’s performance during evaluation matches. As GP can generate and evolve behavioural rules not taken into account by an expert, the obtained bots could perform better than human-defined ones. Due to the difficulties when applying Computational Intelligence techniques in the videogames scope, such as noise factor in the evaluation functions, three different fitness approaches have been implemented and tested in this work. Two of them try to minimize this factor by considering additional dynamic information about the evaluation matches, rather than just the final result (the winner), as the other function does.
In order to prove them, the best obtained agents have been compared with a previous bot, created by an expert player (from scratch) and then
optimised by means of Genetic Algorithms. The experiments show that the three used fitness functions generate bots that outperform the optimized human-defined one, being the area-based fitness function the one that produces better results.

La presentación del artículo se puede ver aquí:

El artículo se puede encontrar en: http://gaia.fdi.ucm.es/sites/cosecivi14/es/papers/24.pdf

Esperamos que os guste.

Y que nos citéis. :D

Sistemas Clasificadores

Los sistemas clasificadores son una fusión entre los algoritmos evolutivos, el aprendizaje por refuerzo y el supervisado. Se conocen como Learning Classifier Systems. El viernes pasado aproveché la reunión del grupo para presentar una breve revisión histórica y dar detalles sobre quizá el algoritmo más importante introducido en este campo, el eXtended Classifier System o XCS de Wilson.

Básicamente, el algoritmo busca mediante evolución genética y aprendizaje un conjunto de reglas que modelen la solución a un problema donde existe recompensa. Las reglas se componen de una condición y una acción. La población de reglas representa para cualquier condición dada, cual será la mejor acción. Esto se consigue asociando al espacio de entrada una predicción de la mejor recompensa futura obtenida para cada acción posible.

Entonces, dado un estado que representa el entorno, se buscan las reglas cuya condición coincide, y de ellas se toma la acción que ofrece mejor recompensa futura.

La tarea no es fácil, los algoritmos formales de aprendizaje por refuerzo, necesitan a priori un conocimiento determinista de las posibles entradas y las transiciones resultantes de las acciones, dejando poco o nada para la búsqueda y aplicación de generalización.

Con XCS este problema se resuelve introduciendo algunos ajustes a la componente genética. La idea general es básicamente repartir los recursos (reglas) para que representen todo el espacio con la mayor precisión y generalización posible. Como no es algo que se pueda resumir en unas pocas líneas, aquí os dejo la presentación:

Modelando el conocimiento de un experto en Unreal Tournament (CEDI 2013)

En concreto, hemos presentado el artículo “Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot” dentro del Primer Simposio Español en Entretenimiento Digital, incluido dentro del CEDI 2013.

Y vosotros diréis, ¿por qué un artículo en inglés en un congreso español?. Pues porque los artículos en inglés que sean seleccionados podrán enviarse a un número especial de la revista Entertainment Computing (Elsevier). A ver si hay suerte. :D

El trabajo presenta el diseño de un bot (jugador autónomo) para jugar a Unreal Tournament 2004 (UT2K4). Dicho bot ha sido creado por Francisco Aisa y Ricardo Caballero, modelando el conocimiento y comportamiento de un jugador experto en dicho juego (el primero de ellos ;D).

La presentación podéis verla en:

Que la disfrutéis (y nos citéis, claro). :D

Saludos.

Genebot (again) in CIG2012

Adaptative bots for real-time strategy game via map characterization(A.Fernández-Ares, P.García-Sánchez, A.M. Mora, J.J Merelo) is the title of the paper we have presented in CIG2012. In this work we use Genetics Algorithms for improve an adaptative bot for play (and win!) to planet wars. We made it through the characterization of the maps, studing those features (calculated quickly) that influence in bot behavior:  

The abstract:

This paper presents a proposal for a fast on-line map analysis for the RTS game Planet Wars in order to define specialized strategies for an autonomous bot. This analysis is used to tackle two constraints of the game, as featured in the Google AI Challenge 2010: the players cannot store any information from turn to turn, and there is a limited action time of just one second.They imply that the bot must analyze the game map quickly, to adapt its strategy during the game. Based in our previous work, in this paper we have evolved bots for different types of maps. 

Then, all bots are combined in one, to choose the evolved strategy depending on the geographical configuration of the game in each
turn.
Several experiments have been conducted to test the new approach, which outperforms our previous version, based on an off-line general training.

Presentation:

Charla “Ciencia y Videojuegos” en el Curso de Almuñecar 2012

El pasado viernes (27 de Julio), presenté una charla dentro del curso Animación y Videojuegos, ofrecido por el Centro Mediterráneo de Almuñécar.

En ella comenté en tono desenfadado las relaciones existentes entre ambos mundos, considerando tanto las aportaciones de los sistemas de videojuegos al entorno científico, como los avances en investigación dentro del campo de los videojuegos.

Podéis encontrarla en Slideshare y aquí mismo (:D):

Que la disfrutéis. ;)

Además, nos hicieron una ‘super-entrevista’ mientras hacíamos networking (:P) y la publicaron en la edición online de Ideal Costa:

http://almunecar.ideal.es/actualidad/517-curso-de-animacion-y-videojuegos-en-almunecar.html

Saludos.