gpt4 book ai didi

实时战略兵棋人工智能算法

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

我正在设计一个实时战略 war 游戏,其中 AI 将负责在大型六角形 map 上控制大量单位(可能超过 1000 个)。

一个单位有许多行动点数,可以用于移动、攻击敌方单位或各种特殊行动(例如 build 新单位)。例如,一辆拥有 5 个行动点的坦克可以花费 3 点用于移动,然后 2 点用于向射程内的敌人开火。不同的单位对不同的行动等有不同的成本。

一些补充说明:

  • AI 的输出是对任何给定单元的“命令”
  • 行动点数在时间段开始时分配,但可以在时间段内的任何时间点花费(这是为了允许实时多人游戏)。因此,“什么都不做,保存行动点以备后用”是一种可能有效的策略(例如,不能移动的炮塔等待敌人进入射程)
  • 游戏是实时更新的,但 AI 可以随时获取游戏状态的一致快照(这要归功于游戏状态是 Clojure 的持久数据结构之一)
  • 我不期待“最佳”行为,只是一些不明显愚蠢并提供合理乐趣/挑战的行为

对于能够在效率和合理智能行为之间取得适当平衡的特定算法/方法,您有何建议?

最佳答案

如果您阅读 Russell and Norvig ,您会发现适用于各种用途的大量算法,这些算法已更新到几乎当今最先进的水平。尽管如此,令我惊讶的是,贝叶斯算法可以成功解决许多不同的问题类别。

但是,对于您的情况,我认为每个单元都拥有自己的 Petri 网或推理引擎并不是一个好主意……可用的 CPU、内存和时间有限。因此,一种不同的方法:

虽然在某些方面可能是个疯子,Stephen Wolfram已经表明可以在 very simple rules 的基础上对非常复杂的行为进行编程.他勇敢地从 Game of Life 中推断出量子物理学和整个宇宙。

同样,很多关于小型机器人的研究都集中在emergent behaviorswarm intelligence .而经典military strategy和实践都强烈地基于等级制度,我认为一支由完全无私、无所畏惧的战士组成的军队(就像在你的计算机上行军一样)如果作为自组织集群运行,可能会非常有效。

与 Clojure 的 STM 相比,这种方法可能更适合 Erlang 或 Scala 的基于角色的并发模型:我认为自组织和角色会非常好地结合在一起。尽管如此,我仍然可以设想在每个回合中运行一个单元列表,让每个单元只评估一小部分非常简单的规则来确定它的下一步行动。我很想知道您是否尝试过这种方法,结果如何!

编辑

在我的脑海中还有一些其他的想法,但在我写作时又溜走了:我认为如果将这种方法与 genetic 结合使用,您可以从中获得显着的结果。或进化编程;即让你的虚拟玩具士兵在你 sleep 时互相开战,让他们编码他们的策略并为这些策略混合、匹配和变异他们的代码;并让裁判程序选择更成功的勇士。

我读到过一些使用这些技术取得惊人成功的文章,其中的单元以我们从未想过的方式运行。我听说,为了不挫败人类对手,AI 必须有意降低这些原则的工作效率。

关于实时战略兵棋人工智能算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3275174/

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