プレイデータ公開

記載日:2025/03/04

記載者:奥田真 (2025年卒業予定 M2)

記載の対象バージョン:v1.0.0

目次

概要

ここはHanabiアプリで得られたデータセットについて説明するページです. Hanabiアプリ研究そのもの,このデータがどのように集められたか,分析事例については以下を参照してください.

データセットはHanabiアプリ研究を改良したい, またはデータを利用して新しいHanabiのAIを作ろうとする人にとって有用かもしれません.

公開データセット

データはSQLiteファイルで公開しています.以下からダウンロード可能です.

v1.0.0 (2025/03/03) SQLite

データ形式

ER図

ER図

userテーブル:ユーザ情報

実験に参加したユーザの情報がここに記されます. なお,ユーザが公開したデータを見て自分のプレイデータが識別できないよう, ユーザ名など一部の項目は実験で実際に用いられたものにはなっていないことに注意してください.

pre_surveyテーブル:事前アンケート

ゲームプレイ開始前に,ボードゲームのプレイ経験などを問うアンケートを実施しました.その結果をここに記しています.

質問IDと回答IDの組み合わせは以下の通りです.

実験参加について

ゲーム経験について

participantテーブル:ゲームに参加したプレイヤの情報

分析の際はこのテーブルの扱いに注意してください.サーバ上で1ゲーム実施されるたび, そのゲームのゲームIDと参加したユーザのユーザIDがプレイ人数ぶんの行数記録されます. これは将来的により多くの人数のプレイを想定した設計になっているためですが, v1.0.0では2人プレイのゲームしか記録されませんので,1ゲームあたり2行ずつ追加されていきます. ER図にあるように,userテーブルとgame_infoテーブルとは1対多の関係にあります. 特定ユーザが参加したゲーム群を取得するには,このテーブルからゲームIDのリストを取得し, それとgame_infoテーブルのidと照らし合わせて参照する必要があります. なお,AIのuser_idは負の値が割り振られており,v1.0.0ではベースラインのAI「Alpha」が-1で, 比較のための工夫アリのAI「Beta」が-2です.

game_infoテーブル:ゲーム情報

ゲームごとの情報が記録されています.一手ごとの情報はplay_logテーブルに記載されています.

play_logテーブル:プレイログ

手番ごとの情報を記録しています.

actionの定義

game_surveyテーブル:ゲームごとアンケート

ゲーム終了ごと実施されたアンケートの結果を記録しています.

簡単なガイド

SQLiteは良書やインターネット上に情報源も多いので, 基本はご自身の目的に応じて手段やソフトを調べていただく形になりますが, ここではその調べるための情報やデータセットを読み込む一例について記します.

SQLiteとは

SQLiteはオープンソースで軽量のRDBMS (Relational Database Management System:リレーショナルデータベース管理システム)です. RDBMSは簡単に言うと,エクセルのシートが複数入ったファイルです. SQLというDBを操作するための言語を用いて各テーブルの作成・更新・削除などが可能です. SQLを用いたデータ操作については一度覚えてしまえば, SQLite以外のDBでも利用可能なのでこれを機に学んでしまう手もあります.(そんなに難しくありません)

手段・ソフトなど

扱うための手段・ソフトもいろんなものが存在します. データを読み込むだけであれば,既存のDBビュアー(DB Browser, DBeaverなど)がありますのでこれがお手軽です. VSCodeでも拡張機能を導入することで閲覧が可能です. 閲覧以上のこと(条件抽出やDBの構造変更)は種々の言語やツールで可能です. Pythonので一手の思考時間を扱う例を コチラ に添付します. Pythonやパッケージのバージョン,説明についてはノートブック内に記載していますのでそちらをご覧ください. なお,コードはあくまで一例であり,最善なものとは限らないことに注意してください.

バージョン管理

ざっくりと以下の運用で,セマンティックバージョニングで行っています. 新バージョンのDBを公開した場合,本ページ一番上の「記載の対象バージョン」を変更し変更部分説明を更新していますので, 過去のバージョンを見たい場合はコチラ(今後追加予定)から見てください.

vX.Y.Z