目录
1.作弊开挂可能迹象
1.非实名认证;
2.头像:美女;
3.名称:
(1)一串英文字母;
(2)非正常中文名字。
***4.20回合外使用最优的招数;
5.开局10回合内使用怪招;
【前几回合故意走亏,躲避审查】
6.对局量少于10000但胜率高于68%。
【大部分象棋大师的胜率最高75%左右】
【样本的标记来源于专家的标记】
2.设计作弊检测系统灵感
通过查看官网公布的作弊信息和知乎等对作弊行为评判的标准,分析作弊特征。
有一个著名游戏的厂商Valve使用一种全新的自动性人工智能系统,这个系统与游戏本身紧密关联。系统本身会采集游戏中的一些数据,然后通过数据分析鉴别出产生这些数据的操作是否来自于一个真实的人——这个过程有点类似于我们常用的网页验证码技术,而且毫不意外的是,目前最先进的验证码技术——Google的reCAPTCHA,就是充分利用了机器学习技术来实现高效率和即时性。
机器学习可以更高效、更及时地鉴别出游戏作弊者,与传统的机器学习方法类似,判断是否作弊,系统同样需要通过训练数据来进行模型训练,检测游戏开挂系统的本质其实就是一个二元分类器,因此在运作上与传统的机器学习模型并无明显不同。游戏中的数据是繁杂海量的,因此使用传统方法找出关键数据是难以实施的。而使用机器学习方法,数学模型就能自动通过海量的训练数据找到作弊操作和普通操作与各种游戏数据之间的联系,并将这种联系转化为关于各种特征的权重,并使用这些权重来判断未来的操作属于哪一类。
但是,仅仅这样做是不够的。现在的游戏作弊软件和职业玩家非常难以区分,游戏作弊软件通过“学习“可以伪装地很像一位玩家,而如果算法错误地将一个技术高超的职业玩家识别为作弊玩家,那么后果将会相当严重。为了尽可能杜绝这一现象发生,Valve给出的办法是在识别过程中增加一步人类鉴别过程(类似于专家系统)——这个系统被称为Overwatch系统。当算法认为一个操作有可能是作弊者的时候,会由专业人士来再次进行一次判别,来确定这个玩家是否开外挂。然后,人类的最终判别结果会被传回模型本身用于完善,因此,这个模型会随着测试次数的增多而不断得到提升,最终达到一个令人满意的准确率——也就是不再需要Overwatch系统作为辅助。
传统的通过识别软件特征的反作弊程序只会让事态变的越严重——因为如果不具备主动识别性能,反作弊程序将会在竞技游戏中永远落后于作弊工具,作弊者们总会找到各种各样的伪装和优化策略来对抗游戏厂商,而被动地防御带来的资源消耗是不可估量的。
3.设计作弊检测系统思路
如果要设计天天象棋作弊玩家评判软件,在训练样本部分,第一种方法可以通过专家直接评判做标记(本人认为此方法存在很大的弊端,容错性过于低,且玩家申诉会使游戏环境变得乌烟瘴气),第二种方法可以通过比赛期间录像,后期通过多名专家标记,但是工作量很大(个人猜想:是否可以通过计算机视觉,提取前景目标,简单理解即为提取动态目标,减少观看全部视频和整个画面视频的工作量)。
3.1反作弊系统应对策略框架
数据层:玩家鼠标轨迹行为、作弊案例库、行为数据...;
特征层:离散指标、连续指标...;
行为识别层:点击识别模型、异常监测模型、流量识别模型、关系图模型、人群识别模型...;
策略应对层:(游戏)规则。
4.感想体悟
各种比赛中出现的机器人选手,就像人工智能与人类之间的博弈。
当机器人玩家战胜职业选手,是否也是一种作弊,这些问题都需要我们去思考。
「击败星际争霸II职业玩家」的 AlphaStar是在作弊?_机器学习算法与Python学习-公众号的博客-CSDN博客
游戏一直是机器学习算法一个很好的练武场,我们也希望机器学习算法的成长和进步能够为我们带来一个更美好、更神奇的游戏世界。作为普通玩家,在了解这些前沿科技的同时,最重要的还是从自身做起,不作弊不开挂,素质游戏,自觉维护和谐、公平的游戏环境。
具体实现可以参考文章:
反作弊基本概念与机器学习的应用(1) - 白鹭倾城 - 博客园
可以参考学习AIFootballManager-master