SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
点素パス問題に対するアルゴリズム


       小林 佑輔
       数理第2研究室


    助教の会 2011 年 7月 11日
研究テーマ
      組合せ的問題に対するアルゴリズム
          特に… 対象: グラフ上の問題
              興味: 多項式時間で解けるか?

   多項式時間アルゴリズム・NP困難性
     自然な問題が  P か NP困難かを知りたい
     似た問題で P or NP困難 が切り替わるのが面白い
     理論的高速化

   マトロイド理論・離散凸関数
     効率良く解ける離散構造の研究
発表の内容
   イントロダクション
     点素パス問題とは
     研究の歴史

   主要な結果
     無向点素パス問題

   近年の発展(我々の結果)
     ある種のグラフ上の辺素パス問題
     目的関数付き点素パス問題
     誘導点素パス問題

   まとめ
点素パス問題
                               パスが頂点を
Input: 頂点対 (s1, t1),…, (sk, tk) 共有しない
Find: 点素なパス P1,…, Pk (Pi : si → ti )

      s1        s3
                                t1


           s2                   t2
                     t3
点素パス問題
                               パスが頂点を
Input: 頂点対 (s1, t1),…, (sk, tk) 共有しない
Find: 点素なパス P1,…, Pk (Pi : si → ti )

      s1        s3
                                t1


           s2                   t2
                     t3
点素(辺素)パス問題
                                     パスが頂点(辺)
    Input: 頂点対 (s1, t1),…, (sk, tk)   を共有しない
    Find: 点素(辺素)なパス P1,…, Pk (Pi : si → ti )

s1                           s1

                       t1                           t1
s2                          s2
                      t2                       t2
    様々な類似問題
        無向グラフ or 有向グラフ
        頂点対数 k が 定数 or 入力の一部
        点素パス or 辺素パス             etc.
    多くの応用を持つ (例: VLSI の設計)
特殊ケース(1): s-t 辺素パス問題
 Input: 頂点対 (s, t)
 Find: 辺素なパス P1,…, Pk (Pi : s → t )
      X                 V-X
                              最大流アルゴリズムで
                              多項式時間で解ける
          s        t




                       すべての s ∊ X ⊆V – t で δ(X) ≧ k
Menger の定理 (最大流・最小カット定理)

k 本の辺素パスが存在
                                      X と V-X を
                                      結ぶ辺の数
特殊ケース(2): t1 = t2 = ・・・ = tk の時
Input: 頂点対 (s1, t) ,…, (sk, t)
Find: 辺素なパス P1,…, Pk (Pi : si → t )
      s1
      s2                  最大流アルゴリズムで
      s3
                  t       多項式時間で解ける

      sk
特殊ケース(2): t1 = t2 = ・・・ = tk の時
Input: 頂点対 (s1, t) ,…, (sk, t)
Find: 辺素なパス P1,…, Pk (Pi : si → t )
      s1
      s2                  最大流アルゴリズムで
      s3
s
                  t       多項式時間で解ける

      sk
特殊ケース(2): t1 = t2 = ・・・ = tk の時
 Input: 頂点対 (s1, t) ,…, (sk, t)
 Find: 辺素なパス P1,…, Pk (Pi : si → t )
       s1
       s2                      最大流アルゴリズムで
       s3
 s
                       t       多項式時間で解ける

       sk

一般の場合にはうまくいかない
       s1        t1
       s2         t2
 s     s3         t3           結ぶ頂点の組を指定
                           t   されるから難しい
       sk        tk
目的:理論的計算量の解明
   様々なバリエーションに対して
     多項式時間で解けるか? NP困難か?
     より効率の良いアルゴリズムは?
目的:理論的計算量の解明
   様々なバリエーションに対して
     多項式時間で解けるか? NP困難か?
     より効率の良いアルゴリズムは?

   点素パス問題の計算量
            有向グラフ           無向グラフ
k : 定数       NP困難          多項式時間
         多項式時間 (平面グラフ)   線形時間 (平面グラフ)
         多項式時間 (非巡回的)
k : 変数       NP困難           NP困難
k : 頂点対数
辺素パスと点素パスの関係
   辺素パス問題は線グラフ上の点素パス問題に帰着可能
                                    s1                                t1
    s1                         t1
                                         2                   7
         2        5       7                          5
     1                              1
                      6    8                                     8
    s2    3   4                t2            3           6
                                    s2           4                   t2
              辺素パス                               点素パス

         定義 (線グラフ)
           元のグラフの辺が線グラフの頂点に対応
           元のグラフで同じ端点を持つ  線グラフで隣接
   点素パス問題の計算量
            有向グラフ           無向グラフ
k : 定数       NP困難          多項式時間
         多項式時間 (平面グラフ)   線形時間 (平面グラフ)
         多項式時間 (非巡回的)
k : 変数       NP困難           NP困難
k : 頂点対数

   辺素パス問題の計算量
            有向グラフ           無向グラフ
k : 定数      NP困難           多項式時間
         多項式時間 (非巡回的)
k : 変数      NP困難            NP困難
点素・辺素パス問題の歴史
1927   最大最小定理 (s-t パス)            Menger

1956   最大流アルゴリズム                  Ford-Fulkerson

1970s 頂点対数 k が入力の一部の時NP困難         Karp など

1980   k=2, 無向グラフの時のアルゴリズム        Seymour, Thomassen, Shiloach

       k=2, 有向グラフの時NP困難           Even-Itai-Shamir

1994   k: 定数,平面有向グラフの時のアルゴリズム
                         (点素のみ)     Schrijver

1995   k: 定数,無向グラフの時のアルゴリズム        Robertson-Seymour

近年     k: 入力の一部の時の近似アルゴリズム
       特殊ケースに対するアルゴリズム              など
発表の内容
   イントロダクション
     点素パス問題とは
     研究の歴史

   主要な結果
     無向点素パス問題

   近年の発展(我々の結果)
     ある種のグラフ上の辺素パス問題
     目的関数付き点素パス問題
     誘導点素パス問題

   まとめ
無向点素パス問題
                                             パスが頂点を
Input: 頂点対 (s1, t1),…, (sk, tk)               共有しない
Find: 点素なパス P1,…, Pk (Pi : si → ti )


    k=2   多項式時間アルゴリズム
             Seymour, Thomassen, Shiloach (1980)

    k:定数 多項式時間アルゴリズム
             Robertson-Seymour (1995)
                                        s1        s3
    k:変数 NP困難
              Karp (1975)
                                                            t1


                                             s2             t2
                                                       t3
無向点素パス問題
                                             パスが頂点を
Input: 頂点対 (s1, t1),…, (sk, tk)               共有しない
Find: 点素なパス P1,…, Pk (Pi : si → ti )


    k=2   多項式時間アルゴリズム
             Seymour, Thomassen, Shiloach (1980)

    k:定数 多項式時間アルゴリズム
             Robertson-Seymour (1995)
                                        s1        s3
    k:変数 NP困難
              Karp (1975)
                                                            t1


                                             s2             t2
                                                       t3
Robertson-Seymour のアルゴリズム

   頂点対数 k:定数,無向グラフ
    点素(辺素)パス問題に対する多項式時間アルゴリズム
                                 Graph Minors 13 (1995)

   グラフマイナー理論に基づく
      1983年~現在   23本の論文にわたる大理論
             Robertson & Seymour: Graph Minors 1 ~ 23
       グラフ理論・アルゴリズムにおける大きな成果



   計算時間は O(n3)      n: グラフの頂点数
       k に依存する非常に大きな係数がかかる
   Graph minors. I. Excluding a forest, JCTB, 35 (1983), 39-61
   Graph minors. II. Algorithmic aspects of tree-width, J. Algorithms, 7 (1986), 309-322
   Graph minors. III. Planar tree-width, JCTB, 36 (1984), 49-64
   Graph minors. IV. Tree-width and well-quasi-ordering, JCTB, 48 (1990), 227-254
   Graph minors. V. Excluding a planar graph, JCTB, 41 (1986), 92-114
   Graph minors. VI. Disjoint paths across a disc, JCTB, 41 (1986), 115-138
   Graph minors. VII. Disjoint paths on a surface, JCTB, 45 (1988), 212-254
   Graph minors. VIII. A Kuratowski theorem for general surfaces, JCTB, 48 (1990), 255-288
   Graph minors. IX. Disjoint crossed paths, JCTB, 49 (1990), 40-77
   Graph minors. X. Obstructions to tree-decomposition, JCTB, 52 (1991), 153-190
   Graph minors. XI. Circuits on a surface, JCTB, 60 (1994), 72-106
   Graph minors. XII. Distance on a surface, JCTB, 64 (1995), 240-272
   Graph minors. XIII. The disjoint paths problem, JCTB, 63 (1995), 65-110
   Graph minors. XIV. Extending an embedding, JCTB, 65 (1995), 23-50
   Graph minors. XV. Giant steps, JCTB, 68 (1996), 112-148
   Graph minors. XVI. Excluding a non-planar graph, JCTB, 89 (2003), 43-76
   Graph minors. XVII. Taming a vortex, JCTB, 77 (1999), 162-210
   Graph minors. XVIII. Tree-decompositions and well-quasi-ordering, JCTB, 89 (2003), 77-108
   Graph minors. XIX. Well-quasi-ordering on a surface, JCTB, 90 (2004), 325-385
   Graph minors. XX. Wagner's conjecture, JCTB, 92 (2004), 325-357
   Graph minors. XXI. Graphs with unique linkages, JCTB, 99 (2009), 583-616
   Graph minors. XXII. Irrelevant vertices in linkage problems, manuscript.
   Graph minors. XXIII. Nash-Williams' immersion conjecture, manuscript.
RSアルゴリズムの概要
              グラフの複雑さの指標
グラフの木幅を計算
(1) 木幅≦(定数): 動的計画法で解く       GM5 など
(2) 木幅 > (定数): 大きなウォールを含む

  ウォール
RSアルゴリズムの概要
グラフの木幅を計算
(1) 木幅≦(定数): 動的計画法で解く
(2) 木幅 > (定数): 大きなウォールを含む
  (2-1) 内部がほぼ平面的な大きなウォールを含む


  (2-2) 大きなクリークマイナーを含む
    ウォール             クリークマイナー
                                 連結な
                                部分グラフ
RSアルゴリズムの概要
グラフの木幅を計算
(1) 木幅≦(定数): 動的計画法で解く
(2) 木幅 > (定数): 大きなウォールを含む
  (2-1) 内部がほぼ平面的な大きなウォールを含む
               中央の頂点を取り除く    GM22 の結果

  (2-2) 大きなクリークマイナーを含む
        ウォール           クリークマイナー
   s1                              連結な
   t3             t1              部分グラフ
                 s2
   s3            t2
RSアルゴリズムの概要
グラフの木幅を計算
(1) 木幅≦(定数): 動的計画法で解く
(2) 木幅 > (定数): 大きなウォールを含む
  (2-1) 内部がほぼ平面的な大きなウォールを含む
            中央の頂点を取り除く

  (2-2) 大きなクリークマイナーを含む
             点素パスが見つかる
             頂点を取り除く   s1
                            t1 t3
以上を繰り返す                  s2
                            t2
                                 s3
n: グラフの頂点数
RSアルゴリズムの概要                    m: グラフの辺数


グラフの木幅を計算
 (1) 木幅≦(定数): 動的計画法で解く            O(n2)
 (2) 木幅 > (定数): 大きなウォールを含む
  (2-1) 内部がほぼ平面的な大きなウォールを含む
             中央の頂点を取り除く
                                  O(n2)
  (2-2) 大きなクリークマイナーを含む
              点素パスが見つかる          O(m)
              頂点を取り除く

以上を繰り返す O(n) 回               合計 O(n3) 時間
発表の内容
   イントロダクション
     点素パス問題とは
     研究の歴史

   主要な結果
     無向点素パス問題       Break time
   近年の発展(我々の結果)
     ある種のグラフ上の辺素パス問題
     目的関数付き点素パス問題
     誘導点素パス問題

   まとめ
Break time
   点素パスを見つけよ
       s s2
        1


                              s3
                    s4
                         t1
            t3 t2             t4
Break time
   点素パスを見つけよ
       s s2
        1


                              s3
                    s4
                         t1
            t3 t2             t4
発表の内容
   イントロダクション
     点素パス問題とは
     研究の歴史

   主要な結果
     無向点素パス問題

   近年の発展(我々の結果)
                             SODA ’10
     ある種のグラフ上の辺素パス問題   (with K. Kawarabayashi)
     目的関数付き点素パス問題
     誘導点素パス問題

   まとめ
辺素パスと点素パスの関係
   辺素パス問題は線グラフ上の点素パス問題に帰着可能
                                   s1                                 t1
    s1                        t1
                                         2                   7
         2       5       7                           5
     1                             1
                     6    8                                      8
    s2   3   4                t2             3           6
                                   s2            4                   t2
             辺素パス                                点素パス
     RSの点素パス問題に対する                      問題点:
       O(n3) 時間アルゴリズム                    正当性の証明が難解
         辺素パス問題に対する                      k に依存する非常に大きな
         O(m3) 時間アルゴリズム                 係数がかかる
成果:特殊ケースにおける単純なアルゴリズム
                          正当性の証明
グラフがオイラー的 or 4辺連結な場合:       が容易
   辺素パス問題に対する単純なアルゴリズム
   k に依存する係数が非常に小さくなる




  グラフがオイラー的   すべての頂点の次数が偶数
  グラフが4辺連結    すべての辺カットの大きさが4以上
成果:特殊ケースにおける単純なアルゴリズム
                                      正当性の証明
グラフがオイラー的 or 4辺連結な場合:                   が容易
   辺素パス問題に対する単純なアルゴリズム
   k に依存する係数が非常に小さくなる
    RSのアルゴリズム          ・ 2
                           2
                               本研究
                     ・・
     指数関数や f (t) = 22 t 個        指数関数の合成(3回)
     などの合成関数                     平面的なら指数関数

  グラフがオイラー的            すべての頂点の次数が偶数
  グラフが4辺連結             すべての辺カットの大きさが4以上
発表の内容
   イントロダクション
     点素パス問題とは
     研究の歴史

   主要な結果
     無向点素パス問題

   近年の発展(我々の結果)
     ある種のグラフ上の辺素パス問題
                          ISAAC ’09
     目的関数付き点素パス問題      (with C. Sommer)
     誘導点素パス問題

   まとめ
目的関数付き点素パス問題 (Min-Sum)
Input: 頂点対 (s1, t1),…, (sk, tk), 各辺 e の長さ l(e)
Find: 点素パス P1,…, Pk (Pi : si → ti )
         s.t. パスの合計長さ最小

 自然な最適化問題
 ほとんどの場合で計算複雑度が未解決
目的関数付き点素パス問題 (Min-Sum)
 Input: 頂点対 (s1, t1),…, (sk, tk), 各辺 e の長さ l(e)
 Find: 点素パス P1,…, Pk (Pi : si → ti )
          s.t. パスの合計長さ最小
                                                   s1
 自然な最適化問題                                               t1
 ほとんどの場合で計算複雑度が未解決                               s2
                                                        t2
                                             s3
                                                             t3
解決済のケース
 NP困難な点素パス問題に対応               NP困難
 最小費用流問題に帰着できる場合              多項式時間
 平面グラフで,s1,..., sk が同一面上,t1,..., tk が同一面上
            多項式時間 (Colin de Verdière & Schrijver, 2008)
Min-Sum 点素パス問題に対する成果
成果:特殊ケースの解決
  無向平面グラフで ターミナルが 高々2つの面上 にあるとき
  k=2 の Min-Sum 点素パス問題は 多項式時間 で解ける

            s1
                      s2                  s1
            t1                             t1
                     t2                              t2
                                     s2
                            本研究
            s1
                                                t1
           s2         t1                    t2            s1
                     t2                                   s2

     Colin de Verdière & Schrijver              最小費用流問題
目的関数付き点素パス問題 (Min-Max)
Input: 頂点対 (s1, t1),…, (sk, tk), 各辺 e の長さ l(e)
Find: 点素パス P1,…, Pk (Pi : si → ti )
         s.t. 最も長いパスの長さ最小

多くの場合に NP困難
 (ex. k=2, 無向グラフ, s1=s2 , t1=t2 でもNP困難)

本研究
k=2, 無向グラフ
  木幅 ≧3 なら NP困難
  木幅 ≦2 なら 多項式時間

      グラフの複雑さの指標
発表の内容
   イントロダクション
     点素パス問題とは
     研究の歴史

   主要な結果
     無向点素パス問題

   近年の発展(我々の結果)
     ある種のグラフ上の辺素パス問題
     目的関数付き点素パス問題
                              IPCO ’08
     誘導点素パス問題          (with K. Kawarabayashi)
   まとめ
誘導点素パス問題
     Input: 頂点対 (s1, t1),…, (sk, tk)
     Find: 誘導点素パス P1,…, Pk (Pi : si → ti )
            Pi と Pj は 共通の頂点 も 隣り合う頂点 も持たない
s1
                                 s1

                            t1                      t1

s2                               s2
                       t2                      t2
      誘導点素パスでない                       誘導点素パス
誘導点素パス問題
     Input: 頂点対 (s1, t1),…, (sk, tk)
     Find: 誘導点素パス P1,…, Pk (Pi : si → ti )
            Pi と Pj は 共通の頂点 も 隣り合う頂点 も持たない
s1
                                 s1

                            t1                      t1

s2                               s2
                       t2                      t2
      誘導点素パスでない                       誘導点素パス
 本研究                             動機
 様々なバリエーションの                      点素パス問題の一般化
 理論計算量の解析                         誘導部分グラフの存在判定
誘導点素パス問題の計算量 (本研究)
              有向グラフ            無向グラフ
k : 定数         NP困難            NP困難
           多項式時間 (平面グラフ)    線形時間 (平面グラフ)
            NP困難 (非巡回的)
k : 変数         NP困難             NP困難

k : 頂点対数
           点素パス問題の計算量 (既存の結果)
               有向グラフ           無向グラフ
  k : 定数        NP困難          多項式時間
            多項式時間 (平面グラフ)   線形時間 (平面グラフ)
            多項式時間 (非巡回的)
  k : 変数        NP困難           NP困難
誘導点素パス問題の計算量 (本研究)
              有向グラフ            無向グラフ
k : 定数         NP困難            NP困難
           多項式時間 (平面グラフ)    線形時間 (平面グラフ)
            NP困難 (非巡回的)
k : 変数         NP困難               NP困難

k : 頂点対数                    本研究
           点素パス問題の計算量 (既存の結果)
               有向グラフ           無向グラフ
  k : 定数        NP困難          多項式時間
            多項式時間 (平面グラフ)   線形時間 (平面グラフ)
            多項式時間 (非巡回的)
  k : 変数        NP困難           NP困難
発表の内容
   イントロダクション
     点素パス問題とは
     研究の歴史

   主要な結果
     無向点素パス問題

   近年の発展(我々の結果)
     ある種のグラフ上の辺素パス問題
     目的関数付き点素パス問題
     誘導点素パス問題

   まとめ
まとめ
   点素パス問題の計算複雑度
                有向グラフ           無向グラフ
    k : 定数       NP困難          多項式時間
             多項式時間 (平面グラフ)   線形時間 (平面グラフ)
             多項式時間 (非巡回的)
    k : 変数       NP困難           NP困難

       未解決問題: 平面有向グラフ上の辺素パス問題

研究課題
   様々な拡張(目的関数付き問題など)
   “最大数の対を結ぶ問題” に対する近似アルゴリズム
   高速化

Contenu connexe

Tendances

プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
 

Tendances (20)

Chokudai search
Chokudai searchChokudai search
Chokudai search
 
Code Formula 予選B 解説
Code Formula 予選B 解説Code Formula 予選B 解説
Code Formula 予選B 解説
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話
 
AtCoder Regular Contest 037 解説
AtCoder Regular Contest 037 解説AtCoder Regular Contest 037 解説
AtCoder Regular Contest 037 解説
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
 
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~
 
CODE FESTIVAL 2015 予選A 解説
CODE FESTIVAL 2015 予選A 解説CODE FESTIVAL 2015 予選A 解説
CODE FESTIVAL 2015 予選A 解説
 
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
 
AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説
 
ARC#003D
ARC#003DARC#003D
ARC#003D
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
 

Similaire à Jokyo20110711

ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
noname409
 
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
ryotat
 
卒業論文発表スライド 分割統治法の拡張
卒業論文発表スライド 分割統治法の拡張卒業論文発表スライド 分割統治法の拡張
卒業論文発表スライド 分割統治法の拡張
masakazuyamanaka
 

Similaire à Jokyo20110711 (20)

文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)
 
210603 yamamoto
210603 yamamoto210603 yamamoto
210603 yamamoto
 
文字列処理
文字列処理文字列処理
文字列処理
 
公開鍵暗号(5): NP困難性
公開鍵暗号(5): NP困難性公開鍵暗号(5): NP困難性
公開鍵暗号(5): NP困難性
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
 
複雑ネットワーク 第4章 古典的なグラフ
複雑ネットワーク 第4章 古典的なグラフ複雑ネットワーク 第4章 古典的なグラフ
複雑ネットワーク 第4章 古典的なグラフ
 
Undecidable Traveler
Undecidable TravelerUndecidable Traveler
Undecidable Traveler
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
 
Jokyo20130218
Jokyo20130218Jokyo20130218
Jokyo20130218
 
卒業論文発表スライド 分割統治法の拡張
卒業論文発表スライド 分割統治法の拡張卒業論文発表スライド 分割統治法の拡張
卒業論文発表スライド 分割統治法の拡張
 
立命合宿2016Day3:B問題
立命合宿2016Day3:B問題立命合宿2016Day3:B問題
立命合宿2016Day3:B問題
 
20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用
 
Ppt kasawaki
Ppt kasawakiPpt kasawaki
Ppt kasawaki
 
公開鍵暗号2: NP困難性
公開鍵暗号2: NP困難性公開鍵暗号2: NP困難性
公開鍵暗号2: NP困難性
 

Jokyo20110711

  • 1. 点素パス問題に対するアルゴリズム 小林 佑輔 数理第2研究室 助教の会 2011 年 7月 11日
  • 2. 研究テーマ 組合せ的問題に対するアルゴリズム 特に… 対象: グラフ上の問題 興味: 多項式時間で解けるか?  多項式時間アルゴリズム・NP困難性  自然な問題が P か NP困難かを知りたい  似た問題で P or NP困難 が切り替わるのが面白い  理論的高速化  マトロイド理論・離散凸関数  効率良く解ける離散構造の研究
  • 3. 発表の内容  イントロダクション  点素パス問題とは  研究の歴史  主要な結果  無向点素パス問題  近年の発展(我々の結果)  ある種のグラフ上の辺素パス問題  目的関数付き点素パス問題  誘導点素パス問題  まとめ
  • 4. 点素パス問題 パスが頂点を Input: 頂点対 (s1, t1),…, (sk, tk) 共有しない Find: 点素なパス P1,…, Pk (Pi : si → ti ) s1 s3 t1 s2 t2 t3
  • 5. 点素パス問題 パスが頂点を Input: 頂点対 (s1, t1),…, (sk, tk) 共有しない Find: 点素なパス P1,…, Pk (Pi : si → ti ) s1 s3 t1 s2 t2 t3
  • 6. 点素(辺素)パス問題 パスが頂点(辺) Input: 頂点対 (s1, t1),…, (sk, tk) を共有しない Find: 点素(辺素)なパス P1,…, Pk (Pi : si → ti ) s1 s1 t1 t1 s2 s2 t2 t2  様々な類似問題  無向グラフ or 有向グラフ  頂点対数 k が 定数 or 入力の一部  点素パス or 辺素パス etc.  多くの応用を持つ (例: VLSI の設計)
  • 7. 特殊ケース(1): s-t 辺素パス問題 Input: 頂点対 (s, t) Find: 辺素なパス P1,…, Pk (Pi : s → t ) X V-X 最大流アルゴリズムで 多項式時間で解ける s t すべての s ∊ X ⊆V – t で δ(X) ≧ k Menger の定理 (最大流・最小カット定理) k 本の辺素パスが存在 X と V-X を 結ぶ辺の数
  • 8. 特殊ケース(2): t1 = t2 = ・・・ = tk の時 Input: 頂点対 (s1, t) ,…, (sk, t) Find: 辺素なパス P1,…, Pk (Pi : si → t ) s1 s2 最大流アルゴリズムで s3 t 多項式時間で解ける sk
  • 9. 特殊ケース(2): t1 = t2 = ・・・ = tk の時 Input: 頂点対 (s1, t) ,…, (sk, t) Find: 辺素なパス P1,…, Pk (Pi : si → t ) s1 s2 最大流アルゴリズムで s3 s t 多項式時間で解ける sk
  • 10. 特殊ケース(2): t1 = t2 = ・・・ = tk の時 Input: 頂点対 (s1, t) ,…, (sk, t) Find: 辺素なパス P1,…, Pk (Pi : si → t ) s1 s2 最大流アルゴリズムで s3 s t 多項式時間で解ける sk 一般の場合にはうまくいかない s1 t1 s2 t2 s s3 t3 結ぶ頂点の組を指定 t されるから難しい sk tk
  • 11. 目的:理論的計算量の解明  様々なバリエーションに対して  多項式時間で解けるか? NP困難か?  より効率の良いアルゴリズムは?
  • 12. 目的:理論的計算量の解明  様々なバリエーションに対して  多項式時間で解けるか? NP困難か?  より効率の良いアルゴリズムは?  点素パス問題の計算量 有向グラフ 無向グラフ k : 定数 NP困難 多項式時間 多項式時間 (平面グラフ) 線形時間 (平面グラフ) 多項式時間 (非巡回的) k : 変数 NP困難 NP困難 k : 頂点対数
  • 13. 辺素パスと点素パスの関係  辺素パス問題は線グラフ上の点素パス問題に帰着可能 s1 t1 s1 t1 2 7 2 5 7 5 1 1 6 8 8 s2 3 4 t2 3 6 s2 4 t2 辺素パス 点素パス 定義 (線グラフ)  元のグラフの辺が線グラフの頂点に対応  元のグラフで同じ端点を持つ 線グラフで隣接
  • 14. 点素パス問題の計算量 有向グラフ 無向グラフ k : 定数 NP困難 多項式時間 多項式時間 (平面グラフ) 線形時間 (平面グラフ) 多項式時間 (非巡回的) k : 変数 NP困難 NP困難 k : 頂点対数  辺素パス問題の計算量 有向グラフ 無向グラフ k : 定数 NP困難 多項式時間 多項式時間 (非巡回的) k : 変数 NP困難 NP困難
  • 15. 点素・辺素パス問題の歴史 1927 最大最小定理 (s-t パス) Menger 1956 最大流アルゴリズム Ford-Fulkerson 1970s 頂点対数 k が入力の一部の時NP困難 Karp など 1980 k=2, 無向グラフの時のアルゴリズム Seymour, Thomassen, Shiloach k=2, 有向グラフの時NP困難 Even-Itai-Shamir 1994 k: 定数,平面有向グラフの時のアルゴリズム (点素のみ) Schrijver 1995 k: 定数,無向グラフの時のアルゴリズム Robertson-Seymour 近年 k: 入力の一部の時の近似アルゴリズム 特殊ケースに対するアルゴリズム など
  • 16. 発表の内容  イントロダクション  点素パス問題とは  研究の歴史  主要な結果  無向点素パス問題  近年の発展(我々の結果)  ある種のグラフ上の辺素パス問題  目的関数付き点素パス問題  誘導点素パス問題  まとめ
  • 17. 無向点素パス問題 パスが頂点を Input: 頂点対 (s1, t1),…, (sk, tk) 共有しない Find: 点素なパス P1,…, Pk (Pi : si → ti )  k=2 多項式時間アルゴリズム Seymour, Thomassen, Shiloach (1980)  k:定数 多項式時間アルゴリズム Robertson-Seymour (1995) s1 s3  k:変数 NP困難 Karp (1975) t1 s2 t2 t3
  • 18. 無向点素パス問題 パスが頂点を Input: 頂点対 (s1, t1),…, (sk, tk) 共有しない Find: 点素なパス P1,…, Pk (Pi : si → ti )  k=2 多項式時間アルゴリズム Seymour, Thomassen, Shiloach (1980)  k:定数 多項式時間アルゴリズム Robertson-Seymour (1995) s1 s3  k:変数 NP困難 Karp (1975) t1 s2 t2 t3
  • 19. Robertson-Seymour のアルゴリズム  頂点対数 k:定数,無向グラフ 点素(辺素)パス問題に対する多項式時間アルゴリズム Graph Minors 13 (1995)  グラフマイナー理論に基づく 1983年~現在 23本の論文にわたる大理論 Robertson & Seymour: Graph Minors 1 ~ 23  グラフ理論・アルゴリズムにおける大きな成果  計算時間は O(n3) n: グラフの頂点数  k に依存する非常に大きな係数がかかる
  • 20. Graph minors. I. Excluding a forest, JCTB, 35 (1983), 39-61  Graph minors. II. Algorithmic aspects of tree-width, J. Algorithms, 7 (1986), 309-322  Graph minors. III. Planar tree-width, JCTB, 36 (1984), 49-64  Graph minors. IV. Tree-width and well-quasi-ordering, JCTB, 48 (1990), 227-254  Graph minors. V. Excluding a planar graph, JCTB, 41 (1986), 92-114  Graph minors. VI. Disjoint paths across a disc, JCTB, 41 (1986), 115-138  Graph minors. VII. Disjoint paths on a surface, JCTB, 45 (1988), 212-254  Graph minors. VIII. A Kuratowski theorem for general surfaces, JCTB, 48 (1990), 255-288  Graph minors. IX. Disjoint crossed paths, JCTB, 49 (1990), 40-77  Graph minors. X. Obstructions to tree-decomposition, JCTB, 52 (1991), 153-190  Graph minors. XI. Circuits on a surface, JCTB, 60 (1994), 72-106  Graph minors. XII. Distance on a surface, JCTB, 64 (1995), 240-272  Graph minors. XIII. The disjoint paths problem, JCTB, 63 (1995), 65-110  Graph minors. XIV. Extending an embedding, JCTB, 65 (1995), 23-50  Graph minors. XV. Giant steps, JCTB, 68 (1996), 112-148  Graph minors. XVI. Excluding a non-planar graph, JCTB, 89 (2003), 43-76  Graph minors. XVII. Taming a vortex, JCTB, 77 (1999), 162-210  Graph minors. XVIII. Tree-decompositions and well-quasi-ordering, JCTB, 89 (2003), 77-108  Graph minors. XIX. Well-quasi-ordering on a surface, JCTB, 90 (2004), 325-385  Graph minors. XX. Wagner's conjecture, JCTB, 92 (2004), 325-357  Graph minors. XXI. Graphs with unique linkages, JCTB, 99 (2009), 583-616  Graph minors. XXII. Irrelevant vertices in linkage problems, manuscript.  Graph minors. XXIII. Nash-Williams' immersion conjecture, manuscript.
  • 21. RSアルゴリズムの概要 グラフの複雑さの指標 グラフの木幅を計算 (1) 木幅≦(定数): 動的計画法で解く GM5 など (2) 木幅 > (定数): 大きなウォールを含む ウォール
  • 22. RSアルゴリズムの概要 グラフの木幅を計算 (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む ウォール クリークマイナー 連結な 部分グラフ
  • 23. RSアルゴリズムの概要 グラフの木幅を計算 (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む 中央の頂点を取り除く GM22 の結果 (2-2) 大きなクリークマイナーを含む ウォール クリークマイナー s1 連結な t3 t1 部分グラフ s2 s3 t2
  • 24. RSアルゴリズムの概要 グラフの木幅を計算 (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む 中央の頂点を取り除く (2-2) 大きなクリークマイナーを含む  点素パスが見つかる  頂点を取り除く s1 t1 t3 以上を繰り返す s2 t2 s3
  • 25. n: グラフの頂点数 RSアルゴリズムの概要 m: グラフの辺数 グラフの木幅を計算 (1) 木幅≦(定数): 動的計画法で解く O(n2) (2) 木幅 > (定数): 大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む 中央の頂点を取り除く O(n2) (2-2) 大きなクリークマイナーを含む  点素パスが見つかる O(m)  頂点を取り除く 以上を繰り返す O(n) 回 合計 O(n3) 時間
  • 26. 発表の内容  イントロダクション  点素パス問題とは  研究の歴史  主要な結果  無向点素パス問題 Break time  近年の発展(我々の結果)  ある種のグラフ上の辺素パス問題  目的関数付き点素パス問題  誘導点素パス問題  まとめ
  • 27. Break time  点素パスを見つけよ s s2 1 s3 s4 t1 t3 t2 t4
  • 28. Break time  点素パスを見つけよ s s2 1 s3 s4 t1 t3 t2 t4
  • 29. 発表の内容  イントロダクション  点素パス問題とは  研究の歴史  主要な結果  無向点素パス問題  近年の発展(我々の結果) SODA ’10  ある種のグラフ上の辺素パス問題 (with K. Kawarabayashi)  目的関数付き点素パス問題  誘導点素パス問題  まとめ
  • 30. 辺素パスと点素パスの関係  辺素パス問題は線グラフ上の点素パス問題に帰着可能 s1 t1 s1 t1 2 7 2 5 7 5 1 1 6 8 8 s2 3 4 t2 3 6 s2 4 t2 辺素パス 点素パス RSの点素パス問題に対する 問題点: O(n3) 時間アルゴリズム  正当性の証明が難解 辺素パス問題に対する  k に依存する非常に大きな O(m3) 時間アルゴリズム 係数がかかる
  • 31. 成果:特殊ケースにおける単純なアルゴリズム 正当性の証明 グラフがオイラー的 or 4辺連結な場合: が容易  辺素パス問題に対する単純なアルゴリズム  k に依存する係数が非常に小さくなる  グラフがオイラー的 すべての頂点の次数が偶数  グラフが4辺連結 すべての辺カットの大きさが4以上
  • 32. 成果:特殊ケースにおける単純なアルゴリズム 正当性の証明 グラフがオイラー的 or 4辺連結な場合: が容易  辺素パス問題に対する単純なアルゴリズム  k に依存する係数が非常に小さくなる RSのアルゴリズム ・ 2 2 本研究 ・・ 指数関数や f (t) = 22 t 個  指数関数の合成(3回) などの合成関数  平面的なら指数関数  グラフがオイラー的 すべての頂点の次数が偶数  グラフが4辺連結 すべての辺カットの大きさが4以上
  • 33. 発表の内容  イントロダクション  点素パス問題とは  研究の歴史  主要な結果  無向点素パス問題  近年の発展(我々の結果)  ある種のグラフ上の辺素パス問題 ISAAC ’09  目的関数付き点素パス問題 (with C. Sommer)  誘導点素パス問題  まとめ
  • 34. 目的関数付き点素パス問題 (Min-Sum) Input: 頂点対 (s1, t1),…, (sk, tk), 各辺 e の長さ l(e) Find: 点素パス P1,…, Pk (Pi : si → ti ) s.t. パスの合計長さ最小  自然な最適化問題  ほとんどの場合で計算複雑度が未解決
  • 35. 目的関数付き点素パス問題 (Min-Sum) Input: 頂点対 (s1, t1),…, (sk, tk), 各辺 e の長さ l(e) Find: 点素パス P1,…, Pk (Pi : si → ti ) s.t. パスの合計長さ最小 s1  自然な最適化問題 t1  ほとんどの場合で計算複雑度が未解決 s2 t2 s3 t3 解決済のケース  NP困難な点素パス問題に対応 NP困難  最小費用流問題に帰着できる場合 多項式時間  平面グラフで,s1,..., sk が同一面上,t1,..., tk が同一面上 多項式時間 (Colin de Verdière & Schrijver, 2008)
  • 36. Min-Sum 点素パス問題に対する成果 成果:特殊ケースの解決 無向平面グラフで ターミナルが 高々2つの面上 にあるとき k=2 の Min-Sum 点素パス問題は 多項式時間 で解ける s1 s2 s1 t1 t1 t2 t2 s2 本研究 s1 t1 s2 t1 t2 s1 t2 s2 Colin de Verdière & Schrijver 最小費用流問題
  • 37. 目的関数付き点素パス問題 (Min-Max) Input: 頂点対 (s1, t1),…, (sk, tk), 各辺 e の長さ l(e) Find: 点素パス P1,…, Pk (Pi : si → ti ) s.t. 最も長いパスの長さ最小 多くの場合に NP困難 (ex. k=2, 無向グラフ, s1=s2 , t1=t2 でもNP困難) 本研究 k=2, 無向グラフ  木幅 ≧3 なら NP困難  木幅 ≦2 なら 多項式時間 グラフの複雑さの指標
  • 38. 発表の内容  イントロダクション  点素パス問題とは  研究の歴史  主要な結果  無向点素パス問題  近年の発展(我々の結果)  ある種のグラフ上の辺素パス問題  目的関数付き点素パス問題 IPCO ’08  誘導点素パス問題 (with K. Kawarabayashi)  まとめ
  • 39. 誘導点素パス問題 Input: 頂点対 (s1, t1),…, (sk, tk) Find: 誘導点素パス P1,…, Pk (Pi : si → ti ) Pi と Pj は 共通の頂点 も 隣り合う頂点 も持たない s1 s1 t1 t1 s2 s2 t2 t2 誘導点素パスでない 誘導点素パス
  • 40. 誘導点素パス問題 Input: 頂点対 (s1, t1),…, (sk, tk) Find: 誘導点素パス P1,…, Pk (Pi : si → ti ) Pi と Pj は 共通の頂点 も 隣り合う頂点 も持たない s1 s1 t1 t1 s2 s2 t2 t2 誘導点素パスでない 誘導点素パス 本研究 動機 様々なバリエーションの  点素パス問題の一般化 理論計算量の解析  誘導部分グラフの存在判定
  • 41. 誘導点素パス問題の計算量 (本研究) 有向グラフ 無向グラフ k : 定数 NP困難 NP困難 多項式時間 (平面グラフ) 線形時間 (平面グラフ) NP困難 (非巡回的) k : 変数 NP困難 NP困難 k : 頂点対数 点素パス問題の計算量 (既存の結果) 有向グラフ 無向グラフ k : 定数 NP困難 多項式時間 多項式時間 (平面グラフ) 線形時間 (平面グラフ) 多項式時間 (非巡回的) k : 変数 NP困難 NP困難
  • 42. 誘導点素パス問題の計算量 (本研究) 有向グラフ 無向グラフ k : 定数 NP困難 NP困難 多項式時間 (平面グラフ) 線形時間 (平面グラフ) NP困難 (非巡回的) k : 変数 NP困難 NP困難 k : 頂点対数 本研究 点素パス問題の計算量 (既存の結果) 有向グラフ 無向グラフ k : 定数 NP困難 多項式時間 多項式時間 (平面グラフ) 線形時間 (平面グラフ) 多項式時間 (非巡回的) k : 変数 NP困難 NP困難
  • 43. 発表の内容  イントロダクション  点素パス問題とは  研究の歴史  主要な結果  無向点素パス問題  近年の発展(我々の結果)  ある種のグラフ上の辺素パス問題  目的関数付き点素パス問題  誘導点素パス問題  まとめ
  • 44. まとめ  点素パス問題の計算複雑度 有向グラフ 無向グラフ k : 定数 NP困難 多項式時間 多項式時間 (平面グラフ) 線形時間 (平面グラフ) 多項式時間 (非巡回的) k : 変数 NP困難 NP困難 未解決問題: 平面有向グラフ上の辺素パス問題 研究課題  様々な拡張(目的関数付き問題など)  “最大数の対を結ぶ問題” に対する近似アルゴリズム  高速化