SlideShare a Scribd company logo
1 of 23
Optimal Shortest Path
Parallel Algorithm
for Permutation Graphs
2011/10/20
釧路工業高等専門学校
電子情報システム工学専攻
五十嵐優太
発表の流れ

本論文の研究内容
Single-Source Shortest Path Problemにつ
 いて
Permutation Graphについて
木構造 LINK について
導出アルゴリズム SSSPについて
考察と応用

                                         1
本論文の研究内容

あるグラフにおける単一始点最短経路問題は,
 計算量 O(m log n) で解くことができる[1].


目的
     対象グラフをPermutation graph
     に限定することにより計算量削減.

                   [1]J. Kleinberg, E. Tardos著, 浅野孝夫ら 訳,
                   ``Algorithm Design'',
                   共立出版株式会社, 2009.
                                                       2
Single-Source Shortest Path Problem



Single-Source Shortest Path Problem
         単一始点最短経路問題



    あるグラフ G = ( V, E ) に対して,
ある節点 t と s ∈{ V - t }との最短経路を導出する問題


                                       3
単一始点最短経路問題の例

       t=5
             1        2   3       4


             10                   8
                  5
                              6



             11       9   7


P(1) P(s) :5節点 s から t までの最短経路
     = ( 1, )
P(10) = ( 10, 11, 9, 5 ) for every vertices…
                                               4
Permutation Graph ( 1 )
    V           π : Permutation function
1                1
                     π(V) = { 4, 5, 7,
2                2
                                 1, 3, 6, 2}
3                3

4                4
                      対応する番号間に
5                5
                       線が引かれる.
6                6

7                7
                                               5
Permutation Graph ( 2 )
    V           π
1                   1        1          2

2                   2

3                   3
                        4        5              7
4                   4

5                   5

6                   6        3          6

                            Permutation Graph
7                   7
                                                    6
木構造 LINK の生成

Permutation Graph の幾何学的表現を応用




        木構造 LINK を生成


LINK を生成することにより,パスの導出が容易に
            なる.


                               7
LINK を構築するための準備 (1)

    G                 G’
        1       2          1’        2’




4           5       7 4’        5’        7’




        3       6          3’        6’

                                               8
LINK を構築するための準備 (2)

lv(u) = max({ u } ∪ { u | (u, v) ∈ E})
lp(u) = π-1 (max ({π(u)} ∪ {π(v) | (u, v) ∈ E})
 V            π
1                 1   lv(6) = 7
2                 2
                      lp(6) = 3
3                 3
4                 4
5                 5   lv(6) = 7’
6                 6
                      lp(6’) = 3
7                 7
                                                  9
LINK の構築方法 (1)
        ある任意の節点 t から LINK を構築

例:t=6

V          π       1. 6 と 6’ を同一化.
1              1       link(6) = nil.
2              2
3              3                6
4              4
5              5
6              6
7              7
                                        10
LINK の構築方法 (2)
例:t=6

V        π       2. (u, 6) ∈ E
1            1
                    link(u) = link(u’) = 6.
2            2                     6
3            3
                 7’      7              3     3’
4            4
5            5
6            6
7            7

                                                   11
LINK の構築方法 (3)
例:t=6
                   3. u ∈ V - t - { v | (v, t) ∈ E}
                      link(u) = lv(u) .
V        π            u ∈ { 1, 2, 4, 5}.
1            1
                      lv(1) = lv(2) = lv(5) = 7’
2            2        lv(4) = 4’
                                          6
3            3
4            4        7’       7              3       3’
5            5
6            6 1       2           5

7            7

                                                           12
LINK の構築方法 (4)
 例:t=6
                     4. u’ ∈ V’ - t’ - { v’ | (v’, t’) ∈ E’}
                        link(u’) = lp(u’) .
 V’       π             u ∈ { 1’, 2’, 4’, 5’}.
1’         1’
                        lp(1’) = 1, lp(2’) = 2,
2’         2’           lp(4’) = lp(5’) = 3
                                            6
3’         3’
4’         4’           7’        7               3        3’
5’         5’
6’         6’ 1          2            5      4’       5’

7’         7’
                1’      2’                   4

                                                                13
アルゴリズム SSSP

Input:

Permutation 関数 π,
任意の節点 t ( u > t, π(u) < π(t) ).
Output:

各節点 s ∈ V - {t} と節点 t 間の
最短経路 P(s).


                                  14
SSSP の実行例 (1)
例:t=6
              V            π                   1           2
          1                    1
          2                    2
          3                    3
          4                    4           4       5           7
          5                    5
          6                    6
          7                    7               3           6
Step 1.
     lv(u), lp(u), 1 ≦ u ≦ n の導出.
      u           1    2           3   4       5       6   7
    lv(u)         7    7           7   4       7       7   7
    lp(u)         1    2           3   3       3       3   3
                                                                   15
SSSP の実行例 (2)
        例:t=6
    V                π      V’             π
1                        1 1’              1’       1           2           1’        2’
2                        2 2’              2’
3                        3 3’              3’ 4             5        7 4’        5’        7’
4                        4 4’              4’
5                        5 5’              5’
                                                    3            6          3’        6’
6                        6 6’              6’
7                        7 7’              7’
        Step 2.
             G の複製 G’ を生成し,lv, lp を修正.
              u      1           2    3        4        5       6       7
            lv(u)    7’
                     7           7’
                                 7    7’
                                      7        4’
                                               4    7’
                                                    7           7’
                                                                7      7’
                                                                       7
            lp(u’)
             lp(u)   1           2    3        3        3       3       3
                                                                                                16
SSSP の実行例 (2)
例:t=6
Step 3.
   V ∪V’ から LINK を構築.

                          6


             7’   7            3        3’


        1    2        5   4’       5’


        1’   2’           4



                                             17
SSSP の実行例 (2)
例:t=6
                                6

               7’      7              3        3’

          1     2          5     4’       5’

          1’   2’                4
Step 4.
   s ∈V - {t} に対して,Q(s) と Q(s’) を計算.
   短いものを P(s) とする.
  s=1
    Q(1) = ( 1, 7’, 6 ), Q(1’) = ( 1’, 1, 7’, 6 )
    P(1) = Q(1) = ( 1, 7’, 6 )
                                                    18
SSSP の実行例 (3)
  例:t=6
      Step 4.                                             6

                             7’          7                     3             3’

                       1      2              5            4’         5’

                       1’    2’                           4

  s           1                   2                3                4                 5           7
Q(s)      (1, 7’, 6)        (2, 7’, 6)           (3, 6)        (4, 4’, 3, 6)      (5, 7’, 6)    (7, 6)
Q(s’)   (1’, 1, 7’, 6) (2’, 2, 7’, 6)        (3’, 6)            (4’, 3, 6)        (5’, 3, 6)    (7’, 6)
P(s)      (1, 7’, 6)        (2, 7’, 6)           (3, 6)         (4’, 3, 6)        (5, 7’, 6),   (7, 6)
                                                                                  (5’, 3, 6)

                                                                                                          19
計算量の解析
Step 1. lp, lv の導出.: O(n)



Step 2. G の複製.: O(n)



Step 3. LINK の構築.: O(n)


                                                   深さ優先探索などの
Step 4. 最短経路 P(s) の導出. : O(n)                      走査アルゴリズム[2].
                                                     計算量:O(n)

                                [2] Chen, C. Y., Das, S. K.,
全体の計算量 : O(n)                   ``Parallel algorithms for level-order traversals of general trees'',
                                J. Combin. Inform. System Sci 14 2--3, pp.135--162, 1989.
                                                                                                  20
考察と応用

 Permutation Graph に限定することにより,仕事
量 O(n) で単一始点最短経路問題を解くことが可
能となった.




all-pairs shortest path problem
 全対最短経路問題.
 全ての節点対に対して,最短経路を導出する.

                 計算量 : O(n2)
                                   21
ご清聴ありがとうございまし
     た.




                22

More Related Content

What's hot

ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3noname409
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリングAkira Miyazawa
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説noname409
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)narumikanno0918
 
卒業論文発表スライド 分割統治法の拡張
卒業論文発表スライド 分割統治法の拡張卒業論文発表スライド 分割統治法の拡張
卒業論文発表スライド 分割統治法の拡張masakazuyamanaka
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作るTaketo Sano
 
topology of musical data
topology of musical datatopology of musical data
topology of musical dataTatsuki SHIMIZU
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版dsp_kyoto_2014
 
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜Takeshi Arabiki
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換AtCoder Inc.
 
20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用matsumoring
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門irrrrr
 
x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論Junpei Tsuji
 
Ibisml2011 06-20
Ibisml2011 06-20Ibisml2011 06-20
Ibisml2011 06-20Yasuo Tabei
 
PFDS 5.5 Pairing heap
PFDS 5.5 Pairing heapPFDS 5.5 Pairing heap
PFDS 5.5 Pairing heap昌平 村山
 
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」Junpei Tsuji
 

What's hot (20)

ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
独立成分分析 ICA
独立成分分析 ICA独立成分分析 ICA
独立成分分析 ICA
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
卒業論文発表スライド 分割統治法の拡張
卒業論文発表スライド 分割統治法の拡張卒業論文発表スライド 分割統治法の拡張
卒業論文発表スライド 分割統治法の拡張
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作る
 
最急降下法
最急降下法最急降下法
最急降下法
 
PRML 10.4 - 10.6
PRML 10.4 - 10.6PRML 10.4 - 10.6
PRML 10.4 - 10.6
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版
 
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
 
RMQ クエリ処理
RMQ クエリ処理RMQ クエリ処理
RMQ クエリ処理
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
 
20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門
 
x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論
 
Ibisml2011 06-20
Ibisml2011 06-20Ibisml2011 06-20
Ibisml2011 06-20
 
PFDS 5.5 Pairing heap
PFDS 5.5 Pairing heapPFDS 5.5 Pairing heap
PFDS 5.5 Pairing heap
 
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
 

Viewers also liked

Super Sales for 2012
Super Sales for 2012Super Sales for 2012
Super Sales for 2012Michelle Kay
 
Actuator catalog Cair Electric valve Actuator & motorized valve manufacturer
Actuator catalog Cair Electric valve Actuator & motorized valve manufacturerActuator catalog Cair Electric valve Actuator & motorized valve manufacturer
Actuator catalog Cair Electric valve Actuator & motorized valve manufacturerCair Euromatic Automation Pvt. Ltd.
 
Super Sales for 2012
Super Sales for 2012Super Sales for 2012
Super Sales for 2012Michelle Kay
 
Ch6 suppy demand & gov't policy
Ch6 suppy demand & gov't policyCh6 suppy demand & gov't policy
Ch6 suppy demand & gov't policyhurrys
 
Meeting for reporting the result of my exchange student program
Meeting for reporting the result of my exchange student programMeeting for reporting the result of my exchange student program
Meeting for reporting the result of my exchange student programYuta Igarashi
 
DigitaSaluzzo - Formazione del 21 novembre
DigitaSaluzzo - Formazione del 21 novembreDigitaSaluzzo - Formazione del 21 novembre
DigitaSaluzzo - Formazione del 21 novembreComune di Saluzzo
 
ΣΕΝΑΡΙΟ 1,ΣΤΑΥΡΟΦΟΡΙΕΣ
ΣΕΝΑΡΙΟ 1,ΣΤΑΥΡΟΦΟΡΙΕΣΣΕΝΑΡΙΟ 1,ΣΤΑΥΡΟΦΟΡΙΕΣ
ΣΕΝΑΡΙΟ 1,ΣΤΑΥΡΟΦΟΡΙΕΣ890ko890
 
Rupee value & its impact on various sectors
Rupee value & its impact on various sectorsRupee value & its impact on various sectors
Rupee value & its impact on various sectorsNagarjuna Adiga
 
ΣΕΝΑΡΙΟ 2,ΛΥΣΙΑ ΥΠΕΡ ΜΑΝΤΙΘΕΟΥ
ΣΕΝΑΡΙΟ 2,ΛΥΣΙΑ ΥΠΕΡ ΜΑΝΤΙΘΕΟΥΣΕΝΑΡΙΟ 2,ΛΥΣΙΑ ΥΠΕΡ ΜΑΝΤΙΘΕΟΥ
ΣΕΝΑΡΙΟ 2,ΛΥΣΙΑ ΥΠΕΡ ΜΑΝΤΙΘΕΟΥ890ko890
 
Filesystemimplementationpre final-160919095849
Filesystemimplementationpre final-160919095849Filesystemimplementationpre final-160919095849
Filesystemimplementationpre final-160919095849marangburu42
 

Viewers also liked (20)

Developing ideas
Developing ideasDeveloping ideas
Developing ideas
 
好奇心
好奇心好奇心
好奇心
 
Super Sales for 2012
Super Sales for 2012Super Sales for 2012
Super Sales for 2012
 
Actuator catalog Cair Electric valve Actuator & motorized valve manufacturer
Actuator catalog Cair Electric valve Actuator & motorized valve manufacturerActuator catalog Cair Electric valve Actuator & motorized valve manufacturer
Actuator catalog Cair Electric valve Actuator & motorized valve manufacturer
 
Congestion cost
Congestion costCongestion cost
Congestion cost
 
Super Sales for 2012
Super Sales for 2012Super Sales for 2012
Super Sales for 2012
 
123
123123
123
 
Electric Actuator Valve Damper technical catalog pdf
Electric Actuator Valve Damper technical catalog pdfElectric Actuator Valve Damper technical catalog pdf
Electric Actuator Valve Damper technical catalog pdf
 
Ch6 suppy demand & gov't policy
Ch6 suppy demand & gov't policyCh6 suppy demand & gov't policy
Ch6 suppy demand & gov't policy
 
好奇心
好奇心好奇心
好奇心
 
Meeting for reporting the result of my exchange student program
Meeting for reporting the result of my exchange student programMeeting for reporting the result of my exchange student program
Meeting for reporting the result of my exchange student program
 
DigitaSaluzzo - Formazione del 21 novembre
DigitaSaluzzo - Formazione del 21 novembreDigitaSaluzzo - Formazione del 21 novembre
DigitaSaluzzo - Formazione del 21 novembre
 
ΣΕΝΑΡΙΟ 1,ΣΤΑΥΡΟΦΟΡΙΕΣ
ΣΕΝΑΡΙΟ 1,ΣΤΑΥΡΟΦΟΡΙΕΣΣΕΝΑΡΙΟ 1,ΣΤΑΥΡΟΦΟΡΙΕΣ
ΣΕΝΑΡΙΟ 1,ΣΤΑΥΡΟΦΟΡΙΕΣ
 
Entertainment services
Entertainment servicesEntertainment services
Entertainment services
 
Rupee value & its impact on various sectors
Rupee value & its impact on various sectorsRupee value & its impact on various sectors
Rupee value & its impact on various sectors
 
Fórmula para: "Empezar tu propio Negocio"
Fórmula para: "Empezar tu propio Negocio"Fórmula para: "Empezar tu propio Negocio"
Fórmula para: "Empezar tu propio Negocio"
 
Informacionalismo.pptx
Informacionalismo.pptxInformacionalismo.pptx
Informacionalismo.pptx
 
CAG2016 Poster - KP - Final
CAG2016 Poster - KP - FinalCAG2016 Poster - KP - Final
CAG2016 Poster - KP - Final
 
ΣΕΝΑΡΙΟ 2,ΛΥΣΙΑ ΥΠΕΡ ΜΑΝΤΙΘΕΟΥ
ΣΕΝΑΡΙΟ 2,ΛΥΣΙΑ ΥΠΕΡ ΜΑΝΤΙΘΕΟΥΣΕΝΑΡΙΟ 2,ΛΥΣΙΑ ΥΠΕΡ ΜΑΝΤΙΘΕΟΥ
ΣΕΝΑΡΙΟ 2,ΛΥΣΙΑ ΥΠΕΡ ΜΑΝΤΙΘΕΟΥ
 
Filesystemimplementationpre final-160919095849
Filesystemimplementationpre final-160919095849Filesystemimplementationpre final-160919095849
Filesystemimplementationpre final-160919095849
 

ぜみなーる

  • 1. Optimal Shortest Path Parallel Algorithm for Permutation Graphs 2011/10/20 釧路工業高等専門学校 電子情報システム工学専攻 五十嵐優太
  • 2. 発表の流れ 本論文の研究内容 Single-Source Shortest Path Problemにつ いて Permutation Graphについて 木構造 LINK について 導出アルゴリズム SSSPについて 考察と応用 1
  • 3. 本論文の研究内容 あるグラフにおける単一始点最短経路問題は, 計算量 O(m log n) で解くことができる[1]. 目的 対象グラフをPermutation graph に限定することにより計算量削減. [1]J. Kleinberg, E. Tardos著, 浅野孝夫ら 訳, ``Algorithm Design'', 共立出版株式会社, 2009. 2
  • 4. Single-Source Shortest Path Problem Single-Source Shortest Path Problem 単一始点最短経路問題 あるグラフ G = ( V, E ) に対して, ある節点 t と s ∈{ V - t }との最短経路を導出する問題 3
  • 5. 単一始点最短経路問題の例 t=5 1 2 3 4 10 8 5 6 11 9 7 P(1) P(s) :5節点 s から t までの最短経路 = ( 1, ) P(10) = ( 10, 11, 9, 5 ) for every vertices… 4
  • 6. Permutation Graph ( 1 ) V π : Permutation function 1 1 π(V) = { 4, 5, 7, 2 2 1, 3, 6, 2} 3 3 4 4 対応する番号間に 5 5 線が引かれる. 6 6 7 7 5
  • 7. Permutation Graph ( 2 ) V π 1 1 1 2 2 2 3 3 4 5 7 4 4 5 5 6 6 3 6 Permutation Graph 7 7 6
  • 8. 木構造 LINK の生成 Permutation Graph の幾何学的表現を応用 木構造 LINK を生成 LINK を生成することにより,パスの導出が容易に なる. 7
  • 9. LINK を構築するための準備 (1) G G’ 1 2 1’ 2’ 4 5 7 4’ 5’ 7’ 3 6 3’ 6’ 8
  • 10. LINK を構築するための準備 (2) lv(u) = max({ u } ∪ { u | (u, v) ∈ E}) lp(u) = π-1 (max ({π(u)} ∪ {π(v) | (u, v) ∈ E}) V π 1 1 lv(6) = 7 2 2 lp(6) = 3 3 3 4 4 5 5 lv(6) = 7’ 6 6 lp(6’) = 3 7 7 9
  • 11. LINK の構築方法 (1) ある任意の節点 t から LINK を構築 例:t=6 V π 1. 6 と 6’ を同一化. 1 1 link(6) = nil. 2 2 3 3 6 4 4 5 5 6 6 7 7 10
  • 12. LINK の構築方法 (2) 例:t=6 V π 2. (u, 6) ∈ E 1 1 link(u) = link(u’) = 6. 2 2 6 3 3 7’ 7 3 3’ 4 4 5 5 6 6 7 7 11
  • 13. LINK の構築方法 (3) 例:t=6 3. u ∈ V - t - { v | (v, t) ∈ E} link(u) = lv(u) . V π u ∈ { 1, 2, 4, 5}. 1 1 lv(1) = lv(2) = lv(5) = 7’ 2 2 lv(4) = 4’ 6 3 3 4 4 7’ 7 3 3’ 5 5 6 6 1 2 5 7 7 12
  • 14. LINK の構築方法 (4) 例:t=6 4. u’ ∈ V’ - t’ - { v’ | (v’, t’) ∈ E’} link(u’) = lp(u’) . V’ π u ∈ { 1’, 2’, 4’, 5’}. 1’ 1’ lp(1’) = 1, lp(2’) = 2, 2’ 2’ lp(4’) = lp(5’) = 3 6 3’ 3’ 4’ 4’ 7’ 7 3 3’ 5’ 5’ 6’ 6’ 1 2 5 4’ 5’ 7’ 7’ 1’ 2’ 4 13
  • 15. アルゴリズム SSSP Input: Permutation 関数 π, 任意の節点 t ( u > t, π(u) < π(t) ). Output: 各節点 s ∈ V - {t} と節点 t 間の 最短経路 P(s). 14
  • 16. SSSP の実行例 (1) 例:t=6 V π 1 2 1 1 2 2 3 3 4 4 4 5 7 5 5 6 6 7 7 3 6 Step 1. lv(u), lp(u), 1 ≦ u ≦ n の導出. u 1 2 3 4 5 6 7 lv(u) 7 7 7 4 7 7 7 lp(u) 1 2 3 3 3 3 3 15
  • 17. SSSP の実行例 (2) 例:t=6 V π V’ π 1 1 1’ 1’ 1 2 1’ 2’ 2 2 2’ 2’ 3 3 3’ 3’ 4 5 7 4’ 5’ 7’ 4 4 4’ 4’ 5 5 5’ 5’ 3 6 3’ 6’ 6 6 6’ 6’ 7 7 7’ 7’ Step 2. G の複製 G’ を生成し,lv, lp を修正. u 1 2 3 4 5 6 7 lv(u) 7’ 7 7’ 7 7’ 7 4’ 4 7’ 7 7’ 7 7’ 7 lp(u’) lp(u) 1 2 3 3 3 3 3 16
  • 18. SSSP の実行例 (2) 例:t=6 Step 3. V ∪V’ から LINK を構築. 6 7’ 7 3 3’ 1 2 5 4’ 5’ 1’ 2’ 4 17
  • 19. SSSP の実行例 (2) 例:t=6 6 7’ 7 3 3’ 1 2 5 4’ 5’ 1’ 2’ 4 Step 4. s ∈V - {t} に対して,Q(s) と Q(s’) を計算. 短いものを P(s) とする. s=1 Q(1) = ( 1, 7’, 6 ), Q(1’) = ( 1’, 1, 7’, 6 ) P(1) = Q(1) = ( 1, 7’, 6 ) 18
  • 20. SSSP の実行例 (3) 例:t=6 Step 4. 6 7’ 7 3 3’ 1 2 5 4’ 5’ 1’ 2’ 4 s 1 2 3 4 5 7 Q(s) (1, 7’, 6) (2, 7’, 6) (3, 6) (4, 4’, 3, 6) (5, 7’, 6) (7, 6) Q(s’) (1’, 1, 7’, 6) (2’, 2, 7’, 6) (3’, 6) (4’, 3, 6) (5’, 3, 6) (7’, 6) P(s) (1, 7’, 6) (2, 7’, 6) (3, 6) (4’, 3, 6) (5, 7’, 6), (7, 6) (5’, 3, 6) 19
  • 21. 計算量の解析 Step 1. lp, lv の導出.: O(n) Step 2. G の複製.: O(n) Step 3. LINK の構築.: O(n) 深さ優先探索などの Step 4. 最短経路 P(s) の導出. : O(n) 走査アルゴリズム[2]. 計算量:O(n) [2] Chen, C. Y., Das, S. K., 全体の計算量 : O(n) ``Parallel algorithms for level-order traversals of general trees'', J. Combin. Inform. System Sci 14 2--3, pp.135--162, 1989. 20
  • 22. 考察と応用 Permutation Graph に限定することにより,仕事 量 O(n) で単一始点最短経路問題を解くことが可 能となった. all-pairs shortest path problem 全対最短経路問題. 全ての節点対に対して,最短経路を導出する. 計算量 : O(n2) 21