dota2中的AI与星际争霸中的AI

人工智能 游戏-ai
2021-11-02 15:52:08

我只是好奇从严格的工程角度来看,人工智能会更难创造什么。与星际争霸中最好的玩家进行 1 对 1 比赛的 AI 或在 dota2 中控制整个团队并击败最好的团队的 AI?

3个回答

如果没有对 dota2 与星际争霸的游戏机制的详细分解,我无法明确回答,但假设游戏具有相似的复杂性,控制多个游戏内代理组成团队的 AI 会更复杂,因此更难创建,而不是单一的代理“团队”。

我的假设是基于组合学和计算复杂性的基础:

  • 在dota2中,人工智能不仅要识别获胜策略,还要协调多个代理。

相比之下:

  • 星际争霸 AI 只需要确定一个获胜策略,而无需在组成团队的离散代理之间进行协调。

传统上,联盟在博弈论和组合博弈论中很难分析(尤其是在后一种情况下,将数学研究限制在大多数情况下只涉及两个玩家的游戏。)在这种情况下,问题不在于联盟——多重游戏代理已经在同一个团队中 - 但是与由单个代理组成的团队相比,团队中存在多个代理会显着增加复杂性。

在这两个游戏中,强大的游戏需要不同的能力。其中一些比其他更容易使用 AI 实现。因此,很难以一般的方式回答这个问题,但我们可以从不同的方面详细了解:

  • 速度/APM(每分钟的行动)

虽然这两款游戏都需要一定的速度,但 SC2 通常会更快一些,因为您只需管理更多的东西(继续建造、安排您的单位、协调对多个地点的攻击)。也就是说,如果您想通过单个代理控制 Dota2 中的整个团队,则 APM 要求会相应增加。最后,这并不重要,因为速度是我们最不关心的问题,可以通过在问题上投入更多资源来提高速度。因此,我不会说这两款游戏中的一款在工程工作方面具有优势,只是想摆脱这个话题。

  • 实施强大的战斗技术

战斗是这两款游戏的重要技能。虽然 SC2 中的军队规模更大,但每个单位拥有的能力数量通常更小。SC2 中人类玩家的限制之一是无法单独控制每个单位,因为大多数时候单位太多了。另一方面,人工智能可以通过控制每个单位来更好地利用复杂的军队。我在 SC2 的早期就看到过这种军队的模拟,很明显,到目前为止还没有人类玩家可以与这种技术竞争。

这方面在 Dota2 中不太重要,因为单位的数量要少得多。然而,执行攻击和撤退的精度可以很容易地优化到任何人类玩家都难以达到的水平。我仍然认为 SC2 中超人技能的潜力要高得多,因为每个单元都会成倍增加。

  • 寻找制胜策略

虽然用速度和技术击败人类球员相当容易,但找到获胜策略是完全不同的球赛。在欺骗和隐藏信息发挥如此重要作用的游戏中,强大的获胜策略的工程要求是巨大的。强大的 AI 将需要根据不同策略的可编程规则和使用 ML 进行微调的混合方法。从长远来看,这两款游戏都在不断发展,需要考虑新的(或不断变化的)英雄、单位和结构。在我看来,人工智能最困难的部分将是处理它以前从未遇到过的非常规或诡计。SC2 具有更高的潜力,可以让对手措手不及并立即赢得比赛。甚至当AI多次遇到某种诡计,自己很难找到合适的柜台。所以每一个新的技巧游戏都需要特定的指导训练才能正确对抗它。另一方面,人工智能可以学习相同的技巧并将其作为策略的一部分。

Dota2 具有较小范围的不可预测事件和策略,因此对 AI 来说更容易适应这些事件和策略。这将显着减少这方面的工程工作量。

  • 限制

要评估问题的复杂性,您需要考虑为挑战设置了哪些限制。如果您允许 AI 以无限的 APM 进行游戏,则可以简单地通过技术克服许多策略缺陷,利用纯粹的速度和精度。

如果将挑战限制在一个小地图池中,则可以更有效地训练 AI。如果人工智能必须能够导航任意地图,问题就会变得更加复杂。限制对战或英雄选择也是如此。您设置的限制越多,实施强大的 AI 就越容易

  • 我的结论

虽然很难将所有这些方面相互权衡,但我觉得在 Dota2 中实施强大的战略AI 比在 SC2 中更容易,但在 SC2 中使用强大战斗技术的 AI 的杠杆作用更大。这并不意味着强大的Dota2战技也无法达到超人的水平,但SC2的技能上限更高。

这将取决于你想赋予人工智能的人类真实性水平。一方面,在《星际争霸 II》中,人类一次只能查看地图中的一个特定位置以及一次只能采取一项行动的能力受到限制。计算机不一定受此约束的限制,因此您必须人为地创建它。这与 Dota2 的故事类似,但在这种情况下,人工智能将能够以精确的同步同时控制所有 5 个角色,这即使是最好的团队也无法比拟。因此,您将不得不人为地在代理上创建约束,使其被迫针对团队工作和沟通进行优化。我认为 Dota2 的一个具有挑战性和有趣的问题是让 5 个独立的代理像人类通常在游戏中那样一起工作。例如,看看他们是否可以生成一种“游戏语言”来表示地图上的合作操作以及设置 gank 和 push 等,这将是一件很有趣的事情。这将为研究人员提供一个良好的环境,以测试不同代理之间的交互如何随着共同目标而发展。