Artificial intelligence 需要一个应用AI项目的建议吗

Artificial intelligence 需要一个应用AI项目的建议吗,artificial-intelligence,frame-rate,bots,Artificial Intelligence,Frame Rate,Bots,我本学期有一门课程,要求我做一个关于人工智能应用的项目。我决定在游戏AI上做这个。我有两个基本想法:实现FPS机器人或实现足球AI 我现在在人工智能领域很安静,我已经实现了基本的寻路算法(a*,等等),学习了有限状态机,一些一阶逻辑,基本的神经网络(反向传播算法),目前正在学习遗传算法 我们现在主要关注机器人。我们的计划包括: 每个“bot”都将使用有限状态机(FSM)实现,该状态机将包含bot可能具有的状态操作/状态的规则在收到输入时将发生更改。 在机器人群体运动中,每个机器人决定是否

我本学期有一门课程,要求我做一个关于人工智能应用的项目。我决定在游戏AI上做这个。我有两个基本想法:实现FPS机器人或实现足球AI

我现在在人工智能领域很安静,我已经实现了基本的寻路算法(a*,等等),学习了有限状态机,一些一阶逻辑,基本的神经网络(反向传播算法),目前正在学习遗传算法

我们现在主要关注机器人。我们的计划包括:

  • 每个“bot”都将使用有限状态机(FSM)实现,该状态机将包含bot可能具有的状态操作/状态的规则在收到输入时将发生更改。
  • 在机器人群体运动中,每个机器人决定是否罢工、罢工方式;基于范围、机器人数量、使用神经网络的现有战斗。
  • 通过使用遗传算法,可以根据重复动作预测对手的下一步行动。
虽然到目前为止,我在空闲时间编了一些2d游戏(比如吃豆人游戏、俄罗斯方块游戏等),但我从来没有真正进入过3d领域。我们很可能会使用3d引擎

我们想把大部分精力集中在人工智能部分。我们不想被有关动画/3d模型等不必要的细节所困扰。例如,如果我们能找到一个框架,它具有像Moveright()这样的功能,只需将机器人向右移动,那将非常棒

我的基本问题是:考虑到项目的持续时间约为3个月,按照我们计划的方式进行是否过于雄心勃勃?我们应该使用3d并使用3d游戏引擎吗?如果你以前没有使用过这种发动机,那么使用这种发动机容易吗?如果是,什么样的发动机适合我们的项目

我有了另一个想法,在《AI游戏编程示例》一书中,玩家可以从上到下查看机器人。这样更合适吗

谢谢。。对不起,问题太长了。。只是我的问题有点太具体了

我的基本问题是:它也是吗 雄心勃勃地按照我们的方式去做 考虑到持续时间,我们已经计划好了 这个项目的总工期大约是3个月

是的——但这不一定是坏事:)

我们应该使用3d和3d游戏吗 引擎

不,主要是因为你说:

我们想集中我们大部分的精力 人工智能部分的能量

根据我的经验,我会这么做(而且我知道,作为一名学生,我经常咬得太多,吃不下):

使模拟功能与图形组件无关。让它将“更新”发布到另一层,该层由球员和球向量组成。通过这样做,您将使您的AI任务与其他任务分开,这意味着您需要担心的bug更少,并且您还可以更轻松地对基础模拟进行单元测试

利用这些“更新”,创建第一个“可视化”层——使其成为最简单的二维表示。它可能只是一连串的文字行:“球员1有球/球员1以20公里/小时的速度(30,40)踢球”。这对于您的第一个过程来说已经足够困难了,因为您将了解如何获取模拟发布的数据并对其进行处理

您的下一个可视化可能会添加一个ANSI图形的2D网格(就像rogue一样),以实际显示球员和球的移动。你的下一个可能是精灵。等等请注意,您是如何逐渐增加可视化的复杂性的。。。不要第一步就使用以前从未使用过的技术(3d图形引擎)。(那样的话,你永远也完成不了你的项目。)

至于你的问题——FSMs、NNs、GAs、自上而下的设计——你应该将你对它们的兴趣从大到小(和你的团队其他成员一起)排列,然后按顺序解决它们。你可以考虑为一个团队做一个风格,另一个团队考虑不同的设计。您可能希望让您的FSM团队与对其进行了额外调整的FSM团队进行比赛,以便在您认为您的更改实际上是有益的情况下进行比较和对比(您可能会感到惊讶,并发现它们使团队变得更糟)。实际上,这就是单元测试和将模拟从可视化中分离出来非常非常方便的地方——你应该能够“模拟”尽可能多的游戏,以获得实验结果,而不必担心图形。您甚至可以使用脚本在一夜之间批量完成

总的来说,我给你的建议是:把你的项目分解成最细小的部分,然后一次处理一个,这样无论你在什么地方,当时间用完时,你都会有一些有趣的东西可以炫耀。

你可以看一看,这就是我在大学做人工智能单元时必须使用的东西

它负责所有的显示、物理、声音等。。。对你来说,你所要做的就是为你的机器人团队编程。 该API包括使机器人向左或向右移动、射击、听到声音(如枪声)等功能。。。它附带了一些示例机器人,所以您不会从头开始


另外,看着你的机器人与朋友的机器人搏斗也很有趣:)

好吧,我想我应该采用自上而下的方法?i、 e,球员从顶视图看一切?我真的不想使用文本方法……文本方法仅仅是可视化复杂性无限路径上的第一步。您可以先通过“文本方法”解决“模拟层”和“可视化层”之间的所有依赖关系,而不是直接跳到图形中。。。相信我,这对你来说已经够难了。