ガイスターAI大会@GAT2019

大会結果/Results

初参加のプログラムが増え、7チームの参加でした。 前回大会とGPW杯で連覇中の立木システムプレイヤー(ver.2019GAT)が5位になるという波乱の展開になりました。 そんな中、優勝経験のあるNaottiMinMaxが堂々の1位で予選通過。初参加で予選2位のStrongStrongMasashiと 優勝決定戦が行われました。 予選で連勝したNaottiMinMaxが有利と見られていましたが、何とStrongStrongMasashiが2連勝で見事優勝! いずれも早々に相手の赤を一つにしてしまう有利な展開からの粘り勝ちでした。
対戦表
Naotti 立木 SSM Rgeister mo10000 gaisuta-2 kimster 勝点 順位
NaottiMinMax ○○ ○○ ○○ ○x ○○ ○○ 33 1
立木システムプレイヤー(ver.2019GAT) xx xx x○ x○ x○ ○○ 15 5
StrongStrongMasashi xx ○○ △○ ○○ ○○ ○x 25 2
Rgeister xx x○ x△ xx xx ○x 7 6
mo10000 ○x x○ xx ○○ xx ○○ 18 4
gaisuta-2 xx x○ xx ○○ ○○ ○○ 21 3
kimster xx xx ○x x○ xx xx 6 7


決勝
NaottiMinMax XX StrongStrongMasashi ○○
StrongStrongMasashiの優勝!

また、今回短い持ち時間(1手0.5秒)で10回対戦(先後入替で各5回)を行う多対戦大会も合わせて行いました。
ガイスターはどうしても運の要素があるゲームなので、開発者にはなるべく多く対戦して どのような結果になるか見てみたいという気持があるので、今回試験的に行いました。
3チームの参加(mo10000は連続対戦の不具合で棄権)がありました。


多対戦大会 対戦表
Naotti 立木 SSM 順位
NaottiMinMax 2-2-1 2-1-2 11-5-4 1
4-1-0 3-1-1
立木システムプレイヤー(ver.2019GAT) 1-4-0 1-2-2 5-12-3 3
2-2-1 1-4-0
StrongStrongMasashi 1-2-2 4-1-0 8-7-5 2
1-3-1 2-1-2
勝ー敗ー分

多対戦大会はNaottiMinMaxの優勝となりました!

大会参加者/Players

プログラムと開発者
プログラム名 開発者
NaottiMinMax 川上直人(松江工業高等専門学校)
立木システムプレイヤー(ver.2019GAT) 末續鴻輝(京都大学)織田祐輔(大阪大学)
StrongStrongMasashi 伊藤雅士,大久保壮浩,木谷裕紀,小野廣隆(名古屋大学)
Rgeister 園田 夕莉(立命館大学)泉 知論(立命館大学)
mo10000 伊藤篤志(電気通信大学)
gaisuta-2 清水康平(電気通信大学)
kimster 木村勇太(電気通信大学)

大会の目的/Purpose

GPCCでも2年連続取り上げられるなど、人気のあるボードゲーム「ガイスター」AIの試合を行い、 不完全情報要素のある面白い題材のガイスターAI研究を促進することを目的とする。

サーバを介したAI同士の自動対戦をおこなう。

大会の概要/Outline

  • 日程:2019年 3月9日 (土) ~ 10日 (日)
  • 会場:電気通信大学内/University of Electro-Communications
  • 実行委員長:松江工業高等専門学校 橋本 剛
  • 参加条件:
    • 自作のガイスターAIプログラムを持参すること。コンピュータはなるべく持参してください。
    • (こちらでC++コンパイラ(Visual Studio)の入ったWindowsのノートパソコンを用意する予定ですが, プログラムが動く保証はありません。スペックは後日お知らせします。)
    • 当日会場にいること。
    • ただし、操作する代理人がいれば、開発者は不在でも構いません。(試合開始~終了までが全自動であれば、私たちが代理人としてプログラムを動かすことができます)
  • 対戦形式(勝ち点計算方法を変更しました):
    • リーグ戦 (総当りの予定。参加者が多ければスイス式)で上位2者を決定し、優勝決定戦を行う
    • リーグ戦各組み合わせについて, 先手後手を交代して2試合おこなう。
    • リーグ戦各試合は,勝ち3点,引き分け1点,負け0点として勝ち点を計算しその合計で順位を決定する。
    • 優勝決定戦は, 先手後手を交代して2試合行う。引き分けとなった場合は, じゃんけんで先後を決定しさらにもう1試合で優勝を決定する
    • 試合順は, 試合進行に応じて審判が決定する。
  • 対戦プロトコル:

    • 以下のルールに基づいたガイスターサーバーを用いる予定です。対戦プロトコルは以下のURLを参照してください。
    • 対戦プロトコル
    • サーバ1台, クライアント2台を用います。サーバ用コンピュータはこちらで用意します(Windows 7またはWindows10)。
    • 不正手を送った場合はで負けとします。
    • (TCP/IP通信で文字列をやり取りします. それさえ可能であれば, どのOS, どの環境で作っていただいてもかまいません)
    • (現在は, 手元のWindows10マシン/Visual Studio 2015で開発した, C++によるAIが動作することを確認済みです。)
  • 時間制限:
    • それぞれに10分の持ち時間が与えられます。切れたら1手10秒制限になります。
    • 時間切れは負けになります。
    • 時間はサーバーで計測します。
  • 引き分けについて:
    • 200手目を指したところ(先手100手、後手100手)で勝敗が決まっていなければ引き分けといたします。(手数を変更しました)
  • 対戦プログラムに与えられる入力について (概要)
    • 盤面状態(相手の駒の色は分かりませんが、自分の駒の色・取った相手の駒の色は分かります)
    • 残り時間(自分, 相手)は、現在の仕様では与えられませんが、大会までには与えられるようにする予定です
    • 詳細はこちら → 対戦プロトコル。
  • 申し込み・問い合わせ
    • 申し込み期限:大会開始直前まで(なるべく、2月28日までにお願いします)
    • 申込み・問い合わせ:松江高専 橋本までメールでお願いします。
      hashimoto●matsue_-_ct_dot_jp (●を@に, _-_を-に, _dot_を.に変えてください)
  • 参考:
  • 多対戦短時間版大会: ガイスターは不完全情報ゲームのため, 運による要素もあります。そのため、なるべく試合数を多くして性能を評価したいと考えることも自然です。そこで, 同一対戦をたくさん(100回)行う競技を別に実施しようと考えています。同一マシン上(Windows10)で2つのプログラムを連続対戦させます。1手0.5秒以内, シングルスレッドで動く事を条件とします。詳細は決まり次第お知らせします。
  • 動作環境など/Setting

    • サーバマシン:
      • 型番:
      • スペック:
      • OS:
      • 搭載コンパイラ:Visual Studio 2017 c++コンパイラ(cl)
    • クライアントマシン(こちらで用意している1台):
      • 型番:
      • スペック:
      • OS:
      • 搭載コンパイラ:Visual Studio 2015のc++コンパイラ(cl)
    • 以下のシステム要件を満たすクライアントマシン・プログラムを, 各自持参して頂けると助かります。
      • OS:指定なし。Windowsの方が運営トラブルが少ないかもしれないです。
      • ガイスターサーバーのプロトコル(TCP/IPでやり取り)に準じた, ガイスターAIのプログラム。
    詳細は逐次更新します。

    ガイスターについて

    ガイスターは, 相手の駒が見えないチェスです。
    何が襲ってくるか互いに分からないというスリルを味わえます。
    十字方向に動かせる駒を互いに8個(青4個, 赤4個)持ち, 自陣の8マスに自由に設置した後, 先手後手が交互に動かしていきます。
    このゲームの勝利条件は、相手の青い駒(良いオバケ)をすべて取る or 自分の赤い駒(悪いオバケ)をすべて相手に取らせる or 自分の青い駒(良いオバケ)を1匹盤外に脱出させる、のいずれかです。
    なお, ローカルルールとして「自分の駒が見えないバージョンのガイスター」もあります。こちらもなかなか面白いですよ。