【FF14】特定の魚を狙う釣りにおけるスキル総合戦略の最適化モデル
制限時間内に、どれだけ狙った魚を釣り上げられるか。
本記事では、その効率を数学的に最適化するためのアプローチとして、3段階に分かれたスキル戦略構築のプロセスを解説します。
1. 単一シナリオの評価
まずは「トレードリリースの対象」「撒き餌の有無」「ルアーの使用回数」「型確定の有無」といった状況パターンを完全に固定した、単一の「シナリオ」を作り、その基本性能を評価します。
例えば、「ルアーアクションを3回使って何も起こらなかった」あるいは「2回目で型が確定した」といった1つの状況がシナリオに該当します。
この段階での目的は、当該シナリオにおける 「ターゲット1匹を釣るための期待時間」 と 「秒間あたりの平均GP収支(消費と回復の差)」 という絶対的な指標を把握することです。
変数定義
| 変数 | 意味 | 補足 |
|---|---|---|
| $p_i$ | 各魚のヒット率 | シナリオ内で特定の魚がヒットする確率 |
| $t_i$ | サイクル時間 | その魚が釣れるまでにかかる時間 |
| $c$ | 平均サイクル時間 | シナリオ1周あたりの平均所要時間 |
| $h$ | ターゲットのヒット率 | 狙っている魚単体のヒット率 |
| $E_{time}$ | 期待時間 | ターゲット1匹を釣るための期待時間 |
| $GP_{cost}$ | スキル消費量 | シナリオで固定消費されるGP |
| $GP_{sec}$ | 秒間平均GP消費量 | 1秒あたりのGP消費ペース |
| $GP_{rec}$ | 秒間GP回復力 | 自然回復やアイテム使用を秒間に均した総回復量 |
| $GP_{net}$ | 秒間GP収支 | 最終的な1秒あたりのGP増減(黒字か赤字か) |
期待時間と秒間GP収支の算出
「平均サイクル時間 ($c$)」 の算出:
\[c = \sum (p_i \times t_i)\]「ターゲット1匹を釣るための期待時間 ($E_{time}$)」 の算出:
\[E_{time} = \frac{c}{h}\]「秒間あたりの平均GP消費量 ($GP_{sec}$)」 の算出:
\[GP_{sec} = \frac{GP_{cost}}{c}\]「秒間GP収支 ($GP_{net}$)」 の算出:
\[GP_{net} = GP_{rec} - GP_{sec}\]補足: GP回復力について
$GP_{rec}$(時間あたりのGP回復力)は、プレイヤーの自然回復(3秒ごとに8GP)と、アイテム「ハイコーディアル」使用(180秒ごとに400GP)による回復実績をそれぞれ秒間に均した数値($8/3 + 400/180 = \text{約} 4.88$)を使用しています。
2. L戦略(ルアー戦略)の加重平均による実戦モデル化
実際の釣りにおいて「基本的にルアーを3回使うが、1,2回目で型が確定した場合は待機する」といった方針(L戦略)を定めた場合、その方針の中には事象の発生確率(例えば「2回目で型が確定する確率」など)に応じた複数の「固定シナリオ」が内包されています。
Step 1で行ったのは、そのうちの1つの固定シナリオが起きた場合の純粋な性能評価でした。Step 2では、それら複数の固定シナリオを各発生確率に基づいて加重平均し、ひとまとめにした「L戦略(ルアー戦略)」として包括的に評価します。
L戦略として評価することで、実戦運用時の「平均的なサイクル時間・GP収支・釣り上げ期待値」といった総合的な性能が算出できるようになります。
変数定義
| 変数 | 意味 | 補足 |
|---|---|---|
| $P_i$ | 到達確率 | L戦略内で特定の分岐シナリオに到達する確率 |
| $V_i$ | 評価値 | そのシナリオが持つ時間やGP収支などの値 |
| $V_L$ | 平均評価値 | L戦略全体の加重平均された総合的な評価値 |
L戦略の加重平均
L戦略全体の 「平均評価値 ($V_{L}$)」 は、加重平均により以下のように表されます。
\[V_{L} = \sum (P_i \times V_i)\]この段階でのゴールは、数あるL戦略の中から 「効率は低いがGPは着実に回復する(GP黒字)」 と、 「効率は高いがGPを激しく消費する(GP赤字)」 という、性質の異なる2つの最適なL戦略の候補を見つけ出すことです。
3. 総合戦略(オプティマイザ)による最適解の導出
強力なL戦略の候補を抽出できたら、最後はそれらを制限時間内でどう配分するかという「総合戦略」の算出です。
「条件の制限時間(例: 7分)」と「実質的な使用可能GP(初期GP+サリャクの恩寵等の回復見込み)」という2つのリソース上限を定めます。
先ほど導出した2戦略の能力を係数として当てはめ、 「用意されたGPリソースを残さず使い切り、かつ制限時間内にぴったり収束する」 という条件で、最適となる実行配分(回数)を算出します。
変数定義
| 変数 | 意味 | 補足 |
|---|---|---|
| A, B | 戦略の種類 | 赤字戦略A と 黒字戦略B |
| $n_A, n_B$ | 実践回数 | それぞれの戦略を実行する回数(本計算の解) |
| $c_A, c_B$ | 平均サイクル時間 | 各戦略の1周あたりの平均時間 |
| $GP_{net,A}, GP_{net,B}$ | 平均GP収支 | 各戦略の1周あたりの平均GP収支 |
| $e_A, e_B$ | 平均釣り上げ期待値 | 各戦略の1周あたりのターゲット釣り上げ期待値 |
| $T$ | 制限時間 | 釣り場等での条件制限時間 |
| $GP_{total}$ | 総GP | 使用可能な総計算GPリソース |
| $E_{total}$ | 総合期待値 | 制約内の配分で得られるトータルの釣り上げ期待値 |
連立方程式による最適配分の算出
制限時間を $T$、使用可能な総GPを $GP_{total}$ としたとき、以下の連立方程式が成り立ちます。
時間制約:
\[n_A \times c_A + n_B \times c_B = T\]GP制約:
\[n_A \times GP_{net,A} + n_B \times GP_{net,B} = -GP_{total}\]これを解き、最適な実行回数 $n_A, n_B$ を算出します。
\[n_A = \frac{T \times GP_{net,B} + c_B \times GP_{total}}{det}\] \[n_B = \frac{-c_A \times GP_{total} - T \times GP_{net,A}}{det}\]これにより、「対象の戦略セットを用いた場合、黒字戦略を◯回、赤字戦略を△回実行できる」という最適な配分が導き出せます。
総合期待値の算出と最適解の決定
連立方程式によって算出された $n_A, n_B$ を用いることで、該当の戦略セットを採用した際の 「トータルの釣り上げ期待値 ($E_{total}$)」 を求めることができます。
「総合期待値 ($E_{total}$)」 の算出:
\[E_{total} = n_A \times e_A + n_B \times e_B\]これにより、「制限時間と持ち込みGPリソースの範囲内で、ターゲットを何匹釣れる見込みがあるのか」という性能が導き出されます。 強力な赤字・黒字のペア候補に対して計算を行い、 「この $E_{total}$ が最も大きくなる戦略の組み合わせ(とその配分)」 が、該当条件下における「最適解(最適な総合戦略)」となります。
4. 未知の確率への対応
なお、ターゲットヒット確率が不明な魚であっても、確率を「変数 ($p$)」のまま方程式に組み込んで計算比較することで、「どの総合戦略が最も優位か」という論理的な判断を下すことが可能です。
下記は、私が持っているデータを用いて実際に上記の計算を実装したツールで、リッチパースを狙う釣りにおける最適解を導出した例です。
赤字戦略「ルアー使用1回、撒き餌あり」を約15回と、黒字戦略「ルアー使用基本3回、型確定したら待機、撒き餌なし」を約5回が最適解となります。
5. おわりに
以上の計算を精密に行い、最適な総合戦略を見つけ出すためには、各釣り場での「魚の基本ヒット率」や「型確定発生率」といった正確なデータが必要不可欠です。
こうしたデータ収集は非常に重要になります。今後も多くの漁師の皆さんと協力してデータを提供し合い、より精度の高い最適解を作り上げていければと思います。