返回列表

20th place solution: rule-based economic model

501. Kore 2022 | kore-2022

开始: 2022-04-12 结束: 2022-07-26 游戏AI 数据算法赛
第20名方案:基于规则的经济模型

第20名方案:基于规则的经济模型

作者:Andrew Tratz
发布时间:2022-07-27

祝贺所有的参赛者。以下是我方案的总结,该方案完全基于规则。我尝试将其视为一个结合了路径优化的经济建模问题。

动量

  • 为棋盘构建未来30个回合的“动量”前瞻模型。
  • 构建力量平衡矩阵,显示在30个回合的时间范围内,玩家在每个方格上的最大力量投射。

估值

  • 假设没有战斗,使用1%的贴现率估算新船的净现值(NPV)。
  • 根据新船的NPV、现有产能、预估收入和Kore矿石,估算新基地的NPV。
  • 如果我拥有的造船厂已经多于敌人但船只数量较少,则将新基地的NPV归零,以避免过度扩张。

优先生产

  • 为新船建造创建优先队列。
  • 任何面临主动捕获威胁的造船厂都会获得新生产的关键优先级,并在需要时预留Kore矿石用于未来回合的生产。
  • 能够到达受威胁造船厂的邻近造船厂获得新生产的高优先级。
  • 为所有其他造船厂分配正常优先级。
  • 仅为高优先级和关键优先级的造船厂创建生成(SPAWN)动作。如果Kore耗尽,将这些造船厂重新加入发射队列。
  • 如果有任何关键或高优先级的生成正在进行,则禁用新基地建设。

发射 vs 正常优先级生产

  • 在游戏早期,等待敌人先发射,这样我们可能有机会从中盘突袭中获得更大的收益。
  • 如果我在一个造船厂的船只少于21艘且有Kore可花费,则优先生产而不是发射。
  • 否则,发射!

风险调整

  • 如果我有数量优势,则调整力量平衡矩阵对我有利,以便我开始承担更多风险(即比通常认为的安全深度更深地渗透到敌方领土)。

己方基地的战略标记

  • 估算每个基地的经济价值(对我方和竞争对手)。
  • 如果基地受到主动威胁,则在捕获前的每个时间步将此价值分配给该方格。
  • 同时将相同的价值分配给摧毁入侵舰队。
  • 如果我当前的舰队足够大以阻止捕获,则在保卫己方基地时忽略负面的力量平衡。

敌方基地的战略标记

  • 估算每个基地的经济价值(对我方和竞争对手)。
  • 将价值分配给此方格,但使用1%的时间贴现来鼓励我的舰队尽快捕获它。

力量平衡策略标记

  • 注意:这部分算法使用Cython实现以提高速度。
  • 对于每个造船厂,包括敌方造船厂,查看每个到达时间步及其对邻近造船厂力量平衡矩阵的影响。
  • 如果己方造船厂的力量平衡始终为正,则忽略它。它应该是安全的。
  • 如果不是,看看我们在给定时间步到达给定目的地是否能将力量平衡转向对我们有利。
  • 如果可以完全转为正值,则将造船厂价值的50%分配给该目的地。
  • 如果只能使部分时间步转为正值,则根据转为正值的时间步比例,最多将基地价值的5%分配给该目的地。
  • 对敌方基地做同样的处理,但是只分配我正在威胁的基地的最大价值,因为我无法用同一支舰队同时捕获多个基地。

创建试验路径

  • 创建可能的舰队规模列表:满编、半满、21、13、8、5、3和2。如果我在造船厂已经拥有非常多的船只,则跳过一些较小的规模。
  • 创建一个“僵尸”舰队规模为“满编”。僵尸舰队尽量避免开采Kore,并尽快瞄准敌方基地或舰队。
  • 计算最小有效时间为“造船厂船只数”除以“舰队规模”。
  • 计算最小瓶颈时间为如果我们每回合都生产,Kore储备将耗尽的回合。即尽量避免在基地希望生产新船的回合返回家园。
  • 对每种可能的舰队规模运行最佳路径查找算法,受最小有效时间和最小瓶颈时间约束。
  • 如果我们的新基地NPV为正但没有足够的船只,则创建最大时间约束,以便舰队能聚集成更大的规模,从而我们可以建造基地。
  • 在策略标记步骤中也有效地应用了最大时间约束,具体取决于舰队前往的造船厂目的地。
  • 在试验选项中选择最佳路径,在具有最大战略价值的路径中优化最佳的单位时间单位船只Kore收益,并受上述
同比赛其他方案