野球打順一考 その2

誰も興味ないと思うのだけど、せっかくなので出てるデータを垂れ流してみようかしら。

院生時代に作った野球シミュレータを使って最適打順を制御した結果です。
前回は、このシミュレータを使って打順ごとの特性を調べた結果を紹介しました。

で、今回はこのシミュレータを使って、
「各選手のデータを入力したら、自動的に最適な打順を取得する」
仕組みを院生時代に構築したので、院生時代の発表内容から引っ張り出してきました。

今回使ったデータは2008年度ジャイアンツのレギュラー成績です。
下記のデータをシミュレータに入力しました。
詳しいデータをここで示すのは気が引けるんで、興味のある方は調べてみてください。

「打席」「一塁打」「二塁打」「三塁打」「本塁打」「四球」「死球」「三振」

データを入力した選手は以下のとおりです。
ちなみに、以下の並び順は、2008年度の最も一般的な打順です。

「鈴木」「木村」「小笠原」「ラミレス」「スンヨプ」「谷」「阿部」「坂本」「上原」

これらのデータを入力して、シミュレータを走らせるわけですが、下記のアルゴリズムを使って打順を制御していきます。

  1. 各選手をランダムに並び替える
  2. 現在の打順によるチームをα、ランダムに二人選択し入れ替えたチームをβとする
  3. αとβで100000回対戦を行い、βが300勝以上勝ち越したら入れ替えたβの方が強いと判断して、入れ替えたチームβを採用する*1。それ以外はβの方が強いとは言えないと判断しαを採用する
  4. 2にもどる これを何回も繰り返す

要は単純な山登り法です。
ちょっとずつ打順を変化させていって、強かったら採用、弱かったら不採用。
繰り返していけば強い打順に収束するでしょ、という考えです。
前回の結果で打順ごとに特性があると分かっているからこそ、何かしらの傾向が見られるだろうと期待して試してみました。

で、まあ結果ですが、完全な収束は見られませんでした。
勝ち数で比較したのですが、単純な得点差で評価した方が良かったのかもしれません*2
しかし、一部の打者に注目すべき傾向が見られました。
具体的には、下記の5人です。

  • 鈴木:足が速く三塁打が多い
  • ラミレス:打率・本塁打ともに良い
  • 小笠原:打率・本塁打ともに良い
  • 坂本:余り打てない
  • 上原:余り打てない

グラフを出してみると、こんな感じでした。
このグラフは、横軸が繰り返し回数、縦軸が下が1番、上に行くと9番。
つまり、グラフが繰り返していく過程において大体どの辺りにいるかを視覚的に示したものです。
まずは鈴木のグラフです。

このグラフを見ると概ね1番になっていることがわかります。
三塁打が多いということが影響していると思います。

次に小笠原(青)、ラミレス(赤)のグラフです。

これはすごく顕著で、ほぼほぼ3番と4番と5番に固まってます。
ホームランバッターはクリーンナップに置くのはどうやら正解のようです。
また、ラミレスの方が、やや後ろに配置されているのも特徴で、ラミレスの方が打率が良かったからでしょうか*3

次に坂本(青)、上原(赤)のグラフです。

これもまた顕著で、やはり打てない選手は下位に置くのも正解のようです。

あと、こんなのも出してみました。
原監督との差を数値化したものです*4
0に近ければ原監督に近い打順を得られたことになり、またランダム値が20になるので、20を切っていればランダムよりは良いはず、といった目安の数値です。

��(n∈全選手) |原打順(n)-山登り打順(n)|

おおむね20切ってますし、ある程度収束、というか人間に近い打順を得られているのではないかなと思ってます。


で、当時出した結論がこちら。

  • 1番に長打を打てる(俊足)バッター
  • 3・4番にパワーヒッター
  • 5番は打点を稼げるバッター(打率重視か)
  • 8・9番は成績が悪いバッター

まあ一言で言うと「あたりまえじゃねえかw」と。
だけど単純なシミュレータでここまでの結果が出たのが驚きでした。
野球はデータで制御すべきスポーツなんだなと思いました。

これ、もうちょっといじり倒せばもっといろんな結果出そうだけど、まあ気が向いたら遊んでみようかしら。
てか結構似たようなことを多くの人が検証していると思うので、ぜひぜひそんな皆さんの意見も聞いてみたいなと思ってみたり。

*1:これで95%勝ち越せると言えてるはず。多分。

*2:いかに得点を多く稼ぐか、稼げる打順を構築するか、が目的なので

*3:5番の方が打率重視という結論が前回出ています

*4:正解率みたいな感じでコンピュータ将棋開発している人間の感覚じゃないとこんな値出さない気もするんですが