2017年7月3日月曜日

レーティング担当の交代について

諸般の事情により、
2017年7月より九州ブロックの中村創さんに
レーティング担当を交代頂くことになりました。

中村さんは私よりも WEB 関係・プログラミングの造詣が深く
今後のレーティングの継続・発展に貢献して頂けると考えています。

現行システムを使う間は及ばずながら協力したいと思います。
このブログは個人運用のものなので今後の修正依頼については別途考えます。

これまでの関係者各位のご協力に感謝します。
ありがとうございました。

2017年5月21日日曜日

修正依頼

前回の投稿のコメント数が多くなってきたので
今後の新規の依頼はこちらにお願いします。

大会運営者のうち、レーティング反映作業にご協力頂ける方は
下記メールアドレスに連絡ください。
szrd_iwt(a)yahoo.co.jp
レーティングページの管理用パスワードをお伝えします。

大会結果と連動できていないのでレーティング反映は
現状で個別にレーティングページで投稿する必要があります。

2016年3月7日月曜日

修正依頼

こちらのコメント欄でお願いします

2016年1月11日月曜日

レーティング担当について

1999年から始まった連盟レーティングですが、
先代のレーティング担当者が 4~5 年程度の期間で交代していたので、
5年程度経った頃から、交代について勘案するようになりました。
そして私が担当してから 7 年が経とうとしています。

Web関係の技術の進歩を感じる昨今ですが、
それに会わせて連盟レーティングを更新するには、
私に意欲と技術と時間が足りないようです。

最近は多忙のため、管理の余裕もあまりない状態なので、
意欲的な方が居ましたら交代したいと思います。
(当面は現状のまま私が続けることも吝かではありません)


交代の対象は下記要件を満たせる方が望ましいと思います。

・システムの機能改善等が可能(※1)

・継続的に管理保守が可能(※2)

・簡単な英語ができる(※3)

・レーティングを眺めるのが好き


※1
既存のレーティングはかなり酷いコードで動いているので、
システムをフルスクラッチで作り直せる方が望ましいです。
入力情報としては SLIM 形式の大会結果のテキストデータと、
誤字置換リスト、(姓名が変わった人の)表示名置換リストです。

※2
5年くらいの単位で続けれそうな人がいいです。

※3
世界レーティング担当の Tom Schotte や Emmanuel Lazard と
日本の大会結果の送付等のやり取りを行います。
基本的には中学レベルの英語力があれば大丈夫と思います。
大会結果を所定のCSV形式に変換して送付します。


交代して今のシステムをより良くしたい、
という方がいましたらコメント欄で返信お願いします。


※1の補足
私自身は web 関係は元よりソフトウェアを専門とした人間ではありません。
素人が 15 年位前の技術を利用してテキストエディタで
いい加減に書き上げたものが今のシステムです。
使用言語は Perl で SQL 等は使用していません。
Perl の Storable モジュールでハッシュ変数を永続化させて
データベースの代用にしています。

レート計算処理部のコードはこんな感じです。
https://github.com/szrdiwt/othello_rating/blob/master/rate_cal.pl

書いた本人がコードの内容を忘れつつあるので引継ぎは難しいです。
が、コード量の目安にはなると思います(表示処理部が別にありますが。。)

上記はサーバーサイドの処理になりますが、
永続的に使えるようになっているかというとそうでもありません。
全参加者のインデックス情報を一度にメモリ内に取り込むので、
年々消費メモリが増える仕様になっておりどこかで改修が必要です。
(これまでの初参加者数増加傾向を見ると実質問題ありませんが。。)

2015年12月25日金曜日

レーティング計算について

以前に質問があったので折角なので簡単にまとめます。

Q. レーティングの計算ってどうやってるの?

レーティングの差が 100n のとき上位の人が下位の人に対して
 2n 勝 1 敗になるというのが連盟レーティングでの基本的な考え方です。
連盟レーティングは北島秀樹氏の考案したレーティング計算表をベースとして
それを平滑化した関数を用いて計算しています。

参考(田中紀洋氏のHPより):
https://web.archive.org/web/20050115035043/http://homepage3.nifty.com/noritnk/reversi/rating.html


ところで、この計算式ではレート差が大きいほど変動値が大きくなります。
レート差とレート変動の関係を表すと以下のようなグラフになります。
(グラフは山川高志氏提供)


従って、もし自分よりもレートが下で差の大きい相手に負けてしまうと
大きくレートが下がることになり、
一時的に実力を上手く反映できない状態に陥る場合があるかもしれません。


チェスの世界等で一般的に使われているのは ELOレーティングです。
参考:
https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%AD%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0
ELO レーティングの場合、レート差が大きくても変動値が 32 未満に収束します。


ELO レーティングでは差が 100n のとき上位の人が下位の人に対して 2n 勝 1 敗 
という状態にはならなくなる可能性がありますが、大体近い値になります。
チェスの場合、称号がレーティングを元に決定するので、
一戦毎の変動が少ない方が都合がよいのかもしれません。


ここで実際に連盟レーティングを ELO レーティングの計算式で
計算すると下記のようになります。
http://www.othello.gr.jp/rate/elo/

一見、レートの値は余り差がないように見えますが、
ELO レーティングでは
既存の連盟レーティング計算よりも若干標準偏差が小さく
全般的に各選手の最高レーティングも低くなっています。

連盟レーティングの方が試合数毎の変動が大きいですが、
自分のレートが減りやすい反面が相手のレートも上がり易いので
結局の自分レートもよく上がるということだろうと思います。
番狂わせがおきない状態が続けば、同じくらいの値に収束すると思います。
ということで、最高レートの伸びが楽しく感じる人には
既存の計算式の方が励みになると思います。

どういう計算式がいいかの結論はありません。

2015年9月15日火曜日

ミス報告について

前回のスレッドのコメント数が多くなってきたので
新規の依頼はこちらの記事にお願いします。

2015年4月28日火曜日

大会結果の投稿について

(大会運営者向け)

一部 HTML 形式での投稿がありますが、HTML形式ではレーティングに反映できません。
SLIM の結果はテキスト形式で投稿していただけると助かります。

こちらで全て結果を修正していくのも時間がかかるので、HTML形式で投稿された場合は大会運営者が再度修正してくれるのを期待して一週間程度様子を見ることにします。