gpt4 book ai didi

algorithm - 根据变化率计算敌人的生命值(外推)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:24:48 26 4
gpt4 key购买 nike

在我们的游戏中,我们有一个老板 (NPC),他的生命值会在一段时间内被检查,比如 1 分钟。我需要找到一种方法来推断已知点(生命周期,时间),并大致预测一分钟后的生命周期(1分钟后生命周期将再次检查,并将放入数据集中)此外,外推需要主要考虑最近的变化(例如,如果我们有 10 个点,并且最后两个点变化很快,它应该能够预测下一点的变化更快)。我找到了多个示例 this onethis one ,但似乎我无法将所有这些翻译成 as3 代码。基本上我一直在寻找的是2D Extrapolation

附言关键是任何一个计算值都不能高于任何一个之前的值,那是因为boss的生命值不能增加,也不能保持不变;他们只能减少。我想这意味着外推是行不通的。所以我正在寻找另一种算法。

最佳答案

考虑一种受微积分启发的方法。如果我们有一个 d[i] 列表,其中包含过去时间 i 的损坏情况,而当前时间是 n,那么我们可以估计 d[n+1] 使用列表中的先前值。 d[n] - d[n-1] 提供从 d[n]d[n+1] 的变化估计根据最近的值,(d[n] - d[n-1]) - (d[n-1] - d[n-2]) 提供了对该变化的估计,等等。这个想法是使用差分来估计变化。如果你有一个时间序列数据列表d[i] = [a,b,c,...],还有另一个列表d2[i] = d[i] - d [i-1],那么 d2[]d[] 中所有时间 i > 1 的变化。因为 d2[] 也是一个时间序列,您可以用它来创建一个 d3[],链接这些术语以提供估计:

d[n+1] ~ d[n]    +    ( (d[n] - d[n-1]) )  +  ( (d[n] - d[n-1]) - (d[n-1] - d[n-2]) )  +  ...
^last value ^ est. change ^est. change of change
d[n] d2[n] d3[n]

假设这对传入数据做出了很多假设。我能想到的两个最重要的问题:

  • 这是假设最近的变化完全代表 future 的值(value)——在变化项是非线性的情况下,这会导致估计滞后于实际数据
  • 随着更多项的添加,“滞后”变得更强 - 更好的估计(更多项)必须与更好的敏捷性(更少项)相平衡
  • 输入数据中的离群值直接计入等式,从而直接影响结果估计

关于algorithm - 根据变化率计算敌人的生命值(外推)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27347153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com