算法設(shè)計(jì)與分析筆記之近似算法

為什么使用近似算法

無法找到一個(gè)NP難問題的多項(xiàng)式時(shí)間普適算法,因此我們思考犧牲算法的精確度,以在可計(jì)算時(shí)間內(nèi)找到一個(gè)近似解锻拘。對(duì)于一個(gè)近似算法署拟,滿足:

  • 在多項(xiàng)式時(shí)間內(nèi)完成
  • 具有普適性(能解決這類問題的任何實(shí)例)
  • 有一個(gè)確切的近似程度(準(zhǔn)確解的多少倍)

找一個(gè)NP難問題的近似算法推穷,只需要證明其近似程度(多少倍地接近精確值)蟹腾,而不用知道這個(gè)精確值究竟是多少区宇。

近似算法舉例

Ⅰ. 負(fù)載均衡問題

m臺(tái)相同的機(jī)器炉爆,n個(gè)不同的工作及完成它所需的時(shí)間t_{j}卧晓,問滿足如下條件的最短工作時(shí)長衩辟。

  1. 一個(gè)工作必須連續(xù)執(zhí)行直到完成艺晴;
  2. 一臺(tái)機(jī)器一次只能處理一個(gè)工作封寞。

2倍近似算法——List Scheduling

List Scheduling 是一種貪心策略狈究,它的核心思想是將各個(gè)工作依次安排到累計(jì)工作時(shí)長最短的機(jī)器中抖锥,下面的動(dòng)圖顯示了這一過程磅废≌悖可以發(fā)現(xiàn)竟趾,這種貪心的初衷只考慮了眼前的最小值,而局部最優(yōu)解并不一定是最終的最優(yōu)解宫峦。

LS算法fail

我們假設(shè)完成所有工作的最短工作時(shí)長岔帽,來自第i臺(tái)機(jī)器L[i],證明前导绷,先確定兩個(gè)結(jié)論犀勒。設(shè)完成所有工作的最短時(shí)間跨度(makespan)為L^{*},結(jié)束時(shí)各臺(tái)機(jī)器的時(shí)間跨度為L_{i}妥曲,有:

  • L^{*}≥max(t_{j})贾费,L^{*}不小于完成最長的工作所需時(shí)間
  • L^{*}≥\frac{1}{m}\sum_{j}^{n}t_{j}L^{*}不小于總工作時(shí)長的\frac {1}{m}(機(jī)器平分工作)

設(shè)最后一個(gè)加入到第i臺(tái)機(jī)器運(yùn)行的是工作j(注意:不一定是所有工作的最后一個(gè))逾一,那么有
??????????\qquad\qquad\ L_{i}-t_{j}≤\frac{1}{m}\sum_{k}^{m}L_{k} ?????? ①
??????????????\qquad\qquad\ =\frac{1}{m}\sum_{k}^{n}t_{k}????? ?? ②
??????????????\qquad\qquad\ ≤L^{*}?????? ???? ③

所以L_{i}=(L_{i}-t_{j})+t_{j} ≤ 2L^{*}锡足。

3/2倍近似算法——LPT Rule

上述貪心策略存在一個(gè)很明顯的漏洞爽蝴,當(dāng)最后加入的工作所花時(shí)間最長時(shí)发框,效果很差铣减,直逼2倍TT鳖枕。因此我們希望先安排長工作,將所有工作按花費(fèi)時(shí)間降序排列,再執(zhí)行上述貪心算法,這就是LPT(Longest Processing Time) Rule的核心思想。
當(dāng)n≤m時(shí),則每臺(tái)機(jī)器最多安排一個(gè)工作,容易找到最優(yōu)解。當(dāng)n≥m時(shí)天通,先將m個(gè)工作安排到m臺(tái)機(jī)器,那么對(duì)第m+1個(gè)工作,有2t_{m+1}≤L^{*}. 則對(duì)③,L_{i}=(L_{i}-t_{j})+t_{j} ≤ 2/3L^{*}

Graham在1969年照雁,計(jì)算出LPT Rule是負(fù)載均衡問題的一個(gè)4/3近似算法裕坊。太復(fù)雜了静浴,老師都放棄了···

Ⅱ. 中心選擇問題

給定平面(或空間)上的n個(gè)點(diǎn)和中心個(gè)數(shù)k,問如何放置這k個(gè)中心,使得所有點(diǎn)被以這k個(gè)點(diǎn)為中心的圓盤覆蓋且最大的圓盤半徑最虚环骸(不是所有圓盤的半徑之和)齐鲤。對(duì)所有點(diǎn)丑罪,被相距最近的中心點(diǎn)形成的圓盤覆蓋拧抖。

貪心策略——依次選擇離其中心最遠(yuǎn)的點(diǎn)為新的中心

因?yàn)橹行倪x擇的目標(biāo)是最小化離其中心最遠(yuǎn)的點(diǎn)與該中心的距離腐碱,所以每次加入新的中心時(shí),直接貪心選擇這樣離其中心最遠(yuǎn)的點(diǎn)乎芳。
依次選擇離其中心最遠(yuǎn)的點(diǎn)為新的中心,這樣的貪心算法是一個(gè)2倍近似算法攒钳。
設(shè)集合CC^{*}分別是貪心算法和真實(shí)的最佳中心实愚,r(C)r(C^{*})分別是貪心算法和真實(shí)情況里離中心最遠(yuǎn)的距離(最小覆蓋半徑)没宾。需要證明結(jié)論r(C)≤2r(C^{*})
??????dist(s, C)≤dist(s, c_{i})≤dist(s, c_{i}^{*})+dist(c_{i}^{*}, c_{i})≤2r(C^{*})

Ⅲ. 帶權(quán)點(diǎn)覆蓋問題

對(duì)于點(diǎn)覆蓋問題(一個(gè)點(diǎn)的集合使得圖中所有邊至少有一個(gè)端點(diǎn)在集合內(nèi))胁出,帶權(quán)點(diǎn)覆蓋問題中型型,需要滿足這個(gè)集合中所有點(diǎn)的權(quán)值之和最小

競價(jià)法是帶權(quán)點(diǎn)覆蓋問題的2倍近似算法

競價(jià)簡單理解為邊給相鄰的點(diǎn)支付保護(hù)費(fèi)全蝶,以保證自己能被至少一個(gè)點(diǎn)保護(hù)(覆蓋)闹蒜;而點(diǎn)收到來自各條相鄰邊支付的保護(hù)費(fèi)之和剛好是它的權(quán)值,才能保護(hù)它們抑淫。這樣绷落,那些收到保護(hù)費(fèi)剛好是自身權(quán)值的點(diǎn)構(gòu)成一個(gè)頂點(diǎn)覆蓋。下面證明用競價(jià)法是帶權(quán)點(diǎn)覆蓋問題的2倍近似算法始苇。
引理 對(duì)于任意點(diǎn)覆蓋S和邊e給出的價(jià)格P_{e}砌烁,有\sum p_{e}\leq w(S).
可通過兩個(gè)恒等變換簡單證明,因?yàn)楹芏帱c(diǎn)共用了邊支付的價(jià)格,所以一定有所有點(diǎn)給出的競價(jià)不大于點(diǎn)覆蓋權(quán)值之和函喉。

競價(jià)法過程

選出還未被保護(hù)的邊避归,提最少的價(jià)使得其相鄰點(diǎn)至少有一個(gè)能保護(hù)它,這些能保護(hù)(覆蓋)臨近邊的點(diǎn)稱其為緊(tight)的管呵,將其加入點(diǎn)覆蓋集合梳毙。循環(huán)操作,直至所有邊都能被保護(hù)捐下。偽代碼如下:

競價(jià)法算法流程

競價(jià)法求解點(diǎn)覆蓋問題账锹,舉例如下:

競價(jià)法過程

上圖中,最后tight的點(diǎn){a, b, d}坷襟,即為最小的帶權(quán)點(diǎn)覆蓋奸柬,權(quán)為10. 注意:邊給出的競價(jià)之和不是點(diǎn)覆蓋的權(quán)。

競價(jià)法2倍近似的證明

設(shè)最優(yōu)點(diǎn)覆蓋S^{*}和競價(jià)法獲得的點(diǎn)覆蓋S啤握,有w(S)≤2w(S^{*}).
??????w(S)=\sum_{i\in S}W_{i}=\sum_{i\in S}\sum_{e=(i,j)}p_{e}\leq \sum_{i\in V}\sum_{e=(i,j)}p_{e}=2\sum_{e\in E}p_{e}≤2w(S^{*})

倒數(shù)第二個(gè)恒等變換的依據(jù)是每條邊計(jì)算了兩次鸟缕,最后到w(S^{*})的放縮依據(jù)是,每條邊給出的價(jià)格不大于其任一相鄰點(diǎn)的權(quán)值(給錢的事都是達(dá)到目的后越少越好)排抬。注意 并不是所有的邊都會(huì)出錢,因?yàn)辄c(diǎn)一旦具備保護(hù)(覆蓋)能力后授段,與其相鄰的所有邊均被保護(hù)(覆蓋)蹲蒲,從上面的圖也能看出。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末侵贵,一起剝皮案震驚了整個(gè)濱河市届搁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窍育,老刑警劉巖卡睦,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異漱抓,居然都是意外死亡表锻,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門乞娄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞬逊,“玉大人,你說我怎么就攤上這事仪或∪纺鳎” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵范删,是天一觀的道長蕾域。 經(jīng)常有香客問我,道長到旦,這世上最難降的妖魔是什么旨巷? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任廓块,我火速辦了婚禮,結(jié)果婚禮上契沫,老公的妹妹穿的比我還像新娘带猴。我一直安慰自己,他們只是感情好懈万,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布拴清。 她就那樣靜靜地躺著,像睡著了一般会通。 火紅的嫁衣襯著肌膚如雪口予。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天涕侈,我揣著相機(jī)與錄音沪停,去河邊找鬼。 笑死裳涛,一個(gè)胖子當(dāng)著我的面吹牛木张,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播端三,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼舷礼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了郊闯?” 一聲冷哼從身側(cè)響起妻献,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎团赁,沒想到半個(gè)月后育拨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欢摄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年熬丧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剧浸。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锹引,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出唆香,到底是詐尸還是另有隱情嫌变,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布躬它,位于F島的核電站腾啥,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜倘待,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一疮跑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凸舵,春花似錦祖娘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至菇夸,卻和暖如春琼富,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背庄新。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來泰國打工鞠眉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人择诈。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓械蹋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吭从。 傳聞我的和親對(duì)象是個(gè)殘疾皇子朝蜘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 本章涉及知識(shí)點(diǎn)1、NP完全問題和其解題策略2涩金、TSP問題定義3、案例引出4暇仲、滿足三角不等式的TSP模型5步做、近似算法...
    PrivateEye_zzy閱讀 34,501評(píng)論 2 22
  • 剛畢業(yè)那會(huì),我一周上兩次瑜伽課奈附,當(dāng)時(shí)全度,對(duì)瑜伽并不了解,錯(cuò)誤而初淺的印象中斥滤,練瑜伽時(shí)的那種安靜時(shí)常讓我抓狂将鸵,有時(shí)甚至...
    瑜伽喵閱讀 726評(píng)論 0 1
  • 終于鼓足勇氣開通了我的簡書顶掉,重新拾起我的文字膘壶。 我想把生活中美的點(diǎn)點(diǎn)滴滴化成文字分享給大家减宣,把生活中的正能量帶給身...
    如姐的1339閱讀 221評(píng)論 1 1
  • 習(xí)慣了用文字記錄下每一天的發(fā)生 日記,已經(jīng)成為了生活中不可或缺的 希望多年后岭皂,我的兩位公主看到會(huì)有力量感和溫暖 平...
    孩子們的王閱讀 286評(píng)論 0 1
  • 藥食同源中藥材龍石藤別名:附石藤、盤石藤簿透。為木通科藤本植物移袍,喜陰涼干燥的氣候。莖紅褐色老充、少葉無花葡盗,互生。其生長在海...
    清風(fēng)書簡閱讀 2,070評(píng)論 0 0