• 沒有找到結果。

第 二 章 現況評析及文獻回顧

2.3 相關演算法文獻回顧

START

FIND THE TRANSIT ROUTES ABOUT

ORIGIN

FIND THE TRANSIT ROUTES ABOUT

DESTINATION

FIND STOP-ID OF NEAREST STOP FOR ORIGIN/DESTINATIO

N LIST

COMBINATION POSSIBLE?

ORIGIN ROUTE A=

DESTINATION ROUTE C

SAVE PATH TO FILE YES

YES

END NO

A A

ARE ROUTE A &

ROUTE C REVERSED PATHS A

NO

YES

DO “A" & “C"

INTERSECT(=1)

IS “C"

REVERSED IN DIRECTION

A YES

NO

YES

COMPARE 0 AND 0.25 PATHS

NO

SAVE PATH TO FILE

DO “A" &

“C"HAVE INTERMEDIATE “B"

IN COMMON

A NO

DO “A" &

“B"INTERSECT AT 0 OR 0.25

DO “B" &

“C"INTERSECT AT 0 OR 0.25

YES

YES

SAVE PATH TO FILE NO

NO

IS “B"

REVERSED IN DIRECTION

COMPARE 0 AND PATHS

YES

NO

NO

NO

IS LOOPING PRESENT

YES YES

資 料 來 源 :【10】

圖 2.38 TRPA Algorithm

旅 次 方 案 輸 出 最 重 要 的 項 目 之 一 便 是 旅 行 時 間 , 胡 大 瀛 於 「 交 通 WWW 資訊系統之設計與實例」【4】中,則是分別探討五種不同運具(小 汽 車、航 空、鐵 路、長 途 客 運 及 都 市 公 車 或 客 運)產生旅次方案之演算 邏 輯 , 其 演 算 法 流 程(圖 2.39)當中,長途客運及市區公車之最短路徑 選 擇 以 Dijkstra algorithm 解決旅行時間計算問題,透過最短路徑距離 的 產 生 後 , 除 以 平 均 時 速 便 可 計 算 出 旅 行 時 間 。

W W W

使 用 者 輸 入 資 料

起 迄 點O ,D

預 計 出 發 或 到 達 時 間D T ,A T

運 輸 工 具 選 擇 M

讀 取 資 料

路 網 資 料

公 車 路 線 資 料

路 網 節 點 座 標

S Q L 資 料 庫

小 汽 車 航 空 鐵 路 長 途 客 運 都 市 公 車 或 客 運

將 不 使 用 之 運 具 的 旅 行 時 間 設 為 無 限 大

D ijk stra a lg o rith m 解 長 途 運 具 之 最 短 旅 行 時 間 路 徑

(O,

-D 或 O -D, )

接 駁 運 具 小 汽 車

接 駁 運 具 大 眾 運 輸

將 小 汽 車 、 航 空 、 鐵 路 、 長 途 客 運 等 節 線 旅 行 時 間 設 為 無 限 大

將 小 汽 車 路 網 之 節 線 旅 行 時 間 改 為 步

行 時 間 ( 轉 換 為 步 行 路 網 ) 將 將 大 眾 運 輸 工

具 之 節 線 旅 行 時 間 設 為 無 限 大 將 將 大 眾 運 輸 工

具 之 節 線 旅 行 時 間 設 為 無 限 大

Y E N, s K sh o rte st p a th a lg o rith m 解 小 客 車 K 條 最 短 旅

行 時 間 路 徑

D ijk stra a lg o rith m 解 小 汽 車 最 短 旅 行

時 間 路 徑

D ijk stra a lg o rith m 解 大 眾 運 輸 最 短 旅 行

時 間 路 徑

結 合 長 途 運 具 與 接 駁 運 具 最 短 旅 行 時 間 運 具

預 計 到 達 或 建 議 出 發 時 間 之 運 算

旅 程 規 劃 結 果 輸 出

資 料 來 源 :【4】

圖 2.39 旅程規劃運算程式流程

由 於 傳 統 的 路 徑 選 擇 上 是 考 量 全 部 的 路 網 , 故 搜 尋 時 間 上 必 須 計 算 整 個 路 網 全 部 的 節 點 , 如 此 便 會 花 費 大 量 的 運 算 時 間 。 曾 敬 文 【5】

於 「 階 層 式 路 網 選 擇 系 統 之 構 建 」 中 將 道 路 分 級 , 透 過 道 路 的 分 級 的

概 念 , 可 針 對 使 用 者 的 需 求 分 析 特 定 的 路 網 即 可 , 以 解 省 大 量 的 運 算 時 間 及 儲 存 空 間 。 汽 車 客 運 會 採 用 之 道 路 路 網 層 級 如 下 :

一、第 一 層 路 網:跨 縣 市 客 運 服 務,即 長 途 國 道 客 運 如 圖 2.40 所示 。

資 料 來 源 :【5】

圖 2.40 第一層路網

二 、 第 二 層 路 網 : 市 區 客 運 服 務 , 即 市 區 公 車 , 如 圖 2.41 所示。

資 料 來 源 :【5】

圖 2.41 第二層路網

不 同 層 級 之 路 網 相 連 的 節 點 為 Gate,分析以長途客運及市區客運 應 用 的 兩 個 層 級 後 ,Gate 於市區客運路線 A 及國道客運路線 B 之最 大 容 忍 步 行 範 圍 內 之 轉 乘 點 範 圍 。

為 了 提 供 使 用 者 有 效 且 正 確 之 步 行 導 引 地 圖 , 故 於 起 點 至 第 一 搭 乘 點 以 及 最 後 搭 乘 點 至 迄 點 間 的 兩 點 間 之 路 徑 規 劃(Route Guidance)

必 須 是 可 連 接 的 路 徑 且 應 為 最 短 路 徑 。

林 煜 晴 【3】 提 及 最 短 路 徑 問 題 基 本 上 分 為 四 類 問 題 :(1)一 對 一 最 短 路 徑(one-to-one shortest path),即路網中特定起點到特定迄點最 短 路 徑;(2)一對多最短路徑(one-to-all shortest path),即一個特定起點 到 網 路 上 其 它 點 的 最 短 路 徑 ;(3) 多 對 多 最 短 路 徑 (all-to-all shortest path),即任兩點的最短路徑;(4)k 條最短路徑(k-shortest path),即找 第 一 條 、 第 二 條 至 第 k 條的最短路徑。

在 一 對 一 及 一 對 多 最 短 路 徑 演 算 法 當 中,以 Heuristic A*演算法以 及 Dijkstra 演算法最具代表性,以下便針對這兩種演算法加以說明。

一 、Heuristic A*演算法

動 態 規 劃 法 對 於 道 路 分 布 均 勻 之 情 況 因 觀 測 點 之 擴 散 幾 乎 近 圓 形 , 相 對 於 終 點 處 的 擴 散 區 域 對 最 佳 路 徑 的 產 生 大 都 沒 有 幫 助 , 所 以 在 計 算 時 會 浪 費 許 多 時 間 ; 而 貪 心 法 則 是 以 人 類 的 思 考 方 式 運 算 , 在 不 知 走 哪 一 條 路 為 最 短 路 徑 的 情 況 下 , 通 常 會 選 擇 朝 最 接 近 終 點 的 路 走,但 是 貪 心 法 則 所 產 生 的 路 徑 經 常 非 最 短 路 徑。舉 一 最 簡 單 的 例 子 來 看,如 圖 2.42 有 A、B、C、D 四地,若 要 從A 地到 D 地明顯要走 A-B-D 最近,但若使用貪心法則(Greedy Algorithm),因為 h(b)>h(c),所以搜尋出來的路徑卻會是 A-C-D。

資 料 來 源 :【5】

圖 2.42 四個城市簡易路網圖

在 此 狀 況 下 ,A*演 算 法 應 蘊 而 生 , A*演 算 法 可 說 是 動 態 規 劃 與 貪 心 法 則 的 綜 合 體 , 此 演 算 法 運 運 一 函 數 f

( )

n

( )

n g

( ) ( )

n h n

f = + 。 g

( )

n 是 從 起 點 到 點 n 的最短路徑,h

( )

n 的 定 義

是 從 節 點 n 到目標點最低成本的估計值,所以 f

( )

n 等 於 從 起 點 通 過 點 n 到目標點最低成本的估計值。根據前述定義,A*搜尋法可 以 說 是 一 種 最 佳 化 的 搜 尋 方 法,同 時 所 找 出 的 路 徑 也 將 是 成 本 最 小 的 。

二 、Dijkstra 演算法

求 解 最 短 路 徑 問 題 最 早 也 最 常 被 運 用 到 各 個 領 域 的 是 Dijkstra 演 算 法 , 這 個 方 法 的 基 本 概 念 是給 節 點 一 個 暫 時 性 標 記 (Label),這個標號代表由起點到此節點路徑的成本,這些標號也 將 隨 著 重 複 的 演 算 步 驟 而 修 正 , 每一 個 循 環 都 有 一 個 暫 時 性 的 標 號 轉 換 成 永 久 性 標 號 。 永 久 性 標 號及 代 表 由 起 點 到 此 點 的 最 短 路 徑 長 度 。 以 下 將 說 明 其 演 算 法 及 步 驟 :

G:是一個以陣列 C=[Cij]為路徑成本的網路。

X:為其所有點的集合。

S:Start。

T:Terminal。

A(S):所有從 S 點出發可以到達的點集合,

T

A

(S)。 暫時性標號:代表由起點S 到此節點路徑的長度上界。

永久性標號:代表由起點S 到此節點的最短路徑長度(最低成本)。

所謂最短路徑問題就是要找出從起點S 到終點 T 的最短路徑,其中 S、

X T

∈ 。

步驟一:令L(Xi)為 Xi 的標號,給起點 S 永久標號且 L(S) = 0,給所有 不等於S 的 Xi 一個暫時性標號,且 L(Xi) = ∞,令 P = S,Γ(P) 為點P 以一個路段(Arc)相連的所有點集合。

步驟二:改變標號值,對所有屬於Γ(P)且具暫時性標號的 Xi,更新其 標號為:L(Xi) = min[L(Xi),L(P)+C (P,Xi)] (方程式 1)

步驟三:對所有暫時性標號找出L(X) = min[L(Xi)]的 Xi。

步驟四:定Xi 的標號為永久性的,且令 P = Xi。

步驟五:如果P=T,則此即為所求、如果 PT,則重複從步驟二開始。

相關文件