据说在即时战略比赛里人可以打败AI,真的吗?

  • m
    mhfdt
    所以我说SC2这游戏不适合
    本来SC最初的设计是个零和,依靠兵种/升级取得单兵战斗力上的优势或者早期人海战术将对面逼入被动,不管哪个选择,都是以最少的资源消耗对方更多的资源。中后期进行兵种的合理搭配与布局,在消耗战中取得大优势最后一举拿下。
    结果在棒子手里小狗直接从两只换一个狂徒的消耗品升级到无耗甩死对面的杂技团
    所以电竞的RTS看点很有问题,因为16-25岁这些人玩的更多的是反应速度,手指灵活,你和他们讲战术战略?打下来基本就是几个套路,奇招?平时玩玩可以,打比赛不是豁出去谁没事作死。这也是为什么现在RTS电竞赛不好看,和刀撸根本没法比——比起看一个人拖狗,人们更喜欢看一群人放着五花八门的技能打群架,看一个人秀技术二打五PENTAKILL。
    所以回到题目,这个“RTS比赛”到底是想比什么?
    比操作,根本没AI的事,一堆脚本搞定
    比战略,以目前的RTS设计来说,AI的表现很有限。
    无非就是顺着科技树打针对或者反针对,网状结构链二叉或者三叉树,附带一堆例外列表,说白了还是打套路
    唯一有看点的就是行为部分了,即两兵相接,AI具体会怎么做。这里如果玩穷举就是下下策了。
    让AI自己去算,通过结果决定行动方式,虽然有可能会有很奇葩的结果出现,不过这才是有意思的地方。

    具体的说:操作:一队小狗12只每只同时向不同的目标点前进
    战略:先甲还是先速?先二矿还是采气?对方爆兵流,我该怎么反打?
    行为:高地,地堡,一队枪兵,我有一队狗和两只飞龙,能不能打,值不值得打,打的话该如何行动以获取利益最大化

    以上除了操作部分可能因实际情况要进行限制外,三条合一基本就构成一个AI了,于是人能不能打败?撇开操作,就是五五开呗,无非就是比谁在正确的时间做出了更正确的判断,容错比起国际象棋来说要高很多了
  • 卡奥斯·克斯拉
    +65535,生理反射的极限,这就是看现在电子竞技里人V人看微操最SB的地方。
  • 卡奥斯·克斯拉
    算法问题,量子计算机可能瞬间解决。
  • 汪达
    我只想说让AI参不参与计算和穷举是并不矛盾的,AI参与计算也要码农在写AI的时候想好各种情况下的处理方式吧,哪怕你写个最基本的按照兵种和数量让AI先计算下双方战斗力,打得过就打打不过就跑,这也是在穷举啊,只不过停留在很初级的阶段,很不具体罢了
    而且你说的一堆脚本就是目前AI的制作方式,把脚本剥离了AI还剩啥?
  • m
    mhfdt
    人工智能的核心是算法,脚本反倒是其次
    应该说但凡程序,核心都是算法,Algorithm,其中穷举是最蠢的
    虽然总结起来都是“在什么情况下应该做出什么样的行为”
    但是分析这个“在什么情况下”的方法才最为重要,而剩下的“做出什么样的行为”则是脚本的工作,为了方便测试设置可以全设成GG。
    当这个“什么情况”有相当大的样本值的时候,穷举法是相当不科学的,时间复杂度直接和穷举层数挂钩,最糟糕的情况下,给你来个N的N次方,你管这叫AI?等你大和舰都造出来了还在想电脑在干什么呢跑去一看结果发现AI还在纠结出不出分矿呢
    之前看到有人的毕设是弄AI算法的,主题是类神经元结构来着?这算是个例子。整个触发行为在一个网状结构内遍历,效率相当高。
  • r
    rve
    抽时间大概翻了下那几篇paper,这个问题挺大的,也挺棒的。首先要把游戏里已有的实现和学术圈分开讨论:
    游戏里的实现一般只用有限状态机者Behavior Tree,条件触发罢了,开销很低,不会出现“按照PC跑7个AI来设计”的情况,也谈不上深蓝式的竞争。

    那篇phd thesis列举了一下RTS游戏:Ancient Art of War, Herzog Zwei, Dune II, Warcraft, Command & Conquer, Warcraft II, C&C: Red Alert, Total Annihilation, Age of Empires, StarCraft, Age of Empires II, Tzar, Cossacks, Homeworld, Battle Realms, Ground Control, Spring Engine games, Warcraft III, Total War, Warhammer 40k, Sins of a Solar Empire, Supreme Commander, StarCraft II.

    研究集中在SC1的原因是"it helped define the genre and most gameplay mechanics seen in other RTS games are present in StarCraft“,而且”based on strategy than tactics, by opposition to the Age of Empires and Total Annihilation series “, 还有不错的API。

    主要挑战包括:
    • Planning
    • Learning
    • Decision making under uncertainty
    • Spatial and temporal reasoning
    • Domain Knowledge Exploitation
    • Task Decomposition into Strategy, Tactics, Reactive control, Terrain analysis and Intelligence gathering

    不过11年的比赛是这样的,水平很低吧,然后还经常crash
    Xelnaga (Protoss): is a modification of the AIUR bot
    that chooses the Dark Templar Opening in order to destroy
    the enemy base before defenses against invisible units are
    available.
    Protoss Beast Jelly (Protoss): always goes for a 5-gate
    Zealot rush, supported by an effective harvesting strategy
    named power-mining (2 probes are assigned to every mineral
    patch, thereby needing 18 probes for 100% saturation in a
    normal map, prior to expanding). Gas is not mined as it is not
    needed for constructing Zealots.
    EvoBot (Terran): employs an evolutionary algorithm
    for obtaining rational unit combinations and influence map
    techniques for deciding the strategic locations. Note that this
    bot was submitted in a very early version, with many of its
    designed features not yet fully ready.

    而且人类建筑卡入口都能发一篇论文了,M. Certicky, “Implementing a wall-in building placement in starcraft with declarative programming,” 2013.

    因此反驳一下楼上观点,现在rts ai有learning,也有人做(有比赛,研究也能发IJCAI,会议还有专属的CIG和AIIDE),但是目前state of art 算法的确打不过人类。
  • 霜叶舞影
    有十台甲虫对面蜘蛛再多也要跪啊
  • 你的全家
    但是……你和对面的经济差已经达到了对面卡住线还有闲钱玩蜘蛛大战的程度了……
  • c
    cloudskate
    说到要点了,我觉得楼主提的这个问题潜在要问的就是电竞游戏复杂性是否超过传统棋类呢?答案是否的
  • 霜叶舞影
    我一般不担心这个,因为在这之前我就已经死了