Artificial intelligence 遗传算法敌人/僵尸AI

Artificial intelligence 遗传算法敌人/僵尸AI,artificial-intelligence,genetic-algorithm,game-ai,Artificial Intelligence,Genetic Algorithm,Game Ai,我真的说不出原因,但有一次YouTube向我推荐了一段关于基因遗传算法的视频,它真的向我闪现了,有人让一个学习型人工智能单独玩谷歌chrome no internet jump&run。 因为我在为Minecraft编写插件,所以我有了一个想法,用一个自学习AI(遗传算法)制作一个基于PvE的游戏模式,但现在我不知道从哪里开始,我可以根据僵尸的死亡或造成的伤害来调整适应度,但我不知道如何再次复制它,不知何故,我必须用人工智能控制运动、射击等,我不知道该怎么做,我希望有人能帮助我,你能理解我的问题

我真的说不出原因,但有一次YouTube向我推荐了一段关于基因遗传算法的视频,它真的向我闪现了,有人让一个学习型人工智能单独玩谷歌chrome no internet jump&run。
因为我在为Minecraft编写插件,所以我有了一个想法,用一个自学习AI(遗传算法)制作一个基于PvE的游戏模式,但现在我不知道从哪里开始,我可以根据僵尸的死亡或造成的伤害来调整适应度,但我不知道如何再次复制它,不知何故,我必须用人工智能控制运动、射击等,我不知道该怎么做,我希望有人能帮助我,你能理解我的问题。

我建议你研究一下遗传算法,看起来你在学会走路之前就想跑


理想情况下,如果您希望AI学习如何移动、射击和其他活动,则需要创建一个健身功能,该功能可以根据所有这些内容进行评分。然后你需要弄清楚你将在什么时候进化/变异/匹配你的AI/s,这个结果应该从初始分数0开始,因为你需要重新审视AI,因为它可能已经倒退了一步,而不是向前。

我认为你要做的事情比你想象的要复杂得多

如果你真的想为僵尸训练自主AI,你需要神经网络。但我认为这对于PvE游戏来说太复杂了

如果你不想使用神经网络,你必须设置一些参数来定义僵尸的行为,比如:

  • 损坏
  • 速度
  • 健康
但是使用遗传算法是不合逻辑的-您已经知道,最大化这些值将返回最佳僵尸,因此您可能需要创建更多不同的参数,如:

  • 击球后的速度
  • 击中玩家后的药剂效果
如果你想停留在上面提到的3个点上,那么你应该创建一个最大值——并让遗传算法找到这个值的最佳分布


这是整理好的主要部分,然后你想开始遗传算法

  • 生成,生成具有随机属性的僵尸
  • 评估,让僵尸玩一个游戏,确定他们的适应度:造成的伤害,杀死,行驶的距离
  • ,选择适合交叉的个体
  • ,创造后代
  • ,修改一些值,可能是
    x

我对你的项目很感兴趣。我建议您开始在本地服务器上培训一些僵尸,然后将这些经过培训的僵尸用作在线版本的基础-因此,第一批僵尸并不太容易:)


关于你的评论:


实际上,我想提高僵尸的移动和战斗技能,当他们攻击延迟时,他们返回的麦卡恩正在冷却,当敌人真的处于防守状态时,等等,僵尸试图在他们玩攻击性游戏时抓住一些单一玩家,但不确定如何做这样的事情,我不知道如何用人工智能控制移动,什么时候攻击等等,我知道有很多事情要做,但我真的很感兴趣

这肯定需要一个神经网络。神经网络可以有x个输入,这些输入必须都是环境变量,如:

  • 距离最近的运动员
  • 速度最近的选手
  • 健康最近的玩家
  • 等等,最近的玩家
  • 自身健康
并将计算输出,可能是:

  • 运动方向
  • 移动速度
  • 命中(真/假)
你必须通过神经进化来进化神经网络。你当然可以这样做,但要小心;这很难。特别是有很多环境变量


但是读一些关于神经网络的文章,然后读一些关于遗传算法的文章。然后实施神经进化,例如通过

你有我的教程吗?这可能是一个很好的起点;学术论文对所有人工智能学科都很有用。有很多方法可以解决这个问题,因此我认为这对于堆栈溢出来说不是一个很好的问题。我想说的是,这是一个解决这类问题的地方,但由于那里的社区规模不大,你也可以尝试一下。当您自己对堆栈溢出进行了更多的充实,并且一直在思考如何继续时,您可以使用您的算法返回堆栈溢出,但是您也可以转到堆栈溢出。如果你阅读的话,它可能也很有用。谢谢,是的,我同意,很难找到这个问题的分类,因为它有基本的人工智能知识,但也有关于游戏开发的知识。我可以理解,很难找到一个地方问你的问题。如果您通读了本文,就会清楚地看到,可能引发讨论的问题不太适合堆栈溢出。如果你问诸如“从哪里开始游戏AI?”之类的问题,你真的是在征求意见。对于这样一个问题,实际上不可能有一个最佳答案,因此对于堆栈溢出来说,这不是一个好问题。如果你想讨论或发表意见,最好去论坛或reddit。我希望我之前提供给你的链接对你有用。实际上我想提高僵尸的移动和战斗技能,当他们攻击延迟变冷时,他们会回去,当敌人真的处于防守状态时,等等,僵尸会试图抓住一些单个玩家,当他们玩攻击时,等等,但我不知道如何做这样的事情,我不知道如何用人工智能控制移动,何时攻击等等,我知道有很多事情要做,但我真的对此很感兴趣。@JustinG。如果你对游戏AI完全陌生,我建议你先从有限状态机或行为树开始编写NPC行为。一旦你制作了一些这样的程序,你就会