KEIRIN.JPの出走表ページに並び予想を加えるGreasemonkeyスクリプト
KEIRIN.JPのトップページから、その日あるいは次の日に行われる各レースの出走表のページにアクセスできる。そのページはただの出走表で、どれが本命だとか並びはどうだとかの予想はもちろん載ってない。
ここに公開するGreasemonkeyのユーザスクリプトextend-keirin-racememberを使うと、その出走表ページに「並び予想」を付け加えて表示することができる。ただしこの並びはコンピュータプログラムによって生成されたものであって、記者が選手への取材に基づく並び予想とは違って、あまりあてにならない。でも、後で詳しく説明するようにこの「並び予想」は選手の所属地域、脚質、競走得点を考慮してそれなりのアルゴリズムで決められるので、おおよそどんな並びになるか考えるには参考になるだろう。
extend-keirin-racememberを使って表示された出走表ページの例を下に示す。
上図で「コンピュータ並び予想: 5 72 194 386」とあるのが加えられた表示である。数字は車番で、赤い太字が脚質=「逃」を、単に太字が「両」を表し、普通に表示されているのは「追」である。各ラインは西から東に順に並べているだけで、周回中の文字どおりの並ぶ順を想定したものではない。
興味を持たれた方は是非試していただきたい。
Greasemonkey
GreasemonkeyとはwebブラウザFirefoxの拡張機能で、特定のwebページにアクセスしたとき、予め登録しておいたユーザスクリプトと呼ばれるJavascriptを自動で実行する。そのスクリプトでページの内容を書き換えて情報や便利な機能をを付け加えることができる。
IEなどFirefox以外のブラウザでもGreasemonkeyに相当するものはあるようだが、本スクリプトの動作は確認していない。
Firefoxでのインストール
GreasemonkeyをインストールしたFirefoxで下のリンクにアクセスするとextend-keirin-racememberのインストールが始まる。
http://kzakko.web.fc2.com/extend-keirin-racemember.user.js
なお、このリンク先はスクリプトそのものでただのテキストファイルである。
並び生成のアルゴリズム
当然ながらスクリプトがアルゴリズムの完全な記述になっているが、ここでは簡単に分かりやすく説明する。
元にするデータは出走表ページにある各選手の「府県」、「脚質」、「競走得点」の3つである。
- 選手を8つの地域ブロック別に分け、まずはそれぞれをひとつのラインとする
- 各ラインで
- まず選手を得点が大きい順に並べる
- 選手を先頭から見ていって、「逃」選手がいればその選手をラインの先頭にする
- いないときは、「両」選手がいればその選手をラインの先頭にする
- 「逃」または「両」選手ひとりで構成されるライン(=単騎)に、先頭が「追」のラインをつなげてひとつのラインにする。これは隣り合った地域ブロックのライン同志を優先する(例えば中部と近畿)。
- 各ラインを先頭選手の「府県」によって西から東の順に並べる
このような単純なアルゴリズムでもまずまず妥当な予測になる。しかし、関東が6人いるレースなんかはまともな並びにならない。