見出し画像

マルコフ連鎖モデルによる下り坂モードのバ身収支の概算

By AKT

1-まえがき

かねてより下り坂の多いコースにおいて賢さの重要性を説く方が多くなる印象がある。それは下り坂モードの突入確率に賢さが依存するためであると考えられる。
しかし下り坂モードを通じて賢さがバ身に与える影響について定量的に考察した先行研究が発見できなかったため、それを行うことにした。
本研究は下り坂にいるときの状態遷移をマルコフ連鎖モデルとみることで理論に基づき下り坂のバ身収支を定量的に評価するものである。
下り坂と同じく賢さパラメータがバ身収支に影響するポジションキープやスキル発動率に関しては議論しない。
はじめに通常モードと下り坂モードの2状態間の遷移関係にマルコフ連鎖モデルを適用し、遷移確率行列から各状態にいる確率を求め平均バ身を算出した。
しかし下り坂モードで得られる恩恵は目標速度上昇なので状態遷移時に加減速を伴う。すなわち、先の2状態によるモデリングでは状態遷移時の速度変化を無視することとなる。
ゆえに加減速をともなう場合を異なる状態として取り、計4状態間でのマルコフ連鎖モデルを構築することで、より正確な評価ができると考えた。
このモデルのもと、各賢さ値ごとの定常状態での期待速度を求め、期待バ身収支の概算を行った。その後このモデルの下で、シミュレーションを行い、理論との比較も行った。


2-下り坂モードについて

本研究における下り坂モードの定義はいくつかのサイトの情報をもとに妥当であると判断したものを採用する[1],[2]。自身で解析を行って得た情報でないことを予め断っておく。

  1. 目標速度上昇
    0.3 + (勾配率[%])/ 10 [m/s] -①

  2. スタミナ消費
    60%減

  3. 継続時間
    1秒

  4. 移行判定
    一秒毎、補正賢さ値 * 0.04 [%]-②

  5. 終了判定
    一秒毎、20[%] or 下り坂を終えたとき

すなわち一秒ごとに通常モードと下り坂モードの二つの状態の間を確率的に遷移する。
バ身収支計算においてはスタミナは足りている仮定の下考えるので2のスタミナ消費量は無視する。
このとき未来の状態が現在の状態だけで決定され(マルコフ性)、離散的で有限の状態変数のためマルコフ連鎖とみなすことができる。

3-2状態マルコフ連鎖モデル

よって次のような状態遷移図が得られる。
移行確率pは賢さ依存のため
p = 補正賢さ値 * 0.04 [%]とおいた。

図-1. 2状態マルコフ連鎖モデル

しかし下り坂モードで得られるのは目標速度であって現在速度でないため、二つの状態間の遷移時に加減速が挟まれる。そのためたとえば現状態が下り坂モードのとき、ひとつ前の状態が通常状態であるか、下り坂モードかでバ身収支が異なる。
-1≦ t < 0が通常モードで0 ≦ t < 1で下り坂モードを引いた時のv-tグラフの概形は図2

図2. 通常モード後の下り坂モードでの速度変化

-1≦ t < 0が下り坂モードで0 ≦ t < 1で下り坂モードを引いた時のv-tグラフの概形は図3

図3. 下り坂モード後の下り坂モードの速度変化

減速時にも前状態によるバ身収支の違いが生まれる。

これらを区別して状態を考えると1つ前の状態に収支が依存するため、単純マルコフ過程ではない(ひとつ前の状態にも依存するため1階マルコフ連鎖)。

4-4状態マルコフ連鎖モデル


N階マルコフ連鎖は、N個の状態組を新たな状態空間とすることで単純マルコフ連鎖で表現できるので、移行状態を新たな状態として次のような状態遷移図が作成できる。(p = 補正賢さ値 * 0.04 [%])(図4)

図4. 4状態マルコフ連鎖モデル

ここでは各状態について上記のように名称と状態の番号を振る。
なお便宜上加速中、減速中と名称を振っているが各状態遷移は1秒毎で行われるため、図2のような目標速度到達後の等速運動する間も含まれることを留意していただきたい。

ここで一点解消しなければならない問題が生じる。それは状態遷移の加減速が1秒以内で終わるかどうかである。もしこれが終了するのであれば、図4の4状態でのモデルで考えられる。1秒内で終わらないのであれば、加速中にモード遷移が起こり取りうる状態がさらに複雑化される。そのため加減速が1秒以内に終わるか判定を行う必要がある。

今回は条件を中京1800mダートの中盤区間に被る下り坂区間に設定し、議論を行うことにする。
まず中京レース場の下り坂の勾配率[%]はU-tool様のコース一覧より引用し,k= -1.5[%]とする。
このとき下り坂モードでの目標速度上昇量(Δv)は①より

Δv = 0.45 [m/s]

一方補正パワー値1200時の中盤の加速度は0.485 [m/s^2]なので1秒以内に速度上昇し終わる。減速時の加速度は中盤では-0.8[m/s^2]のためこちらも1秒以内に減速する。[4]

以上よりこの条件において加減速はいずれも一秒以内で終わり、4状態マルコフ連鎖モデルを採用することの妥当性は示された。

5-遷移確率行列と定常状態

各々の遷移確率は図4に記入したようになる。
ゆえに遷移確率行列Pは以下のようになる。


$$
P = 
\begin{bmatrix}
1-p & p & 0 & 0 \\
0 & 0 & 0.8 & 0.2 \\
0 & 0 & 0.8 & 0.2 \\
1-p & p & 0 & 0 \\
\end{bmatrix}
$$

遷移確率行列のi行j列はS_i からS_jへの遷移確率である。

次に推移確率行列から、定常分布を求める。
状態空間のサイズは4であるから、確率ベクトルπは4次元(π = [π_0 π_1 π_2 π_3])
定常分布の定義より π = Pπ を解くと

π = [ (1-p)/(1+5p) p/(1+5p) 4p/(1+5p) p/(1+5p)]

Pは定常分布が存在し、かつ既約で非周期的だから収束定理より定常分布πは極限分布に一致する。
極限分布とは十分長い時間の後、各状態をとる確率の分布のことを指す。 十分長い時間だが5秒後には小数点3桁程度までは一致するため、18秒前後下り坂区間を走ることを考えるとほぼ定常状態にあるといえる。よって区間全体で定常状態にあるとみなす。

6-バ身収支の算出

各パラメータと計算を定義してバ身収支を算出する。
各状態での平均速度をそれぞれv_0, v_1, v_2, v_3とし、v = [v_0 v_1 v_2 v_3]とおく。なお平均速度についてはスキルによる目標速度の上昇やランダムな補正は無視することとする。
加速時の加速度をa_1 = 0.485 [m/s^2],
減速時の加速度をa_2 = 0.800 [m/s^2]
とする。[4]
また下り坂モードでの目標速度上昇量(Δv)は①より

Δv = 0.45 [m/s]

である。
次にv_0, v_1, v_2, v_3を求める。 通常モード時の速度v_0は大逃げ以外の中盤の基準速度[3]とすると

v_0 = 20.2 [m/s]

加速時の平均速度v_1はa_1, Δvを用いて

v_1 = (v_0 + Δv/2) * Δv / a_1 + (v_0 + Δv) * (1 - Δv / a_1) [m/s]

下り坂モード中の速度v_2は

v_2 = v_1 +Δv [m/s]

減速中の平均速度v_3はa_2,Δvを用いて

v_3 = (v_0 + Δv/2) * Δv / a_2 + v_0 * (1 - Δv / a_2) [m/s]

Δvとa_1, a_2は具体的に与えられているため、以上よりVが計算できる。
下り坂区間での期待速度Vはπ, vを用いて

V = π・v [m/s](πとvの内積)

で求められる。
よって長さx(=375[m/s])の中盤の下り坂区間を期待速度で走ったときにかかる時間は x/V [s] である。
通常モードで同じ区間を走った時のかかる時間はx/v_0 [s] であるから、下り坂モードありで走ることで短縮されるタイムの期待値Tは T = x/v_0 - x/V [s] となる。
これにスパート速度V_spart(=25.036[m/s])をかけたものが下り坂モードの収支の期待値Δxとなる。

Δx= V_spart*T  [m]

このときEは補正賢さ値iを用いて一意に決定できるので、i-Δxグラフとして表せ、以下のようになる。

図6. i-Δx グラフ

図6より
賢さ表示ステータス1300の絶好調時脚質Aでの賢さ実数値は1300であり、
グラフより賢さ実数値1300での期待値は7.03mと読み取れる。
賢さ表示ステータス1300の絶好調時脚質Sでの賢さ実数値は1430であり、
グラフより賢さ実数値1430での期待値は7.21mと読み取れる。
期待値の差は0.18mであり、これが脚質Sにより下り坂モードだけで得られるバ身と考えられる。なお中京1800mダートでの折れない心の獲得バ身は0.45m程度である。

7-バ身収支のシミュレート

各賢さ実数値に対して確率遷移行列Pに従い状態遷移しながら、中盤の下り坂区間375mを走行するシミュレートを行い、通常モードからの短縮タイムを算出する。これを各賢さ実数値に対し10万回シミュレートを行った平均短縮タイムから平均獲得バ身を算出する。
賢さ実数値1000から1500まで100刻みで各々10万回シミュレートし、平均獲得バ身をプロットし折れ線でつないだグラフが以下の図7である。


図7. i-Δxグラフ

図7より
賢さ表示ステータス1300の絶好調時脚質Aでの賢さ実数値は1300であり、
グラフより賢さ実数値1300での平均値は約6.8mと読み取れる。
賢さ表示ステータス1300の絶好調時脚質Sでの賢さ実数値は1430であり、
グラフより賢さ実数値1430での平均値は約7.0mと読み取れる。
平均獲得バ身の差は0.2mであり、これが脚質Sにより下り坂モードだけで得られるバ身と考えられる。

8-考察

図6と図7のグラフを比較すると、図6のグラフを縦軸方向に約-2.5m平行移動した後、縦にわずかに引き延ばしたものが図7に一致する。
これは理論において定常状態にはいるまでの約5秒ほどを定常状態とみなしたことによる差であると考察できる。

9-おわりに

本研究では下り坂モードでの挙動に対して4状態の単純マルコフ連鎖モデルを適用し、理論とシミュレーションによる2つのアプローチから下り坂モードのバ身収支を算出し、客観的な評価を試みた。その結果を受けて、下り坂の長さによって脚質Sがレースに与える影響が大きいとはいえない。なお賢さが下り坂モード以外の他の要因(ポジキ、道中速度の乱数)によってバ身に与える影響については未考慮であることは留意していただきたい。あくまで下り坂に限ったうえでの脚質Sの強さを論じているため、その他の要因を含めた脚質Sの客観的評価については今後の課題とする。

10-謝辞

短縮タイムから獲得バ身を算出する手法についてはしらす丼様のスキルシミュレーターでのバ身算出方法を参考にさせていただきました。感謝申し上げます。
記事の監修・校正を協力してくださったnekoさんとRimさんに感謝申し上げます。

11-おまけ

今回の研究はnekoさんが運営しているサーバーでの議論が発端となります。
他にもウマ娘に関する様々な話題についてお話しているので興味のある方はnekoさん(https://x.com/nekomunyaa)をフォローのもと、是非ご参加ください。

私の所属するウマ娘サークル"Avalon"ではdiscordを用いて日夜ウマ娘の検討を行っています。興味のある方は私(https://x.com/aka67995830)にまでお気軽にDMください。


12-引用

[1]"下り坂" .ウマ娘スクール.2022.12.23更新.(2024.8.31閲覧)


[2]"レース仕様”.おんJウマ娘仕様wiki.2023.4.12更新.(2024.8.31閲覧)

[3]"実際に走る速度".ウマ娘スクール.2022.5.14更新.(2024.8.31閲覧)

[4]"加速とスタートダッシュ".ウマ娘スクール.2022.11.6更新.(2024.8.31閲覧)

[5] "コース一覧.中京レース場".U-tools.(2024.9.1閲覧)


この記事が気に入ったらサポートをしてみませんか?