81Dojo

81mobile_soft

前回報告したスマホ版の開発検討開始から1ヶ月が経ちました。ある程度は形になってきましたが、βリリースに向けては細部の調整がまだまだ必要といったところです。

81DojoのFacebookページで、開発中の画面が公開されています。是非、ページへの「いいね!」を頂けると嬉しいです。開発の励みになります。


前回コメントへの回答

さて、前回の記事に意見やコメントを頂いた方、大変ありがとうございました。頂いたリクエストについて、いくつか回答させて頂きたいと思います。
1. Androidで動くものが良い。
もちろんです。シェアから考えて、まずはiOSよりAndroidを優先して考えています。
2. スマホの処理能力が心配なので、観戦→対局などの段階的機能追加を。
処理能力が理由ではありませんが、機能は段階的な追加を予定していて、まずは観戦機能からのリリースを考えています。観戦機能でフィードバックを得ながら、対局機能を造りこんでいきます。
3. PCとスマホでの機能の違いが少なく、有料無料などの区別が無い方が良い。
81Dojoは無料と決まっていますので、有料無料の区別はありません。
一方、81Dojoの特徴は多機能・高機能なので、それら全てをスマホ上で再現するのは難しいと考えています。削らないといけなくなる機能は結構あると思います。
しかしながら、機能がサイトの売りならば、それをしっかり再現しないとスマホ版の意味が無い、というご意見も聞きます。中でも感想戦機能は81Dojoの一番の強みですから、少なくともそれだけは再現しなければならない、と考えました。今のところ、検討中局面の表示、矢印の表示など、観戦する側から見た感想戦機能は初期から織り込みを目指して開発中です。
4. オートマッチングが欲しい。
 あまり81っぽくありませんが、スマホ版なら欲しい機能だとは思いますので、検討はしたいと思います。ただユーザが少ないのでオートマッチングの意味があるかどうかは分かりません。いずれにしても、対局機能が完成した段階でのことですね。


独自のクリックミス(タップミス)対策を

話は変わりますが、スマホ版と言えば、駒移動時のクリックミス対策が大きなテーマだと考えています。
スマホ版をやるからには、81Dojoらしく、独自の機能開発によるクリックミス対策をしたいなと思っています。アイデアはいろいろ考えられますが、上手く組み合わせながら皆さんと一緒に試していければと思います。 


引き続きご意見やコメントは募集していますので、何かあれば是非お願い致します。 


今週ドイツからの船便が届き、やっと通常の生活が回り始めました。いろいろな開発環境も整ってきたので、81Dojoのスマホ版の検討をスタートしています。

スマホ版に対する期待やアイデア、ご意見のある方は、ぜひコメント欄でお聞かせ下さい。
よろしくお願いいたします。 


ブログを更新する時間がほとんど無く、間が空いてしまっており大変申し訳ありません。前回の続きで、局面ペディアの得失などについて早く書きたいのですが、文章をまとめる時間が取れないでいます。

今回は、最近の状況報告をさせて頂きます。

4月に、ドイツから日本へ本帰国しました。81Dojoのアカウントも久しぶりに国旗が日本になりました。最近忙しかった理由の一つは、その引っ越し関係での雑務ですが、これからは皆さんと同じ時間帯での活動となるので、いろいろやり易くなると思います。
今日も、日本にいるメリットを早速生かして、これから新宿「サザンシアター」での将棋イベント「将棋対局 ~女流棋士の知と美~」を観に行きます。

さて現在、将棋関係の開発のトピックスとしては、下記が挙げられます。

最近実施したこと

今後の予定
  • 局面ペディアの「マイノート」機能の追加 (公式のWiki解説とは別に、各ユーザが局面に関連づけて研究などをメモしたり、それをブログのように公開することが出来るようになります。)
  • 「ShogiHub」の完成とリリース
  • 81Dojoのシステムの大幅強化と、モバイル端末対応

最後のはとても大きな話なので、予定というより、やりたいなと思っている事ですね。

今後ともよろしくお願いいたします。



皆様、明けましておめでとうございます。

昨年は多くの皆さんに81Dojoをお使い頂き有難うございました。今年も、81Dojoでは新たな動きがいろいろとあります。詳しくはサイトの方でお伝えしていきますので、是非楽しみにしていて下さい。

また、新サイトの方も開発が終盤に差し掛かって来ました。こちらもオープンの際は是非よろしくお願いします。皆の技術を結集して、将棋界をもっともっと便利にしていければと思います。

それでは本年もよろしくお願いいたします。 


静岡市での国際将棋フォーラムが終わり、年末が近づいて来ました。

さて、81道場では、恒例の年末キャンペーン(マイレージ抽選会)がもうすぐ始まります。プロ棋士による指導対局をはじめとして、様々な賞品に応募できます。今週末の告知をお見逃しなく。

さらに、年末年始にかけては、「年越し・どうぶつしょうぎ大会」を開催予定です。こちらも是非ご参加下さい。大会の詳細は近日中に発表致します。


今回は、12月6~7日に静岡市で開催される「第6回 国際将棋フォーラム(ISF)」についてお知らせしたいと思います。

国際将棋フォーラムとは、3年に一度開かれる世界的な将棋イベント。
国際的な対戦サイトとして知られる81Dojoでも、ユーザの皆様に告知をリリースさせて頂きました。
各国から集まる46名の代表選手のうち、81DojoでIDを公開している方が15人もいらっしゃいます。


■事前イベント「プレISF・オンラインミーティング」を、11/15(土)に81Dojoで開催

11/15(土)は、「ねこまど杯オンライン世界将棋大会」の決勝ラウンドが81Dojoで開催されます。この日に合わせて、国際将棋フォーラムで来日予定の代表選手にも81Dojoに集まって頂き、プレ・ミーティングを行う予定です。
ねこまど杯の観戦と、ISF代表選手の激励のため、是非みなさまも81Dojoに足をお運びください。

なお、ねこまど杯についてのご案内は、下記ページをご覧ください。

---------
(※ご参考) 海外の方向けに、イベント内容や会場までの行き方を説明するビデオを作りました。





前回の記事ではレーティング計算の方法について書かせて頂きました。コメントやご質問を下さった方、どうも有難うございました。今回は、レーティングから段級位の昇級・降級条件を作る手法について考えてみます。
 
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/


今回は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ヶ月前の調整時と比べて、デフレーションの発生は見られず、同じ水準を維持出来ています。ひとまずは、設計の狙いが機能したのではないかと考えています。ただ、まだ利用人数が少ないため、今後も注意して見ていく必要はありそうです。


↑このページのトップヘ