JAIST Repository
https://dspace.jaist.ac.jp/Title

人間プレイヤを指導する

囲碁プログラムの研究

Author(s)池田, 心Citation

科学研究費助成事業研究成果報告書: 1‑9Issue Date

2020‑05‑26

TypeResearch Paper

Text version

publisher

URL

http://hdl.handle.net/10119/16735

RightsDescription

基盤研究(C)（一般）, 研究期間：2017〜2019, 課題番
号：17K00506, 研究者番号：80362416, 研究分野：ゲーム情報学Japan Advanced Institute of Science and Technology

１版

様式

Ｃ−１９、Ｆ−１９−１、Ｚ−１９ （共通）

科学研究費助成事業

研究成果報告書
令和２ 年

５ 月 ２６ 日現在

機関番号： １３３０２
研究種目： 基盤研究(C)（一般）
研究期間： 2017 〜 2019
課題番号： １７Ｋ００５０６
研究課題名（和文）人間プレイヤを指導する囲碁プログラムの研究

研究課題名（英文）How to Coach Human Players using Computer Go Program

研究代表者
池田心（Ikeda, Kokolo）

北陸先端科学技術大学院大学・先端科学技術研究科・准教授

研究者番号：８０３６２４１６
交付決定額（研究期間全体）：（直接経費）

3,600,000 円

研究成果の概要（和文）：人工知能技術の急激な発展は人類の生活に大きな影響を与えている．ゲーム情報学の世界でも，人間よりも強い囲碁や将棋のプログラムが作られており，これからは単に強いだけではなく，人間を楽しませる，また人間を指導するようなプログラムが求められる．
本研究では，囲碁を対象に強い深層学習プログラムを用いて自然な手加減を行い，また地合い派・勢力派など多様な打ち方を行うための方法を提案し，被験者実験を用いてその有効性を示した．さらに，テトリスやガイスタ
ー，リズムゲームなど囲碁以外のゲームでも，教育効果を向上させるための問題作成方法や苦手部分の検出法などを提案した．
研究成果の学術的意義や社会的意義
単に強いゲームプログラムを作る場合，それは数学や情報学の中の閉じられた世界である．一方で，楽しませる・教えるゲームプログラムを作ろうと考えると，それは「人間らしさ」「人間はどんなときに楽しいのか」「人間はどう学習するのか」など，人間を理解しなければならない．その意味で本研究は情報学を教育学や心理学の方面に橋掛けする大きな基盤となっていると考える．
また，単に強いだけでなく，楽しませる・教えることを重視することで，人間があるゲームを遊んだときの満足度や，その意欲継続を向上させることに貢献している．物質的豊かさの次に精神的豊かさをもたらすものとして，社会的意義も大きいと考える．
研究成果の概要（英文）：Recently, artificial intelligence methods have been greatly improved andaffected human life. In the area of game informatics, super‑human level computer players have beendeveloped for many games including Go or Japanese Chess. So, not only just strong computer players,
but also entertaining computer players or educating computer programs are attracting attentions.
In this research, entertaining computer program using very strong deep learning computer Go program
has been tried. For the purpose, computer players should select non‑optimal moves intentionally, butsuch intentional bad moves should not be detected by human players. In addition, not only single
play style, but also various play styles for example "center‑oriented" or "edge/corner‑oriented"
should be served. Many ideas were proposed and their values were confirmed through experiments usingsubjects. Further, procedural contents generation for education was tried using many games, such as
VS‑tetris, geister, or rhythm games.

研究分野： ゲーム情報学
キーワード： 教えるAI

楽しませるAI

囲碁

深層学習

コンテンツ生成

PCG

指導パズル

※科研費による研究は、研究者の自覚と責任において実施するものです。そのため、研究の実施や研究成果の公表等については、国の要請等に基づくものではなく、その研究成果に関する見解や責任は、研究者個人に帰属されます。

様式 Ｃ−１９、Ｆ−１９−１、Ｚ−１９（共通）１． 研究開始当初の背景(1) 【強いゲームプログラム】
欧米でのチェス，国内での囲碁将棋は 人智の象徴 として人気の高いゲームであり，これをコンピュータにうまくプレイさせることは情報学の一つの目標であった．チェスでは1997 年，将棋では 2013 年に人間のトッププロが敗れ，2016 年には AlphaGo が囲碁のトッププロに勝利したことで強さの方向性での研究は一つの区切りを迎えたと考える人は多かった．それは 2020 年現在も変わっていない．
囲碁プログラムは「着手の良さの評価のための機械学習」「局面の良さの評価のための機械学習」「先読みのための木探索」の要素を用いているものが主流であり，研究代表者はこのような強いプログラムのための研究も行っていた．
(2) 【背景２：楽しませる・教えるゲームプログラム】
十分な強さを背景に，主に欧米において，テレビゲームでプレイヤを楽しませるための研究も近年さかんになってきている．国際会議 IEEE-CIG（2019 年より CoG と呼称変更）などでは「人間らしいコンピュータプレイヤ(AI)」「遊んで楽しいゲームのマップ（ステージ）生成」などが中心的課題になりつつあり，その競技会も例年開かれている．しかしテレビゲームは 習い事指導する という概念が希薄なことから，教えるゲームプログラムに関する研究は非常に稀であった．
国内では楽しませるゲームプログラムの研究は遅れており，市販ゲームの AI に不満を持つプレイヤは多い．研究代表者はこれを改善すべく，多くの研究，プラットフォーム公開や競技会の開催などを行っている．一方で国内では囲碁将棋が習い事の一つとして定着し，指導専門のプロもいるなど，教える研究に関しては利用者や協力者が得られやすい状況にある．
２． 研究の目的【目的： 指導する プログラム】
強いプレイヤが「勝つ」ことではなく，弱いプレイヤに対して「上達させる」ことを目的として行う囲碁対戦は 指導碁 と呼ばれ，有償無償問わず頻繁に行われる．「楽しませる」ことが目的の 接待碁 同様，強いプレイヤでも指導が上手であるとは限らないことはよく知られており，指導者不足により囲碁の普及が妨げられているとの指摘は多い．これは囲碁に限る話とは言えず，指導の役割をコンピュータが果たすための方法論が確立できれば，その社会的意義は大きい．
指導するために必要な要素は多岐にわたるが，研究代表者はこれらを過去取り組んできた「楽しませるための６要素」に加え「悪手指摘」「弱点分析」「例題作成」の３要素と想定し，いくつかの成果を挙げているが，この想定の妥当性も含め研究は始まったばかりである．
本研究課題では，囲碁を中心に，さまざまなゲームのコンピュータプログラムによる上達支援の可能性を模索し，それを人工知能技術で実現していくことを目的とする．

図１： 囲碁 AI による接待碁と指導碁の概念図
３．研究の方法
ゲームの上達支援にはさまざまなアプローチがあり得る．本研究ではまず，囲碁およびその他のゲームについて，愛好家や指導経験者にインタビューを行い，「指導に必要なことは何か」「どんなことに気を付けて指導しているか」などを抽出することを行う．そして，その全てをコンピ

ュータに代替するのではなく，人間が指導することとコンピュータが指導することのメリットデメリットを考察し，最も効率的な介入および代替の仕方を考えていく．
図１は囲碁を想定したものであるが，「まずは楽しませる」「そのうえで弱点分析・悪手指摘・例題作成」といった方法そのものは，囲碁以外のゲームでも応用可能であり，かつあまり研究が進んでいない分野でもあり，多くのゲームでこれらの要素技術に取り組むことにより，領域依存の知見と，多くの領域に共通する知見とを得られると考える．
図２は，囲碁における申請時点での研究方法を図式化したものである．基盤技術として進化計算・モンテカルロ木探索・機械学習などを用いたベースプログラム Nomitan があり（図下段），2014‑2016 年の基盤研究によって接待碁の部分（図中段左側）はかなり研究が進んでいた．これに外部の意見を抽出することで方針を固め（図上段），接待や指導のための技術を研究する（図中段右側）ことを目指した．しかしながら，AlphaGo およびそれに続く深層学習技術の進展により，Nomitan をベースプログラムに用いることは妥当性が低くなった．
そこで本研究では，「囲碁で接待をベースとして指導を行う」という当初の目的を分割し，「囲碁の新しい枠組みのプログラムで接待を行う」および「他のもう少しシンプルなゲームで指導を行う」ことを具体的な目標として再設置した．

図２： 研究方法の概要図，申請時点のもの．

４．研究成果本研究の成果は，大きく分けて「囲碁の新しい枠組みのプログラムで接待を行う」ことに目途がついたことと，「複数のゲームにおいて，指導を見据えたコンテンツ作成を行う」ことができたことである．
【囲碁の新しい枠組みのプログラムで接待を行う】
まず，Nomitan に代わる囲碁の基盤プログラムとして，Google DeepMind 社による AlphaZeroを模倣した LeelaZero を採用した．AlphaZero は技術概要が論文にまとめられているもののソースコードの公開はされておらず，追試を目標としてソースコードが公開されている LeelaZero を用いることにした．
LeelaZero は Nomitan よりも遥かに強く，これを用いて指導することには一定の合理性がある．一方で，その強さゆえに大幅な手加減が必要であることや，モンテカルロ木探索のためのランダムシミュレーションの方法が異なることから，以前用いていた接待碁のための技術をそのままでは適用できないという問題点がある．これを解決しなければ，次の指導に進むことはできないため，多くの時間を割いてこの課題に取り組んだ．
具体的には LeelaZero では，大きなものとして，(1)相手の着手から離れた場所に打つ傾向があり，それは囲碁の真理としては正しいかもしれないが，特に初級者にとってはこれが不自然に映る可能性がある，(2)着手ごとの推定勝率に差が付きやすく，従って探索回数にも差が付きやすく，手加減した手を選ぶ際に探索回数の極端に少ない手を選んでしまうことがある，(3)ランダムシミュレーションを終局ノードまで行わないため，終局ノードの勝敗決定ルールを変更することで「楽観派・悲観派」「地合派・勢力派」などを演出する方法が使えなくなってしまう，という課題があった．
これに対し本研究では，(1)については，相手の着手からの距離に応じて，近いほど policy
network の着手確率にボーナスを与える手法を適用し，相手の着手からの距離を大幅に小さくすることに成功した．(2)については，ある着手の探索回数が少ない場合（具体的には，１位の着手の探索回数の１割，などと閾値を設ける）に，探索結果が信用できないとしてその手を着手しないというルールを加えた．(1)(2)の結果は，工夫を行わない場合に比べて不自然さを減らすことができることを，被験者実験を通じて示した．(3)については，事前に地合派（および勢力派）専用の policy network と value network を，AlphaZero の学習方式によって学習させておくというアプローチをとった．AlphaZero では，自己対戦の 結果 を学習するが，この勝敗を，改変した囲碁のルール（たとえば，辺や隅の地合いを２ポイントとしてカウントする）を用いて定めることで，真の意味では強くないが特徴のある network を学習できる．これを，通常の networkと組み合わせて使うことで，地合派・勢力派を，被験者が区別できるレベルで演出することができることを示した．
【複数のゲームにおいて，指導を見据えたコンテンツ作成を行う】
コンピュータによるコンテンツ生成は，Procedural Content Generation (PCG) と呼ばれ，最近急激に注目を集めるようになった研究分野である．生成の対象は多岐にわたるが，例えば囲碁や将棋の詰め問題，RPG やアクションゲームのステージなどはその代表的なものである．これらは単に自動生成できればよいのではなく，面白いこと，プレイヤのレベルに合っていること，自然に見えることなど，さまざまな要求が課せられる．本研究の元来の目標であった「接待碁の後に，プレイヤの弱点に合わせて面白い訓練用局面を作る」こともこれに通じている．
本研究では，いくつかの意味で指導を見据えたうえで，さまざまなゲームにおけるコンテンツ作成を行った．
指導用コンテンツとしては，実戦の練習ではなかなか学習できないものを切り出すことが有益であることが多い．(1)対戦テトリスの問題作成に関する研究では，T‑spin と呼ばれる特殊なブロックの消し方を学ぶために，詰め T‑spin 問題という新しいジャンルを提唱し，これの自動生成方法を提案した．T‑spin は必須のテクニックとされるが，初級者には難しいことでも知られ，実戦でこれを用いようとするとリアルタイム性のあるゲームのためにかえって勝率が落ちてしまう．そのため，そのことだけを考えられるように切り出すことが有効である．問題の面白さを教師あり学習で予測することで面白い問題だけを抜き出すことも可能にし，被験者実験によって，練習に詰め T‑spin 問題を組み込むと，数時間の練習でも，実戦において T‑spin を行う回数が数倍に伸びることが確認できた．(2)ガイスターと呼ばれる不完全情報対戦ボードゲームに関する研究でも同様の考え方を用いた．不完全情報ゲームであることから，一般には読みあいや騙しあいが必要なゲームであるが，局面によっては確実に勝つことができる場合もあり，それでも初級者はそれを見落としてしまう．そこで，そういった局面を詰めガイスター問題と定義し，自動生成し，面白さや難しさを教師あり学習で推定する方法を提案した．21 手詰めなど，十分単体でも楽しめる問題が生成できることが確認できた．詳述しないが，(3)上海ゲームや(4)ぷよぷよについても，面白い問題を生成するための試みを行った．教師あり学習を用いて面白さや難しさを推定する技術については基盤が整ったと考えているが，一方で領域ごとにその推定精度が大きく変わることも分かった．
指導用コンテンツは，プレイヤの総合的なレベルに合っているだけでなく，どこが苦手でどこが得意か，技術ごとに細分化されたレベルに合わせるべきである場合も多い．(5)リズムゲームのコンテンツ作成の研究では，問題（音楽にあわせ，ボタンを押すタイミングと場所）の中にどのようなパターンがあるかをクラスタリングし，クラスタごとに，そのプレイヤが平均的プレイヤと比べてどの程度得意なのか苦手なのかを評価，提示するシステムを実装した．そのうえで，苦手な部分が多く現れるような問題を提供する手法を提案した．リズムゲームやシューティン
グゲームでは， 苦手なパターンがステージの後半にある ような状況では，これを単なる実戦で繰り返し練習することは（ステージ全体を繰り返さないといけないので）難しい．本研究はこれを改善したものである．また，深層学習を用いた生成を行っている面でもこの研究には意義がある．
ゲームや生成対象によっては，指導云々の前に，良いコンテンツを生成することが困難であることも多い．コンテンツ生成にはこれまで「教師あり学習で，人間デザイナが作った既存のコンテンツを模倣する」方法や「遺伝的アルゴリズムなどで生成したものを評価関数で検査する」方法がしばしば用いられてきたが，前者は大量の既存コンテンツが必要なこと，後者は大量の計算が必要でオンラインでの生成に適さないこと，が課題とされてきた．そこで本研究では，強化学習の枠組みを用いて，(6)一連の RPG のステージを生成するために，未完成なステージをマルコフ決定仮定の状態として，それを完成に近づける一歩を行動として，完成したステージの良さを報酬として定式化するアイデアを提案した．これにより，オフラインでの計算は大量に必要であるが，オンラインでの生成を高速化し，評価関数さえ適切に与えられれば学習データを要しないでステージ生成ができることを示した．

５．主な発表論文等〔雑誌論文〕

計0件〔学会発表〕 計15件（うち招待講演 1件／うち国際学会
１．発表者名Yubin Liang, Wanxiang Li and Kokolo Ikeda

5件）

２．発表標題Procedural Content Generation of Rhythm Games Using Deep Learning Methods

３．学会等名International Conference on Entertainment Computing (ICEC) & Joint Conference on Serious Games (JCSG)（国際学会）
４．発表年
2019年
１．発表者名Tianwen Fan, Yuan Shi, Wanxiang Li and Kokolo Ikeda

２．発表標題Position Control and Production of Various Strategies for Deep Learning Go Programs

３．学会等名International Conference on Technologies and Applications of Artificial Intelligence (TAAI 2019)（国際学会）
４．発表年
2019年
１．発表者名Taishi Oikawa, Chu‑Hsuan Hsueh and Kokolo Ikeda

２．発表標題Enhancing Human Players

T‑Spin Technique in Tetris with Procedural Problem Generation

３．学会等名16th Advances in Computer Games Conference（国際学会）
４．発表年
2019年
１．発表者名SangGyu Nam, Kokolo Ikeda

２．発表標題Generating Stages in Turn‑Based RPG using Reinforcement Learning

３．学会等名IEEE Conference on Games (CoG2019)（国際学会）
４．発表年
2019年

１．発表者名
森長剛志, 池田心２．発表標題上海ゲームにおける面白いインスタンス生成

３．学会等名情報処理学会第43回ゲーム情報学研究発表会
４．発表年
2020年
１．発表者名石井岳史, 川上直人, 橋本剛, 池田心

２．発表標題
難しい詰めガイスター問題の生成法

３．学会等名第24回ゲームプログラミングワークショップ(GPW‑19)
４．発表年
2019年
１．発表者名池田心

２．発表標題
楽しませる囲碁プログラム〜強すぎるAIにどう接待させるか

３．学会等名JAPAN GO CONGRESS 2019 in KANAZAWA（招待講演）
４．発表年
2019年
１．発表者名牧田 光平，池田 心

２．発表標題連鎖構成力向上のための多様で面白いなぞぷよ提供法の提案

３．学会等名情報処理学会 第41回ゲーム情報学(GI)研究発表会
４．発表年
2019年

１．発表者名
石井 岳史，川上 直人，橋本 剛，池田 心

２．発表標題不完全情報ゲーム『ガイスター』における2種の詰め問題の提案と考察

３．学会等名情報処理学会 第41回ゲーム情報学(GI)研究発表会
４．発表年
2019年
１．発表者名Shi Yuan，Fan Tianwen，Li Wanxiang，池田 心

２．発表標題
深層学習囲碁プログラムを用いた場合の手加減に関する研究

３．学会等名情報処理学会 第41回ゲーム情報学(GI)研究発表会
４．発表年
2019年
１．発表者名ナムサンギュ，池田心２．発表標題
強化学習を用いたターン制 RPG のステーシ自動生成

３．学会等名第23回ゲームプログラミングワークショップ
４．発表年
2018年
１．発表者名及川 大志 ，池田心２．発表標題
テトリスにおけるT‑spin構成力向上のための問題作成

３．学会等名第23回ゲームプログラミングワークショップ
４．発表年
2018年

１．発表者名
Liang Yubin，池田心２．発表標題リズムゲームの上達を支援するコンテンツ自動生成法

３．学会等名情報処理学会 第39回ゲーム情報学(GI)研究発表会
４．発表年
2018年
１．発表者名高橋竜太郎，池田心２．発表標題連鎖構成力向上のためのぷよぷよの問題作成

３．学会等名情報処理学会 第39回ゲーム情報学(GI)研究発表会
４．発表年
2018年
１．発表者名Sila Temsiririrkkul, Naoyuki Sato, Kenta Nakagawa, Kokolo Ikeda

２．発表標題Survey of How Human Players Divert In‑game Actions for Other Purposes: Towards Human‑like Computer Players

３．学会等名International Conference on Entertainment Computing（国際学会）
４．発表年
2017年
〔図書〕

計0件

〔産業財産権〕〔その他〕−
６．研究組織氏名（ローマ字氏名）（研究者番号）

所属研究機関・部局・職（機関番号）

備考