八达网
标题:
星际争霸,人脑和电脑
[打印本页]
作者:
nejcnejc
时间:
2011-2-12 15:08
标题:
星际争霸,人脑和电脑
首先请允许哥深深的装上1b,哥是专业人士。
看了那个伯克利的帖子有感,我很久以前就在想怎样才能写出一个合格的星际AI(lv15?)。
星际分两部分,大局观和微操。
关于大局观,由于星际是一个不完全博弈(双方无法得知对方的全部情况,如下棋是完全博弈,打牌则是非完全博弈),所以电脑很难做的比人脑更好。
关于微操,大家普遍表示电脑做的会更好,不过如果考察到细节的话,则不会那么简单。像甩飞龙这种机械重复的操作,电脑肯定做的比人好,操作运输机和金甲虫,电脑也肯定更好。
应该考虑更常见的操作,如神族混合兵种大部队交战时,如何放电?人脑在一瞬间就会做出决定:“先电对方的电兵;如果电兵不容易电到,则电龙骑;要电对方兵多的地方;不要电叉子提速叉子跑的很快;不要电到自己的兵,等等。“电脑是根本不会这么思考的,电脑只能根据一个状态函数,把当前地图上某个范围输入进这个函数,则输出一个浮点数表示电这个位置能够得到的收益,然后根据收益排序,选择要放电的位置……
考虑更简单的纯龙骑对射,规则是”1 拉阵型让每个龙骑都有火力输出 2 射杀射程内血最少的敌方龙骑 3 如果血少的地方龙骑跑出射程不要追,集中力量射杀射程内的龙骑……“
我举这些例子是为了说明,星际中更常见的情况是操作也需要策略,像甩飞龙那种几乎不需要什么策略的操作并不多见,而这里的每一个策略,都需要上文所提的一个状态函数,这些状态函数必须由人提供,可以想象这个工作量……
下面说说大局观。对于完全博弈而言,由于信息完全可见,所以可以用一个状态函数来给当前或者以后的局面打分,电脑选择最优策略(若干步后状态函数得分最高),这样真是简单明了。但是非完全博弈完全不同……
打个比方,对于PVP开局,电脑需要知道什么时候进行火力侦察,根据侦查的结果判断对方是3bg龙骑,还是2bg金甲,还是2bg ob,等等,这些推理,都需要人来提供规则,可以想象工作量……
比较可行的方案是让电脑用T(T的变化最少),然后根据教主的比赛,抽象出若干种战术,如无脑暴兵,指挥机器人打飞机等等,不过由于电脑的选择是非常有限的,所以就非常容易被针对……
最后跟大家说一句,电脑没有学习能力,所谓的机器学习,永远都是在人的指导下,没有人电脑什么都不是,电脑如果做出了超越程序员逻辑之外的行动,那就是bug,而不是人工智能……
作者:
Sophia
时间:
2011-2-12 15:43
提示:
作者被禁止或删除 内容自动屏蔽
作者:
warbear
时间:
2011-2-12 16:01
电脑不会犯二。
作者:
nejcnejc
时间:
2011-2-12 16:04
电脑不会犯二。
warbear 发表于 2011-2-12 16:01
所谓的犯二是建立在侦查的基础上,ob当然会觉得选手犯二了,问题是电脑不是ob,根据现有局面判断,电脑肯定会做出让ob觉得他在犯二的举动
作者:
cheng_312
时间:
2011-2-12 16:08
支持一下
作者:
hoazg
时间:
2011-2-12 16:13
作者:
Giggs
时间:
2011-2-12 16:14
haotie啊
作者:
SM_2v2gamer
时间:
2011-2-12 16:15
欢迎光临 八达网 (https://www.8-da.com/)
Powered by Discuz! X2.5