Vinsamlegast notið þetta auðkenni þegar þið vitnið til verksins eða tengið í það: http://hdl.handle.net/1946/41879
Board games have been a part of humanity for thousands of years. Ever since Alan Turing considered the question, “can machines think?” in a seminal paper published in 1950, games have played a role in the development of intelligent machines. Over the years, Artificial Intelligence researchers have developed game-playing systems capable of playing games of various complexity at an expert level. However, these game-playing systems were all made to play a single game and relied heavily on human expert knowledge. In a way, the system’s intelligence lies within its creators, not the system itself.
The goal of General Game Playing (GGP) is to create game-playing systems that can play a wide variety of games at a high level, given only the descriptions of the rules of the game. Such systems cannot rely on human knowledge. The system’s intelligence should lie within itself. A recent example of such a system is AlphaZero, which learned to play Go, chess, and shogi at an expert level from scratch.
To create a GGP system, we need a way to describe the rules of a game. Several GGP languages exist that do exactly that, each with its strengths and weaknesses concerning efficiency, simplicity, and formalism. Game Description Language is expressive, but reasoning is slow. Regular Boardgames allows for fast reasoning but describes everything about a game using regular expressions, leading to unintuitive game descriptions. Ludii allows for fast reasoning as well, but is more like a framework than a language, as every ludeme (the building blocks of Ludii game descriptions) is implemented in Java.
In this report, we introduce Abstract Boardgames, a well-defined general game description language, combining new ideas with good ideas from existing languages. Its main goal is to be expressive enough to describe the rules of popular chess-like games, yet simple enough to allow effective computation of complex games while allowing for easy to create and understandable game descriptions. The language is based on regular expressions to describe piece movements, and user-defined game concepts to describe when a move is legal, how a move affects the game state, and the game’s terminal conditions.
This report is structured as follows. In the next section, we discuss related work in more detail. Then we go over the necessary prerequisites for this report. Thereafter we describe our Abstract Boardgames language and compare its reasoning efficiency against other GGP languages. Next, we showcase a proof-of-concept intelligent agent that uses our language to describe games which it subsequently learns to play at an intermediate-expert level. We also demonstrate a rudimentary user interface to play games against humans or artificial agents. Finally, we discuss the conclusions of the project and possible future work.