日記/2007-02-15 のバックアップ(No.1)

お名前:

すっかり検証するのを忘れていたことがあったので、ちと試してみて、よくわからなくなった。
とりあえず、公開メモという感じで。

話題:ゼロ移動キャンセル。

可能な限りAIで提案されている、攻撃高速化の一手法。
プログラムのつくり自体は、すでにある程度確立されている「移動キャンセル」と同じ。
違いは、ホムの移動先指定。
普通の移動キャンセルは、実際にホムを1セル程度歩かせる位置を指定するのに対して「ゼロ移動キャンセル」は文字通りゼロ距離:ホムのいる位置そのものを指定する。

効果のほどは?

確かに、ゼロ移動キャンセルでも攻撃は高速化されている。
ただ、通常の移動キャンセルと比べると確かに遅いように感じる。

もう少し具体的に調べて、困った。

上記の「感じる」というのが非常に主観的なので、もっと具体的案手が使えないか考えて、Attack()を呼び出したタイミングを記録してみることにした。
と、その結果がよくわからないことになってきた。
試行回数はそれぞれ2,3回程度の平均なのでばらつきはあるかもしれない。

99進化バニル通常なし1セル移動ゼロ移動
草を倒す所要時間5秒台4秒台5秒台
AIサイクル18回前後15回前後10回前後
33未進化リーフ通常なし1セル移動ゼロ移動
草を倒す所要時間7秒台7秒台6秒台
AIサイクル20回前後30回前後10回前後
  • 確かに、ゼロ移動キャンセルには一定の効果はある。
  • 通常キャンセルとゼロキャンセル、どちらが効果的かはよくわからない。
    少なくとも上記を見る限り、進化原種バニルでは移動キャンセルのほうが速いが、未進化原種リーフではゼロキャンセルのほうが速い。
  • どちらのケースにしても、移動キャンセルを絡めるとAIサイクルの挙動が怪しい。
    特にゼロ移動時のサイクル数の少なさは、かなり異常と言っていいだろう。

どのケースもソース・プリント出力タイミングなどは変えていないので、プリント出力によるディレイ差という問題ではなさそう。
まあいずれにせよ、まだまだ検証は必要な段階。