【実施例1】
【0028】
本実施例では、特定順位k位以上を確定する最小の勝数を求める例を説明する。ここで問題(X)とは式(X)を解く問題のことをいう。
[アルゴリズム]
まず、特定順位以上を確定する最小の勝数について考える。ただし、第k位以上が確定するとは、その他の残り試合すべてに敗けたとしても第k+1位以下になる可能性がないこととする(k=1,2,・・・,n−1)。いま、計算対象チームa∈Lに対して以下の最適化問題を考える。ここで
【数6】
を満たすバイナリベクトルの集合をA
kで表すものとする。ここで、式(6)はチームの区分けを表し、比較対象チームではα
i=0、脱落対象チームではα
i=1である。
【0029】
【数7】
【0030】
この問題の目的関数は計算対象チームaの今後の全勝数であり、最初の等式制約条件はチームaが今後のすべての試合で引き分けがないこと、また次の不等式制約条件はシーズンを終えたときチームaの最終勝率を上回るか同率のチームが少なくともkチーム存在することを要求している。
α∈A
kはα
i=0となるk個の比較対象チームを選択する機能を持っていることに注意されたい(以下、α∈A
kにより定まる比較対象チーム集合を次式で表す)。
【数8】
【0031】
したがって、問題(7)は計算対象チームが今後すべての試合に引き分けることなく、計算対象チームの最終勝率を上回るか同率のチームが少なくともkチーム存在する、という条件のもとでの計算対象チームの最大の勝数(およびこれを与えるシナリオと比較対象kチーム)を求める問題であるといえる。不等式制約条件は
【数9】
あるいは
【数10】
とも書けるが、これは計算対象チームの最終勝率が比較対象kチームのうちの最下位の最終勝率を上回らないことを意味する。
【0032】
問題(7)はすべてのα∈A
kに対して
【数11】
を解くことと等価である。例えばn=6かつk=1のとき、比較対象チームc(≠a)を変えながら
【数12】
を5回解いていることに等しい。
【0033】
またn=6,k=3のときは、比較対象3チームc
i(≠a),i=1,2,3の10通りの組合せに対して
【数13】
を解いていることになる。
【0034】
α∈A
kを固定して得られる部分問題(11)においては、比較対象kチームは脱落対象n−k−1チームに対して全勝すると限定してよい。すなわち問題(11)に制約条件
【数14】
を付け加えても最適目的関数値は不変である。
【0035】
問題(7)の勝率を比較する不等式制約条件は、左辺の分母は定数であるが右辺の分母には変数xが含まれるため、xに関して2次の制約式となる。この制約条件について少し補足する。複数チームの最終勝率が同率のとき、当該チーム間で再試合を行なう場合は、問題(7)の不等式制約条件には等号を含めない、すなわち同率の場合は計算対象チームが上位と考える方が自然であるが、再試合を行うことなくあらかじめ定められた規則により順位を決定する場合には、等号つきで勝率を比較して同率のときは別途評価する方が望ましいと考える。セリーグ及びパリーグの同率時順位の判定条件については後述する。
【0036】
かりに、不等式制約条件に等号を含めない形で問題(7)を解く際には、この制約条件を
【数15】
として解く必要がある。ただし、εは十分小さな正の実数でチーム当たりの全試合数の逆数より小さなものとする。
【0037】
図1に、問題(7)を解いた上で、計算対象チームが第k位以上であることを確定する最小の勝数を求めるアルゴリズムのフローチャートを示す。まず、問題(7)に許容解があるかないかを判定する(S001)。
【0038】
さて、問題(7)に許容解がないとすると(S001でNO)、計算対象チームが今後の全試合に引き分けることなく、計算対象チームの最終勝率と同率かあるいはこれを上回るチームが少なくともkチーム存在する、というシナリオは存在しない。故に、今後全試合に敗けたとしても第k+1位以下になることはないので、既に第k位以上が確定している(S002)。問題(7)に許容解がある場合は(S001でYES)、シナリオは有限(|X|<∞)であるから、問題(7)は必ず最適解( ̄x, ̄α)(それぞれ式中のx,α上に−を付したものに対応)を持つ。この解に対して、計算対象チームの最終勝率が比較対象kチーム中の最下位の最終勝率より低い可能性を判定する(S003)。最下位の最終勝率より低い場合、( ̄x, ̄α)は問題(7)の不等式制約条件から等号を取り去った問題に対しても最適解を与えていることになる。したがって、このとき計算対象チームはあとΣ
j∈L ̄x
aj勝しただけでは第k+1位以下になる可能性がある(S003でYES)。一方、問題(7)の最適解( ̄x, ̄α)に対して、計算対象チームの最終勝率が比較対象kチームの最下位の最終勝率と等しい場合は、同率の場合の順位決定規則により判断する必要がある。その上で、計算対象チームが今後Σ
j∈L ̄x
aj勝する場合のすべての組合せについて、計算対象チームが比較対象チームの最下位より上位になるなら、Σ
j∈L ̄x
ajが第k位以上を確定する最小の勝数となる(S004)。
【0039】
最後に、同率の場合を考慮しても、あとΣ
j∈L ̄x
aj勝しただけでは第k+1位以下になる可能性があるときは、
【数16】
が成立するか否かを判定する(S005)。式(16)が成立しなければ、全勝してもk+1位以下となる可能性があり(S006)、式(16)が成立
するときのみ、Σ
j∈L ̄x
aj+1が第k位以上を確定する最小の勝数となる(S007)。
【0040】
[分枝限定法による解法]
本実施例のアルゴリズムは分枝限定法に基づいている。ここでは、分枝限定法による解法について説明する。
問題(7)を分枝限定法に基づいて解くための手順を以下に示す。
(1)まず、αを固定(
n−1C
k通り)する。
このとき、x
ij=g
ij、x
ji=0∀j∈E
α∀i∈C
α
とする。ただし、比較対象チーム集合および脱落対象チーム集合をそれぞれ
C
α:={i∈L|i≠a、α
i=0}
E
α:={i∈L|i≠a、α
i=1}
で定義する。
【0041】
(2)
【数17】
このとき、計算対象チームaの最終勝率
【数18】
が固定される。
【0042】
(3)
【数19】
このとき、比較対象チームi∈C
αの最終勝率は
【数20】
で表されるが、この段階で分子の
【数21】
のみ未定である。
【0043】
(4)問題(7)の制約条件に上述の(1)〜(3)の条件を加えた以下の条件を満たすシナリオx∈Xが存在するか調べる。
【数22】
【0044】
(a)比較対象チームi∈C
αが計算対象チームの最終勝率を上回るのに必要な、すなわちp
a≦p
iとなる、最小の勝数(必要勝数)
【数23】
を求める。さらに、比較対象チーム集合Cαのすべての非空部分集合Sに対してチーム集合としての必要勝数の和を求める(2
k−1通り)。
【0045】
(b)計算対象チームaの比較対象チーム集合C
αに対する総勝数
【数24】
すなわち
【数25】
を求める。このとき、比較対象チーム集合C
αの計算対象チームaに対する総勝数は
【数26】
となる。
【0046】
(c)比較対象チームi∈C
αが達成可能な最大勝数(達成可能勝数)
【数27】
を求める。上式の各項は、それぞれ計算対象チームa、他の比較対象チームj∈C
α、仮想脱落チームj∈E
αに対して達成可能な勝数である。一般に、比較対象チーム集合C
αの非空部分集合Sがチーム集合として達成可能な勝数は
【数28】
で与えられる。
【0047】
(d)(a)で求めた必要勝数が(c)で求めた達成可能勝数を上回っていないか、比較対象チーム集合C
αのすべての非空部分集合Sに対して検証する(2
k−1通り)。どれか一つでも上回っていれば条件(C)を満たすシナリオx∈Xは存在しない((3)へ戻る)。
【0048】
(e)どれも上回っていなければ全探索し、条件(C)を満たすシナリオx∈Xが存在した場合、同率の場合の順位決定規則も考慮した上で、計算対象チームaがk+1位になるなら、M:=M+1として(2)へ戻る。条件(C)を満たすシナリオx∈Xが存在しない場合、(3)へ戻る((3)のすべての組合せを検証し終わったらMを仮の最小勝数として(1)へ戻る。(1)のすべての組合せを検証し終わったら、それらの最大値を最小勝数とする)。
【0049】
[演算装置]
図2に、本実施例における演算装置10の構成例を示す。本演算装置は、勝率で順位が決定されるリーグ戦の順位を確定するに必要な最小勝数を算出する演算装置であって、リーグ戦の順位を定める条件を記憶する条件記憶部20と、計算対象順位を設定し、リーグに所属する各チームを区分けして設定し、各チーム間の勝敗数と引分数を設定する設定部30と、設定された勝敗数に基づいて各チームの勝敗数又は勝敗率を計算する演算部40と、演算部40で算定された勝敗数又は勝敗率を比較し、算定された勝敗数又は勝敗率と順位を定める条件に基づいて、計算対象チームの順位が確定するか否かを判定する比較判定部50と、必要な最小勝数の解を決定する決定部60と、当該演算装置10内のデータの流れと処理を制御する制御部70とを備える。演算装置10は例えばパーソナルコンピュータ(PC)80及び周辺又は内蔵の記憶装置を用いて構成できる。例えば、設定部30、演算部40、比較判定部50、決定部60及び制御部70はPC80内に、条件記憶部20は周辺又は内蔵の記憶装置内に構成できる。また、アルゴリズムはPC80内のROM(Read Only Memory)内に記憶し、リーグ戦の順位を確定するに必要な最小勝数を算出するための記憶、演算、比較、判定、決定及び制御にPC80内のRAM(Random Access Memory)やマイクロプロセッサを使用しても良い。
【0050】
設定部30は、計算対象順位k位(kは正整数)を設定し、リーグに所属する各チームを、計算対象チーム、比較対象チーム及び脱落対象チームに区分けして仮設定し、各比較対象チーム間の残り試合数から、各比較対象チーム間の引分数を仮設定し、計算対象チームの残り試合数から、計算対象チームの最終勝数を仮設定する。かかる3つの仮設定により、ループ内の繰り返し数が限定されるので、演算の高速化が大いに促進される。
演算部40は、計算対象チームの最終勝数から計算対象チームの最終勝率を計算し、比較対象チーム又はその組み合わせについて達成可能な勝数を求め、各比較対象チームが計算対象チームの最終勝率以上になるために必要な勝数を計算する。
【0051】
比較判定部50は、第1の比較判定部51において、比較対象チーム又はその組み合わせについて達成可能な勝数と必要な勝数を比較し、比較対象チーム又はその組み合わせのいずれかで、達成可能な勝数が必要な勝数に達しない場合には、計算対象チームは当該設定条件では計算対象順位k位以上であることが確定するものと判定し、全ての組み合わせで達成可能な勝数が必要な勝数以上である場合には、未確定であると判定する。ここで、「当該設定条件」は、第1の比較判定部51では、順位k位の設定の他、計算対象チームの最終勝数の仮設定、対象チームの区分仮設定、各比較対象チーム間の引分数の仮設定がされた条件をいう。ただし、当該設定条件ではk位以上であることが確定しても、別の設定条件ではk位より下位になる場合があり得るので、k位より下位になる場合が見出されるまで、設定条件を変更して、演算及び判定を繰り返し行なうこととなる。また、比較対象チーム又はその組み合わせについて達成可能な勝数と必要な勝数を比較する際には、比較対象チーム又はその組み合わせの全てについて比較すると、計算対象チームがk位以上にならないケースを迅速に見出すことができ、厳密解で迅速に解を得るのに有効である。
【0052】
また、第2の比較判定部52において、第1の比較判定部51にて未確定であると判定された場合に、当該設定条件の範囲内での詳細設定に基づいて当該設定条件ではk位以上が確定する又は順位k位より下位になる場合があるかを判定する。ここで、「当該設定条件」は、第2の比較判定部52では、第1の比較判定部51における仮設定条件に、更に各比較対象チームの勝数が仮設定された条件をいう。第2の比較判定部52は、第2Aの比較判定部52Aにおいて、計算対象チームの最終勝率と各比較対象チームの最終勝率とを比較し、全ての比較対象チームの最終勝率が計算対象チームの最終勝率より大きい場合には、計算対象チームの順位が設定された順位k位より下位になる場合があると判定し、比較対象チームの最下位の最終勝率が計算対象チームの最終勝率に等しくなる場合には、同率時順位判定を要すると判定し、いずれかの比較対象チームの最終勝率が計算対象チームの最終勝率より小さくなる場合には、計算対象チームの順位が当該設定条件ではk位以上であることが確定すると判定する。また、第2Bの比較判定部において、第2Aの比較判定部にて同率時順位判定を要すると判定した場合には、順位を定める条件に基づいて、計算対象チームの順位が当該設定条件ではk位以上が確定する又は順位k位より下位になる場合があると判定する。ただし、当該設定条件ではk位以上であることが確定しても、別の設定条件ではk位より下位になる場合があり得るので、k位より下位になる場合が見出されるまで、設定条件を変更して、演算及び判定を繰り返し行なうこととなる。
【0053】
また、設定部30は、未確定であると判定された場合には、当該設定条件の範囲内で各比較対象チームの勝数を割り振って、各比較対象チームの勝数を仮設定する。ここで、計算対象チームの勝数を脱落対象チーム及び交流戦チームに優先的に割り振り、残りを比較対象チームに割り振る。また、比較対象チーム間の勝敗を割り振る。演算部40は、仮設定された各比較対象チームの勝数から各比較対象チームの最終勝率を計算し、比較判定部50は、第2の比較判定部52にて、上述の比較と判定を行なう。
また、設定部30は、第2Aの比較判定部52A又は第2Bの比較判定部52Bにて、順位k位より下位になると判定された場合には、仮設定された計算対象チームの最終勝数を1増加する。すなわち、最終勝数を1増加して、順位を確定するに必要な最小勝数であるか否かを検証する。ここでも、任意の設定条件ではk位以上であることが確定しても、別の設定条件ではk位より下位になる場合があり得るので、k位より下位になる場合が見出されるまで、設定条件を変更して、演算及び判定を繰り返し行なうこととなる。
【0054】
決定部60は、当該設定条件では計算対象順位k位以上であることが確定するものと、仮設定されている最終勝数において全ての仮設定条件で判定されたか否かを判定し、全ての仮設定条件で確定するものと判定されたときに、当該仮設定されている最終勝数が必要な最小勝数の解であると決定する。
制御部70は、演算装置10及びその各部を制御して、すなわち、演算装置10内のデータの流れと処理を制御して、演算装置10としての機能を発揮させる。
【0055】
[演算処理フロー]
図3A及び
図3Bに本実施例における演算方法の処理フロー例を示す。本実施例における演算方法は、勝率で順位が決定されるリーグ戦の順位を確定するのに必要な最小勝数を算出する演算方法である。演算に使用するアルゴリズムが、分枝限定法を用いて厳密解を求めることができ、かつ、条件設定とその組み合わせが迅速に解を引き出すのに適したものとなっている。まず、リーグ戦の順位を定める条件を記憶する(条件記憶工程:S101)。次に、計算対象順位k位(kは正整数)を設定する(対象順位設定工程:S102)。
図3A及び
図3Bでは、k=3の場合、すなわち、CS(クライマックスシリーズ)進出のために必要な最小勝数を算出する例を示す。次に、計算対象チームの残り試合数から、計算対象チームの最終勝数を仮設定する(計算対象チーム最終勝数仮設定工程:S103)。通常は最終勝数(仮定勝数)を0から開始するが、予想される真の最小勝数を超えない数から開始しても良い。次に、リーグに所属する各チームを、計算対象チーム、比較対象チーム及び脱落対象チームに分けて仮設定する(対象チーム仮設定工程:S104)。リーグ所属チーム数n=6とすると、k=3であるから、比較対象チーム数はk=3、脱落対象チーム数はn−k−1=2となる。ここでは、計算対象チームA、比較対象チームB,C,D、脱落対象チームE,Fとする。次に、各比較対象3チーム間の残り試合数から、各比較対象チーム間の引分数を仮設定する(比較対象チーム引分数仮設定工程:S105)。次に、仮設定された計算対象チームAの最終勝数から最終勝率を計算する(計算対象チーム最終勝率仮設定工程:S106)。次に、各比較対象3チームが最終勝率以上になるために必要な勝数を計算する(必要勝数算定工程:S107)。次に、計算対象チームAの最終勝数を比較対象チームに割り振る(計算対象チーム勝数割振工程:S108)。ここで、計算対象チームAの勝数を脱落対象チーム及び交流戦チームに優先的に割り振り、残りを比較対象3チームに割り振る。このように割り振ると比較対象チームに有利な条件となり、リーグ戦の順位を確定するに必要な最小勝数を迅速に引き出すことができる。次に、各比較対象チーム又はその組み合わせについて達成可能な勝数を求める(達成可能勝数算定工程:S109)。ここで、比較対象チーム又はその組み合わせはB,C,D,B+C,B+D,C+D,B+C+Dの7パターンになる。
【0056】
次に、比較対象チーム又はその組み合わせについて達成可能な勝数と必要な勝数を比較し、比較対象チーム又はその組み合わせのいずれかで、達成可能な勝数が必要な勝数に達しない場合には(NO)、計算対象チームは当該設定条件(区分、最終勝数、引分数)では計算対象順位k位(3位)以上であることが確定するものと判定し、全ての組み合わせで達成可能な勝数が必要な勝数以上である場合には(YES)、未確定であると判定する(第1の比較判定工程:S110)。ただし、当該設定条件ではk位以上であることが確定しても、別の設定条件ではk位より下位になる場合があり得るので、k位より下位になる場合が見出されるまで、設定条件を変更して、演算及び判定を繰り返し行なうこととなる。
【0057】
次に、第1の比較判定工程で未確定であると判定された場合には、当該設定条件の範囲内での詳細設定に基づいて当該設定条件(区分、最終勝数、引分数、詳細設定)ではk位以上が確定する又は順位k位より下位になる場合があるかを判定する(第2の比較判定工程:S114,S115)。これを詳しく述べると、まず、当該設定条件の範囲内で各比較対象チームの勝数を割り振って、各比較対象チームの勝数を仮設定する。例えばまず、各比較対象チ−ムの計算対象チームに対する勝数を割り振って仮設定し(比較−計算対象チーム間勝数仮設定工程:S111)、次に、各比較対象チーム間の勝数を割り振って仮設定する(比較対象チーム間勝数仮設定工程:S112)。ここでも、計算対象チームAの勝数を脱落対象2チーム及び交流戦チームに優先的に割り振り、残りを比較対象3チームに割り振る。また比較対象3チームも脱落対象2チームには全勝することを前提とする。このように割り振ると比較対象チームに有利な条件となり、リーグ戦の順位を確定するに必要な最小勝数を迅速に引き出すことができる。次に、仮設定された比較対象チームの勝数から各比較対象チームの最終勝率を計算する(比較対象チーム最終勝率算定工程:S113)。次に、計算対象チームAの最終勝率と各比較対象チームB,C,Dの最終勝率とを比較し、全ての比較対象チームの最終勝率が計算対象チームの最終勝率より大きい場合には(S114でYES)、計算対象チームAの順位が設定された順位k位より下位になる場合(4チーム中で単独4位になる場合)があると判定し、比較対象チームの最下位の最終勝率が計算対象チームの最終勝率に等しくなる場合(2チームが同率3位、3チームが同率2位等)には(S114でNO、S115でYES)、同率時順位判定を要すると判定し、いずれかの比較対象チームの最終勝率が計算対象チームの最終勝率より小さくなる場合には(S114でNO、S115でNO)、計算対象チームAの順位が当該設定条件ではk位以上(3位以上)であることが確定すると判定する(第2Aの比較判定工程:S114、S115)。ただし、別の設定条件ではk位より下位(4位以下)になる場合があり得るので、k位より下位になる場合が見出されるまで、設定条件を変更して、演算及び判定を繰り返し行なうこととなる。次に、第2の比較判定工程において同率時順位判定を要すると判定された場合には(S115でYES、S116に進む)、順位を定める条件に基づいて、計算対象チームの順位が当該設定条件ではk位以上が確定する(S116でNO)又は順位k位より下位になる場合がある(S116でYES)と判定する(第2Bの比較判定工程:S116)。同率時順位判定の詳細については具体的処理例で後述する。ただし、当該設定条件ではk位以上であることが確定しても、別の設定条件ではk位より下位になる場合があり得るので、k位より下位になる場合が見出されるまで、設定条件を変更して、演算及び判定を繰り返し行なうこととなる。
【0058】
次に、第2の比較判定工程(第2Aの比較判定工程(S114,S115)又は第2Bの比較判定工程(S116))において順位k位より下位になる場合があると判定された場合には、最終勝数仮設定工程(S103)で仮設定された計算対象チームAの最終勝数を1増加する(計算対象チーム勝数増加工程:S117)。そして、比較対象チーム引分数仮設定工程(S105)に戻り、仮設定条件を変更して以後のループ演算を継続する。すなわち、比較対象チーム引分数仮設定工程(S105)で仮設定条件(引分数)を変更して以後の工程を繰り返えす(以後の工程でS104に戻った時に区分が変更される)。なお、引分数仮設定工程(S105)に戻る代わりに対象チーム仮設定工程(S104)に戻り、仮設定条件(区分、引分数)を変更して以後のループ演算を継続するようにしても良い。
【0059】
次に、第2の比較判定工程(第2Aの比較判定工程(S114,S115)又は第2Bの比較判定工程(S116))において当該設定条件ではk位以上であることが確定したと判断された場合(S115又はS116でNO)には、未処理の比較対象チーム間勝数仮設定の有無を判定し(S118)、有れば比較対象チーム間勝数割振工程(S112)に戻り、仮設定条件を変更して以後のループ演算を継続する。無ければ、未処理の各比較対象チ−ムの計算対象チームに対する勝数の割り振りの有無を判定し(S119)、有れば比較−計算対象チーム間勝数仮設定工程(S111)に戻り、仮設定条件を変更して以後のループ演算を継続する。無ければ、次に未処理の比較対象チーム間の引分数仮設定の有無を判定し(S120)、有れば比較対象チーム引分数仮設定工程(S105)に戻り、比較対象チーム引分数仮設定工程(S105)で仮設定条件を変更して以後のループ演算を継続する。第1の比較判定工程(S110)において、当該設定条件ではk位以上であることが確定したと判定された場合も、未処理の比較対象チーム間の引分数仮設定の有無を判定し(S120)、有れば比較対象チーム引分数仮設定工程(S105)に戻り、比較対象チーム引分数仮設定工程(S105)で仮設定条件を変更して以後のループ演算を継続する。無ければ、未処理の比較対象チーム及び脱落対象チームの組み合わせ仮設定の有無を判定し(S121)、有れば対象チーム仮設定工程(S104)に戻り、対象チーム仮設定工程(S104)で仮設定条件を変更して以後のループ演算を継続する。無ければ、決定部60において、当該設定条件では計算対象順位k位以上であることが確定するものと、仮設定されている最終勝数において全ての仮設定条件で判定されたか否かが判定され(全ループ完了判定工程:S121)、全ループで処理が完了していれば、計算対象チームがk位以上であることが確定するものと判定され、このときに計算対象チーム最終勝数仮設定工程(S103)で仮設定されている最終勝数がリーグ戦の順位を確定するのに必要な最小勝数の解であると決定される(最小勝数決定工程:S122)。
【0060】
ここで、処理ループについて概略を説明すると、例えば、最終勝数n
fが仮設定されている時に、いずれかの設定条件で、比較対象チーム又はその組み合わせの全てで、達成可能な勝数が必要な勝数以上である場合には、第1の比較判定部51で未確定であると判定されて、即第2の比較判定部52に送られ、詳細設定に基づいて判定がされることになる。ここで、順位k位より下位になる場合があると判定され次第、すなわちk位以下となる条件が特定でき次第、最終勝数を+1することとなり、同じ最終勝数では別の設定条件で順位k位より下位になる場合があるかを探索する必要がなくなるため、高速に処理を進められる。すなわち、対象チームの区分仮設定、各比較対象チーム間の引分数の仮設定をすることにより、区分毎又は引分数毎にk位以上が確定するか否かを検証でき、詳細設定に基づいて順位k位より下位になる場合があると判定され次第、順位k位より下位になる場合があるかを探索する必要がなくなるため、高速に処理を進められる。ちなみに、求める最小勝数がn
xの時、仮設定される最終勝数0〜n
x−1までの処理時間は解を見出すまでの処理時間に比して微小である。また、最終勝数n
fが仮設定されている時に、全ての設定条件(対象チームの区分仮設定、各比較対象チーム間の引分数の仮設定)で探索を行い、k位以上が確定するという判定が得られた時に、決定部60で全ての仮設定条件で確定するものと判定され、必要な最小勝数の解が得られる。そして、最小勝数がn
x+1以上を探索する必要もなくなるため、高速に解を得ることができる。
【0061】
[具体的処理例]
ここで、本実施例について、リーグ戦で、勝率で順位が決まり、試合結果として引分を許す条件を含み、計算対象順位kが3位である例を用いて具体的に説明する。処理フローは
図3A及び
図3Bを参照されたい。
仮定(1):計算対象チームの残り勝数を仮定する(S103)。この際、計算上の前提として、計算対象チームの仮定勝数は脱落対象チームに対し優先的に勝利する。なお、
図3Aでは0勝から開始しているが、予想される真の最小勝数を超えない適当な設定値から開始しても良い。
仮定(2):計算対象チームに対し、比較対象3チーム、脱落対象2チームを仮定する(S104)。この際、計算上の前提として、比較対象3チームは脱落対象2チームに全勝するものとする。
仮定(3):比較対象3チーム間の残り試合における引分数を仮定する(S105)。
上記の仮定と計算上の前提に基づき、計算対象チームの勝率を上まわるための勝数を比較対象3チームが同時に達成可能であるか検証する。つまり、仮定内で計算対象チームが4位以下になりえるかを検証する。
【0062】
仮定を変化させながら計算対象チームが4位以下になり得ない勝数を見つけ、CS(クライマックスシリーズ)進出確定最小勝数を導き出す。
比較対象3チームを特定し、脱落対象2チームに全勝することを前提とすることで、4位となるチームの最終勝率が高くなることが想定され、計算対象チームがより多くの勝数を必要とする状況を絞り込むことができる。
比較対象3チーム間の引分数を仮定することで効率的に4位以下になり得ないパターンを絞り込むことができる。
【0063】
まず、勝敗表を表1のように仮定する。個別残り試合の升目中( )内の表示が仮設定値であり、( )内の表示がないものは未定である。
【表1】
【0064】
ここで、計算対象チームAの残り勝数(仮定勝数)を仮定する(S103)。通常は最初に「0」勝を仮定するのであるが、ここでは「34」勝を仮定する。
次に、計算対象チームをAとした場合、計算対象チームAに対し、比較対象3チーム、脱落対象2チームを仮定する(S104)。ここでは最初に「B」,「C」,「D」を比較対象チーム。「E」,「F」を脱落対象チームと仮定する。ここで、B,C,DはそれぞれE,Fに全勝することを前提とする。
次に、比較対象3チーム間(B,C,D間)の残り引分数(仮定引分数)を仮定する(S105)。ここでは最初に「B−C:10分」、「B−D:9分」、「C−D:10分」を仮定する。
上記の仮定と前提に基づき、計算対象チームの勝率を上まわるための勝数を比較対象3チームが同時に達成可能であるか検証する。
チームAの最終勝率は、仮定勝数が34勝のため86勝51敗8分となり、「0.6277」となる(S106)。
チームAの比較対象3チームへの総勝敗は、仮定勝数が34勝のため、脱落対象2チームの残り試合19に優先的に勝数を割り振るため。34−19=15より、「15勝20敗」となる。
比較対象3チームのチームAへの総勝敗は、逆に「20勝15敗」となる。
【0065】
次に、比較対象3チームがチームAの最終勝率を上まわるのに必要な勝数(チームE,Fへの勝数は除く)を求める(S107)。
チームBについては、チームAの最終勝率「0.6277」*チームBの最終試合数「124」−現勝数「53」−脱落チームへの勝数「25」=「−0.1605」となり、小数点以下を切り上げて「0」勝を要する(*は乗算子を示す)。
チームCについては、チームAの最終勝率「0.6277」*チームCの最終試合数「124」−現勝数「49」−脱落チームへの勝数「26」=「2.8394」となり、小数点以下を切り上げて「3」勝を要する。
チームDについては、チームAの最終勝率「0.6277」*チームDの最終試合数「122」−現勝数「38」−脱落チームへの勝数「24」=「14.5839」となり、小数点以下を切り上げて「15」勝を要する。
チームB+Cについては、チームBの0勝+チームCの3勝で、合計「3」勝を要する。
チームB+Dについては、チームBの0勝+チームDの15勝で、合計「15」勝を要する。
チームC+Dについては、チームCの3勝+チームDの15勝で、合計「18」勝を要する。
チームB+C+Dについては、チームBの0勝+チームCの3勝+チームDの15勝で、合計「18」勝を要する。
ここで、チームB,C,Dの最終試合数は1チームの全試合数144から現在の引分数と仮定引分数を引いたものとなる。
【0066】
次に、比較対象3チームがチームAに対し達成可能な勝数を求める(S109前半)。
チームBについては、チームBとチームAの残り試合は「9」である。「9」(チームBとチームAの残り試合)≦「20」(比較対象3チームのチームAへの総勝数なので、「9」勝可能である。
チームCについては、チームCとチームAの残り試合は「14」である。「14」(チームBとチームAの残り試合)≦「20」(比較対象3チームのチームAへの総勝数なので、「14」勝可能である。
チームDについては、チームDとチームAの残り試合は「12」である。「12」(チームBとチームAの残り試合)≦「20」(比較対象3チームのチームAへの総勝数なので、「12」勝可能である。
チームB+Cについては、チームB、CとチームAとの総残り試合(9+14)は「23」である。「23」(チームB、CとチームAとの総残り試合(9+14))≧「20」(比較対象3チームのチームAへの総勝数)なので、「20」勝可能である。
チームB+Dについては、チームB、DとチームAとの総残り試合(9+12)は「21」である。「21」(チームB、DとチームAとの総残り試合(9+12))≧「20」(比較対象3チームのチームAへの総勝数)なので、「20」勝可能である。
チームC+Dについては、チームC、DとチームAとの総残り試合(14+12)は「26」である。「26」(チームC、DとチームAとの総残り試合(14+12)≧「20」(比較対象3チームのチームAへの総勝数)なので、「20」勝可能である。
チームB+C+Dについては、チームB,C,DとチームAとの総残り試合(9+14+12)は「35」である。「35」(チームB,C,DとチームAとの総残り試合(9+14+12))≧「20」(比較対象3チームのチームAへの総勝数)なので、「20」勝可能である。
ここで、可能な勝数は、チームAとの残り試合数と比較対象3チームのチームAへの総勝敗「20」の小さい方とする。
【0067】
次に、比較対象3チームが達成可能な勝数(チームE、Fへの勝数は除く)を求める(S109後半)。
チームBについては、チームAへの勝数9勝+チームC、Dとの残り試合19試合−チームC、Dとの仮定引分数19分=「9」勝とすると、「9」勝可能である。
チームCについては、チームAへの勝数14勝+チームB、Dとの残り試合20試合−チームB、Dとの仮定引分数20分=「14」勝とすると、「14」勝可能である。
チームDについては、チームAへの勝数12勝+チームB、Cとの残り試合19試合−チームB、Cとの仮定引分数19分=「12」勝とすると、「12」勝可能である。
チームB+Cについては、チームAへの勝数20勝+チームB、C、Dとの残り試合29試合−チームB、C、Dとの仮定引分数29分=「20」勝とすると、「20」勝可能である。
チームB+Dについては、チームAへの勝数20勝+チームB、C、Dとの残り試合29試合−チームB、C、Dとの仮定引分数29分=「20」勝とすると、「20」勝可能である。
チームC+Dについては、チームAへの勝数20勝+チームB、C、Dとの残り試合29試合−チームB、C、Dとの仮定引分数29分=「20」勝とすると、「20」勝可能である。
チームB+C+Dについては、チームAへの勝数20勝+チームB、C、Dとの残り試合29試合−チームB、C、Dとの仮定引分数29分=「20」勝とすると、「20」勝可能である。
【0068】
次に、比較対象3チームがチームAを上まわるために「必要な勝数」と比較対象3チームが「達成可能な勝数」を比較する(S110)。1チームごとだけでなく、2チームの組み合わせと3チームの組み合わせでも同様に比較する。比較対象チームがチームAを上まわるのに「必要な勝数」が「達成可能な勝数」により満たせない場合が存在するとき、比較対象3チームが同時にチームAを上まわる勝数のパターンが存在しないことになり、現在の仮定引分数では3位以上が確定する。比較結果を表2に示す。
【表2】
【0069】
チームBについては、必要勝数「0」勝≦可能勝数「9」勝なので、条件を満たす。
チームCについては、必要勝数「3」勝≦可能勝数「14」勝なので、条件を満たす。
チームDについては、必要勝数「15」勝≦可能勝数「12」勝なので、条件を満たさない。
チームB+Cについては、必要勝数「3」勝≦可能勝数「20」勝なので、条件を満たす。
チームB+Dについては、必要勝数「15」勝≦可能勝数「20」勝なので、条件を満たす。
チームC+Dについては、必要勝数「18」勝≦可能勝数「20」勝なので、条件を満たす。
チームB+C+Dについては、必要勝数「18」勝≦可能勝数「20」勝なので、条件を満たす。
表2において、条件を満たせないチームがあるため、この仮定上ではチームAの3位以上が確定する。
【0070】
次に、比較対象3チーム間(B,C,D間)の残り引分数の仮定を変えて再検証をおこなう。ここでは「B−C:10分」、「B−D:9分」、「C−D:3分」を仮定する。
勝敗表は表3のようになる。
【表3】
チームAの最終勝率は「0.6277」、チームAの比較対象3チームへの総勝敗は「15勝20敗」、比較対象3チームのチームAへの総勝敗は「20勝15敗」で、表1の場合と同じである(S106)。
【0071】
次に、比較対象3チームがチームAの最終勝率を上まわるのに必要な勝数(チームE、Fへの勝数は除く)を求める(S107)。
チームBについては、チームAの最終勝率「0.6277」*チームBの最終試合数「124」−現勝数「53」−脱落チームへの勝数「25」=「−0.1605」となり、小数点以下を切り上げて「0」勝を要する。
チームCについては、チームAの最終勝率「0。6277」*チームCの最終試合数「131」−現勝数「49」−脱落チームへの勝数「26」=「7.2335」となり、小数点以下を切り上げて「8」勝を要する。
チームDについては、チームAの最終勝率「0.6277」*チームDの最終試合数「129」−現勝数「38」−脱落チームへの勝数「24」=「18.9781」となり、小数点以下を切り上げて「19」勝を要する。
チームB+Cについては、チームBの0勝+チームCの8勝で、合計「8」勝を要する。
チームB+Dについては、チームBの0勝+チームDの19勝で、合計「19」勝を要する。
チームC+Dについては、チームCの8勝+チームDの19勝で、合計「27」勝を要する。
チームB+C+Dについては、チームBの0勝+チームCの8勝+チームDの19勝で、合計「27」勝を要する。
【0072】
次に、比較対象3チームがチームAに対し達成可能な勝数を求める(S109前半)。
チームBについては、チームBとチームAの残り試合は「9」である。「9」(チームBとチームAの残り試合)≦「20」(比較対象3チームのチームAへの総勝数なので、「9」勝可能である。
チームCについては、チームCとチームAの残り試合は「14」である。「14」(チームBとチームAの残り試合)≦「20」(比較対象3チームのチームAへの総勝数なので、「14」勝可能である。
チームDについては、チームDとチームAの残り試合は「12」である。「12」(チームBとチームAの残り試合)≦「20」(比較対象3チームのチームAへの総勝数なので、「12」勝可能である。
チームB+Cについては、チームB,CとチームAとの総残り試合(9+14)は「23」である。「23」(チームB,CとチームAとの総残り試合(9+14))≧「20」(比較対象3チームのチームAへの総勝数)なので、「20」勝可能である。
チームB+Dについては、チームB,DとチームAとの総残り試合(9+12)は「21」である。「21」(チームB,DとチームAとの総残り試合(9+12))≧「20」(比較対象3チームのチームAへの総勝数)なので、「20」勝可能である。
チームC+Dについては、チームC,DとチームAとの総残り試合(14+12)は「26」である。「26」(チームC,DとチームAとの総残り試合(14+12)≧「20」(比較対象3チームのチームAへの総勝数)なので、「20」勝可能である。
チームB+C+Dについては、チームB,C,DとチームAとの総残り試合(9+14+12)は「35」である。「35」(チームB、C、DとチームAとの総残り試合(9+14+12))≧「20」(比較対象3チームのチームAへの総勝数)なので、「20」勝可能である。
【0073】
次に、比較対象3チームが達成可能な勝数(チームE、Fへの勝数は除く)を求める(S109後半)。
チームBについては、チームAへの勝数9勝+チームC,Dとの残り試合19試合−チームC,Dとの仮定引分数19分=「9」勝とすると、「9」勝可能である。
チームCについては、チームAへの勝数14勝+チームB,Dとの残り試合20試合−チームB,Dとの仮定引分数13分=「21」勝とすると、「21」勝可能である。
チームDについては、チームAへの勝数12勝+チームB,Cとの残り試合19試合−チームB,Cとの仮定引分数12分=「19」勝とすると、「19」勝可能である。
チームB+Cについては、チームAへの勝数20勝+チームB,C,Dとの残り試合29試合−チームB,C,Dとの仮定引分数22分=「27」勝とすると、「27」勝可能である。
チームB+Dについては、チームAへの勝数20勝+チームB,C,Dとの残り試合29試合−チームB,C,Dとの仮定引分数22分=「27」勝とすると、「27」勝可能である。
チームC+Dについては、チームAへの勝数20勝+チームB,C,Dとの残り試合29試合−チームB,C,Dとの仮定引分数22分=「27」勝とすると、「27」勝可能である。
チームB+C+Dについては、チームAへの勝数20勝+チームB,C,Dとの残り試合29試合−チームB,C,Dとの仮定引分数22分=「27」勝とすると、「27」勝可能である。
【0074】
次に、比較対象3チームがチームAを上まわるために「必要な勝数」と比較対象3チームが「達成可能な勝数」を比較する(S110)。1チームごとだけでなく、2チームの組み合わせと3チームの組み合わせでも同様に比較する。比較対象チームがチームAを上まわるのに「必要な勝数」が「達成可能な勝数」により満たせない場合が存在するとき、比較対象3チームが同時にチームAを上まわる勝数のパターンが存在しないことになり、現在の仮定引分数では3位以上が確定する。比較結果を表4に示す。
【表4】
【0075】
チームBについては、必要勝数「0」勝≦可能勝数「9」勝なので、条件を満たす。
チームCについては、必要勝数「8」勝≦可能勝数「21」勝なので、条件を満たす。
チームDについては、必要勝数「19」勝≦可能勝数「19」勝なので、条件を満たす。
チームB+Cについては、必要勝数「8」勝≦可能勝数「27」勝なので、条件を満たす。
チームB+Dについては、必要勝数「19」勝≦可能勝数「27」勝なので、条件を満たす。
チームC+Dについては、必要勝数「27」勝≦可能勝数「27」勝なので、条件を満たす。
チームB+C+Dについては、必要勝数「27」勝≦可能勝数「27」勝なので、条件を満たす。
表4により、全てのチームで条件を満たすため、この仮定引分数上、比較対象3チーム全てがチームAを上まわる可能性がある。
【0076】
次に、チームAは4位の可能性(パリーグも含め)があるため、仮定していなかった勝数を全て仮定し、4チームの最終勝率を計算する(S113)。その最終勝率に基づきチームAが4位になるパターンがあるか検証する。
計算対象チームAは比較対象3チームに15勝が前提であり、比較対象3チーム間は残り試合から仮定引分数を引いた残り試合内で勝数を仮定する。
【0077】
計算対象チーム、比較対象3チームの勝数を仮定する(S111,S112)。ここでは最初に「A−B:9勝」、「A−C:6勝」、「A−D:0勝」、「C−D:7勝」を仮定する。
計算結果を表5に示す。
【表5】
最終勝率を比較し、この仮定上では4位にならないため、勝数の仮定を変えて、再検証する。
【0078】
次に、「A−B:9勝」、「A−C:6勝」、「A−D:0勝」、「C−D:0勝」を仮定する(S111,S112)。
計算結果を表6に示す。
【表6】
最終勝率を比較し(S113)、この仮定上で4位であることがわかる。
もし、全ての発生しうる勝数パターンを検証し、4位になるパターンがなければ、再び比較対象3チームの仮定引分数を変えて再検証する。
【0079】
次に、最終勝率の比較で同率最下位になった場合について説明する。
まず、同率になった場合、同率になった複数のチーム間でルールに基づき同率判定をおこなう(S116)。
セリーグでは、優先順位が、(1)[勝数]、(2)[当該間直接対戦成績]、(3)[前年順位]の順である。
パリーグでは、優先順位が、(1)[当該間直接対戦成績]、(2)[交流戦を除く勝率]、(3)[前年順位]の順である。
3位もしくは4位になるかを判定し、次の処理に進む。
【0080】
計算対象チームAの仮定勝数「34」勝で4位になるパターンが特定できたため(
S114orS116でYES)、「34」勝ではCS進出が確定できない。この場合、計算対象チームAの仮定勝数を「+1」し(S117)、仮定勝数を「35」勝として、再び対象チーム仮設定工程(S104)以降と同じ処理をおこなう。比較対象チーム間の引き分けパターンごとに4位になるうる引き分けパターンが存在するか検証する。
表7に比較対象チーム間仮定引分数毎の判定結果を示す。
【表7】
【0081】
表7より、計算対象チームAの仮定勝数「35」勝では4位になりうる引き分けパターンが存在しなかったため、比較対象3チームを「B」,「C」,「D」とした場合のCS進出最小勝数が「35」勝と確定する。
【0082】
比較対象3チームを「B」,「C」,「D」とした場合のCS進出最小勝数が「35」勝と確定したため、比較対象3チームの仮定を変えて再び仮定勝数を設定し、検証を継続する。ここでは次に「B」,「C」,「E」を比較対象3チームと仮定する(S104)。
比較対象3チームを「B」,「C」,「E」として仮定勝数の初期設定をするが、比較対象チーム「B」、「C」、「D」で確定したCS進出最小勝数「35」勝より小さい値の勝数を検証することに意味がないため、最初の仮定勝数を「35」勝とし、対象チーム仮設定工程(S104)以降以降の処理を再びおこなう。
表8に比較対象チーム間仮定引分数毎の判定結果を示す。
【表8】
【0083】
計算対象チームAの仮定勝数「35」勝では4位になりうる引き分けパターンが存在しなかったため、比較対象3チームを「B」,「C」,「E」とした場合でも「35」勝で3位以上が確定する。
【0084】
比較対象3チームになりうる全10パターンで同じ処理をくり返す。これらのパターンを表9に示す。比較対象3チームになりうる全10パターンでくり返した結果、仮定勝数「35」勝で4位になりうるパターンがなかったため、計算対象チームAのCS進出最小勝数は「35」勝となる(S121)
、(S122)。
【表9】
【0085】
本実施例によれば、以上のように構成されるので、勝率で順位が決定されるリーグ戦において、試合総数に引分を含める場合、k位以上が確定するために必要な勝数を求めるに際し、厳密解で早く解を得られるアルゴリズムを提供すること、係るアルゴリズムを用いた演算装置及び演算方法を提供することができる。