ガイスターAI大会@GAT2018

大会の目的/Purpose

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

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

大会の概要/Outline

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

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

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

    ガイスターについて

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