• 検索結果がありません。

リアルタイム対戦型陣取りゲーム題材としたプログラミング教材の開発と教育効果

N/A
N/A
Protected

Academic year: 2021

シェア "リアルタイム対戦型陣取りゲーム題材としたプログラミング教材の開発と教育効果"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

リアルタイム対戦型陣取りゲーム題材とした

プログラミング教材の開発と教育効果

井上 泰仁

1,a)

丸田 要

2

黒木 祥光

3

松野 良信

4

小嶋 徹也

5

小保方 幸次

6

寺元 貴幸

7 概要:全国高等専門学校プログラミングコンテスト(高専プロコン)競技部門では,高専生のプログラミ ングスキルの向上のために,毎年,時間,精度,そして最良解探索などで競うための競技システムの開発 に取り組んでいる.2019年の高専プロコン競技部門では,「踊って舞って回って」と題したリアルタイム 対戦型陣取りゲームを実施した.本報告では,高専プロコンにおける陣取りゲームを題材とした競技シス テムの開発,大会の様子,教育効果について報告する.

Development of Programming Materials

and Educational Effects of the Encampment Game

1.

はじめに

AIやIoTなどのデジタルテクノロジーの進展は目まぐ るしく,プログラミングスキルと問題解決能力を兼ね揃え た高専生をエンジニアとして育成することが急務となって いる.そのために,全国高等専門学校プログラミングコン テスト(高専プロコン)が開催されている.これまでに,29 回の開催実績があり,高専生の情報技術教育の場として定 着している.2008年からは,NPO法人高専プロコン育成 協会(NAPROCK)が設立され,正式な国際大会と併催さ れている.2019年10月に,都城市総合文化ホール(宮崎 県都城市)にて開催された大会で30回目を迎えた. 高専プロコンは,課題部門,自由部門,そして,競技部 門の3つの部門から構成されている.課題部門や自由部門 は,高専生のアイディアと発想力で,独創的な作品製作を 行っている.近年,高精度なセンサーやIoTデバイスなど も販売されていて,課題部門や自由部門の作品に取り込ま れている.競技部門は,毎年,テーマが異なり,時間,精 度,そして最適解探索などで競うため,著者らは,その競 1 舞鶴工業高等専門学校 電気情報工学科 2 都城工業高等専門学校 電気情報工学科 3 久留米工業高等専門学校 制御情報工学科 4 有明工業高等専門学校 創造工学科 5 東京工業高等専門学校 情報工学科 6 一関工業高等専門学校 未来創造工学科 7 津山工業高等専門学校 総合理工学科 a) [email protected] 技システムの開発に取り組んでいる [1–9].1994年(第5 回大会)から競技部門が導入され,計量・計測,暗号化通 信,スライドパズルなどのテーマを出題し,選手が製作す るプログラムの優劣を競っている(図1).また,昨年(第 29回)の競技部門「巡りマス」では,3名の選手が,司令 塔役,および,エージェント役を分担し,与えられている フィールドの得点を解析し,合図で指示し,盤面上を移動 する陣取り対戦ゲームを行った(図2).2019年(第30回 大会)の競技部門では「踊って舞って回って」と題し,2018 年に実施した「巡りマス」と同じルールを競技システムと して構築し,リアルタイムでかつ,対戦型の陣取り合戦を 行なった.本報告では,2019年の高専プロコン競技部門で 構築した競技システムの開発,および,大会の様子などに ついて報告する.

2.

競技部門「踊って舞って回って」

2.1 概要 競技部門「踊って舞って回って」では,マス目に区切ら れたフィールド上でいかに多くの陣地を占有できるかを 競う陣取りゲームを実施する(図3).学生はプレイヤーと なってフィールド上を移動する複数のエージェントの行動 を決定する.試合はターン制で進行し,1ターンごとに両 チームのエージェントが同時に行動する.プレイヤーは, 決められた時間以内に全てのエージェントの行動をサー バへと送信しなければならない.一定のターン数が経過し

(2)

(a) サイコロ計量 (b) 暗号化通信 (c) スライドパズル1 競技部門のテーマ 図2 陣取りゲーム -2 1 0 1 2 0 2 1 0 1 -2 1 2 -2 0 1 0 -2 2 1 1 3 2 1 0 -2 0 1 2 3 1 2 1 1 2 2 3 2 2 1 1 2 2 1 1 2 2 3 2 2 1 1 2 1 3 2 1 0 -2 0 1 2 3 1 1 2 -2 0 1 0 -2 2 1 -2 1 0 1 2 0 2 1 0 1 -2 チーム A エージェント 1 エージェント 1チーム B チーム B エージェント 2 エージェント 2チーム A3 競技概要 た時点で,エージェントが占有した陣地のポイントによっ て,チームの勝敗が決まる.1つの試合では,公開フィー ルドと非公開フィールドそれぞれ1回ずつ対戦します.こ れら2対戦で獲得したポイントの合計によってその試合の 勝敗が決まる.公開するフィールドには事前に戦略分析を 行い,非公開フィールドには柔軟な戦略を構築するなど, 2種類の対戦に対してどちらのフィールドにおいても適し た戦略をとれるようなシステムを構築することが勝利の鍵 となる.マス目に区切られたフィールド上で,いかに多く の陣地を占有できるかを競う,陣取りゲームの教材開発を 行ったので,その競技ルール,進行手順などを示す. 2.1.1 競技フィールド フィールドは最大で縦20×横20=合計400のマスで構 成され,各マスには−16以上16以下の点数が割り当てる. マスの数は80以上で,試合ごとに設定する.一方のチー ムが不利にならないよう,エージェントの配置位置は中央 線に対して,必ず水平,垂直,または水平かつ垂直,線対 称に配置される. 2.1.2 エージェントの行動 各エージェントは1ターンに以下のいずれか1つの行動 を行える. 移動 8方向(↙)のいずれか の方向に1マス移動できます.移動したマスには自チーム のタイルが設置される.ただし,以下の点に注意が必要で ある. 相手チームのタイルが置かれたマスには,移動できな い.相手チームのタイルのマスに移動したい場合は, タイル除去で相手チームのタイルを取り除いた後,次 のターンでそのマスへ移動しなければならない. 同じマスに複数のエージェントが入ることはできな い.複数のエージェントが同じマスを移動先として指 定した場合,それらのエージェントはこのターンでは 移動できず,元のマスに留まるものとする. タイル除去 8方向(↙)のいずれかの 方向に隣接するマスに置かれたタイルを取り除くことがで きる.ただし,以下の点に注意が必要である. 相手チームのタイルでも自チームのタイルでも取り除 くことができる. エージェントがいるマスのタイルを除去することはで きない.ただし,エージェントがいるマスを,タイル 除去に指定することはでき,そのターンでエージェン トが移動した場合はタイルを除去できる. 同じマスに複数のエージェントがタイル除去や移動を 指定した場合はすべて無効となる. 停留 何もせず,現在いるマスに留まることができる. 2.1.3 得点 タイルを置いたマスの合計点をタイルポイント,タイル が囲んだマスの合計点を領域ポイントとし,その合計ポイ ントで勝敗を決定する.領域ポイントの場合,マスの負の 点数は正の値に変更される.各マスには−16以上16以下 の点数が割り当てられるが,ここでは,各マスのポイント を1点とした場合の得点計算方法についての説明する.

(3)

中央のマスは完全には囲まれていないため,タイルポ イントは7点,領域ポイントは0点となる(図4(a)). 中央のマスは周囲を囲まれているため,タイルポイン トは8点,領域ポイントは1点となる(図4(b)). タイルが8近傍で連結している限り,その内側の領域 は囲まれているとみなされる.したがって,以下のよ うにタイルが置かれている場合も,中央のマスは囲ま れているとみなし,タイルポイントは4点,領域ポイ ントは1点となる(図4(c)). 中央の4マス分の領域が囲まれているため,タイルポ イントは12点,領域ポイントは4点となる(図4(d)). (a) マスが囲まれていない例 (b) マスが囲まれている例 (c) マスが囲まれている例 (d) 複数のマスが囲まれている例4 ポイントの計算方法 2.1.4 試合形式 1チーム対1チームの試合を同時に3試合,つまり,チー ムAがチームB,C,Dと同時に試合をする可能性がある. ファーストステージ,セカンドステージ,ファイナルス テージに分かれており,ファーストステージとセカンドス テージは3または4チームによるリーグ戦となる.また, ファーストステージで敗退したチームの敗者復活予備戦, 敗者復活戦も3または4チームによるリーグ戦で行われ, 敗者復活戦のリーグ1位のチームがセカンドステージに進 みます.ファイナルステージは,8チームによるトーナメ ント戦を行う. 2.1.5 回答の送信方法 各ターンの作戦ステップ時に,各チームはエージェント の次ステップの行動を回答システムのサーバーへ送るこ とができる.競技ブースに用意された有線LANに各チー ムの受信側PCを接続し,回答システムに用意されている html回答フォームに入力,または主催者が提供するソフト ウェアを用いて送信する.回答には,httpのPOST形式 を利用する. 2.1.6 勝敗決定方法 勝敗判定は以下の優先順位で決定する. タイルポイントと領域ポイントの合計ポイントが大き い方のチームが勝利する. 合計ポイントが等しい場合,タイルポイントが大きい 方のチームが勝利する. 合計ポイントとタイルポイントが等しい場合,トラン プなどで勝敗を決めるか引き分けとする. 2.2 競技システムの開発 競技システムの構成を図5に示す.競技サーバでは,主 に,選手へのフィールド情報の送信,選手からの回答受信, 回答の集計を行っている.また,プロジェクタを介した会 場内のスクリーン投影,および,ライブ中継のために,表 示用サーバから,図6のような出力を行った.最大で16 チーム24対戦が行われており,同時に,他の試合の結果を 会場内のスクリーンやライブ配信では見ることができない ため,オンデマンド型で結果を配信することを試みた (図 7).このシステムは,コンテナ仮想化を用いてアプリケー ションが開発されているので,OSに依存することなく利 用することが可能である. 競技 サーバ データベース サーバ 表示用サーバ チーム 1 チーム 2 チーム 3 チーム 4 チーム 14 チーム 14 チーム 15 チーム 16 プロジェクタ ライブ中継 競技システム 選 手 フィールド情報送信 (json形式) → ← 回答送信 (json形式) 図5 競技システムの構成 図6 対戦結果の表示

(4)

7 オンデマンド型での結果配信

3.

コンテストの実施

3.1 大会概要 全国の高専生から陣取りゲームの解法を記載した応募書 類を提出してもらい,予選審査を通過した60チームが出場 する予定であったが,台風接近に伴い,4チームが辞退す ることになった.また,後述する国際プログラミングコン テストを開催することもあり,本大会では,日本国内チー ムのみの対戦となった. 準決勝,決勝に進出したチームは,深層学習を利用して, 事前にフィールド情報や行動パターンを学習させていた チームが多かった.今後,人工知能が社会全体を支える基 盤技術になると予想されるため,この競技を通じ,最適解 探索や人工知能についての理解が深まったチームもあった (図8,図9).高専プロコンではパンフレットを発行してお り,そのパンフレットには参加チームがどのように陣取り ゲームの解き方について説明している.アルゴリズムや使 用したライブラリを集計したところ,モンテカルロ木探索, ビームサーチ,ミニマックス法などの最適解探索を用い ているチームが多かった(表1).それぞれの探索アルゴリ

ズムによって得られた解をAlphaGoやDeep Q-Network

(DQN)などを用いて機械学習を行っている.13チームに ついては,機械学習のアルゴリズムやライブラリの名称を 記載していた[10, 11].14チームについては,パンフレッ トから使用している探索アルゴリズムが推測できなかっ たが,独自の探索アルゴリズムを開発していると推測され る.多くのチームは,学生間で議論をしながら,問題設定, 設計,実装,試用を行っている.競技部門でも,学生のア イディアと発想力は必要であり,前年度の大会の状況を解 図8 会場全景 図9 会場全景 表1 使用したアルゴリズムの名称とチーム数 2018年 2019年 アルゴリズムの名称 (65チーム) (60チーム) モンテカルロ木探索 10 15 ビームサーチ 6 11 αβ法 3 3 ミニマックス法 6 3 その他(AlphaGO,DQNなど) 16 13 独自開発(アルゴリズム不明も含む) 24 14 析し,探索アルゴリズムを変更しているチームも見受けら れる. 3.2 国際プログラミングコンテスト 2019年12月には,ベトナム・ダナン工業大学にて,情報 オリンピックベトナム予選が開催された.それに併せて, 国際プログラミングコンテストベトナム予選が開催された (図10,図11).この予選にて,上位に入賞したチームは, 2020年3月に開催される予定のNAPROCKが主催する 国際プログラミングコンテストに出場することになってい た.また,マレーシア,香港,モンゴルでは,ベトナム予 選と同様に,予選が行われた.しかしながら,ベトナム, マレーシア,タイ,モンゴル,香港,日本から選抜された チームが出場する国際プログラミングコンテストを開催す る予定であり,海外のプログラマーが参加する機会でなる 予定であったが,新型肺炎の流行に伴い,残念ながら,国

(5)

際プログラミングコンテストの書類選考のみが行われた. 図10 情報オリンピックベトナム予選の開会式 図11 国際プログラミングコンテストベトナム予選

4.

おわりに

2019年の高専プロコン競技部門では,陣取りゲームを題 材とした競技システムを構築し,プログラミング教材を開 発した.競技部門の参加した学生にとっては,深層学習を 利用していたチームも見られ,この競技を通じ,探索方法 や人工知能についての理解を深められた学生も多かった. 高専プロコンのシステム開発は1年以上の歳月を要する 一方で,今後も高専プロコン競技部門が,高専生にとって, 有意義な大会になるように努力していきたい. 謝辞 大会運営のサポートをしていただいた都城工業高 等専門学校の学生,および,教職員の皆様に,この場をお 借りし,お礼申し上げます.また,競技システムの開発を していただいた久留米高専OB 竹中孝介氏,千北一期氏, 宮崎泰輔氏,沖縄高専OB與那城有氏に,この場をお借り し,お礼を申し上げます.また,クラウドサービスをご提 供していただいたさくらインターネット株式会社のエンジ ニアの皆様,ライブ配信のご協力をいただいたヤフー株式 会社のエンジニアの皆様にも感謝いたします. 参考文献 [1] 寺元貴幸,長尾和彦,松野良信,中道義之,谷澤俊弘,山口 巧,今井一雅,金寺登,井上恭輔,山下晃弘,岡田正,川田 重夫: インターネット対戦型戦略ゲームへの参加による 実践的プログラミング,計算工学講演会論文集, 16, F-6-5, (2011). [2] 寺元貴幸,長尾和彦,松野良信,中道義之,小保方幸次,千 田栄幸,井上泰仁,片山英昭,熊谷一生,奥田遼介,川田重 夫:画像修復対戦ゲームへの参加による実践的プログラミ ング教育,計算工学講演会論文集, 17, H-4-4, (2012). [3] 寺元貴幸,長尾和彦,松野良信,中道義之,千田栄幸,井上 泰仁,尋木信一,奥田遼介,鈴木貴樹,川田重夫: サイコロ 数えゲームへの参加による実践的プログラミング教育,計 算工学講演会論文集, 18, C-8-6, (2013). [4] 寺元貴幸,森川一,松野良信,中道義之,鈴木貴樹,奥田遼 介,小保方幸次,千田栄幸,井上泰仁,川田重夫: サイコロ 通信ゲームへの参加による実践的プログラミング教育,計 算工学講演会論文集, 19, F-12-5, (2014). [5] 寺元貴幸,井上泰仁,松野良信,中道義之,鈴木貴樹,後藤 弘明,奥田遼介,千田栄幸,井上泰仁,長尾和彦,川田重夫: 画像修復ゲームへの参加による実践的プログラミング教 育,計算工学講演会論文集, 20, F-12-1, (2015). [6] 寺元貴幸,井上泰仁,小保方幸次,藤田悠,伊藤祥一,奥本 隼,若林哲宇,猪田陽介,奥田遼介, 長尾和彦,川田重夫: ピース敷き詰め型ゲームへの参加による実践的プログラ ミング教育,計算工学講演会論文集, 21, E-10-6, (2016). [7] 寺元貴幸,小保方幸次,井上泰仁,出江幸重,江崎修央,田 添丈博,奥田遼介,川田重夫: シルエットパズル型ゲーム への参加による実践的プログラミング教育,計算工学講演 会論文集, 22, D-12-5, (2017). [8] 寺元貴幸,小保方幸次,井上泰仁,橘理恵,石原良晃,出 江幸重,奥田遼介,川田重夫: シルエットパズル型ゲーム IIへの参加による実践的プログラミング教育,計算工学講 演会論文集, 23, F-3-1, (2018). [9] 寺元貴幸,黒木祥光,小保方幸次,井上泰仁,太田健吾, 岡本浩行,奥田遼介,川田 重夫: 陣取り型ゲームへの参 加による実践的プログラミング教育,計算工学講演会論文 集, 24, C-12-3, (2019).

[10] Silver, D., Schrittwieser, J., Simonyan, K. et al.: Master-ing the game of Go without human knowledge, Nature, 550, 354–359 (2017)

[11] Mnih, V., Kavukcuoglu, K., Silver, D. et al.: Playing Atari with Deep Reinforcement Learning, NIPS Deep Learning Workshop 2013, 1-9, (2013).

図 7 オンデマンド型での結果配信 3. コンテストの実施 3.1 大会概要 全国の高専生から陣取りゲームの解法を記載した応募書 類を提出してもらい,予選審査を通過した 60 チームが出場 する予定であったが,台風接近に伴い, 4 チームが辞退す ることになった.また,後述する国際プログラミングコン テストを開催することもあり,本大会では,日本国内チー ムのみの対戦となった. 準決勝,決勝に進出したチームは,深層学習を利用して, 事前にフィールド情報や行動パターンを学習させていた チームが多かった.今後,人

参照

関連したドキュメント

Kitabayashi, “Electrochemical Properties of RuO 2 Catalyst for Air Electrode of Lithium Air Battery“, ECS Transactions, (2014), Submitted. Saito, “Electrochemical properties of

This study examines the efficacy of tae lecture,"Theory and Practice on Outdoor Education" , which has given last two years as a teacher training program.In the academic

「技術力」と「人間力」を兼ね備えた人材育成に注力し、専門知識や技術の教育によりファシリ

実習と共に教材教具論のような実践的分野の重要性は高い。教材開発という実践的な形で、教員養

市民社会セクターの可能性 110年ぶりの大改革の成果と課題 岡本仁宏法学部教授共編著 関西学院大学出版会

具体的な取組の 状況とその効果 に対する評価.

図および図は本学で運用中の LMS「LUNA」に iPad 版からアクセスしたものである。こ こで示した図からわかるように iPad 版から LUNA にアクセスした画面の「見た目」や使い勝手

開発途上国では SRHR