课程设计-天天象棋作弊软件判别

news2024/11/18 9:41:43

目录

 

1.作弊开挂可能迹象

2.设计作弊检测系统灵感

3.设计作弊检测系统思路

3.1反作弊系统应对策略框架

4.感想体悟


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

足球ai_用AI指导足球_cumo7370的博客-CSDN博客

足球运动员的数据分析实战(python)_数据分析与统计学之美的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/29864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度分解网络:显著性分析:IVIF】

Infrared and Visible Image Fusion Based on Deep Decomposition Network and Saliency Analysis (基于深度分解网络和显著性分析的红外与可见光图像融合) 传统的图像融合侧重于选择一种有效的分解方法从源图像中提取代表性特征,并试图找到…

2022年海运行业研究报告

第一章 行业概况 海洋运输又称“国际海洋运输”,提供海上客运或者货运服务的行业。是国际物流中最主要的运输方式。它是指使用船舶通过海上航道在不同国家和地区的港口之间运送货物的一种方式,在国际货物运输中使用最广泛。国际贸易总运量中的2/3以上&a…

功率放大器和电压放大器的区别是什么意思

很多人经常会在后台咨询小编功率放大器和电压放大器的区别有哪些?今天就来为大家科普一下功率放大器和电压放大器的知识内容,希望大家下次能够区分,并且可以正常地选择和使用功率放大器。 图:功率放大电路与电压放大电路对比 功率…

Opengl ES之YUV数据渲染

YUV回顾 记得在音视频基础知识介绍中,笔者专门介绍过YUV的相关知识,可以参考: 《音视频基础知识-YUV图像》 YUV数据量相比RGB较小,因此YUV适用于传输,但是YUV图不能直接用于显示,需要转换为RGB格式才能显…

简单的股票行情演示(一) - 实时标的数据

一、概述二、效果展示三、实现代码 1、行情数据中心2、数据拉取模块3、基础服务模块4、UI展示四、相关文章原文链接:简单的股票行情演示(一) - 实时标的数据 一、概述 很长一段时间都有一个想法,使用QCP去做一个行情展示小事例&…

TiDB Cloud

TiDB Cloud 为什么选择TiDB 分布式数据库-多租户混合工作负载-在同一个数据库中 事务型:基于行的数据分析型:基于列的数据 弹性比例: 缩小-减少节点横向扩展-添加节点 基于“RAFT”的高可用性 每个数据段的3个可用区进行复制 多租户 什么…

DataGridXL 2.0 for JavaScript Crack

你的web开发好了,客户说我习惯用excel这样的表格,你们是否能开发像电子表格一样的功能? Web 应用程序的类似 Excel 的体验---DataGridXL 2.0 for JavaScript Crack 你已经构建了一个 Web 应用程序,但你的用户坚持使用 Excel。 类似…

一、ROS2简介

ros2相关简介 ROS2的前身是ROS,ROS即机器人操作系统(Robot Operating System)。但是ROS本身并不是一个操作系统,而是一个软件库和工具集。 Ros的出现解决了机器人各个组件的通信问题,后来越来越多的机器人算法也集成到…

漫谈信息模型(1)

简单地表达复杂的世界,这是各类思想家近千年来的追求。如何将人类在世界上观察到的结果进行概念化表达?又如何描述人造的复杂工具?这种探索成为人类文明进步的一个重要的驱动力。计算机的出现,推动了人类对现实事物进行概念化的描…

技术开发87

技术开发87 业务内容: . 冲床加工,高速冲床加工,省力化机械制作 . 铣床加工,食品机械制作 . 轮廓加工,钢丝加工 . 冲床模具制作 . 溶接 公司简介: 资本金:1000万日元(约66元人…

文件数据丢失怎么办?推荐几款好用的文件恢复大师

众所周知,计算机在使用过程中难免会出现文件数据丢失的情况,这是一种非常正常的现象。但是遇到这种情况,很多时候我们不知道该如何去补救。特别是由于一些原因导致电脑被重启,这样不仅会对电脑造成一定影响,更重要的是…

2022年8月15日陌陌推荐算法工程师面试题5道|含解

8本电子书免费送给大家,见文末。 1、DeBERTa与BERT的区别 DeBERTa提出了两种改进BERT预训练的方法:第一种方法是分散注意机制,该机制使用两个向量分别对每个单词的内容和位置进行编码来表示每个单词,并使用分散矩阵计算单词之间…

本地传奇架设详细教程

十二堂今天给大家分享一篇技术文章,传奇架设教程。 教程讲的很详细,就是一个菜鸟都能学会如何架设传奇。 在管理工具->服务中停止ssdpdiscoveryservic服务 一、准备软件DBCommander 2000 Pro和传奇服务端(什么版本都行&#x…

设计模式之代理模式(十一)

目录 1. 静态代理 2. 动态代理 3. Cglib代理 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。好处就是可以用来增强。 被代理的对象可以是 远程对象,创建开销大的对象 或者 需要安全控制的对象。 可以分为三类 静态代理动态代…

Robot Framework 自动化测试详解

一、Robot Framework 简介 1、界面自动化测试工具 界面自动化测试,即UI自动化测试,比较常见的工具有:QTP、AutoIt、Selenium等。 像QTP经历了很多版本,最新的版本好像叫UFT了。对初学者来说,录制回放是相当容易上手的,除了录制,QTP主要用VBScript脚本编写代码,同时有…

C/C++语言 9 —— 函数

把相同业务功能维度的代码有机的整合起来做成函数,这样做既可以方便反复调用,又可以在空间上节省代码行数。 函数的定义: 返回值类型 函数名(参数类型1 参数变量名1, ....参数类型N 参数变量N){ //此处参数为形参// 函数体.... } 如果不需…

外汇天眼:德国PPI利淡欧美镑美跌逾百点,美元涨近百点,黄金跌约20美元,关注美制造业指数

昨日重要因素影响 : 1.英媒:英国在继续购买俄罗斯石油 但称从其他国家进口 2.德国10月PPI月率低于市场预期 3.欧洲央行首席经济学家连恩:我们将在12月再次加息,不认为12月将是最后一次加息 4.穆迪:在需求降温的环境下&#xf…

Java标准输入输出流【转换流打印流】

➤ Java 输入输出IO流 全部导航 文章目录乱码转换【转换流】InputStreamReaderOutputStreamWriter打印流:PrintStreamPrintWriter类型默认设备System.in 标准输入InputStream键盘System.out 标准输出PrintStream显示器 System类的 public final static InputStream…

C++ 语法基础课4 —— 数组

文章目录1. 一维数组1.1 数组的定义1.2 数组的初始化1.3 访问数组元素(通过下标访问数组)1.4 练习1:1.5 练习21.6 练习31.7 练习41.8 练习4(难点)2. 多维数组2.1 练习11. 一维数组 1.1 数组的定义 数组的定义方式和变量类似 #include<iostream> #include<algorithm…

linux网络编程 - epoll边沿触发/水平触发内核实现代码分析

1、listen socket水平触发的poll函数调用 以服务器端epoll为例&#xff0c;加入监听、等待并接受连接、再次等待&#xff0c;会有3次检查是否有连接就绪的操作&#xff0c;分别是epoll_ctl、epoll_wait、epoll_wait。 1.1、epoll_wait(第1次调用) 等待就绪链表相关内核看前面发…