HOME

TheInfoList



OR:

General game playing (GGP) is the design of
artificial intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
programs to be able to play more than one game successfully. For many games like chess, computers are programmed to play these games using a specially designed algorithm, which cannot be transferred to another context. For instance, a chess-playing computer program cannot play
checkers Checkers (American English), also known as draughts (; British English), is a group of strategy board games for two players which involve diagonal moves of uniform game pieces and mandatory captures by jumping over opponent pieces. Checkers i ...
. General game playing is considered as a necessary milestone on the way to artificial general intelligence. General video game playing (GVGP) is the concept of GGP adjusted to the purpose of playing
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This feedback m ...
s. For video games, game rules have to be either learnt over multiple iterations by artificial players like
TD-Gammon TD-Gammon is a computer backgammon program developed in 1992 by Gerald Tesauro at IBM's Thomas J. Watson Research Center. Its name comes from the fact that it is an artificial neural net trained by a form of temporal-difference learning, specifi ...
, or are predefined manually in a
domain-specific language A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging f ...
and sent in advance to artificial players like in traditional GGP. Starting in 2013, significant progress was made following the deep reinforcement learning approach, including the development of programs that can learn to play
Atari 2600 The Atari 2600, initially branded as the Atari Video Computer System (Atari VCS) from its release until November 1982, is a home video game console developed and produced by Atari, Inc. Released in September 1977, it popularized microprocesso ...
games as well as a program that can learn to play
Nintendo Entertainment System The Nintendo Entertainment System (NES) is an 8-bit Third generation of video game consoles, third-generation home video game console produced by Nintendo. It was first released in Japan in 1983 as the commonly known as the The NES, a redes ...
games. The first commercial usage of general game playing technology was
Zillions of Games Zillions of GamesSearch-based Procedural Content Generation: A Taxonomy and Survey', Julian Togelius, Georgios N. Yannakakis, Kenneth O. Stanley, Cameron Browne, '' IEEE Transactions on Computational Intelligence and AI in Games'' 3(3):172 - ...
in 1998. General game playing was also proposed for trading agents in
supply chain management In commerce, supply chain management (SCM) is the management of the flow of goods and services including all processes that transform raw materials into final products between businesses and locations. This can include the movement and stor ...
thereunder price negotiation in
online auctions An online auction (also electronic auction, e-auction, virtual auction, or eAuction) is an auction held over the internet and accessed by internet connected devices. Similar to in-person auctions, online auctions come in a variety of types, with d ...
from 2003 on.


History

In 1992, Barney Pell defined the concept of Meta-Game Playing, and developed the "MetaGame" system. This was the first program to automatically generate game rules of chess-like games, and one of the earliest programs to use automated game generation. Pell then developed the system ''Metagamer''.Barney Pell's research on computer game playing
.
This system was able to play a number of chess-like games, given game rules definition in a special language called
Game Description Language Game Description Language, or GDL, is a logic programming language designed by Michael Genesereth for general game playing, as part of the General Game Playing Project at Stanford University. GDL describes the state of a game as a series of facts, ...
(GDL), without any human interaction once the games were generated. In 1998, the commercial system
Zillions of Games Zillions of GamesSearch-based Procedural Content Generation: A Taxonomy and Survey', Julian Togelius, Georgios N. Yannakakis, Kenneth O. Stanley, Cameron Browne, '' IEEE Transactions on Computational Intelligence and AI in Games'' 3(3):172 - ...
was developed by Jeff Mallett and Mark Lefler. The system used a LISP-like language to define the game rules. Zillions of Games derived the
evaluation function An evaluation function, also known as a heuristic evaluation function or static evaluation function, is a function used by game-playing computer programs to estimate the value or goodness of a position (usually at a leaf or terminal node) in a g ...
automatically from the game rules based on piece mobility, board structure and game goals. It also employed usual algorithms as found in
computer chess Computer chess includes both hardware (dedicated computers) and software capable of playing chess. Computer chess provides opportunities for players to practice even in the absence of human opponents, and also provides opportunities for analysi ...
systems: alpha-beta pruning with move ordering,
transposition table {{no footnotes, date=November 2017 A transposition table is a cache of previously seen positions, and associated evaluations, in a game tree generated by a computer game playing program. If a position recurs via a different sequence of moves, the ...
s, etc. The package was extended in 2007 by the addition of the Axiom plug-in, an alternate metagame engine that incorporates a complete Forth-based programming language. In 1998, z-Tree was developed by
Urs Fischbacher Urs Fischbacher (born 17 September 1959 in Dietikon, Zürich) is a Swiss economist and professor of applied economic research at the University of Konstanz. He is director of the Thurgau Economic Institute, an affiliated institute of the University ...
. z-Tree is the first and the most cited software tool for experimental economics. z-Tree allows the definition of game rules in z-Tree-language for game-theoretic experiments with human subjects. It also allows definition of computer players, which participate in a play with human subjects. In 2005, the Stanford Project ''General Game Playing'' was established. In 2012, the development of PyVGDL started.


GGP implementations


Stanford project

''General Game Playing'' is a project of the Stanford Logic Group of
Stanford University Stanford University, officially Leland Stanford Junior University, is a private research university in Stanford, California. The campus occupies , among the largest in the United States, and enrolls over 17,000 students. Stanford is considere ...
, California, which aims to create a platform for general game playing. It is the most well-known effort at standardizing GGP AI, and generally seen as the standard for GGP systems. The games are defined by sets of rules represented in the
Game Description Language Game Description Language, or GDL, is a logic programming language designed by Michael Genesereth for general game playing, as part of the General Game Playing Project at Stanford University. GDL describes the state of a game as a series of facts, ...
. In order to play the games, players interact with a game hosting server that monitors moves for legality and keeps players informed of state changes. Since 2005, there have been annual General Game Playing competitions at the AAAI Conference. The competition judges competitor AI's abilities to play a variety of different games, by recording their performance on each individual game. In the first stage of the competition, entrants are judged on their ability to perform legal moves, gain the upper hand, and complete games faster. In the following runoff round, the AIs face off against each other in increasingly complex games. The AI that wins the most games at this stage wins the competition, and until 2013 its creator used to win a $10,000 prize. So far, the following programs were victorious:


Other approaches

There are other general game playing systems, which use their own languages for defining the game rules. Other general game playing software include:


GVGP implementations


Reinforcement learning

GVGP could potentially be used to create real video game AI automatically, as well as "to test game environments, including those created automatically using procedural content generation and to find potential loopholes in the gameplay that a human player could exploit". GVGP has also been used to generate game rules, and estimate a game's quality based on Relative Algorithm Performance Profiles (RAPP), which compare the skill differentiation that a game allows between good AI and bad AI.


Video Game Description Language

The General Video Game AI Competition (GVGAI) has been running since 2014. In this competition, two-dimensional video games similar to (and sometimes based on) 1980s-era arcade and console games are used instead of the board games used in the GGP competition. It has offered a way for researchers and practitioners to test and compare their best general video game playing algorithms. The competition has an associated software framework including a large number of games written in the Video Game Description Language (VGDL), which should not be confused with GDL and is a coding language using simple semantics and commands that can easily be parsed. One example for VGDL is PyVGDL developed in 2013. The games used in GVGP are, for now, often 2-dimensional arcade games, as they are the simplest and easiest to quantify. To simplify the process of creating an AI that can interpret video games, games for this purpose are written in VGDL manually. VGDL can be used to describe a game specifically for procedural generation of levels, using Answer Set Programming (ASP) and an Evolutionary Algorithm (EA). GVGP can then be used to test the validity of procedural levels, as well as the difficulty or quality of levels based on how an agent performed.


Algorithms

Since GGP AI must be designed to play multiple games, its design cannot rely on algorithms created specifically for certain games. Instead, the AI must be designed using algorithms whose methods can be applied to a wide range of games. The AI must also be an ongoing process, that can adapt to its current state rather than the output of previous states. For this reason,
open loop Open or OPEN may refer to: Music * Open (band), Australian pop/rock band * The Open (band), English indie rock band * ''Open'' (Blues Image album), 1969 * ''Open'' (Gotthard album), 1999 * ''Open'' (Cowboy Junkies album), 2001 * ''Open'' (YF ...
techniques are often most effective. A popular method for developing GGP AI is the
Monte Carlo tree search In computer science, Monte Carlo tree search (MCTS) is a heuristic search algorithm for some kinds of decision processes, most notably those employed in software that plays board games. In that context MCTS is used to solve the game tree. MCT ...
(MCTS) algorithm. Often used together with the UCT method (''Upper Confidence Bound applied to Trees''), variations of MCTS have been proposed to better play certain games, as well as to make it compatible with video game playing. Another variation of tree-search algorithms used is the Directed Breadth-first Search (DBS), in which a child node to the current state is created for each available action, and visits each child ordered by highest average reward, until either the game ends or runs out of time. In each tree-search method, the AI simulates potential actions and ranks each based on the average highest reward of each path, in terms of points earned.


Assumptions

In order to interact with games, algorithms must operate under the assumption that games all share common characteristics. In the book ''Half-Real: Video Games Between Real Worlds and Fictional Worlds'', Jesper Juul gives the following definition of games: Games are based on rules, they have variable outcomes, different outcomes give different values, player effort influences outcomes, the player is attached to the outcomes, and the game has negotiable consequences.Jesper Juul. Half-Real: Video Games Between Real Rules and Fictional Worlds. MIT Press, 2005. Using these assumptions, game playing AI can be created by quantifying the player input, the game outcomes, and how the various rules apply, and using algorithms to compute the most favorable path.


See also

*
AlphaZero AlphaZero is a computer program developed by artificial intelligence research company DeepMind to master the games of chess, shogi and go. This algorithm uses an approach similar to AlphaGo Zero. On December 5, 2017, the DeepMind team ...
**
MuZero MuZero is a computer program developed by artificial intelligence research company DeepMind to master games without knowing their rules. Its release in 2019 included benchmarks of its performance in go, chess, shogi, and a standard suite of Atar ...
* Artificial general intelligence * Artificial intelligence in video games *
Domain-specific entertainment language Domain-specific entertainment languages are a group of domain-specific languages that are used describe computer games or environments, or potentially used for other entertainment such as video or music. Game languages *Extensible Graphical Game ...
*
Game Description Language Game Description Language, or GDL, is a logic programming language designed by Michael Genesereth for general game playing, as part of the General Game Playing Project at Stanford University. GDL describes the state of a game as a series of facts, ...
* Multi-task learning *
Outline of artificial intelligence The following outline is provided as an overview of and topical guide to artificial intelligence: Artificial intelligence (AI) – intelligence exhibited by machines or software. It is also the name of the scientific field which studies how to ...
*
Transfer learning Transfer learning (TL) is a research problem in machine learning (ML) that focuses on storing knowledge gained while solving one problem and applying it to a different but related problem. For example, knowledge gained while learning to recognize ...


References

{{reflist


External links


General Game Playing Home Page at Stanford University
:See also th
GGP.orgGGP.org GitHub page
an
games.stanford.edu

General Game Playing Resources
provided by Dresden University of Technology.
AiAi by Stephen Tavener

PolyGamo Player Project by David M. Bennett

Axiom Development kit
a meta-game development system compatible with Zillions of Games, by Greg Schmidt.
Palamedes
- A General Game Playing IDE

Game artificial intelligence Game theory Algorithmic trading