kobanium / aobazero

Aoba Zero
Other
54 stars 8 forks source link

2019年11月1日時点での先手勝率や千日手の局数など #22

Open yssaya opened 4 years ago

yssaya commented 4 years ago
  1. 平均手数 図1は1万棋譜ごとの平均手数です。 最初の12万棋譜はNNを使わずにPolicy、Valueともにプログラムで乱数を割り当てて作った棋譜で、200手程度で一定です。 現在の平均手数は125手でゆるやかな下降傾向にあります。

20191101moves_ave

  1. 先手勝率 図2は1万棋譜ごとの先手の勝率です。 80万棋譜で勝率が0.60からだと0.52まで急落してます。 これは後手が△44歩と角道を止めて振飛車を指しだした時期と一致します。 角道を止めずに単純に殴り合うと先手が勝ちやすく、それを避けたのかもしれません。 振飛車とはいっても△32金と上がる振飛車で△52金型の振飛車を指すのは260万棋譜とかなり後です。 この頃の棋力はアマ3段ほどと思われます。

190万棋譜で勝率が0.60から0.52に急落したのはMCTSの勝率の初期値を引き分け(0)から負け(-1)に 変更したためです。それまではこのバグのため勝率が悪い局面ではpUCTが多くの手を展開するようになり、 結果として「勝率が悪い後手がさらに多くの手を探索」 → 「もっと形勢が悪くなる」 と後手の勝率をさらに押し下げる結果となっていました。 現在の先手勝率は0.546でゆるやかな上昇傾向にあります。

20191101sente_winrate

  1. 千日手と512手超え(持将棋)の数 図3は1万棋譜ごとの千日手と512手を超えた局数でsy。この2つはともに引き分け、として扱われます。 持将棋の扱いが512手超えともいえます。 学習開始直後は512手超えが全体の半分近くになるほどでした。 これは1手詰の形を学習してそれを避けるようになり手数が伸びたと思われます。 プログラムで乱数を与えた初期の棋譜では探索もしているのである程度の確率で王を詰ませてました。 それ以降、急激に512手超えは減り、引き分けはほぼ千日手です。 これはCSA選手権が採用している27点法で勝宣言を行っているため、入玉模様になった将棋はどちらかが 確実に宣言勝ちをしているためと思われます。 なお、点数による勝宣言はUSIエンジン(aobaz)では行わずautousiが行ってます。 そのため探索中には評価関数であるNNが27点での勝ちを認識しています。 千日手はUSIエンジンが探索中に同型になった場合にも判定しているので、NNがどの程度千日手の局面を 引き分けと判定しているかは不明です。 千日手は徐々に上昇傾向にあります。現在は1万棋譜で414局、約4%が千日手です。

20191101draw512

  1. 勝宣言の局数 図4は1万棋譜ごとの勝宣言の局数です。先手と後手の両方の合計で割合はほぼ半分で一定です。 勝宣言も徐々に上昇傾向にあります。平均手数は下降傾向なので、入玉模様になったときの 宣言勝ちが上手くなっていると思われます。 20191101declare