汎用ゲームプレイ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/09/16 17:35 UTC 版)
人工知能 |
---|
![]() |
汎用ゲームプレイ(はんようゲームプレイ、General game playing、GGP)は、複数のゲームを上手くプレイできる人工知能プログラムの設計である[1][2][3]。チェスのような多くのゲームでは、コンピュータは専用に設計されたアルゴリズムを用いてゲームをプレイするようにプログラムされており、そのアルゴリズムを他の文脈に転移することはできない。例えば、チェスをプレイするコンピュータプログラムはチェッカーをプレイすることはできない。汎用ゲームプレイは、汎用人工知能への道における必要なマイルストーンであると考えられている[4]。
汎用ビデオゲームプレイ(General video game playing、GVGP)は、汎用ゲームプレイの概念をコンピュータゲームをプレイする目的に適応させたものである。ビデオゲームの場合、ゲームルールはTDギャモンのようなエージェントによって複数回の反復を通じて学習されるか[5]、あるいは従来の汎用ゲームプレイのようにドメイン固有言語で手動で事前定義され、エージェントに事前に送信される[6][7]。2013年以降、深層強化学習のアプローチに続いて大きな進歩が見られ、Atari 2600のゲームを学習できるプログラム[8][5][9][10][11]や、Nintendo Entertainment Systemのゲームを学習できるプログラム[12][13][14]の開発などが含まれる。
汎用ゲームプレイ技術の最初の商用利用は、1998年のZillions of Gamesであった。汎用ゲームプレイは、2003年以降、サプライチェーン・マネジメントにおける取引エージェント向けにも提案されており、そこではオンラインオークションでの価格交渉が行われる[15][16][17][18]。
歴史
1992年、バーニー・ペルはメタゲームプレイの概念を定義し、「MetaGame」システムを開発した。これはチェスライクゲームのルールを自動的に生成する最初のプログラムであり、ゲームの自動生成を使用した最も初期のプログラムの1つであった。ペルはその後、システム「Metagamer」を開発した[19]。このシステムは、ゲーム記述言語(GDL)と呼ばれる特殊な言語でゲームルールの定義が与えられると、ゲームが生成された後は人間の介入なしに、数多くのチェスライクゲームをプレイすることができた[20]。
1998年、商用システムZillions of GamesがJeff MallettとMark Leflerによって開発された。このシステムは、ゲームルールを定義するためにLISPライクな言語を使用した。Zillions of Gamesは、駒の可動性、盤面の構造、ゲームの目標に基づいて、ゲームルールから評価関数を自動的に導出した。また、コンピュータチェスシステムに見られる通常のアルゴリズム、すなわち、指し手順序付けを伴うアルファ・ベータ法やトランスポジションテーブルなども採用していた[21]。このパッケージは2007年に、完全なForthベースのプログラミング言語を組み込んだ代替のメタゲームエンジンであるAxiomプラグインの追加によって拡張された。
1998年、z-Treeがウルス・フィッシュバッハーによって開発された[22]。z-Treeは、実験経済学のソフトウェアツールとして最初のものであり、最も引用されている。z-Treeは、人間を被験者とするゲーム理論実験のために、z-Tree言語でゲームルールを定義することができる。また、人間の被験者とのプレイに参加するコンピュータプレイヤーを定義することもできる[23]。
2005年、スタンフォードプロジェクト「General Game Playing」が設立された[3]。
2012年、PyVGDLの開発が始まった[24]。
汎用ゲームプレイの実装
スタンフォードプロジェクト
「General Game Playing」は、カリフォルニア州のスタンフォード大学のスタンフォード論理学グループによるプロジェクトであり、汎用ゲームプレイのためのプラットフォームを作成することを目的としている。これはGGP AIの標準化における最もよく知られた取り組みであり、一般的にGGPシステムの標準と見なされている。ゲームは、ゲーム記述言語で表現された一連のルールによって定義される。ゲームをプレイするために、プレイヤーはゲームホスティングサーバー[25][26]と対話し、このサーバーが指し手の合法性を監視し、プレイヤーに状態の変化を通知する。
2005年以来、アメリカ人工知能学会(AAAI)カンファレンスで毎年、汎用ゲームプレイコンペティションが開催されている。このコンペティションでは、出場するAIの様々なゲームをプレイする能力を、個々のゲームでのパフォーマンスを記録することによって評価する。コンペティションの第1段階では、出場者は合法手を実行し、優位に立ち、より速くゲームを完了する能力について評価される。続く決勝ラウンドでは、AIは次第に複雑になるゲームで互いに対戦する。この段階で最も多くのゲームに勝利したAIがコンペティションの優勝者となり、2013年まではその製作者に10,000ドルの賞金が授与された[19]。これまでの優勝プログラムは以下の通りである[27]。
年 | 名前 | 開発者 | 所属機関 | 出典 |
---|---|---|---|---|
2005 | Cluneplayer | Jim Clune | UCLA | |
2006 | Fluxplayer | Stephan Schiffel and Michael Thielscher | ドレスデン工科大学 | [28] |
2007 | Cadiaplayer | Yngvi Björnsson and Hilmar Finnsson | レイキャヴィーク大学 | [29] |
2008 | Cadiaplayer | Yngvi Björnsson, Hilmar Finnsson and Gylfi Þór Guðmundsson | レイキャヴィーク大学 | |
2009 | Ary | Jean Méhat | パリ第8大学 | |
2010 | Ary | Jean Méhat | パリ第8大学 | |
2011 | TurboTurtle | Sam Schreiber | ||
2012 | Cadiaplayer | Hilmar Finnsson and Yngvi Björnsson | レイキャヴィーク大学 | |
2013 | TurboTurtle | Sam Schreiber | ||
2014 | Sancho | Steve Draper and Andrew Rose | [30] | |
2015 | Galvanise | Richard Emslie | ||
2016 | WoodStock | Eric Piette | アルトワ大学 |
その他のアプローチ
独自の言語を用いてゲームルールを定義する他の汎用ゲームプレイソフトウェアには、以下のようなものがある。
システム | 年 | 説明 |
---|---|---|
FRAMASI | 2009 | Rustam Tagiewによって汎用ゲームプレイと経済実験のために開発された[31][32]。 |
AiAi | 2015-2017 | Stephen Tavener(元Zillions開発者)によって開発された[33][34][35]。 |
PolyGamo Player | 2017 | David M. Bennettによって2017年9月にUnityゲームエンジンをベースにリリースされた[36]。 |
Regular Boardgames | 2019 | Jakub Kowalski、Marek Szykuła、およびヴロツワフ大学の彼らのチームによって開発された[37][38]。 |
Ludii | 2020 | Cameron Browneとマーストリヒト大学の彼のチームによって、ERC資金提供のDigital Ludeme Projectの一環としてリリースされた[39][40][41]。 |
GVGPの実装
強化学習
GVGPは、実際のビデオゲームAIを自動的に作成したり、「手続き型コンテンツ生成を用いて自動的に作成されたものを含むゲーム環境をテストし、人間のプレイヤーが悪用しうるゲームプレイの潜在的な抜け穴を見つける」ために使用される可能性がある[7]。GVGPはまた、ゲームルールの生成や、良いAIと悪いAIの間でゲームが許容するスキルの差別化を比較する相対的アルゴリズムパフォーマンスプロファイル(RAPP)に基づいてゲームの品質を評価するためにも使用されている[42]。
ビデオゲーム記述言語
汎用ビデオゲームAIコンペティション(General Video Game AI Competition, GVGAI)は2014年から開催されている。このコンペティションでは、GGPコンペティションで使用されるボードゲームの代わりに、1980年代のアーケードゲームやコンソールゲームに似た(時にはそれらに基づく)2次元ビデオゲームが使用される。これは、研究者や実践者が最高の汎用ビデオゲームプレイアルゴリズムをテストし、比較する方法を提供してきた。このコンペティションには、ビデオゲーム記述言語(VGDL)で書かれた多数のゲームを含む関連ソフトウェアフレームワークがある。VGDLをGDLと混同してはならない。VGDLは簡単に解析できる単純なセマンティクスとコマンドを使用するコーディング言語である。VGDLの一例として、2013年に開発されたPyVGDLがある[6][24]。GVGPで使用されるゲームは、今のところ、最も単純で定量化しやすいため、しばしば2次元アーケードゲームである[43]。ビデオゲームを解釈できるAIを作成するプロセスを簡略化するため、この目的のためのゲームは手動でVGDLで記述される[要説明]。VGDLは、解集合プログラミング(ASP)と進化型アルゴリズム(EA)を使用して、レベルのプロシージャル生成のためにゲームを記述するために使用できる。その後、GVGPを使用して、プロシージャルレベルの妥当性や、エージェントのパフォーマンスに基づいてレベルの難易度や品質をテストすることができる[44]。
アルゴリズム
GGP AIは複数のゲームをプレイするように設計されなければならないため、その設計は特定のゲームのために特別に作られたアルゴリズムに依存することはできない。代わりに、AIは、その手法が広範囲のゲームに適用できるアルゴリズムを使用して設計されなければならない。Regular Boardgames(RBG)やLudiiなどの最近のGGPシステムは、推論効率を最適化し、より多様なゲームをサポートするために、代替のルール表現を探求している。AIはまた、過去の状態の出力ではなく、現在の状態に適応できる継続的なプロセスでなければならない。このため、オープンループ技術がしばしば最も効果的である[45]。
GGP AIを開発するための一般的な手法は、モンテカルロ木探索(MCTS)アルゴリズムである[46]。UCT法(Upper Confidence Bound applied to Trees)と組み合わせて使用されることが多く、特定のゲームをよりうまくプレイするため、またビデオゲームプレイとの互換性を持たせるために、MCTSの変種が提案されている[47][48][49]。使用される木探索アルゴリズムの別の変種として、有向幅優先探索(DBS)がある[50]。この手法では、利用可能な各アクションに対して現在の状態の子ノードが作成され、最も高い平均報酬の順に各子を訪問し、ゲームが終了するか時間がなくなるまで続けられる[51]。各木探索手法において、AIは潜在的なアクションをシミュレートし、獲得ポイントの観点から各パスの平均最高報酬に基づいてそれぞれをランク付けする[46][51]。
前提条件
ゲームと対話するために、アルゴリズムはすべてのゲームが共通の特性を共有しているという前提の下で動作しなければならない。書籍『Half-Real: Video Games Between Real Worlds and Fictional Worlds』の中で、Jesper Juulはゲームを次のように定義している:
- ゲームはルールに基づいており、可変的な結果を持ち、異なる結果は異なる価値を与え、プレイヤーの努力が結果に影響を与え、プレイヤーは結果に愛着を持ち、ゲームは交渉可能な結果を持つ[52]。
これらの前提を用いて、プレイヤーの入力を定量化し、ゲームの結果と様々なルールがどのように適用されるかを定量化し、アルゴリズムを使用して最も有利な経路を計算することによって、ゲームプレイAIを作成することができる[43]。
脚注
- ^ “Metagame: a new challenge for games and learning.” [Heuristic programming in artificial intelligence 3–the third computerolympiad] (1992年). 2020年2月17日時点のオリジナルよりアーカイブ。2020年2月17日閲覧。
- ^ Pell, Barney (1996). “A Strategic Metagame Player for General Chess-Like Games” (英語). Computational Intelligence 12 (1): 177–198. doi:10.1111/j.1467-8640.1996.tb00258.x. ISSN 1467-8640.
- ^ a b Genesereth, Michael; Love, Nathaniel; Pell, Barney (15 June 2005). “General Game Playing: Overview of the AAAI Competition” (英語). AI Magazine 26 (2): 62. doi:10.1609/aimag.v26i2.1813. ISSN 2371-9621.
- ^ Canaan, Rodrigo; Salge, Christoph; Togelius, Julian; Nealen, Andy (2019) (英語). Proceedings of the 14th International Conference on the Foundations of Digital Games [Proceedings of the 14th International Conference on the Leveling the playing field: fairness in AI versus human game benchmarks]. pp. 1–8. doi:10.1145/3337722. ISBN 9781450372176
- ^ a b “Playing Atari with Deep Reinforcement Learning”. Neural Information Processing Systems Workshop 2013 (2013年). 2014年9月12日時点のオリジナルよりアーカイブ。2015年4月25日閲覧。
- ^ a b Schaul, Tom (August 2013). “A video game description language for model-based or interactive learning”. 2013 IEEE Conference on Computational Intelligence in Games (CIG). pp. 1–8. doi:10.1109/CIG.2013.6633610. ISBN 978-1-4673-5311-3
- ^ a b Levine, John; Congdon, Clare Bates; Ebner, Marc; Kendall, Graham; Lucas, Simon M.; Miikkulainen, Risto; Schaul, Tom; Thompson, Tommy (2013). “General Video Game Playing”. Artificial and Computational Intelligence in Games (Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik) 6: 77–83. オリジナルの9 April 2016時点におけるアーカイブ。 2015年4月25日閲覧。.
- ^ Bowling, M.; Veness, J.; Naddaf, Y.; Bellemare, M. G. (2013-06-14). “The Arcade Learning Environment: An Evaluation Platform for General Agents” (英語). Journal of Artificial Intelligence Research 47: 253–279. arXiv:1207.4708. doi:10.1613/jair.3912. ISSN 1076-9757.
- ^ Mnih, Volodymyr; Kavukcuoglu, Koray; Silver, David; Rusu, Andrei A.; Veness, Joel; Hassabis, Demis; Bellemare, Marc G.; Graves, Alex et al. (26 February 2015). “Human-level control through deep reinforcement learning”. ネイチャー 518 (7540): 529–533. Bibcode: 2015Natur.518..529M. doi:10.1038/nature14236. PMID 25719670.
- ^ “Replicating the Paper "Playing Atari with Deep Reinforcement Learning"”. タルトゥ大学 (2014年). 2014年12月18日時点のオリジナルよりアーカイブ。2015年4月25日閲覧。
- ^ “Deep Learning for Real-Time Atari Game Play Using Offline Monte-Carlo Tree Search Planning”. NIPS Proceedingsβ. Conference on Neural Information Processing Systems (2014年). 2015年11月17日時点のオリジナルよりアーカイブ。2015年4月25日閲覧。
- ^ “The First Level of Super Mario Bros. is Easy with Lexicographic Orderings and Time Travel ... after that it gets a little tricky.”. SIGBOVIK (2013年). 2013年4月26日時点のオリジナルよりアーカイブ。2015年4月25日閲覧。
- ^ “learnfun & playfun: A general technique for automating NES games”. 2015年4月19日時点のオリジナルよりアーカイブ。2015年4月25日閲覧。
- ^ “Week 2: Level 1 of Super Mario Bros. is easy with lexicographic orderings and”. A geek with a hat (2013年10月28日). 2015年4月30日時点のオリジナルよりアーカイブ。2015年4月25日閲覧。
- ^ McMillen, Colin (2003). Toward the Development of an Intelligent Agent for the Supply Chain Management Game of the 2003 Trading Agent Competition [2003 Trading Agent Competition] (Thesis). Master's Thesis. Minneapolis, MN: University of Minnesota. S2CID 167336006.
- ^ Zhang, Dongmo (2009). From general game descriptions to a market specification language for general trading agents [Agent-mediated electronic commerce. Designing trading strategies and mechanisms for electronic markets.]. Berlin, Heidelberg: Springer. pp. 259–274. Bibcode: 2010aecd.book..259T
- ^ “AGAPE - An Auction LanGuage for GenerAl Auction PlayErs” (フランス語). AGAPE (2019年3月8日). 2021年8月2日時点のオリジナルよりアーカイブ。2020年3月5日閲覧。
- ^ Michael, Friedrich; Ignatov, Dmitry (2019). “General Game Playing B-to-B Price Negotiations”. CEUR Workshop Proceedings -2479: 89–99. オリジナルの6 December 2019時点におけるアーカイブ。 2020年3月5日閲覧。.
- ^ a b Barney Pell's research on computer game playing Archived 2007-08-12 at the Wayback Machine..
- ^ “Metagame and General Game Playing”. Metagame and General Game Playing. 2001年3月3日時点のオリジナルよりアーカイブ。2016年3月27日閲覧。
- ^ Available: Universal Game Engine Archived 2012-11-03 at the Wayback Machine. email to comp.ai.games by Jeff Mallett, 10-Dec-1998.
- ^ “UZH - z-Tree - Zurich Toolbox for Readymade Economic Experiments” (英語). www.ztree.uzh.ch. 2016年2月21日時点のオリジナルよりアーカイブ。2020年2月17日閲覧。
- ^ “Cooperation in Symmetric and Asymmetric Prisoner's Dilemma Games” (英語). Social Science Research Network (2007年3月1日). Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ a b “schaul/py-vgdl”. GitHub (2020年2月7日). 2018年6月11日時点のオリジナルよりアーカイブ。2020年2月9日閲覧。
- ^ GGP Server Archived 2014-02-21 at the Wayback Machine., platform for competition of general game playing systems.
- ^ Dresden GGP Server Archived 2013-04-07 at the Wayback Machine., platform for competition of general game playing systems with automatic scheduling of matches.
- ^ “General Game Playing”. www.general-game-playing.de. 2008年12月26日時点のオリジナルよりアーカイブ。2008年8月21日閲覧。
- ^ Information about Fluxplayer Archived 2011-07-19 at the Wayback Machine., the winner of the 2nd International General Game Playing competition.
- ^ Information about CADIAPlayer Archived 2011-07-22 at the Wayback Machine., more information about the winner of the 3rd, 4th, and 8th International General Game Playing competitions.
- ^ Sancho is GGP Champion 2014! Archived 2015-12-22 at the Wayback Machine., winner of the 2014 International General Game Playing competition.
- ^ Tagiew, Rustam (2009). Filipe, Joaquim; Fred, Ana; Sharp, Bernadette. eds. Towards a framework for management of strategic interaction [Proceedings of the International Conference on Agents and Artificial Intelligence]. Porto, Portugal. pp. 587–590. ISBN 978-989-8111-66-1. オリジナルの2021-03-09時点におけるアーカイブ。 2021年6月2日閲覧。
- ^ Tagiew, Rustam (2011). Strategische Interaktion realer Agenten Ganzheitliche Konzeptualisierung und Softwarekomponenten einer interdisziplinären Forschungsinfrastruktur (neue Ausg ed.). Saarbrücken. ISBN 9783838125121
- ^ “Zillions of Games - Who Are We?”. www.zillions-of-games.com. 2017年11月15日時点のオリジナルよりアーカイブ。2017年11月16日閲覧。
- ^ “AiAi Home Page – Stephen Tavener” (英語). mrraow.com. 2015年9月6日時点のオリジナルよりアーカイブ。2017年11月16日閲覧。
- ^ “Ai Ai announcement thread”. BoardGameGeek. オリジナルの2017年11月16日時点におけるアーカイブ。 2017年11月16日閲覧。
- ^ “The PolyGamo Player Project | Programming Languages and General Players for Abstract Games and Puzzles” (英語). www.polyomino.com. 2002年9月23日時点のオリジナルよりアーカイブ。2017年11月16日閲覧。
- ^ Kowalski, Jakub; Mika, Maksymilian; Sutowicz, Jakub; Szykuła, Marek (2019-07-17). “Regular Boardgames” (英語). Proceedings of the AAAI Conference on Artificial Intelligence 33 (1): 1699–1706. doi:10.1609/aaai.v33i01.33011699. ISSN 2374-3468 .
- ^ Kowalski, Jakub; Miernik, Radoslaw; Mika, Maksymilian; Pawlik, Wojciech; Sutowicz, Jakub; Szykula, Marek; Tkaczyk, Andrzej (2020). “Efficient Reasoning in Regular Boardgames”. 2020 IEEE Conference on Games (CoG). pp. 455–462. arXiv:2006.08295. doi:10.1109/cog47356.2020.9231668. ISBN 978-1-7281-4533-4
- ^ “Ludii Portal | Home of the Ludii General Game System” (英語). www.ludii.games. 2021年10月27日時点のオリジナルよりアーカイブ。2021年10月27日閲覧。
- ^ “Digital Ludeme Project | Modelling the Evolution of Traditional Games” (英語). www.ludeme.eu. 2021年10月2日時点のオリジナルよりアーカイブ。2021年10月27日閲覧。
- ^ Piette, E.; Soemers, D. J. N. J.; Stephenson, M.; Sironi, C.; Stephenson, M.; Winands M. H. M.; Browne, C. (2020). “Ludii – The Ludemic General Game System”. European Conference on Artificial Intelligence (ECAI 2020), Santiago de Compestela. オリジナルの2022-01-21時点におけるアーカイブ。 2021年10月27日閲覧。
- ^ “Towards generating arcade game rules with VGDL”. 2015年9月12日時点のオリジナルよりアーカイブ。2018年2月24日閲覧。
- ^ a b “General Video Game Playing”. 2016年4月18日時点のオリジナルよりアーカイブ。2016年4月9日閲覧。
- ^ “Procedural Level Generation with Answer Set Programming for General Video Game Playing”. 2016年3月28日時点のオリジナルよりアーカイブ。2018年2月24日閲覧。
- ^ Świechowski, Maciej; Park, Hyunsoo; Mańdziuk, Jacek; Kim, Kyung-Joong (2015). “Recent Advances in General Game Playing” (英語). The Scientific World Journal (Hindawi Publishing Corporation) 2015. doi:10.1155/2015/986262. PMC 4561326. PMID 26380375 .
- ^ a b “Monte-Carlo Tree Search for General Game Playing”. ResearchGate. 2016年4月1日閲覧。
- ^ Finnsson, Hilmar (2012). “Generalized Monte-Carlo Tree Search Extensions for General Game Playing”. Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence. オリジナルの2013-10-15時点におけるアーカイブ。 2016年4月9日閲覧。.
- ^ “Investigating MCTS Modifications in General Video Game Playing”. 2016年4月12日時点のオリジナルよりアーカイブ。2016年4月9日閲覧。
- ^ M. Swiechowski; J. Mandziuk; Y. S. Ong, "Specialization of a UCT-based General Game Playing Program to Single-Player Games," in IEEE Transactions on Computational Intelligence and AI in Games, vol.PP, no.99, pp.1-1 doi:10.1109/TCIAIG.2015.2391232
- ^ “Changing the root node from a previous game step.”. 2021年1月17日時点のオリジナルよりアーカイブ。 Template:Cite webの呼び出しエラー:引数 accessdate は必須です。 “DBS: A Directed Breadth First Search (DBS) algorithm”
- ^ a b “Open Loop Search for General Video Game Playing”. 2016年3月28日時点のオリジナルよりアーカイブ。2016年4月9日閲覧。
- ^ Jesper Juul. Half-Real: Video Games Between Real Rules and Fictional Worlds. MIT Press, 2005.
関連項目
- AlphaZero
- MuZero
- 汎用人工知能
- コンピュータゲームにおける人工知能
- ゲーム記述言語
- マルチタスク学習
- 人工知能の概要
- 転移学習
外部リンク
- General Game Playing Home Page at Stanford University
- See also the GGP.org, GGP.org GitHub page, and 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
- ConvNetJS Deep Q Learning Demo
- 汎用ゲームプレイのページへのリンク