模式匹配瞄准算法设计

模式匹配瞄准算法设计

ID:28068979

大小:49.50 KB

页数:8页

时间:2018-12-07

模式匹配瞄准算法设计_第1页
模式匹配瞄准算法设计_第2页
模式匹配瞄准算法设计_第3页
模式匹配瞄准算法设计_第4页
模式匹配瞄准算法设计_第5页
资源描述:

《模式匹配瞄准算法设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、模式匹配瞄准我们知道比较有战斗力的直线提前量和圆周运动瞄准算法,都是针对固定模式的瞄准算法,比如直线提前量算法,如果对手不是走直线,就打不准;而圆周运动算法是针对做圆周运动的机器人的,如果对手走S型路线呢?我们是不是还要设计一套S行路线的瞄准算法呢?好,就算我们设计出来了,遇到走三角形路线的呢?是不是又要设计一套新的算法呢?就算你都设计出来了,如果对手的运动模式不断变化,一会儿做圆周,一会儿做S型,你该怎么办,使用圆周算法瞄准还是S型算法瞄准?显然,我们原来的思路出现了局限性。这里我将要介绍一种技术,能让我们的机器人自

2、己识别对手的运动模式,然后从对手的模式推导出瞄准点,不管对手怎样变,只要有规律,我们都能打得很准。这可以说是一种具有学习能力的算法了,学习完本文后,实际上你己踏入了人工智能的领域O学习目标理解模式匹配的某本原理。理解例子屮的应用原理。了解机器人学习的概念。任务实现模式匹配瞄准算法。实现任务可能你现在对模式匹配算法还非常陌生,不用担心,K面会先介绍什么是模式匹配,然后再应用到机器人瞄准策略中。1.问题分析模式匹配的基本概念是记录并寻找相似的样本,在AI-CODE中,样本一般情况就是指对手的运动状态,也就是说寻找相似的运动

3、状态。我这里举个例子,比如对手做圆周运动5周后又做200个距离的直线运动,然后又开始做圆周运动,在做完4周之后你会预测它紧接着会怎样运动?按照我们常规的经验来分析,我们会推测它会继续作圆周运动1周,然后做直线运动。为什么你我会做岀这样的推断?首先,因为我们记住了它原来的运动,它原来是运动5个圆周然后200距离直线,我们对此记得清清楚楚,其次我们做了比较,找出了最匹配的地方,我们把这4个圆周运动,看做它原來做5个圆周运动的开始4个,所以我们推断它还会按照原来的规律继续下去,如果对手真是有这样的规律,那么我们将击中它。模式

4、匹配算法也正是釆用了这两个步骤实现了像你我一样的推断能力,而且利用计算机强记忆能力和快速计算能力,更能做出比你我更精确的推断。也许有人要说了,刚才那个例子,如果机器人不是按照那个规律运动的,第一次做圆周5次然后直线,第二次就做圆周4次然后就直线丫呢,很有可能有这样的机器人啊,那么我们的分析就错啦。我这里回答你,是的,我们的分析就错了,但是随着我们记录的更多,我们会慢慢的正确起来,第一次5周,第二次4周的这种变化也是一种规律,只要我们记录的足够多,分析的足够多,下一次它如果再出现这样的情况,我们就知道了。也就是说,只要对

5、手的运动有一定规律,我们就能分析出来,打屮它。实际上通常的机器人运动都是有规律的,只是有的很明显,变化少,有的不很明显,变化多,很显然对于前者,模式匹配算法会打的很好,对于后者,可能效果略差。不管怎么样,这都是瞄准算法的一个大突破,现在我们一起来实现了这样一个机器人,你会看到它的强大。1.算法设计根据刚才的分析,我们知道模式匹配算法主要是两个步骤,记录样本和比较样本(也就是寻找相似的样木,即匹配的意思,样木即模式的意思,模式匹配由此得名)。实际上算法大体可以说就是三步,如下图所示:整体思路其实很简单,就那样三个步骤,我

6、们在脑海里结合我们人类白己分析对手运动规律的方法很好理解这三个步骤。但是要在机器人程序中实现这样的功能,可能就要费一番功夫了。我们不要害怕,只要认真思考,总会有答案。不过这里我们的思考方法就很重耍了,我们耍倒着顺序思考,理由很简单,因为我们最终的目的是要很好的击中对手,而计算对手未来位置的部分是最后一个步骤。因此我们先从这个部分开始思考,根据历史屮的一系列对手状态推断对手的未來位置,我们最好采用什么样的方法?冋顾一下圆周瞄准那一章的把圆周运动精确为实际的多边形的图,那就是一个轨迹,我们根据对手的转动速度算出对手的方向再

7、结合对手运动速度就能一个单位时间一个单位时间的推出(迭代)对手的未来位置(如果忘记那章的内容,请详细阅读那章后再继续读此章内容)。也就是说,我们需要对手一系列连续单位时间的方向和速度就能推断对手的未来位置。因此我们这里可以考虑,对手的样木就是对手的方向和速度,正好,方向和速度也能体现对手运动规律,因此这两个属性既能作为比较的样本——第二步骤,又能作为推算对手未来位置的属性——第三步骤,显然,第一步骤我们需要记录的对手的样本就是对手的方向和速度丫。1.编写代码根据以上分析,这里给出一个示例方案的相关代码:y***用模式匹

8、配算法开火的机器人*@authorxiemin*/publicclassPatternFireextendsSimpleRobot{//开火的火力privatestaticfinaldoublePOWER=0.5;//保留历史纪录的最大长度privatestaticfinalintHISTORY_LENGHT=2000;//用于匹

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。