游戏描述语言

编辑
本词条由“匿名用户” 建档。
游戏描述语言,或称GDL,是一种逻辑编程语言,由MichaelGenesereth设计,用于一般游戏的玩法,是斯坦福大学一般游戏项目的一部分。GDL将游戏的状态描述为一系列的事实,将游戏机制描述为逻辑规则。因此,GDL是博弈论问题的替代表示法之一。 在《新科学家》的一篇文章中,Genesereth指出,尽管"深蓝"能够以大师级的水平下棋,但它根本无法下跳棋,因为它是一个专门的游戏者。国际...

游戏描述语言

编辑

游戏描述语言,或称GDL,是一种逻辑编程语言,由MichaelGenesereth设计,用于一般游戏的xxx,是斯坦福大学一般游戏项目的一部分。GDL将游戏的状态描述为一系列的事实,将游戏机制描述为逻辑规则。因此,GDL是博弈论问题的替代表示法之一。

GDL的目的

编辑

在《新科学家》的一篇文章中,Genesereth指出,尽管"深蓝"能够以大师级的水平下棋,但它根本无法下跳棋,因为它是一个专门的游戏者。国际象棋和跳棋都可以用GDL描述。这样就可以建立能够玩这两种游戏和任何其他可以用GDL描述的游戏的通用游戏机。

规范语法

编辑

GDL是Datalog的一个变体,其语法大体相同。它通常以前缀符号给出。变量以?开头。

关键词

编辑

以下是GDL中的关键词列表,以及对其功能的简要描述。distinct这个谓词用于要求两个术语在语法上是不同的。does谓词does(?r,?m)表示玩家(或角色)?r在当前游戏状态下做出了动作?m。goal谓词goal(?r,?n)用于定义当前状态下角色?r的目标值?n(通常是0到100之间的自然数)。init这个谓词指的是关于初始游戏状态的一个真实事实。legal谓词legal(?r,?m)表示?m是当前状态下角色?r的合法行动。next这个谓词指的是关于下一个游戏状态的真实事实。role这个谓词用于添加玩家的名字。terminal这个谓词表示当前状态是终端。true这个谓词指的是关于当前游戏状态的真实事实。

游戏描述语言的规则

编辑

GDL中的游戏描述为游戏的以下每个元素提供完整的规则。

游戏描述语言的玩家

编辑

定义游戏中的角色的事实。下面的例子来自对双人游戏井字游戏的GDL描述。(角色xplayer)(角色oplayer)

初始状态

编辑

包含所有关于初始游戏状态的事实的规则。一个例子是。(init(cell11blank))...(init(cell33blank))(init(controlxplayer)合法棋步根据当前位置的条件描述每一步棋的规则,在此条件下棋手可以下棋。一个例子是。(<=(legal?player(mark?m?n))(true(cell?m?nblank))(true(control?player))游戏状态更新规则描述了关于下一个状态相对于当前状态的所有事实以及棋手采取的行动。一个例子是。(<=(next(cell?m?nx))(doesxplayer(mark?m?n))(<=(next(cell?m?no))(doesoplayer(mark?m?n))终止规则,描述了当前状态是一个终端状态的条件。一个例子是。(<=终端(行x))(<=终端(行o))(<=终端不是boardopen)目标状态处于终端状态的每个棋手的目标值。

游戏描述语言的扩展

编辑

GDL-II通过GDL,人们可以描述具有任意数量玩家的有限游戏。然而,GDL不能描述含有机会因素的游戏(例如掷骰子)或玩家对游戏当前状态信息不完全的游戏(例如,在许多纸牌游戏中,对手的牌不可见)。GDL-II,不完全信息游戏的游戏描述语言,通过两个关键字扩展了GDL,允许描述机会和不完全信息的元素。sees谓词sees(?r,?p)意味着角色?r在下一个游戏状态中感知到?p。random这个常数指的是一个预先定义的随机选择棋子的棋手。

逻辑编程语言

下面是一个来自GDL-II对纸牌游戏Texashold'em描述的例子。这是一种具有不完全信息和自省功能的通用游戏描述语言,它支持对认识论游戏的规范--这些游戏的特点是规则依赖于玩家的知识。

其他用于博弈表示的形式和语言

编辑

在经典博弈论中,博弈可以用广义和正常形式进行形式化。在合作博弈论中,博弈是用特征函数来表示的。一些子类博弈允许以较小的规模进行特殊表示,也称为简洁博弈。下表总结了一些较新的形式和语言的发展,用于表示一些子类博弈或适应跨学科研究需要的表示。其中一些替代性表示法也对时间相关方面进行了编码。

游戏描述语言的应用

编辑

2016年的一篇论文描述了一种多级算法,用G编译一般的游戏描述。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/174780/

(1)
词条目录
  1. 游戏描述语言
  2. GDL的目的
  3. 规范语法
  4. 关键词
  5. 游戏描述语言的规则
  6. 游戏描述语言的玩家
  7. 初始状态
  8. 游戏描述语言的扩展
  9. 其他用于博弈表示的形式和语言
  10. 游戏描述语言的应用

轻触这里

关闭目录

目录