クリンチナンバー計算ページの計算不具合修正。

 クリンチナンバー計算ページの計算ミスを修正です。申し訳ありません。

ミスの概要
パ・リーグのクリンチナンバー計算ページで、9月10日〜14日までの「ライオンズのCSクリンチナンバー」に計算ミスがありました。ライオンズのCSクリンチナンバーが、最大で 1 ズレます。
そのため、9月14日の「ライオンズ自力CS消滅」を検出できませんでした。
 …現在は修正済みです。
ミスの範囲
上記のとおり。それ以外の値に、今のところ間違いは見つけていません。
ミスの原因は下記のようなものだったので、少なくとも「優勝クリンチナンバー / 優勝マジックナンバー」に関しては間違いは起こり得ない筈です。

また、セ・リーグの方のデータは大丈夫だと思います。
ミスの原因
順位決定方法の認識違い&プログラムミスです。 順位決定方式の「勝率が同じ場合は、チーム同士の対戦勝率が高い方が上位」という表現。「同率チームが2チーム」の場合は 1 対 1 で比較すれは良いとして、「同率チームが3チーム以上」の場合には、
  1. 【正しい】当該チーム間の対戦成績をまとめて比較する。
  2. 【間違い】当該チームそれぞれの対戦成績を個別に比較する。
…という事なんですな。今まで、この部分を間違っていた(2.の認識で計算していた)、と。

 幸いにも「クリンチナンバー算出途中の計算で、3チーム以上が同率に並んで、それらのチーム間の対戦成績比較をした場合に上記 1. と 2. とで計算結果が異なる」というパターンが、おそらくはかなりのレアケースだったので、今まで顕在化しなかったようです。

 たまたま「ライオンズの自力CSが無くなるか否か(ライオンズが全勝したときに3位以内に入れるか)」というクリティカルな状況のときに問題が浮かび上がったために気づいた次第。ラッキーだったと言うべきでしょうかな。

 とりあえず当該部分のコードを正しい比較が行われるように修正して、パ・リーグの2013年9月10日以降のデータを計算しなおしています。

 直した部分に新たに不具合が発生する可能性も無きにしもあらずなのですが、その時はまた直します。

 疑問・ツッコミなど大歓迎ですので、今後ともよろしくお願いします。

ではでは。

【2013.09.22 追記】続きがあります。→ 続・クリンチナンバー計算ページの計算不具合修正。

カテゴリ: