本公開涉及計算機技術領域,特別涉及一種路徑導航方法和裝置。
背景技術:
當用戶想要從某一起點前往某一終點時,用戶經(jīng)常需要使用路徑導航來幫助自己規(guī)劃從該起點到該終點的路徑。
相關技術中,在用戶設置起點和終點之后,服務器可以確定從該起點到該終點距離最短的路徑,或者,確定從該起點到該終點所需耗時最短的路徑;將確定的路徑作為為用戶規(guī)劃的導航路徑。
技術實現(xiàn)要素:
本公開提供了一種路徑導航方法和裝置。所述技術方案如下:
根據(jù)本公開實施例的第一方面,提供一種路徑導航方法,包括:
獲取包括起始節(jié)點和結束節(jié)點的歷史行走路徑;
根據(jù)歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù);
根據(jù)各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑。
可選地,根據(jù)各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑,包括:
根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值;評估函數(shù)的函數(shù)值與下游候選節(jié)點的經(jīng)過次數(shù)呈負相關關系;
選擇m個下游候選節(jié)點中數(shù)值最小的函數(shù)值所對應的節(jié)點;
當選擇的節(jié)點不是結束節(jié)點時,令=i+1,且將選擇的節(jié)點確定為新的第i個節(jié)點,再次執(zhí)行根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值的 步驟;
當選擇的節(jié)點為結束節(jié)點時,將起始節(jié)點、結束節(jié)點以及確定的各個節(jié)點所組成的路徑確定為導航路徑。
可選地,路徑導航算法為A*算法,根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值,包括:
獲取調整因子λ和γ的至少一組候選值,λ>0,γ>0;
對于每組候選值,m個下游候選節(jié)點中的第n個下游候選節(jié)點的評估函數(shù)的函數(shù)值f(n)為:
其中,Sn為從起始節(jié)點至第n個下游候選節(jié)點的各個節(jié)點的經(jīng)過次數(shù)的總和;g(n)為從起始節(jié)點至第n個下游候選節(jié)點的距離;h(n)為從第n個下游候選節(jié)點至結束節(jié)點的距離;1≤n≤m。
可選地,路徑導航算法為Dijkstra算法,根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值,包括:
獲取調整因子γ的至少一個候選值,γ>0;
對于每個候選值,m個下游候選節(jié)點中的第n個下游候選節(jié)點的評估函數(shù)的函數(shù)值f(n)為:
其中,Sn為從起始節(jié)點至第n個下游候選節(jié)點的各個節(jié)點的經(jīng)過次數(shù)的總和;g(n)為從起始節(jié)點至第n個下游候選節(jié)點的距離;1≤n≤m。
可選地,該方法還包括:
獲取每個歷史行走路徑所對應的調整因子的歷史數(shù)值;
選擇各個歷史數(shù)值中出現(xiàn)次數(shù)最多的數(shù)值;
將根據(jù)每組候選值確定的各個導航路徑中,與出現(xiàn)次數(shù)最多的數(shù)值所對應的導航路徑標識為推薦導航路徑。
根據(jù)本公開實施例的第二方面,提供一種路徑導航裝置,包括:
獲取模塊,被配置為獲取包括起始節(jié)點和結束節(jié)點的歷史行走路徑;
次數(shù)確定模塊,被配置為根據(jù)獲取模塊獲取到的歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù);
路徑確定模塊,被配置為根據(jù)次數(shù)確定模塊確定的各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑。
可選地,該路徑確定模塊,包括:
計算子模塊,被配置為根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值;評估函數(shù)的函數(shù)值與候選節(jié)點的經(jīng)過次數(shù)呈負相關關系;
選擇子模塊,被配置為選擇m個下游候選節(jié)點中數(shù)值最小的函數(shù)值所對應的節(jié)點;
計算子模塊,被配置為在選擇子模塊選擇的節(jié)點不是結束節(jié)點時,令i=i+1,且將選擇的節(jié)點確定為新的第i個節(jié)點,再次執(zhí)行根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值的步驟;
路徑確定子模塊,被配置為在選擇子模塊選擇的節(jié)點為結束節(jié)點時,將起始節(jié)點、結束節(jié)點以及確定的各個節(jié)點所組成的路徑確定為導航路徑。
可選地,路徑導航算法為A*算法,該計算子模塊,被配置為:
獲取調整因子λ和γ的至少一組候選值,λ>0,γ>0;
對于每組候選值,m個下游候選節(jié)點中的第n個下游候選節(jié)點的評估函數(shù)的函數(shù)值f(n)為:
其中,Sn為從起始節(jié)點至第n個下游候選節(jié)點的各個節(jié)點的經(jīng)過次數(shù)的總和;g(n)為從起始節(jié)點至第n個下游候選節(jié)點的距離;h(n)為從第n個下游候選節(jié)點至結束節(jié)點的距離;1≤n≤m。
可選地,路徑導航算法為Dijkstra算法,該計算子模塊,被配置為:
獲取調整因子γ的至少一個候選值,γ>0;
對于每個候選值,m個下游候選節(jié)點中的第n個下游候選節(jié)點的評估函數(shù)的函數(shù)值f(n)為:
其中,Sn為從起始節(jié)點至第n個下游候選節(jié)點的各個節(jié)點的經(jīng)過次數(shù)的總和;g(n)為從起始節(jié)點至第n個下游候選節(jié)點的距離;1≤n≤m。
可選地,該裝置還包括:
數(shù)值獲取模塊,被配置為獲取每個歷史行走路徑所對應的調整因子的歷史數(shù)值;
數(shù)值選擇模塊,被配置為選擇數(shù)值獲取模塊獲取的各個歷史數(shù)值中出現(xiàn)次數(shù)最多的數(shù)值;
路徑標識模塊,被配置為將根據(jù)每組候選值確定的各個導航路徑中,與出現(xiàn)次數(shù)最多的數(shù)值所對應的導航路徑標識為推薦導航路徑。
根據(jù)本公開實施例的第三方面,提供一種路徑導航裝置,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,處理器被配置為:
獲取包括起始節(jié)點和結束節(jié)點的歷史行走路徑;
根據(jù)歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù);
根據(jù)各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑。
本公開的實施例提供的技術方案可以包括以下有益效果:
通過獲取包含起始節(jié)點和結束節(jié)點的歷史行走路徑,根據(jù)歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù),進而根據(jù)各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑;解決了相關技術中服務器確定的導航路徑可能并不適用于用戶的問題;達到了可以根據(jù)各個用戶經(jīng)過節(jié)點的經(jīng)過次數(shù)來為用戶確定導航軌跡,進而提高為用戶提供的導航路徑的準確度的效果。
應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發(fā)明的實施例,并于說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實施例示出的一種路徑導航方法的流程圖。
圖2A是根據(jù)另一示例性實施例示出的一種路徑導航方法的流程圖。
圖2B是根據(jù)一示例性實施例示出的確定推薦導航路徑的方法的流程圖。
圖3是根據(jù)一示例性實施例示出的一種路徑導航裝置的框圖。
圖4是根據(jù)另一示例性實施例示出的一種路徑導航裝置的框圖。
圖5是根據(jù)一示例性實施例示出的一種用于路徑導航的裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實施例示出的一種路徑導航方法的流程圖。如圖1所示,該路徑導航方法可以包括以下步驟。
在步驟101中,獲取包括起始節(jié)點和結束節(jié)點的歷史行走路徑。
在步驟102中,根據(jù)歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù)。
在步驟103中,根據(jù)各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑。
綜上所述,本公開實施例中提供的路徑導航方法,通過獲取包含起始節(jié)點和結束節(jié)點的歷史行走路徑,根據(jù)歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù),進而根據(jù)各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑;解決了相關技術中服務器確定的導航路徑可能并不適用于用戶的問題;達到了可以根據(jù)各個用戶經(jīng)過節(jié)點的經(jīng)過次數(shù)來為用戶確定導航軌跡,進而提高為用戶提供的導航路徑的準確度的效果。
圖2A是根據(jù)一示例性實施例示出的一種路徑導航方法的流程圖。如圖2A所示,該路徑導航方法可以包括以下步驟。
在步驟201中,獲取包括起始節(jié)點和結束節(jié)點的歷史行走路徑。
用戶使用終端導航時,用戶可以在終端中設置起始節(jié)點和結束節(jié)點。比如,用戶在某主題公園中騎行時,用戶可以設置主題公園的東門為起始節(jié)點,主題公園的北門為結束節(jié)點。終端將用戶設置的起始節(jié)點和結束節(jié)點發(fā)送至服務器,相應的,服務器可以獲取起始節(jié)點和結束節(jié)點。
服務器獲取到起始節(jié)點和結束節(jié)點之后,服務器可以獲取包含該起始節(jié)點和結束節(jié)點的歷史行走路徑。其中,歷史行走路徑是各個用戶行走經(jīng)過起始節(jié)點和結束節(jié)點的路徑,且該歷史行走路徑可以為路徑起點為起始節(jié)點且路徑終點為該結束節(jié)點的路徑,或者,該歷史行走路徑可以為經(jīng)過該起始節(jié)點和結束節(jié)點的路徑,本實施例對此并不做限定。另外,獲取到的各個歷史行走路徑可能相同,也可能不同。
在步驟202中,根據(jù)歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù)。
服務器根據(jù)獲取到的各個歷史行走路徑統(tǒng)計從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù)。
可選地,由于GPS(Global Positioning System,全球定位系統(tǒng))定位是通過時間等距的方式來獲取用戶的位置,所以每條歷史行走路徑實際即為點的集合。服務器根據(jù)各個點的重疊次數(shù)計算每個節(jié)點被各個用戶經(jīng)過的經(jīng)過次數(shù)。
比如,服務器獲取到的歷史行走路徑有1000條,其中,某一節(jié)點重疊了800次,也即共有800條歷史行走路徑中包含該節(jié)點,所以服務器可以確定該節(jié)點的經(jīng)過次數(shù)即為800次。
在步驟203中,根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值;評估函數(shù)的函數(shù)值與下游候選節(jié)點的經(jīng)過次數(shù)呈負相關關系。
服務器在確定第i個節(jié)點之后,服務器可以確定該第i個節(jié)點的m個下游候選節(jié)點。然后根據(jù)下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值。
其中,由于節(jié)點被各個用戶經(jīng)過的經(jīng)過次數(shù)越高,說明該節(jié)點越受用戶的歡迎,在為用戶規(guī)劃導航路徑時,優(yōu)先規(guī)劃包含該節(jié)點的路徑,所以路徑導航算法中的評估函數(shù)的函數(shù)值可以與下游候選節(jié)點的經(jīng)過次數(shù)呈負相關關系??蛇x地,評估函數(shù)的函數(shù)值還可以與前i個節(jié)點的經(jīng)過次數(shù)以及對應的下游候選節(jié)點的經(jīng)過次數(shù)的總和呈負相關關系,本實施例對此并不做限定。
在本實施例中,路徑導航算法可以為A*算法或者Dijkstra算法。且針對上述兩種算法,本步驟可以分為兩種情況:
第一種,當路徑導航該算法為A*算法時,本步驟可以包括:
第一,獲取調整因子λ和γ的至少一組候選值,λ>0,γ>0。
調整因子λ和γ的初始值可以為預設正數(shù),并且服務器可以適應性的調整λ和γ的值,進而得到各組候選值。
第二,對于每組候選值,m個下游候選節(jié)點中的第n個下游候選節(jié)點的評估函數(shù)的函數(shù)值f(n)為:
其中,Sn為從起始節(jié)點至第n個下游候選節(jié)點的各個節(jié)點的經(jīng)過次數(shù)的總和,也即sj為第j個節(jié)點的經(jīng)過次數(shù),sn為第n個下游候選節(jié)點的經(jīng)過次數(shù);g(n)為從起始節(jié)點至第n個下游候選節(jié)點的距離;h(n)為從第n個下游候選節(jié)點至結束節(jié)點的距離;1≤n≤m。
經(jīng)過上述計算之后,服務器可以計算得到對應于每組調整因子的m個下游候選節(jié)點中的每個下游候選節(jié)點的評估函數(shù)的函數(shù)值。
需要說明的一點是,由于前i個節(jié)點已經(jīng)確定,所以g(n)可以為起始節(jié)點至第n個下游候選節(jié)點的實際距離;而由于第i+1個節(jié)點至結束節(jié)點之間的各個節(jié)點還未確定,所以h(n)可以為從第n個下游候選節(jié)點至結束節(jié)點的歐式距離,本實施例對此不做限定。
需要說明的另一點是,調整因子λ和γ的初始值可以為根據(jù)歷史行走路徑確定的值。可選地,服務器確定各個歷史行走路徑所對應的λ和γ的值,選擇其中出現(xiàn)次數(shù)最多的λ和γ的值(出現(xiàn)次數(shù)越多,說明根據(jù)這種組確定的導航 路徑被用戶接受的可能性就越大,所以為了提高服務器確定的導航路徑被用戶接受的可能性,服務器可以選擇其中出現(xiàn)次數(shù)最多的λ和γ),將選擇得到的一組值確定為λ和γ的初始值。
第二種,當路徑導航算法為Dijkstra算法時,本步驟可以包括:
第一,獲取調整因子γ的至少一個候選值,γ>0。
調整因子γ的初始值可以為預設正數(shù),并且服務器可以適應性的調整γ的值,進而得到各組候選值。
第二,對于每個候選值,m個下游候選節(jié)點中的第n個下游候選節(jié)點的評估函數(shù)的函數(shù)值f(n)為:
其中,Sn為從起始節(jié)點至第n個下游候選節(jié)點的各個節(jié)點的經(jīng)過次數(shù)的總和,也即sj為第j個節(jié)點的經(jīng)過次數(shù),sn為第n個下游候選節(jié)點的經(jīng)過次數(shù);g(n)為從起始節(jié)點至第n個下游候選節(jié)點的距離;1≤n≤m。
經(jīng)過上述計算之后,服務器可以計算得到對應于每組調整因子的m個下游候選節(jié)點中的每個下游候選節(jié)點的評估函數(shù)的函數(shù)值。
需要說明的一點是,由于前i個節(jié)點已經(jīng)確定,所以g(n)可以為起始節(jié)點至第n個下游候選節(jié)點的實際距離。
需要說明的另一點是,調整因子γ的初始值也可以是根據(jù)歷史行走路徑確定的值,其確定方法與上述λ和γ的確定方法類似,本實施例在此不再贅述。
此外,本實施例只是以路徑導航算法為A*算法或者Dijkstra算法為例,可選地,路徑導航算法還可以是其它可能的算法,本實施例對此并不做限定。并且,上述只是以評估函數(shù)的函數(shù)值與前i個節(jié)點的經(jīng)過次數(shù)和第n個節(jié)點的經(jīng)過次數(shù)的總和呈負相關關系為例;可選地,評估函數(shù)的函數(shù)值還可以只與第n個節(jié)點的經(jīng)過次數(shù)的總和呈負相關關系,此時Sn=sn,本實施例對此并不做限定。
在步驟204中,選擇m個下游候選節(jié)點中數(shù)值最小的函數(shù)值所對應的節(jié)點。
在計算得到m個下游候選節(jié)點中每個候選節(jié)點的評估函數(shù)的函數(shù)值之后,服務器可以選擇其中數(shù)值最小的函數(shù)值所對應的節(jié)點。
可選地,當調整因子有兩組或者兩組以上時,對于根據(jù)每組調整因子計算得到的下游候選節(jié)點的評估函數(shù)的函數(shù)值,服務器可以選擇數(shù)值最小的函數(shù)值所對應的節(jié)點。
在步驟205中,當選擇的節(jié)點不是結束節(jié)點時,令i=i+1,且將選擇的節(jié)點確定為新的第i個節(jié)點,再次執(zhí)行根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值的步驟。
如果選擇的節(jié)點不是結束節(jié)點,則此時,服務器可以令i=i+1,并將選擇的節(jié)點作為導航路徑中的第i個節(jié)點,并再次執(zhí)行步驟203的步驟,本實施例對此并不做限定。
在步驟206中,當選擇的節(jié)點為結束節(jié)點時,將起始節(jié)點、結束節(jié)點以及確定的各個節(jié)點所組成的路徑確定為導航路徑。
而如果選擇的節(jié)點就是結束節(jié)點,則此時,服務器可以將起始節(jié)點、結束節(jié)點以及中間確定的各個節(jié)點所對應的路徑確定為導航路徑。
可選地,若調整因子有兩組或者兩組以上時,服務器可以相應的根據(jù)每組調整因子確定得到兩條或者兩條以上的導航路徑。
在服務器確定導航路徑之后,服務器可以向用戶提供確定的導航路徑。
在本實施例的一個應用場景中,以起始節(jié)點為上海博物館,結束節(jié)點為上海體育中心為例,服務器可以獲取經(jīng)過上述兩個地方的歷史行走路徑,并根據(jù)歷史行走路徑確定各個節(jié)點(可以為歷史行走路徑中涉及的各個興趣點)的經(jīng)過次數(shù)。此后,服務器可以根據(jù)上海博物館的下游候選節(jié)點如A、B和C中的每個節(jié)點的經(jīng)過次數(shù)計算每個節(jié)點的評估函數(shù)的函數(shù)值。如果其中A地點被各個用戶經(jīng)過的次數(shù)最多(也即A地點相比B地點和C地點更受用戶喜歡),則服務器可以計算得到A的評估函數(shù)的函數(shù)值最小,此時,服務器選擇A點,并繼續(xù)計算A點的下游候選節(jié)點的評估函數(shù)的函數(shù)值直至最后選擇得到的節(jié)點為上海體育中心為止。服務器將上海博物館、中間選擇的各個地點以及上海體育中心所組成的路徑確定為用戶從上海博物館騎行至上海體育中心的導航路徑。這樣,由于服務器選擇的各個節(jié)點均是其他用戶比較喜歡的地點,所以服務器將該導航路徑推薦給用戶之后,用戶在根據(jù)該導航路徑騎行過程中,用戶可以發(fā)現(xiàn)更多的樂趣,提高了用戶的用戶體驗。
綜上所述,本公開實施例中提供的路徑導航方法,通過獲取包含起始節(jié)點和結束節(jié)點的歷史行走路徑,根據(jù)歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù),進而根據(jù)各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑;解決了相關技術中服務器確定的導航路徑可能并不適用于用戶的問題;達到了可以根據(jù)各個用戶經(jīng)過節(jié)點的經(jīng)過次數(shù)來為用戶確定導航軌跡,進而提高為用戶提供的導航路徑的準確度的效果。
本實施例中評估函數(shù)的函數(shù)值與候選節(jié)點的經(jīng)過次數(shù)呈負相關關系,也即該候選節(jié)點被各個用戶經(jīng)過的次數(shù)越多,該候選節(jié)點被選為最終導航路徑中的可能性越大;所以本實施例通過根據(jù)其他用戶經(jīng)過各個節(jié)點的情況來為用戶確定導航路徑,提高了為用戶確定的導航路徑的準確率。
需要補充說明的是,請參考圖2B,在上述實施例中,在服務器確定導航路徑之后,服務器還可以執(zhí)行如下步驟:
在步驟207中,獲取每個歷史行走路徑所對應的調整因子的歷史數(shù)值。
服務器獲取到各個歷史行走路徑之后,服務器還可以獲取確定每條歷史行走路徑時調整因子的歷史數(shù)值。
在步驟208中,選擇各個歷史數(shù)值中出現(xiàn)次數(shù)最多的數(shù)值。
由于某個數(shù)值出現(xiàn)的次數(shù)越多,說明根據(jù)該數(shù)值確定的導航路徑被用戶選擇使用的可能性就越大,所以為了向用戶推薦最優(yōu)的導航路徑,服務器可以選擇各個歷史數(shù)值中出現(xiàn)次數(shù)最多的數(shù)值。
在步驟209中,將根據(jù)每組候選值確定的各個導航路徑中,與出現(xiàn)次數(shù)最多的數(shù)值所對應的導航路徑標識為推薦導航路徑。
此后,服務器可以將根據(jù)選擇的數(shù)值確定的導航路徑標識為推薦導航路徑。這樣,服務器向用戶提供各個導航路徑之后,用戶可以優(yōu)先選擇各個導航路徑中的推薦導航路徑,提高了用戶的用戶體驗。
下述為本公開裝置實施例,可以用于執(zhí)行本公開方法實施例。對于本公開裝置實施例中未披露的細節(jié),請參照本公開方法實施例。
圖3是根據(jù)一示例性實施例示出的一種路徑導航裝置的框圖。如圖3所示,該路徑導航裝置可以包括但不限于:獲取模塊310、次數(shù)確定模塊320和路徑確 定模塊330。
獲取模塊310,被配置為獲取包括起始節(jié)點和結束節(jié)點的歷史行走路徑;
次數(shù)確定模塊320,被配置為根據(jù)獲取模塊310獲取到的歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù);
路徑確定模塊330,被配置為根據(jù)次數(shù)確定模塊320確定的各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑。
綜上所述,本公開實施例中提供的路徑導航裝置,通過獲取包含起始節(jié)點和結束節(jié)點的歷史行走路徑,根據(jù)歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù),進而根據(jù)各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑;解決了相關技術中服務器確定的導航路徑可能并不適用于用戶的問題;達到了可以根據(jù)各個用戶經(jīng)過節(jié)點的經(jīng)過次數(shù)來為用戶確定導航軌跡,進而提高為用戶提供的導航路徑的準確度的效果。
圖4是根據(jù)一示例性實施例示出的一種路徑導航裝置的框圖。如圖4所示,該路徑導航裝置可以包括但不限于:獲取模塊410、次數(shù)確定模塊420和路徑確定模塊430。
獲取模塊410,被配置為獲取包括起始節(jié)點和結束節(jié)點的歷史行走路徑;
次數(shù)確定模塊420,被配置為根據(jù)獲取模塊410獲取到的歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù);
路徑確定模塊430,被配置為根據(jù)次數(shù)確定模塊420確定的各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從起始節(jié)點至結束節(jié)點的導航路徑。
可選地,路徑確定模塊430,包括:
計算子模塊431,被配置為根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每個下游候選節(jié)點的評估函數(shù)的函數(shù)值;評估函數(shù)的函數(shù)值與下游候選節(jié)點的經(jīng)過次數(shù)呈負相關關系;
選擇子模塊432,被配置為選擇m個下游候選節(jié)點中數(shù)值最小的函數(shù)值所對應的節(jié)點;
該計算子模塊431,被配置為在選擇子模塊432選擇的節(jié)點不是結束節(jié)點時,令i=i+1,且將選擇的節(jié)點確定為新的第i個節(jié)點,再次執(zhí)行根據(jù)第i個節(jié)點的m個下游候選節(jié)點中的每個下游候選節(jié)點的經(jīng)過次數(shù)以及路徑導航算法,計算每 個下游候選節(jié)點的評估函數(shù)的函數(shù)值的步驟;
路徑確定子模塊433,被配置為在選擇子模塊432選擇的節(jié)點為結束節(jié)點時,將起始節(jié)點、結束節(jié)點以及確定的各個節(jié)點所組成的路徑確定為導航路徑。
可選地,路徑導航算法為A*算法,計算子模塊431,被配置為:
獲取調整因子λ和γ的至少一組候選值,λ>0,γ>0;
對于每組候選值,m個下游候選節(jié)點中的第n個下游候選節(jié)點的評估函數(shù)的函數(shù)值f(n)為:
其中,Sn為從起始節(jié)點至第n個下游候選節(jié)點的各個節(jié)點的經(jīng)過次數(shù)的總和;g(n)為從起始節(jié)點至第n個下游候選節(jié)點的距離;h(n)為從第n個下游候選節(jié)點至結束節(jié)點的距離;1≤n≤m。
可選地,路徑導航算法為Dijkstra算法,計算子模塊431,被配置為:
獲取調整因子γ的至少一個候選值,γ>0;
對于每個候選值,m個下游候選節(jié)點中的第n個下游候選節(jié)點的評估函數(shù)的函數(shù)值f(n)為:
其中,Sn為從起始節(jié)點至第n個下游候選節(jié)點的各個節(jié)點的經(jīng)過次數(shù)的總和;g(n)為從起始節(jié)點至第n個下游候選節(jié)點的距離;1≤n≤m。
可選地,裝置還包括:
數(shù)值獲取模塊440,被配置為獲取每個歷史行走路徑所對應的調整因子的歷史數(shù)值;
數(shù)值選擇模塊450,被配置為選擇數(shù)值獲取模塊440獲取的各個歷史數(shù)值中出現(xiàn)次數(shù)最多的數(shù)值;
路徑標識模塊460,被配置為將根據(jù)每組候選值確定的各個導航路徑中,與出現(xiàn)次數(shù)最多的數(shù)值所對應的導航路徑標識為推薦導航路徑。
綜上所述,本公開實施例中提供的路徑導航裝置,通過獲取包含起始節(jié)點和結束節(jié)點的歷史行走路徑,根據(jù)歷史行走路徑確定從起始節(jié)點至結束節(jié)點的各個節(jié)點的經(jīng)過次數(shù),進而根據(jù)各個節(jié)點的經(jīng)過次數(shù)以及路徑導航算法確定從 起始節(jié)點至結束節(jié)點的導航路徑;解決了相關技術中服務器確定的導航路徑可能并不適用于用戶的問題;達到了可以根據(jù)各個用戶經(jīng)過節(jié)點的經(jīng)過次數(shù)來為用戶確定導航軌跡,進而提高為用戶提供的導航路徑的準確度的效果。
本實施例中評估函數(shù)的函數(shù)值與候選節(jié)點的經(jīng)過次數(shù)呈負相關關系,也即該候選節(jié)點被各個用戶經(jīng)過的次數(shù)越多,該候選節(jié)點被選為最終導航路徑中的可能性越大;所以本實施例通過根據(jù)其他用戶經(jīng)過各個節(jié)點的情況來為用戶確定導航路徑,提高了為用戶確定的導航路徑的準確率。
此后,服務器可以將根據(jù)選擇的數(shù)值確定的導航路徑標識為推薦導航路徑。這樣,服務器向用戶提供各個導航路徑之后,用戶可以優(yōu)先選擇各個導航路徑中的推薦導航路徑,提高了用戶的用戶體驗。
關于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
圖5是根據(jù)一示例性實施例示出的一種用于路徑導航的裝置500的框圖。例如,裝置500可以被提供為一服務器。參照圖5,裝置500包括處理組件522,其進一步包括一個或多個處理器,以及由存儲器532所代表的存儲器資源,用于存儲可由處理組件522執(zhí)行的指令,例如應用程序。存儲器532中存儲的應用程序可以包括一個或一個以上的每一個對應于一組指令的模塊。此外,處理組件522被配置為執(zhí)行指令,以執(zhí)行上述路徑導航方法。
裝置500還可以包括一個電源組件526被配置為執(zhí)行裝置500的電源管理,一個有線或無線網(wǎng)絡接口550被配置為將裝置500連接到網(wǎng)絡,和一個輸入輸出(I/O)接口558。裝置500可以操作基于存儲在存儲器532的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類似。
應當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權利要求來限制。