ランナー と 得点

  • こちらの記事の野球っぽいゲーム
  • 塁上にいる人のパターンと得点について
  • 第N塁に人がいることを1、いないことを0と書くことにしてN \leq 3のとき、考えられる状況は2^3=8通り

\begin{vmatrix}  base3 & base2 & base1\\ 0 & 0 & 0\\ 0 & 0 & 1\\ 0 & 1 & 0\\ 0 & 1 & 1\\ 1 & 0 & 0\\ 1 & 0 & 1\\ 1 & 1 & 0\\ 1 & 1 & 1 \end{vmatrix}

  • これを整数の2進法表示と同一視して、上から順に整数0から7を対応させる
  • 仮想的にN \geq 4もゆるす

\begin{vmatrix} No \\ 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}

  • ヒットによって状況が変化する
    • シングルヒットでは累上の人がひとつ前のベースに進み、打者が1塁に移動する
    • ツーベースヒットでは累上の人が2つ前のベースに進み、打者が2塁に移動する
    • スリーベース、HRも同様に考える
  • 2進法表示で考えれば
    • シングルヒットでは1桁繰り上げて1を足す
    • ツーベースヒットでは2桁繰り上げて10を足す
    • スリーベース、HRも同様
  • 10進法で書き直せば
    • シングルヒット:2をかけて1を足す
    • ツーベースヒット:4をかけて2を足す
    • スリーベースヒット、HRも同様
  • 10進法での話
  • f(x)=2x+1とする
  • xを状況に対応した整数とする
    • 状況xからシングルヒットがでたとき、新たな状況はf(x)であらわされる
    • 状況xからツーベースヒットがでたとき、新たな状況は2f(x)であらわされる
    • 状況xからスリーベースヒットがでたとき、新たな状況は4f(x)であらわされる
    • 状況xからHRがでたとき、新たな状況は8f(x)であらわされる
  • つまりアフィン変換の線型結合である
  • 得点について
    • baseN(N > 3)にいる人数を得点とみなせばよいが、得点をうまく数える方法はないだろうか....
    • 2進法表示のままでbase4以上の人数(1の数)を数えさせるのが楽だ