Research

FluxPlayer

FLUXPLAYER is a system for General Game Playing (GGP). GGP is the art of designing programs that are capable of playing previously unknown games of a wide variety by being told nothing but the rules of the game. This is in contrast to traditional computer game players like Deep Blue, which are designed for a particular game and can't adapt automatically to modifications of the rules, let alone play completely different games. General Game Playing is intended to foster the development of integrated cognitive information processing technology.

FLUXPLAYER is based on FLUX, a high-level programming system for cognitive agents.

award ceremony
FLUXPLAYER has won the 2nd International General Game Playing Competition at AAAI-06 in Boston.

Media Coverage

Publications

Schiffel, S. & Thielscher, M. "Fluxplayer: A Successful General Game Player".
In Proceedings of the 22nd AAAI Conference on Artificial Intelligence (AAAI-07). Vancouver., pp. 1191-1196. AAAI Press.
Abstract: General Game Playing (GGP) is the art of designing programs that are capable of playing previously unknown games of a wide variety by being told nothing but the rules of the game. This is in contrast to traditional computer game players like Deep Blue, which are designed for a particular game and can't adapt automatically to modifications of the rules, let alone play completely different games. General Game Playing is intended to foster the development of integrated cognitive information processing technology. In this article we present an approach to General Game Playing using a novel way of automatically constructing a position evaluation function from a formal game description. Our system is being tested with a wide range of different games. Most notably, it is the winner of the AAAI GGP Competition 2006.
[URL]
Günther, M., Schiffel, S. & Thielscher, M. "Factoring General Games".
In Proceedings of the IJCAI-09 Workshop on General Game Playing (GIGA'09). Pasadena, California, USA. July 2009., pp. 27-34.
Abstract: The goal of General Game Playing is to construct an autonomous agent that can play games it has never encountered before. Only the game rules are given explicitly; interesting and useful properties of a game are implicit and need to be deduced. One particular such property is decomposability into separate subgames that have little interaction with each other. We present a method to decompose a given game into its subgames by analyzing the preconditions and effects of actions. Moreover, a search algorithm that exploits this information in single-player games is proposed.
[URL]
Schiffel, S. "Symmetry Detection in General Game Playing".
In Proceedings of the IJCAI-09 Workshop on General Game Playing (GIGA'09). Pasadena, California, USA. July 2009., pp. 67-74.
Abstract: We develop a method for detecting symmetries in arbitrary games and exploiting these symmetries when using tree search to play the game. Games in the General Game Playing domain are given as a set of logic based rules defining legal moves, their effects and goals of the players. The presented method transforms the rules of a game into a vertex-labeled graph such that automorphisms of the graph correspond with symmetries of the game. The algorithm detects many kinds of symmetries that often occur in games, e.g., rotation and reflection symmetries of boards, interchangeable objects, and symmetric roles. A transposition table is used to efficiently exploit the symmetries in many games.
[URL]
Michulke, D. & Thielscher, M. "Neural Networks for State Evaluation in General Game Playing".
In Proceedings of the European Conference on Machine Learning (EMCL). Bled, Slovenia. September 2009.
Abstract: Unlike traditional game playing, General Game Playing is concerned with agents capable of playing classes of games. Given the rules of an unknown game, the agent is supposed to play well without human intervention. For this purpose, agent systems that use deterministic game tree search need to automatically construct a state value function to guide search. Successful systems of this type use evaluation functions derived solely from the game rules, thus neglecting further improvements by experience. In addition, these functions are fixed in their form and do not necessarily capture the game's real state value function. In this work we present an approach for obtaining evaluation functions on the basis of neural networks that overcomes the aforementioned problems. A network initialization extracted from the game rules ensures reasonable behavior without the need for prior training. Later training, however, can lead to significant improvements in evaluation quality, as our results indicate.
[URL]
Schiffel, S. & Thielscher, M. "A Multiagent Semantics for the Game Description Language".
In International Conference on Agents and Artificial Intelligence (ICAART). Porto. Springer.
Abstract: The Game Description Language (GDL) has been developed for the purpose of formalizing game rules. It serves as the input language for general game players, which are systems that learn to play previously unknown games without human intervention. In this paper, we show how GDL descriptions can be intepreted as multiagent domains and, conversely, how a large class of multiagent environments can be specified in GDL. The resulting specifications are declarative, compact, and easy to understand and maintain. At the same time they can be fully automatically understood and used by autonomous agents who intend to participate in these environments. Our main result is a formal characterization of the class of multiagent domains that serve as formal semantics for—and can be described in—the Game Description Language.
[URL]
Schiffel, S. & Thielscher, M. "Automated Theorem Proving for General Game Playing".
In Proceedings of IJCAI'09.
Abstract: A general game player is a system that understands the rules of an unknown game and learns to play this game well without human intervention. To succeed in this endeavor, systems need to be able to extract and prove game-specific knowledge from the mere game rules. We present a practical approach to this challenge with the help of Answer Set Programming. The key idea is to reduce the automated theorem proving task to a simple proof of an induction step and its base case. We prove correctness of this method and report on experiments with an off-the-shelf Answer Set Programming system in combination with a successful general game player.
[URL]