[发明专利]路径的搜索方法、装置、处理器和电子装置有效
申请号: | 201711279409.1 | 申请日: | 2017-12-06 |
公开(公告)号: | CN108268971B | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 王杰 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04;G06F16/29;G06F16/9537;A63F13/56 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵囡囡 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 路径 搜索 方法 装置 处理器 电子 | ||
本发明公开了一种路径的搜索方法、装置、处理器和电子装置。其中,该方法包括:检测待寻路区域中用于表示路径起点的当前节点以及用于表示路径终点的目标节点;以当前节点为中心,沿多个方向查找每个方向上最长路径的终点对应的跳点,得到第一节点集合;在第一方向上查找跳点,得到第二节点集合;从第一节点集合和第二节点集合的所有跳点中查找目标跳点;将路径最短的路径组合确定为路径起点到路径终点的路径。本发明解决了搜索路径的效率比较低的技术问题。
技术领域
本发明涉及数据处理领域,具体而言,涉及一种路径的搜索方法、装置、处理器和电子装置。
背景技术
寻路方法用途众多,例如在游戏和地图中进行寻路。在游戏中通常会用到寻路A*方法每次从有序队列中取出优先级最高的节点,然后扩展该节点的八个邻居,直到找到目标节点为止。JPS方法每次从有序队列中取出优先级最高的点,然后扩展该点附近的跳点,直到找到目标点为止。
JPS又名跳点搜索方法(Jump Point Search),是基于Grid格子的寻路方法。JPS根据当前节点的方向、并基于跳点的策略来扩展后继节点,遵循确定强迫邻居、跳点的定义,以及确定后继节点的拓展原则,具体流程如下:
一,若当前节点的当前方向是直线方向:(1)如果当前节点的左后方不可走且左方可走(即左方是强迫邻居),则沿当前节点左前方和左方寻找不在关闭节点集合的跳点;(2)如果当前节点的当前方向可走,则沿当前节点的当前方向寻找不在关闭节点集合的跳点;(3)如果当前节点的右后方不可走且右方可走(右方是强迫邻居),则沿当前节点右前方和右方寻找不在关闭节点集合的跳点;
二,若当前节点的当前方向为对角线方向:(1)如果当前节点的当前方向的水平分量可走(例如当前节点的当前为东北方向,则水平分量为东),则沿当前节点的当前方向的水平分量寻找不在关闭节点集合的跳点;(2)如果当前节点的当前方向可走,则沿当前节点的当前方向寻找不在关闭节点集合的跳点;(3)如果当前节点的当前方向的垂直分量可走(例如当前节点的当前为东北方向,则垂直分量为北),则沿当前节点的当前方向的垂直分量寻找不在关闭节点集合的跳点。
A*方法包括如下步骤:
Step 1.将起始点加入开启节点集合;
Step 2.重复以下工作:
当开启节点集合为空,则结束程序,此时没有路径。
寻找开启节点集合中F值最小的节点,设为当前点关闭节点集合,从开启节点集合中移出当前点关闭节点集合;关闭节点集合中加入当前点关闭节点集合;若当前节点为目标节点,则结束程序,此时有路径生成,此时由目标节点开始逐级追溯路径上每一个节点x的上一级父节点parent(x),直至回溯到开始节点,此时回溯的各节点即为路径。
对当前节点的八个方向的每一个相邻节点来说,如果相邻节点不可通过或者已经在关闭节点集合中,略过。如果相邻节点不在开启节点集合中,加入开启节点集合中;如果相邻节点在开启节点集合中,G值判定,若此路径G值比之前路径小,则相邻节点的父节点为当前节点,同时更新G值与F值。反之,则保持原来的节点关系与G值、F值。G值表示从起点到当前点路径耗费;H值表示不考虑不可通过区域,当前点到终点的理论路径耗费,其中,F=G+F。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711279409.1/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理