GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

Road to 第1回UEC杯 in GATサイコロ将棋大会

 http://minerva.cs.uec.ac.jp/~uec55shogi/wiki.cgi?page=%C2%E81%B2%F3UEC%C7%D5+in+GAT%A5%B5%A5%A4%A5%B3%A5%ED%BE%AD%B4%FD%C2%E7%B2%F1

 ジムでエアロバイク漕ぎながらプランを練ってきたんで、まとめておきます。

スケジュール

2016/12末まで
HYPERサイコロ将棋のルール実装
2017/01末まで
学習ルーチンの実装
2017/03/08or09(大会当日)まで
学習させつつ実戦用探索ルーチン・通信プロトコルの実装

ルール部分の修正箇所(5五将棋との差分)

  • ダイスの出目は、局面遷移直後に確定させ、局面クラスのメンバ変数として持っておくのが楽そう。
  • ダイスの出目に応じた手生成ルーチンを実装。
  • 千日手判定ルーチンの無効化。
  • 「ステイルメイト*1の禁」の実装。

学習ルーチンについて

 Suttonさんの「強化学習」にTD-Gammonの事が載ってたはずなので、まずはその辺から調査。

 基本的にはPGLeafベースで行く予定。

実戦用探索ルーチンについて

 本将棋5五将棋とは違い、内部ノードでの合法手はダイスの出目に応じて変化する。その為、何らかの方法でランダムさに対処する必要がある。

 プラントしては3つ検討中。

  1. 全てのダイスの出目のうち、最も(手番側から見た)評価値が高くなるダイスが出たものとして扱う。
  2. 全てのダイスの出目に対して、評価値の平均値をそのノードの評価値とする。
  3. 全てのダイスの出目のうち、最も(手番側から見た)評価値が低くなるダイスが出たものとして扱う。

 1→2→3の順に楽観的→悲観的となっていく。

 多分、1は勝手読みが過ぎて上手く行かないと思うので、2か3で行く予定。

*1:王手がかかっていないが、合法手が存在しない局面