九里歩いて不図思う

けやきワールドにて活動する聖魔、九里不図による、メイプルストーリーの世界を今よりちょっとだけ楽しく、そして何かを考えながら生きるためのアドバイス。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

無敵時間、クァンタム不発時間(解答例)

以前の記事
科学を学ぶ際に大事なこと(出題)
の続編。

出題に対する私なりの解答例を示してみます。



出題内容は意外と多くの方に興味を持っていただけたようで、ありがたいことにたくさんのコメントをいただきました。
また、ブログをやっていて初めてトラックバックなるものもいただいてしまいました。
私のブログはしょっちゅうトラックバックを受けるようなものではないので、いつまでもトップページに残ってしまうようなサイドバー表示はしていないのですが、しっかりといただきましたよ!
私も本気で回答しないと、考えてくださった方々に申し訳ないですよね。

無駄に長く、内容としてはほんのちょっと複雑に見えるかもしれませんが、ちょっと読んでみてください。
参考項目もあるので、興味があれば深く調べてみるのもいいと思います。


魔法講座

ではまず、出題内容のおさらいをしてみましょう。


1.
メイプルストーリーの世界では、ダメージを受けた時、
次のダメージを受けるまでに一定の”無敵時間”が存在する。
この”無敵時間”は何秒か?
測定する方法を考えなさい。

2.
敵の攻撃によりノックバックされたキャラは、一瞬だけ足が地面についていない状態になるが、
その状態でクァンタムエクスプロージョンを使おうとすると、発動することなくチャージが解除されてしまう。
この”ノックバックによるクァンタムエクスプロージョンが発動できない時間”は何秒か?
測定する方法を考えなさい。

ただし、どちらの答えも正確である必要はなく、0.01秒程度の精度であれば許容するものとする。






1問目は答えまでたどり着いた人も多いかと思います。
ポイントは、「誤差をいかに小さくするか」ということ。


ゲームをやっていれば大体の感覚として、「無敵時間は1秒~2秒くらいかなー?」というのはわかると思います。
しかし、いざストップウォッチを手にして時間を計ろうとしても、0.01秒レベルまではとても正確に計ることはできません。
ダメージ表示を画面で見てからストップウォッチを押すまでにはどうしてもタイムラグがありますし、ストップウォッチのクセやボタンを押す人の感覚によっても誤差が生じます。
繰り返すことによって平均値を出すことはできますが、それが”真の値”を表している保証はありません。
(専門的な言葉で言うと、「試行回数の増加によって偶然誤差は打ち消されるが、系統誤差は打ち消されない」ということ。→Wikipedia「誤差」



ここでは誤差を極力小さくするために、無敵時間数回分セットの時間を計測することを考えます。
たとえば無敵時間100回分の時間を計測した場合、計測誤差が0.5秒あったとしても、それは1回分に直すと0.005秒にまで落とし込まれます。
トラックバックをいただいたリースケさんのところで詳しく解説してくれているので、そちらを見ていただければ理解しやすいと思います。
隠れ家おぶリースケ「リースケの回答」

攻撃速度を計測する時もそうですよね。
1回や2回武器を振っても速度の差がイマイチわからないので、1分間に振る回数で攻撃速度を比較したりするでしょう。


しかし武器を振るのとは違ってちょっと問題なのは、無敵時間を連続して続けられるのかどうかということです。
トラックバックをいただいたスノレツさんの記事にもあるように、一般の敵では無敵時間が解除されるごとに常に被ダメを受け続けるのは難しいですし、ミスが出るかもしれません。

ということで・・・みんな同じような考えに至るんですねー
「ヘネシスダンジョンへの道」のイバラやヤリで被ダメを受け続けるのが確実で、あんまり痛くないダメージ固定です。
みんなであるけば!「無敵時間とのっくばっく!考察!」


ダンジョンへのイバラ


お二人の記事にもあるように、無敵時間の結果は0.01秒単位までほぼ正確に割り出せるようです。

無敵時間は1.50秒。
おそらくミスが出た場合も同様の無敵時間が得られるものと考えられます。
ミスの場合はKBで浮き上がることはないので、ミスが出られると困るのはむしろ問題2の方ですね。








さて、では問題の2番目。
こちらはかなり手こずっている方もいらっしゃる様子。
「クァンタムが発動しない時間」という非常に曖昧で計りにくいものをどう取り扱うか?
さすがにこれは連続して発生させることも不可能です。



学生の方なら日常的に体験することもあると思いますが、
特に数学の問題において、大きな問題の中に(1)、(2)などいくつかの小問が分かれている場合、
(2)の問題を解くに当たって(1)の結果や考え方を利用するというようなことが多々あります。

これは(1)がわからなかった場合に(2)も解けなくなるという共倒れの危険がある半面、
「いきなり(2)の問題を出しても解けないだろうから、(1)を踏み台にしてうまく(2)の答えに誘導してあげよう」
という出題者の意図があったりします。

実は、今回もそのパターンです。

使うのは考え方ではなく、答えの方。
問題2に、問題1の答えを使ってみます。


・・・


細かい話は後にして、結論から言いましょう。

(1)で使った常にダメージを受け続け、無敵時間が持続的に発生する状況で
クァンタムのキーをテキトーに押して、テキトーに離します。
このとき、発動したかしなかったかを記録します。
これを何回も繰り返します。
繰り返した回数をN、発動しなかった回数をa、そして(1)で求めた無敵時間をTとすると
求めるクァンタム不発時間tは

t=T×a/N

これで大体わかります。





これは直感的にはなんとなくわかるでしょうか?
繰り返される無敵時間中に占めるクァンタム不発時間の割合を、多くのランダムな試行の結果から推測しようということです。
アイテムがドロップする確率、メーカーで上級強化宝石が精製される確率・・・何度も試して、その結果から類推するもでしょう?
足が地面に付いているとかいないとかではなく、クァンタムが出るか否かで判断するので、実践で扱うにも極めて合理的です。

ただ、0.01秒までどれだけ正確にと言うと、なかなか難しいところがあるんですけどね。

無敵時間周期


正確さが問題になるところですが、ここで最も重要なのは、意外にも「テキトーに」ということです。
理想的には無敵時間の周期に対して乱数に従うようなランダムなタイミングでスキルキーを離すことが望ましいのですが、ここでは人間のテキトーな感覚で、ランダムっぽく表現できるものと考えます。
少しでも発動させてみようとタイミングを計ったり、逆に不発にしようとしたり、あるいは周期的になってしまったりしてはいけません。
画面を見ながらやると被ダメのタイミングがわかってしまうので見ない方が良いでしょうし、音も雑念が入るので消した方がいいでしょう。
発動か不発かの結果は次のタイミングに影響を及ぼすかもしれないので、集計は他の人にしてもらった方がいいかもしれません。
私は画面を見ずに音も消し、テキトーにキーを押したり離したりしながら動画を撮り、後で再生しながら発動の有無を集計してみました。

逆にここまで徹底すれば、人間の手でも十分にランダムなタイミングでクァンタムの発動を続けることができると考えられるのではないでしょうか。



次に重要となるのが繰り返す回数について。
タイミングが十分ランダムであると考えられるならば、何度も繰り返すことによって、理論的には算定値は”真の値”に近づくはずです。
ここでは・・・そうですねぇ、150回ワンセットとして10セットぐらい行えばそれなりの精度が得られるでしょうか?
正直、0.01秒レベルまで精度を考えると、もっと多くの回数をこなし、値が収束するのを確認する必要があると思います。


・・・はい、そんなに多くの回数とてもやっていられませんよね。
だから、問題では「方法を示せ」と言っただけで、答えは求めていなかったんですよ;
私も0.01秒程度なんて書いちゃったものですから・・・

ですがこの方法の特徴は、「単純な作業を繰り返すだけでそれなりに正確な答えが得られる」ということです。
繰り返す回数が途方もなく多いと手作業ではどうにもなりませんが、単純な作業の繰り返しというのは、コンピューターが得意とするところです。

(このように、乱数を用いてコンピューターに何回もシミュレーションさせ、その結果から現象を解明する手法をモンテカルロ法と言います。
今回の方法は、有名なモンテカルロ法でπを求める方法とよく似ています。
Wikipedia「モンテカルロ法」
ちなみに、私のブログでモンテカルロの言葉が出てくるのは2回目。)

クァンタム不発時間計測


クァンタムの繰り返しをコンピューターにやらせるわけにはいきませんから、手作業でできるところまでやってみました。
無敵時間は1.5秒ということで、軽く150回。
前述のように試行を後から動画で確認し、そのうちクァンタムが不発だった回数は27回でした。
つまり、この結果からクァンタム不発時間は

1.5×27/150=0.27

約0.27秒・・・ということになります。
この程度の試行回数では決して正確だとは言えませんが、まぁそんなもんでしょうか?




一方、コメントでいただいたような動画を撮影してコマ送りにして判定する方法について。
1フレーム約0.03秒単位で確認したところ、画面上で確認した”地面に足が付いていない時間”は0.3秒くらいでした。
地面に足が付いていない時間=クァンタムが不発になる時間、と必ずしも言えるかどうかはわからないのですが、この二つの結果からどうやら同じくらいと考えて良さそうです。

実運用上の安全率もを考えて、ここではクァンタム不発時間を約0.3秒ということにしておきましょう。


以上解答例をまとめると、以下のようになります。


1.
常に被ダメを受け続け、持続的に無敵時間が発生するような状況を作り、
(たとえば「ヘネシスダンジョンへの道」のイバラに接触し続ける)
無敵時間数回分の時間を計測し、(たとえば50回)
その結果から1回分の無敵時間を推測する。

無敵時間は約1.50秒


2.
常に被ダメを受け続け、持続的に無敵時間が発生する状況で
クァンタムのキーをテキトーに押して、テキトーに離す。
このとき発動したかしなかったかを記録し、これを繰り返す。(たとえば1500回)
繰り返した回数をN、発動しなかった回数をa、そして(1)で求めた無敵時間をTとすると
求めるクァンタム不発時間tは
t=T×a/N
となる。

クァンタム不発時間(地面に足が付いていない時間)は約0.30秒



しかしこの解答例は、あくまで「例」ですから。
他の方法で答えまで導けた人もいるかもしれませんし、もしかしたら別の方法でやれば別の結果が得られたり・・・
なんていうこともあるかもしれません。
しかし私のブログでは一応、これからはこの値を使って行こうと思います。


まだまだクァンタムと無敵時間のタイミングに関する考察は始まったばかり。
攻撃スキルの発動時間の結果も含めて材料がそろったところで、
これからこの結果を実践に使えるレベルまで持って行きましょう。

« モンスターカード収集記29|Top|スクエア大人買い »

コメント

考察お疲れ様でした。

じつはいまだに2.は書きかけの記事がブログに埋もれているのですが、どうも理論どおりに数値が合わなくて困っていたところです。

>・・・はい、そんなに多くの回数とてもやっていられませんよね。
>だから、問題では「方法を示せ」と言っただけで、答えは求めていなかったんですよ;

問題がそうなのは分かっていたんですよ・3・

でも「実験が大事だ」っていう記事なので、せっかくなのでやってみようと思ったら案の定暗礁に・・・

確率での不発時間、とても良い方法だと思います。

最後に紹介ありがとうございました。

2問目の考え方には そんなモノがあったのですね!
ウチは現在進行形で学生なので、2問目を考えてる時に
九里様が記事で書いてたように、 「1問目をどうにか使えば出そうだなあ」 と思ってはいたのですが
その方法にたどり着けませんでしたね;w;

答えも、とっても丁寧な書き方で、分かりやすかったです!
ゲームの事でこれほど真剣に考えたのは初めてでしたが
とっても楽しい時間でした♪
素敵な問題をありがとうございました><。

なるほど!2問目はモンテカルロ法を使うと。エレガントな解法ですねー。
1問目も2問目も普通に九里さん動画家だし動画かなぁと思っていました。
既に指摘の通り、ゲーム内フレーム数が不明ですので(確か)サンプリング定理的に余裕を持ったフレームの動画をとらないとだめなんですよねきっと。
実際のところフレーム数はいくつなんでしょうね。計算系と描画系が別で可変だと大変ですね。
邪道ですがマクロで、例えば0.99Tの周期でクァンタムを発動させるようなものを組むとするともっと手早いかな?

で、こんな知的興味なだけで終わらないのがクァンタマー?
どのように実践(実戦)に持っていくのか興味津々です。

Re

>リースケさん
リースケさんあたりにスパッと解決されちゃうんじゃないかとヒヤヒヤしていたので、ちょっと頑張ってみました。
ふふふ、問題の意図が分かっていてもそれを表現できなければわかっていないのと同じなのです!
書きかけの記事でもまた今度、よかったら教えてください。
そして、120&4次転職おめでとうございます。

>スノレツさん
読者さんの目に記事がどう映っているのかがわかるので、トラックバックやコメントは非常にありがたいです。
真剣に問題を解くのを楽しい時間と思えるのであれば、学生さんとして言うこと無しですねw
五目並べのブログも楽しみにしています。

>psさん
エレガントな解放と言われることよりも、動画家だと思ってくれていることがうれしいです。
最近は全然撮っていないんですけどねー
実践での活用・・・ビッグバンまでに何とかしなければならないと思っているのですが、間に合うのでしょうか;
しかし社会科学的なお話からから理系な記事まで、いろんな話題に首を突っ込んでくるpsさんがすごいなぁと思います。

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://9rift.blog82.fc2.com/tb.php/346-824193ac

Top

HOME

九里

Author:九里
名前:九里不図
ワールド:けやき
職業:ビショップ
Lv:170
ギルド:HANABI

すべての記事一覧

この人とブロともになる

FC2Blog Ranking

バナー

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。