Darkside(リンクエラー修正しました)

2017年5月23日(火) 21:16

判定漏れ対策


 ヘアピンの抜け際で速遅を簡易判定して解を幾つも得ておき、それらを S-JET 最適化スクリプトに放り込んで最速の S-JET 噴射パターンを得る。これまでは、そのような作業を行っていた。簡易判定は不正確であり、上位の解を幾つも S-JET 最適化スクリプトで処理して最終的な最速解としていた。
 だが、簡易判定の誤差は想定以上に大きいようなのだ。

 最速解を見逃してしまう確率は、どうやら思ったよりも大きい。しかし S-JET 最適化は何時間も要する極めて重い処理だ。だからこそ簡易判定しかできなかった。S-JET 最適化は整数組み合わせ問題であり、膨大な組み合わせパターンがあるため時間が必要だし、初期値と結果の相関も薄くなっている。厄介だ。

 しかし、気がついた。初期値が僅かに違うだけで結果に大差が生まれるが、初期値が完全に同一であれば、最適操作も同一になるはずだ。実際はガードビームとの当たり判定があるが、典型的な当たり判定を想定してその状態に一致したものだけ対象にすれば、S-JET 最適化計算を行わずに解を決め打ちできる。
 過去周回の中から S-JET 最適化が「望外にうまく行った」解を取り出し、ガードビーム突破から S-JET 噴射開始までのキー操作と速度変化を確認する。ヘアピンの抜け際までの解を得るスクリプト中で、それと同じ初期速度の解候補が存在した場合、決め打ちキー操作を行って S-JET 最適化まで完了させてしまい、厳密な速遅判定を行うようにした。

 要するに、簡易判定で遅いと判定されて捨てられてしまう解の中から、実は速い解を救出する例外処理である。
 すべてを救える訳ではないが、一定の効果はありそうだ。

written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4