SlideShare a Scribd company logo
1 of 58
Approximation Algorithms
近似アルゴリズム
第1章
M1 菅原啓介
目次
• 1.1 OPTの下界法
• 1.1.1 個数版点カバー問題に対する近似アルゴリズム
• 1.1.2 近似保証は改善可能か
• 1.2 よい特徴づけをもつ問題と最小最大関係
近似アルゴリズムの設計
最適化問題が多項式時間で……
• 解ける場合(NP困難でない)
• 解くアルゴリズム内に
「組み合わせ構造」が存在
• 最適解を効率的に求めるための
足がかりとして利用
• 解けない場合(NP困難)
• 最適解を効率的に解く足がかり:なし
• 近似解を効率的に解く足がかり:あり
似ている厳密アルゴリズム設計 近似アルゴリズム設計
点カバー問題
• 入力:無向グラフ、各点へのコスト関数
• 求めるもの:最小コストの「点カバー」
• 「点カバー」とは
2 4
34 2
1
3 13
点カバー問題
• 入力:無向グラフ、各点へのコスト関数
• 求めるもの:最小コストの「点カバー」
• 「点カバー」とは
2 4
34 2
1
3 13
点カバー問題
• 入力:無向グラフ、各点へのコスト関数
• 求めるもの:最小コストの「点カバー」
• 「点カバー」とは
2 4
34 2
1
3 13
点カバー問題
• 入力:無向グラフ、各点へのコスト関数
• 求めるもの:最小コストの「点カバー」
• 「点カバー」とは
2 4
34 2
1
3 13
点カバー問題
• 入力:無向グラフ、各点へのコスト関数
• 求めるもの:最小コストの「点カバー」
• 「点カバー」とは
2 4
34 2
1
3 13
点カバー問題
• 入力:無向グラフ、各点へのコスト関数
• 求めるもの:最小コストの「点カバー」
• 「点カバー」とは
2 4
34 2
1
3 13
このように、点の部分集合のうち、
どの辺に対しても少なくても一方の
端点を含むものを、点カバーという
コスト:
3 + 4 + 2 + 3 = 12
もっと良い解は?
個数版点カバー問題
• 入力:無向グラフ、各点へのコスト関数(すべて1)
• 求めるもの:点の数が最小となるような「点カバー」
1 1
11 1
1
1 11
NP-最適化問題
• NP-最適化問題Π
• 最小化あるいは最大化問題
• インスタンス(入力):空でない実行可能解の集合を伴うもの
• どの実行可能解も目的関数値(非負の有理数)を持つ
• 正しいインスタンスか・実行可能解か・目的値関数がいくらかは多項式時間で決定可能
• 実行可能解のうち、最適な目的関数値を達成するのが最適解
• インスタンス𝐼の最適解の目的関数値をOPTΠ 𝐼 と表す
• あいまいでないときは単にOPTと表す
• 本書で扱う問題ではOPTΠ 𝐼 を計算するのはNP困難
近似アルゴリズム𝒜
• 最適解に「近い」実行可能解を多項式時間で求めるアルゴリズム
• 近似解の目的関数値が最適解の目的関数値のある 保証された値 以内
近似率あるいは近似保証
個数版点カバー問題の場合
• NP-最適化問題
• インスタンス:無向グラフ𝐺 = 𝑉, 𝐸
• 実行可能解:点カバー𝑉′
• 目的関数値:点カバー𝑉′の点の個数
• 正しいインスタンスか・実行可能解か・目的値関数がいくらかは多項式時間で決定可能
ノード数 𝑉 の多項式時間でコストが最適解のコストの
2倍以内の解を求める近似アルゴリズムを考える
個数版点カバー問題に対する近似アルゴリズム
• アルゴリズム1.2 (個数版点カバー)
• 𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を
点カバーとして出力する
マッチング
• インスタンス:無向グラフ𝐺 = 𝑉, 𝐸
• 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、
𝑀をマッチングという
マッチング
• インスタンス:無向グラフ𝐺 = 𝑉, 𝐸
• 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、
𝑀をマッチングという
マッチング
マッチング
• インスタンス:無向グラフ𝐺 = 𝑉, 𝐸
• 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、
𝑀をマッチングという
マッチング
マッチング
• インスタンス:無向グラフ𝐺 = 𝑉, 𝐸
• 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、
𝑀をマッチングという
極大マッチング
(もうこのマッチングに
辺を加えられない)
マッチング
• インスタンス:無向グラフ𝐺 = 𝑉, 𝐸
• 辺の部分集合𝑀 ⊆ 𝐹に対して𝑀のどの辺も他の辺と端点を共有しないとき、
𝑀をマッチングという
マッチングではない
極大マッチングと最大マッチング
• 極大マッチング:もう辺を加えられないようなマッチング
• 最大マッチング:辺数最大のマッチング
極大マッチング 極大マッチング 最大マッチング
極大マッチングを得るには
• 以下のことを辺がなくなるまで繰り返す
• 単に辺を選んでいく
• 選んだ辺の両端点(とそれに接続するすべての辺)を除く
極大マッチングを得るには
• 以下のことを辺がなくなるまで繰り返す
• 単に辺を選んでいく
• 選んだ辺の両端点(とそれに接続するすべての辺)を除く
極大マッチングを得るには
• 以下のことを辺がなくなるまで繰り返す
• 単に辺を選んでいく
• 選んだ辺の両端点(とそれに接続するすべての辺)を除く
極大マッチングを得るには
• 以下のことを辺がなくなるまで繰り返す
• 単に辺を選んでいく
• 選んだ辺の両端点(とそれに接続するすべての辺)を除く
極大マッチングを得るには
• 以下のことを辺がなくなるまで繰り返す
• 単に辺を選んでいく
• 選んだ辺の両端点(とそれに接続するすべての辺)を除く
多項式時間で
計算可能
点カバーの点数とマッチングの関係
• マッチングの辺数より少ない点数による点カバーはありえない
• マッチングの各辺をカバーするにはそれぞれ異なる点が必要になるため
• このことから、 𝑀 ≤ OPT
個数版点カバー問題に対する近似アルゴリズム
• アルゴリズム1.2 (個数版点カバー)
• 𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を
点カバーとして出力する
個数版点カバー問題に対する近似アルゴリズム
• アルゴリズム1.2 (個数版点カバー)
• 𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を
点カバーとして出力する
個数版点カバー問題に対する近似アルゴリズム
• アルゴリズム1.2 (個数版点カバー)
• 𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を
点カバーとして出力する
個数版点カバー問題に対する近似アルゴリズム
• アルゴリズム1.2 (個数版点カバー)
• 𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を
点カバーとして出力する
個数版点カバー問題に対する近似アルゴリズム
• アルゴリズム1.2 (個数版点カバー)
• 𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を
点カバーとして出力する
最適解OPT = 4
近似解2 𝑀 = 6 ≤ 2 × OPT
近似率=
6
4
= 1.5
個数版点カバー問題に対する近似アルゴリズム
• アルゴリズム1.2 (個数版点カバー)
• 𝐺の極大マッチング𝑀を求めて、マッチング𝑀の辺の端点からなる集合を
点カバーとして出力する
• 定理1.3 アルゴリズム1.2は個数版点カバー問題に対する2近似アルゴリズムである
• 証明
• 出力された点集合でカバーされないような辺は1つもない。あったとすると、
そのような辺はマッチング𝑀に付け加えることができ、𝑀の極大性に反するため。
• 出力された点カバーに含まれる点数は2 𝑀 なので、前述した 𝑀 ≤ OPTより、
2 𝑀 ≤ 2OPTが成り立ち、近似保証は2
下界スキーム 𝑀 ≤ OPTを用いた近似アルゴリズム(典型的な例)
近似保証の改善
1. アルゴリズム1.2の近似保証は、よりよい解析を用いれば改善できるか?
2. アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、
よりよい近似保証のアルゴリズムが設計可能か?
3. 点カバー問題に対して、よりよい近似保証のアルゴリズムに結びつく
他の下界スキームが存在するか?
近似保証の改善1
• アルゴリズム1.2の近似保証は、よりよい解析を用いれば改善できるか?
• 最悪の場合の近似率は本当に2なのか? 1.8などもっと小さい値ではないのか?
点カバーの最適解
極大マッチングによる
点カバーの近似解
極大マッチング
近似率=
6
4
= 1.5
近似保証の改善1
• アルゴリズム1.2の近似保証は、よりよい解析を用いれば改善できるか?
• 最悪の場合の近似率は本当に2なのか? 1.8などもっと小さい値ではないのか?
• 答:最悪の場合の近似率は2
• タイトな例:完全2部グラフ𝐾 𝑛,𝑛
最適解(OPT = 3)
𝐾3,3
近似保証の改善1
• アルゴリズム1.2の近似保証は、よりよい解析を用いれば改善できるか?
• 近似率は本当に2なのか? 1.8などもっと小さい値ではないのか?
• 答:最悪の場合の近似率は2
• 完全2部グラフ𝐾 𝑛,𝑛に対してアルゴリズム1.2を用いると
極大マッチング 点数6 = 2 ∙ OPT
近似保証の改善2
• アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、
よりよい近似保証のアルゴリズムが設計可能か?
• マッチングの両端を点カバーとして出力するため、点の数は2 𝑀 となるが、
本当にマッチングのすべての辺の両端を点カバーとして出力する必要があるのか?
点カバーの最適解
極大マッチングによる
点カバーの近似解
極大マッチング
近似率=
6
4
= 1.5
近似保証の改善2
• アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、
よりよい近似保証のアルゴリズムが設計可能か?
• 答:No
• 例:頂点数を奇数とする完全グラフ𝐾 𝑛
𝐾5
近似保証の改善2
• アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、
よりよい近似保証のアルゴリズムが設計可能か?
• 答:No
• 例:頂点数を奇数とする完全グラフ𝐾 𝑛
点カバーの最適解 極大マッチング 近似解
近似保証の改善2
• アルゴリズム1.2の極大マッチングの辺数を下界としている下界スキームに基づいて、
よりよい近似保証のアルゴリズムが設計可能か?
• 答:No
• 頂点数を奇数とする完全グラフ𝐾 𝑛において、極大マッチングの辺数が
𝑛−1
2
に対して
最適点カバーの点数は𝑛 − 1
点カバーの最適解 極大マッチング
近似保証の改善3
• 点カバー問題に対して、よりよい近似保証のアルゴリズムに結びつく
他の下界スキームが存在するか?
• 未解決問題
判定版問題
• 個数版点カバー問題と最大マッチング問題の判定版を考える
• 𝐺の最小点カバーに含まれる点数は𝑘以下か?
• 𝐺の最大マッチングに含まれる辺数は𝑙以上か?
• これらは2つともYes証明(正しいかどうか多項式時間で判定可能な解の候補)がある
• Yes証明の例:点数𝑘の点カバー
• Yes証明を持つ場合、クラスNPに属する
判定版問題
• 𝐺の最小点カバーに含まれる点数は𝑘以下か?
• 𝐺の最大マッチングに含まれる辺数は𝑙以上か?
• この2つの問題に対してNoとなる解について考える
• No証明:本当にNoといえるのか多項式時間で判定可能な、Noとなる解の候補
• No証明はあるか?
• 点数𝑘 + 1の点カバーを与えても、もっと小さい点数の点カバーがあるかもしれない…
• 最小点カバーの点数を求めてしまえば解決するが、多項式時間で求めるのは不可能
• No証明が存在する場合、その問題はクラスco-NPに属する
2部グラフにおけるNo証明
• 前ページの問題において、No証明が存在する特殊な場合について見ていく
• 定理1.6 任意の2部グラフにおいて以下の式が成立する
max
マッチング 𝑀
𝑀 = min
点カバー 𝑈
𝑈
極大マッチング 点カバー問題の最適解
2部グラフにおけるNo証明
• max
マッチング 𝑀
𝑀 = min
点カバー 𝑈
𝑈
• 2部グラフ𝐺の最小点カバーに含まれる点数は𝑘以下か?
• これに対するNo証明:辺数𝑘 + 1のマッチング
• 2部グラフ𝐺の最大マッチングに含まれる辺数は𝑙以上か?
• これに対するNo証明:点数𝑙 − 1の点カバー
• 以上のことから
• 𝐺の最小点カバーに含まれる点数は𝑘以下か?
• 𝐺の最大マッチングに含まれる辺数は𝑙以上か?
2部グラフGという
特殊な条件においては、
どちらもNo証明をもつため
co-NPに属する
クラスco-NP
• Yesとなる解が本当に正しいかどうか、多項式時間で判定できる問題:クラスNP
• Noとなる解が本当に正しいかどうか、多項式時間で判定できる問題:クラスco-NP
• 2部グラフにおける個数版最小点カバー判定問題はクラスNP,co-NP両方に属する
• NP ∩ co-NPに属する問題を「よい特徴づけをもつ」という
P
NP co-NP
奇数点集合カバー
• 𝐺が2部グラフと限定されない場合について考える
• 𝐺の最大マッチングに含まれる辺数は𝑙以上か?
• 点カバーを「奇数点集合カバー」に拡張
点の集合𝑆1
点の集合𝑆2
点𝑣1, 𝑣2
奇数点集合カバーは以下の集合族からなる
𝑣1
𝑣2
𝐺の各辺が、次のどちらかを満たす
・両端点が𝑆1, 𝑆2のいずれかに含まれる
・一方の端点が𝑣1, 𝑣2に一致する
奇数点集合カバー
• 𝐺が2部グラフと限定されない場合について考える
• 𝐺の最大マッチングに含まれる辺数は𝑙以上か?
• 点カバーを「奇数点集合カバー」に拡張
点の集合𝑆1
点の集合𝑆2
点𝑣1, 𝑣2
奇数点集合カバーは以下の集合族からなる
𝑣1
𝑣2
𝐺の各辺が、次のどちらかを満たす
・両端点が𝑆1, 𝑆2のいずれかに含まれる
・一方の端点が𝑣1, 𝑣2に一致する
奇数点集合カバー
• 𝐺が2部グラフと限定されない場合について考える
• 𝐺の最大マッチングに含まれる辺数は𝑙以上か?
• 点カバーを「奇数点集合カバー」に拡張
点の集合𝑆1
点の集合𝑆2
点𝑣1, 𝑣2
奇数点集合カバーは以下の集合族からなる
𝑣1
𝑣2
𝐺の各辺が、次のどちらかを満たす
・両端点が𝑆1, 𝑆2のいずれかに含まれる
・一方の端点が𝑣1, 𝑣2に一致する
奇数点集合カバー
• 𝐺が2部グラフと限定されない場合について考える
• 𝐺の最大マッチングに含まれる辺数は𝑙以上か?
• 点カバーを「奇数点集合カバー」に拡張
点の集合𝑆1
点の集合𝑆2
点𝑣1, 𝑣2
奇数点集合カバーは以下の集合族からなる
𝑣1
𝑣2
𝐺の各辺が、次のどちらかを満たす
・両端点が𝑆1, 𝑆2のいずれかに含まれる
・一方の端点が𝑣1, 𝑣2に一致する
奇数点集合カバー
• 𝐺が2部グラフと限定されない場合について考える
• 𝐺の最大マッチングに含まれる辺数は𝑙以上か?
• 点カバーを「奇数点集合カバー」に拡張
点の集合𝑆1
点の集合𝑆2
点𝑣1, 𝑣2
奇数点集合カバーは以下の集合族からなる
𝑣1
𝑣2
𝐺の各辺が、次のどちらかを満たす
・両端点が𝑆1, 𝑆2のいずれかに含まれる
・一方の端点が𝑣1, 𝑣2に一致する
奇数点集合カバー
• 「奇数点集合カバー」でない場合
点の集合𝑆1
点の集合𝑆2
点𝑣1, 𝑣2, 𝑣3
奇数点集合カバーは以下の集合族からなる
𝑣1
𝑣2
𝐺の各辺が、次のどちらかを満たす
・両端点が𝑆1, 𝑆2のいずれかに含まれる
・一方の端点が𝑣1, 𝑣2に一致する
𝑣3
奇数点集合カバー
• 点カバーを「奇数点集合カバー」に拡張
• この奇数点集合カバー𝐶の重みを次のように定義
• 𝑤 𝐶 = 𝑙 + 𝑖=1
𝑘
𝑆𝑖 − 1 2
点の集合𝑆1
点の集合𝑆2
点𝑣1, 𝑣2(個数を𝑙とする)
奇数点集合カバーは以下の集合族からなる
𝑣1
𝑣2
𝐺の各辺が、次のどちらかを満たす
・両端点が𝑆1, 𝑆2のいずれかに含まれる
・一方の端点が𝑣1, 𝑣2に一致する
集合族の
個数を𝑘とする
奇数点集合カバー
• 奇数点集合カバーの重み 𝑤 𝐶 = 𝑙 + 𝑖=1
𝑘
𝑆𝑖 − 1 2 をより小さくできる例
• 奇数の長さの閉路
𝑤 𝐶 = 3 + 0
= 3
𝑤 𝐶 = 0 + 5 − 1 2
= 2
最大マッチング判定問題に対するNo証明
• 前ページで求めた奇数点集合カバーの重みをもとに、以下の定理が成立
• 定理1.7 任意のグラフに対して、以下の関係が成立
max
マッチング 𝑀
𝑀 = min
奇数点集合カバー 𝐶
𝑤 𝐶
• 以上のことから、任意のグラフ𝐺の最大マッチングに含まれる辺数は𝑘以上か?
という問題に対するNo証明は、重みが𝑘 − 1の奇数点集合カバーである
点カバー問題に対するNo証明
• 𝐺の最小点カバーに含まれる点数は𝑘以下か? について再考
• 系1.8 任意のグラフに対して以下の関係が成立
max
マッチング 𝑀
𝑀 ≤ min
点カバー 𝑈
𝑈 ≤ 2 ⋅ max
マッチング 𝑀
𝑀
• 点カバー問題はNo証明を持たないが、ある程度小さい𝑘に対してはNo証明の存在を
示すことができる
• 直感的な例:
• 問題:𝐺の最小点カバーに含まれる点数は3以下か?
• 近似アルゴリズムを用いると、近似解として8が得られた
• 近似率は2なので、最適解は最悪(な近似)の場合でも8 2 = 4
• よって、最小点カバーの点数が3以下になることはありえない
点カバー問題に対するNo証明
• 𝐺の最小点カバーに含まれる点数は𝑘以下か? --- インスタンス 𝐺, 𝑘
• 近似アルゴリズム1.2で出力された点カバーの点数を𝒜 𝐺 とすると
• 𝑂𝑃𝑇 𝐺 ≤ 𝒜 𝐺 ≤ 2 ⋅ 𝑂𝑃𝑇 𝐺
•
𝑂𝑃𝑇 𝐺
2
≤
𝒜 𝐺
2
≤ 𝑂𝑃𝑇 𝐺
• ここで𝑘 <
𝒜 𝐺
2
ならば𝑘 < 𝑂𝑃𝑇 𝐺
• さらに𝑘 <
𝑂𝑃𝑇 𝐺
2
であれば𝑘 <
𝒜 𝐺
2
であり、アルゴリズム(1.2)は𝑘 <
𝑂𝑃𝑇 𝐺
2
となる
すべてのインスタンス 𝐺, 𝑘 に対してNo証明を与える
𝑂𝑃𝑇 𝐺 2 ⋅ 𝑂𝑃𝑇 𝐺𝑂𝑃𝑇 𝐺 2
𝒜 𝐺𝒜 𝐺 2
𝛼近似のNo証明
• ここまでの内容をより一般化
• 最小化問題のインスタンス 𝐼, 𝐵 について、𝐵 < 𝑂𝑃𝑇 𝐼 𝛼 を満たすのならば、
インスタンス 𝐼, 𝐵 の正解はno
• このインスタンスに対するNo証明(正解がnoであることを示す解の候補)を
𝛼近似のNo証明という

More Related Content

What's hot

最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews, Inc.
 
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう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...【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 GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetupgree_tech
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜Jun Okumura
 
基礎線形代数講座
基礎線形代数講座基礎線形代数講座
基礎線形代数講座SEGADevTech
 
つくばチャレンジ2020運営の活動報告
つくばチャレンジ2020運営の活動報告つくばチャレンジ2020運営の活動報告
つくばチャレンジ2020運営の活動報告Yoshitaka HARA
 
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech SynthesisDeep Learning JP
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ信之 岩永
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-renderingmistercteam
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 
Indeedなう 予選A 解説
Indeedなう 予選A 解説Indeedなう 予選A 解説
Indeedなう 予選A 解説AtCoder Inc.
 
Deflate
DeflateDeflate
Deflate7shi
 
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングNewman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングAtsushi KOMIYA
 
RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21horihorio
 
図と実装で理解する『木構造入門』
図と実装で理解する『木構造入門』図と実装で理解する『木構造入門』
図と実装で理解する『木構造入門』Proktmr
 
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMCartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMYoshitaka HARA
 
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活Classi.corp
 

What's hot (20)

最適化超入門
最適化超入門最適化超入門
最適化超入門
 
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
 
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう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...【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ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetup
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
基礎線形代数講座
基礎線形代数講座基礎線形代数講座
基礎線形代数講座
 
つくばチャレンジ2020運営の活動報告
つくばチャレンジ2020運営の活動報告つくばチャレンジ2020運営の活動報告
つくばチャレンジ2020運営の活動報告
 
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-rendering
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
Indeedなう 予選A 解説
Indeedなう 予選A 解説Indeedなう 予選A 解説
Indeedなう 予選A 解説
 
Deflate
DeflateDeflate
Deflate
 
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリングNewman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリング
 
RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21RでGARCHモデル - TokyoR #21
RでGARCHモデル - TokyoR #21
 
LLVM最適化のこつ
LLVM最適化のこつLLVM最適化のこつ
LLVM最適化のこつ
 
図と実装で理解する『木構造入門』
図と実装で理解する『木構造入門』図と実装で理解する『木構造入門』
図と実装で理解する『木構造入門』
 
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMCartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAM
 
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活
 

Viewers also liked

PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」Keisuke Sugawara
 
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」Keisuke Sugawara
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京Koichi Hamada
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Yasutomo Kawanishi
 
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~Yasutomo Kawanishi
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 

Viewers also liked (6)

PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」
 
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
 
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~Pythonによる機械学習入門 ~SVMからDeep Learningまで~
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 

ヴァジラーニ著「近似アルゴリズム」第一章

Editor's Notes

  1. インスタンスとは、インスタンスを対象とした実行可能解の集合を伴うもの
  2. この例では近似率が1.5となってしまった。実際に近似率が2になるインスタンスは存在するのか?
  3. すべての頂点がつながっているので、頂点を2つ以上残すと必然的に辺も残ることになる
  4. すべての頂点がつながっているので、頂点を2つ以上残すと必然的に辺も残ることになる
  5. 中段:多項式時間で最小点カバーを求めることはできないが、頂点数kの点カバーを与えてしまえば、最小点カバーがk以下であることはyesであるといえる
  6. 中段:こういう例があるのでnoですよ、といって解の候補を示して、その例が本当にnoの例として正しいのかを多項式時間で判定可能な解の候補
  7. 図:
  8. 上段:奇数点集合カバーの重みをより小さくできる場合はどのようなものがあるか見ていく
  9. 中段:重みが𝑘+1の奇数点集合カバーを1つ見つけるのは多項式時間ではできないかもしれないが