Approximation Algorithms Chapter 5_ k-center_1_

Document Sample
Approximation Algorithms Chapter 5_ k-center_1_ Powered By Docstoc
					Approximation Algorithms
   Chapter 5: k-center


       セミナー資料
        2002/07/11
5章の目的
   パラメータに基づく枝刈り(parametric
    pruning)の紹介
    – k-center に対する 2-近似アルゴリズム
    – 重みつき k-center に対する 3-近似アルゴリズム
   (多項式時間)近似不可能性の証明
    – P ≠ NP を仮定する.
      • k-center に対する (2-e) 近似アルゴリズム
      • k-center に対する a(n) 近似アルゴリズム
        – ただし, 辺の重みは三角不等式を満たさない.
k-center 問題
   頂点の集合から k 個選び, 選んだ頂点から最
    も遠い頂点までの距離を最小化する.
k-center 問題
   頂点の集合から k 個選び, 選んだ頂点から最
    も遠い頂点までの距離を最小化する.
k-center 問題の応用例 (1/2)
   倉庫の場所を決める.
    – 送り先から離れすぎたところには作らない.
k-center 問題の応用例 (2/2)
   中心例に基づくクラスタリング
    – クラスタ内にあるデータ間距離の最小化は考慮
      しない.
k-center 問題の入力
   入力:
        – n 頂点からなる無向完全グラフ G=(V, E).
            • 辺の重みは三角不等式を満たす.
        – 正整数 k.
            • 選ばれる頂点数.


            k =2

        a       6       b
    5                       4
            9       8
        c               d
             6
k-center 問題の出力
   出力: 解のコストを最小にする S V (|S|=k).
        – 解のコスト: v ∈ V に対して適切な s ∈ S を選んだ
          ときの辺 e=(v,s) のコスト cost((v,s)) の最大値.

                            max min{cost(v, s)}
                                vV   sS
                                                            :選んだ頂点

            k =2
                                            解のコスト: 5                   解のコスト: 6
        a       6       b                   a       6        b         a       6       b
    5                       4           5                        4 5                       4
            9       8                           9       8                  9       8
        c               d                   c                d         c               d
             6                                   6                          6
パラメータに基づく枝刈り (1/3)
   解を効率的に探索するための方法.
   [考え方]
        – 解のコストが既知なら, 解に関係ない部分を入力
          から除くことができる=解の探索が容易になる.
        – しかし, 最適解のコストを求めることは難しい.

    解のコスト: 5
                                枝刈り
        a               b                 a   b
                6
    5                       4         5           4
            9       8
        c               d                 c   d
             6
パラメータに基づく枝刈り (2/3)
   コスト最小化問題の場合.
   I(t): 入力 I において, 解のコストが t 以下とな
    る解には不要な部分を除いた入力.
                パラメータに基づく枝刈り
      1. T={t1,…,tk} とおく.
      2. I(t) から最適解のコスト OPT の下限を求める.
         下限を求めるのに用いた入力を I(t*) とする.
      3. a を適切に選び, I(at*) から解を求め, 出力する.
パラメータに基づく枝刈り (3/3)
   解のコストに対する枝刈りを行なう.
        – k-center の場合, 辺の重み順に枝刈りする.
                                G1             G2               G3

            G               a        b   a          b    a           b
                                                                6
    a            b    枝刈り            4 5            4   5            4
            6
                            c        d   c          d    c           d
5                 4
        9    8                  G4             G5               G6
    c            d
            6
                            a   6    b     a   6    b       a   6    b
                            5        4   5          4   5 9          4
                                                8                8
                            c        d     c        d    c           d
                                6              6                6
2-近似アルゴリズムの構成
                    定理 5.5
        k-center の 2-近似アルゴリズム

      補題 5.4               アルゴリズム 5.3
   最適解のコスト                 極大独立集合を
  OPT に対する下限              用いた, パラメータに
                            基づく枝刈り

                             補題 5.2
                          支配集合と独立集合
    k-center と支配集合           との関係
         の等価性

 支配集合          k-center      グラフの 2 乗
支配集合 (dominating set)
   任意の頂点は選ばれた頂点に隣接している.
                     a           a

        入力       b       c   b       c


        a        d       e   d       e
    b        c
                     a           a

    d        e   b       c   b       c


                 d       e   d       e
k-center と支配集合の等価性
   k-center                                          Gi における支配集合
    – どの頂点も選ばれた頂点                                      – どの頂点も, OPT 以下の
      との辺の重みが OPT 以                                      辺で選ばれた k 頂点に隣
      下.                                                 接する.


                                        cost (ei*) = OPT.

            4       a       5                                       4   a
                7       8
        b                       c                               b           c
                    6
    5                               4                       5                   4
                9       8
        d                       e                               d           e
                    6
2-近似アルゴリズムの構成
                    定理 5.5
        k-center の 2-近似アルゴリズム

      補題 5.4               アルゴリズム 5.3
   最適解のコスト                 極大独立集合を
  OPT に対する下限              用いた, パラメータに
                            基づく枝刈り

                             補題 5.2
                          支配集合と独立集合
    k-center と支配集合           との関係
         の等価性

 支配集合          k-center      グラフの 2 乗
 グラフの 2 乗
     G2: G において長さ 2 以下で結ばれている頂
      点どうしを, 辺で結ぶ.

 G                 G2




 G’                G’2




G’’                G’’2
Stars とクリーク
   star: K1,p
   stars: グラフの全頂点を被覆する star の集合.
    K1,6          G         K1,3




            G に含まれる stars
                            K1,32
 独立集合
     グラフ H における独立集合 S ⊆V
       – 選ばれた頂点 s, s’ S は互いに隣接しない.
       独立集合              独立集合ではない


  G                      G




  G’                     G’


G’’                    G’’
アルゴリズム 5.3
   入力: グラフ G, 正整数 k.
   1. G12, …, Gm2 を用意する.
   2. 各 Gi2 に対して, 極大独立集合 Mi を求める.
   3. |Mi| ≦ k となる最小の添字 j を見つける.
   4. Mj を出力する.
アルゴリズム 5.3 の概要
              任意の頂点から 選んだ頂点は
Gi から Gi2 を   長さ 2 で選んだ Gi2 のクリーク
   つくる.       頂点に行ける. 中に高々 1 つ.




                              選んだ頂点は
        Gi2 で極大独立              Gi の star
         集合を選ぶ.               中に高々 1 つ.
アルゴリズム 5.3
   入力:グラフG, 正整数 k.
                                       5           5
   1. G12, …, Gm2 を用意.
                                               6
   2. 各 Gi2 に対して, 極大             4        4               4
    独立集合 Mi を求める.             5        5           5
   3. |Mi| ≦ k となる最小の    6
                                  4
                                    6 8
                                           4 6 8
                                                       9
                                                           4
    添字 j を見つける.               7        7           7
   4. Mj を出力する.
        5
G 6 8       9       k=2
                4
        7
アルゴリズム 5.3
   入力:グラフG, 正整数 k.
                                       5           5
   1. G12, …, Gm2 を用意.
                                               6
   2. 各 Gi2 に対して, 極大             4        4               4
    独立集合 Mi を求める.             5        5           5
   3. |Mi| ≦ k となる最小の    6
                                  4
                                    6 8
                                           4 6 8
                                                       9
                                                           4
    添字 j を見つける.               7        7           7
   4. Mj を出力する.
        5
G 6 8       9       k=2
                4
        7
補題 5.2 (1/3)
   グラフ H において, |I| ≦ |D| が成り立つ.
    – I : H2 の独立集合(アルゴリズム 5.3 で用いる),
    – D: H の最小支配集合(k-center に関連).
      |I| ≦ H2 でのクリークの数 = H での star の数 = |D|.
補題 5.2 (2/3)
   グラフ H に対して, |I| ≦ |D| が成り立つ.
    – ただし, I は H2 の独立集合, D は H の最小支配集
      合とする.
      |I| ≦ H2 でのクリークの数 = H での star の数 = |D|.




      H                         クリークの中から
                      H2
                               独立集合の要素として
                               選べるのは高々 1 頂点.
補題 5.2 (3/3)
   グラフ H に対して, |I| ≦ |D| が成り立つ.
    – ただし, I は H2 の独立集合, D は H の最小支配集
      合とする.
      |I| ≦ H2 でのクリークの数 = H での star の数 = |D|.

          「|I| < H2 のクリークの数」となる例




      H               H2           H2 のクリークを
                                   抜き出したグラフ
補題 5.4 (1/2)
   アルゴリズム 5.3 が見つける j について,
    cost(ej) ≦ OPT.

                                      | Mi |
                                       dom(Gi)
    k


        2
        1

            1   2   j-1   j   i*   グラフの添字 i
補題 5.4 (2/2)
   アルゴリズム 5.3 が見つける j について,
    cost(ej) ≦ OPT.
                             「j は | Mi | ≦ k と
                             なる最小の値」
                              ではなくなる.
                                                 | Mi |
                                                  dom(Gi)
    k


        2
        1

            1   2   i*   j                  グラフの添字 i
定理 5.5 (1/3)
   アルゴリズム 5.3 は k-center 問題の 2-近似ア
    ルゴリズムである.
    – 極大独立集合 S は, 支配集合でもある.
      • 極大独立集合だが支配集合でない S を仮定する.
極大独立集合 S.                     独立集合の
                 隣接頂点は        要素になる.
         支配されて
         いない頂点 =   どれも
          がある.    選ばれて
                  いない.


          「S は極大独立集合」に矛盾.
定理 5.5 (2/3)
   アルゴリズム 5.3 が返す極大独立集合 Mi は,
    支配集合でもある.
     – 支配集合 = Gi2 における stars の中心.

        Gi2          Gi




                                      Gi では
     Gi に含まれ = 重みが cost(ej)     では = 長さ 2 で
                              Gi2
    ない辺もある.     より大きい.        辺がある. 結ばれている.
定理 5.5 (3/3)
   アルゴリズム 5.3 は k-center 問題の 2-近似ア
    ルゴリズムである.
    – Gi2 に含まれ, Gi に含まれない辺の長さは高々
      2cost (ei).
              cost(ei) 以下
                        b    Gi2 に含まれる辺
cost(ei) 以下                 = Gi で長さ 2 以下.
                                 = 2 cost(ei)
                                  2 OPT.
    a
         Gi2 に含まれて,
        Gi に含まれない辺
近似比に一致する例

2       1       2
    1               Gi
            1
      2
     k=1

    OPT = 1.              解のコスト: 2


        1       2   Gi2
2
    1
            1
5章の目的
   パラメータに基づく枝刈り(parametric
    pruning)の紹介
    – k-center に対する 2-近似アルゴリズム
    – 重みつき k-center に対する 3-近似アルゴリズム
   近似不可能性の証明
    – P ≠ NP を仮定する.
      • k-center に対する (2-e) 近似アルゴリズム
      • k-center に対する a(n) 近似アルゴリズム
        – ただし, 辺の重みは三角不等式を満たさない.
定理 5.7 の考え方
仮定: P ≠ NP.
                      NP 完全問題
 NP の中で最も難しい        (支配集合問題)
問題(NP 完全問題)は,        から作った入力
多項式時間で解けない.
      NP
                            k-center に対する
                               多項式時間
                                (2-ε) 近似
               矛盾
                              アルゴリズム


              そのアルゴ  NP 完全問題
               リズムは (支配集合問題)
              存在しない.   の答え
       P
支配集合問題の NP 困難性
   頂点被覆からの多項式時間還元がある.
    – http://www.cs.umd.edu/~samir/451/red.ps
    – 最小頂点被覆 (Vertex Cover) は NP 困難であるこ
      とが知られている.
                                            a
          a                   ab                     ac
                                            bc
     b         c                   b             c
                                       cd
                         bd                               ce
     d         e                   d             e
         k=3                                de
                              k=3
    頂点被覆の入力               支配集合問題の入力
最小支配集合問題の NP 困難性
   頂点被覆に解あり->支配集合問題に解あり.

     頂点被覆の入力      支配集合問題の入力
                                    a
         a            ab                     ac
                                    bc
     b       c             b             c
                               cd
                 bd                               ce
     d       e             d             e

    各辺の端点の一方は,         de
     選ばれている.     各頂点は, 選ばれた頂点に
                    隣接している.
最小支配集合問題の NP 困難性
   頂点被覆に解あり<-支配集合問題に解あり.

頂点被覆の入力                                   支配集合問題の入力
             支配集合問題の入力’
                           a                            a
     a       ab                     ac    ab                     ac
                           bc                           bc
b        c        b             c              b             c
                      cd                           cd
             bd                      ce   bd                      ce
d        e                                     d             e
                  d             e

                       de                           de
定理 5.7
   支配集合問題から k-center への多項式時間還
    元を示す.
                                    ここでのコストの
支配集合問題              k -center        与え方は, 三角
                                    不等式を満たす.
        a               a

    b       c   b               c


    d       e   d               e

                      コスト 1
                      コスト 2
定理 5.7
   支配集合問題から k-center へ還元する.
                                      (2-e)- 近似
                                     アルゴリズムが
     支配集合問題          k -center        存在する.
        a                 a

      b     c    b               c
                                   任意の入力に対して,
                                    常に解のコストが
      d     e    d               e (2-e)OPT 以下になる
    G の最小支持集合    解のコスト 1              上の場合,
      の要素数 ≦ k                       コスト 2 になる
           >k    解のコスト 2             辺は使えない.
系
   重みが三角不等式を満たさないとき, 近似比
    a(n) の多項式時間アルゴリズムは存在しない.
     支配集合問題          k -center
        a                 a

     b      c    b               c
                                     任意の入力に対して,
                                      常に解のコストが
     d      e    d               e   a(n)OPT 以下になる

    G の最小支持集合    解のコスト 1    コスト a(n) +e になる
      の要素数  k                 辺は使えない.
           >k    解のコスト a(n) +e
概要
   k-center 問題.
   パラメータに基づく枝刈り.
   k-center 問題に対する評価.
   重みつき k-center 問題.
   重みつき k-center 問題に対する評価.
    – 3-近似アルゴリズム.
    重みつき k-center
    k-center                                     重みつき k-center
a                b                               10                20       頂点に
         6
                                                                            対する
5                    4                            a                b
                                                           6                 重み
     9       8
c                d                               5                 4
         6                                             9       8
                                                  c                d
                         a               b                 6                a               b
     k =2                        6               10                10               6
                     5                       4                          5                       4
                                                      W = 30.
                             9       8                                          9       8
                         c               d                                  c               d
                              6                                                  6
                         a               b                                  a               b
                                 6                                                  6
                     5                       4                          5                       4
                             9       8                                          9       8
                         c               d                                  c               d
                              6                                                     6
    重みつき k-center
       重みつき k-center は k-center の一般化.
        k-center                                      重みつき k-center
                                                       1       1
a                    b
             6                                         a               b
                                                                6
5                        4                            5                4
         9       8            a               b                                a               b
c                    d                6                       9 8                      6
            6                                          c               d
                          5                       4            6           5                       4
          k =2                    9       8               1            1           9       8
                              c               d                                c               d
                                   6                          W = 2.                6
                              a               b                                a               b
                                      6                                                6
                          5                       4                        5                       4
                                  9       8                                        9       8
                              c               d                                c               d
                                   6                                                6
重みつき k-center における補題 5.2
   k-center
    – H2 での独立集合の頂点数 ≦ H の最小支配集合の
      頂点数
   重みつき k-center                  ?
    – H2 での独立集合の頂点の重み ≦ H の最小支配集
      合の頂点の重み
                          反例
                    H2             H
               10        10   10       10

               20        30   20       30
隣接する最小重みの頂点
   s(u): グラフ H において, 頂点 u に隣接する頂
    点で重みのもっとも軽いもの.
    – u 自身も含まれる.
    – H2 における隣接頂点ではない.
          H                       H2
     15       20             15        20
      a       b    s(a)=a,   a         b
                   s(b)=a,
                   s(c)=c,
      c       d    s(d)=c.   c         d
     10       25             10        25
補題 5.9 (1/2)
   w(S) w(D) = wdom(H).
    – 最小重み支配集合の頂点を中心とする stars を考
      える.

        H
補題 5.9 (2/2)
   w(S) w(D) = wdom(H).
     – S: H における独立集合 I に隣接する最小重みの頂
       点の集合.
     – D: H における最小重み支配集合.
     – wdom(H): H における最小重み支配集合の重み.
                                       重みの
                                       小さい
                                       頂点を
                 最小重み支配
                                       選択.
    H2           集合 D の要素.   H
 クリークの中から                        S は D 以下の
独立集合の要素として                        重みを選ぶ
選べるのは高々 1 頂点.                    ことができる.
アルゴリズム 5.10
   入力: グラフ G, 正整数 k.
   1. G12, …, Gm2 を用意する.
   2. 各 Gi2 に対して, 極大独立集合 Mi を求める.
   3. Si={si(u): u  Mi}
   4. w(Si)  W となる最小の添字 j を見つける.
   5. Sj を出力する.
アルゴリズム 5.10
   入力:グラフG, 正整数 k.                     5           5
   1. G12, …, Gm2 を用意.         4           4
                                                6
                                                            4
   2. 各 Gi2 に対して, 極大       5           5           5
    独立集合 Mi を求める.
                        6         6 8                   9
   3. |Mi|  k となる最小の          4           4 6 8           4
    添字 j を見つける.             7           7           7
   4. Mj を出力する.


     10   5    10
G        8 9 4
       6
     20   7    30
アルゴリズム 5.10
   入力:グラフG, 正整数 k.                  5       5
   1. G12, …, Gm2 を用意.   W=40 4   W=30 4 6 W=20 4
   2. 各 Gi2 に対して, 極大      5         5       5
    独立集合 Mi を求める.
                        6 W=10   6 8      6 8 9 4
   3. |Mi|  W となる最小          4        4
    の添字 j を見つける.           7         7       7
   4. Mj を出力する.
          W=30

     10    5     10
G        8 9 4
       6
     20   7    30
OPT に対する下限
   アルゴリズム 5.10 で得られた j に対して,
    cost(ej)  OPT.

                                  w(Si)
                                  wdom(Gi)
    W




        1   2   j-1   j   i*   グラフの添字 i
定理 5.11
   定理 5.5 と同様に, 選んだ極大独立集合から
    任意の頂点までの距離は 2cost(ej) 以下.
   s(u) から任意の頂点までの距離は, 3cost(ej) 以
    下.


    G での重みは                  G での重みは
    2cost(ej) 以下    重みの小さい   3cost(ej) 以下
                   隣接頂点へ移動
例 5.12 (近似比に一致する例)
                                          G3 ∞        1       2       2       2
                            4+e        極大独立
            2+e 3+e                   集合の選択        1  1  1
∞         1    2  2               2              頂点の重みの和: ∞

    1+e     1       1       1             G4
                2       2                       1+e       1       1       1
                    3
                                          G42
                W=3                    極大独立
                                      集合の選択
                        隣接する最小重み
                                                1+e  1  1    1
                         頂点への移動
                                                 頂点の重みの和: 1
                                                    解のコスト: 3

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:1
posted:2/19/2013
language:Unknown
pages:52