Game Description Language: Difference between revisions
added stub |
Vernlosere (talk | contribs) No edit summary |
||
(82 intermediate revisions by 54 users not shown) | |||
Line 1: | Line 1: | ||
{{Multiple issues| |
|||
Game Definition Language, or GDL, is a language designed by [[Michael Genesereth]] as part of the [[General Game Playing Project]] at [[Stanford University]], [[California]]. GDL describes the state of a game as a series of facts, and the game mechanics as logical rules. |
|||
{{Advert|date=March 2024}} |
|||
{{Copy edit|for=formatting, style, and tone|date=March 2024}} |
|||
}} |
|||
'''Game Description Language''' (GDL) is a specialized [[Logic programming|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]]. |
|||
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. |
|||
In practice, GDL is often used for 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== |
==Purpose of GDL== |
||
Quoted in an article in [[New Scientist] |
Quoted in an article in [[New Scientist]], Genesereth pointed out that although [[Deep Blue (chess computer)|Deep Blue]] can play chess at a [[Grandmaster (chess)|grandmaster]] level, it is incapable of playing [[checkers]] at all because it is a specialized game player.<ref>{{Cite web|url=http://www.newscientisttech.com:80/channel/tech/mg19125626.100.html|title=Producing the ultimate game-playing bots - tech - 29 July 2006 - New Scientist Tech|last=Biever|first=Celeste|date=2006-07-29|archive-url=https://web.archive.org/web/20070811111042/http://www.newscientisttech.com/channel/tech/mg19125626.100.html|archive-date=11 August 2007|url-status=live}}</ref> 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== |
==Specification== |
||
GDL is a variant of [[Datalog]], and the syntax is largely the same. |
|||
=== Syntax === |
|||
GDL is a variant of [[Datalog]], and the [[syntax]] is largely the same. It is usually given in [[prefix notation]]. Variables begin with "<code>?</code>".<ref name="LG-2006-01">{{cite web |last1=Love |first1=N |last2=Genesereth |first2=M |last3=Hinrichs |first3=T |title=General game playing: game description language specification. Tech. Rep. LG-2006-01 |url=http://logic.stanford.edu/reports/LG-2006-01.pdf |website=Stanford University |publisher=Stanford University, Stanford |access-date=1 July 2019 |date=2006}}</ref> |
|||
==See Also== |
|||
=== Keywords === |
|||
The following is the list of keywords in GDL, along with brief descriptions of their functions: |
|||
;<code>distinct</code> |
|||
:This predicate is used to require that two terms be syntactically different. |
|||
;<code>does</code> |
|||
:The predicate <code>does(?r,?m)</code> means that player (or ''role'') <code>?r</code> makes move <code>?m</code> in the current game state. |
|||
;<code>goal</code> |
|||
:The predicate <code>goal(?r,?n)</code> is used to define goal value <code>?n</code> (usually a natural number between 0 and 100) for role <code>?r</code> in the current state. |
|||
;<code>init</code> |
|||
:This predicate refers to a true fact about the initial game state. |
|||
;<code>legal</code> |
|||
:The predicate <code>legal(?r,?m)</code> means that <code>?m</code> is a legal move for role <code>?r</code> in the current state. |
|||
;<code>next</code> |
|||
:This predicate refers to a true fact about the next game state. |
|||
;<code>role</code> |
|||
:This predicate is used to add the name of a player. |
|||
;<code>terminal</code> |
|||
:This predicate means that the current state is terminal. |
|||
;<code>true</code> |
|||
:This predicate refers to a true fact about the current game state. |
|||
=== Rules === |
|||
A game description in GDL provides complete rules for each of the following elements of a game. |
|||
==== Players ==== |
|||
Facts that define the roles in a game. The following example is from a GDL description of the two-player game [[Tic-tac-toe]]: |
|||
<pre> |
|||
(role xplayer) |
|||
(role oplayer) |
|||
</pre> |
|||
==== Initial state ==== |
|||
Rules that entail all facts about the initial game state. An example is: |
|||
<pre> |
|||
(init (cell 1 1 blank)) |
|||
... |
|||
(init (cell 3 3 blank)) |
|||
(init (control xplayer)) |
|||
</pre> |
|||
==== Legal moves ==== |
|||
Rules that describe each move by the conditions on the current position under which it can be taken by a player. An example is: |
|||
<syntaxhighlight lang="scheme"> |
|||
(<= (legal ?player (mark ?m ?n)) |
|||
(true (cell ?m ?n blank)) |
|||
(true (control ?player))) |
|||
</syntaxhighlight> |
|||
==== Game state update ==== |
|||
Rules that describe all facts about the next state relative to the current state and the moves taken by the players. An example is: |
|||
<syntaxhighlight lang="scheme"> |
|||
(<= (next (cell ?m ?n x)) |
|||
(does xplayer (mark ?m ?n))) |
|||
(<= (next (cell ?m ?n o)) |
|||
(does oplayer (mark ?m ?n))) |
|||
</syntaxhighlight> |
|||
==== Termination ==== |
|||
Rules that describe the conditions under which the current state is a terminal one. An example is: |
|||
<pre> |
|||
(<= terminal |
|||
(line x)) |
|||
(<= terminal |
|||
(line o)) |
|||
(<= terminal |
|||
not boardopen) |
|||
</pre> |
|||
==== Goal states ==== |
|||
The goal values for each player in a terminal state. An example is: |
|||
<syntaxhighlight lang="scheme"> |
|||
(<= (goal xplayer 100) |
|||
(line x)) |
|||
(<= (goal oplayer 0) |
|||
(line x)) |
|||
</syntaxhighlight> |
|||
==Extensions== |
|||
===GDL-II=== |
|||
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:<ref name="Thielscher@AAAI_2010">{{cite journal |last1=Thielscher |first1=M |editor1-last=Fox |editor1-first=M |editor2-last=Poole |editor2-first=D |title=A general game description language for incomplete information games |journal=Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence, AAAI 2010 |date=2010 |url=http://www.aaai.org/ocs/index.php/AAAI/AAAI10/paper/view/1727 |access-date=1 July 2019 |publisher=AAAI Press |location=Atlanta}}</ref> |
|||
;<code>sees</code> |
|||
:The predicate <code>sees(?r,?p)</code> means that role <code>?r</code> perceives <code>?p</code> in the next game state. |
|||
;<code>random</code> |
|||
: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]]: |
|||
<syntaxhighlight lang="scheme"> |
|||
(<= (sees ?player ?card) |
|||
(does random (deal_face_down ?player ?card))) |
|||
(<= (sees ?r ?card) |
|||
(role ?r) |
|||
(does random (deal_river ?card))) |
|||
</syntaxhighlight> |
|||
===GDL-III=== |
|||
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.<ref name="Thielscher-IJCAI_2017">{{cite book |last1=Thielscher |first1=Michael |title=Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence |date=2017 |publisher=IJCAI |isbn=978-0-9992411-0-3 |chapter-url=https://www.ijcai.org/proceedings/2017/0177.pdf |access-date=1 July 2019 |chapter=GDL-III: A Description Language for Epistemic General Game Playing}}</ref> |
|||
==Other formalisms and languages for game representation== |
|||
{{See also|Game theory#Representation of games}} |
|||
In classical game theory, games can be formalised in [[Extensive-form game|extensive]] and [[Normal-form game|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 game]]s. |
|||
Some of the newer developments of formalisms and languages for the representation of some subclasses of games or representations adjusted to the needs of interdisciplinary research are summarized as the following table.<ref>{{cite arXiv |last1=Tagiew |first1=Rustam |title=If more than Analytical Modeling is Needed to Predict Real Agents' Strategic Interaction |date=3 May 2011 |eprint=1105.0558 |class=cs.GT }}</ref> Some of these alternative representations also encode time-related aspects: |
|||
{| class="wikitable sortable" |
|||
|- |
|||
!Name |
|||
!Year |
|||
!Means |
|||
![[Game theory#Game types|Type of games]] |
|||
!Time |
|||
|- |
|||
|[[Congestion game]]<ref>{{cite journal |last1=Rosenthal |first1=Robert W. | author-link1=Robert W. Rosenthal |title=A class of games possessing pure-strategy Nash equilibria |journal=International Journal of Game Theory |date=December 1973 |volume=2 |issue=1 |pages=65–67 |doi=10.1007/BF01737559|s2cid=121904640 }}</ref> |
|||
|1973 |
|||
|functions |
|||
|subset of n-person games, simultaneous moves |
|||
|No |
|||
|- |
|||
|Sequential form<ref>{{cite book |last1=Koller |first1=Daphne | author-link1=Daphne Koller |last2=Megiddo |first2=Nimrod | author-link2=Nimrod Megiddo |last3=von Stengel |first3=Bernhard |title=Proceedings of the twenty-sixth annual ACM symposium on Theory of computing - STOC '94 |chapter=Fast algorithms for finding randomized strategies in game trees |pages=750–759 |date=1994 |doi=10.1145/195058.195451 |isbn=0-89791-663-8 |s2cid=1893272 }}</ref> |
|||
|1994 |
|||
|matrices |
|||
|2-person games of imperfect information |
|||
|No |
|||
|- |
|||
|Timed games<ref>{{cite journal |last1=Alur |first1=Rajeev |last2=Dill |first2=David L. |title=A theory of timed automata |journal=Theoretical Computer Science |date=April 1994 |volume=126 |issue=2 |pages=183–235 |doi=10.1016/0304-3975(94)90010-8|doi-access=free }}</ref><ref>{{cite journal |last1=Tomlin |first1=C.J. |last2=Lygeros |first2=J. |last3=Shankar Sastry |first3=S. |title=A game theoretic approach to controller design for hybrid systems |journal=Proceedings of the IEEE |date=July 2000 |volume=88 |issue=7 |pages=949–970 |doi=10.1109/5.871303|s2cid=1844682 |citeseerx=10.1.1.129.8347 }}</ref> |
|||
|1994 |
|||
|functions |
|||
|2-person games |
|||
|Yes |
|||
|- |
|||
|Gala<ref>{{cite journal |last1=Koller |first1=Daphne |last2=Pfeffer |first2=Avi |title=Representations and solutions for game-theoretic problems |journal=Artificial Intelligence |date=1997 |volume=94 |issue=1–2 |pages=167–215 |url=http://www.dca.fee.unicamp.br/~gomide/courses/EA044/Artigos/RepresentationsSolutionsGameTheoreticProblemsKoller1997.pdf|doi=10.1016/S0004-3702(97)00023-4 |doi-access=free }}</ref> |
|||
|1997 |
|||
|[[First-order logic|logic]] |
|||
|n-person games of imperfect information |
|||
|No |
|||
|- |
|||
|[[Graphical game theory|Graphical games]]<ref>{{cite journal |last1=Michael |first1=Michael Kearns |last2=Littman |first2=Michael L. |title=Graphical Models for Game Theory |journal=In UAI |date=2001 |pages=253–260 |citeseerx=10.1.1.22.5705 }}</ref><ref>{{cite arXiv |last1=Kearns |first1=Michael |last2=Littman |first2=Michael L. |last3=Singh |first3=Satinder |title=Graphical Models for Game Theory |date=7 March 2011 |eprint=1301.2281 |class=cs.GT}}</ref> |
|||
|2001 |
|||
|graphs, functions |
|||
|n-person games, simultaneous moves |
|||
|No |
|||
|- |
|||
|Local effect games<ref>{{cite journal |last1=Leyton-Brown |first1=Kevin |last2=Tennenholtz |first2=Moshe |title=Local-effect games |journal=IJCAI'03: Proceedings of the 18th International Joint Conference on Artificial Intelligence |date=2003 |pages=772–777 |url=https://dl.acm.org/doi/10.5555/1630659.1630771}}</ref> |
|||
|2003 |
|||
|functions |
|||
|subset of n-person games, simultaneous moves |
|||
|No |
|||
|- |
|||
|Game Petri-nets<ref>{{cite journal |last1=Clempner |first1=Julio |title=Modeling shortest path games with Petri nets: a Lyapunov based theory |journal=International Journal of Applied Mathematics and Computer Science |date=2006 |volume=16 |issue=3 |pages=387–397 |url=http://pldml.icm.edu.pl/pldml/element/bwmeta1.element.bwnjournal-article-amcv16i3p387bwm |language=EN |issn=1641-876X}}</ref> |
|||
|2006 |
|||
|[[Petri net]] |
|||
|deterministic n-person games, simultaneous moves |
|||
|No |
|||
|- |
|||
|Continuous games<ref>{{cite journal |last1=Sannikov |first1=Yuliy |title=Games with Imperfectly Observable Actions in Continuous Time |journal=Econometrica |date=September 2007 |volume=75 |issue=5 |pages=1285–1329 |doi=10.1111/j.1468-0262.2007.00795.x |url=http://www.dklevine.com/archive/sannikov_games.pdf }}</ref> |
|||
|2007 |
|||
|functions |
|||
|subset of 2-person games of imperfect information |
|||
|Yes |
|||
|- |
|||
|PNSI<ref>{{cite book |last1=Tagiew |first1=Rustam |title=2008 International Conference on Computational Intelligence for Modelling Control & Automation |chapter=Multi-Agent Petri-Games |date=December 2008 |pages=130–135 |doi=10.1109/CIMCA.2008.15 |isbn=978-0-7695-3514-2 |s2cid=16679934 }}</ref><ref>{{cite book |last1=Tagiew |first1=Rustam |chapter=On Multi-agent Petri Net Models for Computing Extensive Finite Games |title=New Challenges in Computational Collective Intelligence |volume=244 |date=2009 |pages=243–254 |doi=10.1007/978-3-642-03958-4_21 |publisher=Springer |language=en|series=Studies in Computational Intelligence |isbn=978-3-642-03957-7 }}</ref> |
|||
|2008 |
|||
|[[Petri net]] |
|||
|n-person games of imperfect information |
|||
|Yes |
|||
|- |
|||
|Action graph games<ref>{{cite arXiv |last1=Bhat |first1=Navin |last2=Leyton-Brown |first2=Kevin |title=Computing Nash Equilibria of Action-Graph Games |date=11 July 2012 |eprint=1207.4128 |class=cs.GT}}</ref> |
|||
|2012 |
|||
|graphs, functions |
|||
|n-person games, simultaneous moves |
|||
|No |
|||
|} |
|||
==Applications== |
|||
{{expand section|date=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".<ref name="GDL_Compiler">{{cite book |last1=Kowalski |first1=Jakub |last2=Szykuła |first2=Marek |title=AI 2013: Advances in Artificial Intelligence: 26th Australasian Joint Conference, Dunedin, New Zealand, December 1-6, 2013. Proceedings |date=2013 |pages=234–245 |chapter-url=https://www.researchgate.net/publication/289992641 |access-date=1 July 2019 |chapter=Game Description Language Compiler Construction}}</ref> |
|||
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.<ref name="GDL-III">{{cite journal |last1=de Jonge |first1=Dave |last2=Trescak |first2=Tomas |last3=Sierra |first3=Carles |last4=Simoff |first4=Simeon |last5=López de Mántaras |first5=Ramon |date=2017 |title=Using Game Description Language for mediated dispute resolution |journal=AI & Society |volume=2017 |issue=4 |publisher=Springer |pages=767–784 |doi=10.1007/s00146-017-0790-8 |s2cid=22738517 }}</ref> |
|||
==See also== |
|||
*[[General Game Playing]] |
*[[General Game Playing]] |
||
*[[Artificial Intelligence]] |
*[[Artificial Intelligence]] |
||
*[[Datalog]] |
|||
==References== |
|||
{{reflist}} |
|||
==External links== |
|||
*[http://logic.stanford.edu/classes/cs227/2013/readings/gdl_spec.pdf Game Description Language Specification] {{Webarchive|url=https://web.archive.org/web/20130412032912/http://logic.stanford.edu/classes/cs227/2013/readings/gdl_spec.pdf |date=2013-04-12 }} |
|||
*[http://www.cse.unsw.edu.au/~mit/Papers/AAAI10a.pdf Refereed paper introducing GDL-II] |
|||
[[Category:Game artificial intelligence]] |
|||
{{Comp-sci-stub}} |
|||
[[Category:Logic programming languages]] |
Latest revision as of 09:31, 29 October 2024
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
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.
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.
In practice, GDL is often used for 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 the 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]This 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
[edit]References
[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 & 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; 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.
- ^ 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.