魅力的な将棋AIコンテスト

コンピュータ将棋 Advent Calendar 2016 8日目

はじめに

この記事は表題の通り、コンピュータ将棋 Advent Calendar 2016 8日目の記事です。

テーマについて

当初は強化学習について書くつもりでしたが、魅力的な将棋AIについて書きます。

理由として、現在の自分自身の強化学習へのモチベーションが魅力的な将棋AIに対して低く、GA将の森岡さんとテーマが被っていたことが挙げられます。

魅力的な将棋AIとは

2016年4月~5月に81道場にて、「魅力的な将棋AIコンテスト」のプレマッチが実施されました。

本コンテストでは対局の楽しさ・チャット機能・感想戦機能などを評価項目として、ユーザのアンケートにて将棋AIの魅力を評価を行いました。

「ひまわり」が実装した魅力的な機能

コンテスト参加時に書いた紹介文はこちらです。また、コンテスト開催中に書いたざっくりした解説はこちらです。

ひまわりは特別優れた点はありませんでしたが、総合的に魅力的と評価していただきコンテストに優勝しています。(結果はこちら

コンテストの終了後の反省点として、

  • チャットでのあいさつが日本語しか対応していなかった
  • 相手の棋力を判断して指し手を変えることが出来なかった
  • BOTのレーティング表示を妥当なものに変更しなかった(デフォルト値の1500程度?のままだった)

などがありました。

今回ひまわりで実装した機能や反省点は比較的基本的な事項ばかりで、この上に魅力的な機能がついてくるのかなと考えています。

次項では魅力的な機能の一例として、私が魅力的と考える将棋アプリを紹介します。

魅力的な将棋アプリ「ねこ将棋」

今回のコンテストには参加していませんが、私が魅力的と感じる将棋ソフトに「ねこ将棋」というものがあります。

このアプリでは対局時にAIが合法手から指手を3通りを提案し、ユーザはAIが提案した手を選択する形で対局が進行します。AIが提案する指手は1つが良い手で残りの2手は外れとなっており、どの局面でも3通り考えれば良いので取っつきやすいです。

このアプリはたとえ駒の動かし方が分からなくても将棋を指すことが出来るのが魅力で、将棋の楽しさを伝えるアイデアがあると考えています。

終わりに

将棋AIの棋力向上については盛んに研究がされており、既にプロ棋士に匹敵する棋力を有しています。一方、初級者・級位者に対して適切に指導する将棋AIなどの研究は盛んではありません。

今後も「魅力的な将棋AIコンテスト」が継続的に実施され、参加者が増えることでこの分野の研究が増えることを期待しています。

 

魅力的な将棋AIコンテスト プレマッチ

4月1日より、81道場で開催されている『魅力的な将棋AIコンテスト プレマッチ』が始まりました。
ひまわりも参加中です。

詳細は以下のリンクをご参照下さい。
紹介ページ

ここでは、今後のために少し技術的なことを書き残しておきたいと思います。
次回以降、参加を予定される方に少しでも参考になればと思います。

 
■魅力以前の機能について
プロトコル自体は非公開の文書なので具体的な話は避けますが、普段将棋所を使用する開発者はCSAプロトコルへの対応が一番のハードルだと思います。
今回はソースコードが公開されているUSI将棋を元に81道場のプロトコルに対応しました。

正直なところ、ベース部分に関してはなるべく労力をかけるべきではないと思うので他の参加者が必要とするならばUSI将棋からの差分を提供するなどしたいと思います。
一番、情報共有が必要な場面だと思います。

 
■魅力的な機能について
今回実装した魅力的な機能は対局終了後に好手・悪手を提案する機能のみです。
紹介文には内容を水増すために3つ書きましたが、最初の2つは提供された機能を使用するだけのため、特に面白みはありません。

魅力的な機能について、最初に実装しようと考えたのが対局から棋力を推測して知らせる機能でした。
2014年のGPWでYSSの山下さんが発表されたようなことを1局の将棋で実施するというものです。
参考:将棋名人のレーティングと棋譜分析

結果的に開発時間が取れず好手・悪手の提示のみになりましたが、存外好評なようなので方向性は悪くなかったかと考えています。
次回があればブラッシュアップしたいです。

 
■感想戦の実装について
81道場では対局後に感想戦が行えますが、これを実装するのは容易ではないという印象です。
今回参加のボットではBCMAIが感想戦に対応しているとのことで、素晴らしいなと感じています。

一番悩みどころなのがどのタイミングで感想戦を打ち切るのか、です。
あまり長い時間行うと対局できない人が出てきますし、時間を切るのも物足りない気がします。

これも次回は対応したい機能です。

 
■投入しているひまわりの棋力について
現在、5分30秒で対局するHimawari_botと15分60秒で対局するHimawari_bot2がいます。
これらは、VPS上でそれぞれ1スレッドで動作しています。
相手の手番で先読みは行っていません。

時間は以下のように短めに設定しています。
Himawari_bot : 2分10秒
Himawari_bot2 : 10分10秒

これは、切れ負けなどが無いようにと思っての設定です。

コンテスト開始の1週間前からfloodgateに投入したところ、大体R2450程度のようです。
これは10分10秒で先読みありに設定しており、81道場にいるものはこれよりも弱いと思います。

棋譜はちゃんと見ていませんが、高段の方は割と勝てているようです。

 
今のところ、こんな感じです。
せっかく参加したので、なるべく多くの方に楽しんでいただけたらと考えています。

81道場はアカウント登録をしなくても遊べるようなので、この機会にぜひ対局して頂けたらと思います。