fbpx
Wikipedia

Game Description Language

Game Description Language (GDL) is a specialized logic programming language designed by Michael Genesereth. The goal of GDL is to allow the development of AI agents capable of general game playing. It is part of the General Game Playing Project at Stanford University.

At its core, GDL is a tool for expressing the intricacies of game rules and dynamics in a form comprehensible to AI systems through a combination of logic-based constructs and declarative principles.

Here are key features and concepts associated with Game Description Language:

**Logic-Based Foundations:** GDL leverages formal logic to describe the rules of games. It allows for the precise representation of complex game mechanics, providing unambiguous instructions for gameplay. By using logical rules, GDL enables AI agents to understand and navigate the intricacies of a game's structure and dynamics.

**Game-Agnostic Flexibility:** A notable strength of GDL is its game-agnostic nature. It is not confined to any specific game or genre, making it a versatile language for defining the rules of an extensive range of games. This versatility is particularly valuable in the development of AI agents, as it empowers them to engage in various games without the need for individualized programming for each one.

**Declarative Clarity:** GDL adheres to a declarative paradigm. In other words, it focuses on defining the conditions that are either true or legal within the context of a game, rather than prescribing how to play the game. This clear distinction between rules and strategies is vital for AI agents. It enables them to reason logically about the game state and make informed, intelligent moves.

**Extensible Adaptability:** Game Description Language is an extensible framework. It can be expanded and customized to accommodate a wide array of game features. Whether a game involves chance elements, simultaneous actions, or other unique mechanics, GDL can be adapted to accurately represent these complexities.

In practice, GDL serves as a cornerstone for the General Game Playing competitions and research endeavors. In these contexts, GDL is used to specify the rules of games that AI agents are expected to play. AI developers and researchers harness GDL to create algorithms that can comprehend and engage with games based on their rule descriptions. The use of GDL paves the way for the development of highly adaptable AI agents, capable of competing and excelling in diverse gaming scenarios.

This innovation is a testament to the convergence of logic-based formalism and the world of games, opening new horizons for AI's potential in understanding and mastering a multitude of games. Game Description Language equips AI with a universal key to unlock the mysteries of diverse game environments and strategies.

Purpose of GDL edit

Quoted in an article in New Scientist, Genesereth pointed out that although Deep Blue can play chess at a grandmaster level, it is incapable of playing checkers at all because it is a specialized game player.[1] Both chess and checkers can be described in GDL. This enables general game players to be built that can play both of these games and any other game that can be described using GDL.

Specification edit

Syntax edit

GDL is a variant of Datalog, and the syntax is largely the same. It is usually given in prefix notation. Variables begin with "?".[2]

Keywords edit

The following is the list of keywords in GDL, along with brief descriptions of their functions:

distinct
This predicate is used to require that two terms be syntactically different.
does
The predicate does(?r,?m) means that player (or role) ?r makes move ?m in the current game state.
goal
The predicate goal(?r,?n) is used to define goal value ?n (usually a natural number between 0 and 100) for role ?r in the current state.
init
This predicate refers to a true fact about the initial game state.
legal
The predicate legal(?r,?m) means that ?m is a legal move for role ?r in the current state.
next
This predicate refers to a true fact about the next game state.
role
This predicate is used to add the name of a player.
terminal
This predicate means that the current state is terminal.
true
This predicate refers to a true fact about the current game state.

Rules edit

A game description in GDL provides complete rules for each of the following elements of a game.

Players edit

Facts that define the roles in a game. The following example is from a GDL description of the two-player game Tic-tac-toe:

(role xplayer) (role oplayer) 

Initial state edit

Rules that entail all facts about the initial game state. An example is:

(init (cell 1 1 blank)) ... (init (cell 3 3 blank)) (init (control xplayer)) 

Legal moves edit

Rules that describe each move by the conditions on the current position under which it can be taken by a player. An example is:

(<= (legal ?player (mark ?m ?n))  (true (cell ?m ?n blank))  (true (control ?player))) 

Game state update edit

Rules that describe all facts about the next state relative to the current state and the moves taken by the players. An example is:

(<= (next (cell ?m ?n x))  (does xplayer (mark ?m ?n))) (<= (next (cell ?m ?n o))  (does oplayer (mark ?m ?n))) 

Termination edit

Rules that describe the conditions under which the current state is a terminal one. An example is:

(<= terminal (line x)) (<= terminal (line o)) (<= terminal not boardopen) 

Goal states edit

The goal values for each player in a terminal state. An example is:

(<= (goal xplayer 100)  (line x)) (<= (goal oplayer 0)  (line x)) 

Extensions edit

GDL-II edit

With GDL, one can describe finite games with an arbitrary number of players. However, GDL cannot describe games that contain an element of chance (for example, rolling dice) or games where players have incomplete information about the current state of the game (for example, in many card games the opponents' cards are not visible). GDL-II, the Game Description Language for Incomplete Information Games, extends GDL by two keywords that allow for the description of elements of chance and incomplete information:[3]

sees
The predicate sees(?r,?p) means that role ?r perceives ?p in the next game state.
random
This constant refers to a pre-defined player who chooses moves randomly.

The following is an example from a GDL-II description of the card game Texas hold 'em:

(<= (sees ?player ?card)  (does random (deal_face_down ?player ?card))) (<= (sees ?r ?card)  (role ?r)  (does random (deal_river ?card))) 

GDL-III edit

Michael Thielscher also created a further extension, GDL-III, a general game description language with imperfect information and introspection, that supports the specification of epistemic games — ones characterised by rules that depend on the knowledge of players.[4]

Other formalisms and languages for game representation edit

In classical game theory, games can be formalised in extensive and normal forms. For cooperative game theory, games are represented using characteristic functions. Some subclasses of games allow special representations in smaller sizes also known as succinct games. Some of the newer developments of formalisms and languages for representation of some subclasses of games or representations adjusted to the needs of interdisciplinary research are summarized as the following table.[5] Some of these alternative representations also encode time-related aspects:

Name Year Means Type of games Time
Congestion game[6] 1973 functions subset of n-person games, simultaneous moves No
Sequential form[7] 1994 matrices 2-person games of imperfect information No
Timed games[8][9] 1994 functions 2-person games Yes
Gala[10] 1997 logic n-person games of imperfect information No
Graphical games[11][12] 2001 graphs, functions n-person games, simultaneous moves No
Local effect games[13] 2003 functions subset of n-person games, simultaneous moves No
Game Petri-nets[14] 2006 Petri net deterministic n-person games, simultaneous moves No
Continuous games[15] 2007 functions subset of 2-person games of imperfect information Yes
PNSI[16][17] 2008 Petri net n-person games of imperfect information Yes
Action graph games[18] 2012 graphs, functions n-person games, simultaneous moves No

Applications edit

A 2016 paper "describes a multilevel algorithm compiling a general game description in GDL into an optimized reasoner in a low level language".[19]

A 2017 paper uses GDL to model the process of mediating a resolution to a dispute between two parties and presented an algorithm that uses available information efficiently to do so.[20]

See also edit

References edit

  1. ^ Biever, Celeste (2006-07-29). "Producing the ultimate game-playing bots - tech - 29 July 2006 - New Scientist Tech". from the original on 11 August 2007.
  2. ^ Love, N; Genesereth, M; Hinrichs, T (2006). "General game playing: game description language specification. Tech. Rep. LG-2006-01" (PDF). Stanford University. Stanford University, Stanford. Retrieved 1 July 2019.
  3. ^ Thielscher, M (2010). Fox, M; Poole, D (eds.). "A general game description language for incomplete information games". Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence, AAAI 2010. Atlanta: AAAI Press. Retrieved 1 July 2019.
  4. ^ Thielscher, Michael (2017). "GDL-III: A Description Language for Epistemic General Game Playing" (PDF). Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence. IJCAI. ISBN 978-0-9992411-0-3. Retrieved 1 July 2019.
  5. ^ Tagiew, Rustam (3 May 2011). "If more than Analytical Modeling is Needed to Predict Real Agents' Strategic Interaction". arXiv:1105.0558 [cs.GT].
  6. ^ Rosenthal, Robert W. (December 1973). "A class of games possessing pure-strategy Nash equilibria". International Journal of Game Theory. 2 (1): 65–67. doi:10.1007/BF01737559. S2CID 121904640.
  7. ^ Koller, Daphne; Megiddo, Nimrod; von Stengel, Bernhard (1994). "Fast algorithms for finding randomized strategies in game trees". Proceedings of the twenty-sixth annual ACM symposium on Theory of computing - STOC '94. pp. 750–759. doi:10.1145/195058.195451. ISBN 0-89791-663-8. S2CID 1893272.
  8. ^ Alur, Rajeev; Dill, David L. (April 1994). "A theory of timed automata". Theoretical Computer Science. 126 (2): 183–235. doi:10.1016/0304-3975(94)90010-8.
  9. ^ Tomlin, C.J.; Lygeros, J.; Shankar Sastry, S. (July 2000). "A game theoretic approach to controller design for hybrid systems". Proceedings of the IEEE. 88 (7): 949–970. CiteSeerX 10.1.1.129.8347. doi:10.1109/5.871303. S2CID 1844682.
  10. ^ Koller, Daphne; Pfeffer, Avi (1997). "Representations and solutions for game-theoretic problems" (PDF). Artificial Intelligence. 94 (1–2): 167–215. doi:10.1016/S0004-3702(97)00023-4.
  11. ^ Michael, Michael Kearns; Littman, Michael L. (2001). "Graphical Models for Game Theory". In UAI: 253–260. CiteSeerX 10.1.1.22.5705.
  12. ^ Kearns, Michael; Littman, Michael L.; Singh, Satinder (7 March 2011). "Graphical Models for Game Theory". arXiv:1301.2281 [cs.GT].
  13. ^ Leyton-Brown, Kevin; Tennenholtz, Moshe (2003). "Local-effect games". IJCAI'03: Proceedings of the 18th International Joint Conference on Artificial Intelligence: 772–777.
  14. ^ Clempner, Julio (2006). "Modeling shortest path games with Petri nets: a Lyapunov based theory". International Journal of Applied Mathematics and Computer Science. 16 (3): 387–397. ISSN 1641-876X.
  15. ^ Sannikov, Yuliy (September 2007). "Games with Imperfectly Observable Actions in Continuous Time" (PDF). Econometrica. 75 (5): 1285–1329. doi:10.1111/j.1468-0262.2007.00795.x.
  16. ^ Tagiew, Rustam (December 2008). "Multi-Agent Petri-Games". 2008 International Conference on Computational Intelligence for Modelling Control & Automation. pp. 130–135. doi:10.1109/CIMCA.2008.15. ISBN 978-0-7695-3514-2. S2CID 16679934.
  17. ^ Tagiew, Rustam (2009). "On Multi-agent Petri Net Models for Computing Extensive Finite Games". New Challenges in Computational Collective Intelligence. Studies in Computational Intelligence. Vol. 244. Springer. pp. 243–254. doi:10.1007/978-3-642-03958-4_21. ISBN 978-3-642-03957-7.
  18. ^ Bhat, Navin; Leyton-Brown, Kevin (11 July 2012). "Computing Nash Equilibria of Action-Graph Games". arXiv:1207.4128 [cs.GT].
  19. ^ Kowalski, Jakub; Szykuła, Marek (2013). "Game Description Language Compiler Construction". AI 2013: Advances in Artificial Intelligence: 26th Australasian Joint Conference, Dunedin, New Zealand, December 1-6, 2013. Proceedings. pp. 234–245. Retrieved 1 July 2019.
  20. ^ de Jonge, Dave; Trescak, Tomas; Sierra, Carles; Simoff, Simeon; López de Mántaras, Ramon (2017). "Using Game Description Language for mediated dispute resolution". AI & Society. 2017 (4). Springer: 767–784. doi:10.1007/s00146-017-0790-8. S2CID 22738517.

External links edit

  • Game Description Language Specification
  • Refereed paper introducing GDL-II

game, description, language, this, article, multiple, issues, please, help, improve, discuss, these, issues, talk, page, learn, when, remove, these, template, messages, this, article, contains, content, that, written, like, advertisement, please, help, improve. This article has multiple issues Please help improve it or discuss these issues on the talk page Learn how and when to remove these template messages This article contains content that is written like an advertisement Please help improve it by removing promotional content and inappropriate external links and by adding encyclopedic content written from a neutral point of view March 2024 Learn how and when to remove this template message This article may require copy editing for formatting style and tone You can assist by editing it March 2024 Learn how and when to remove this template message Learn how and when to remove this template message This section does not cite any sources Please help improve this section by adding citations to reliable sources Unsourced material may be challenged and removed March 2024 Learn how and when to remove this template message Game Description Language GDL is a specialized logic programming language designed by Michael Genesereth The goal of GDL is to allow the development of AI agents capable of general game playing It is part of the General Game Playing Project at Stanford University At its core GDL is a tool for expressing the intricacies of game rules and dynamics in a form comprehensible to AI systems through a combination of logic based constructs and declarative principles Here are key features and concepts associated with Game Description Language Logic Based Foundations GDL leverages formal logic to describe the rules of games It allows for the precise representation of complex game mechanics providing unambiguous instructions for gameplay By using logical rules GDL enables AI agents to understand and navigate the intricacies of a game s structure and dynamics Game Agnostic Flexibility A notable strength of GDL is its game agnostic nature It is not confined to any specific game or genre making it a versatile language for defining the rules of an extensive range of games This versatility is particularly valuable in the development of AI agents as it empowers them to engage in various games without the need for individualized programming for each one Declarative Clarity GDL adheres to a declarative paradigm In other words it focuses on defining the conditions that are either true or legal within the context of a game rather than prescribing how to play the game This clear distinction between rules and strategies is vital for AI agents It enables them to reason logically about the game state and make informed intelligent moves Extensible Adaptability Game Description Language is an extensible framework It can be expanded and customized to accommodate a wide array of game features Whether a game involves chance elements simultaneous actions or other unique mechanics GDL can be adapted to accurately represent these complexities In practice GDL serves as a cornerstone for the General Game Playing competitions and research endeavors In these contexts GDL is used to specify the rules of games that AI agents are expected to play AI developers and researchers harness GDL to create algorithms that can comprehend and engage with games based on their rule descriptions The use of GDL paves the way for the development of highly adaptable AI agents capable of competing and excelling in diverse gaming scenarios This innovation is a testament to the convergence of logic based formalism and the world of games opening new horizons for AI s potential in understanding and mastering a multitude of games Game Description Language equips AI with a universal key to unlock the mysteries of diverse game environments and strategies Contents 1 Purpose of GDL 2 Specification 2 1 Syntax 2 2 Keywords 2 3 Rules 2 3 1 Players 2 3 2 Initial state 2 3 3 Legal moves 2 3 4 Game state update 2 3 5 Termination 2 3 6 Goal states 3 Extensions 3 1 GDL II 3 2 GDL III 4 Other formalisms and languages for game representation 5 Applications 6 See also 7 References 8 External linksPurpose of GDL editQuoted in an article in New Scientist Genesereth pointed out that although Deep Blue can play chess at a grandmaster level it is incapable of playing checkers at all because it is a specialized game player 1 Both chess and checkers can be described in GDL This enables general game players to be built that can play both of these games and any other game that can be described using GDL Specification editSyntax edit GDL is a variant of Datalog and the syntax is largely the same It is usually given in prefix notation Variables begin with 2 Keywords edit The following is the list of keywords in GDL along with brief descriptions of their functions distinct This predicate is used to require that two terms be syntactically different does The predicate does r m means that player or role r makes move m in the current game state goal The predicate goal r n is used to define goal value n usually a natural number between 0 and 100 for role r in the current state init This predicate refers to a true fact about the initial game state legal The predicate legal r m means that m is a legal move for role r in the current state next This predicate refers to a true fact about the next game state role This predicate is used to add the name of a player terminal This predicate means that the current state is terminal true This predicate refers to a true fact about the current game state Rules edit A game description in GDL provides complete rules for each of the following elements of a game Players edit Facts that define the roles in a game The following example is from a GDL description of the two player game Tic tac toe role xplayer role oplayer Initial state edit Rules that entail all facts about the initial game state An example is init cell 1 1 blank init cell 3 3 blank init control xplayer Legal moves edit Rules that describe each move by the conditions on the current position under which it can be taken by a player An example is lt legal player mark m n true cell m n blank true control player Game state update edit Rules that describe all facts about the next state relative to the current state and the moves taken by the players An example is lt next cell m n x does xplayer mark m n lt next cell m n o does oplayer mark m n Termination edit Rules that describe the conditions under which the current state is a terminal one An example is lt terminal line x lt terminal line o lt terminal not boardopen Goal states edit The goal values for each player in a terminal state An example is lt goal xplayer 100 line x lt goal oplayer 0 line x Extensions editGDL II edit With GDL one can describe finite games with an arbitrary number of players However GDL cannot describe games that contain an element of chance for example rolling dice or games where players have incomplete information about the current state of the game for example in many card games the opponents cards are not visible GDL II the Game Description Language for Incomplete Information Games extends GDL by two keywords that allow for the description of elements of chance and incomplete information 3 sees The predicate sees r p means that role r perceives p in the next game state random This constant refers to a pre defined player who chooses moves randomly The following is an example from a GDL II description of the card game Texas hold em lt sees player card does random deal face down player card lt sees r card role r does random deal river card GDL III edit Michael Thielscher also created a further extension GDL III a general game description language with imperfect information and introspection that supports the specification of epistemic games ones characterised by rules that depend on the knowledge of players 4 Other formalisms and languages for game representation editSee also Game theory Representation of games In classical game theory games can be formalised in extensive and normal forms For cooperative game theory games are represented using characteristic functions Some subclasses of games allow special representations in smaller sizes also known as succinct games Some of the newer developments of formalisms and languages for representation of some subclasses of games or representations adjusted to the needs of interdisciplinary research are summarized as the following table 5 Some of these alternative representations also encode time related aspects Name Year Means Type of games TimeCongestion game 6 1973 functions subset of n person games simultaneous moves NoSequential form 7 1994 matrices 2 person games of imperfect information NoTimed games 8 9 1994 functions 2 person games YesGala 10 1997 logic n person games of imperfect information NoGraphical games 11 12 2001 graphs functions n person games simultaneous moves NoLocal effect games 13 2003 functions subset of n person games simultaneous moves NoGame Petri nets 14 2006 Petri net deterministic n person games simultaneous moves NoContinuous games 15 2007 functions subset of 2 person games of imperfect information YesPNSI 16 17 2008 Petri net n person games of imperfect information YesAction graph games 18 2012 graphs functions n person games simultaneous moves NoApplications editThis section needs expansion You can help by adding to it July 2019 A 2016 paper describes a multilevel algorithm compiling a general game description in GDL into an optimized reasoner in a low level language 19 A 2017 paper uses GDL to model the process of mediating a resolution to a dispute between two parties and presented an algorithm that uses available information efficiently to do so 20 See also editGeneral Game Playing Artificial IntelligenceReferences edit Biever Celeste 2006 07 29 Producing the ultimate game playing bots tech 29 July 2006 New Scientist Tech Archived from the original on 11 August 2007 Love N Genesereth M Hinrichs T 2006 General game playing game description language specification Tech Rep LG 2006 01 PDF Stanford University Stanford University Stanford Retrieved 1 July 2019 Thielscher M 2010 Fox M Poole D eds A general game description language for incomplete information games Proceedings of the Twenty Fourth AAAI Conference on Artificial Intelligence AAAI 2010 Atlanta AAAI Press Retrieved 1 July 2019 Thielscher Michael 2017 GDL III A Description Language for Epistemic General Game Playing PDF Proceedings of the Twenty Sixth International Joint Conference on Artificial Intelligence IJCAI ISBN 978 0 9992411 0 3 Retrieved 1 July 2019 Tagiew Rustam 3 May 2011 If more than Analytical Modeling is Needed to Predict Real Agents Strategic Interaction arXiv 1105 0558 cs GT Rosenthal Robert W December 1973 A class of games possessing pure strategy Nash equilibria International Journal of Game Theory 2 1 65 67 doi 10 1007 BF01737559 S2CID 121904640 Koller Daphne Megiddo Nimrod von Stengel Bernhard 1994 Fast algorithms for finding randomized strategies in game trees Proceedings of the twenty sixth annual ACM symposium on Theory of computing STOC 94 pp 750 759 doi 10 1145 195058 195451 ISBN 0 89791 663 8 S2CID 1893272 Alur Rajeev Dill David L April 1994 A theory of timed automata Theoretical Computer Science 126 2 183 235 doi 10 1016 0304 3975 94 90010 8 Tomlin C J Lygeros J Shankar Sastry S July 2000 A game theoretic approach to controller design for hybrid systems Proceedings of the IEEE 88 7 949 970 CiteSeerX 10 1 1 129 8347 doi 10 1109 5 871303 S2CID 1844682 Koller Daphne Pfeffer Avi 1997 Representations and solutions for game theoretic problems PDF Artificial Intelligence 94 1 2 167 215 doi 10 1016 S0004 3702 97 00023 4 Michael Michael Kearns Littman Michael L 2001 Graphical Models for Game Theory In UAI 253 260 CiteSeerX 10 1 1 22 5705 Kearns Michael Littman Michael L Singh Satinder 7 March 2011 Graphical Models for Game Theory arXiv 1301 2281 cs GT Leyton Brown Kevin Tennenholtz Moshe 2003 Local effect games IJCAI 03 Proceedings of the 18th International Joint Conference on Artificial Intelligence 772 777 Clempner Julio 2006 Modeling shortest path games with Petri nets a Lyapunov based theory International Journal of Applied Mathematics and Computer Science 16 3 387 397 ISSN 1641 876X Sannikov Yuliy September 2007 Games with Imperfectly Observable Actions in Continuous Time PDF Econometrica 75 5 1285 1329 doi 10 1111 j 1468 0262 2007 00795 x Tagiew Rustam December 2008 Multi Agent Petri Games 2008 International Conference on Computational Intelligence for Modelling Control amp Automation pp 130 135 doi 10 1109 CIMCA 2008 15 ISBN 978 0 7695 3514 2 S2CID 16679934 Tagiew Rustam 2009 On Multi agent Petri Net Models for Computing Extensive Finite Games New Challenges in Computational Collective Intelligence Studies in Computational Intelligence Vol 244 Springer pp 243 254 doi 10 1007 978 3 642 03958 4 21 ISBN 978 3 642 03957 7 Bhat Navin Leyton Brown Kevin 11 July 2012 Computing Nash Equilibria of Action Graph Games arXiv 1207 4128 cs GT Kowalski Jakub Szykula Marek 2013 Game Description Language Compiler Construction AI 2013 Advances in Artificial Intelligence 26th Australasian Joint Conference Dunedin New Zealand December 1 6 2013 Proceedings pp 234 245 Retrieved 1 July 2019 de Jonge Dave Trescak Tomas Sierra Carles Simoff Simeon Lopez de Mantaras Ramon 2017 Using Game Description Language for mediated dispute resolution AI amp Society 2017 4 Springer 767 784 doi 10 1007 s00146 017 0790 8 S2CID 22738517 External links editGame Description Language Specification Refereed paper introducing GDL II Retrieved from https en wikipedia org w index php title Game Description Language amp oldid 1217562131, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.