2013年10月26日土曜日

保護スク使用マリス武器OEに関する確率論的考察

オリムクエスト高得点報酬はマリス武器保護スクです.
オリム実装から数年経過しているので鯖内に保護スク持ちキャラは多いのでしょうね.
今回の51回ガチャプレゼントがマリス保護スクなのでさらに保護スクが増えるのかな?

保護スクは取引不可ですがマリス武器は受け渡し可なので,保護スク持ちの知り合い多数な人はマリス武器を回しあって蒸発を気にせずに何度も高OEに挑戦し続けることが可能ということになりますね.

保護スクを多数回使用してマリス武器OEを続けた場合,+9マリス武器成功確率はどれくらいになるのだろうか?

まず,蒸発保護スクロールの仕様を調べよう.
公式パワーウィキ「蒸発保護スクロール」
----------------------------------------------------------------------------------
強化値12以下のマリス武器に使用することで、オーバーエンチャント失敗時の蒸発をふせぐ。ただし強化値は1 減る。また成功した場合でも、この保護効果の付与は消える。
----------------------------------------------------------------------------------

マリス武器はBM製だから月光武器の時のボクのブログ記事を参考にします.
http://ncjapan.blogspot.jp/2013/06/8.html

今回は,保護スクを使うので失敗時に蒸発ではなく,強化値1減ることを考慮すればいいのですね.

Half timeさんの記事を参照すると,
http://www11.atwiki.jp/rockyou11/pages/314.html
↓の感じでいいのかな?
-1へn-DAI使用は,-1→+0:1
+0へb-DAI使用は,+0→-1:2/3,+0→+1:1/9,+0→+2:1/9,+0→+3:1/9
+1へb-DAI使用は,+1→+0:2/3,+1→+2:1/9,+1→+3:1/9,+1→+4:1/9
+2へb-DAI使用は,+2→+1:2/3,+2→+3:1/9,+2→+4:1/9,+2→+5:1/9
+3へb-DAI使用は,+3→+2:2/3,+3→+4:1/6,+3→+5:1/6
+4へb-DAI使用は,+4→+3:2/3,+4→+5:1/6,+4→+6:1/6
+5へb-DAI使用は,+5→+4:2/3,+5→+6:1/6,+5→+7:1/6
+6へn-DAI使用は,+6→+5:2/3,+6→+7:1/3
+7へn-DAI使用は,+7→+6:2/3,+7→+8:1/3
+8へn-DAI使用は,+8→+7:2/3,+8→+9:1/3

+9マリス武器完成を目標とすると,
・+0~+5の武器にはb-DAIを貼る
・+6~+8の武器にはn-DAIを貼る
・+9達成したら貼るのをやめる
というステップを保護スクが無くなるまで延々と続けていくというわけですね.

これは状態空間{-1,0,1,2,3,4,5,6,7,8,9}上の吸収壁マルコフ連鎖となります.


この場合の確率行列は,

 0  1  0   0   0   0   0   0   0  0  0
2/3 0 1/9 1/9 1/9  0   0   0   0  0  0
 0 2/3 0  1/9 1/9 1/9  0   0   0  0  0
 0  0 2/3  0  1/9 1/9 1/9  0   0  0  0
 0  0  0  2/3  0  1/6 1/6  0   0  0  0
 0  0  0   0  2/3  0  1/6 1/6  0  0  0
 0  0  0   0   0  2/3  0  1/6 1/6 0  0
 0  0  0   0   0   0  2/3  0  1/3 0  0
 0  0  0   0   0   0   0  2/3  0 1/3 0
 0  0  0   0   0   0   0   0  2/3 0 1/3
 0  0  0   0   0   0   0   0   0  0  1

という11×11の行列になります.
(強化スクを貼る)ステップ数=確率行列の積数,なので確率行列の100乗,200乗を求めれば,100回,200回の強化スクを貼った場合の+8イベ武器成功確率が解るはず!

もちろん手計算で行列計算のベキ乗を求めるのは無理なので,BASICでプログラムを書きましょう.
十進ベーシックを使わせてもらいます.
http://hp.vector.co.jp/authors/VA008683/
で,アーカイブ版をダウンロードして,
http://hp.vector.co.jp/authors/VA008683/basicw32.htm
解凍です.

BASICプログラムを書いて,計算させてみたよ.

+0から出発して 10ステップ以内で+9成功確率は,0.009961429
+0から出発して 20ステップ以内で+9成功確率は,0.050683092
+0から出発して 50ステップ以内で+9成功確率は,0.193345099
+0から出発して 80ステップ以内で+9成功確率は,0.317332067
+0から出発して100ステップ以内で+9成功確率は,0.389232496
+0から出発して150ステップ以内で+9成功確率は,0.537575004
+0から出発して200ステップ以内で+9成功確率は,0.649888267
+0から出発して250ステップ以内で+9成功確率は,0.734923011
+0から出発して500ステップ以内で+9成功確率は,0.934052422

以下,自作したBASICプログラムです,間違いなどあったらご指摘お願いします.
----------------------------------------------------------------------------------
DIM p(11,11)
DIM q(11,11)
DIM r(11,11)

LET p(1,1)=0
LET p(1,2)=1
LET p(1,3)=0
LET p(1,4)=0
LET p(1,5)=0
LET p(1,6)=0
LET p(1,7)=0
LET p(1,8)=0
LET p(1,9)=0
LET p(1,10)=0
LET p(1,11)=0

LET p(2,1)=2/3
LET p(2,2)=0
LET p(2,3)=1/9
LET p(2,4)=1/9
LET p(2,5)=1/9
LET p(2,6)=0
LET p(2,7)=0
LET p(2,8)=0
LET p(2,9)=0
LET p(2,10)=0
LET p(2,11)=0

LET p(3,1)=0
LET p(3,2)=2/3
LET p(3,3)=0
LET p(3,4)=1/9
LET p(3,5)=1/9
LET p(3,6)=1/9
LET p(3,7)=0
LET p(3,8)=0
LET p(3,9)=0
LET p(3,10)=0
LET p(3,11)=0

LET p(4,1)=0
LET p(4,2)=0
LET p(4,3)=2/3
LET p(4,4)=0
LET p(4,5)=1/9
LET p(4,6)=1/9
LET p(4,7)=1/9
LET p(4,8)=0
LET p(4,9)=0
LET p(4,10)=0
LET p(4,11)=0

LET p(5,1)=0
LET p(5,2)=0
LET p(5,3)=0
LET p(5,4)=2/3
LET p(5,5)=0
LET p(5,6)=1/6
LET p(5,7)=1/6
LET p(5,8)=0
LET p(5,9)=0
LET p(5,10)=0
LET p(5,11)=0

LET p(6,1)=0
LET p(6,2)=0
LET p(6,3)=0
LET p(6,4)=0
LET p(6,5)=2/3
LET p(6,6)=0
LET p(6,7)=1/6
LET p(6,8)=1/6
LET p(6,9)=0
LET p(6,10)=0
LET p(6,11)=0

LET p(7,1)=0
LET p(7,2)=0
LET p(7,3)=0
LET p(7,4)=0
LET p(7,5)=0
LET p(7,6)=2/3
LET p(7,7)=0
LET p(7,8)=1/6
LET p(7,9)=1/6
LET p(7,10)=0
LET p(7,11)=0

LET p(8,1)=0
LET p(8,2)=0
LET p(8,3)=0
LET p(8,4)=0
LET p(8,5)=0
LET p(8,6)=0
LET p(8,7)=2/3
LET p(8,8)=0
LET p(8,9)=1/3
LET p(8,10)=0
LET p(8,11)=0

LET p(9,1)=0
LET p(9,2)=0
LET p(9,3)=0
LET p(9,4)=0
LET p(9,5)=0
LET p(9,6)=0
LET p(9,7)=0
LET p(9,8)=2/3
LET p(9,9)=0
LET p(9,10)=1/3
LET p(9,11)=0

LET p(10,1)=0
LET p(10,2)=0
LET p(10,3)=0
LET p(10,4)=0
LET p(10,5)=0
LET p(10,6)=0
LET p(10,7)=0
LET p(10,8)=0
LET p(10,9)=2/3
LET p(10,10)=0
LET p(10,11)=1/3

LET p(11,1)=0
LET p(11,2)=0
LET p(11,3)=0
LET p(11,4)=0
LET p(11,5)=0
LET p(11,6)=0
LET p(11,7)=0
LET p(11,8)=0
LET p(11,9)=0
LET p(11,10)=0
LET p(11,11)=1

FOR i=1 TO 11
   FOR j=1 TO 11
      IF i=j THEN LET q(i,j)=1 ELSE LET q(i,j)=0
   NEXT j
NEXT i


INPUT n


FOR k=1 TO n

   FOR i=1 TO 11
      FOR j=1 TO 11
         LET r(i,j)=0
      NEXT j
   NEXT i

   FOR i=1 TO 11
      FOR j=1 TO 11
         FOR l=1 TO 11
            LET r(i,j)=r(i,j)+q(i,l)*p(l,j)
         NEXT l
      NEXT j
   NEXT i

   FOR i=1 TO 11
      FOR j=1 TO 11
         LET q(i,j)=r(i,j)
      NEXT j
   NEXT i

NEXT k


FOR i=1 TO 11
   FOR j=1 TO 11
      PRINT USING "##.#########":q(i,j);
   NEXT j
   PRINT
NEXT i

END
----------------------------------------------------------------------------------



首都・阪神高速ETCコーポレートカード

0 件のコメント:

コメントを投稿