- ベストアンサー
フォーメーション
http://www.jra.go.jp/baken_guide/mark_form_tensu.html にあるような、フォーメーションの組合せ数計算のプログラムのアルゴリズムが知りたいのですが・・・・ どこかWEB上のアルゴリズムを公開しているようなページはありませんか?? また、フォーメーションの組合せ数をその場で計算できるような公式はないのでしょうか??
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
雑誌に載っていて、自分でもこれならと思ったものがありました。 例として、1着に1・2・3、2着に1・2・4・5、3着に1・2・3・5・7・8・9とマークしたとします。 まず、各着順にマークした頭数を上から掛けていきます。例の場合だと3×4×7=84となります。 次に、各着順の重複点数をその着順でないところへ書きます。1着には2・3着で重複した馬番の数を書く、2着には1・3着で重複した馬番の数を書く、3着には1・2着で重複した馬番の数を書く、というふうにしていきます。例の場合、2・3着の重複は3頭、1・2着の重複は2頭、1・3着の重複は3頭です。 それを、各着順のマークした点数に掛けます。 1着は3×3=9、2着は4×3=12、3着は7×2=14です。 最初に出した84から上の計算のすべての和を引きます。84-(9+12+14)=49。最後に1・2・3着すべてにマークした馬番の数(例だと2頭)を倍にした数を足します。2×2=4ですから、先ほどの49+4で53となり、これが総点数となります。 説明がヘタで申し訳ないのですが、何回か試してみてはいかがでしょうか。
その他の回答 (1)
- kony0
- ベストアンサー率36% (175/474)
まずは「馬連・馬単」から。 1着=A、2着=B、どちらにも選んだ数=Cとすると、 馬連の点数=AB-C(C+1)/2 馬単の点数=AB-C で計算できます。 「3連複・3連単」の公式は、かなり大変。 仮に、「1着・1頭目」で選んだものは「2着・2頭目」「3着・3頭目」でも選び、「2着・2頭目」で選んだものは「3着・3頭目」でも選ぶとすると・・・(ちょっと3連単とかすごい点数になりそうですが) 1着=A, 2着=B,3着=Cの場合に、 3連複:A(A-1)/2*(max(A-2,0)/3+(C-A)) + A(B-A)((B-2)/2+(C-B)) 3連単:A(A-1)*(max(A-2,0)+(C-A)) + A(B-A)(C-2) で計算できると思います。(こっちは検証してない&難しいので、ちょっと自信なし) 一般的なのは、たぶんすごい大変。(たぶん文字7つ必要で、式を書いたとしても、“その場で計算できるような”式にはなりえないでしょう。) ※この式が間違えていることにより、点数が思いもよらず増えてしまった場合に、当方いかなる責任もとれませんのであしからず・・・