対戦ゲームに学ぶ、フレームワークの設計技法とAIのアルゴリズム入門 accepted

Abstract

ゼロ和対戦ゲームを通して、"フレームワークの設計技法" と "AIのアルゴリズム" という2つのテーマについて理解を深めていくセッションです。

ゲームの分類と定式化

例えば将棋は「二人零和有限確定完全情報ゲーム」というクラスタに位置するように、ターン制対戦ゲームはいくつかのクラスタに分類されます。それぞれのゲームとしての特徴や、適したAIアルゴリズムについて簡単な説明をします。
また、これ以降の章の準備として、ターン制ゲームの定式化について説明します。たとえば、長い歴史をもつ将棋の世界でも、ルールのコンフリクトを突いた「勝ちなのか負けなのか定まらない」局面の存在が示されるというとても興味深い出来事が今から約20年前に起きています。ここではゲームのルールを定式化した上で、可能ならそのルールの検査をするところまで考えてみます。

boardgame.io に学ぶ、フレームワーク設計の勘所

boardgame.io は、ターン制ゲームをJavaScriptで開発できるフレームワークです。ターン制ゲームの性質をシンプルに過不足なく捉え、なるべく宣言的にゲームのルールを書かせることで、ゲームの進行管理・インフラ・Viewの実装がとても楽になり、さらにはデバッガーやシンプルなAIも自動で作れてしまうという優れものです。このフレームワークの哲学を注意深く見ていくことで、「良いフレームワーク設計とは何なのか」という深遠なテーマを考察していきます。

ターン制対戦ゲームのAIの世界

チェスの Deep Blue や 囲碁の AlphaGo のように、技術の発展とゲームAIの発展は歴史上共にありました。ここでは初級者向けのテーマとして、枝刈りや評価関数、モンテカルロ木探索とその改良など、シンプルだが十分使えるAIのアルゴリズムについて解説します。また、「人狼知能」のように新しい種類のゲームへのAIを開発する試みについて話します。

実践!ボードゲームの実装と対戦

実際に boardgame.io を使って実装したオリジナルのトランプゲームを元に、ゲーム本体やAIのアルゴリズムがどのように設計・実装されるかを解説していきます。時間があれば、会場のみなさんとリアルタイムで対戦しましょう!

Video
Session Information
Confirmed confirmed
Starts On 8/30/19, 11:10 AM
Room Centennial Hall A
Session Duration 50 min session
Spoken Language Japanese
Interpretation Unavailable
Slide Language Japanese