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

ジャンケンチョコレート連立方程式で解くウメハラ波動

ストリートファイターII


やや大雑把ですが、波動拳なんて読んで飛び込まれたらコンボで死ぬ。しかし飛び込んだら昇竜拳を喰らうだけ。でも昇竜拳を喰らうとダウンするので起き上がりを投げハメされて死ぬ。怖いよう。でも黙っていると波動拳で削られて飛び込まないと逆転できないよう。どうしよう。


そこで最適化連立方程式の登場。


初代ストIIだと波動、飛び込み、待ちの確率をそれぞれ
1Pキャラa,b,c
2Pキャラx,y,z
とすると


波動は待ちを削るaz=1
飛び込みは波動にコンボを入れるbx=100
待ちに飛び込むと昇竜からハメを喰らうcy=25+ハメ期待値25 = 50
(+投げハメ3回で死ぬ25*0.5+25*0.25+25*0.125=12.5+9.375+3.125=25)


A=1az + 100bx + 50cy
B=1cx + 100ay + 50bz

A-B=1az + 100bx + 50cy - 1cx - 100ay - 50bz
=(100b - 1c)x + (50c - 100a)y + (1a - 50b)z

100b - 1c = 0
50c - 100a = 0
1a - 50b = 0
c = 100b = 2a
a:b:c = 50:1:100

すなわち
待ち:波動:飛び込み=100:50:1
パーセンテージにするとおおよそ
待ち:波動:飛び込み=66:33:1 ( % )


これがリュウ対ケンのニュートラル同士の駆け引きの最適解だと思われます。でもな、秒間60フレームの1フレずつジャンケンって考え方もどうかとは思う。「えっ!この瞬間もジャンケンなの!?」という感覚が普通じゃないでしょうか。バーチャのように読み合いがターン制のゲームのほうが分かりやすいかもね。


起き攻めのリバーサル昇竜も確率計算を・・・って、もうええわい!


波動の削りは1としましたが、2くらいあると思ったらazの係数を2に、また昇竜拳を決めた後投げハメに行かずに相手の起き上がりに波動拳を重ねるならcyの係数を25+1(波動が2なら25+2)にして計算をやり直すと良いです。


まあ、ボタン6個にレバー操作で色々の技が出るゲームですが、勝敗だけに着目するとほとんどの技は論外になるわけです。また、波動拳を出す、相手が飛んだらそれに合わせて昇竜拳を出す、投げハメに行く時のボタンを押すタイミングの正確さが全て甘い部分があるのが普通の人でしょう。だから、そもそも操作がおぼつかない人相手に波動昇竜の戦略を取っている時点で素人と達人の差は歴然としてあるわけです。


しかし、両者が操作を極めるとジャンケンのような運の絡むゲームとなり、その選択の最適解が待ち:波動:ジャンプ=100:50:1になるという話です。波動にジャンプ出来た時のコンボも確実な事が条件ですね。この最適解からするとウメハラ選手は波動拳が多すぎますね。それだけ他のプレイヤーが待ちの多い戦略を取っているからとも取れますが、これから多くのプレイヤーが最適戦略を取るようになると常勝は成立しないのではないでしょうか。