こまおの棋力は何級なのか
結論
大体18級くらいではないかと思います。
ただ、そもそも級位の尺度は色々あり、とくに低い級位については統一された基準というのがあまりありません。(一応断っておくと、少なくとも将棋倶楽部24の級位ではありません。)これだけだとなんだかよくわからないですよね。過程や背景が気になる人は、以下に進んでください。
背景
初心者の練習相手としては、かつてはハム将棋が良く挙げられていました。このハム将棋に駒落ちで指導してもらい、いよいよ平手で勝てるようになってから対人戦デビュー(=「指す将」へ)、というのが常道でした。このハム将棋は「弱さ」の加減が絶妙である一方、まったくの初心者が勝てるようになるのは中々に大変という問題がありました。その問題を解決するため、さらに弱い練習相手として作られたのが「こまお」です。
このこまおはハム将棋とは比べ物にならないほど弱いものの、駒の損得の判断が正確であり、実はこれでも初心者が勝つのは大変です。ハム将棋より圧倒的に弱いこまおですら、勝つのが大変。これこそが、「観る将」が「指す将」になるハードルの高さではないか?そう思い、こまおの棋力、ひいてはさらに弱い将棋ソフトの棋力を定量的に測定することで、このハードルの高さを可視化しようと考えました。
棋力の測定方法の概要
棋力の定量化として広く用いられるレーティングをここでも使用します。
多数の将棋ソフトを複数回戦わせ、ソフト同士の勝率を算出し、これをもとに相対的なレーティング差を統計的に測定します。
これを「ソフトレート」に変換し、一部将棋倶楽部24レートを経由して、81dojoのレーティングシステム(将棋倶楽部24の段級位、道場の段級位、およびレーティングの関係性について定期的にアンケート調査されるため、信頼度が高い)と照合して段級位に変換します。
ここで「ソフトレート」とは、Ryoto_Sawada氏(Qhapaq開発者)による「コンピュータ将棋 まとめサイト」に基づくものです。
ソフトレート等の計測結果
結果は以下のとおりです。
ソフト名 | ソフトR | 誤差 | 24R | 24段級 | 81R | 81段級 |
Bonanza 6.0 D1 | 1,101 | +0/0 | 483 | 11級 | 1,453 | 1級 |
将皇(WebGL版) レベル1 | 1,067 | +17/-16 | 412 | 12級 | 1,426 | 1級 |
ぴよ将棋w Lv15 ひよん (R750 3級) | 1,035 | +23/-21 | 345 | 13級 | 1,400 | 2級 |
きのあ将棋 ブラウザ版 テストロボ 強さ2 | 1,017 | +20/-14 | 307 | 13級 | 1,385 | 2級 |
Lesserkaikai Lv7 | 993 | +18/-19 | 256 | 13級 | 1,366 | 2級 |
きのあ将棋 ブラウザ版 クッキー | 968 | +29/-15 | 202 | 14級 | 1,345 | 3級 |
BlunderXX2012 D1 | 908 | +14/-14 | #N/A | #N/A | 1,331 | 3級 |
きのあ将棋 ブラウザ版 空 だめ子 | 808 | +16/-24 | #N/A | #N/A | 1,249 | 5級 |
Lesserkaikai Lv6 | 787 | +19/-19 | #N/A | #N/A | 1,231 | 5級 |
将皇(WebGL版) レベル0 | 730 | +13/-25 | #N/A | #N/A | 1,184 | 6級 |
ぴよ将棋w Lv12 ピヨ介 (R570 6級) | 653 | +16/-27 | #N/A | #N/A | 1,120 | 7級 |
ハム将棋 | 594 | +19/-25 | #N/A | #N/A | 1,072 | 8級 |
Lesserkaikai Lv5 | 555 | +20/-26 | #N/A | #N/A | 1,039 | 9級 |
きのあ将棋 ブラウザ版 のゆぽん(偶数日) | 402 | +30/-28 | #N/A | #N/A | 913 | 10級 |
ぴよ将棋w Lv10 ピヨ太 (R450 8級) | 340 | +21/-23 | #N/A | #N/A | 862 | 11級 |
きのあ将棋 ブラウザ版 のゆぽん(奇数日) | 325 | +20/-29 | #N/A | #N/A | 849 | 11級 |
Lesserkaikai Lv4 | 243 | +24/-27 | #N/A | #N/A | 782 | 12級 |
Lesserkaikai Lv3 | 229 | +27/-26 | #N/A | #N/A | 770 | 12級 |
きのあ将棋 ブラウザ版 ザザルオ | -69 | +30/-27 | #N/A | #N/A | 524 | 14級 |
ぴよ将棋w Lv7 ひよ奈 (R270 11級) | -117 | +32/-27 | #N/A | #N/A | 484 | 15級 |
Lesserkaikai Lv2 | -234 | +35/-33 | #N/A | #N/A | 388 | 16級 |
ぴよ将棋w Lv5 ひより (R150 13級) | -443 | +29/-44 | #N/A | #N/A | 215 | 17級 |
こまお | -510 | +26/-44 | #N/A | #N/A | 159 | 18級 |
ぴよ将棋w Lv4 ピヨ之 (R120 13級) | -738 | +36/-49 | #N/A | #N/A | -29 | 20級 |
Lesserkaikai Lv1 | -798 | +40/-35 | #N/A | #N/A | -78 | 20級 |
ぴよ将棋w Lv3 ひよ香 (R90 14級) | -921 | +45/-41 | #N/A | #N/A | -180 | 21級 |
ぴよ将棋w Lv2 ピヨ作 (R60 14級) | -1,089 | +51/-55 | #N/A | #N/A | -319 | 23級 |
きのあ将棋 ブラウザ版 クラリア | -1,225 | +50/-53 | #N/A | #N/A | -431 | 24級 |
ぴよ将棋w Lv1 ひよこ (R30 15級) | -1,750 | +63/-89 | #N/A | #N/A | -865 | 28級 |
Lesserkaikai Lv0 | -1,962 | +96/-116 | #N/A | #N/A | -1,040 | 30級 |
以下、作成過程の説明を行います。
将棋ソフト同士のレート差の測定
こまおや近い棋力の将棋ソフトを戦わせ、uuunuuun氏のスクリプト※によりレート差を計測します。
※以下のサイトのOneDriveのRating site data.zipを勝手ながら使用させていただきました。この場をお借りして感謝申し上げます。
対象ソフトは後述。概ねレート差400以内の組み合わせについて、それぞれ先後入れ替えながら30戦を目安に戦わせます。(少ないので今後増やしたいですが、ブラウザ版ソフトを多数参戦させる都合上、サーバー負荷なども考えればどうしてもじっくり積み上げる必要があります。)
細かいですが、千日手、持将棋、1000手を超えた試合は無効試合とし、勝率計算には含めません。
なお、レート差と勝率の関係は以下を参照ください。
https://uuunuuun.wixsite.com/shogi-engines/blank-7
ソフトレートの計測
上記の手段によりソフト間の相対的なレート差は求まりますが、絶対的な数値として算出するためには基準を定める必要があります。そこで、Bonanza6 D1のソフトレートを基準に、つまりBonanza6 D1のレート=1101と固定して算出します。
基準としてBonanza6 D1を選んだ理由は次のとおりです。
- ソフトレート計測時の状況再現が容易(多くの将棋ソフトはCPUの性能によって思考時間を調節する必要があり、ソフトレート計測時の状況の再現が容易でない)
- 対局数が多くソフトレートが収束していると考えられる
- 適度に弱い(といっても1~2級ほどの実力はあります。あくまで相対的に)
- 定跡により開始局面からの指し手のランダム性がある程度高い(ブラウザ版ソフトを混ぜるため、互角局面集を使うといった対応は難しいです)
- 意外に不自然な手が少なく、どのソフトともバランスよく戦えそう
なお、もととなるソフトレートの表は以下です。
採用ソフト
こまおとBonanza D1のみでは棋力が離れすぎていてレーティングの測定が困難なため、他のソフトを多数追加して間を埋めることにします。
同じく練習用将棋ソフトとして名高い、ぴよ将棋、きのあ将棋、将皇のそれぞれブラウザ版を戦わせます。また、ブラウザではなくFlash Playerで再生することによりハム将棋も参戦させます。
加えて、USI対応ソフトも参戦させます。ソフトレート保持者としてBonanza6 D1のほかにBlunderXX2012 D1も参戦させます。なお、Blunderをレートの基準にしてもよいのですが、Bonanza6 D1に比べて対戦数が少なく、ソフトレートが安定していないと考えました。
さらに弱いLesserkaiやgseは明らかにバグのような手を指すため採用を見送ります。
Lesserkaiのバグとは不自然な探索打ち切りで、具体的には上図のような場面で発生します。深さ4まで探索する設定になっていますが、なぜか▲2三歩が読めていません。棋力は6級くらいのはずですが、その棋力で飛車先を受けないのはありえません。
また、gseは思考打ち切り処理がおかしいのか、駒が取られそうになったときに何もせずに放置する大悪手をしばしば指してくるため、深さ8~9ほどまで読んでいるのにLesserkaiよりもはるかに弱くなっています。
結果としてこまおに近い棋力のソフトがぴよ将棋ときのあ将棋のザザルオ、クラリアくらいしかなく、ソフト間の相性がレーティング計測に影響を及ぼしやすいと考えたため、Lesserkaiの改造版(Lesserkaikai)を8種類投入しました(棋力は30~2級ほど)。
主な改造点は、バグの修正、ノード数や乱数による棋力調節機能の追加と、駒得に偏りすぎていた評価値の調整(駒組みの評価値の重み引き上げ、玉の危険度、大駒の利きによる評価の追加)などです。
ソフトレートと24レートの関係性
以下の記事と同様に、双方のレートが既知の将棋ソフトを抽出して、2次曲線によるフィッティングを行います。
ただし、ソフトレートがこの記事とは相違しているため、回帰係数を求めなおします。
結果は以下のとおりです。
(24レート)=-0.000323692(ソフトレート)^2 +2.78451(ソフトレート)-2190.26
なお、用いたデータとグラフは次のとおりです。
ソフト名 | ソフトレート | 24レート |
Lv3(24R2783) | 2,575 | 2,783 |
Lv3a(24R2648) | 2,377 | 2,648 |
Lv2(24R2098) | 1,997 | 2,098 |
Lv2a(24R1890) | 1,810 | 1,890 |
Lv1(24R1310) | 1,605 | 1,310 |
Lv1a(24R988) | 1,354 | 988 |
kaitei_sdt5(24R783) | 1,261 | 783 |
kaitei-wcsc27(24R321) | 1,005 | 321 |
24レートと段級位との関係性
81Dojoの段級位が一般的に用いられる段級位と近いと考えられることから、81Dojoのレートに変換する事で24レートと段級位の関係性を求めます。
81Dojoのレート・段級位、および24レートの段級位の対応は、以下のページに基づきます。
このうち、81Dojoと24の段級位対応表を階級別のレート中央値で対応付け、1次関数によるフィッティングを行います。
将棋倶楽部24 | 将棋倶楽部24レート | 81Dojo | 81Dojoレート | ||||
段級位 | 下端 | 上端 | 中央値 | 段級位 | 下端 | 上端 | 中央値 |
五段~七段 | 2,400 | 2,900 | 2,650 | 六段 | 2,200 | 2,300 | 2,250 |
五段~四段 | 2,100 | 2,400 | 2,250 | 五段 | 2,100 | 2,200 | 2,150 |
三段~二段 | 1,800 | 2,100 | 1,950 | 四段 | 1,950 | 2,100 | 2,025 |
二段~2級 | 1,350 | 1,800 | 1,575 | 三段 | 1,800 | 1,950 | 1,875 |
3~6級 | 950 | 1,350 | 1,150 | 二段 | 1,650 | 1,800 | 1,725 |
7~9級 | 650 | 950 | 800 | 初段 | 1,500 | 1,650 | 1,575 |
10~14級 | 150 | 650 | 400 | 1~3級 | 1,300 | 1,500 | 1,400 |
結果、以下の関係式を得ます。
(81Dojoレート)=0.382837(24レート)+1267.85
グラフにすると次のとおりです。
ただし、この関係式を用いるのは24レート200以上に限定します。理由は24レート200以下はレートの更新式が異なっており、そのまま外挿したときの変換結果の違和感が大きかったためです。
また、81六段以上もこの関係式を用いるべきではありませんが、記事のスコープ的にはあまり関係ないため置いておきます。
なお、81Dojoの段級位対応表については、記事作成(2022年2月)時点では2020年4月4日に改定された基準が用いられています。
https://81dojo.com/jp/news.html?release=200404
しかし、81Dojoの段級位と町道場の段級位について定量的に言及されたのは以下の2014年の記事が最後のようです。
https://81dojo.com/jp/news.html?release=140906
以降、運営側でどの程度の規模の調査が行われているのかは定かではないですが、将棋連盟による免状発行に用いられること、上記2020年の改定には24レートなど他の基準との照合結果が前提にあると考えられることから、信頼度は記事作成時点でもある程度維持されていると考えます。
24レート200以下の層について
これらの層については級の定義がそもそもあいまいであり、81Dojoの級に変換すること自体に疑義がありますが、とりあえず置いといてまずはレートの変換を行います。
24レート200相当以上のソフトレート⇔81レートの関係式をそのまま適用することも考えられますが、基本は両方とも同じイロレーティングであるため、以降の部分は並行移動させることも考えられます。
ただ、ソフトレート側は本来のイロレーティングよりも「伸びて」いる可能性があります。すなわち、同系のソフトとの対戦を多く含み、相性によりレート差が拡大されている可能性があります。そこで、単に並行移動するのではなく、ソフトレート⇔81レートの関係式の端点付近の傾きのまま直線補外することにしました。(実際の傾きはΔ81レート/Δソフトレート = 0.8263くらいです)
結果、ソフトレートと81レートの関係は以下のようなグラフになりました。
※マーカーはその段位のレート下端
これで81Dojo基準の15級までは対応付けが完了しました。しかしさらに低い級位についても今回は考慮に入れる必要があります。81Dojoの10級以下ではレート100ごとに1級ずつ上がっているので、これをそのまま適用し続けたと仮定して16級以下を設定しました。
さて、この級の定義について少し考えてみます。
81Dojoによる道場段級位との対応付けアンケートでは10級までを対象としています。そのため、10級まではおそらく世間一般的な基準になっているのだろうと思います。
問題になるのは以降の級位です。すなわち、1級差=レート差100(高いほうが大体勝率6~7割くらい)という仮定での拡張が妥当かということです。
参考にできそうなのは将棋倶楽部24のレートです。「初心」という段位を15級の下に設定したことを踏まえれば、創設時はちゃんと世間の段級位と対応付けながら、はじめたばかりの初心者も指せるようにするつもりだったのではないかと考えられます。その際に、レート差100=1級差というのが初心者層での妥当な間隔だというコンセンサスがどこかで得られていたはずです。
さらに、81Dojoの10級以下の間隔を敢えて9級以上とは異なるものにしていることから、これについても何らかのコンセンサスが得られていたのではないかと考えます。
したがって、この拡張にあまり違和感はないものと考えます。
なお、初心者の級位については以下の記事でも詳しく述べられていてますが、そこでも同じ仮定が置かれています。
レート対応表まとめ
以上によってソフトレート、81Dojoレート、将棋倶楽部24レート、そして段級位が対応付けられました。これをまとめると次のとおりです。これで、こまお含めた将棋ソフトの段級位を設定することができました。
段位 | ソフトレート | 81Dojoレート | 24レート | |||
下端 | 上端 | 下端 | 上端 | 下端 | 上端 | |
七段 | 2,456 | - | 2,300 | - | 2,696 | - |
六段 | 2,249 | 2,456 | 2,200 | 2,300 | 2,435 | 2,696 |
五段 | 2,061 | 2,249 | 2,100 | 2,200 | 2,174 | 2,435 |
四段 | 1,805 | 2,061 | 1,950 | 2,100 | 1,782 | 2,174 |
三段 | 1,574 | 1,805 | 1,800 | 1,950 | 1,390 | 1,782 |
二段 | 1,360 | 1,574 | 1,650 | 1,800 | 998 | 1,390 |
初段 | 1,161 | 1,360 | 1,500 | 1,650 | 606 | 998 |
1級 | 1,066 | 1,161 | 1,425 | 1,500 | 410 | 606 |
2級 | 974 | 1,066 | 1,350 | 1,425 | 215 | 410 |
3級 | 913 | 974 | 1,300 | 1,350 | #N/A | 215 |
4級 | 853 | 913 | 1,250 | 1,300 | #N/A | #N/A |
5級 | 792 | 853 | 1,200 | 1,250 | #N/A | #N/A |
6級 | 732 | 792 | 1,150 | 1,200 | #N/A | #N/A |
7級 | 671 | 732 | 1,100 | 1,150 | #N/A | #N/A |
8級 | 611 | 671 | 1,050 | 1,100 | #N/A | #N/A |
9級 | 550 | 611 | 1,000 | 1,050 | #N/A | #N/A |
10級 | 429 | 550 | 900 | 1,000 | #N/A | #N/A |
11級 | 308 | 429 | 800 | 900 | #N/A | #N/A |
12級 | 187 | 308 | 700 | 800 | #N/A | #N/A |
13級 | 66 | 187 | 600 | 700 | #N/A | #N/A |
14級 | -55 | 66 | 500 | 600 | #N/A | #N/A |
15級 | -176 | -55 | 400 | 500 | #N/A | #N/A |
16級 | -297 | -176 | 300 | 400 | #N/A | #N/A |
17級 | -418 | -297 | 200 | 300 | #N/A | #N/A |
18級 | -539 | -418 | 100 | 200 | #N/A | #N/A |
19級 | -660 | -539 | 0 | 100 | #N/A | #N/A |
20級 | -781 | -660 | -100 | 0 | #N/A | #N/A |
21級 | -902 | -781 | -200 | -100 | #N/A | #N/A |
22級 | -1,023 | -902 | -300 | -200 | #N/A | #N/A |
23級 | -1,144 | -1,023 | -400 | -300 | #N/A | #N/A |
24級 | -1,265 | -1,144 | -500 | -400 | #N/A | #N/A |
25級 | -1,386 | -1,265 | -600 | -500 | #N/A | #N/A |
26級 | -1,507 | -1,386 | -700 | -600 | #N/A | #N/A |
27級 | -1,628 | -1,507 | -800 | -700 | #N/A | #N/A |
28級 | -1,749 | -1,628 | -900 | -800 | #N/A | #N/A |
29級 | -1,870 | -1,749 | -1,000 | -900 | #N/A | #N/A |
30級 | -1,991 | -1,870 | -1,100 | -1,000 | #N/A | #N/A |
おわりに
このように、初心者向けといわれた将棋ソフトが3~30級程度に分布しており、その実かなりの実力差があることがわかりました。
初心者の級位については先ほど紹介した記事では30級以上と考察されていますが、駒落ちに基づいて考察された以下の記事もあり、こちらでもおおよそ30級ほどとされています。
今回測定した級位での30級というのがこの初心者の棋力に相当しているかは定かではないものの、「初心者」とされる棋力の幅広さと、ネット対戦デビュー可能な実力(8~9級)までのあまりの道のりの長さが改めて浮き彫りになったのではないかと思います。
それでも、ぴよ将棋を初めとしてこれらの棋力帯に対応したスマホアプリやブラウザソフトが整備されてきたのは非常に評価されるべき動きだと思います。ハム将棋1強だったころからずいぶん変わりました。自分が初心者のころにこんなソフトに出会えていれば、と思うソフトばかりです。この記事は、そういったソフトにスポットライトを当てる意味合いもあります。
※もちろんちゃんと探せばそれらの棋力のソフトはいくらでもあるものの、事前に強さがわからない(ただ弱いとだけ書かれている)、いちいちDLしないといけない、有料であるなどの点で、初心者が気軽に手を出すにはハードルが高いものがこれまでは多かったように思います。