FFXI BARD

Ads by XREA

検証スレッドログ倉庫


検証スレ11

862 名前: 名も無き軍師 投稿日:2005/09/29(木) 13:06 ID:N/IZN3Eg
>>861
そもそも百分率計算はしてないはず。丁度忍スレでも話題になってるけど、
(100-x)/100だとすると、
空蝉2のリキャストがヘイスト装備+9%でリキャスト41秒表示。
(100-9)/100だと、45x91/100=40秒台で41秒表示にはならない。

逆に100/(100+x)についても、
空蝉2のリキャストはヘイスト装備+19%で表示36秒。
45*100/(100+19)=37秒台で、36秒とはなりえない。
863 名前: 名も無き軍師 投稿日:2005/09/29(木) 13:20 ID:N/IZN3Eg
表示されている百分率の%をそのまま掛けて計算してるというよりは、

n/256もしくはn/512ていうそれぞれ固有のヘイスト数値が武器や魔法に設定されていて、256/256もしくは512/512からの引き算で計算している。
(たとえばヘイスト+4%の装備なら、10/256という数値を固定で持ってて、計算は(256-10)/256になる、みたいな)
表記されてる「%」っていうのは単にわかりやすいよう逆算して百分率で書いてあるだけ。

って説のほうが有力だな。今は。
864 名前: 名も無き軍師 投稿日:2005/09/29(木) 13:28 ID:ayJVeIGo
忍スレより出張。
ちょうど昨晩から、ヘイスト装備によるリキャ軽減についてデータを取っていたので、
その結果とヘイスト仕様の仮説を書いておく。


まずは装備ヘイストによる変化を、空蝉2のリキャにより確認。

装備ヘイストなし:45秒
1%(未調査):?秒
2%(パンサー):44秒
3%(風魔):43秒
4%(未調査):?秒
5%(白虎):42秒
6%(スピベル):42秒
7%(白虎&パンサー):41秒
8%(スピベル&パンサー):41秒
9%(スピベル&風魔):41秒
10%(白虎&風魔&パンサー):40秒
11%(スピベル&白虎):40秒
12%(スピベル&風魔&ダスク):39秒
13%(スピベル&白虎&パンサー):39秒
14%(スピベル&白虎&風魔):38秒
15%(未調査):?秒
16%(スピベル&白虎&風魔&パンサー):37秒
17%(スピベル&白虎&風魔&ダスク):37秒
18%(未調査):?秒
19%(スピベル&白虎&風魔&ダスク&パンサー):36秒

その後、マーチによるリキャ変動なども確認し、
どうやらヘイストは、少なくとも%刻みの百分率ではなさそうだということがわかった。
(百分率だと、全ての結果を満たすマーチのヘイスト%が存在しなかった)

その後いろいろ話があったが、長いので省略。
現在の仮説として、ヘイスト上限が50%であることから、0%〜50%を256段階に分けて計算しているのではないかと考えている。
つまり100%までを512分率(ただし上限256)で計算しているのではないかと。

ヘイスト装備の実性能(ヘイスト値と仮称)は「int(512*ヘイスト%)」により計算、
使用時の短縮率は「(512-ヘイスト値)/512」として計算し、
「ヘイストリキャ=int(通常リキャ*(512-ヘイスト値)/512)」とすると、今のところ全てのデータに合致する。
865 名前: 名も無き軍師 投稿日:2005/09/30(金) 11:41 ID:zz3Pov7o
ヘイストブースト型の白ですが、

カプリコンスタッフ:5%
ブレスドミトン+1:6%
ブレスドズボン:3%

最後に自己ヘイストしてレイズのリキャストが60秒から42秒に。
百分率で計算したら30%短縮という結果。

これって魔法のヘイストは16%って事?(・ω・)?
866 名前: 名も無き軍師 投稿日:2005/09/30(金) 11:50 ID:zSv04bS2
上の話のように、装備の5、6、3も丁度その%ではないかもしれないから
42秒からすぐに16%という結論は得られない
867 名前: 名も無き軍師 投稿日:2005/09/30(金) 12:29 ID:ayJVeIGo
>>865
上の仮説に基づいて計算すると、
ヘイスト:int(512*15%)=76
カプリコン:int(512*5%)=25
ミトン+1:int(512*6%)=30
ズボン:int(512*3%)=15

リキャ=int(60*(512-76-25-30-15)/512)=42
一応適合する。
868 名前: 名も無き軍師 投稿日:2005/09/30(金) 12:52 ID:ayJVeIGo
なお、マーチは75吟の+2楽器で凱旋10%(ヘイスト値51)・進撃9%(ヘイスト値46)と考えると、検証結果が仮説に合致する。
楽器なしだと凱旋6%・進撃5%な気がする(+1ごとに+2%?)が、楽器なし時のデータを装備ヘイスト0%でしか取っていないため、検算不足。

今のところ、ヘイスト%から計算されたヘイスト値を使用して、計算結果が不整合となったことがない。
武器や魔法の性能を決める時点では%で考え、データとして設定する際にint(512*ヘイスト%)により計算した値を使っているのではないかと推測。
まあ、憶測のレベルだがね。仮説に不整合な結果がひとつでも見つかれば、振り出しに戻る。
869 名前: 名も無き軍師 投稿日:2005/10/01(土) 13:58 ID:DO0qwT.I
>>867
つか、その計算、迂遠じゃないですか?
普通にint(60-(60*(15+5+6+3))=42
です。

少なくともリキャストに関して512分率を使う必要性は認められないような。

870 名前: 名も無き軍師 投稿日:2005/10/01(土) 14:05 ID:DO0qwT.I
ああ、ごめん
INT(60-60*((15+5+6+3)*0.01))=42
ってことです。
871 名前: 名も無き軍師 投稿日:2005/10/01(土) 15:50 ID:LbeD4QgM
>>869
そのケースで100分率で説明できても、他のケースで説明できない
反証がある以上、それは「たまたま一致した」だけ。
>>862を参照。

さらに分母が256だと説明できないケースがあったのですよ。
忍スレ埋まっちゃったので、概要だけ説明すると

前提
・空蝉2(リキャスト45sec)で計測
・設定されているヘイスト値は、以下の256分率の値と仮定。
 白虎5%=12/256
 パンサー2%=5/256

予測
・白虎+パンサー7%=17/256
・256分率でのリキャストは、int(45*(256-12-5)/256)=42秒

結果
・忍スレの検証人による検証だと、リキャストは41秒で、予測に対して矛盾する。

白虎・パンサーの256分率の値を+1すると、単体のリキャスト値が変わるので、
256分率でこの矛盾を解決できなかったわけ。
で、512分率で
 白虎5%=25/512
 パンサー2%=10/512
と仮定すると、512分率でのリキャストはint(45*(512-25-10)/512)=41秒 になり、検証結果と合致する。
5%=25/512とするのが肝になるのかな。

512分率を否定する反証は、忍スレの中では出てこなかったので、
このスレで追試きぼん。
というわけです。
872 名前: 名も無き軍師 投稿日:2005/10/01(土) 23:58 ID:VEdTis/o
>>865 >>869
せめて現在の会話の流れくらいは読んでから書いて欲しいところ……。
百分率で問題が起きないなら、今頃こんな検証してないしな。

百分率では9%に問題が発生し、256分率では5%+2%に問題が発生し……
512分率で不整合が生じなければいいんだが、もし問題があれば次は1024分率か?
しかし刻みを細かくしすぎると、そのうち9%問題に逆戻りしてしまうんだよな。
何か根本的な間違いがあったりして。
873 名前: 名も無き軍師 投稿日:2005/10/02(日) 04:17 ID:RPXcGztk
だから、一つ一つの装備について
ヘイスト値を512分率やら256分率やらで算出したあとにintするからおかしくなると思われ
int自体は最後に実際のリキャスト時間からトータルのヘイスト値を引いたあとに行われる。

>>871の例で言うと

256分率も512分率も使わずに計算すると
45-(45*((5+2)*0.01)=41.85 →int(41.85)=41

256分率を使うと
白虎  5%(256*0.05=12.8)
パンサー 2%(256*0.02=5.12)
トータルのヘイスト値は12.8+5.12=17.92
実際のリキャスト短縮時間は
45-(45*(17.92/256))=41.85 → int(41.85)=41
ちなみに512分率にしても同じ値(int(41.85))になる。

要するに、ヘイスト装備1個1個にヘイスト値なるものは存在しない。
もし仮に、存在したとしても、その保有のしかたはintで保有せず
flort型またはdouble型またはlong double型の変数に格納されていると思われる。
int変換されるのは最後に実際のリキャスト値を算出する時のみだと思われる。
874 名前: 871 投稿日:2005/10/02(日) 04:33 ID:74EuhqXU
>>873
よく読みなおせ。

>もし仮に、存在したとしても、その保有のしかたはintで保有せず
>flort型またはdouble型またはlong double型の変数に格納されていると思われる。
これに対する反証は、>>862
浮動小数点でデータを持つこと=100分率計算だということは、藻前なら言わなくてもわかるだろ。

>ちなみに512分率にしても同じ値(int(41.85))になる。
これは、>>871
>5%=25/512とするのが肝になるのかな。
と説明したのだが。
875 名前: 871 投稿日:2005/10/02(日) 04:41 ID:74EuhqXU
すまん漏れが文盲だった。
>>862が反証になっていないという主張だな。

これから忍の過去スレ漁ってみるが、
単体でn%と、複数の装備品で合計n%(2つのn%は同値)の場合で、
リキャストが変わることが確認されていたはず。

そこから、256分率とか言う話に発展していった記憶がある。
876 名前: 名も無き軍師 投稿日:2005/10/02(日) 05:09 ID:RPXcGztk
>>875

いや、、、
9%装備で机上の計算はint(45-(45*9*0.01))=40.95で
int(40.95)=40だから
確かに41秒表示はおかしい…。

俺が間違ってますわ。
精度をあげる意味では浮動小数点を使うのが正しい。
が、ヘイストした結果、机上のリキャスト値<実際のリキャスト値となるのであれば
一つ一つの装備のヘイスト値を精度を上げた分率で計算し、その結果をint型で保有してる可能性はあるね…。
877 名前: 名も無き軍師 投稿日:2005/10/02(日) 05:31 ID:RPXcGztk
仮説をいくつか

@個々の装備について256分率や512分率した値をint型の変数に格納してる
散々論議されてるので詳細割愛

Aヘイスト装備のテーブルデータ、もしくはパラメータファイルデータが間違っている。
これやられたら個々の装備ごとにデータ設定ミス、もしくは表示ミスを見つけていくしかない。

B浮動小数点の処理上の欠陥を埋めるため、8捨9入などしている
浮動小数点で値を持つと例えば1が0.999…などの1未満のとして格納されている場合がある
そのシステム的なバグを回避するためある一定の数値を境界に切り捨て、切り上げを行うロジックを組み込んでいる。

思いつくのはこんな感じですね。
878 名前: 名も無き軍師 投稿日:2005/10/02(日) 06:46 ID:C0dp4/fE
このゲームは計算で小数点が発生する為に切り捨てが行われる
つまり>>871の計算でいうと
int(45*int((256-12-5)/256))=41秒
879 名前: 878 投稿日:2005/10/02(日) 06:54 ID:C0dp4/fE
為にってなんだ…度にね
880 名前: 872 投稿日:2005/10/02(日) 09:30 ID:T1Ygyud2
>>878
それで今まで出たデータをざっとチェックしてみたが、不整合なし。
言われてみると、忍スレでも一度見た意見な気がする……我ながら、なぜ今まで考慮しなかったんだか。
こちらの方が、512分率より可能性高そうだな。
512分率計算とで違いが発生する組み合わせを考えて、どちらが合致するかを確認したいところ。
881 名前: 872 投稿日:2005/10/02(日) 09:42 ID:T1Ygyud2
というわけで早速検証の提案。
6%+5%+4%+3%を確認出来る人、誰か試してもらえないだろうか。
スピベル・白虎・ダスク手HQか忍AF2篭手・風魔があれば可能。

256分率で都度切り捨て説だと、リキャは36秒になると予想される。
512分率で切り捨て一度説だと、リキャは37秒になると予想される。