給定分群下加快最短路徑計算之時空成本考量

Slides:



Advertisements
Similar presentations
酒店绩效考核攻略 一 业务流程再造 管理环节突破 利润急速倍增 专为您企业量身裁衣服务 突破导师 : 周忠亭副教授 北京大学管理案例研究 中心特聘餐饮讲师 北洋战略研究院研究员 北大时代光华高级讲师 中国十大餐饮管理讲师 中华酒店管理专家教授 教育部首批中国餐饮经理人 师资成员.
Advertisements

国家税务总局关于修改企业所得税年度纳税申报表( A 类, 2014 年版) 部分申报表的公告(国家税务总局公告 2016 年第 3 号) 一、对《企业基础信息表》( A )及填报说明修改如下: (一) “107 从事国家非限制和禁止行业 ” 修改为 “107 从事国家限制或禁止行业 ”
人力资源工作总结 行政部 人力资源部年度工作 一方面通过招聘管理、劳动合同管理、 入离职管理等,确保各项人事管理工作 的合法性、规范性. 另一方面通过建立员工培训计划,加强 企业文化的贯彻和渗透,提升员工的凝 聚力和归属感,提升员工的敬业度。
2014 年 12 月 企业所得税年度纳税申报表 (A 类, 2014 版 ) 辅导材料(二) A 企业基础信息 A 主表.
配樂:夢的序曲 ( 鋼琴 ) 雁蕩山因山頂有湖,蘆葦茂密,結草為湯,南歸秋雁多宿於此,故名雁蕩。始於 南北朝,興於唐,盛於宋,雁蕩山來晚了一步,未能在 “ 五岳 ” 中占得一席之地。 沒有金碧輝煌的涂飾,村野之山的雁蕩倒因此多了份瀟灑風神。
1. 法律學系助教群: 大學部助教 徐碧霜 行政助教 葉靜芳 研究所助教 阮博謙 台中 法政學院 1. 台北 法商學院 民國 50 年 中興大學合併法商學院法律系 民國 89 年 法商學院改制為台北大學.
4.体词 体词包括:名词,处所词,方位词,时间词,区别词,数词,量词以及一部分代词。.
第一节 职业基础知识 第二节 社会需要剖析 第三节 用人单位认知
景观水池渗漏的研究 年级专业:12级土木工程 指导教师: ××× 教 学 点: ××××教学点 新疆工程学院继续教育学院 20 年 月 日
第五章 话语的语用意义(上) 主讲人:周明强.
高三物理复习 运动的图象、追及相遇问题 (两 课 时) 泉州六中 苏碧贤.
我征服了黃山 林達的黃山之旅 2006春.
工程定额与计价方法 教材名称:工程建设定额原理与实务
建设工程施工管理 模拟卷 一、单项选择题 1.下列选项中,除( )以外都属于施工机械使用费。 A.购置费 B.安拆费及场外运费 C.折旧费 D.修理费.
“三生教育”专题 生命·生存·生活.
2016年道德讲堂 慈善知识讲座 主讲人:田睿. 2016年道德讲堂 慈善知识讲座 主讲人:田睿.
《疯 娘》 --100个人看后99个人会落泪的故事 图文:网络
阳光工程引导性培训 宁夏自治区盐池县农广校
股票市場技術面概念介紹 斗六高中 馬明宏.
2015届就业指导课程教学大纲介绍.
《毛泽东思想和中国特色社会主义体系概论》 第一章马克思主义中国化两大理论成果
第四章 文 字 本章主要内容 第一节 汉字的性质和特点 第二节 汉字的结构 第三节 汉字的溯源分析 第四节 现代汉字的音和义
2010年春季开学学校食堂食品安全知识培训 徐汇区食品药品监督所
网络媒体环境下纸媒的困境和出路 --以《读者》为例
主办:泰兴市质量强市领导小组办公室 承办:泰 兴 市 市 场 监 督 管 理 局.
进出口食品检验监管 基础讲课内容 我国进出口食品安全管理体系介绍 法律法规 进口食品的检验检疫 出口食品的检验检疫.
授课班级 安全技术管理0605班 第 5 次 课 授课时间 2008年3月10日 星期一 授课地点 科技楼401多媒体教室 课题内容:
传媒产业的集团化经营和管理.
2015版《中国地震动参数区划图》 对我市城乡建设的影响
人力资源市场统计工作介绍 人力资源市场与人员调配处 郭俊霞 2014年12月.
全省电大系统评聘工作有关事项说明 2014年9月17日.
總務處營繕組簡報 1.業務職掌 2.九十四年度工作績效 3.工程一覽 4.歷年工作成果 5.未來展望 6.困難及建議.
第三节 渐开线圆柱齿轮精度等级及应用.
作文教學變奏曲 在一個空桶裡舀水,只是枉然;在一頭公牛身上擠奶,則是危險;讓一個沒有話的人說話,那就是——作文!(史英)
第一章信託法 第一節 信託契約 第二節 信託財產 第三節 受益人 第四節 受託人 第五節 信託關係之消滅.
寻觅节日诗情.
2014年企业所得税汇算清缴相关税收政策 新华区地方税务局 卿继红
第十一章 真理与价值 主讲人:阎华荣.
企业税收筹划与税务风险管理 暨南大学财税系 沈肇章.
第十章 季节施工 ——冬期施工准备.
危险废物环境管理情况 河南省固体废物管理中心  韩晓晗 2007年6月6日.
揭秘 庄家 股市中的 为什么你的股票一买就跌,一卖就涨? 为什么出了利好,股价反而下跌? 为什么有的股票一直涨停?
信息技术及其影响.
食品添加剂生产许可审查通则起草说明.
第七章 固 定 资 产.
提升课堂质量 助推教师成长 促进教学改革 “一师一优课,一课一名师”活动总结 河南省实验小学.
2012年度人力资源部工作总结
概述 检索图书的检索工具 检索期刊的检索工具 检索特种文献的检索工具
餐饮服务从业人员 食品安全知识培训 孔莉 朔州市食品药品监督管理局.
首次数据采集填报说明 内蒙古自治区校车信息管理系统 靳 丽 内蒙古自治区教育信息中心 2013年5月
贏家的投資秘密 四財三乙 劉高廷 陳威豪.
执行《劳动合同法》中 应当注意的十大问题.
防空地下室审批要点 主讲人:陈玉亭.
治超新政相关文件解读 厅执法局 江涛 二零一六年九月.
科技服务业统计 报表填报说明 江苏省科技统计中心 2008年12月 镇江.
有限空间作业安全知识 9/10/2017.
乳猪断奶后拉稀,掉膘与教槽料.
《生活与哲学》第一轮复习 第七课唯物辩证法的联系观.
行政院國軍退除役官兵輔導委員會 嘉義榮民醫院.
101北一女中 資訊選手培訓營 最短路徑 Shortest Path Nan.
第一章 線性方程組.
黄土高原的水土流失 标题 水土流失的原因 水土流失的危害 治理措施 参考文献 小组成员.
公立學校教職員退休資遣撫卹條例重點說明 苗栗縣政府人事處編製 主講人:陳處長坤榮 107年5月2日.
鄧姚文 資料結構 第八章:圖(Graph) 鄧姚文
最短通路问题.
多姿多彩的世界.
Advanced Competitive Programming
第十章、核銷系統操作之注意事項.
JAVA 程式設計與資料結構 第二十一章 Graph.
Presentation transcript:

給定分群下加快最短路徑計算之時空成本考量 指導教授:魏世杰 老師 研究生:鄭宇辰

大綱 前言 文獻探討 基本方法介紹 延伸方法介紹 實驗結果與討論 結論 圖形定義 分群最短路徑演算法 1.階層圖記錄資訊之省除 2.群間圖之省除 – 只利用群內圖Dijkstra 3.全域地標資訊之省除 – 改用群內邊界點ALT 實驗結果與討論 結論

前言 背景 最短路徑的求解問題,一般可被分為四類: 單一起點到某一節點(Single-Pair Shortest Path,SPSP) 單一起點到所有節點(Single-Source Shortest-Paths,SSSP) 所有節點到所有節點(All-Pairs Shortest-Paths,APSP) 所有節點到某一終點(Single-Destination Shortest-Paths,SDSP) 對於這問題的解決方法,最廣為人知的是Dijkstra演算法[Dijkstra 1959],它原本用於解決單一起點到所有節點(SSSP)的問題,由於其時間複雜度和點邊數有密切關係,故不適用於包含大量點邊資訊的圖形。其後的研究除了改良它的資料結構外,在演算過程中靠著輔助資訊減少搜尋範圍的各類方法亦被提出。 3

前言 研究動機與目的 藉由輔助資訊求解最短路徑的方法可依有無分群資訊作為分水嶺。通常有分群資訊的最短路徑演算法,其搜尋時間較為優異,但必需承擔極高的空間負荷。 本研究希望提供一個適用於台灣路網,能在數毫秒內完成搜尋、所需記憶體空間可負荷,且有分群資訊輔助的最短路徑演算法,以供相關應用程式使用。並期望能改善其所需記憶體空間過大的情況,又能保持搜尋速度在一定的水平。 4

文獻大綱 最短路徑演算法 無分群資訊 有分群資訊 圖形分割方法 Kd-tree METIS 5

文獻探討– 無分群資訊 Dijkstra [Dijkstra 1959] 節點v的成本估算函數f(v) : f(v)=d(s,v) 特性 同心圓狀擴散。 保證展開節點的路徑最短。 對於包含|V|個節點以及|E|個邊的 圖形,原始Dijkstra的時間複雜度 O(|V|2),資料結構採用Heap, 時間複雜度為O(|E| + |V| log|V|) t d(s,v):起點到v的累計路徑長 S

文獻探討– 無分群資訊 直線距離A* [Hart 1968] f(v)=d(s,v)+h(v,t) 採用幾何直線估算剩餘距離: d(s,v)為起點s到節點v之目前最短距離。 h(v,t)為節點v到終點t之剩餘距離估算值。 需h(v,t) ≦dist(v,t)才可保証終結時為最短, dist(v,t)為節點v到終點t之真實最短距離。 採用幾何直線估算剩餘距離: h(v,t)=euclidean_dist(v,t) 由於euclidean_dist(v,t) ≦dist(v,t), 故可保證最短路徑。 

文獻探討– 無分群資訊 有向地標A*(ALT) [Goldberg 2005] 採用地標配合三角不等式估算剩餘距離 h(v,t)=max(dto_m(v,t) , dfrom_m(v,t)) ≦ dist(v,t) dto_m(v,t) =dist(v,m)-dist(t,m)≦dist(v,t) dfrom_m(v,t)=dist(m,t)-dist(m,v) ≦dist(v,t) 挑選的地標點越分散於圖形邊界越能有好的搜尋效率。 t t dist(v,m) c c dist(m,v) v b v b a a a ≦c + b => a – b ≦ c b ≦a + c => b – a ≦ c lm lm =dto_m(v,t) =dfrom_m(v,t)

文獻探討– 有分群資訊 Arc-flag [Schulz 2000] HEPV [Huang 1996] 記錄每個有向邊可到達群的集合,以限制展開節點數。Mohring [2005]以兩階層分群改良。 HEPV [Huang 1996] 利用分群資訊對圖形做路徑編碼(Encoded Path View)。 Wang [2006]提出資料結構的修正。 HiTi Graph [Jung 2002] 多階層及部分路徑編碼,但搜尋時間不僅差於HEPV,且將隨著分群數量、階層數目的增加呈現倍數成長。 以道路屬性分群建立階層 Liu [1997]:以主要路網(包含國道、省道、次要道路)將整個路網細分為數個子網路。主要路網及起終點的子網路將形成高階的路網。其演算法只會在高階路網範圍中搜尋最短路徑。 Schultes [2005]:以Dijkstra Rank進行分群建立階層。 Liu:實際最短路徑可能途經其他子網路 9

文獻探討– 有分群資訊 HEPV(Hierarchical Encoded Path View) [Huang 1996] 利用分群對整個路網進行切割。 高層路網:由所有子網與其他子網相鄰的節點(邊界點)組成。 低層路網:各子網內節點各自組成。 Huang認為最短路徑的資訊可被分配到高低路網中記錄—(路徑編碼) 低層路網 終點 往終點下一節點(hop) 區域最短路徑長度(weight) 高層路網 終點所屬群編號(Frag) 全域最短路徑長度(weight) Liu:實際最短路徑可能途經其他子網路

文獻探討– 有分群資訊 Wang [2006] HEPV中對圖形的分群是以點作為兩群間的分界,而Wang則是以邊。因此HEPV所定 義的邊界點會分屬於數 個低層圖形,而Wang的 邊界點則只能屬於一個 低層圖形 。 低階路網 (任兩點記錄路徑資訊) 高階路網 (任兩邊界點間記錄路徑資訊) 缺點 HEPV 區域最短。 全域最短。 所需記憶體大。低層任兩點最短,仍需高層輔助。 Wang 不記錄終點所屬群編號(Frag) 所需記憶體大。高階需執行Dijkstra會比較慢。 Liu:實際最短路徑可能途經其他子網路 11

文獻探討– 圖形分割方法 Habbal等人[Habbal 1994]證實,若能將圖形分割為越多節點數量接近的子圖而且每個子圖間邊界點數量越少的圖形分割方法,越適用於路徑搜尋。 Huang [1996]等人提出了Spatial Partition Clustering(SPC)對較大的圖形進行分割,Kohler[2003]等人則針對arc-flag提出multi-way partition圖形分群演算法。另外還有Schultes[2005]提出Dijkstra Rank來進行分群的方法。 Mohring[2005]等人的研究裡,比較了Grid、Quadtrees、kd-tree、METIS四種分群方法,結果顯示kd-tree與METIS對其改良的Dijkstra在搜尋時間上表現較好。 Wang[2006]等人的研究中,則比對了Spatial Partition Clustering(SPC)與METIS,最後結果仍是METIS較優。 12

文獻探討– 圖形分割方法 Kd-tree [Samet 1989] 2D-tree 節點存放座標x與y,取某座標軸的中位點, 建立新的樹節點,同時將資料集一分為二, 而中位點一般奇數層以x軸來取, 偶數層則為y軸。如此遞迴直到樹的分支 抵達所設定的深度為止。 n次分割後,可得到2n個分群。 且若採取座標中位點分割, 每個分群的節點數將近乎相等。

文獻探討– 圖形分割方法 METIS [Karypis 1998] – 多階層圖形分裂(粗化與去粗化步驟) 各分群內的節點數量近乎相等。 最小化整體與局部分群的連通度(即最小化邊界點數量)。 p19 14

基本方法介紹 基本圖形定義

基本方法介紹 A B C D E F G H J 7 3 2 5 4 I 1 G1 G3 G4 G2 分群概念模型 圖形G及4個分群

基本方法介紹 A B C D E F G H J 7 3 2 5 4 I 1 G1 G3 G4 G2 分群概念模型 A B C D

基本方法介紹 A B C D E F G H J 7 3 2 5 4 I 1 G1 G3 G4 G2 分群概念模型 C G D H

基本方法介紹 最短路徑求解 階層圖最短路徑長度求解 最短路徑重建 演算法架構 p21 19

基本方法介紹 最短路徑長度求解 C D G H A B C D

基本方法介紹 階層圖 群內圖 群間圖 G1 G4 G2 A B C D G1 G3 G4 C G D H G J 5 E 4 C 7 4 G I 5 3 3 1 3 2 F D 3 5 I H 2 B 3 G1 G3 G4 階層圖 群間圖 C D G H

基本方法介紹 ClusterBasedSearch(s,t) Case 1. 根據Lemma 1 Case 2. 根據Lemma 3 Y Case 2. 根據Lemma 3 N Y N:同群 Case 3. 根據Lemma 2 Y N:皆非邊界點 Case 4. p26

基本方法 - pathToBorder 最短路徑重建 s 1 2 3 t

基本方法 – pathBorderToBorder最短路徑重建 s 3 4 5 t

基本方法 - pathFromBorder最短路徑重建 s 5 t

延伸方法介紹 1a.階層圖記錄資訊之省除 群間圖 起點下一邊界點(nextNodeborder) findNextBorderNode(s,t)演算法 窮舉邊界點s所屬群的所有邊界點bs ,滿足下列兩條件者即為所求 (1) d1+d2 = distborder(s,t),且 (2) d1為最小 bs s ※仍保有群內圖distinner(s,t)及 群間圖distborder(s,t)資訊 d2 d1 t 26

延伸方法介紹 1b.階層圖記錄資訊之省除 群內圖 起點下一節點(nextNodeinner) v t s findNextNode(s,t)演算法 前提: t = nextNodeborder(s,t) 窮舉s的鄰居節點V,滿足下列條件者即為所求 d1+d2 = distinner(s,t) ※仍保有群內圖distinner(s,t) v t d1 d2 s ※另外省除終點上一節點(prevNodeinner)的 findPrevNode(s,t)演算法,前提與需滿足之條件類似於此。 27

延伸方法介紹 2.群間圖之省除 – 只利用群內圖Dijkstra 由於在階層圖的路徑長度資訊中,群內圖記錄了群內各點到同群邊界點的往返資訊,因此形成了另一種類似於階層圖的圖形。 在此圖形上以Dijkstra進行求解。 演算完成可得最短路徑長度,及最短路徑所拜訪的邊界點序列,並保證序列中任兩連續邊界點皆同群。 28

延伸方法介紹 2.群間圖之省除 – 只利用群內圖Dijkstra 由於<s,t>、<s,1,t>、<s,1,2,t>的長度相等,依照Dijkstra節點挑選次序的不同,若選中<s,t>或<s,1,t>將造成路徑重建過程跨越遺漏邊界點1或2時,路徑無法重建。 但由於邊界點遺漏只發生在同群邊界點間,可以下列方式之一修正 (1) findNextBorderNode演算法中,改用群內圖長度資訊distinner(s,t) 窮舉s所屬群的邊界點bs滿足下列兩條件者即為所求 (1) d1+d2 = distinner(s,t),且 (2) d1為最小 (2) 改在群內圖中記錄起點下一邊界點nextNodeborder (s,t) d1 = distinner(s,1) d2 = distinner(1,t) d1 d2 29

延伸方法介紹 3.全域地標資訊之省除–只利用群內邊界點ALT dist(v,m) dist(m,v) 30

實驗結果與討論 實驗環境 CPU:AMD Opteron 2.2GHz cache 1MB RAM:8 GB OS:Red Hat Enterprise Linux WS release 4 程式開發環境:Java Development Kit 1.6.0_02 地圖資料:交通部運輸研究所路網數值圖1.1版 全台灣節點及路段數:節點-275195個 (其中單進單出節點共46015個) 路段-381172條

實驗結果與討論 前處理 128群 kd-tree METIS 階層圖(群內、群間) 採用Dijkstra以正反地圖資訊求得。 32

實驗結果與討論 前處理 由於METIS與kd-tree的分群結果中,各節點將只會屬於某一群(群間無節點交集),不符合我們群的定義。在我們群的定義中,群間將有交集,且其交集的節點為「邊界點」。因此我們必需根據群間無交集的分群結果,為其建立邊界點。 邊界點找尋演算法 依照「可到達鄰居節點數」對所有節點排序,可到達不同群鄰居節點數越多的節點越先處理,讓擁有較多跨群邊的節點成為邊界點。 對於所有「起始節點與終端節點不同群」的有向邊,其中一端必為邊界點。

實驗結果與討論 前處理 階層圖(群內、群間) 128群 資料檔 檔案 大小 前處理時間 全台節點128群 kd-tree METIS 採用Dijkstra以正反地圖資訊求得。 資料檔 檔案 大小 前處理時間 原始地圖 31 MB -- 座標 2.5 MB 分群資訊 3.16 MB 群內圖 Kd-tree 625.17 MB 1.66 小時 METIS 359.72 MB 2.59 小時 群間圖 442.3 MB 4.08 小時 174 MB 2.22 小時 有向地標 (from_m / to_m) 41.9 + 41.9 MB 約1小時 全台節點128群 Kd-tree METIS 每群節點數量 8852 5354 邊界點數量 2143~2245 2014~2259 階層圖大小 1.1 (gb) 534 (mb) 階層圖前處理時間 5.74 (hr) 4.81 (hr) 34

實驗結果與討論 實驗設計(1000筆隨機起終點) 實驗1 - 找出群內(case 4)最快的演算法 實驗3 - 比較不同分群下的執行差異 實驗4 – 距離與時間成本地圖中,起終點遠近程度對搜尋的影響 實驗編號 地圖類型 起終點分佈 (亂數2500筆) 實驗演算法 採用分群 (固定128群) 實驗1 距離成本 起終點同群 且皆非邊界點 傳統ALT 與 群內邊界點ALT METIS 實驗2 起終點不同群 且 至少一方非邊界點 空間省除方法各項組合(如下頁表) 實驗3 隨機 搜尋速度最快組合 kd-tree 實驗4 時間成本 起終點間相差的 Dijkstra Rank=200*2n,n=0~10 之隨機分佈 (各遠近程度只取亂數1000筆)

實驗結果與討論 比較的演算法: 上述分群演算法皆可如下選擇性省除階層圖記錄之資訊 不分群: Dijkstra、直線距離A*(記為A*)、有向地標A*(ALT)、 分群演算法CB:階層圖採用窮舉(CB all-pair)、Dijkstra(CB Dijkstra)、ALT(CB ALT), 只利用群內圖的Dijkstra(CB inner Dijkstra),   群內邊界點ALT (Cluster ALT)。 上述分群演算法皆可如下選擇性省除階層圖記錄之資訊 (dist,dist):群內圖記錄dist,群間圖記錄dist (next,dist):群內圖記錄dist + next/prev,群間圖記錄dist (dist,next):群內圖記錄dist,群間圖記錄dist + next (next,next):群內圖記錄dist + next/prev,群間圖記錄dist + next 36

實驗結果與討論 實驗1 起終點同群且皆非邊界點(case 4) 找出群內(case 4)最快的演算法 37

實驗結果與討論 實驗2 起終點不同群且非同時為邊界點(case 2) 比較空間省除方法各項組合的差異(case 3) 38

實驗結果與討論 實驗2 - continue 起終點隨機分佈(case 1-4) 最快組合:「CB all-pair+Cluster ALT」 2.6ms 5.3ms 39

空間省除方法組合的搜尋時間(對數刻度)及所需空間關係圖 實驗結果與討論 實驗2 - continue 起終點隨機分佈(case 1-4) 其中僅省除群內next的DN為表現皆佳的組合 CB inner Dijkstra CB all-pair 空間省除方法組合的搜尋時間(對數刻度)及所需空間關係圖 (METIS 128群) (METIS 128群) 40

實驗結果與討論 實驗3 比較不同分群下的執行差異 41

實驗結果與討論 實驗4 以Dijkstra Rank區分起終點遠近程度 觀察的起終點遠近程度差距Dijkstra Rank範圍: 200*2n,n=0~10 地圖類型 距離成本地圖:以路徑長度作為邊長 時間成本地圖 :以行經路段所需時間作為邊長 距離與時間成本地圖中,起終點遠近程度對搜尋的影響 道路等級 速限(km/hr) 國道 90 快速道路 70 省道 60 縣道/鄉鎮市區道路/產業道路 50 Dijkstra Rank 42

實驗結果與討論 實驗4 距離成本地圖 距離與時間成本地圖中,起終點遠近程度對搜尋的影響 43

實驗結果與討論 實驗4 時間成本地圖 距離與時間成本地圖中,起終點遠近程度對搜尋的影響 p53 44

與HEPV、Wang之比較 初始參數設定 45

與HEPV、Wang之比較 46

與HEPV、Wang之比較 1.前處理檔案大小比較 47

與HEPV、Wang之比較 1.前處理檔案大小比較 48

與HEPV、Wang之比較 1.前處理檔案大小比較 49

與HEPV、Wang之比較 2.前處理時間複雜度比較 50

與HEPV、Wang之比較 3.最短路徑長度求解時間複雜度比較 51

最短路徑重建時間複雜度整理 52

結論 提出一個適用於台灣路網,能在數毫秒內完成搜尋,所需記憶體空間在1G以下之分群最短路徑演算法,可供相關應用程式使用。其空間需求能較HEPV、Wang少(不採用省除方法的情況下),且搜尋速度依時間複雜度來看大致仍能保持相同水準。 提供了可以省除空間的多種使用組合,並整理出在METIS 128群之下的搜尋時間、前處理資訊空間關係圖。並歸納出搜尋速度在10ms之下的: 搜尋速度最快組合(NN) 557mb,2.75ms 最省空間組合(DD) 323mb,4.15ms 搜尋時間、空間折衷組合(DN) 377mb,2.87ms CB inner Dijkstra CB all-pair

結論 在起終點同在一群內的情況,提出群內邊界點ALT,由實驗1的結果中,群內邊界點ALT的路徑搜尋時間(5.34~6.19ms)能大幅低於傳統ALT的搜尋時間(81.27ms) 54