• 検索結果がありません。

霑台シシ繧「繝ォ繧エ繝ェ繧コ繝?繝サ繧ェ繝ウ繝ゥ繧、繝ウ繧「繝ォ繧エ繝ェ繧コ繝?

N/A
N/A
Protected

Academic year: 2021

シェア "霑台シシ繧「繝ォ繧エ繝ェ繧コ繝?繝サ繧ェ繝ウ繝ゥ繧、繝ウ繧「繝ォ繧エ繝ェ繧コ繝?"

Copied!
16
0
0

読み込み中.... (全文を見る)

全文

(1)

KYOTO UNIVERSITY

DEPARTMENT OF INTELLIGENCE SCIENCE AND TECHNOLOGY

アルゴリズムとデータ構造⑬

~ 近似アルゴリズムとオンラインアルゴリズム ~

(2)
(3)

▪多項式時間で最適解を得る保証はないが、有用であるこ とが経験的にわかっている汎用的な方法: –分枝限定法・局所探索: 多項式時間ではないが、厳密解を得るための方法 –近似アルゴリズム: 多項式時間で動くが、厳密解が得られるわけではない 難しい問題への対処法: 計算量や性能を犠牲に解を得るための有効な方法

(4)

▪最適解を得ることは保証されないが、 最適解からの乖離の小ささが保証されるアルゴリズム ▪近似度:任意の入力(問題例)𝑥に対して 𝐶𝐴 𝑥 ≤ 𝑟 𝐶OPT 𝑥 + 𝑑 (最小化問題の場合) が成り立つとき、 𝐴の近似度が𝑟であるという( 𝑑は定数) – 𝐶𝐴 𝑥 :入力𝑥に対するアルゴリズム𝐴のコスト – 𝐶OPT 𝑥 :厳密解のコスト ▪多くの場合アルゴリズムは単純(貪欲法など) 近似アルゴリズム: 理論保証のある近似解を得るアルゴリズム

(5)

▪最小頂点被覆問題(minimum vertex cover)

–頂点被覆:グラフ𝐺 = (𝑉, 𝐸)において全ての𝑒 ∈ 𝐸の少

なくとも一方が𝑉′ ∈ 𝑉に含まれているとき𝑉′を頂点被覆

–𝐺に対する最小頂点数の頂点被覆を求める問題

▪最小集合被覆問題(minimum set cover):

–𝑛個の集合𝑆1, 𝑆2, … , 𝑆𝑛があるとき、そのうち𝑘個を用いて ڂ𝑗=1𝑛 𝑆𝑗 = ڂ𝑗=1𝑘 𝑆𝑗 とできるとき大きさ𝑘の集合被覆という

–𝑆1, … , 𝑆𝑛の最小の大きさの集合被覆を求める問題

NP困難問題の例:

(6)

▪最小頂点被覆問題(minimum vertex cover)

–頂点被覆:グラフ𝐺 = (𝑉, 𝐸)において全ての𝑒 ∈ 𝐸の少

なくとも一方が𝑉′ ∈ 𝑉に含まれているとき𝑉′を頂点被覆

–𝐺に対する最小頂点数の頂点被覆を求める問題

▪最小集合被覆問題(minimum set cover):

–𝑛個の集合𝑆1, 𝑆2, … , 𝑆𝑛があるとき、そのうち𝑘個を用いて ڂ𝑗=1𝑛 𝑆𝑗 = ڂ𝑗=1𝑘 𝑆𝑗 とできるとき大きさ𝑘の集合被覆という –𝑆1, … , 𝑆𝑛の最小の大きさの集合被覆を求める問題 NP困難問題の例: 最小頂点被覆問題、最小集合被覆問題 最小 最小

(7)

▪最小な頂点被覆のサイズの2倍を超えないことが保証され たアルゴリズム:𝐶𝐴 𝑥 ≤ 2 𝐶OPT 𝑥 ▪アルゴリズム: 1. 問題例のグラフ𝐺からスタート( 𝐺′ = 𝐺 とする) 2. 現在のグラフ𝐺′から任意の枝𝑒を選び、 𝑒の両端の頂 点𝑢, 𝑣を頂点被覆集合𝐶に加える 3. 𝑢, 𝑣に接続している枝をグラフ𝐺′から取り除く 4. グラフ𝐺′の枝がまだ残っているならステップ2へ 最小頂点被覆問題の近似アルゴリズム: 近似度2のアルゴリズム

(8)

▪ ステップ2で選ばれた枝の集合𝐸を考える ▪ 𝐸の辺は端点を共有しない(ステップ3のせい) ▪ 𝐶 = 2 𝐸 ( 𝐶はこれまでにカバーした頂点集合) ▪ 最適な頂点被覆𝐶∗は𝐸の各辺のすくなくとも一方を 踏んでいる(頂点被覆の定義より) ▪ 𝐸の辺は端点を共有しないので𝐸をカバーするためには 少なくとも 𝐸 個の頂点が必要: 𝐸 ≤ 𝐶∗ ▪ 𝐶 = 2 𝐸 ≤ 2 𝐶∗ 頂点被覆問題の近似アルゴリズム: 証明

(9)

▪最小頂点被覆問題(minimum vertex cover)

–頂点被覆:グラフ𝐺 = (𝑉, 𝐸)において全ての𝑒 ∈ 𝐸の少

なくとも一方が𝑉′ ∈ 𝑉に含まれているとき𝑉′を頂点被覆

–𝐺に対する最小頂点数の頂点被覆を求める問題

▪最小集合被覆問題(minimum set cover):

–𝑛個の集合𝑆1, 𝑆2, … , 𝑆𝑛があるとき、そのうち𝑘個を用いて ڂ𝑗=1𝑛 𝑆𝑗 = ڂ𝑗=1𝑘 𝑆𝑗 とできるとき大きさ𝑘の集合被覆という

–𝑆1, … , 𝑆𝑛の最小の大きさの集合被覆を求める問題

NP困難問題の例:

(10)

▪ 最小の集合被覆のサイズのln 𝑛 + 1倍( 𝑛は被覆される 要素数)を超えない:𝐶𝐴 𝑥 ≤ (ln 𝑛 + 1) 𝐶OPT 𝑥 – 注:問題サイズによって近似比が変わる ▪ アルゴリズム:貪欲法 – まだ被覆されていない要素をもっとも多く被覆するような 集合を次に選ぶ ▪ 証明はちょっと面倒… 集合被覆問題の近似アルゴリズム: 貪欲法

(11)

▪近似アルゴリズムで保証される近似度にはいくつかの パターンがある: – 定数の場合 – 問題サイズに依存する場合 –(時間を掛ければ)いくらでも1に近づけられる場合 • 多項式時間近似方式

(PTAS; Polynomial-Time Approximation Scheme)

– 問題サイズに関して多項式時間

近似アルゴリズムの性能:

(12)
(13)

▪ 通常の問題設定:問題例が与えられてから解をもとめる ▪ オンライン問題: – 問題例が一部分ずつ徐々に与えられる • 問題例全体をみれば最適解が求まる – これまでに分かっている情報から解の一部を構成する ▪ 株の取引き: – 現時点までの株価をもとに、次に買うか売るかを決める – 全期間の株価が分かっていれば最適な売り買いが可能 オンラインアルゴリズム: 各時点で分かっている情報をもとに逐次意思決定を行う

(14)

▪ スキー板を買うと10万円、レンタルだと1回1万円かかる ▪ 今シーズン何回スキーに行くかはあらかじめわからない – 0回かもしれないし、∞回行くかもしれない ▪ スキーにいくたびに買うか、レンタルするかを決定する – 各時点でスキーに行ったか、もう行かないかが観測される ▪ どのような戦略をとれば一番得するか? ▪ 最適解:シーズン中に何回行くか(𝑛)が分かっていれば 𝑛 ≤ 10 なら全部レンタルにして、 𝑛 ≥ 10ならば買えばよい オンライン問題の例: スキーレンタル問題

(15)

▪ 最適解:シーズン中に何回行くか(𝑛)が分かっていれば 𝑛 ≤ 10 なら全部レンタルにして、 𝑛 ≥ 10ならば買えばよい ▪ 競合比:任意の(オフライン)問題例𝑥に対して 𝐶𝐴 𝑥 ≤ 𝑟 𝐶OPT 𝑥 + 𝑑 (最小化問題の場合) が成り立つとき、 𝐴の競合比が𝑟であるという – 𝐶𝐴 𝑥 :入力𝑥に対するオンラインアルゴリズム𝐴のコスト – 𝐶OPT 𝑥 :入力𝑥をあらかじめ知っているときのコスト (オフラインアルゴリズムのコスト) オンラインアルゴリズムの性能評価: 競合比

(16)

▪ アルゴリズム1:つねにレンタル –最終的に𝑛回行ったとすると、レンタル費用は𝑛 –競合比は∞ ( ∵ 𝑛 ≥ 10で 𝐶𝐴 𝑥 𝐶OPT 𝑥 = 𝑛 10 ) ▪ アルゴリズム2:9回目までレンタルし、10回目で買う – 𝑛 = 9まではオフラインと同じコスト – 𝑛 ≥ 10 からはオフラインコスト10、オンラインは19 –オフラインとオンラインの比は最悪でも1.9 = 競合比 スキーレンタル問題の競合比: 競合比1.9が実現できる

参照

関連したドキュメント

変形を 2000 個準備する

の dual としてトーラスに埋め込まれた Heawood グラフは.

 Charles Carlson, Karthekeyan Chandrasekaran, Hsien-Chih Chang, Naonori Kakimura, Alexandra Kolla, Spectral Aspects of Symmetric. Signings,

Its semantics, a variation of the DGoIM, accordingly has extra nodes that represent parameters, and an extra rewriting rule of graph abstraction. These extra features altogether

節点領域辺連結度 (node-to-area edge-connectivity), 領域間辺連結度 (area-to-area edge-connectivity) の問題. ・優モジュラ関数

6 時台 48.7km/h 7 時台 21.7km/h 8 時台 17.1km/h 9 時台 17.1km/h 10 時台 20.6km/h 11 時台 15.9km/h 12 時台 21.5km/h 13 時台 21.2km/h 平均 21.0km/h. エ

本資料は、宮城県に所在する税関官署で輸出又は輸入された貨物を、品目別・地域(国)別に、数量・金額等を集計して作成したものです。従っ

本資料の貿易額は、宮城県に所在する税関官署の管轄区域に蔵置された輸出入貨物の通関額を集計したものです。したがって、宮城県で生産・消費