前回の記事ではレーティング計算の方法について書かせて頂きました。コメントやご質問を下さった方、どうも有難うございました。今回は、レーティングから段級位の昇級・降級条件を作る手法について考えてみます。
 
81Dojoでは、説明書にある通り、段級位の閾値を越える際に一種の壁のようなものを設け、連勝あるいは連敗をしないと越えられないという、一風変わった方式を採っています。この理由は段級位というものの意味合いと関係します。
一般的に段級位とは瞬間棋力を測る指標ではなく、それ以上に厳しい条件をクリアしたり、実績を認められるなどして初めて与えられる、到達度の指標だと思います。総じて言えるのは、
  • 瞬間棋力が足りていても、簡単に昇級はできない
  • 瞬間棋力が不足していても、簡単には降級しない (もしくは二度と降級しない)
ということで、要は「上がりにくいけど一度上がったら下がりにくい」類の物であるようです。これを念頭に様々な段級位システムを見てみましょう。

(1) プロ棋士の段位
昇段条件は過去の実績等で定義されていて、勝てなくなっても降段はありません。

(2) 一般の道場や奨励会
「○連勝」や「○勝○敗」などの条件で昇級するシステムが多いと思います。この数字は結構厳しめに設定されているように思います。つまり、同レベルの相手と(またはレベル差相当の手合割で)指し続けて、「他より突出して優れた成果」をあげて初めて上がれるということです。上がることが出来た瞬間においては、上がった先のランクの下位メンバーよりも瞬間棋力で上回っているケースも多いのではないでしょうか。
降級は、やはり存在しないか、存在してもよほど成績が悪い場合に限るようです。

(3) 将棋倶楽部24
段級位はレーティング範囲に付けられたラベル名でしかなく、独立した概念ではありません。瞬間相対棋力を表すレーティングから一意に決まりますので、閾値を越えるかどうかだけの問題です。閾値付近で上がったり下がったりすれば、1局ごとに昇級と降級を繰り返すことになりますので、「上がりにくく下がりにくい」の原則とは遠いシステムです。しかし、「分かり易い」という大きなメリットがあります。ユーザリスト上にレーティングと段級位が綺麗に並びますし、道場内での強さの指標が1個に絞られるため、明確でぶれません。

(4) パンダネット
閾値付近で昇級・降級が繰り返される問題を、一早くから解消していたのが囲碁のパンダネットではないかと思います。昇級と降級で閾値をずらす、というシンプルで分かり易い手法により、「上がりにくいけど一度上がったら下がりにくい」を実現しています。(参考ページ: なお説明図に誤記があり、図の上側は「三段」の誤りだと思います)

(5) 将棋ウォーズ
詳しい中身は存じ上げませんが、昇級すると達成度20%からはじまり、そこから負け続けると20%を切りますが降級はしません。ネットでたまたま見かけた情報なので正しいか不明ですが、20%以下というのはレーティングでは一つ下のランク同等まで下がってしまっているそうです。その通りだとすると、これもパンダネットと同種のシステムということになると思います。

(6) ヨーロッパ将棋連盟
FESA(ヨーロッパ将棋連盟)では、独自のレーティングシステムを運用していますが、それを用いた昇級条件を決めています。その方法とは、「連続○局にわたり、あるレーティング以上をキープしたら昇級」できるというものです。なお、降級はありません。

(4)(5)(6)とも、上手く段級位の概念に近づけていると思います。原理的には、レーティングの変化に対してある種の時間遅れを設ける、あるいはローパスフィルタをかける、というようなイメージになりますね。
この中で、81Dojoとしては(6)のシステムが結構魅力的であるとは思います。ただ、(4)(5)(6)の難点は、レーティングと段級位という2つの異なったデータを管理する必要があり、また、両方表示した時に分かりにくくなるという点です。レーティング順に並べると段級位が混ざってしまいます。もちろん、それが段級位の概念ですからそれはそれで良いのですが、やはり見た目が分かりにくいのと、複数の指標の混在は、ユーザがどちらを目標に頑張れば良いのか指針がぶれてしまうと思います。そこで、分かり易さを重視し、将棋倶楽部24のような「ラベル」形式に拘ることにしました。

ラベル形式を使いながらも、「上がりにくく下がりにくい」要素を加える方法として採用したのが、レーティングそのものに人為的に干渉して閾値を越えさせないという現在の方式です。あまり褒められた手法ではありませんが、上記観点のバランスからそのような妥協案となりました。
すごろくのチェックポイントのようなもので、いくらサイコロの6が出ようが(上位者に金星をあげようが)、一回で通り過ぎることは出来ず、必ずそこで一旦止められます。そして、昇級試験を受けて頂く、という単純なものです。勝てば関門通過、負ければ弾き返されます。これはベストなソリューションとは思っていません。今後もアイデアを練って行ければと思います。

話が変わりますが、81Dojoで大切にしている工夫は、「この対局に勝ったら昇級(or 負けたら降級)」という情報を、対局相手側にも表示することです。
将棋界には米長哲学という言葉があります。自分にとって重要ではない、相手にとって大事な一番でこそ、全力を尽くす。別にそれが正しいとか、そうすべきということではありません。
  • 米長哲学で全力で勝ちに行く、
  • 別に何とも思わないし意識しない、
  • この一局ぐらいは奇襲戦法など使わず、相手の得意戦型を正々堂々受けてやろう、
  • 降級が可哀想で思わず緩めてしまった、
  • 自分は負けて悔しいけど「昇級おめでとう」と声をかける、
等々、別に何でも良いと思います。
相手の大事な一番に臨む、その時の自分のあり方を考える。そんな、勝負事の世界には付き物のワンシーンを、ネット道場で実体験できても良いのではないでしょうか。 


81Dojoのアプリ開発で、これからやりたい事・やらないといけない事がまだまだあります。

細かい仕様改善やデバッグの案件も結構たまっていますが、それは別として今一番やりたいことは「どうぶつしょうぎ専用アプリの、メインアプリへの統合」です。 
3x4
北尾まどか女流がルールを考案された、どうぶつしょうぎ(3x4将棋)は本当に素晴らしいゲームで、現在も様々なデザインに形を変えながら世界中に広まり続けています。(ポーランド、フランスなど。本記事下で紹介。) その素晴らしいゲームを81Dojoに実装する許可を頂き、専用アプリが完成したのが2011年。苦労しましたが、北尾先生との協業でとても良いアプリができ、当時は様々なイベントを開催したり、ネコ型ボットが常駐したりして、たくさんの方にお使い頂き非常に盛り上がりました。今では良い思い出です。

しかし、やはり専用アプリ・専用サーバとして分かれているというデメリットは大きく、イベント開催等が無くなってしまった今ではほとんど人が集まらなくなり、残念に思っていました。
そして先日、「どうぶつしょうぎ」に続き、「5五将棋」「ゴロゴロ将棋」「京都将棋」などにもEXP(経験値)システムが導入されましたが、これらは全てメインアプリ内で遊ぶことが出来ます。こうなるとなおさら、どうぶつしょうぎも統合したいと思うようになりました。

しかし、、、これはとても大変な作業になりそうです。 元々、専用デザイン・レイアウトや、キャッチ・トライなどの特殊ルールがあるために専用アプリ化していたわけで、簡単には統合できません。また、そのためにメインアプリが重くなることも出来るだけ避けたいです。ですが、頑張って実現したいと思います。

ただ、その前に。ひとつ大きな仕事を済ませておきたいと思います。
現在、81Dojoには「国際版」「完全日本語版」の2つのアプリがあります。国際版は21ヶ国語対応(日本語含む)ですが、様々なところに英語が残ります。そこで、日本のユーザをもっと増やすために、本当に何もかも日本語のアプリを別個に作成したわけですが、それ以来、アプリ更新が毎回2倍の手間となり、大変な思いをしていました。
今後、どうぶつしょうぎの統合などの大きな仕事が発生することを考え、まずは国際版と日本語版をひとつのアプリに統合したいと思います。

ということで、現在その作業を実施中ですが、これもかなり大変な作業です。なんとか実現したいと思いますので、応援して頂ければ幸いです。(完成しても、ユーザの皆様にとっては何も変化がないのですが。。。でもそれで今後のアプリ改良がスムーズになるので、とても大事な1ステップです。)

yokai
フランス版 → http://www.trictrac.net/actus/yokai-no-mori-ou-le-petit-shogi-est-sur-les-etals
pojedynek-robotow_002
ポーランド版 → http://item.rakuten.co.jp/nekomado/shogi-044/


本日は、角換り相腰掛銀シリーズの3本目を配信しました。
☗3五歩に☖4六歩と突き出した、☗丸山☖佐藤康(1991年4月)戦を見ていきます。

今回は、最初に81Dojoの機能紹介として 「現局面の候補手検索機能」 のデモを行ないました。是非御覧ください。
 
(参考文献: 島朗「角換わり腰掛銀研究」) 


今回は81Dojoのレーティング計算式についてご説明したいと思います。

計算式は、81Dojo説明書内の「Rating System」で公開しています。数式自体はどうでもよいので、グラフの方をご覧下さい。
81Dojoでは、レーティングを実数で管理しており(つまり小数点以下があります)、グラフは連続的に変化します。メイン部分の曲線は、標準の確率分布関数に基づいて設計しています。道場内のレーティングは整数部分のみ表示しており、例えば1500.9点の人は、1500となります。(少数点以下を確認するには、ホームページから「アカウント登録・変更」ページにログインして下さい。)

さて、グラフを見ると、とてもおかしな形をしている部分があります。敗者のレーティングが勝者のレーティングより192.23点以上高い場合に、なんとグラフが左右非対称に折れ曲がっていますね。これが当道場のデフレーション防止設計です。
本来レーティングというのは左右対称でなければならず、相対的な棋力に応じてプレーヤーがまんべんなく分布するよう設計されるものですが、それをオンライン将棋での段級位の基準として用いるのは、次の3つの理由により、デフレーションを招くため不適切と考えます。

(1) 「段級位」の意義と整合しない
将棋の段級位は基本的には絶対評価が理想です。一方、レーティングは完全な相対評価であり、自分より下位の相手に負けるとそれだけたくさん点数を失う、というペナルティを与えるシステムです。
例えば、初段の人が三段の相手に指し続けた結果、勝率五割という好成績をあげたとします。この時、「いずれは二人とも二段になる」のが左右対称レーティングです。しかし段級位というのは必ずしもそういうものではありません。絶対的な棋力が下がることはあまりありませんから、「初段の人の方が上達した」と考え、こちらだけを二段に昇段させる(あるいはいずれは三段まで引き上げる)というのが常識的な考え方です。

(2) 過小レーティング登録
それだけではありません。そもそも左右対称レーティングでまんべんなく分布するのは、人の意思が介在せず全くランダムに事象が発生する場合に限ります。実際には人的要素が影響し、2つの問題(この(2)と次の(3))が起こります。
1つ目は、登録時のレーティングが実棋力より低めになる傾向。人間ですから(日本人は特に?)、控え目に申告しようとする意思がどうしても働いてしまいます。落ち着くべき点数に、上からアプローチして負けながら到達するより、下からアプローチして勝ちながら到達したいのが人の性でしょう。そのため、他ユーザのレーティングを下げずに、そういった方を速やかに昇級させる必要があります。

(3) 相手を選ぶ
人間ですから、レーティングを失いたくないという心理がやはり働き、どうしても相手を選ぶようになります。こうなると、無作為の手合を前提とする確率分布関数レーティングは機能しません。
極端な例として、例えば将棋倶楽部24では、2級から7級までほとんど棋力が違わないという現象が起こっています。(実棋力はアマ初段~二段程度。 →下記調査結果参照) この人達が相対的棋力に従ってきちんと分布しないのは何故でしょうか。
それは「2級の国」と「7級の国」という、棋力の変わらない2つの国が出来ている、と表現することが出来るでしょう。2級は2級同士で指して上がったり下がったり、7級は7級同士で上がったり下がったり、同じ棋力であるにも関わらず2つの国が交わることはありません。2級の人が7級と指さないのは、「棋力がさほど変わらない(簡単には勝てない)」ことを知ってしまっていて、それは「割に合わない対局」であるからです。勝っても少ししか点数が上がらないのに、負けたら大きく下がる、これは相手の棋力が本当に自分より低い場合にのみ妥当な条件ですから。(※上記は定性的な説明であり、実際に起こっている事例が100%これに当てはまるとは限りません)

上記3点を考慮したのが当道場のレーティングシステムで、±192点を境に、通常の左右対称システムから非対称システムへの切り替えを行います。
  • 192点差以内では、通常通り、下位者に負けるほど大きく点数が下がる条件下で、実力が近い者同士で切磋琢磨し、上がったり下がったりして頂きます。
  • 192点差を超えてからは、「下位者の勝利は上達と評価し、下位者側を引き上げる」という考え方を除々に強くしていきます。上位者が負けて失う点数は最終的には16点まで小さくします。(つまり互角の者と指して負けた場合に等しい、「ペナルティ要素の無い標準的な1敗」としか見ない)
これにより、定性的には、似たような棋力の人はだいたい200点ぐらいの範囲に集まってくる設計となります。例えば新たに初段の実力の人がたくさん下から入ってきても、皆初段に集まってきますし、ばらけてしまうこともありません。

効果の確認として、81Dojoと町道場の段級位対応を調査した結果を、先日発表しました。(9月6日 お知らせ)
15ヶ月前の調整時と比べて、デフレーションの発生は見られず、同じ水準を維持出来ています。ひとまずは、設計の狙いが機能したのではないかと考えています。ただ、まだ利用人数が少ないため、今後も注意して見ていく必要はありそうです。


こんにちは。81Dojo(エイティーワン道場)代表の川崎です。

以前の個人ブログ(「ZAPATEADO - サパテアード」)を長らく閉鎖しておりましたが、この度「81Dojo開発者ブログ」として新たにスタートさせて頂きます。

81Dojoの開発に関する話題や、開発者としての考え方などについて書いていく他、
81Dojo以外の将棋普及活動についてもトピックスをお伝えしていきたいと思います。
皆さんからのご質問にも出来るだけお答えしていきたいと思いますので、是非お気軽にコメントをお寄せ下さい。

さて、ブログ再開に先立って、暫くお休みしていた「YouTube英語将棋チャンネル」の配信も再開いたしました。今回は、角換り相腰掛銀の升田定跡まわりを解説する講座シリーズとなります。島朗先生著「角換り腰掛銀研究」の内容を取り上げさせて頂いております。これまで、第1回・第2回の2本を公開しました。

  

下記は1本目のビデオにこれまでに届いたコメントです。喜びや期待の声を頂けて大変有り難いです。今後も続けていきたいと思います。

@Conundrum
So happy to see you back!

@SherlockGuitar
Your back!

@Villainerd
Finally!
Finally!
A new video!
Good luck and I hope you´ll keep on doing more videos in the future...

@mztik
Good to see you back, Hidetchi-san. Thanks for all the great videos.

@enlighted Jedi
Nice to see you again!

@adam asadis
You are awesome, Hidetchi

@larto
Nice to see you again! :)

@Adramak
We missed u! It's good to see you again.

@weinhold0204
As somebody who recently got interested in your channel and started worrying there wouldn't be any more coming, I can't express how happy I am to see a new video! Can't wait for more. :D


↑このページのトップヘ