最新のプレイデータが確実にRC枠に入るパターンについて

ゲーム上の挙動でどのような時に、最新のプレイデータが確実にRC枠に入るかを考察する。
勿論、レーティング考察日和の推測が正しいものとして考察する。(以降はこれを前提とする)

結論

今わかっているのは次の3パターン

  1. 表示レートが減少するとき
  2. 表示レートが増加し、B枠に変化がない時
  3. 表示レート、B枠が共に増加し、B枠の変動が、表示レートの変動に40を乗じた値の0.4近傍でないとき

以下、それらの解説



ゲーム上の変化として目に見えるのは次の2パターン
1. 表示レートが減少する
2. 表示レートが増加する

この2パターンについてそれぞれ考察を進める。

1. 表示レートが減少する場合

表示レートが減少する場合、これが起こりうるのは適用条件3を満たした時のみである。
その場合、RC枠最古のプレイデータが削除され、最新のプレイデータがRC枠に追加される。
よって、最新のプレイデータは確実にRC枠に入ることがわかる。

2.表示レートが増加する場合

この場合は場合分けが必要。それは次の2パターン。
a. B枠に変化がない時
b. B枠に変化がある時
それぞれのパターンについて考えてみる。

a. B枠に変化がない時

この場合、表示レートが変動した要因はR枠が変動したことである。
上昇したのは新規プレイデータのプレイレートがR枠最小レートより大きく、R枠にランクインしたから。
R枠に存在する→RC枠に存在することになるので、このパターンにおいて最新のプレイデータは確実にRC枠に入ることがわかる。

b. B枠に変化がある時

この場合、表示レートが変動した要因はB枠だけかもしれないし、R枠も伴っているかもしれない。
一見しただけでは判別できないため、プレイ前後の表示レートやB枠のトータルハイスコアレートを評価して、「こういう時であれば確実にR枠に変動が起きている」という状況を割り出そう。

今後の話を円滑に進めたいので、色々と定義しておく。

  • プレイデータpはベクトルである。(何番目にプレイされたかとか、楽曲ID、楽曲名。譜面定数やスコア、プレイレート等の情報を持つ)
  • プレイデータから任意の情報を抽出する際は、それに対応する関数を通すことで抽出できる。
    e.g.)
    ・譜面定数(base_rating)を抽出する場合 : base_rating(p)
    ・スコア(score)を抽出する場合 : score(p)
  • プレイデータのノルム||p||をプレイレートとして定義する。
  • B,R,RCはそれぞれプレイデータの集合である。
  • プレイデータの集合のノルム||B||、||R||、||RC||を各要素のノルムの総和とする。
  • [x](xは0以上の実数)は小数第3位以下を切り捨てた値を表す。(ガウス記号に近いのでこの記号を用いるが、混合しないよう注意)

ある程度準備できたので先に進もう。方針は下記

  1. プレイする前、プレイした後それぞれの切り捨てなし表示レートを不等式で評価する
  2. R枠が固定であると仮定して、上記で求めた不等式を整理する
  3. R枠が固定である→整理した不等式が成り立つ ならば、対偶を取って 整理した不等式が成り立たない→R枠は固定でない=R枠は変動している ということが導ける

この「整理した不等式」が求めたいものである。(正確にはそれを否定したもの)
これが成り立たない時、すなわちR枠が変動している時、最新のプレイデータは確実にRC枠に入ることがわかる。
ただし、注意してほしいのは、「整理した不等式が成り立つ→R枠が変動していない」ではないということ。(論理学的に少し考えればわかること)

1.プレイする前、プレイした後それぞれの切り捨てなし表示レートを不等式で評価する。
プレイする前のB枠、R枠、表示レートをそれぞれ、B1、R1、[d1]とし、同様にプレイした後に関してもB2、R2、[d2]とする。
[d1]、[d2]はそれぞれd1、d2に対して小数第3位以下を切り捨てた値であるから、[d1]≦d1<[d1]+0.01、[d2]≦d2<[d2]+0.01が成り立つ
切り捨てなし表示レートは、(||B||+||R||)/40で表せるので、d1、d2をそれぞれ
d1=(||B1||+||R1||)/40、d2=(||B2||+||R2||)/40と置き換え、先ほどの不等式に代入すると、
[d1]≦(||B1||+||R1||)/40<[d1]+0.01、[d2]≦(||B2||+||R2||)/40<[d2]+0.01となる。

2.R枠が固定であると仮定して、上記で求めた不等式を整理する
R1=R2であると仮定する。わかりやすくどちらもRと表すことにしよう。

  • プレイ前: [d1]≦(||B1||+||R||)/40<[d1]+0.01
  • プレイ後: [d2]≦(||B2||+||R||)/40<[d2]+0.01

プレイ後からプレイ前を引くと、
[d2]-[d1]-0.01<(||B2||-||B1||)/40<[d2]-[d1]+0.01
→40([d2]-[d1])-0.4<||B2||-||B1||<40([d2]-[d1])+0.4 (各辺に40を掛ける)
→-0.4<||B2||-||B1||-40([d2]-[d1])<0.4(各辺から40([d2]-[d1])を引く)

結論として -0.4<||B2||-||B1||-40([d2]-[d1])<0.4 という不等式が得られた。


3.R枠が固定である→整理した不等式が成り立つ ならば、対偶を取って 整理した不等式が成り立たない→R枠は固定でない=R枠は変動している ということが導ける
1. 2. より
R1=R2 → -0.4<||B2||-||B1||-40([d2]-[d1])<0.4
これの対偶を取ることにより、
¬(-0.4<||B2||-||B1||-40([d2]-[d1])<0.4) → R1≠R2
¬(否定記号)を用いるとややこしいので、-0.4<||B2||-||B1||-40([d2]-[d1])<0.4 を否定した表現に置き換える。そのために絶対値記号を使ってこれを
|(||B2||-||B1||)-40([d2]-[d1])|<0.4と表し、これを否定して|(||B2||-||B1||)-40([d2]-[d1])|≧0.4が得られる。
これを用いると、
|(||B2||-||B1||)-40([d2]-[d1])|≧0.4 → R1≠R2
と表せる。言葉で表現すると、「B枠の変動が、表示レートの変動に40を乗じた値の0.4近傍でなければプレイ前後のR枠は一致しない」ということである。

ここまでをまとめると、表示レートが変動し、同時にB枠も変動した場合、B枠の変動が表示レートの変動に40を乗じた値の0.4近傍でなければR枠は変動していると言える。
R枠が変動するということは、RC枠も共に変動している。RC枠が変動するのは、新規プレイデータがRC枠に追加され、それ以外のプレイデータがRC枠から削除されたからである。
したがって、この時最新のプレイデータが確実にRC枠に入ると言える。


最後のパターンとして、「表示レートとB枠が共に変動し、B枠の変動が表示レートの変動に40を乗じた値の0.4近傍である時」が残っているわけだが、全然煮詰めてないし文字数も多くなってきたので今はここまでにしよう。