SlideShare a Scribd company logo
1 of 26
Download to read offline
制約付き2マッチング問題に対する
     アルゴリズム
         (2010年日本応用数理学会の内容+α)




       小林 佑輔

   東京大学 情報理工学系研究科


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

 多項式時間アルゴリズム・NP困難性
   自然な問題が P か NP困難かを知りたい
   似た問題で P or NP困難 が切り替わるのが面白い
   理論的高速化
 マトロイド理論・離散凸関数
   効率良く解ける離散構造の研究
発表の流れ
 制約付き 2-マッチング
 提案アルゴリズム
 正当性の証明
 まとめ
最大マッチング問題
 マッチング = 各頂点に高々1本接続する 枝集合

 最大マッチング問題
 Input: 無向グラフ
 Find: 枝数最大のマッチング

• 組合せ最適化における基本的な問題
• Edmonds [1965] による 多項式時間解法
• 重み付き問題も P
最大 2-マッチング問題
2-マッチング = 各頂点に高々2本接続する 枝集合
                サイクル と パス の集まり

最大 2-マッチング問題
 Input: 無向グラフ
 Find: 枝数最大の 2-マッチング

                できる限り サイクル で頂点を被覆

• 最大マッチング問題に帰着可能       P

             各頂点のコピーを加える (+ α)
制約付き最大 2-マッチング問題
制約付き最大 2-マッチング問題
Input: 無向グラフ
Find: 長さ k 以下のサイクルを持たない
       枝数最大の 2-マッチング
                        できる限り サイクル で頂点を被覆

 k = 2 (制約なし) : P       (マッチングに帰着 [1960s~])
 k=3          :P        Hartvigsen [1984]


 k=4          : OPEN

 k≧5          : NP-困難   Papadimitriou [1980]
 k ≧ |V|/2    : NP-困難    (ハミルトン閉路)
制約付き最大 2-マッチング問題 (重み付き)
 制約付き最大 2-マッチング問題
 Input: 無向グラフ,各枝の重み
 Find: 長さ k 以下のサイクルを持たない
        合計重み最大の 2-マッチング



  k = 2 (制約なし) : P       (マッチングに帰着 [1960s~])

  k=3          : OPEN

  k=4          : NP-困難   Vornberger [1980]
  k≧5          : NP-困難   Papadimitriou [1980]
  k ≧ |V|/2    : NP-困難    (巡回セールスマン問題)
制約付き 2-マッチング問題の先行研究
禁止サイクル長            枝数最大化                合計重み最大化
  無し                 P                     P
               マッチングに帰着 [1960s~]        マッチングに帰着
     3以下                 P                  OPEN
                    Hartvigsen [1984]
     4以下               OPEN                NP-困難
                                         Vornberger [1980]
k 以下 (k ≧ 5)         NP-困難                 NP-困難
                 Papadimitriou [1980]


動機:
1.   境目が気になる
2.   効率良く解ける構造を理解したい
         難しい(≒現実的な)問題を解く際にも有用
制約付き 2-マッチング問題の先行研究
禁止サイクル長            枝数最大化                     合計重み最大化
  無し                 P                          P
               マッチングに帰着 [1960s~]               マッチングに帰着
   3以下                   P                          OPEN      ①
                    Hartvigsen [1984]
   4以下                 OPEN ②                      NP-困難 ③
                                                Vornberger [1980]
k 以下 (k ≧ 5)         NP-困難                         NP-困難
                 Papadimitriou [1980]


 ① : 次数3以下のグラフでは P                Hartvigsen-Li [2007]
 ② : 2部グラフでは P                    Hartvigsen [2006], Pap [2008]
     長さ 4 禁止,次数3以下のグラフでは P Berczi-Kobayashi [2009]
 ③ : 2部グラフ,特殊重みなら P Makai [2007], Takazawa [2008]
研究対象
最大 triangle-free 2-マッチング問題
Input: 次数3以下 の 無向グラフ
       各枝の重み
Find: 長さ 3 (以下)のサイクルを持たない
      合計重み最大の 2-マッチング

        2                        2                           2
7                   10   7                   10      7                   10
            8                        8                           8
        2       3                2       3                   2       3
    2           2            2           2               2           2
                                             枝数:6本                   枝数:5本
                                             重み:24                   重み:29
本研究の成果
最大 triangle-free 2-マッチング問題
Input: 次数3以下 の 無向グラフ
       各枝の重み
Find: 長さ 3 (以下)のサイクルを持たない
      合計重み最大の 2-マッチング


成果 : この問題に対する 多項式時間アルゴリズム

 Hartvigsen-Li [2007] のアルゴリズムよりも単純
 離散凸関数の理論を利用
 計算時間は Hartvigsen-Li よりも遅い

               O(n3) → O(n3×(最大マッチング))
発表の流れ
 制約付き 2-マッチング
 提案アルゴリズム
 正当性の証明
 まとめ
次数列
定義
  辺集合 E の次数列 dE
= 各頂点に接続する E の枝数を並べたベクトル ∈ ZV
      v1         v2             v1           v2

      v3                   v5   v3                   v5

               v4                          v4

                v6                         v6
       v1 v2 v3 v4 v5 v6             v1 v2 v3 v4 v5 v6
      (2, 2, 2, 1, 1, 2)             (0, 2, 0, 2, 2, 0)
次数列上の関数
  定義
       f (x) = 次数列 x の tri.-free 2-マッチング の最大重み

 v1        2    v2                    v1       2    v2                v1                             v1
                                                                               2        v2                    2        v2
  7                     10             7                    10        7                      10      7                         10
  v3           8             v5       v3           8             v5                8                              8
                                                                      v3       2            3        v3       2            3
           2        3                          2        3                                       v5                              v5
                                                                           2       v4 2                   2       v4 2
       2       v4                          2       v4
                     2                                   2
                                                                                       v6                             v6
           v6                                  v6
 v1 v2 v3 v4 v5 v6                     v1 v2 v3 v4 v5 v6                           v1 v2 v3 v4 v5 v6
f (2, 2, 2, 1, 1, 2) = 21 f (0, 2, 0, 2, 2, 0) = -∞                            f (1, 1, 1, 1, 0, 0) = 15


                              max f (x)             を求めればよい
                                  x
提案アルゴリズム
主定理
 次数列に関する局所探索で
 最大 tri.-free 2-マッチング問題は多項式時間で解ける
局所探索
         ||y - x||1 ≤ 2
1: x ← 0
2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す
             最適解




                          f (x) = tri.-free 2-マッチング
                                  (次数列 x ) の最大重み

    初期解
発表の流れ
 制約付き 2-マッチング
 提案アルゴリズム
 正当性の証明
 まとめ
提案アルゴリズム
主定理
 次数列に関する局所探索で
 最大 tri.-free 2-マッチング問題は多項式時間で解ける
局所探索
         ||y - x||1 ≤ 2
1: x ← 0
2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す
             最適解
Q1. 局所探索で最適解求まる?
Q2. f (x) の計算ができる?

                          f (x) = tri.-free 2-マッチング
                                  (次数列 x ) の最大重み

    初期解
アルゴリズムの正当性

定理 (本研究)
  f は ジャンプシステム上のM凹関数


定理 (Murota [2006] など)
  ジャンプシステム上のM凹関数 は
  局所探索で 効率良く最大化できる
ジャンプシステム上のM凹関数                                                        (Murota [2006])
定義
       f : ZV → R∪{∞} が ジャンプシステム上のM凹
 def
       ∀x, y ∈ ZV, ∀s ∈ Inc(x, y), ∃t ∈ Inc(x+s, y),
       f (x+s+t) + f (y-s-t) ≧ f (x) + f (y)
                                (Inc(x, y) : x から y へ近づく単位ベクトル全体)

 効率的に解ける多くの組合せ最適化問題を含む枠組
 局所探索で最大化問題が多項式回の反復で解ける

          (0, 2)             (2, 2)   (0, 2)                 (2, 2)
           3                    4      3 y                      4
                                                                          O(n3) 回
                   5                                5
                   (1, 1)                          (1, 1)
           2                     6     2
                                               t            x    6
          (0, 0)            (2, 0)    (0, 0)            s   (2, 0)
提案アルゴリズム
主定理
 次数列に関する局所探索で
 最大 tri.-free 2-マッチング問題は多項式時間で解ける
局所探索
         ||y - x||1 ≤ 2
1: x ← 0
2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す
             最適解
Q1. 局所探索で最適解求まる?
Q2. f (x) の計算ができる?

                          f (x) = tri.-free 2-マッチング
                                  (次数列 x ) の最大重み

    初期解
v1   2       v2
f (x) の計算                          7
                                  v3   2
                                           8
                                                3
                                                    10

                                               v4    v5
定理 (本研究)
  f (x) = 次数列 x の tri.-free 2-マッチング の最大重み は
  多項式時間で計算できる

 ①      ①       ①        ①    ①        ②             ①          ②
                                                ②                   ②
 ①              ①             ①                      ①
        ①               ①              ②                     ②
      v1 v2 v3 v4 v5                       v1 v2 v3 v4 v5
     f (1, 1, 1, 1, 0) = 15            f (1, 2, 1, 2, 2) = 17

 方針                                                       次数 2      次数 2
  Triangle になり得るところを予め縮約
  制約なし2-マッチング問題に帰着
                                                         次数 2
Triangle の縮約
           次数 2 次数 2                            e’1
     e1
              f2    e3                             次数 2
           f3
                 f1                             e’2          e’3
     e2
           次数 2               C        C を1点に
                G                                       G’
観察
G の tri.-free 2-マッチング は
   C の ちょうど2つの枝を含む
   ei を含む        fi を含む

                                                  e’1         重み w(e1) + w(f1)
          e1
                    f2            e3
               f3
                         f1                      e’2          e’3
          e2                             対応
f (x) の計算
定理 (本研究)
  f (x) = 次数列 x の tri.-free 2-マッチング の最大重み は
  多項式時間で計算できる

  指定次数2の頂点からなる Triangle を
  すべて 縮約,重みも変える (交わらないように極大にとる)

 次数条件をみたす 最大2-マッチング を計算

                                         重み w(e1) + w(f1)
           次数 2 次数 2               e’1
        e1
              f2     e3               次数 2
           f3
                 f1                e’2       e’3
       e2
           次数 2     C     C を1点に
提案アルゴリズム
主定理
 次数列に関する局所探索で
 最大 tri.-free 2-マッチング問題は多項式時間で解ける
局所探索
         ||y - x||1 ≤ 2
1: x ← 0
2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す
             最適解
Q1. 局所探索で最適解求まる?
Q2. f (x) の計算ができる? O(n3×(最大マッチング))

                          f (x) = tri.-free 2-マッチング
                                  (次数列 x ) の最大重み

    初期解
発表の流れ
 制約付き 2-マッチング
 提案アルゴリズム
 正当性の証明
 まとめ
まとめ
 次数3以下のグラフ上の tri.-free 2-マッチング問題に対する
  多項式時間アルゴリズム
 Hartvigsen-Li [2007] より遅いが単純

      ジャンプシステム上のM凹関数の利用



 ジャンプシステム上のM凹関数の有用性を示す例
 一般グラフ上の tri.-free 2-マッチング 問題に対する
 新しいアプローチの可能性

More Related Content

What's hot

PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現hagino 3000
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンHiroshi Nakagawa
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門  6. 最適化と学習アルゴリズムクラシックな機械学習の入門  6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズムHiroshi Nakagawa
 
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシンShinya Shimizu
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)Yukara Ikemiya
 
サポートベクトルマシン入門
サポートベクトルマシン入門サポートベクトルマシン入門
サポートベクトルマシン入門Wakamatz
 
クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別Hiroshi Nakagawa
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成Prunus 1350
 
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰sleipnir002
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知Chika Inoshita
 
Crfと素性テンプレート
Crfと素性テンプレートCrfと素性テンプレート
Crfと素性テンプレートKei Uchiumi
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqsleipnir002
 
topology of musical data
topology of musical datatopology of musical data
topology of musical dataTatsuki SHIMIZU
 
情報幾何の基礎輪読会 #1
情報幾何の基礎輪読会 #1情報幾何の基礎輪読会 #1
情報幾何の基礎輪読会 #1Tatsuki SHIMIZU
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4Takeshi Sakaki
 

What's hot (20)

PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
 
Prml sec6
Prml sec6Prml sec6
Prml sec6
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシン
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
 
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門  6. 最適化と学習アルゴリズムクラシックな機械学習の入門  6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
 
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
サポートベクトルマシン入門
サポートベクトルマシン入門サポートベクトルマシン入門
サポートベクトルマシン入門
 
クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
 
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
 
PRML chapter7
PRML chapter7PRML chapter7
PRML chapter7
 
SVM
SVMSVM
SVM
 
Crfと素性テンプレート
Crfと素性テンプレートCrfと素性テンプレート
Crfと素性テンプレート
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
情報幾何の基礎輪読会 #1
情報幾何の基礎輪読会 #1情報幾何の基礎輪読会 #1
情報幾何の基礎輪読会 #1
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
 

Similar to Jokyo20130218

Ibisml2011 06-20
Ibisml2011 06-20Ibisml2011 06-20
Ibisml2011 06-20Yasuo Tabei
 
お披露目会05/2010
お披露目会05/2010お披露目会05/2010
お披露目会05/2010JAVA DM
 
TokyoWebmining統計学部 第1回
TokyoWebmining統計学部 第1回TokyoWebmining統計学部 第1回
TokyoWebmining統計学部 第1回Issei Kurahashi
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3noname409
 
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...Deep Learning JP
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisTatsuki SHIMIZU
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料keiodig
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
 
Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」Nagi Teramo
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料mdkcpp 1015
 
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)Kota Mori
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題tmaehara
 

Similar to Jokyo20130218 (20)

Ibisml2011 06-20
Ibisml2011 06-20Ibisml2011 06-20
Ibisml2011 06-20
 
お披露目会05/2010
お披露目会05/2010お披露目会05/2010
お披露目会05/2010
 
TokyoWebmining統計学部 第1回
TokyoWebmining統計学部 第1回TokyoWebmining統計学部 第1回
TokyoWebmining統計学部 第1回
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
演習発表 Sari v.1.2
演習発表 Sari v.1.2演習発表 Sari v.1.2
演習発表 Sari v.1.2
 
Jokyo20110711
Jokyo20110711Jokyo20110711
Jokyo20110711
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題
 
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysis
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
PRML 8.4-8.4.3
PRML 8.4-8.4.3 PRML 8.4-8.4.3
PRML 8.4-8.4.3
 
Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料
 
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
 
PRML5
PRML5PRML5
PRML5
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題
 

Jokyo20130218

  • 1. 制約付き2マッチング問題に対する アルゴリズム (2010年日本応用数理学会の内容+α) 小林 佑輔 東京大学 情報理工学系研究科 2013年 2月18日 数理助教の会
  • 2. 研究テーマ 組合せ的問題に対するアルゴリズム 特に… 対象: グラフ上の問題 興味: 多項式時間で解けるか?  多項式時間アルゴリズム・NP困難性  自然な問題が P か NP困難かを知りたい  似た問題で P or NP困難 が切り替わるのが面白い  理論的高速化  マトロイド理論・離散凸関数  効率良く解ける離散構造の研究
  • 3. 発表の流れ  制約付き 2-マッチング  提案アルゴリズム  正当性の証明  まとめ
  • 4. 最大マッチング問題 マッチング = 各頂点に高々1本接続する 枝集合 最大マッチング問題 Input: 無向グラフ Find: 枝数最大のマッチング • 組合せ最適化における基本的な問題 • Edmonds [1965] による 多項式時間解法 • 重み付き問題も P
  • 5. 最大 2-マッチング問題 2-マッチング = 各頂点に高々2本接続する 枝集合 サイクル と パス の集まり 最大 2-マッチング問題 Input: 無向グラフ Find: 枝数最大の 2-マッチング できる限り サイクル で頂点を被覆 • 最大マッチング問題に帰着可能 P 各頂点のコピーを加える (+ α)
  • 6. 制約付き最大 2-マッチング問題 制約付き最大 2-マッチング問題 Input: 無向グラフ Find: 長さ k 以下のサイクルを持たない 枝数最大の 2-マッチング できる限り サイクル で頂点を被覆  k = 2 (制約なし) : P (マッチングに帰着 [1960s~])  k=3 :P Hartvigsen [1984]  k=4 : OPEN  k≧5 : NP-困難 Papadimitriou [1980]  k ≧ |V|/2 : NP-困難 (ハミルトン閉路)
  • 7. 制約付き最大 2-マッチング問題 (重み付き) 制約付き最大 2-マッチング問題 Input: 無向グラフ,各枝の重み Find: 長さ k 以下のサイクルを持たない 合計重み最大の 2-マッチング  k = 2 (制約なし) : P (マッチングに帰着 [1960s~])  k=3 : OPEN  k=4 : NP-困難 Vornberger [1980]  k≧5 : NP-困難 Papadimitriou [1980]  k ≧ |V|/2 : NP-困難 (巡回セールスマン問題)
  • 8. 制約付き 2-マッチング問題の先行研究 禁止サイクル長 枝数最大化 合計重み最大化 無し P P マッチングに帰着 [1960s~] マッチングに帰着 3以下 P OPEN Hartvigsen [1984] 4以下 OPEN NP-困難 Vornberger [1980] k 以下 (k ≧ 5) NP-困難 NP-困難 Papadimitriou [1980] 動機: 1. 境目が気になる 2. 効率良く解ける構造を理解したい 難しい(≒現実的な)問題を解く際にも有用
  • 9. 制約付き 2-マッチング問題の先行研究 禁止サイクル長 枝数最大化 合計重み最大化 無し P P マッチングに帰着 [1960s~] マッチングに帰着 3以下 P OPEN ① Hartvigsen [1984] 4以下 OPEN ② NP-困難 ③ Vornberger [1980] k 以下 (k ≧ 5) NP-困難 NP-困難 Papadimitriou [1980]  ① : 次数3以下のグラフでは P Hartvigsen-Li [2007]  ② : 2部グラフでは P Hartvigsen [2006], Pap [2008] 長さ 4 禁止,次数3以下のグラフでは P Berczi-Kobayashi [2009]  ③ : 2部グラフ,特殊重みなら P Makai [2007], Takazawa [2008]
  • 10. 研究対象 最大 triangle-free 2-マッチング問題 Input: 次数3以下 の 無向グラフ 各枝の重み Find: 長さ 3 (以下)のサイクルを持たない 合計重み最大の 2-マッチング 2 2 2 7 10 7 10 7 10 8 8 8 2 3 2 3 2 3 2 2 2 2 2 2 枝数:6本 枝数:5本 重み:24 重み:29
  • 11. 本研究の成果 最大 triangle-free 2-マッチング問題 Input: 次数3以下 の 無向グラフ 各枝の重み Find: 長さ 3 (以下)のサイクルを持たない 合計重み最大の 2-マッチング 成果 : この問題に対する 多項式時間アルゴリズム  Hartvigsen-Li [2007] のアルゴリズムよりも単純  離散凸関数の理論を利用  計算時間は Hartvigsen-Li よりも遅い O(n3) → O(n3×(最大マッチング))
  • 12. 発表の流れ  制約付き 2-マッチング  提案アルゴリズム  正当性の証明  まとめ
  • 13. 次数列 定義 辺集合 E の次数列 dE = 各頂点に接続する E の枝数を並べたベクトル ∈ ZV v1 v2 v1 v2 v3 v5 v3 v5 v4 v4 v6 v6 v1 v2 v3 v4 v5 v6 v1 v2 v3 v4 v5 v6 (2, 2, 2, 1, 1, 2) (0, 2, 0, 2, 2, 0)
  • 14. 次数列上の関数 定義 f (x) = 次数列 x の tri.-free 2-マッチング の最大重み v1 2 v2 v1 2 v2 v1 v1 2 v2 2 v2 7 10 7 10 7 10 7 10 v3 8 v5 v3 8 v5 8 8 v3 2 3 v3 2 3 2 3 2 3 v5 v5 2 v4 2 2 v4 2 2 v4 2 v4 2 2 v6 v6 v6 v6 v1 v2 v3 v4 v5 v6 v1 v2 v3 v4 v5 v6 v1 v2 v3 v4 v5 v6 f (2, 2, 2, 1, 1, 2) = 21 f (0, 2, 0, 2, 2, 0) = -∞ f (1, 1, 1, 1, 0, 0) = 15 max f (x) を求めればよい x
  • 15. 提案アルゴリズム 主定理 次数列に関する局所探索で 最大 tri.-free 2-マッチング問題は多項式時間で解ける 局所探索 ||y - x||1 ≤ 2 1: x ← 0 2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す 最適解 f (x) = tri.-free 2-マッチング (次数列 x ) の最大重み 初期解
  • 16. 発表の流れ  制約付き 2-マッチング  提案アルゴリズム  正当性の証明  まとめ
  • 17. 提案アルゴリズム 主定理 次数列に関する局所探索で 最大 tri.-free 2-マッチング問題は多項式時間で解ける 局所探索 ||y - x||1 ≤ 2 1: x ← 0 2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す 最適解 Q1. 局所探索で最適解求まる? Q2. f (x) の計算ができる? f (x) = tri.-free 2-マッチング (次数列 x ) の最大重み 初期解
  • 18. アルゴリズムの正当性 定理 (本研究) f は ジャンプシステム上のM凹関数 定理 (Murota [2006] など) ジャンプシステム上のM凹関数 は 局所探索で 効率良く最大化できる
  • 19. ジャンプシステム上のM凹関数 (Murota [2006]) 定義 f : ZV → R∪{∞} が ジャンプシステム上のM凹 def ∀x, y ∈ ZV, ∀s ∈ Inc(x, y), ∃t ∈ Inc(x+s, y), f (x+s+t) + f (y-s-t) ≧ f (x) + f (y) (Inc(x, y) : x から y へ近づく単位ベクトル全体)  効率的に解ける多くの組合せ最適化問題を含む枠組  局所探索で最大化問題が多項式回の反復で解ける (0, 2) (2, 2) (0, 2) (2, 2) 3 4 3 y 4 O(n3) 回 5 5 (1, 1) (1, 1) 2 6 2 t x 6 (0, 0) (2, 0) (0, 0) s (2, 0)
  • 20. 提案アルゴリズム 主定理 次数列に関する局所探索で 最大 tri.-free 2-マッチング問題は多項式時間で解ける 局所探索 ||y - x||1 ≤ 2 1: x ← 0 2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す 最適解 Q1. 局所探索で最適解求まる? Q2. f (x) の計算ができる? f (x) = tri.-free 2-マッチング (次数列 x ) の最大重み 初期解
  • 21. v1 2 v2 f (x) の計算 7 v3 2 8 3 10 v4 v5 定理 (本研究) f (x) = 次数列 x の tri.-free 2-マッチング の最大重み は 多項式時間で計算できる ① ① ① ① ① ② ① ② ② ② ① ① ① ① ① ① ② ② v1 v2 v3 v4 v5 v1 v2 v3 v4 v5 f (1, 1, 1, 1, 0) = 15 f (1, 2, 1, 2, 2) = 17 方針 次数 2 次数 2  Triangle になり得るところを予め縮約  制約なし2-マッチング問題に帰着 次数 2
  • 22. Triangle の縮約 次数 2 次数 2 e’1 e1 f2 e3 次数 2 f3 f1 e’2 e’3 e2 次数 2 C C を1点に G G’ 観察 G の tri.-free 2-マッチング は  C の ちょうど2つの枝を含む  ei を含む fi を含む e’1 重み w(e1) + w(f1) e1 f2 e3 f3 f1 e’2 e’3 e2 対応
  • 23. f (x) の計算 定理 (本研究) f (x) = 次数列 x の tri.-free 2-マッチング の最大重み は 多項式時間で計算できる 指定次数2の頂点からなる Triangle を すべて 縮約,重みも変える (交わらないように極大にとる) 次数条件をみたす 最大2-マッチング を計算 重み w(e1) + w(f1) 次数 2 次数 2 e’1 e1 f2 e3 次数 2 f3 f1 e’2 e’3 e2 次数 2 C C を1点に
  • 24. 提案アルゴリズム 主定理 次数列に関する局所探索で 最大 tri.-free 2-マッチング問題は多項式時間で解ける 局所探索 ||y - x||1 ≤ 2 1: x ← 0 2: 「x の近傍に f (y) ≧ f (x) なる y があれば x ← y 」 をくり返す 最適解 Q1. 局所探索で最適解求まる? Q2. f (x) の計算ができる? O(n3×(最大マッチング)) f (x) = tri.-free 2-マッチング (次数列 x ) の最大重み 初期解
  • 25. 発表の流れ  制約付き 2-マッチング  提案アルゴリズム  正当性の証明  まとめ
  • 26. まとめ  次数3以下のグラフ上の tri.-free 2-マッチング問題に対する 多項式時間アルゴリズム  Hartvigsen-Li [2007] より遅いが単純 ジャンプシステム上のM凹関数の利用  ジャンプシステム上のM凹関数の有用性を示す例  一般グラフ上の tri.-free 2-マッチング 問題に対する 新しいアプローチの可能性