Towards automatic StarCraft strategy generation using genetic programming

I forgot to mention that we published our paper “Towards automatic StarCraft strategy generation using genetic programming” in CIG 2015 conference, held in Taiwan. This was a work made in collaboration with Alberto Tonda (INRA) and Giovanni Squillero (Politecnico di Torino), starting a new research line using this game (and also, starting other nice collaborations that are still a secret!)

The abstract:

Among Real-Time Strategy games few titles have enjoyed the continued success of StarCraft. Many research lines aimed at developing Artificial Intelligences, or “bots”, capable of challenging human players, use StarCraft as a platform. Several characteristics make this game particularly appealing for researchers, such as: asymmetric balanced factions, considerable complexity of the technology trees, large number of units with unique features, and potential for optimization both at the strategical and tactical level. In literature, various works exploit evolutionary computation to optimize particular aspects of the game, from squad formation to map exploration; but so far, no evolutionary approach has been applied to the development of a complete strategy from scratch. In this paper, we present the preliminary results of StarCraftGP, a framework able to evolve a complete strategy for StarCraft, from the building plan, to the composition of squads, up to the set of rules that define the bot’s behavior during the game. The proposed approach generates strategies as C++ classes, that are then compiled and executed inside the OpprimoBot open-source framework. In a first set of runs, we demonstrate that StarCraftGP ultimately generates a competitive strategy for a Zerg bot, able to defeat several human-designed bots.

Do you want to know more? Download the paper draft or electronic version in IEEE web.

[Paper] A Methodology to Develop Service Oriented Evolutionary Algorithms

Paper about our methodology for service oriented EAs

OSGiLiath Evolutionary Framework

Our paper A Methodology to Develop Service Oriented Evolutionary Algorithms has been published in the proceedings of the 8th International Symposium on Intelligent Distributed Computing – IDC’2014. This paper is a resume of the SOA-EA methodology, one of the chapters of my thesis (available here). The presentation, made by JJ Merelo, is quite cool:

http://jj.github.io/pres-idc-2014/index.html#/home

The abstract:

This paper proposes a methodology to design and implement Evolutionary Algorithms using the Service Oriented Architecture paradigm. This paradigm allows to deal with some of the shortcomings in the Evolutionary Algorithms area, facilitating the development, integration, standardization of services that conform a evolutionary algorithm, and, besides, the dynamic alteration of those elements in runtime.
A four-step methodology to design services for Evolutionary Algorithms is presented: identification, specification, implementation and deployment. Also, as an example of application of this methodology, an adaptive algorithm is developed.

You can download the paper draft from…

View original post 15 more words

Paper “Testing the Differences of Using RGB and HSV Histograms During Evolution in Evolutionary Art” in ECTA

This week we are presenting the paper “Testing the Differences of Using RGB and HSV Histograms During Evolution in Evolutionary Art” in the Evolutionary Computation Theory and Applications.

This is the work we developed in the Hackathon of the Spanish Free Software Contest of the University of Granada with the help of several students of our university (who are also authors!).

In this work we have added Processing to our OSGiLiath (service oriented architecture for evolutionary algorithms) framework to generate images from individual representations to work with generative art. The fitness is the equality to a predefined image. HSV, RGB and a combination of both have been used.

The abstract:

This paper compares the use of RGB and HSV histograms during the execution of an Evolutionary Algorithm. This algorithm generates abstract images that try to match the histograms of a target image. Three different fitness functions have been used to compare: the differences between the individual with the RGB histogram of the test image, the HSV histogram, and an average of the two histograms at the same time. Results show that the HSV fitness also increases the similarities of the RGB (and therefore, the average) more than the other two measures.

And here is the poster:

ecta

OSGiLiath at #GECCO2013

Add your thoughts here… (optional)

OSGiLiath Evolutionary Framework

This week several members of Geneura group and ANYSELF project are attending to GECCO 2013 conference in Amsterdam. I’ve presented two papers related with OSGiLiath:

The first one, entitled Developing Services in a Service Oriented Architecture for Evolutionary Algorithms has been presented inside the EvoSoft workshop. It is a more technical continuation of the work “Service Oriented Evolutionary Algorithms“. Here is the abstract:

This paper shows the design and implementation of services for Evolutionary Computation in the Service Oriented Architecture paradigm. This paradigm allows independence in language and distribution, but the development requires to manage some technological and design issues, such as abstract design or unordered execution. To solve them, OSGiLiath, an implementation of an abstract Service Oriented Architecture for Evolutionary Algorithms, is used to develop new interoperable services taking into account these restrictions.

And here the presentation:

I also have presented the work “A Service Oriented…

View original post 123 more words

Unreal Expert Bots at IWANN 2013

Last week there was held IWANN 2013 at Tenerife, an international conference mainly devoted to researches inside the neural networks scope. In it, Antonio Fernández Leiva, Raúl Lara and Me organized the Special Session on Artificial Intelligence and Games.

There were five works in the session, one of them “Designing and Evolving an Unreal Tournament— 2004 Expert Bot“.

It describes the designing and improvement, through off-line (not during the game) evolution, of an autonomous agent (or bot) for playing the game Unreal Tournament 2004. This was created by means of a finite state machine which models the expert behaviour of a human player in 1 vs 1 deathmatch mode, following the rules of the international competition.

Then, the bot was improved by means of a Genetic Algorithm, yielding an agent that is, in turn a very hard opponent for the medium-level human player and which can (easily) beat the default bots in the game, even in the maximum difficulty level.

The presentation can be seen at:

Moreover, you can watch one example of the evolution in the following video:

Finally, the Unreal Expert and Genetic bot’s source code are available at https://github.com/franaisa/ExpertAgent

Enjoy them. ;)

Super Mario autonomous agents at LION 2013

Recently, inside the last LION 7 (2013) conference (Special Session on Games and Computational Intelligence) there was presented the paper entitled “FSM-Based Agents for Playing Super Mario Game”.

It describes the implementation and test of an autonomous agent which can play Super Mario game better than an expert user can do (in some trained levels).
It is build starting from a Finite State Machine and applying an Evolutionary Algorithm.

The presentation is:

You can watch one example of the obtained agent playing a game here:

Enjoy it. ;)

Evolutionary Algorithms in Heterogeneous Nodes

Today I presented a brief talk about some papers about the usage of heterogeneous computers for distributed EAs:

All these ideas (and new ones) are being applied in our Service Oriented Architecture for Evolutionary Algorithms, we hope to show interesting results soon!

Here is the presentation (in Spanish).