プログラムを動かすために、必要な定義。
- イニング
- アウト
- 打者
- 打席
- 塁
- 打撃パターン
- 得点
ふたつチームを作って勝負させようと思っていたが、ひとつのチームで9イニング勝手にやったら何点取れるかをヒストグラムにして分布を考えるのも手だ。
やり方ひとつめ
打者の集合と、打撃パターン
がある。
打者がのとき、ある打撃パターン
が出る条件付き確率は
。
3アウトカウントでチェンジだから、人でチェンジになるとすると、最後の人はアウトでそれまでに2人アウトになる人を選べばいいから
通りに打撃確率をわんさかかける。
やり方ふたつ目
左から、一塁、二塁、三塁。
0は走者無、1は走者有、とすると、塁上の走者のパターンは
というA〜Hの8パターンがある。
これらの各々にアウトカウント0、1、2、3の情報を持たせた32の状況を用意する。
ある打者での状況から次の打者
への状況の推移は、32の状況に
をかけてなんやかんやすればいい。
ただし、推移がありえない場合の確率は0とする。
かけた行列の回数に、アウトや残塁数を考慮して得点を数える。
こうすれば行列的に処理できそう。
やり方みっつ目
とりあえずぶわ〜と乱数を発生させる。
前から数えていって、アウトカウント3つのところで区切っていく。
そのbinのなかで得点をカウントする。
みたいな話がでました。
ただ、最初に考えていた条件では難しすぎるので
- 打者ひとり
- アウトとシングルヒットのみ(HRもいれる?)
- 一塁と本塁のみ
とかもっと簡略化してうまくいきそうならパラメタ増やそうぜ、みたいな。
まあそんな感じでもうちょっと言葉で定義が固まったら書き始めよう。
終わり