mixiユーザー(id:1492915)

2017年06月03日08:19

910 view

[超難解]リーグ戦の順位の決め方

現在FIBAルールでのリーグ戦の順位の決め方はひじょうに難しいんです。これ一度読んだだけで理解できる人は天才だと思う。県によってはFIBAルールではない、もっと簡単な方法で順位付けしている所もあるみたいですね。

■高校バスケ、県優勝が取り消し 高体連のミスで順位訂正
(朝日新聞デジタル - 06月02日 18:38)
http://news.mixi.jp/view_news.pl?media_id=168&from=diary&id=4602470

前提:バスケットの場合、勝点は勝ち=2 負け=1 放棄=0 となっています。

国際規則■D.1.3

2チームあるいはそれ以上のチームが勝ち点で同じ順位になった場合には、次のように上位チームを決定する。

・2チームが同じ勝ち点になった場合は、当該の両チームの対戦で勝ち数の多いチームを上位とする。
・3チーム以上が同じ勝ち点になった場合は、当該のチームが対戦したゲームのみでの勝ち点の多いチームを上位とする。

D.1.3を適用した結果、1つでも当該チームの数が減った場合は、あらためてD.1.3を適用する。

■D.1.4 D.1.3を適用しても2チームあるいはそれ以上のチームの順位が決定できない場合には、当該チームが対戦したゲームのみでの得失点差(*1)が多いチームを上位とする。そののち、あらためてD.1.3 D.1.4 をこの順序に従って適用する。

■D.1.5 D.1.4を適用しても2チームあるいはそれ以上のチームの順位が決定できない場合には、当該チームが対戦したゲームのみでの総得点が多いチームを上位とする。そののち、あらためてD.1.3 D.1.4 D.1.5 をこの順序に従って適用する。

■D.1.6 D.1.5を適用しても2チームあるいはそれ以上のチームの順位が決定できない場合には、そのグループ内のすべてのゲームにおける得失点差が多いチームを上位とする。そののち、あらためてD.1.3 D.1.4 D.1.5 D.1.6 をこの順序に従って適用する。

■D.1.7 D.1.6を適用しても2チームあるいはそれ以上のチームの順位が決定できない場合には、そのグループ内のすべてのゲームにおける総得点が多いチームを上位とする。そののち、あらためてD.1.3 D.1.4 D.1.5 D.1.6 D.1.7 をこの順序に従って適用する。

すなわち、同じ順位になる複数のチームが残った時点で、あらためてD.1.3からの方法を順次適用していくことを繰り返していけばよい。

上記のような方法を適用してもなお同じ順位になるチームがある場合には、抽選で最終順位を決定する。

「日本バスケットボール協会・2015バスケットボール規則」より引用。

--------------------
これプログラムで組むと、ルールを適用して複数の同順位グループに分かれた場合、その各々についてリカーシブコールして、その結果を使って順位を決めていくという、ひじょうに高度のコードを書く必要がある。各グループが1個だけになるまで、サブルーチンが深く呼ばれていく。

頭が痛くなるようなプログラムです。手作業でやると、どこかで間違っても気づきにくいです。

でもこういうの関係者の間では、汎用的なプログラムが出回ってないのかね〜。私は少なくともフリーのものでは見つけきれなかったから、自分でコード書いたんだけど(汎用的なものにするには、まだかなり手を加える必要がある)。

--------------------
(*1)現在は得失点差で見るが、2014年の改訂以前は得失点率を使用していた。その場合、低得点で勝ったほうが有利になっていた。得失点差にした改訂は私は妥当だと思う。

個人的には1.4 1.5が不要だと思う。強いチームに善戦した結果が反映されないのはおかしい。
この1.4 1.5が無かったら、リオ五輪で日本はもっと上位まで勝ち上がれた可能性が高いんですけどね〜。総得失点差では2位だったのに、同順位得失点差で4位になってしまい、準々決勝で他グループ1位のアメリカと当たってしまった。

4 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する