読者です 読者をやめる 読者になる 読者になる

リュウ対ガイルのダイアグラム経過報告

ストリートファイターII


今日のストリートファイターIIの話はリュウ対ガイルのキャラ差の計算です。


リュウ波動拳、飛び込み、待ちの確率をa,b,cとして
ガイルのソニックブーム、飛び込み、待ちの確率ををx,y,zとすると


リュウの期待値合計
A=1az + 27bx + 50cy
(波動削り、飛び込みガードさせ投げハメ、昇竜から投げハメ)
ガイルの期待値合計
B=15ax + 1cx + 15ay + 50bz
ソニック裏拳、ソニック削り、ジャンプキック、サマーソルトキックからソニック投げ)


だから、もし両者abc,xyzを33%ずつ繰り出すとすると、
A:B=78:81=49:51
奇跡的だなと思うくらいガイル微有利。


決め手は波動拳ソニックブームを同時に繰り出すとガイルが波動拳の隙にバックナックルを決める「ソニック裏拳」によってリュウ対ケン戦だと五分に相殺されるaxのパターンにガイルが期待値を持っている事でしょう。このへんはソニックに対して波動拳を出したら間違いなく裏拳が入りますが、完全に同時であったとき距離によって裏拳が届かない事も考えられます。そのあたりはリュウはコマンドキャラなので自由に歩けますが、ガイルは溜めが必要なのでその場でしゃがむか後ろに下がる選択をしないとソニックブームが繰り出せないために距離調整の主導権をリュウが握っています。だから49:51の微有利は距離が一定である事が前提なので、実際の試合はもっと複雑です。


カプコンプログラマーもそのつもりで作ったのではないかと思います。まあしかし、リュウ対ケンなら投げハメは五分で概算できますけど、ガイルがリュウソニック投げでハメられるかと言うと、リバーサル昇竜の期待値が投げより大きいので、そうするとリュウに分があるわけです。この場合のbzの期待値を37とします。同じようにリュウが飛んでガイルが飛び込みガードしたときのbxの期待値は27で算出していますが、これは27ではなく100という計算も有り得ます。何故ならリュウはガイルより投げ間合い(投げの決まる距離)が広いため、ガイルは投げ返しの出来ない投げハメを出来るからです。だから1回目は必ず決まりますが、2回目からはサマーソルトキックが狙えるので52とも取れます。それをさらに封じる詐欺飛びという戦略もあるので、ここは達人級になると100だとすると、


A=1az + 100bx + 50cy
B=15ax + 1cx + 15ay + 37bz
33%ずつ賭けた場合リュウ対ガイルは151:68=69:31でおおよそ7:3になるでしょう。投げハメが100%だと試合が釣り合わず面白くないかもしれませんね。ストIVで両者投げの場合グラップディフェンスという相殺が付いたのはこのへんの事情でしょう。


今の問題は両者33%ずつ賭けるより有利な賭け方があるのかということです。


これは偏微分というと難しいですが、現実的な解法として3択を1%ずつ微分して3*3行列に対し100の9乗つまり10の18乗の組み合わせの計算をコンピュータで試行して最適値を求めようとしています。それによってリュウとガイルのお互いの最適戦略が1%の分解能でおおよそ求まるだろうと目論んでいます。最適戦略を取った場合の期待値の比が真のキャラ差だと言えるでしょう。


続きの計算は常に考え中です。考えがまとまったら、つまり解き方がハッキリ分かったら計算して報告します。求まらないかも知れませんが。


リュウ対ケンでは波動拳に飛び込むとコンボで勝ち確定なのに、どうしてガイルは波動拳に飛び込んでもジャンプキック(中キック/ガイルキック)のダメージしか期待値として加算しないかというと、ガイルのジャンプ軌道は緩いので、波動拳と同時に飛んでも中キックしか入らないという計算です。反対にガイルのソニックに対して相手が飛び込むとしゃがみアッパーなどで対空出来るので投げハメでリュウ100加算にはならないという疑問も出てくるでしょう。これはソニックを打たれてその弾が見えてから飛ぶと確かにガイルのジャンプキックやしゃがみアッパーが間に合うのですが、そう言う場合は無理にリュウ側はジャンプせずにガードするのが正解だからです。ソニックにドンピシャで飛ばれるとガイルはそれを落とす術が無いわけです。


しかしまあ、計算しておくと
リュウが近くで波動拳を撃ったら飛び込み三段(ガイルキックジャブサマー)が入るので、気絶してコンボ(チョップアッパーソニック裏拳)でayを100として
A=1az + 100bx + 50cy
B=15ax + 1cx + 100ay + 37bz
リュウ対ガイルは151:153でやはり49:51くらいでガイル有利
さらに対空が間に合うタイミングでリュウが飛ぶならcxを加算して(待っていれば削りで済むのを飛んで何か喰らっていると判断して、リュウの待ちに対するガイルのソニックの期待値を加算)
A=1az + 100bx + 50cy
B=15ax + 10cx + 100ay + 37bz
で151:162で48:52くらいのガイル有利と言えるかも知れません。


ただし、これは両者3択を33%で出し合った場合の期待値に過ぎません。最適戦略を取り合った場合の有利不利はまだ求められていません。さらに言うと、体力が無限の場合に戦い続けるとどちらが多く体力を減らせるかという勝負ではなく、ノックアウトとタイムオーバーがあるゲームなので、残り体力の多さでも戦略は変化するでしょう。その辺りまで加味して計算をしても到底求めきれないという見積もりで、ある程度に式を簡略化して計算しています。


まとめは現実的な最後の式にしましょう。Aがリュウの期待値でBがガイルの期待値です。

リュウ/ガイル波動拳ジャンプ待ち
ソニックブームax(B+15)bx(A+100)cx(B+10)
ジャンプay(B+100)by(A=B=0)cy(A+50)
待ちaz(A+1)bz(B+37)cz(A=B=0)
A=1az + 100bx + 50cy
B=15ax + 10cx + 100ay + 37bz
両者33%ずつ賭けると48:52くらいのガイル有利というダイアグラムです。
もっと知りたい人は「マルコフ連鎖」でWikipedia検索して下さい。