ランナーのカウント

  • xを状況を表す整数とする
  • 状況xの時、何人の打者が出塁したかを表すベクトルVをつくる
  • 並べて書くと一番右のベクトル

\begin{vmatrix} X \\ 0\\1\\2\\3\\4\\5\\6\\7\\ \vdots \end{vmatrix} \begin{vmatrix} \ldots & base N & \ldots & base3 & base2 & base1\\ \ldots & 0 & \ldots & 0 & 0 & 0\\ \ldots & 0 & \ldots & 0 & 0 & 1\\ \ldots & 0 & \ldots & 0 & 1 & 0\\ \ldots & 0 & \ldots & 0 & 1 & 1\\ \ldots & 0 & \ldots & 1 & 0 & 0\\ \ldots & 0 & \ldots & 1 & 0 & 1\\ \ldots & 0 & \ldots & 1 & 1 & 0\\ \ldots & 0 & \ldots & 1 & 1 & 1\\  & \vdots &  &  \vdots & \vdots & \vdots \end{vmatrix} \begin{vmatrix} V \\ 0\\1\\1\\2\\1\\2\\2\\3\\ \vdots \end{vmatrix}

  • 再帰的に作る
    • 初期条件をいれておいて
V<-c(0)
V<-c(V,V+1)
    • 終わりはないが 繰り返す回数は
      • length(V) \geq xとなるまで
      • あるいは [log_{2}(x+1)]
  • 状況xの時、出塁した人数を返す
x<-15  #状況をあらわす整数
v<-c(0)  #ベクトルの生成
while (length(v) < x+1){
	v<-c(v,v+1)
	}
v[x+1]  #出塁した人数を返す
  • グラフで書くと
x<-0:20
v<-c(0)
while (length(v) < max(x)+1){
	v<-c(v,v+1)
	}
v
plot(x,v[x+1])

  • 得点について
    • 残塁をつかって計算する(こちら
    • 1イニングの得点は、出塁したランナーの数から残塁の人数を引けばよい
    • 状況がxだとすると
      • 出塁した人数は v[x+1]
      • 残塁した人数は v[r+1] ただしx+1 \equiv r+1 (mod8)  0 \leq r+1 \leq 7
    • 得点は v[x+1]-v[r+1] で得られる