新指標 WPAについて

2022/3/13  葦名一心

概要

  • 秘密三国志に、WPAという新たな指標を導入することにしました。
  • 野球のWPAという指標を参考にしました。
  • これを使って、今後毎期タイトル表彰をやっていきたいと思います。

秘密三国志を取り巻く「対人戦の武将の指標」の現状

現在、秘密三国志の対人戦での武将の働きの良しあしの指標として以下のものがある。

  • 撃破数、勝率、計略
  • PP(ポンタポイント 守備勝利を1.4勝として換算し、勝率を計算したもの) by ジョン寿司

これらの指標は長年使用されてきており、洗練されたものである。しかし、以下のような欠点を持つ。

撃破数

  • 戦闘機会に大きく左右される。仕官先の国が干されるとそれだけで大きく不利となる。
  • 撃破数を多くするため無理な出兵や守備をすることになり、200勝しても200敗というカネヤンみたいなことを正しく評価できない。
  • 🐨に依存するため天に見放されると伸びない。

勝率

  • 戦闘機会が極端に少ない時、極端な値となる。特に政治家で顕著である。
  • 不利なときに戦闘せずに戦闘機会を極端に絞って(いわゆるランカス)いくことで、意図的に高く見せかけることが可能。一例として守備に入らないことが挙げられる。
  • 🐨に依存するため天に見放されると伸びない。

計略

  • 多く戦闘し、多く勝利すると増加する傾向にあるため、強者がランクインしがち。
  • しかし、知特は巡回で計略を増やせる以上、尺度として知が高く出る。

WPAについて

野球でのWPA

同じ本塁打でも、

  • 3点差の9回裏、ここまでシーズン無敗の抑えから値千金の逆転サヨナラ満塁弾と(3-0 -> 3-4X)
  • 先発が2回7失点と大差で降板し、敗戦処理も打ち込まれる2ケタ失点試合での満塁ホームラン(13-1 -> 13-5)

は勝利への寄与は異なる事は直感的に見て取れる。前者はほぼ敗北確実から勝利を決定づける。後者はほとんど敗北という予想を翻せない。

このように、同じ結果であっても、その時の状況次第で価値を変動させることにより、体感のいわゆるここぞの時に頼りになる、ということを示せる。

野球のWPAは具体的に以下のように計算される。(以下の数字は全部フィクションである)

例えば、今の状況は以下のようとする。

1-0
2回裏 1アウト 走者なし

過去の数十万試合のデータにより、この状況になったら、先攻は70%、後攻は20%で勝てるものとわかったとする。

この状況で、打者は単打を打ったとする。

1-0
2回裏 1アウト 走者一塁

このような状況となる。 そして、過去の数十万試合のデータにより、この状況になったら、先攻は62%、後攻は27%で勝てるとわかったとする。

この時、ヒットを打った選手は7%(20->27)ぶんの勝利を手繰り寄せた、0.07勝に貢献したと考えられる。 逆に、ヒットを打たれた投手は8%(70->62)ぶんの勝利を失った、0.08勝を失ったとも考えられる。

このように、小さな1つ1つの動きの前後での勝利の期待値の変動を全てのかかわるものに対して計算することで、最終的にどれだけ勝敗を動かしたのか、を測定できる。

秘密三国志でのWPA

これを参考に、秘密三国志でもWPAという指標を導入してみる。 秘密三国志の対人戦の評価は、各戦闘の勝敗の一点に尽きる。しかし、ここに運の要素が絡む。

これを野球のWPAの要領で、次のように考えられる。

  • 戦闘の攻撃側幸運度、防衛側幸運度をXとYとする。
  • 過去の膨大なデータから、攻撃側から見た相対幸運度差X-Yの時、攻撃側の勝率はA%、防衛側の勝率は(100-A)%と推定できる。
  • 攻撃側が勝利した時、攻撃側は予想されるA%の勝利を100%にしたので、差し引き(100-A) / 100 勝(A=80%ならば、0.2勝)を作り出した。防衛側は予想される(100-A)%の勝利を、0%にしたので、差し引き(100-A) / 100勝を失った(A=80%ならば、0.2勝)
  • 防衛側が勝利した時、攻撃側は予想されるA%の勝利を0%にしたので、差し引きA / 100 勝(A=80%ならば、0.8勝)を失った。防衛側は予想される(100 - A)%の勝利を、100%にしたので、差し引きA / 100勝を作り出した(A=80%ならば、0.2勝)。

これを具体的にな数字を代入してみる。以下の数字はフィクションだとする。

攻撃側が70%、防衛側が30%で勝てる相対幸運度差だとする
  • 攻撃側が勝つと、攻撃側+0.3勝、防衛側-0.3勝
  • 防衛側が勝つと、攻撃側-0.7勝、防衛側+0.7勝

となる。このことからもわかるように、この指標はすべての武将を足し合わせると、ゼロとなるので一種のゼロサムゲームでもある。(秘密三国志自体有限の勝利というリソースをお互いに争ってるものである)

WPAを支える「膨大な過去のデータ」

この指標を計算するには、以下のものが必要である。

  • 膨大な過去データから集めた「各攻撃側からの相対幸運度ごとの勝率」
  • 各戦闘について計算し集計するプログラム(人力では到底1万以上の戦闘ログを見るのは厳しい)

これらを効率的に分析するために、Javaで戦闘ログを読み取って、それから膨大な情報を抽出するライブラリ(2000行ぐらい、HTMLを解析するものも含めば2500程)を作成した。

この膨大なデータはこちらにある。これを基に計算を行っている。

指標の大体の参考値

注意: この指標は完ぺきではないし、この指標を用いて顕彰することはあっても、人を煽る、けなすようなことは行わないでください。

試しにいくつか計算してみて、以下のように感じられた。以下の評価はその期での武官の対人戦闘にのみ着目したもので、指揮内政壁堀りの評価ではない。また、評価は武将の戦闘能力としての評価であり、人格の否定ではないのも当然ながら書き留めておく。

数字 評価
x < -20 非常に問題。カチカチ以前に汎用計略や兵種など、立ち回りを見直すべきだろう。最低1日に1回はONして、一斉コマンドは入れて計略更新しよう。武器やアイテムは自分のタイプと合致するようなもの(金シリーズで十分)を使おう。そして、テンプレ兵種や計略を使うだけでも改善されうる。
-20 < x < -10 成績が良くない。出兵前の5分前にONして、計略を切り替えるカチカチを多くやってみると改善するだろう。アンチを取られないような兵種選択をするとよりよい。
-10 < x < 0 成績がいまいちである。カチカチを増やしてみたり、相手の兵種の傾向を調べたり、自分のタイプにあったビルドを意図的にしてみると改善されるだろう。
x=0 秘密三国志の武将の対人に置いての平均的な武将だ。
0 < x < 10 秘密三国志での対人では優秀な武将だ。カチカチを増やしたり、こまめにアンチを取る/取られない兵種へ切り替えていく、ビルドやコメコロについて計画的に行うことで更なる成長が見込まれる。
10 < x < 20 秘密三国志のその期においてのエース。上層部をやっているなら真っ先に登用を送るべき人。序盤中盤なら一人で戦局をひっくり返しうる化け物。基礎的な技術はついてるはずなので、仕官文明のめぐり合いや廃ONによって更なる成長が可能
20 < x < 30 秘密三国志のその期における代表的なトップランカー。試算した結果1つの期(120年)でこれ以上なのはだいたい7, 8人。一人で戦場をひっくり返す、そのタイプでのあらゆる戦い方に精通してるだろう者。
30 < x < 40 期によってはここに到達する人は2,3人。期の最優秀勝利創出は大体ここにいる。
40 < x < 50 長引いた期でよほど多く戦った、トップランカー。普通の期では多くても1人だろう。仕官や滅亡のリアルラックがなければここへたどり着けない。
50 < x 神の領域。私が知る限り1人しかまだいない(試算した結果)出兵すれば当然のように3枚抜き、守っても2枚は弾くだろう。

この指標の問題点

  • ランカスプレーを許容してしまう。極論いえば政治層を殴って、1勝1敗に収束する掘り合いに参加しないだけで伸ばせる指標。それを防ぐために規定戦闘回という概念の導入を考えている。

まとめ

  • 攻撃側から見た相対幸運度別のビッグデータから得た勝率を基に、各戦闘の勝利創出を計算できる
  • これを使ったランキングの発表や表彰をこれから行っていく。
  • 飽くまで指標の1つとして見ていただけると幸い。人格否定は間違ってもしてはならないし、これが絶対ではない。飽くまで一つの視点である。

最後に

これからツイッターハッシュタグで「#秘密三国志データ研究所」を使います。このブログも名前ちょっと変えます。