一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

最短路径的确定方法、装置、电子设备和存储介质与流程

2023-02-14 21:57:36 来源:中国专利 TAG:


1.本公开涉人工智能技术,尤其是一种最短路径的确定方法、装置、电子设备和存储介质。


背景技术:

2.在路径设计、网络规划、电路图设计等场景,通常需要确定从起始点到目标点的代价最小的路径(即最短路径),比如从城市中地点a到地点b的最短行驶路径,在网络规划中从一个网络节点到另一个网络节点的最短路由,在电路图设计场景中从一个器件到另一个器件最短布线路径,等等。相关技术通常通过floyd算法实现稠密图的最短路径的确定,但是floyd算法时空复杂度较高,导致搜索效率较低。


技术实现要素:

3.为了解决上述最短路径搜索效率较低等技术问题,提出了本公开。本公开的实施例提供了一种最短路径的确定方法、装置、电子设备和存储介质。
4.根据本公开实施例的一个方面,提供了一种最短路径的确定方法,包括:确定从起始点到目标点的目标区域对应的目标无向有权图,所述目标无向有权图包括多个节点、各节点之间连接的边、及各边分别对应的代价权重;从所述起始点对应的起始节点开始,基于各节点的各边分别对应的所述代价权重进行正向搜索处理,并从所述目标点对应的目标节点开始,基于各节点的各边分别对应的所述代价权重进行反向搜索处理,确定正向搜索和反向搜索的初始相遇节点;基于所述初始相遇节点,确定从所述起始点到所述目标点的目标最短路径。
5.根据本公开实施例的另一个方面,提供了一种最短路径的确定装置,包括:第一确定模块,用于确定从起始点到目标点的目标区域对应的目标无向有权图,所述目标无向有权图包括多个节点、各节点之间连接的边、及各边分别对应的代价权重;第一处理模块,用于从所述起始点对应的起始节点开始,基于各节点的各边分别对应的所述代价权重进行正向搜索处理,并从所述目标点对应的目标节点开始,基于各节点的各边分别对应的所述代价权重进行反向搜索处理,确定正向搜索和反向搜索的初始节;第二处理模块,用于基于所述初始相遇节点,确定从所述起始点到所述目标点的目标最短路径。
6.根据本公开实施例的再一方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本公开上述任一实施例所述的最短路径的确定方法。
7.根据本公开实施例的又一方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开上述任一实施例所述的最短路径的确定方法。
8.基于本公开上述实施例提供的最短路径的确定方法、装置、电子设备和存储介质,通过从起始节点的正向搜索和从目标节点的反向搜索,确定出初始相遇节点,进而基于初
始相遇节点确定出起始点到目标点的目标最短路径,由于双向搜索相遇可以避免中间部分扩展节点的指数级增长,从而降低搜索的时空复杂度,提高最短路径的确定效率。
9.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
10.通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
11.图1是本公开提供的最短路径的确定方法的一个示例性的应用场景;
12.图2是本公开一示例性实施例提供的最短路径的确定方法的流程示意图;
13.图3是本公开另一示例性实施例提供的最短路径的确定方法的流程示意图;
14.图4是本公开再一示例性实施例提供的最短路径的确定方法的流程示意图;
15.图5是本公开一示例性实施例提供的步骤203的流程示意图;
16.图6是本公开另一示例性实施例提供的步骤203的流程示意图;
17.图7是本公开一示例性实施例提供的最短路径的确定装置的结构示意图;
18.图8是本公开另一示例性实施例提供的最短路径的确定装置的结构示意图;
19.图9是本公开再一示例性实施例提供的最短路径的确定装置的结构示意图;
20.图10是本公开一示例性实施例提供的第二处理模块503的结构示意图;
21.图11是本公开电子设备一个应用实施例的结构示意图。
具体实施方式
22.下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
23.应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
24.本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
25.还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
26.还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
27.另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
28.还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
29.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
30.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
31.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
32.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
33.本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
34.终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
35.本公开概述
36.在实现本公开的过程中,发明人发现,在路径设计、网络规划、电路图设计等场景,通常需要确定从起始点到目标点的代价最小的路径(即最短路径),相关技术通常通过floyd算法实现稠密图的最短路径的确定,但是floyd算法时空复杂度较高,导致搜索效率较低。
37.示例性概述
38.图1是本公开提供的最短路径的确定方法的一个示例性的应用场景。
39.在车辆行驶路径规划场景,比如车辆需要在城市中的起始点a到城市中的目标点b,需要为车辆行驶确定从a到b的最短路径,利用本公开的最短路径的确定方法,可以基于起始点a与目标点b之间的道路情况,确定从a到b的目标无向有权图,该目标无向有权图包括多个节点(a-i)、各节点之间连接的边、及各边分别对应的代价权重(wi,i=1,2,

)。其中,节点可以是两条的交点或其他可能的对象,各节点之间连接的边为道路,代价权重为边对应的道路的长度或道路长度经一定映射后的值,具体可以根据实际需求设置。在确定目标无向有权图后,可以从起始点对应的起始节点开始,基于各节点的各边分别对应的所述代价权重进行正向搜索处理,并从所述目标点对应的目标节点开始,基于各节点的各边分别对应的所述代价权重进行反向搜索处理,确定正向搜索和反向搜索的初始相遇节点,初始相遇节点是指正向搜索过程中首次遇到的当前节点已被反向搜索,或者反向搜索过程中首次遇到的当前节点已被正向搜索。基于初始相遇节点,确定从所述起始点到所述目标点的目标最短路径。由于双向搜索相遇可以避免中间部分扩展节点的指数级增长,从而降低
搜索的时空复杂度,提高最短路径的确定效率。
40.示例性方法
41.图2是本公开一示例性实施例提供的最短路径的确定方法的流程示意图。本实施例可应用在电子设备上,具体比如服务器或终端上,如图2所示,包括如下步骤:
42.步骤201,确定从起始点到目标点的目标区域对应的目标无向有权图,目标无向有权图包括多个节点、各节点之间连接的边、及各边分别对应的代价权重。
43.其中,目标区域可以为实际物理空间区域(比如城市中从地点a到地点b的区域),也可以为电路图区域、还可以为网络规划区域,等等,具体可以根据实际需求设置。无向有权图的各节点表示目标区域中可达的预设对象;各节点之间连接的边表示目标区域中连接各节点的方式;各边分别对应的代价权重表示经过各边需要消耗的代价。
44.示例性的,在实际物理空间区域,无向有权图的各节点表示该物理空间区域(比如某城市)中道路连接的地点,各节点之间连接的边表示该物理空间区域中连接各地点的道路,各边分别对应的代价权重表示该物理空间区域中道路长度或道路长度经一定映射关系后的值,目的是找到从起始地点到目标地点之间的最短道路路径;在网络规划区域中,各节点表示网络中的网络节点,各边表示连接各网络节点的数据传输通道,代价权重表示传输通道传输数据需要消耗的代价(比如传输时间),目的是找到网络中从起始网络节点到目标网络节点消耗代价最低的传输路径;在电路图区域,各节点表示电路图中的器件,各边表示连接各器件的导线,代价权重表示导线长度或者导线长度对应的电阻,目的为找到从起始器件到目标器件导线长度最短或电阻最小的电路路径;具体可以根据实际需求设置,本公开不作限定。
45.步骤202,从起始点对应的起始节点开始,基于各节点的各边分别对应的代价权重进行正向搜索处理,并从目标点对应的目标节点开始,基于各节点的各边分别对应的代价权重进行反向搜索处理,确定正向搜索和反向搜索的初始相遇节点。
46.其中,正向搜索处理和反向搜索处理所采用的搜索方式可以根据实际需求设置,比如采用广度优先遍历,以正向搜索为例,每一次搜索,从当前的搜索范围内(不包括已搜索的节点,包括已搜索节点的后继节点)确定出与起始节点距离最短的节点,当前的搜索范围基于已搜索的节点的后继节点确定,直至与反向搜索初次相遇,获得初始相遇节点。该初始相遇节点是当前正向搜索过程的当前搜索范围内与起始节点距离最短的节点,也是反向搜索过程在搜索到该初始相遇节点的时刻所对应的搜索范围内与目标节点距离最短的节点。在实际搜索过程中,初始相遇节点可以是正向搜索过程确定,也可以是反相搜索过程确定,具体是由实际情况决定的。正向搜索和反向搜索可以是并行搜索或者交替搜索,具体可以根据实际需求设置。交替搜索可以是正向搜索一次、反向搜索一次,再正向搜索一次,以此类推。
47.步骤203,基于初始相遇节点,确定从起始点到目标点的目标最短路径。
48.在一个可选示例中,在确定初始相遇节点后,由于初始相遇节点是当前正向搜索过程的当前搜索范围内与起始节点距离最短的节点,也是反向搜索过程在搜索到该初始相遇节点的时刻所对应的搜索范围内与目标节点距离最短的节点,为了降低搜索时间,可以将初始相遇节点到起始节点的最短路径和该初始相遇节点到目标节点的最短路径结合,作为目标最短路径。
49.在另一个可选示例中,以在正向搜索过程中确定初始相遇节点为例,反向搜索过程已经搜索过该初始相遇节点,由于在反向搜索到该初始相遇节点后,后续反向搜索过程中会不断扩展节点,可能会出现新扩展的节点与正向搜索再次相遇,且该相遇节点对应的从起始节点到目标节点的最短路径比初始相遇节点更短,因此在初始相遇后,还可以继续对正向的当前搜索范围内的节点以及反向的当前搜索范围内的节点继续搜索,确定出其他相遇节点,进而基于初始相遇节点和其他相遇节点,确定出最短的路径作为目标最短路径,因为该继续搜索过程无需再扩展节点,因此也不会产生扩展节点的指数级增长。
50.本实施例提供的最短路径的确定方法,通过从起始节点的正向搜索和从目标节点的反向搜索,确定出初始相遇节点,进而基于初始相遇节点确定出起始点到目标点的目标最短路径,由于双向搜索相遇可以避免中间部分扩展节点的指数级增长,从而降低搜索的时空复杂度,提高最短路径的确定效率。
51.图3是本公开另一示例性实施例提供的最短路径的确定方法的流程示意图。
52.在一个可选示例中,步骤202具体可以包括以下步骤:
53.步骤2021a,基于各节点的各边分别对应的代价权重,采用广度优先遍历方式,分别从起始节点和目标节点进行正向搜索和反向搜索,直至正向搜索确定的当前正向节点在反向搜索已搜索的反向节点中,或者反向搜索确定的当前反向节点在正向搜索已搜索的正向节点中,确定当前正向节点或当前反向节点为初始相遇节点,其中,当前正向节点为当前正向搜索过程确定的与起始节点距离最短的节点,当前反向节点为当前反向搜索过程确定的与目标节点距离最短的节点。
54.其中,广度优先遍历方式也可称为层序遍历方式或横向遍历方式,比如从起始节点开始,向遍历该起始节点的所有邻节点(或称后继节点),然后再遍历各邻节点的后继节点,以此类推,具体不再赘述。当前正向搜索过程是指遍历当前的正向搜索范围内的节点,从中确定出与起始节点距离最短的节点作为当前正向节点。当前的正向搜索范围包括已搜索的各节点的后继节点(不包括已搜索的正向节点),已搜索的正向节点是指在之前的搜索过程中,被作为与起始节点距离最短的节点选出的节点。反向搜索原理与正向搜索类似,在此不再赘述。
55.本公开采用广度优先遍历方式,在搜索过程中,始终从扩展的搜索范围中选择与起始节点或目标节点距离最短的节点,结合双向搜索,可以有效减少大量不必要的点的搜索,能够更快搜索到最短路径。
56.图4是本公开再一示例性实施例提供的最短路径的确定方法的流程示意图。
57.在一个可选示例中,步骤202的从起始点对应的起始节点开始,基于各节点的各边分别对应的代价权重进行正向搜索处理,并从目标点对应的目标节点开始,基于各节点的各边分别对应的代价权重进行反向搜索处理,确定正向搜索和反向搜索的初始相遇节点,包括:
58.对于第i次搜索,执行以下步骤:
59.步骤2021b,基于各节点的各边分别对应的代价权重,从第i正向扩展节点集中,确定与起始节点距离最短的第i正向节点,其中,第1正向扩展节点集包括起始节点连接的正向后继节点,i为正整数。
60.其中,第i正向扩展节点集是第i次搜索需要遍历的节点的集合,其包括已搜索的
各节点分别对应的未搜索的正向后继节点。比如,在第1次搜索,将起始节点的所有正向后继节点形成第1正向扩展节点集,从第1正向扩展节点集中,确定与起始节点距离最短的第1正向节点,之后该第1正向节点成为已搜索的节点,并将其从第1正向扩展节点集中去除,再将该第1正向节点的正向后继节点加入到第1正向扩展节点集中,获得第2正向扩展节点集,下一次正向搜索则从第2正向扩展节点集中确定出与起始节点距离最短的第2正向节点,以此类推,不再一一赘述。各节点与起始节点的距离通过该起始节点到该节点的路径所经过的边的代价权重之和确定。由于从起始节点到某个节点可能不止一条路径,因此,对于每个节点都需要找到多条路径中最短那条,各节点之间再通过比较各自最短路径,确定出与起始节点路径最短的节点。
61.可选地,在每次搜索遍历节点时,可以记录各节点与起始节点的最短距离及该最短距离对应的最短路径,在后续搜索过程中,对于已参与过前面搜索的节点,可以无需再进行计算,只需针对新扩展的节点或者因新扩展节点而给其他已存在的节点带来新的路径的情况,计算其与起始节点的最短距离及对应的最短路径即可。
62.步骤2022b,响应于第i正向节点为第k反向节点,确定第i正向节点为初始相遇节点,其中,k为小于i的正整数,第k反向节点为第k次搜索的反向搜索过程确定的与目标节点距离最短的反向节点。
63.其中,对于反向搜索,搜索原理与正向搜索类似,只是搜索开始的节点以及搜索方向不同,在此不再赘述。当第i正向节点为第k反向节点表示第i正向节点在反向搜索过程中已被搜索,称为正向搜索与反向搜索相遇。这里第i正向节点是正向搜索过程中遇到的首个为第k反向节点的节点,称为初始相遇节点,也即在第i次正向搜索之前,没有搜索到已被反向搜索的节点。
64.本公开通过先确定出初始相遇节点,可以基于初始相遇节点确定出从起始节点到目标节点的初始最短距离,为后续搜索过程减少不必要的节点的搜索提供依据。
65.在一个可选示例中,步骤202还包括:
66.步骤2023b,响应于第i正向节点不是第k反向节点,确定第i正向节点不是初始相遇节点,将第i正向节点从第i正向扩展节点集中去除,并将与第i正向节点连接的第i正向后继节点加入第i正向扩展节点集,获得第i 1正向扩展节点集。
67.其中,若第i正向节点不是反向搜索过程已搜索的反向节点,表示正向搜索和反向搜索还未相遇,需要继续进行搜索,也即需要继续进行节点扩展,由于第i正向节点成为了已搜索节点,后续无需再搜索,因此需要将第i正向节点从第i正向扩展节点集中去除,然后需要进行节点扩展,将与第i正向节点连接的第i正向后继节点加入第i正向扩展节点集,获得第i 1正向扩展节点集。
68.示例性的,参见前述图1,节点e连接的第i正向后继节点包括与节点e直接连接的邻节点g和h。
69.步骤2024b,基于各节点的各边分别对应的代价权重,从第i反向扩展节点集中,确定与目标节点距离最短的第i反向节点,第1反向扩展节点集包括目标节点连接的反向后继节点。
70.该步骤的具体操作参见前述的步骤2021b,在此不再赘述。
71.步骤2025b,响应于第i反向节点不是初始相遇节点,将第i反向节点从第i反向扩
展节点集中去除,并将与第i反向节点连接的第i反向后继节点加入第i反向扩展节点集,获得第i 1反向扩展节点集。
72.该步骤的具体操作原理参见前述步骤2023b,在此不再赘述。
73.步骤2026b,响应于第i反向节点为第j正向节点,确定第i反向节点为初始相遇节点,j为小于或等于i的正整数。
74.该步骤的具体操作原理参见前述步骤2022b。
75.本公开通过正向搜索和反向搜索交替执行,结合正向扩展节点集和反向扩展节点集能够更加准确地确定出初始相遇节点,在初始相遇后,则无需再进行指数级节点扩展,有效减少计算量,提高搜索效率。
76.在一个可选示例中,步骤203的基于初始相遇节点,确定从起始点到目标点的目标最短路径,包括:
77.步骤2031,基于初始相遇节点与起始节点之间的最短距离、及初始相遇节点与目标节点之间的最短距离,确定初始相遇节点对应的第一目标最短距离。
78.其中,初始相遇节点既具有与起始节点之间的最短距离,又具有与目标节点之间的最短距离,因此可以基于两边的最短距离获得从起始节点到目标节点的全程的距离作为第一目标最短距离,并可以记录该第一目标最短距离对应的从起始节点到目标节点的最短路径。
79.示例性的,初始相遇节点表示为v1,v1与起始节点的最短距离表示为ds(v1),v与目标节点的最短距离表示为d
t
(v1),则第一目标最短距离表示为:
80.mindis=ds(v1) d
t
(v1)
81.步骤2032,从第i 1正向扩展节点集中,确定出至少一个第一相遇节点。
82.其中,第一相遇节点是除初始相遇节点之外的相遇节点。确定方式为继续搜索第i 1正向扩展节点集,从中选择与起始节点距离最短的节点(比如用p表示),若该节点p已被反向搜索,则确定该节点p为一个第一相遇节点,可以记录该第一相遇节点p及其与起始节点和目标节点的最短距离和最短路径,将该第一相遇节点p从第i 1正向扩展节点集中去除,获得第i 2正向扩展节点集,无需再进行节点扩展,若节点p未被反向搜索到,表示p不是第一相遇节点,同样将p从第i 1正向扩展节点集中去除,获得第i 2正向扩展节点集。若第i 2正向扩展节点集不为空,直接重复上述过程,对第i 2正向扩展节点集搜索,直至第i 2正向扩展节点集为空,可以确定出各第一相遇节点。
83.步骤2033,基于各第一相遇节点、及第一目标最短距离,确定第二目标最短距离。
84.在确定每一个第一相遇节点后,都可以按照初始相遇节点的方式,确定各第一相遇节点分别对应的从起始节点到目标节点的全程最短距离,比如表示为:
85.mindis2=ds(v2) d
t
(v2)
86.其中,v2表示任一第一相遇节点,ds(v2)表示v2与起始节点之间的最短距离,v2与目标节点之间的最短距离d
t
(v2)。则第二目标最短距离为mindis和各mindis2中最小的。
87.可选地,也可以通过在每次确定一个第一相遇节点,更新第一目标最短距离,最终获得第二目标最短距离,即mindis

=min(mindis,ds(v2) d
t
(v2)),确定出所有第一相遇节点后,mindis

即为第二目标最短距离。具体可以根据实际需求设置。
88.步骤2034a,响应于第i正向节点为初始相遇节点,从第i反向扩展节点集中,确定
出至少一个第二相遇节点。
89.由于正向搜索与反向搜索交替进行,在正向搜索过程确定初始相遇节点和在反向搜索过程确定初始相遇节点,反向扩展节点集的迭代次数不同,先进行正向搜索,若确定第i正向节点为初始相遇节点,反向搜索还未进行第i次搜索,此时反向扩展节点集为第i反向扩展节点集。第二相遇节点的确定方式与前述第一相遇节点类似,即从第i反向扩展节点集中依次选择与起始节点距离最短的节点,将该节点从第i反向扩展节点集中去除,若该节点在正向搜索中已搜索,则确定该节点为第二相遇节点,记录该第二相遇节点对应的全程最短距离和最短路径,再按照上述方式对第i反向扩展节点集中的剩余节点进行搜索,以此类推,确定出所有第二相遇节点。
90.步骤2035a,基于各第二相遇节点及第二目标最短距离,确定第三目标最短距离。
91.将各第二相遇节点分别对应的全程最短距离和第二目标最短距离中最小的作为第三目标最短距离。
92.步骤2036a,将第三目标最短距离对应的路径作为目标最短路径。
93.在搜索过程中可以实时记录各相遇节点分别对应的全程最短距离及对应的最短路径,具体记录方式不做限定,当确定了第三目标最短距离后,可以直接获得其对应的最短路径作为目标最短路径。
94.或者,在步骤2033之后,步骤203还包括:
95.步骤2034b,响应于第i反向节点为初始相遇节点,从第i 1反向扩展节点集中确定出至少一个第三相遇节点。
96.步骤2035b,基于各第三相遇节点、及第一目标最短距离,确定第四目标最短距离。
97.步骤2036b,将第四目标最短距离对应的路径作为目标最短路径。
98.需要说明的是,步骤2034b-2036b的具体操作原理与步骤2034a-2036a一致,不同仅在于迭代次数的不同,在此不再赘述。
99.本示例中是从正向搜索开始,先进行一次正向搜索再进行一次反向搜索,如此交替搜索,在实际应用中也可以是先从反向搜索开始,具体可以根据实际需求设置。
100.本公开在正向搜索和反向搜索相遇后,无需再进行节点扩展,针对当前的正向扩展节点集和反向扩展节点集确定出其他相遇节点,即可实现从起始节点到目标节点的目标最短路径的准确有效的确定。且在初始相遇时,确定了最短路径的上界,可以有效加快剩余节点的搜索。
101.在一个可选示例中,在步骤2023b的将第i正向节点从第i正向扩展节点集中去除,并将与第i正向节点连接的第i正向后继节点加入第i正向扩展节点集,获得第i 1正向扩展节点集之后,还包括:
102.步骤3011,基于第i正向节点与起始节点之间的第一最短距离、及第i正向节点与各第i正向后继节点之间的代价权重,确定各第i正向后继节点与起始节点的第二最短距离。
103.其中,第一最短距离即为第i正向节点与起始节点之间的最短距离,该第一最短距离可以是在第i次搜索过程中确定后进行存储,第i正向后继节点是第i正向节点的后继节点,在第i正向节点的第一最短距离已确定的基础上,第i正向后继节点与起始节点之间的第二最短距离可以直接基于第一最短距离及第i正向后继节点与第i正向节点之间的边所
对应的代价权重确定,比如第i正向节点为pi,其具有两个第i正向后继节点pi-1和pi-2,其中pi-1与第i正向节点pi之间的代价权重为w1,则pi-1与起始节点之间的第二最短距离可以表示为ds(pi-1)

=min(ds(pi-1),ds(pi) w1),其中ds(pi-1)表示在之前的搜索过程中遍历该节点时确定的其与起始节点时间的最短距离,因为一个节点可能是多个节点的后继节点,在前期搜索时,该节点仅被遍历,但并非距离最短,并未被搜索到,因此会出现在后续搜索过程中再次参与比较,在整个搜索过程中,每个节点都记录其与起始节点的最短距离,当有更短的距离时被更新,从而在正向搜索过程中实时维护各节点与起始节点的最短距离及对应的最短路径,以便后续使用。
104.在步骤2025b的将第i反向节点从第i反向扩展节点集中去除,并将与第i反向节点连接的第i反向后继节点加入第i反向扩展节点集,获得第i 1反向扩展节点集之后,还包括:
105.步骤3021,基于第i反向节点与目标节点之间的第三最短距离、及第i反向节点与各第i反向后继节点之间的代价权重,确定各第i反向后继节点与目标节点的第四最短距离。
106.该步骤的具体操作原理参见前述正向后继节点,在此不再赘述。
107.本公开通过在扩展节点时,实时基于当前节点维护新扩展的后继节点与起始节点的最短距离,用于后续搜索,可以进一步提高搜索效率。
108.在一个可选示例中,步骤2021b的基于各节点的各边分别对应的代价权重,从第i正向扩展节点集中,确定与起始节点距离最短的第i正向节点,包括:
109.基于第i正向扩展节点集中各正向后继节点与起始节点的第二最短距离,确定与起始节点距离最短的第i正向节点。
110.在前述步骤将各正向后继节点加入相应的正向扩展节点集时,实时维护了各正向后继节点与起始节点的第二最短距离,因此,在搜索时,只需要比较第i正向扩展节点集中各正向后继节点的第二最短距离,将第二最短距离最小的正向后继节点作为当前搜索到的第i正向节点即可。
111.步骤2024b的基于各节点的各边分别对应的代价权重,从第i反向扩展节点集中,确定与目标节点距离最短的第i反向节点,包括:
112.基于第i反向扩展节点集中各反向后继节点与目标节点的第四最短距离,确定与目标节点距离最短的第i反向节点。
113.该步骤的具体操作原理参见前述第i正向节点。
114.本公开由于实时维护了扩展节点集中各后继节点对应的最短距离,从而使得在搜索过程中无需再进行最短距离的计算,进一步提高搜索效率。
115.在一个可选示例中,在步骤2021b的基于各节点的各边分别对应的代价权重,从第i正向扩展节点集中,确定与起始节点距离最短的第i正向节点之后,还包括:
116.步骤4011,将第i正向节点加入到第i正向搜索节点集,获得第i 1正向搜索节点集,第1正向搜索节点集包括起始节点。
117.其中,第i正向搜索节点集包括正向搜索已搜索的正向节点,便于反向搜索过程中相遇节点的判断。
118.在步骤2024b的基于各节点的各边分别对应的代价权重,从第i反向扩展节点集
中,确定与目标节点距离最短的第i反向节点之后,还包括:
119.步骤4021,将第i反向节点加入到第i反向搜索节点集,获得第i 1反向搜索节点集,第1反向搜索节点集包括目标节点。
120.步骤2022b的响应于第i正向节点为第k反向节点,确定第i正向节点为初始相遇节点,包括:响应于第i正向节点在第i反向搜索节点集中,确定第i正向节点为初始相遇节点。
121.步骤2026b的响应于第i反向节点为第j正向节点,确定第i反向节点为初始相遇节点,包括:响应于第i反向节点在第i 1正向搜索节点集中,确定第i反向节点为初始相遇节点。
122.本公开通过实时维护正向搜索节点集和反向搜索节点集,使得在搜索过程中,通过当前方向(正向或反向)的当前搜索节点与另一方向的搜索节点集对比,即可确定是否为相遇节点,大大方便了相遇节点的判断,进一步提升搜索效率。
123.图5是本公开一示例性实施例提供的步骤203的流程示意图。
124.在一个可选示例中,响应于确定出第i正向节点为初始相遇节点,步骤203的基于初始相遇节点,确定从起始点到目标点的目标最短路径,包括:
125.步骤2031c,基于第i正向节点与起始节点之间的最短距离、及第i正向节点与目标节点之间的最短距离,确定初始相遇节点对应的第一目标最短距离。
126.该步骤的具体操作参见前述内容,在此不再赘述。
127.步骤2032c,响应于第i n正向扩展节点集不为空,从第i n正向扩展节点集中确定与起始节点距离最短的第i n正向节点,n=1、2、n,n为第i 1正向扩展节点集中的节点数量。
128.其中,在初始相遇后,需要继续对相遇时的正向扩展节点集和反向扩展节点集进行搜索,比如n=1时,搜索第i 1正向扩展节点集,从中选择与起始节点距离最短的第i 1节点。
129.步骤2033c,将第i n正向节点从第i n正向扩展节点集中去除,获得第i n 1正向扩展节点集。
130.确定了第i n正向节点表示该节点已被搜索,后续不需要再对其进行正向搜索,因此需要第i n正向节点从第i n正向扩展节点集中去除,以实时维护正向扩展节点集,保证搜索过程的搜索效率。
131.步骤2034c,将第i n正向节点加入到第i n正向搜索节点集,获得第i n 1正向搜索节点集。
132.确定了第i n正向节点表示该节点已被搜索,因此需要加入到第i n正向搜索节点集,以实时维护正向搜索节点集。
133.步骤2033c与步骤2034c不分先后顺序。
134.步骤2035c,响应于第i n正向节点在第i n-1反向搜索节点集中,基于在前目标最短距离、第i n正向节点与起始节点之间的最短距离、及第i n正向节点与目标节点之间的最短距离,确定当前目标最短距离,第i 1次搜索的在前目标最短距离为第一目标最短距离。
135.其中,第i n正向节点在第i n-1反向搜索节点集表示第i n正向节点为第一相遇节点,基于该第一相遇节点可以确定出其对应的从起始节点经过该第一相遇节点到目标节
d,其与目标节点的最短路径为d-b,则目标最短路径为a-d-b。
152.图6是本公开另一示例性实施例提供的步骤203的流程示意图。
153.在一个可选示例中,在响应于第i反向节点在第i 1正向搜索节点集中,确定第i反向节点为初始相遇节点之后,步骤203的基于初始相遇节点,确定从起始点到目标点的目标最短路径,包括:
154.步骤2031d,基于第i反向节点与起始节点之间的最短距离、及第i反向节点与目标节点之间的最短距离,确定初始相遇节点对应的第一目标最短距离。
155.步骤2032d,响应于第i n正向扩展节点集不为空,从第i n正向扩展节点集中确定与起始节点距离最短的第i n正向节点,n=1、2、n,n为第i 1正向扩展节点集中的节点数量。
156.步骤2033d,将第i n正向节点从第i n正向扩展节点集中去除,获得第i n 1正向扩展节点集。
157.步骤2034d,将第i n正向节点加入到第i n正向搜索节点集,获得第i n 1正向搜索节点集。
158.步骤2035d,响应于第i n正向节点在第i n反向搜索节点集中,基于在前目标最短距离、第i n正向节点与起始节点之间的最短距离、及第i n正向节点与目标节点之间的最短距离,确定当前目标最短距离,第i 1次搜索的在前目标最短距离为第一目标最短距离。
159.步骤2036d,在完成第i 1正向扩展节点集中的n个节点的搜索后,获得第二目标最短距离。
160.步骤2037d,从第i 1反向扩展节点集中确定与起始节点距离最短的第i n 1正向节点。
161.步骤2038d,将第i n 1正向节点从第i 1反向扩展节点集中去除,获得第i 2反向扩展节点集。
162.步骤2039d,将第i n 1正向节点加入到第i 1反向搜索节点集中,获得第i 2反向搜索节点集。
163.步骤20310d,响应于第i n 1正向节点在第i n 1正向搜索节点集中,基于第二目标最短距离、第i n 1正向节点与起始节点之间的最短距离、及第i n 1正向节点与目标节点之间的最短距离,确定第四目标最短距离。
164.步骤20311d,响应于第i 2反向扩展节点集为空,将第四目标最短距离对应的路径作为目标最短路径。
165.需要说明的是步骤2031d-20311d的具体操作原理与前述步骤2031c-20311c类似,不同之处仅在于因初始相遇节点是在反向搜索过程确定而导致后续搜索所基于的扩展节点集及搜索节点集迭代次数不同,具体不再赘述。
166.在一个可选示例中,步骤201的确定从起始点到目标点的目标区域对应的目标无向有权图,包括:
167.步骤2011,将目标区域中的预设对象作为节点,将各预设对象之间连接的道路作为各节点之间连接的边,基于各道路的长度确定各边分别对应的代价权重,构建目标无向图。
168.其中,代价权重可以为道路的长度,也可以是将道路长度按照一定映射规则映射
到另一范围的值,比如将道路长度0-200米映射到0-1的范围,作为代价权重,具体可以根据实际需求设置。
169.本公开通过将目标区域的最短路径的确定转化为无向有权图的最短路径问题,便于实现本公开的双向搜索,从而可以快速准确地确定出需要的最短路径。
170.在一个可选示例中,由于每个节点(包括正向节点和反向节点)的每个后继节点(包括正向节点的正向后继节点和反向节点的反向后续节点)都对应有一条与该节点连接的边,在搜索过程中,前述的扩展节点集和搜索节点集也可以是由扩展边集和搜索边集代替,即通过实时维护扩展边集和搜索边集实现搜索过程中节点的扩展和相遇节点的判断,具体可以根据实际需求设置。
171.本公开上述各实施例或可选示例可以单独实施也可以在不冲突的情况下以任意组合方式结合实施,具体可以根据实际需求设置,本公开不作限定。
172.本公开实施例提供的任一种最短路径的确定方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种最短路径的确定方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种最短路径的确定方法。下文不再赘述。
173.示例性装置
174.图7是本公开一示例性实施例提供的最短路径的确定装置的结构示意图。该实施例的装置可用于实现本公开相应的方法实施例,如图7所示的装置包括:第一确定模块501、第一处理模块502和第二处理模块503。
175.第一确定模块501,用于确定从起始点到目标点的目标区域对应的目标无向有权图,目标无向有权图包括多个节点、各节点之间连接的边、及各边分别对应的代价权重;第一处理模块502,用于从起始点对应的起始节点开始,基于各节点的各边分别对应的代价权重进行正向搜索处理,并从目标点对应的目标节点开始,基于各节点的各边分别对应的代价权重进行反向搜索处理,确定正向搜索和反向搜索的初始相遇节点;第二处理模块503,用于基于初始相遇节点,确定从起始点到目标点的目标最短路径。
176.图8是本公开另一示例性实施例提供的最短路径的确定装置的结构示意图。
177.在一个可选示例中,本示例中,第一处理模块502包括:第一处理单元5021a,用于基于各节点的各边分别对应的代价权重,采用广度优先遍历方式,分别从起始节点和目标节点进行正向搜索和反向搜索,直至正向搜索确定的当前正向节点在反向搜索已搜索的反向节点中,或者反向搜索确定的当前反向节点在正向搜索已搜索的正向节点中,确定当前正向节点或当前反向节点为初始相遇节点,其中,当前正向节点为当前正向搜索过程确定的与起始节点距离最短的节点,当前反向节点为当前反向搜索过程确定的与目标节点距离最短的节点。
178.图9是本公开再一示例性实施例提供的最短路径的确定装置的结构示意图。
179.在一个可选示例中,第一处理模块502包括:第二处理单元5021b,用于对于第i次搜索,执行以下步骤:
180.基于各节点的各边分别对应的代价权重,从第i正向扩展节点集中,确定与起始节点距离最短的第i正向节点,其中,第1正向扩展节点集包括起始节点连接的正向后继节点,i为正整数;响应于第i正向节点为第k反向节点,确定第i正向节点为初始相遇节点,其中,k
为小于i的正整数,第k反向节点为第k次搜索的反向搜索过程确定的与目标节点距离最短的反向节点。
181.在一个可选示例中,第一处理模块502还包括:
182.第三处理单元5022b,用于响应于第i正向节点不是第k反向节点,确定第i正向节点不是初始相遇节点,将第i正向节点从第i正向扩展节点集中去除,并将与第i正向节点连接的第i正向后继节点加入第i正向扩展节点集,获得第i 1正向扩展节点集;第四处理单元5023b,用于基于各节点的各边分别对应的代价权重,从第i反向扩展节点集中,确定与目标节点距离最短的第i反向节点,第1反向扩展节点集包括目标节点连接的反向后继节点;第五处理单元5024b,用于响应于第i反向节点不是初始相遇节点,将第i反向节点从第i反向扩展节点集中去除,并将与第i反向节点连接的第i反向后继节点加入第i反向扩展节点集,获得第i 1反向扩展节点集;第六处理单元5025b,用于响应于第i反向节点为第j正向节点,确定第i反向节点为初始相遇节点,j为小于或等于i的正整数。
183.在一个可选示例中,第二处理模块503包括:
184.第一确定单元5031a,用于基于初始相遇节点与起始节点之间的最短距离、及初始相遇节点与目标节点之间的最短距离,确定初始相遇节点对应的第一目标最短距离;第二确定单元5032a,用于从第i 1正向扩展节点集中,确定出至少一个第一相遇节点;第三确定单元5033a,用于基于各第一相遇节点、及第一目标最短距离,确定第二目标最短距离;第四确定单元5034a,用于响应于第i正向节点为初始相遇节点,从第i反向扩展节点集中,确定出至少一个第二相遇节点;第五确定单元5035a,用于基于各第二相遇节点及第二目标最短距离,确定第三目标最短距离;第六确定单元5036a,用于将第三目标最短距离对应的路径作为目标最短路径。
185.在一个可选示例中,第二处理模块503还包括:
186.第七确定单元5037a,用于响应于第i反向节点为初始相遇节点,从第i 1反向扩展节点集中确定出至少一个第三相遇节点;第八确定单元5038a,用于基于各第三相遇节点、及第一目标最短距离,确定第四目标最短距离;第九确定单元5039a,用于将第四目标最短距离对应的路径作为目标最短路径。
187.在一个可选示例中,第一处理模块502还包括:
188.第七处理单元5026b,用于基于第i正向节点与起始节点之间的第一最短距离、及第i正向节点与各第i正向后继节点之间的代价权重,确定各第i正向后继节点与起始节点的第二最短距离;第八处理单元5027b,基于第i反向节点与目标节点之间的第三最短距离、及第i反向节点与各第i反向后继节点之间的代价权重,确定各第i反向后继节点与目标节点的第四最短距离。
189.在一个可选示例中,第二处理单元5021b具体用于:基于第i正向扩展节点集中各正向后继节点与起始节点的第二最短距离,确定与起始节点距离最短的第i正向节点;第四处理单元5023b具体用于:基于第i反向扩展节点集中各反向后继节点与目标节点的第四最短距离,确定与目标节点距离最短的第i反向节点。
190.在一个可选示例中,第一处理模块502还包括:
191.第九处理单元5028b,用于将第i正向节点加入到第i正向搜索节点集,获得第i 1正向搜索节点集,第1正向搜索节点集包括起始节点;第十处理单元5029b,用于将第i反向
节点加入到第i反向搜索节点集,获得第i 1反向搜索节点集,第1反向搜索节点集包括目标节点;第二处理单元5021b具体用于:响应于第i正向节点在第i反向搜索节点集中,确定第i正向节点为初始相遇节点;第六处理单元5025b具体用于:响应于第i反向节点在第i 1正向搜索节点集中,确定第i反向节点为初始相遇节点。
192.图10是本公开一示例性实施例提供的第二处理模块503的结构示意图。
193.在一个可选示例中,第二处理模块503包括:
194.第十确定单元5031b,用于基于第i正向节点与起始节点之间的最短距离、及第i正向节点与目标节点之间的最短距离,确定初始相遇节点对应的第一目标最短距离;第一响应单元5032b,用于响应于第i n正向扩展节点集不为空,从第i n正向扩展节点集中确定与起始节点距离最短的第i n正向节点,n=1、2、n,n为第i 1正向扩展节点集中的节点数量;第一更新单元5033b,用于将第i n正向节点从第i n正向扩展节点集中去除,获得第i n 1正向扩展节点集;第二更新单元5034b,用于将第i n正向节点加入到第i n正向搜索节点集,获得第i n 1正向搜索节点集;第二响应单元5035b,用于响应于第i n正向节点在第i n-1反向搜索节点集中,基于在前目标最短距离、第i n正向节点与起始节点之间的最短距离、及第i n正向节点与目标节点之间的最短距离,确定当前目标最短距离,第i 1次搜索的在前目标最短距离为第一目标最短距离;第一获得单元5036b,用于在完成第i 1正向扩展节点集中的n个节点的搜索后,获得第二目标最短距离;第一搜索单元5037b,用于从第i反向扩展节点集中确定与起始节点距离最短的第i n 1正向节点;第三更新单元5038b,用于将第i n 1正向节点从第i反向扩展节点集中去除,获得第i 1反向扩展节点集;第四更新单元5039b,用于将第i n 1正向节点加入到第i反向搜索节点集中,获得第i 1反向搜索节点集;第三响应单元5040b,用于响应于第i n 1正向节点在第i n 1正向搜索节点集中,基于第二目标最短距离、第i n 1正向节点与起始节点之间的最短距离、及第i n 1正向节点与目标节点之间的最短距离,确定第三目标最短距离;第五响应单元5041b,用于响应于第i 1反向扩展节点集为空,将第三目标最短距离对应的路径作为目标最短路径。
195.在一个可选示例中,第一处理模块502还包括:
196.第一记录单元50210,用于分别记录各第i正向节点与起始节点之间的最短路径;第二记录单元50211,用于分别记录各第i反向节点与目标节点之间的最短路径;第五响应单元5041b具体用于:基于第三目标最短距离对应的目标相遇节点与起始节点之间的最短路径、及目标相遇节点与目标节点之间的最短路径,确定目标最短路径。
197.在一个可选示例中,参见图10,第二处理模块503包括:
198.第十确定单元5031b,用于基于第i反向节点与起始节点之间的最短距离、及第i反向节点与目标节点之间的最短距离,确定初始相遇节点对应的第一目标最短距离;第一响应单元5032b,用于响应于第i n正向扩展节点集不为空,从第i n正向扩展节点集中确定与起始节点距离最短的第i n正向节点,n=1、2、n,n为第i 1正向扩展节点集中的节点数量;第一更新单元5033b,用于将第i n正向节点从第i n正向扩展节点集中去除,获得第i n 1正向扩展节点集;第二更新单元5034b,用于将第i n正向节点加入到第i n正向搜索节点集,获得第i n 1正向搜索节点集;第二响应单元5035b,用于响应于第i n正向节点在第i n反向搜索节点集中,基于在前目标最短距离、第i n正向节点与起始节点之间的最短距离、及第i n正向节点与目标节点之间的最短距离,确定当前目标最短距离,第i 1次搜索的在
前目标最短距离为第一目标最短距离;第一获得单元5036b,用于在完成第i 1正向扩展节点集中的n个节点的搜索后,获得第二目标最短距离;第一搜索单元5037b,从第i 1反向扩展节点集中确定与起始节点距离最短的第i n 1正向节点;第三更新单元5038b,用于将第i n 1正向节点从第i 1反向扩展节点集中去除,获得第i 2反向扩展节点集;第四更新单元5039b,用于将第i n 1正向节点加入到第i 1反向搜索节点集中,获得第i 2反向搜索节点集;第三响应单元5040b,用于响应于第i n 1正向节点在第i n 1正向搜索节点集中,基于第二目标最短距离、第i n 1正向节点与起始节点之间的最短距离、及第i n 1正向节点与目标节点之间的最短距离,确定第四目标最短距离;第五响应单元5041b,用于响应于第i 2反向扩展节点集为空,将第四目标最短距离对应的路径作为目标最短路径。
199.在一个可选示例中,第一确定模块501包括:
200.构建单元5011,用于将目标区域中的预设对象作为节点,将各预设对象之间连接的道路作为各节点之间连接的边,基于各道路的长度确定各边分别对应的代价权重,构建目标无向图。
201.示例性电子设备
202.本公开实施例还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的方法。
203.图11是本公开电子设备一个应用实施例的结构示意图。本实施例中,该电子设备10包括一个或多个处理器11和存储器12。
204.处理器11可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
205.存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本公开的各个实施例的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
206.在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
207.例如,该输入装置13可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。
208.此外,该输入装置13还可以包括例如键盘、鼠标等等。
209.该输出装置14可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
210.当然,为了简化,图11中仅示出了该电子设备10中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
211.示例性计算机程序产品和计算机可读存储介质
212.除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
213.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
214.此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
215.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
216.以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
217.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
218.本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
219.可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
220.还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
221.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
222.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献