Renju record checker

投稿者: | 2017-04-03

Renjuプログラムのテストや性能測定の一部では過去に収集した棋譜を使っています。手元には

  • ORC Game Center(約92万局)
  • RenjuNet(約4万局)
  • Renjuoffline(約11万局)

の計107万局があるのですが、人間同士の棋譜がほとんどなのでどうしてもREAL Coreが前提とする正規性、終端条件が満たされていない棋譜が一定数存在します。

そのため、棋譜の正規性、終端条件をチェックするプログラムRenju record checkerを作りました。

プログラムでは正規性として

  • 着手が空点でないこと
  • 着手が禁手でないこと
  • 相手に四がある場合は止めること

をチェックし、終端条件として

  • 達四ができた
  • 四々ができた
  • 四ノビの防手を禁手にできた

をチェックし、満たされていない場合は棋譜をそこで打ち切って正規性、終端条件が満たされるように棋譜を修正します。

手元の107万局でチェックしたところ

  • 正規性を満たしていない棋譜:約14万局(約13%)
  • 終端条件による結果が記録と異なる棋譜:約1万局(約1%)

になりました。投了の意思表示として相手の四ノビを意図的に止めないケースもあるので正規性を満たしていない棋譜はそれなりにあると思っていましたが終端条件による結果が記録と異なる棋譜(四連があることにお互いに気づかず対局が進んだケースなど)が約1%という結構多いな印象です。

テストや性能測定用にプログラムが前提とするデータを用意するのはもちろん必要で、さらに将来的に機械学習をすることを考えると対局結果が(コンピュータにとって)明らかに間違った結果というのは学習の際にノイズとなるので、その意味でもチェックをかけてクレンジングしたデータを用意するというのは重要だと思います。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください