Submit Search
Upload
ヴァジラーニ著「近似アルゴリズム」第一章
•
Download as PPTX, PDF
•
1 like
•
2,252 views
Keisuke Sugawara
Follow
V.ヴァジラーニ著の「近似アルゴリズム」第一章の輪読のときに使ったスライドです。 目次 1.1 OPTの下界法 1.2 よい特徴づけを持つ問題と最大最小関係
Read less
Read more
Technology
Report
Share
Report
Share
1 of 58
Download now
Recommended
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
MITSUNARI Shigeo
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰
sleipnir002
CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算
sleepy_yoshi
われわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのか
toshihiro ichitani
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
マーク&スイープ勉強会
マーク&スイープ勉強会
7shi
tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)
TeXmedicine
Recommended
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
MITSUNARI Shigeo
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰
sleipnir002
CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算
sleepy_yoshi
われわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのか
toshihiro ichitani
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
マーク&スイープ勉強会
マーク&スイープ勉強会
7shi
tcolorboxによる装飾表現(TeXユーザの集い2015)
tcolorboxによる装飾表現(TeXユーザの集い2015)
TeXmedicine
最適化超入門
最適化超入門
Takami Sato
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews, Inc.
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Shuto Suzuki
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
Deep Learning JP
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetup
gree_tech
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
Jun Okumura
基礎線形代数講座
基礎線形代数講座
SEGADevTech
つくばチャレンジ2020運営の活動報告
つくばチャレンジ2020運営の活動報告
Yoshitaka HARA
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
Deep Learning JP
async/await のしくみ
async/await のしくみ
信之 岩永
Advancements in-tiled-rendering
Advancements in-tiled-rendering
mistercteam
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
Indeedなう 予選A 解説
Indeedなう 予選A 解説
AtCoder Inc.
Deflate
Deflate
7shi
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Atsushi KOMIYA
RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21
horihorio
LLVM最適化のこつ
LLVM最適化のこつ
MITSUNARI Shigeo
図と実装で理解する『木構造入門』
図と実装で理解する『木構造入門』
Proktmr
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAM
Yoshitaka HARA
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活
Classi.corp
PRML第6章「カーネル法」
PRML第6章「カーネル法」
Keisuke Sugawara
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
Keisuke Sugawara
More Related Content
What's hot
最適化超入門
最適化超入門
Takami Sato
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews, Inc.
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Shuto Suzuki
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
Deep Learning JP
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetup
gree_tech
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
Jun Okumura
基礎線形代数講座
基礎線形代数講座
SEGADevTech
つくばチャレンジ2020運営の活動報告
つくばチャレンジ2020運営の活動報告
Yoshitaka HARA
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
Deep Learning JP
async/await のしくみ
async/await のしくみ
信之 岩永
Advancements in-tiled-rendering
Advancements in-tiled-rendering
mistercteam
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
Indeedなう 予選A 解説
Indeedなう 予選A 解説
AtCoder Inc.
Deflate
Deflate
7shi
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Atsushi KOMIYA
RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21
horihorio
LLVM最適化のこつ
LLVM最適化のこつ
MITSUNARI Shigeo
図と実装で理解する『木構造入門』
図と実装で理解する『木構造入門』
Proktmr
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAM
Yoshitaka HARA
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活
Classi.corp
What's hot
(20)
最適化超入門
最適化超入門
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetup
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
基礎線形代数講座
基礎線形代数講座
つくばチャレンジ2020運営の活動報告
つくばチャレンジ2020運営の活動報告
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
async/await のしくみ
async/await のしくみ
Advancements in-tiled-rendering
Advancements in-tiled-rendering
マルチコアを用いた画像処理
マルチコアを用いた画像処理
Indeedなう 予選A 解説
Indeedなう 予選A 解説
Deflate
Deflate
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリング
RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21
LLVM最適化のこつ
LLVM最適化のこつ
図と実装で理解する『木構造入門』
図と実装で理解する『木構造入門』
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAM
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活
Viewers also liked
PRML第6章「カーネル法」
PRML第6章「カーネル法」
Keisuke Sugawara
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
Keisuke Sugawara
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
Koichi Hamada
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Yasutomo Kawanishi
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Yasutomo Kawanishi
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
Viewers also liked
(6)
PRML第6章「カーネル法」
PRML第6章「カーネル法」
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
グラフィカルモデル入門
グラフィカルモデル入門
ヴァジラーニ著「近似アルゴリズム」第一章
1.
Approximation Algorithms 近似アルゴリズム 第1章 M1 菅原啓介
2.
目次 • 1.1 OPTの下界法 •
1.1.1 個数版点カバー問題に対する近似アルゴリズム • 1.1.2 近似保証は改善可能か • 1.2 よい特徴づけをもつ問題と最小最大関係
3.
近似アルゴリズムの設計 最適化問題が多項式時間で…… • 解ける場合(NP困難でない) • 解くアルゴリズム内に 「組み合わせ構造」が存在 •
最適解を効率的に求めるための 足がかりとして利用 • 解けない場合(NP困難) • 最適解を効率的に解く足がかり:なし • 近似解を効率的に解く足がかり:あり 似ている厳密アルゴリズム設計 近似アルゴリズム設計
4.
点カバー問題 • 入力:無向グラフ、各点へのコスト関数 • 求めるもの:最小コストの「点カバー」 •
「点カバー」とは 2 4 34 2 1 3 13
5.
点カバー問題 • 入力:無向グラフ、各点へのコスト関数 • 求めるもの:最小コストの「点カバー」 •
「点カバー」とは 2 4 34 2 1 3 13
6.
点カバー問題 • 入力:無向グラフ、各点へのコスト関数 • 求めるもの:最小コストの「点カバー」 •
「点カバー」とは 2 4 34 2 1 3 13
7.
点カバー問題 • 入力:無向グラフ、各点へのコスト関数 • 求めるもの:最小コストの「点カバー」 •
「点カバー」とは 2 4 34 2 1 3 13
8.
点カバー問題 • 入力:無向グラフ、各点へのコスト関数 • 求めるもの:最小コストの「点カバー」 •
「点カバー」とは 2 4 34 2 1 3 13
9.
点カバー問題 • 入力:無向グラフ、各点へのコスト関数 • 求めるもの:最小コストの「点カバー」 •
「点カバー」とは 2 4 34 2 1 3 13 このように、点の部分集合のうち、 どの辺に対しても少なくても一方の 端点を含むものを、点カバーという コスト: 3 + 4 + 2 + 3 = 12 もっと良い解は?
10.
個数版点カバー問題 • 入力:無向グラフ、各点へのコスト関数(すべて1) • 求めるもの:点の数が最小となるような「点カバー」 1
1 11 1 1 1 11
11.
NP-最適化問題 • NP-最適化問題Π • 最小化あるいは最大化問題 •
インスタンス(入力):空でない実行可能解の集合を伴うもの • どの実行可能解も目的関数値(非負の有理数)を持つ • 正しいインスタンスか・実行可能解か・目的値関数がいくらかは多項式時間で決定可能 • 実行可能解のうち、最適な目的関数値を達成するのが最適解 • インスタンス𝐼の最適解の目的関数値をOPTΠ 𝐼 と表す • あいまいでないときは単にOPTと表す • 本書で扱う問題ではOPTΠ 𝐼 を計算するのはNP困難
12.
近似アルゴリズム𝒜 • 最適解に「近い」実行可能解を多項式時間で求めるアルゴリズム • 近似解の目的関数値が最適解の目的関数値のある
保証された値 以内 近似率あるいは近似保証
13.
個数版点カバー問題の場合 • NP-最適化問題 • インスタンス:無向グラフ𝐺
= 𝑉, 𝐸 • 実行可能解:点カバー𝑉′ • 目的関数値:点カバー𝑉′の点の個数 • 正しいインスタンスか・実行可能解か・目的値関数がいくらかは多項式時間で決定可能 ノード数 𝑉 の多項式時間でコストが最適解のコストの 2倍以内の解を求める近似アルゴリズムを考える
14.
個数版点カバー問題に対する近似アルゴリズム • アルゴリズム1.2 (個数版点カバー) •
𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を 点カバーとして出力する
15.
マッチング • インスタンス:無向グラフ𝐺 =
𝑉, 𝐸 • 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、 𝑀をマッチングという
16.
マッチング • インスタンス:無向グラフ𝐺 =
𝑉, 𝐸 • 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、 𝑀をマッチングという マッチング
17.
マッチング • インスタンス:無向グラフ𝐺 =
𝑉, 𝐸 • 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、 𝑀をマッチングという マッチング
18.
マッチング • インスタンス:無向グラフ𝐺 =
𝑉, 𝐸 • 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、 𝑀をマッチングという 極大マッチング (もうこのマッチングに 辺を加えられない)
19.
マッチング • インスタンス:無向グラフ𝐺 =
𝑉, 𝐸 • 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、 𝑀をマッチングという マッチングではない
20.
極大マッチングと最大マッチング • 極大マッチング:もう辺を加えられないようなマッチング • 最大マッチング:辺数最大のマッチング 極大マッチング
極大マッチング 最大マッチング
21.
極大マッチングを得るには • 以下のことを辺がなくなるまで繰り返す • 単に辺を選んでいく •
選んだ辺の両端点(とそれに接続するすべての辺)を除く
22.
極大マッチングを得るには • 以下のことを辺がなくなるまで繰り返す • 単に辺を選んでいく •
選んだ辺の両端点(とそれに接続するすべての辺)を除く
23.
極大マッチングを得るには • 以下のことを辺がなくなるまで繰り返す • 単に辺を選んでいく •
選んだ辺の両端点(とそれに接続するすべての辺)を除く
24.
極大マッチングを得るには • 以下のことを辺がなくなるまで繰り返す • 単に辺を選んでいく •
選んだ辺の両端点(とそれに接続するすべての辺)を除く
25.
極大マッチングを得るには • 以下のことを辺がなくなるまで繰り返す • 単に辺を選んでいく •
選んだ辺の両端点(とそれに接続するすべての辺)を除く 多項式時間で 計算可能
26.
点カバーの点数とマッチングの関係 • マッチングの辺数より少ない点数による点カバーはありえない • マッチングの各辺をカバーするにはそれぞれ異なる点が必要になるため •
このことから、 𝑀 ≤ OPT
27.
個数版点カバー問題に対する近似アルゴリズム • アルゴリズム1.2 (個数版点カバー) •
𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を 点カバーとして出力する
28.
個数版点カバー問題に対する近似アルゴリズム • アルゴリズム1.2 (個数版点カバー) •
𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を 点カバーとして出力する
29.
個数版点カバー問題に対する近似アルゴリズム • アルゴリズム1.2 (個数版点カバー) •
𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を 点カバーとして出力する
30.
個数版点カバー問題に対する近似アルゴリズム • アルゴリズム1.2 (個数版点カバー) •
𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を 点カバーとして出力する
31.
個数版点カバー問題に対する近似アルゴリズム • アルゴリズム1.2 (個数版点カバー) •
𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を 点カバーとして出力する 最適解OPT = 4 近似解2 𝑀 = 6 ≤ 2 × OPT 近似率= 6 4 = 1.5
32.
個数版点カバー問題に対する近似アルゴリズム • アルゴリズム1.2 (個数版点カバー) •
𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を 点カバーとして出力する • 定理1.3 アルゴリズム1.2は個数版点カバー問題に対する2近似アルゴリズムである • 証明 • 出力された点集合でカバーされないような辺は1つもない。あったとすると、 そのような辺はマッチング𝑀に付け加えることができ、𝑀の極大性に反するため。 • 出力された点カバーに含まれる点数は2 𝑀 なので、前述した 𝑀 ≤ OPTより、 2 𝑀 ≤ 2OPTが成り立ち、近似保証は2 下界スキーム 𝑀 ≤ OPTを用いた近似アルゴリズム(典型的な例)
33.
近似保証の改善 1. アルゴリズム1.2の近似保証は、よりよい解析を用いれば改善できるか? 2. アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、 よりよい近似保証のアルゴリズムが設計可能か? 3.
点カバー問題に対して、よりよい近似保証のアルゴリズムに結びつく 他の下界スキームが存在するか?
34.
近似保証の改善1 • アルゴリズム1.2の近似保証は、よりよい解析を用いれば改善できるか? • 最悪の場合の近似率は本当に2なのか?
1.8などもっと小さい値ではないのか? 点カバーの最適解 極大マッチングによる 点カバーの近似解 極大マッチング 近似率= 6 4 = 1.5
35.
近似保証の改善1 • アルゴリズム1.2の近似保証は、よりよい解析を用いれば改善できるか? • 最悪の場合の近似率は本当に2なのか?
1.8などもっと小さい値ではないのか? • 答:最悪の場合の近似率は2 • タイトな例:完全2部グラフ𝐾 𝑛,𝑛 最適解(OPT = 3) 𝐾3,3
36.
近似保証の改善1 • アルゴリズム1.2の近似保証は、よりよい解析を用いれば改善できるか? • 近似率は本当に2なのか?
1.8などもっと小さい値ではないのか? • 答:最悪の場合の近似率は2 • 完全2部グラフ𝐾 𝑛,𝑛に対してアルゴリズム1.2を用いると 極大マッチング 点数6 = 2 ∙ OPT
37.
近似保証の改善2 • アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、 よりよい近似保証のアルゴリズムが設計可能か? • マッチングの両端を点カバーとして出力するため、点の数は2
𝑀 となるが、 本当にマッチングのすべての辺の両端を点カバーとして出力する必要があるのか? 点カバーの最適解 極大マッチングによる 点カバーの近似解 極大マッチング 近似率= 6 4 = 1.5
38.
近似保証の改善2 • アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、 よりよい近似保証のアルゴリズムが設計可能か? • 答:No •
例:頂点数を奇数とする完全グラフ𝐾 𝑛 𝐾5
39.
近似保証の改善2 • アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、 よりよい近似保証のアルゴリズムが設計可能か? • 答:No •
例:頂点数を奇数とする完全グラフ𝐾 𝑛 点カバーの最適解 極大マッチング 近似解
40.
近似保証の改善2 • アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、 よりよい近似保証のアルゴリズムが設計可能か? • 答:No •
頂点数を奇数とする完全グラフ𝐾 𝑛において、極大マッチングの辺数が 𝑛−1 2 に対して 最適点カバーの点数は𝑛 − 1 点カバーの最適解 極大マッチング
41.
近似保証の改善3 • 点カバー問題に対して、よりよい近似保証のアルゴリズムに結びつく 他の下界スキームが存在するか? • 未解決問題
42.
判定版問題 • 個数版点カバー問題と最大マッチング問題の判定版を考える • 𝐺の最小点カバーに含まれる点数は𝑘以下か? •
𝐺の最大マッチングに含まれる辺数は𝑙以上か? • これらは2つともYes証明(正しいかどうか多項式時間で判定可能な解の候補)がある • Yes証明の例:点数𝑘の点カバー • Yes証明を持つ場合、クラスNPに属する
43.
判定版問題 • 𝐺の最小点カバーに含まれる点数は𝑘以下か? • 𝐺の最大マッチングに含まれる辺数は𝑙以上か? •
この2つの問題に対してNoとなる解について考える • No証明:本当にNoといえるのか多項式時間で判定可能な、Noとなる解の候補 • No証明はあるか? • 点数𝑘 + 1の点カバーを与えても、もっと小さい点数の点カバーがあるかもしれない… • 最小点カバーの点数を求めてしまえば解決するが、多項式時間で求めるのは不可能 • No証明が存在する場合、その問題はクラスco-NPに属する
44.
2部グラフにおけるNo証明 • 前ページの問題において、No証明が存在する特殊な場合について見ていく • 定理1.6
任意の2部グラフにおいて以下の式が成立する max マッチング 𝑀 𝑀 = min 点カバー 𝑈 𝑈 極大マッチング 点カバー問題の最適解
45.
2部グラフにおけるNo証明 • max マッチング 𝑀 𝑀
= min 点カバー 𝑈 𝑈 • 2部グラフ𝐺の最小点カバーに含まれる点数は𝑘以下か? • これに対するNo証明:辺数𝑘 + 1のマッチング • 2部グラフ𝐺の最大マッチングに含まれる辺数は𝑙以上か? • これに対するNo証明:点数𝑙 − 1の点カバー • 以上のことから • 𝐺の最小点カバーに含まれる点数は𝑘以下か? • 𝐺の最大マッチングに含まれる辺数は𝑙以上か? 2部グラフGという 特殊な条件においては、 どちらもNo証明をもつため co-NPに属する
46.
クラスco-NP • Yesとなる解が本当に正しいかどうか、多項式時間で判定できる問題:クラスNP • Noとなる解が本当に正しいかどうか、多項式時間で判定できる問題:クラスco-NP •
2部グラフにおける個数版最小点カバー判定問題はクラスNP,co-NP両方に属する • NP ∩ co-NPに属する問題を「よい特徴づけをもつ」という P NP co-NP
47.
奇数点集合カバー • 𝐺が2部グラフと限定されない場合について考える • 𝐺の最大マッチングに含まれる辺数は𝑙以上か? •
点カバーを「奇数点集合カバー」に拡張 点の集合𝑆1 点の集合𝑆2 点𝑣1, 𝑣2 奇数点集合カバーは以下の集合族からなる 𝑣1 𝑣2 𝐺の各辺が、次のどちらかを満たす ・両端点が𝑆1, 𝑆2のいずれかに含まれる ・一方の端点が𝑣1, 𝑣2に一致する
48.
奇数点集合カバー • 𝐺が2部グラフと限定されない場合について考える • 𝐺の最大マッチングに含まれる辺数は𝑙以上か? •
点カバーを「奇数点集合カバー」に拡張 点の集合𝑆1 点の集合𝑆2 点𝑣1, 𝑣2 奇数点集合カバーは以下の集合族からなる 𝑣1 𝑣2 𝐺の各辺が、次のどちらかを満たす ・両端点が𝑆1, 𝑆2のいずれかに含まれる ・一方の端点が𝑣1, 𝑣2に一致する
49.
奇数点集合カバー • 𝐺が2部グラフと限定されない場合について考える • 𝐺の最大マッチングに含まれる辺数は𝑙以上か? •
点カバーを「奇数点集合カバー」に拡張 点の集合𝑆1 点の集合𝑆2 点𝑣1, 𝑣2 奇数点集合カバーは以下の集合族からなる 𝑣1 𝑣2 𝐺の各辺が、次のどちらかを満たす ・両端点が𝑆1, 𝑆2のいずれかに含まれる ・一方の端点が𝑣1, 𝑣2に一致する
50.
奇数点集合カバー • 𝐺が2部グラフと限定されない場合について考える • 𝐺の最大マッチングに含まれる辺数は𝑙以上か? •
点カバーを「奇数点集合カバー」に拡張 点の集合𝑆1 点の集合𝑆2 点𝑣1, 𝑣2 奇数点集合カバーは以下の集合族からなる 𝑣1 𝑣2 𝐺の各辺が、次のどちらかを満たす ・両端点が𝑆1, 𝑆2のいずれかに含まれる ・一方の端点が𝑣1, 𝑣2に一致する
51.
奇数点集合カバー • 𝐺が2部グラフと限定されない場合について考える • 𝐺の最大マッチングに含まれる辺数は𝑙以上か? •
点カバーを「奇数点集合カバー」に拡張 点の集合𝑆1 点の集合𝑆2 点𝑣1, 𝑣2 奇数点集合カバーは以下の集合族からなる 𝑣1 𝑣2 𝐺の各辺が、次のどちらかを満たす ・両端点が𝑆1, 𝑆2のいずれかに含まれる ・一方の端点が𝑣1, 𝑣2に一致する
52.
奇数点集合カバー • 「奇数点集合カバー」でない場合 点の集合𝑆1 点の集合𝑆2 点𝑣1, 𝑣2,
𝑣3 奇数点集合カバーは以下の集合族からなる 𝑣1 𝑣2 𝐺の各辺が、次のどちらかを満たす ・両端点が𝑆1, 𝑆2のいずれかに含まれる ・一方の端点が𝑣1, 𝑣2に一致する 𝑣3
53.
奇数点集合カバー • 点カバーを「奇数点集合カバー」に拡張 • この奇数点集合カバー𝐶の重みを次のように定義 •
𝑤 𝐶 = 𝑙 + 𝑖=1 𝑘 𝑆𝑖 − 1 2 点の集合𝑆1 点の集合𝑆2 点𝑣1, 𝑣2(個数を𝑙とする) 奇数点集合カバーは以下の集合族からなる 𝑣1 𝑣2 𝐺の各辺が、次のどちらかを満たす ・両端点が𝑆1, 𝑆2のいずれかに含まれる ・一方の端点が𝑣1, 𝑣2に一致する 集合族の 個数を𝑘とする
54.
奇数点集合カバー • 奇数点集合カバーの重み 𝑤
𝐶 = 𝑙 + 𝑖=1 𝑘 𝑆𝑖 − 1 2 をより小さくできる例 • 奇数の長さの閉路 𝑤 𝐶 = 3 + 0 = 3 𝑤 𝐶 = 0 + 5 − 1 2 = 2
55.
最大マッチング判定問題に対するNo証明 • 前ページで求めた奇数点集合カバーの重みをもとに、以下の定理が成立 • 定理1.7
任意のグラフに対して、以下の関係が成立 max マッチング 𝑀 𝑀 = min 奇数点集合カバー 𝐶 𝑤 𝐶 • 以上のことから、任意のグラフ𝐺の最大マッチングに含まれる辺数は𝑘以上か? という問題に対するNo証明は、重みが𝑘 − 1の奇数点集合カバーである
56.
点カバー問題に対するNo証明 • 𝐺の最小点カバーに含まれる点数は𝑘以下か? について再考 •
系1.8 任意のグラフに対して以下の関係が成立 max マッチング 𝑀 𝑀 ≤ min 点カバー 𝑈 𝑈 ≤ 2 ⋅ max マッチング 𝑀 𝑀 • 点カバー問題はNo証明を持たないが、ある程度小さい𝑘に対してはNo証明の存在を 示すことができる • 直感的な例: • 問題:𝐺の最小点カバーに含まれる点数は3以下か? • 近似アルゴリズムを用いると、近似解として8が得られた • 近似率は2なので、最適解は最悪(な近似)の場合でも8 2 = 4 • よって、最小点カバーの点数が3以下になることはありえない
57.
点カバー問題に対するNo証明 • 𝐺の最小点カバーに含まれる点数は𝑘以下か? ---
インスタンス 𝐺, 𝑘 • 近似アルゴリズム1.2で出力された点カバーの点数を𝒜 𝐺 とすると • 𝑂𝑃𝑇 𝐺 ≤ 𝒜 𝐺 ≤ 2 ⋅ 𝑂𝑃𝑇 𝐺 • 𝑂𝑃𝑇 𝐺 2 ≤ 𝒜 𝐺 2 ≤ 𝑂𝑃𝑇 𝐺 • ここで𝑘 < 𝒜 𝐺 2 ならば𝑘 < 𝑂𝑃𝑇 𝐺 • さらに𝑘 < 𝑂𝑃𝑇 𝐺 2 であれば𝑘 < 𝒜 𝐺 2 であり、アルゴリズム(1.2)は𝑘 < 𝑂𝑃𝑇 𝐺 2 となる すべてのインスタンス 𝐺, 𝑘 に対してNo証明を与える 𝑂𝑃𝑇 𝐺 2 ⋅ 𝑂𝑃𝑇 𝐺𝑂𝑃𝑇 𝐺 2 𝒜 𝐺𝒜 𝐺 2
58.
𝛼近似のNo証明 • ここまでの内容をより一般化 • 最小化問題のインスタンス
𝐼, 𝐵 について、𝐵 < 𝑂𝑃𝑇 𝐼 𝛼 を満たすのならば、 インスタンス 𝐼, 𝐵 の正解はno • このインスタンスに対するNo証明(正解がnoであることを示す解の候補)を 𝛼近似のNo証明という
Editor's Notes
インスタンスとは、インスタンスを対象とした実行可能解の集合を伴うもの
この例では近似率が1.5となってしまった。実際に近似率が2になるインスタンスは存在するのか?
すべての頂点がつながっているので、頂点を2つ以上残すと必然的に辺も残ることになる
すべての頂点がつながっているので、頂点を2つ以上残すと必然的に辺も残ることになる
中段:多項式時間で最小点カバーを求めることはできないが、頂点数kの点カバーを与えてしまえば、最小点カバーがk以下であることはyesであるといえる
中段:こういう例があるのでnoですよ、といって解の候補を示して、その例が本当にnoの例として正しいのかを多項式時間で判定可能な解の候補
図:
上段:奇数点集合カバーの重みをより小さくできる場合はどのようなものがあるか見ていく
中段:重みが𝑘+1の奇数点集合カバーを1つ見つけるのは多項式時間ではできないかもしれないが
Download now