【问题标题】:Finding best/ close to best outcome from almost random data从几乎随机的数据中找到最佳/接近最佳结果
【发布时间】:2017-06-27 03:56:32
【问题描述】:

几个月前我尝试提问失败后(不够详细) - 我会再试一次。

基本上我正在尝试为游戏(RuneScape)开发一个计算器,这将确定使用能力的最佳顺序,每个能力可能有自己独特的变量,一些例子(这些是实际能力):

顺序:技能名称、平均(技能)伤害、技能冷却时间(可以再次使用之前的时间)、可以使用的肾上腺素(介于 0 到 100 之间的条,某些技能可以在任何时候使用,并且添加 8 到条,其他需要,使用 50 甚至 100 并将删除 15/将条重置为零),使用能力所需的时间,最后我包括任何其他特殊细节。

Sever:平均伤害 112.8,冷却时间:15 秒,用于任何“肾上腺素”,给予 +8,执行需要 1.8 秒

突击:525.6 平均伤害,冷却时间:30 秒,在 50(或更高)肾上腺素时使用,带走 -15,执行需要 4.2 秒。

驳船:平均伤害 75,冷却时间 20.4 秒,用于任何给予 +8 的“肾上腺素”,执行需要 1.8 秒,将绑定目标 6.6 秒。

切片:平均伤害 70,冷却时间 3 秒,用于任何肾上腺素 +8,执行需要 1.8 秒,如果目标被束缚,将造成(假设为 1.5 - 为简单起见)额外伤害。

现在,假设我只想要一个 6 秒的轮换(为简单起见),并在 50 岁时开始“肾上腺素”,将有多种方式来执行这些能力(例如):

  1. 攻击,然后是服务器
  2. 驳船,然后是切片,然后是切断,然后是小型攻击。

等等……

在这种情况下,算法可以使用蛮力算法轻松计算出最佳方法并存储最佳解决方案。但是,鉴于这是一个简单的示例,如果我想要在 18 秒内使用 10 种能力,那么蛮力只会花费太长时间(除非有人有备用的 Quantum 计算机)。除了检查随机场景之外,还有人知道一种“启发式”解决方案,它可能并不总是给出最好的结果,但给出的结果接近最好?

此外,这是一张显示我所做的模拟的图表(不是很漂亮)

  • 感谢所有真正阅读并理解我的文章的人。

【问题讨论】:

  • 您尝试过暴力破解方法吗?我不认为这是不可行的,你展示的技能至少有 3 秒的冷却时间,例如置换 6 件东西并不昂贵。如果结果太多,您可以使用蒙特卡洛方法,在您尝试随机组合一段时间后停止。
  • 另一个注意事项,你应该寻找一个“稳定状态”的伤害输出,我猜你会找到的序列总是以assault开头,但是由于其他限制,你不能链接这样的序列。您想要一些可以轻松重复的周期性内容。
  • 我上面提到过,这是一个可以使用蛮力的小例子,但是当能力和时间的输入变大时,蛮力就太长了。
  • 能力是用户输入,它们的范围可以从 1 到 10/11(最常见)到最大略高于 20 编辑:是的,我已经尝试过了 :)
  • 您能否添加相关代码,我想这将是从该站点获得新想法的最佳选择。启发式方法高度依赖于问题空间,如果您在数月的工作中没有找到可以很好地组合的东西,我怀疑其他人会随便弹指并找到它。但是这里有专家可以显着加快速度,至少您可以暴力破解更多技能。

标签: python algorithm heuristics


【解决方案1】:

不要忘记,对于不同的敌人,最佳顺序会有所不同。例如,如果敌人防御中等,HP多,攻击中等,则需要长时间打出最大伤害/时间。如果另一个敌人血量小,攻击力大,你应该爆发最大伤害,在他击中你之前杀死他。中等攻击的出色防守需要来自您身边的非常强大的攻击,并为他们收集肾上腺素以及介于两者之间的防御策略。

因此,您应该根据敌人定义最佳的一两次攻击或预先准备好的行动组合。 (我们也将它们命名为攻击)。这部分应该通过一些复杂的 if-then-else/case 组合来解决。根据他们的说法,您应该计划中间动作(通过蛮力组合。限制只有一个-您不应该早死。(当然,在更复杂的情况下可以更改)。将优化什么-您的肾上腺素或HP在战斗的结束或时间 - 这取决于你。

如果组合学花费太多时间,则将范围优化目标分为几个级别。仅针对一个时间间隔优化最高级别,将结果固定为下一个起点,重新排列优化目标,针对下一个时间间隔进行优化,等等。我们在现实生活中采用这种方式思考,而且效果很快,而且还不错。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2021-07-25
    相关资源
    最近更新 更多