ゲーム記述言語(GDL) は、マイケル・ジェネセレスが設計した特殊な論理 プログラミング言語です。GDL の目標は、一般的なゲームをプレイできる AI エージェントの開発を可能にすることです。これは、スタンフォード大学の一般ゲームプレイ プロジェクトの一部です。
GDL は、ロジックベースの構造と宣言的な原則を組み合わせることで、ゲームのルールとダイナミクスの複雑さを AI システムが理解できる形式で表現するためのツールです。
実際には、GDL は一般的なゲーム プレイの競技や研究活動によく使用されます。これらのコンテキストでは、GDL は AI エージェントがプレイすることが期待されるゲームのルールを指定するために使用されます。AI 開発者や研究者は、GDL を利用して、ルールの説明に基づいてゲームを理解し、ゲームに参加できるアルゴリズムを作成します。GDL を使用すると、さまざまなゲーム シナリオで競争し、優れた成績を収めることができる、適応性の高い AI エージェントの開発が可能になります。
このイノベーションは、ロジックベースの形式主義とゲームの世界の融合を証明するものであり、多数のゲームを理解し習得する AI の可能性に新たな地平を切り開きます。ゲーム記述言語は、多様なゲーム環境と戦略の謎を解くための普遍的な鍵を AI に提供します。
GDLの目的
New Scientistの記事で引用されているように、Genesereth は、Deep Blue はチェスをグランドマスターレベルでプレイできるものの、特殊なゲームプレーヤーであるため、チェッカーをプレイすることはまったくできないと指摘しています。[1]チェスとチェッカーはどちらも GDL で記述できます。これにより、これらのゲームと、GDL を使用して記述できるその他のゲームをプレイできる汎用ゲームプレーヤーを構築できます。
仕様
構文
GDLはDatalogの変種であり、構文はほぼ同じです。通常はプレフィックス表記法?で与えられます。変数は「 」で始まります。 [2]
キーワード
以下は、GDL のキーワードのリストと、その機能の簡単な説明です。
distinct- この述語は、2 つの用語が構文的に異なることを要求するために使用されます。
does- 述語は、
does(?r,?m)プレイヤー(またはロール)が現在のゲーム状態で?r移動することを意味します。?m
goal- 述語は、現在の状態におけるロールの目標値 (通常は 0 から 100 までの自然数)
goal(?r,?n)を定義するために使用されます。?n?r
init- この述語は、ゲームの初期状態に関する真の事実を指します。
legal- 述語は、現在の状態でのロールに対する正当な動きである
legal(?r,?m)ことを意味します。?m?r
next- この述語は、次のゲーム状態に関する真の事実を指します。
role- この述語は、プレーヤーの名前を追加するために使用されます。
terminal- この述語は、現在の状態が終了していることを意味します。
true- この述語は、現在のゲームの状態に関する真の事実を参照します。
ルール
GDL のゲーム記述では、ゲームの次の各要素の完全なルールが提供されます。
プレイヤー
ゲーム内の役割を定義する事実。次の例は、2 人用ゲーム「三目並べ」の GDL 記述からの抜粋です。
(ロール xplayer) (ロールプレイヤー)
初期状態
初期のゲーム状態に関するすべての事実を伴うルール。例:
(init (セル 1 1 空白)) ... (init (セル 3 3 空白)) (init (control xplayer))
法的措置
プレイヤーが実行できる現在のポジションの条件によって各移動を説明するルール。例:
( <= (正当な?player (マーク?m ?n )) ( true (セル?m ?n空白)) ( true (コントロール?player )))
ゲーム状態の更新
現在の状態とプレイヤーの動きと関連した次の状態に関するすべての事実を記述するルール。例:
( <= ( next ( cell ?m ?n x )) ( xplayer ( mark ? m ? n ) を実行します)) ( <= ( next ( cell ?m ?n o )) ( oplayer ( mark ?m ?n )を実行します))
終了
現在の状態がターミナル状態である条件を記述するルール。例:
(<= ターミナル
(行 x))
(<= ターミナル
(オ行))
(<= ターミナル
ボードオープンではない
目標の状態
終了状態における各プレイヤーの目標値。例:
( <= (ゴールx プレイヤー100 ) (行x )) ( <= (ゴールoplayer 0 ) (行x ))
拡張機能
GDL-II
GDL では、任意の人数のプレイヤーによる有限ゲームを記述できます。ただし、GDL では偶然の要素 (サイコロを振るなど) を含むゲームや、プレイヤーがゲームの現在の状態について不完全な情報しか持っていないゲーム (多くのカードゲームでは対戦相手のカードが見えません) を記述することはできません。不完全情報ゲーム用のゲーム記述言語であるGDL -II は、偶然の要素と不完全情報の記述を可能にする 2 つのキーワードによって GDL を拡張しています。[3]
sees- 述語は、
sees(?r,?p)役割が次のゲーム状態で?r認識することを意味します。?p
random- この定数は、ランダムに動きを選択する、事前に定義されたプレーヤーを指します。
以下は、カードゲーム「テキサス ホールデム」の GDL-II 記述の例です。
( <= ( ?player ?card を参照) ( random ( deal_face_down ?player ?card )を実行する)) ( <= ( ?r ?card を参照) ( role ?r ) ( random ( deal_river ?card )を実行する))
GDL-III
マイケル・ティールシャーは、不完全情報と内省を備えた汎用ゲーム記述言語であるGDL-IIIというさらなる拡張も作成し、プレイヤーの知識に依存するルールを特徴とする認識論的ゲームの仕様をサポートした。[4]
ゲーム表現のための他の形式主義と言語
古典的なゲーム理論では、ゲームは拡張形式と正規形式で形式化できます。協力ゲーム理論では、ゲームは特性関数を使用して表現されます。ゲームの一部のサブクラスでは、簡潔ゲームとも呼ばれる、より小さなサイズでの特別な表現が可能です。ゲームの一部のサブクラスを表現するための形式主義と言語の新しい発展、または学際的な研究のニーズに合わせて調整された表現の一部を、次の表にまとめます。[5]これらの代替表現のいくつかは、時間に関連する側面もエンコードします。
アプリケーション
2016年の論文では、「GDLの一般的なゲーム記述を低レベル言語の最適化された推論エンジンにコンパイルするマルチレベルアルゴリズムについて説明しています」。[19]
2017年の論文では、GDLを使用して2者間の紛争の解決を調停するプロセスをモデル化し、利用可能な情報を効率的に使用するアルゴリズムを提示しました。[20]
参照
参考文献
- ^ Biever, Celeste (2006-07-29). 「究極のゲームプレイボットの制作 - 技術 - 2006 年 7 月 29 日 - New Scientist Tech」。2007 年 8 月 11 日時点のオリジナルよりアーカイブ。
- ^ Love, N; Genesereth, M; Hinrichs, T (2006). 「一般的なゲームプレイ: ゲーム記述言語仕様。Tech. Rep. LG-2006-01」(PDF)。スタンフォード大学。スタンフォード大学、スタンフォード。 2019年7月1日閲覧。
- ^ Thielscher, M (2010). Fox, M; Poole, D (編). 「不完全情報ゲームのための一般的なゲーム記述言語」。第24回AAAI人工知能会議議事録、AAAI 2010。アトランタ:AAAIプレス。2019年7月1日閲覧。
- ^ Thielscher, Michael (2017). 「GDL-III: 認識論的一般ゲームプレイ のための記述言語」(PDF)。第26回国際人工知能合同会議議事録。IJCAI。ISBN 978-0-9992411-0-3. 2019年7月1日閲覧。
- ^ Tagiew, Rustam (2011 年 5 月 3 日)。 「実際のエージェントの戦略的相互作用を予測するには、分析モデル以上のものが必要な場合」。arXiv : 1105.0558 [cs.GT]。
- ^ Rosenthal, Robert W. (1973年12月). 「純粋戦略ナッシュ均衡を持つゲームのクラス」. International Journal of Game Theory . 2 (1): 65–67. doi :10.1007/BF01737559. S2CID 121904640.
- ^ Koller, Daphne ; Megiddo, Nimrod ; von Stengel, Bernhard (1994)。「ゲームツリーでランダム化された戦略を見つけるための高速アルゴリズム」。第 26 回 ACM コンピューティング理論シンポジウム議事録 - STOC '94。pp. 750–759。doi : 10.1145 /195058.195451。ISBN 0-89791-663-8. S2CID 1893272。
- ^ Alur, Rajeev; Dill, David L. (1994年4月). 「タイムドオートマトン理論」.理論計算機科学. 126 (2): 183–235. doi : 10.1016/0304-3975(94)90010-8 .
- ^ Tomlin, CJ; Lygeros, J.; Shankar Sastry, S. (2000 年 7 月). 「ハイブリッド システムのコントローラ設計に対するゲーム理論的アプローチ」. 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). 「ゲーム理論的問題の表現と解決法」(PDF) .人工知能. 94 (1–2): 167–215. doi : 10.1016/S0004-3702(97)00023-4 .
- ^ Michael, Michael Kearns; Littman, Michael L. (2001). 「ゲーム理論のグラフィカルモデル」UAI : 253–260. CiteSeerX 10.1.1.22.5705 .
- ^ Kearns, Michael; Littman, Michael L.; Singh, Satinder (2011年3月7日). 「ゲーム理論のためのグラフィカルモデル」. arXiv : 1301.2281 [cs.GT].
- ^ Leyton-Brown, Kevin; Tennenholtz, Moshe (2003). 「ローカル効果ゲーム」IJCAI'03: 第 18 回国際人工知能合同会議議事録: 772–777。
- ^ Clempner, Julio (2006). 「ペトリネットによる最短経路ゲームのモデル化: Lyapunov ベースの理論」.国際応用数学およびコンピュータサイエンスジャーナル. 16 (3): 387–397. ISSN 1641-876X.
- ^ Sannikov, Yuliy (2007 年 9 月). 「連続時間における不完全観測可能なアクションを伴うゲーム」(PDF) . Econometrica . 75 (5): 1285–1329. doi :10.1111/j.1468-0262.2007.00795.x.
- ^ Tagiew, Rustam ( 2008年 12 月)。「マルチエージェント ペトリ ゲーム」。2008国際計算知能モデリング制御および自動化会議。pp. 130–135。doi :10.1109/CIMCA.2008.15。ISBN 978-0-7695-3514-2. S2CID 16679934。
- ^ Tagiew, Rustam (2009)。「拡張有限ゲームの計算のためのマルチエージェント ペトリ ネット モデルについて」。計算集合知における新たな課題。計算知能の研究。第 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 (2012 年 7 月 11 日). 「アクショングラフ ゲームのナッシュ均衡の計算」. arXiv : 1207.4128 [cs.GT].
- ^ Kowalski, Jakub; Szykuła, Marek (2013). 「ゲーム記述言語コンパイラの構築」。AI 2013: 人工知能の進歩: 第26回オーストラレーシア合同会議、ニュージーランド、ダニーデン、2013年12月1日〜6日。議事録。pp. 234–245 。 2019年7月1日閲覧。
- ^ デ・ジョンジ、デイブ;トレスサック、トーマス。シエラ、カルレス。シモフ、シメオン。ロペス・デ・マンタラス、ラモン(2017)。 「調停紛争解決のためのゲーム記述言語の使用」。AIと社会。2017年(4)。スプリンガー: 767–784。土井:10.1007/s00146-017-0790-8。S2CID 22738517。
外部リンク
- ゲーム記述言語仕様 2013-04-12 にWayback Machineでアーカイブされました
- GDL-II を紹介する査読付き論文
