こんにちは、鈴木俊吾(すずしん)です。
先日、私は自分の棋譜からタクティクス問題を自動生成して復習することができるウェブアプリ『Caltrilo』をリリースしました。
その『Caltrilo』に、前回の記事で予告していた、StockfishとのAI対戦機能を盛り込みました。
また、その他、細かい修正や機能追加を行っています。
そこで、今回の記事では、『Caltrilo』の新機能について紹介します。
実際に、Stockfishと対戦してみて、振り返りと問題生成の流れについて解説していきます。
以前よりもさらに充実化しましたので、きっと気に入ってもらえると思いますよ。
なぜCaltriloにAI対戦を追加したのか
『Caltrilo』の初期版では、解析と問題生成をメインとしていました。
対局機能は無く、棋譜を取り込むことで、解析と問題生成を行い復習するという流れでした。
ただ、できれば同じアプリ内で、「実戦→解析→問題演習→復習→次の実戦」というサイクルを回せるようにするのが理想的だと思いませんか?
そこで、前回の記事の段階で、AI対戦機能の追加の予告をしていました。
基本的には、Chess.comやLichessでの対局データを使うのを想定していますが…。
おそらく、対人戦が怖いという方もいますよね。
そこで、手軽に対戦しやすいStockfishとのAI対戦機能があると良いのではという発想になりました。
それに、Stockfishと対戦し、その棋譜を対人戦のデータと同様に扱うことで、解析や問題生成をできるようにしています。
つまり、実戦から復習までを、このアプリだけで回せるようになったのです。
今回追加・改善した4つの機能
今回、私が追加・改善した機能というのは以下のようになります。
- Stockfishとの対戦機能の追加
- 問題生成ルールの修正
- 練習メニューの提案
- 振り返り機能の充実化
まず、メインとなるのが、Stockfishとの対戦機能の追加です。
手番・制限時間・強さの目安を指定できるようにして、自分にあったレベルのAIと対戦できるようにしています。
問題生成ルールの変更点としては、以前のものは、自分や相手のミスの盤面を中心に問題化していました。
新しいものでは、これらに加えて、復習する価値が高いと思われる盤面も問題化するようにしています。
具体的には、実戦で長考した盤面や、実戦では最善手を指せたけど、復習するのが最適だと思われる盤面が追加されています。
復習する盤面を選ぶ狙いは、自分の判断を振り返り、次の実戦に生かすことです。
「改善できる判断があった」「判断が難しかった」「良い判断を再現したい」「学ぶテーマが具体的にある」という理由からです。
練習メニューの提案機能は、ユーザーが指定した練習時間に応じて、実戦・解析・問題演習の時間をどのように割り振れば良いかの目安を提示します。
実際の練習時間は統計情報として保存され、振り返り画面で確認することが可能です。
振り返り機能は、問題演習の結果、正解・不正解となった問題のテーマごとに正解率を表示するようにしています。
ここで言うテーマというのは、「浮き駒」「メイトの見落とし」「フォーク」「ピン」などの戦術を指します。
これにより、自分がどんな問題に弱点があるかを確認できるようになっています。
また、練習時間、学習記録、Chess.comやLichessのレーティングの変化、AIとの対戦も含む勝敗数などの統計も表示できるようにしました。
日々の成長度合いの振り返りがしやすい構成になったかと思います。
実際にAIと対局して、振り返りと復習まで試してみた
試しに、私自身もStockfishと対戦してみようと思います。
対局から振り返りまでの流れを紹介しますね。
Stockfishと1局対戦する
AI対戦を行う場合、自分の手番・制限時間・強さ(レート目安)を指定します。
今回、私は「白番」「30分」「レート800」という設定にしてみました。
ちなみに、パソコンから利用していますが、スマホでも大丈夫です。

実際の対局の様子はこちら。
盤面・棋譜・制限時間が表示されます。
Chess.comやLichessと似たような画面構成です。

対局を振り返り、気になった局面を確認する
対局が終わると、自動的に解析が始まります。
そのまましばらく待つと、検討画面に移ります。
この画面で、実際の指し手を操作して、評価値の変化や最善手などを確認することが可能です。
さきほど掲載した、対局画面での盤面を分析してみます。
この状況で、私はBg5としましたが、最善手はBg3のようでした。
ある程度有利な局面ですが、評価値が若干落ちましたね…。
私は攻めに転じましたが、ここでは静かな手を指すべき局面だったようです。
ただ、私としては、なぜここで静かな手なのかがよく分からなかったりしますね…。
この辺については、もっと知識が身に付いてくると分かるのでしょうか。

全体の局面を確認したところ、どうやら7手メイトを見逃したようです。
とは言え、今の実力で7手メイトを自力で見つけるのは、流石に無理かなと思います(笑)。
でも、とても勉強にはなりますよね。
自分の対局から生成された問題を解く
では、さきほどの対局からどんな問題が作られたか確認します。
実際の問題例は、以下のようになります。
あなたもぜひ解いてみてくださいね。

考えてみましたでしょうか?
1手目は比較的分かりやすいかと思います。
問題は2手目です。
……。
正解は、白番bxa3に対して、黒番が0-0となり、白番でBg3となります。
ちなみに、この後の読み筋についても適宜解説があります。
この後の展開を確認したい方はチェックできるようになっていますよ。
ただ、実際にあなたが確認できるのは、基本的にアプリで取り込んだ対局またはAI対戦の棋譜のみです。
今回は非公開のAI対戦の棋譜なので、読者の方はこの問題自体の解説をアプリで読むことができません。ご了承ください。
提案された練習メニューを確認する
練習メニューの提案機能の仕組みは、非常にシンプルなものとなっています。
具体的には、目安となる練習時間を指定すると、対局・解析・問題でどの程度の時間を使うとよいかを計算して提示します。
ちなみに、問題演習を重視した時間配分となっていますね。
実際の練習時間は計測されていて、後で振り返り画面から統計情報を確認できます。
タクティクス問題を解く際は、通常モードの他、苦手なテーマに絞って演習するモードも追加してあります。

ちなみに、私が実際に使ってみると、問題演習にかける時間が想定よりも長めになりました。
というのも、問題を解いた後、解説をじっくり読むことが多いためです。
そして、対局時間は、1局あたりの時間が思ったよりも短く、逆に少なくなりがちかもしれません。
その分、対局数を増やすというのは効果的かも?
まぁあくまでも、目安の一つとして利用することをおすすめしますね。
使って感じたことと、まだ改善したいところ
今回の機能追加で、元々やりたかった「実戦→解析→問題演習→復習→次の実戦」のループを回せるようになったのが大きいです。
対人戦が怖くても、AIとなら気軽に挑戦しやすいですよね。
また、タクティクス問題生成のルール変更で、復習できる局面が増えました。
これにより、きっと学習効果の向上が期待できるでしょう。
ここまでで、機能が充実してきたのは良いのですが…。
画面構成(UI)をどうするかが今後の課題になってきました。
「どのような配置にすれば、ユーザーが使いやすいのか?」
「どのような情報を提示すれば便利になるのか?」
これらについては、私自身もさらに使い込んでブラッシュアップしていきたいです。
今後も、私はこのアプリを使い込んでみます。
そして、実際の棋力向上に繋がるかどうかを検証していきます。
GM挑戦企画の心強いサポートツールになることを期待したいですね!

まとめ:対局を次の練習につなげるために
今回の記事では、自分の棋譜からタクティクス問題を自動生成するウェブアプリ『Caltrilo』のバージョンアップについて解説してみました。
従来の機能に加えて、AI対戦機能やその他の便利な機能を追加しています。
この変更で、対局から復習までをトータルにサポートできるようになりましたね。
今後の予定としては、実際に使ってみて、さらに欲しいと思った機能を追加したり、細かい部分を修正したりしていきたいです。
また、ユーザーから意見があれば、それを取り入れたりしていくつもりです。
新しくなった『Caltrilo』をあなたもぜひ使ってみてください。
基本無料でもほぼ全機能(AI対局・解析・問題演習・振り返り)を利用可能ですが、1日に解ける問題数が5問という制限があります。
課金すると無制限に問題を解けるようになりますよ。
ぜひあなたからの感想を聞きたいです。
しばらく試してみてから、フィードバックをいただけると幸いです。
今後の開発の参考にさせていただきます!



コメント