We present an experimental comparison of the efficiency of three General Game Playing systems in ... more We present an experimental comparison of the efficiency of three General Game Playing systems in their current versions: Regular Boardgames (RBG 1.0), Ludii 0.3.0, and a Game Description Language (GDL) propnet. We show that in general, RBG is currently the fastest GGP system. For example, for chess, we demonstrate that RBG is about 37 times faster than Ludii, and Ludii is about 3 times slower than a GDL propnet. Referring to the recent comparison [An Empirical Evaluation of Two General Game Systems: Ludii and RBG, CoG 2019], we show evidences that the benchmark presented there contains a number of significant flaws that lead to wrong conclusions. * This game code was not originally available in RBG 1.0 and was added later. † The rules in Ludii differ from the others. 2.1. Games in Ludii 0.3.0. Unfortunately, Ludii is a closed-source system, which limits debug possibilities for game rules. In multiple cases, the game rules provided with Ludii 0.3.0 differ
We present initial research towards procedural generation of Simplified Boardgames and translatin... more We present initial research towards procedural generation of Simplified Boardgames and translating them into an efficient GDL code. This is a step towards establishing Simplified Boardgames as a comparison class for General Game Playing agents. To generate playable, human readable, and balanced chess-like games we use an adaptive evolutionary algorithm with the fitness function based on simulated playouts. In future, we plan to use the proposed method to diversify and extend the set of GGP tournament games by those with fully automatically generated rules.
We formalize Simplified Boardgames language, which describes a subclass of arbitrary board games.... more We formalize Simplified Boardgames language, which describes a subclass of arbitrary board games. The language structure is based on the regular expressions, which makes the rules easily machine-processable while keeping the rules concise and fairly human-readable.
Proceedings of the AAAI Conference on Artificial Intelligence
In many games, moves consist of several decisions made by the player. These decisions can be view... more In many games, moves consist of several decisions made by the player. These decisions can be viewed as separate moves, which is already a common practice in multi-action games for efficiency reasons. Such division of a player move into a sequence of simpler / lower level moves is called splitting. So far, split moves have been applied only in forementioned straightforward cases, and furthermore, there was almost no study revealing its impact on agents' playing strength. Taking the knowledge-free perspective, we aim to answer how to effectively use split moves within Monte-Carlo Tree Search (MCTS) and what is the practical impact of split design on agents' strength. This paper proposes a generalization of MCTS that works with arbitrarily split moves. We design several variations of the algorithm and try to measure the impact of split moves separately on efficiency, quality of MCTS, simulations, and action-based heuristics. The tests are carried out on a set of board games and...
Proceedings of the 14th International Conference on Agents and Artificial Intelligence, 2022
In this work, we presented a study regarding two important aspects of evolving feature-based game... more In this work, we presented a study regarding two important aspects of evolving feature-based game evaluation functions: the choice of genome representation and the choice of opponent used to test the model. We compared three representations. One simpler and more limited, based on a vector of weights that are used in a linear combination of predefined game features. And two more complex, based on binary and n-ary trees. On top of this test, we also investigated the influence of fitness defined as a simulation-based function that: plays against a fixed weak opponent, plays against a fixed strong opponent, and plays against the best individual from the previous population. For a testbed, we have chosen a recently popular domain of digital collectible card games. We encoded our experiments in a programming game, Legends of Code and Magic, used in Strategy Card Game AI Competition. However, as the problems stated are of general nature we are convinced that our observations are applicable in the other domains as well.
We present the technical side of reasoning in Regular Boardgames (RBG) language-a universal Gener... more We present the technical side of reasoning in Regular Boardgames (RBG) language-a universal General Game Playing (GGP) formalism for the class of finite deterministic games with perfect information, encoding rules in the form of regular expressions. RBG serves as a research tool that aims to aid in the development of generalized algorithms for knowledge inference, analysis, generation, learning, and playing games. In all these tasks, both generality and efficiency are important. In the first part, this paper describes optimizations used by the RBG compiler. The impact of these optimizations ranges from 1.7 to even 33-fold efficiency improvement when measuring the number of possible game playouts per second. Then, we perform an in-depth efficiency comparison with three other modern GGP systems (GDL, Ludii, Ai Ai). We also include our own highly optimized game-specific reasoners to provide a point of reference of the maximum speed. Our experiments show that RBG is currently the fastest among the abstract general game playing languages, and its efficiency can be competitive to common interface-based systems that rely on handcrafted game-specific implementations. Finally, we discuss some issues and methodology of computing benchmarks like this.
AI 2018: Advances in Artificial Intelligence, 2018
The speed of game rules processing plays an essential role in the performance of a General Game P... more The speed of game rules processing plays an essential role in the performance of a General Game Playing (GGP) agent. Propositional Networks (propnets) are an example of a highly efficient representation of game rules. So far, in GGP, only software implementations of propnets have been proposed and investigated. In this paper, we present the first implementation of propnets on Field-Programmable Gate Arrays (FP-GAs), showing that they perform between 25 and 58 times faster than a software-propnet for most of the tested games. We also integrate the FPGA-propnet within an MCTS agent, discussing the challenges of the process, and possible solutions for the identified shortcomings.
In this paper, we evolve a card-choice strategy for the arena mode of Legends of Code and Magic, ... more In this paper, we evolve a card-choice strategy for the arena mode of Legends of Code and Magic, a programming game inspired by popular collectible card games like Hearthstone or TES: Legends. In the arena game mode, before each match, a player has to construct his deck choosing cards one by one from the previously unknown options. Such a scenario is difficult from the optimization point of view, as not only the fitness function is non-deterministic, but its value, even for a given problem instance, is impossible to be calculated directly and can only be estimated with simulation-based approaches. We propose a variant of the evolutionary algorithm that uses a concept of an active gene to reduce the range of the operators only to generation-specific subsequences of the genotype. Thus, we batched learning process and constrained evolutionary updates only to the cards relevant for the particular draft, without forgetting the knowledge from the previous tests. We developed and tested va...
In this work, we deal with the scenario, where the fitness function is non-deterministic, and mor... more In this work, we deal with the scenario, where the fitness function is non-deterministic, and moreover its value, even for a given problem instance, is impossible to calculate exactly and can only be estimated. Such a situation occurs in popular strategy card games (e.g., Hearthstone, TES: Legends), during the ”arena” game mode, where before the match, a player has to construct his deck, choosing his cards one by one from the previously unknown options. We evolve a card-choice strategy for the programming game Legends of Code and Magic that learns to make a successful choice regardless of the available options, calculating the fitness value is estimated via the simulation-based method. We investigate the performances of various approaches and propose a variant of the evolutionary algorithm that uses a concept of an ”active gene” to reduce the range of the operators only to generation-specific subsequences of the genotype. Performed experiments show the behavior of this type of algor...
2018 IEEE Conference on Computational Intelligence and Games (CIG), 2018
This paper presents an initial approach to a generic algorithm for constructing balanced multipla... more This paper presents an initial approach to a generic algorithm for constructing balanced multiplayer maps for strategy games. It focuses on the placement of so-called strategic features-map objects that have a crucial impact on gameplay, usually providing benefits for the players who control them. The algorithm begins with constructing a logical layout of the map from the perspective of a single player. We use a novel approach based on graph grammars, where rules do not add new features but are initially constrained by the content of the start node, which simplifies their construction. To introduce other players' space, the single-player graph is multiplied and partially merged. The result is projected onto a grid by combining Sammon mapping, Bresenham's algorithm, and Voronoi diagrams. Finally, strategic features are arranged on the map using an evolutionary search algorithm. We implemented the proposed method in a map generator which we are developing for the popular strategy game Heroes of Might and Magic III. We also point out how this approach can be adapted to other games, e.g. StarCraft, WarCraft, or Anno.
Proceedings of the 8th International Conference on Agents and Artificial Intelligence, 2016
For the sake of the General Game Playing competition, the Game Description Language (GDL) has bee... more For the sake of the General Game Playing competition, the Game Description Language (GDL) has been developed as a high-level knowledge representation formalism, able to describe any finite, n-player, turnbased, deterministic, full-information game. The last two restrictions were removed by the later extension called GDL-II. In this paper, we discuss our extension of GDL, called rtGDL, that makes it possible to describe a large variety of games involving a real-time factor. We consider its effectiveness and expressiveness, arguing that this is a promising direction of research in the field of General Game Playing.
We deal with the problem of automatic generation of complete rules of an arbitrary game. This req... more We deal with the problem of automatic generation of complete rules of an arbitrary game. This requires a generic and accurate evaluating function that is used to score games. Recently, the idea that game quality can be measured using differences in performance of various game-playing algorithms of different strengths has been proposed; this is called Relative Algorithm Performance Profiles. We formalize this method into a generally application algorithm estimating game quality, according to some set of model games with properties that we want to reproduce. We applied our method to evolve chess-like boardgames. The results show that we can obtain playable and balanced games of high quality.
Basics Variant of Datalog Prefix notation rules with ? preceded variables Only few keywords Pure ... more Basics Variant of Datalog Prefix notation rules with ? preceded variables Only few keywords Pure first-order logic: no built-in assumptions, no arithmetic, no physics, no common sense Wide range of games: finite, deterministic, with full information and simultaneous moves Formal description of n-players game S-set of states A 1 ,. .. , A n-sets of possible actins (for each player) l 1 ,. .. , l n-legal actions (l i ⊆ A i × S) u : S × A i ×. .. × A n → S-update function s 1 ∈ S-initial state T ⊆ S-set of terminal states g 1 ,. .. , g n-goal relations (g i ⊆ S × N) Jakub Kowalski, Marek Szykuła Game Description Language Compiler Construction Composed structures consist of a set of other structures made especially for efficient maintaining of different query shapes. Lemma The trie-composed structure takes O(s) time for a query and O(c 1 +. .. + c d) time for an insertion. Lemma The tree-composed structure takes O(s + log n) time for a query and O(log n) time for an insertion.
2017 IEEE Conference on Computational Intelligence and Games (CIG), Aug 1, 2017
The domain of text-based adventure games has been recently established as a new challenge of crea... more The domain of text-based adventure games has been recently established as a new challenge of creating the agent that is both able to understand natural language, and acts intelligently in text-described environments. In this paper, we present our approach to tackle the problem. Our agent, named Golovin, takes advantage of the limited game domain. We use genre-related corpora (including fantasy books and decompiled games) to create language models suitable to this domain. Moreover, we embed mechanisms that allow us to specify, and separately handle, important tasks as fighting opponents, managing inventory, and navigating on the game map. We validated usefulness of these mechanisms, measuring agent's performance on the set of 50 interactive fiction games. Finally, we show that our agent plays on a level comparable to the winner of the last year Text-Based Adventure AI Competition.
We have improved an algorithm generating synchronizing automata with a large length of the shorte... more We have improved an algorithm generating synchronizing automata with a large length of the shortest reset words. This has been done by refining some known results concerning bounds on the reset length. Our improvements make possible to consider a number of conjectures and open questions concerning synchronizing automata, checking them for automata with a small number of states and discussing the results. In particular, we have verified the Černý conjecture for all binary automata with at most 12 states, and all ternary automata with at most 8 states.
We present a new heuristic algorithm finding reset words. The algorithm called CutOff-IBFS is bas... more We present a new heuristic algorithm finding reset words. The algorithm called CutOff-IBFS is based on a simple idea of inverse breadth-first-search in the power automaton. We perform an experimental investigation of effectiveness compared to other algorithms existing in literature, which yields that our method generally finds a shorter word in an average case and works well in practice.
Uploads
Papers by Jakub Kowalski