日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

创新实训个人记录:metric k-center

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创新实训个人记录:metric k-center 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創新實訓個人記錄:metric k-center

  • 一些概念
    • k-center(k-中心)
    • dominating set(支配集)
    • independent set(獨立集)
    • 獨立集&&支配集
    • k-中心&&支配集
    • square of graph (H2H^2H2
  • 開始證明
    • dom(H)的下限(HHH的支配集&&H2H^2H2的獨立集)
    • 算法
    • 近似比
    • 近似比最優證明

一些概念

k-center(k-中心)

問題來源:給定n個具有指定城市間距離的城市,選擇其中k個城市來放置倉庫,以最大程度地減少城市與其最近的倉庫之間的最大距離。我們在metric的情況下考慮這個問題,即,滿足三角不等式;不然的話,找不到一個近似因子α(n),α(n)是任意可計算的函數(第4章有講到這個證明)。輸入<G,k,d>,是否能找到一個集合,最多k個頂點,使剩下n-k個頂點與這k個頂點的最大距離≤d;是一個NP-hard問題

“最小化”“最大的”“最小距離”:先講“最小距離”,我們已經確定了k個城市作為倉庫,那么對于剩下的n-k個城市中的每一個城市,與這k個城市,有一個最小距離,比如城市A,與這k個城市之間的城市B距離最小,那么城市A與城市B的距離就叫做城市A與這k個城市的最小距離;
然后是“最大的”,對于n-k個城市的每一個城市,有一個對于自己的最小距離,那放到這n-k個城市里考慮,就有n-k個最小距離,在這n-k個距離中最大的,即“最大的”“最小距離”;
最后是“最小化”,對于這n-k個最小距離中最大的距離,進行最小化處理。

數學符號表示:令G =(V,E)是一個完全的無向圖,邊成本滿足三角不等式,而k是一個正整數。 對于任何集合S?V和頂點v∈V,將connect(v,S)定義為從v到S中頂點的最便宜邊的成本。問題是要找到一個集合S?V,且|S|= k,以便最小化maxvmax_vmaxv?{connect(v,S)}。即我們可以寫成 minimizing max?v∈Vmin?s∈Sf(x)\max\limits_{v\in\mathcal{V}}\min\limits_{s\in\mathcal{S}}f(x)vVmax?sSmin?f(x)

dominating set(支配集)

概念:支配集就是一個點集,在這個圖里,除去這個點集外的所有頂點,都與這個點集中至少一個頂點相連。

看這個圖,就可以理解支配的概念。
比如圖(a),紅色的頂點就是支配集,所有白色的頂點都連著紅色的頂點,所以我們稱紅色頂點支配著白色頂點,稱為支配集。支配集問題,就是對于一個給定的圖G和一個數k,我們能不能找到一個最小支配集的頂點數≤k。這個問題已經被證明是NP難問題了。我們再看圖(b)、(c ),這兩個圖就是找到了最小支配集的情況,我們可以知道此時對于這個圖來說,最小支配集的最大大小k為2。

數學符號表示:對于圖H,最小支配集的頂點數用dom(H)表示。

輸入<G,k>,能否找到一個頂點數≤k的支配集,是個NP-complete問題。

independent set(獨立集)

對于一個圖H,它的獨立集,就是這個集合中任意兩個頂點不相鄰。
maximal independent set: 極大獨立集,不是任何獨立集的子集;就是對于目前這種狀況,不能再加點進入獨立集了。
maximum independent set: 最大獨立集,就是頂點數最多的獨立集。
maximum independent set problem: 是否能找到最大獨立集。這是一個NP-hard問題。

獨立集&&支配集

通過定義,我們可知極大(maximal)獨立集是一個支配集

證明:對于一個極大獨立集III,如果存在點vvv沒有被獨立集III支配,,即點vvv和獨立集III之間沒有邊,那么我們可以把點vvv加入獨立集III形成一個更大的獨立集I′I'I,這與III是極大獨立集矛盾。所以我們可推:極大獨立集III是一個支配集。

k-中心&&支配集

我們可以把k-center問題轉化成dominating set問題。
前提:把圖G的邊排序,以不降序的順序排,即cost(e1)≤cost(e2)≤……≤cost(en)cost(e_1)≤cost(e_2)≤……≤cost(e_n)cost(e1?)cost(e2?)cost(en?),讓Gi=(V,Ei)G_i=(V,E_i)Gi?=(V,Ei?),其中Ei=e1,e2,……eiE_i={e_1,e_2,……e_i}Ei?=e1?,e2?,ei?
轉化:我們可以把k-中心問題看作,找最小的索引i,使得GiG_iGi?有一個size≤k的支配集。如果i?i^*i?是我們找到的最小索引,那么cost(ei?)就是cost(e_{i^*})就是cost(ei??)對于k-中心問題的最優解,即我們找到的“最小的 最大的 最小距離”,用OPT表示。
畫圖舉例

以上圖為例,來討論k中心問題,支配集問題,以及轉化關系。

  • k中心問題:輸入<G,k,d>,是否能找到一個集合,最多k個頂點,使剩下n-k個頂點與這k個頂點的最大距離≤d。我們輸入<G,2,3>:不考慮d時,我們有支配集<A,C>、<A,D>、<A,E>;

    • 對于<A,C>,剩下的6-2=4個城市,到這2個城市的最大的最小距離是:max(BA,DC,EA,FA)=EA=2;
    • 對于<A,D>,剩下的6-2=4個城市,到這2個城市的最大的最小距離是:max(BA,CD,EA,FA)=EA=2;
    • 對于<A,E>,剩下的6-2=4個城市,到這2個城市的最大的最小距離是:max(BA,CA,DE,FA)=DE=4;

    對于此題,我們設置d=3,我們找到的滿足題意的集合是<A,C>、<A,D>。

  • 支配集問題:輸入<G,k>,是否能找到一個頂點數≤k的支配集。我們輸入<G,2>,有支配集<A,C>、<A,D>、<A,E>。

  • k中心問題轉化成有附加條件的支配集問題:找最小的索引i,使得GiG_iGi?有一個size≤k的支配集。先把邊排序:{CD,AB,AF,AE,AC,BE,CE,DE},對于邊長度{1,1.2,1.5,2,3.2,3.5,4}。找一個最小的索引i,使得GiG_iGi?有一個size≤2的支配集。我們找到的最小的索引i是4,即{CD,AB,AF,AE},對應的支配集為{A,C},最優解是AE=2。

找到的最優解是相等的,這也可以表明“轉化后有附加條件的支配集問題”等價于“k中心問題”。

轉化成功,下面我們就可以直接從“支配集問題”的角度來考慮啦。

square of graph (H2H^2H2

對于圖H ,有兩個點u、v(u≠vu \neq vu?=v),有一條u,v之間的路徑,"a path of length at most two"的意思是u和v之間有邊,直接相連或者u通過另外一個頂點連著v,我們定義H2H^2H2為包含(u,v)的圖,這里對這個邊沒有定義長度,通常這樣的圖中的邊是沒有長度的。
比如上圖的平方:

開始證明

dom(H)的下限(HHH的支配集&&H2H^2H2的獨立集)

給定圖H,IIIH2H^2H2的獨立集,有∣I∣≤dom(H)|I|≤dom(H)Idom(H)
dom(H)dom(H)dom(H)是圖H中最小支配集的頂點數,我們這里可以假設D是圖H中的最小支配集。有兩個概念需要解釋一下:star、clique

  • 這里有個star的概念,就是每個支配頂點以及被它支配的頂點、支配邊共同形成的圖,其實是一個二分圖,K1,pK_{1,p}K1,p?,一個支配頂點,對應著p個被支配的頂點,p≥1。如下圖,這是一個star,對于支配頂點A的star,支配集有幾個頂點,就有幾個star。即,我們假設支配集為D,那么star的個數為|D|。(比如圖H中的最小支配集為<A,D>)
  • 還有一個概念clique,網上翻譯成“團”,在我們這里是完全子圖的意思。對照著上面的頂點(即圖H中的一個star),我們也可以畫出clique的圖:(可以看出是一個完全子圖,因為star中的每個被支配頂點之間都可以通過支配頂點連在一起,如B、C通過A連在一起。)

    現在有一個顯而易見的事情,在圖H中最小支配集D的任意一個star,在圖H2H^2H2中都是一個clique,所以圖H2H^2H2中有|D|個clique。

分析:那么然后,我們回到證明本身。我們要證明的內容是:“給定圖H,IIIH2H^2H2的獨立集,有∣I∣≤dom(H)|I|≤dom(H)Idom(H)。” 圖H2H^2H2中的獨立集的大小≤圖H中的最小支配集的大小,就是說我們可以找到任意圖的最小支配集的下限,就是用它的平方的獨立集的大小來表示。圖H中的最小支配集的大小,是|D|。我們現在要證圖H2H^2H2中的獨立集III的大小≤|D|。所以我們要先找到圖H2H^2H2中的獨立集III

從圖H2H^2H2的clique中找獨立集III:獨立集我們知道,就是這個集合中任意兩個頂點不相鄰。那么對于一個clique,完全子圖來說,每個頂點都彼此相鄰,只會存在最多一個頂點屬于圖H的獨立集(0個的情況是,這個子圖的頂點與其他子圖的頂點相鄰,我們取了其他子圖的頂點就不再取)。

計算獨立集III的大小:我們已經知道,圖H2H^2H2中有|D|個clique,那么從每個clique中拿出最多一個頂點,形成獨立集,可以說明獨立集的大小最多只有|D|。即可證給定圖H,IIIH2H^2H2的獨立集,有∣I∣≤dom(H)|I|≤dom(H)Idom(H)

得到結論:對于任意一個圖H,最小支配集大小的下限是該圖平方H2H^2H2的任意一個獨立集大小。

算法

思路

  • k-center轉化為支配集問題:我們之前已經分析過,k-center問題可以轉化為:找最小的索引i成為i?i^*i?,使得Gi?G_{i^*}Gi??有一個size≤k的支配集。OPT=cost(ei?)cost(e_{i^*})cost(ei??)。(ei?e_{i^*}ei??在{ei1e_{i^1}ei1?ei2e_{i^2}ei2?ei3e_{i^3}ei3?……ei?e_{i^*}ei??}中就是“最大的”“最小距離”,然后我們找最小的索引,就相當于“最小的”“最大的”“最小距離”。)

  • OPT下限:如第1章所說,我們通常的套路就是,因為算不出來OPT,沒法算近似比=近似解/OPT;我們就先算OPT的下限,OPT≥a,然后近似解≤a·c,(c為常數),然后呢就有近似解≤c·a≤c·OPT,近似解/OPT≤c。所以這里證明的就是套路中的第一步:先算OPT的下限,即cost(ei?)cost(e_{i^*})cost(ei??)的下限。

  • 計算OPT下限:因為我們按照邊的大小給邊排序索引,那么我們需要找一個合適的j,滿足j<i?j<i^*j<i?,這樣就有cost(ej)<cost(ei?)cost(e_j)<cost(e_{i^*})cost(ej?)<cost(ei??)啦。

  • 找合適的下限索引j:因為我們之前已經證明:圖H最小支配集大小下限是圖H2H^2H2任意獨立集大小,即∣I∣≤dom(H)|I|≤dom(H)Idom(H)。也就是說,圖H中的|最小支配集|≥圖H2H^2H2的|最大獨立集|。即我們可以用圖平方上的獨立集問題來考慮找到合適的j

算法內容

1.構造G12G^{2}_{1}G12?,G22G^{2}_{2}G22?,…,Gm2G^{2}_{m}Gm2?
2.在每個圖Gi2G^{2}_{i}Gi2?中計算最大獨立集MiM_iMi?
3.找到最小索引i,使∣Mi∣≤k|M_i|≤kMi?k,此時,j=ij=ij=i
4.返回MjM_jMj?

OPT下限定理:對應我們定義的j,cost(ej)≤OPT.cost(e_j)≤OPT.cost(ej?)OPT.
證明:這里證明的就是套路中的第一步:先算OPT的下限

  • 我們在圖H中找最小的索引i成為i?i^*i?,使得Gi?G_{i^*}Gi??有一個size≤k的支配集,OPT=cost(ei?)cost(e_{i^*})cost(ei??),我們要證的就是j≤i?j≤i^*ji?
  • j是對于每個圖Gi2G^{2}_{i}Gi2?中最大獨立集MiM_iMi?,滿足∣Mi∣≤k|M_i|≤kMi?k的最小索引。i?i^*i?是使得圖Gi?G_{i^*}Gi??有一個size≤k的支配集的最小索引。 也就是說,我們要證,|圖平方最大獨立集|≤|圖最小支配集|。
  • 我們之前的定理已經推出:圖H的最小支配集dom(H)≥I,I是圖H2H^2H2中的任意一個獨立集,當然也包括最大獨立集。定理可證。

直觀分析

  • HHH和圖H2H^2H2,很明顯地,圖H2H^2H2的邊更多。
  • 如果要求支配集的大小,很顯然是在圖H2H^2H2中的支配集|D’|≤圖HHH中的支配集|D|。如果要求最大獨立集的大小,也很顯然是在圖H2H^2H2中的最大獨立集|I’|≤圖HHH中的最大獨立集|I|。而且之前我們有證過,一個圖的最大獨立集也是這個圖的支配集,也符合以上的想法。
  • 然后呢,我們之前證過一個定理,圖H的最小支配集dom(H)≥I,I是圖H2H^2H2中的一個獨立集。也就是說,圖H2H^2H2中的最大獨立集|I’|≤圖H的最小支配集dom(H)。我們找到的j就是對應著圖H2H^2H2中的最大獨立集|I’|,i?i^*i?就是對應著圖H的最小支配集dom(H),所以j≤i?j≤i^*ji?

近似比

該近似算法可以算出OPT下限,那么就勝利在望了!現在再找個常數,和下限相乘,如果是我們的近似解就沒問題啦~

此近似算法的近似比為2,即近似解/最優解≤2近似解/最優解≤2/2
證明

  • 因為我們之前已經證過:最大獨立集也是支配集。那么我們找到的圖H2H^2H2中的最大獨立集I′I'I也是支配集D′D'D,也有∣D′∣|D'|Dstar。即我們找出來的j,對應的Gj2G^2_jGj2?上的最大獨立集MjM_jMj?,也是相應的支配頂點。
  • 因為我們找到的eje_jej?MjM_jMj?中最長的邊,所有在MjM_jMj?中該star的邊cost(ei)≤cost(ej)cost(e_i)≤cost(e_j)cost(ei?)cost(ej?),根據三角不等式,我們可知所有在MjM_jMj?中的邊cost(ei)≤2?cost(ej)cost(e_i)≤2·cost(e_j)cost(ei?)2?cost(ej?)
  • 又因為我們之前證過cost(ej)≤OPTcost(e_j)≤OPTcost(ej?)OPT,所以有cost(ei)≤2?cost(ej)≤2?OPTcost(e_i)≤2·cost(e_j)≤2·OPTcost(ei?)2?cost(ej?)2?OPT

近似比最優證明

即我們要證明對于k-center問題,不存在近似因子2?ε, ε>0。

總結

以上是生活随笔為你收集整理的创新实训个人记录:metric k-center的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。