网站大量收购闲置独家精品文档,联系QQ:2885784924

第二章 集合カバー - c.csce.kyushu-u.ac.jp_16288.ppt

第二章 集合カバー - c.csce.kyushu-u.ac.jp_16288.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 集合カバー - c.csce.kyushu-u.ac.jp_16288

第二章 集合カバー(その2) 作: 牧山幸史 これまでのあらすじ 現実で遭遇する最適化問題の多くは「NP困難」 厳密解を求めるのに、膨大な計算時間が必要 近似解ならば、求めることができるかも。 個々の問題に対する近似アルゴリズムを調査する(第Ⅰ部): 第1章: 個数版点カバー問題 (近似率2) 第2章: 集合カバー問題 第二章 集合カバー(目次) 集合カバー問題(グリーディアルゴリズム) 重み付き点カバー問題(層別化) 最短拡大ストリング問題 重み付き点カバー問題 ここでは、重み付き点カバー問題に対して、層別化を用いた2近似アルゴリズムを与える。 重み付き点カバー問題(p1): 無向グラフ G=(V,E),各点へのコスト関数 w:V→Q+ が入力として与えられて、最小コストの点カバーを求める問題。点カバーとは、 G=(V,E) のどの辺に対しても少なくとも一方の端点を含むような点集合 V’?V のことをいう。 重み付き点カバー問題 層別化によるアルゴリズム設計 アイデア:与えられたグラフの点集合の重み関数を、次数重み付き関数に分割する。 次数重み付き関数: w:V→Q+ を点集合上の重み関数とするとき、各点 v ∈ V の重み w(v) が、ある定数 c を用いて w(v) = c?deg(v) と表されるとき、 w を次数重み付き関数という。 次数重み付き関数 次数重み付き関数は、次のようなよい性質を持つ。 w:V→Q+ が次数重み付き関数ならば、 w(V) ≦ 2?OPT が成り立つ。 証明: c を w(v) = c?deg(v) を満たす定数とし、U を G の最適点カバーとする。 U はすべての辺をカバーするので、∑v∈U deg(v) ≧ |E| が成り立ち、したがって、 OPT = w(U) ≧ c|E| となる。一方、 ∑v∈V deg(v) = 2|E| であり、 w(V)=2c|E| であるので、証明された。 次数重み付き点カバー問題 層別化アルゴリズム c = min{w(v)/deg(v)} t(v) = c?deg(v) (最大次数重み付き関数) w’(v) = w(v) – t(v) (残余重み付き関数) i=0, G0=G, w0=w Di = { v∈Gi| deg(v)=0 } とおく。 Gi – Di, w0 に対して c, t, w’ を計算する。 Wi = { v∈Gi – Di | w’(v)=0 } Gi+1 = Gi – (Wi∪Di), wi+1=w’, i=i+1 Gi の点がすべて次数 0 になったら終了。出力は C=W0∪???∪Wi-1, そうでなければ 2. に戻る。 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズム 層別化アルゴリズムの解析 層別化アルゴリズムは重み付き点カバー問題に対して、近似保証 2 を達成する。 証明: 出力 C は G の点カバーである w(C) ≦ 2?OPT の順で説明する。 層別化アルゴリズムの解析 出力 C は G の点カバーである もし、C が G の点カバーでないとすると、ある i, j に対して u∈Di かつ v∈Dj となる (u, v) が存在することになる。仮に i≦j とすると、(u, v) は Gi に存在することになり、 u が次数0の点であることに反する。 j≦i のときも同様。したがって、C は G の点カバーである。 層別化アルゴリズムの解析 2. w(C) ≦ 2?OPT の証明(前半) C* を最適な点カバーとし、 w(C) ≦ 2?w(C*) となることを証明する。 アルゴリズムの各繰り返しで得られる t を順番に t0, t1, ..., tk-1 と表すことにする。 点 v∈C に対して、v∈Wj とすると、w(v)=∑i≦jti(v) が成り立つ。 点 v∈G–C に対して、v∈Dj とすると、w(v)∑ijti(v) が成り立つ。 層別化アルゴリズムの解析 2. w(C) ≦ 2?OPT の証明(後半) ところで、各 i に対して、C∩Gi =Wi∪???∪Wk-1 および C*∩Gi は点カバーである。 よって、t が次数重み付き関数であることから、ti(C∩Gi) ≦ ti(Gi) ≦ 2?OPT ≦ 2?ti(C*∩Gi ) が成り立つ。 したがって、 w(C) = ∑i=0k-1ti(C∩Gi) ≦ 2?∑i=0k-1ti(C*∩Gi) ≦ 2?w(C*) 重み付き点カバー

文档评论(0)

精华文库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7111022151000002

1亿VIP精品文档

相关文档