網(wǎng)上找的一些網(wǎng)絡(luò)優(yōu)化answer_第1頁(yè)
網(wǎng)上找的一些網(wǎng)絡(luò)優(yōu)化answer_第2頁(yè)
網(wǎng)上找的一些網(wǎng)絡(luò)優(yōu)化answer_第3頁(yè)
網(wǎng)上找的一些網(wǎng)絡(luò)優(yōu)化answer_第4頁(yè)
網(wǎng)上找的一些網(wǎng)絡(luò)優(yōu)化answer_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

5nn1。這一結(jié)論對(duì)無(wú)向圖是否設(shè)G為n證n設(shè)G由m條弧,關(guān)聯(lián)矩陣為 記B的第i行為Bi(1i1和一個(gè)-1,B15nn1。這一結(jié)論對(duì)無(wú)向圖是否設(shè)G為n證n設(shè)G由m條弧,關(guān)聯(lián)矩陣為 記B的第i行為Bi(1i1和一個(gè)-1,B1Bn其中0為m維零向量,故rBn 為證明rBn1只需證明B中任何n行線性無(wú)關(guān)用反證法Bn1行iB,iB1B1 ,Bn1,于是cn1R不全為0cn1Bn10,cj(1ln1)設(shè) ,cn1中不為0的項(xiàng)為cjcj1Bj1jc 0plSln1,故SBj,Bj對(duì)應(yīng)的頂點(diǎn)為,1lSVS 由G連通,故SS非空aSS,設(shè)aB的第k妨設(shè)ap1關(guān)聯(lián)于是B的第k列的分量不為0由于a[S,S,故ap ,由于cj0,故cjBjcjBj的第k個(gè)分量均為l的21 lr(B)n□注:(1)1n2的證明不要求G無(wú)多重弧證明的條件可由G為簡(jiǎn)單圖推廣至G為無(wú)環(huán)圖w個(gè)連通分支的n階無(wú)環(huán)圖(從而可以用關(guān)聯(lián)矩陣表示)的秩為n 考慮3階完全圖,其關(guān)聯(lián)矩陣011AA的3列依次對(duì)應(yīng)弧(1,2)(2,3)此時(shí)n3rA)39.給定一個(gè)使得對(duì)于圖中任意弧(i,j)有ij成立你所設(shè)計(jì)的算法的復(fù)雜度是多少? 記該無(wú)圈有向圖為G算法(設(shè)G的鄰接矩陣為C(cij)nnn使得對(duì)于圖中任意弧(i,j)有ij成立你所設(shè)計(jì)的算法的復(fù)雜度是多少? 記該無(wú)圈有向圖為G算法(設(shè)G的鄰接矩陣為C(cij)nnnSTEP0計(jì)算每個(gè)頂點(diǎn)的入度:d(j)cij(1j令k1RESTiSTEP1REST中找入度為0jSTEP2修改各頂點(diǎn)的入度,即對(duì)所有iREST若cjid(i)d(i)d若 令kk1,若kn結(jié)束 G中至少有一個(gè)頂點(diǎn)無(wú)入證明反證法假設(shè)G中每個(gè)頂點(diǎn)都有入弧任取G的一個(gè)頂點(diǎn)v1,則它入弧(v2對(duì)于v2同樣可以找到入弧(v3v2為止由于G中只有n個(gè)頂點(diǎn),故在找到第n2設(shè)第1次出現(xiàn)的重復(fù)頂點(diǎn)時(shí)找到的頂點(diǎn)依次為v1,v2 ,vp ,vq,其中vq個(gè)重復(fù)頂點(diǎn),它與vp重復(fù)由于G中無(wú)圈,故G中無(wú)環(huán),從而 ,vq中相兩個(gè)頂點(diǎn)不會(huì)重復(fù),故qp 從而Cvpvp一個(gè) 這與G中G中至少有一個(gè)頂點(diǎn)無(wú)入弧由引理1,G中必含一個(gè)入度為0的頂點(diǎn),它必是G 為 然后將它和它所關(guān)聯(lián)的弧(即它的所有出?。腉中刪去(這只它修改它的所有出弧的另一端點(diǎn)的入度),得到G的n1階子圖G1,它包含G G1仍為無(wú)圈有向圖,因此G1中也含一入度為0的頂點(diǎn)該頂點(diǎn)在G1G中就無(wú)入弧或它在G入弧均來(lái)源 為一般地,當(dāng)G中有個(gè)頂點(diǎn)獲 ,而得到G的nk階子圖Gk時(shí),Gk為無(wú)圈有向圖,其中含有入度為0該頂點(diǎn)在Gk中無(wú)入弧,這說(shuō)明它在G中就無(wú)入弧或它在G的頂點(diǎn)對(duì)于Gk中的其它nk1的入弧均來(lái)源于前k應(yīng)大于前k個(gè)獲 的頂點(diǎn),而小于Gk中的其有出弧因此它的nk1為k1,在每個(gè)Gk找到入度為0的頂點(diǎn),因此算法每一次出都可以對(duì)一個(gè)頂點(diǎn)n也可以證明算法是正確的任取弧的頂點(diǎn)對(duì)于Gk中的其它nk1的入弧均來(lái)源于前k應(yīng)大于前k個(gè)獲 的頂點(diǎn),而小于Gk中的其有出弧因此它的nk1為k1,在每個(gè)Gk找到入度為0的頂點(diǎn),因此算法每一次出都可以對(duì)一個(gè)頂點(diǎn)n也可以證明算法是正確的任取弧(vivj,當(dāng)vj 時(shí),其入度已經(jīng)為0,即(vi,vj)已經(jīng)從G中刪去,而該弧被刪去說(shuō)明vi因此vi一定比vjRESTn號(hào)STEP0(n1)nO(n2次加法STEP1至STEP3共循環(huán)n次每循環(huán)1STEP1nNUMBER中相應(yīng)位置的賦值、一次鏈表刪除;STEP21REST,判斷其中的每個(gè)頂點(diǎn)的入度是否需要修改,至,對(duì)需要修改的頂點(diǎn)修改其入度,至多為n次判斷、n次計(jì)算、n次賦值;STEP3中有一次計(jì)算、一次賦值、一次判斷故STEP1至STEP3n次循環(huán)中的總效果為n[(n2)3n3]O(n2STEP0,算法的總復(fù)雜度為O(n2□14.設(shè)f(n,g(n使得當(dāng)n足夠大時(shí)有f(ng(n,則記f(nOg(n整數(shù)k和0,有(logn)nO(nnlognO((1)nnkO(nlogn f(x)(log2x)(x0g(x)x(x證f(log2x)kxk(log logk122x1kkloge(log2 x2xk!(log2k0f0xn時(shí),1f(x)gk!(log2k0f0xn時(shí),1f(x)gf(n) f(n)OO((1)n)n1)n,只需證nlognlog(logn)2nlog(1)因?yàn)閘og(10 n立顯然當(dāng)n充分大后lognk,故nlogn。點(diǎn)的一個(gè)圈?”屬于P。給出一個(gè)多項(xiàng)式時(shí)間的算法并估計(jì)算法的復(fù)雜性。解算法的思定頂點(diǎn)的圈設(shè)指定頂點(diǎn)為i,現(xiàn)判斷i中含過(guò)i的圈下設(shè)與其它頂點(diǎn)之間沒(méi)有多重弧i的鄰居為,jr( 兩兩不同)G中含過(guò)i的圈當(dāng)且僅當(dāng) ,jr中存在兩個(gè)不同的頂點(diǎn)js和G~~Gi,j ,(i,j為了判斷ijG 1rj~ j所在的連通分支用Gj~Gtskk~中是否有i那么j與j連通當(dāng)且僅當(dāng)jV(G 為了判斷 st們可以依次判斷jlV(G1)V(Gl1),lr是否成立若存在jlG含過(guò)i的圈;否則i的鄰居在~立,則jj,jGl jj~中連通,不妨設(shè)st不連通,G不含過(guò)iG jtV(GsV(G1V(Gt1),一定可以判斷出算法(判斷圖G是否含過(guò)頂點(diǎn)i的圈子算法(確定含頂點(diǎn)j的連通分支STEP0Dj}LISTj}STEP1LIST子算法(確定含頂點(diǎn)j的連通分支STEP0Dj}LISTj}STEP1LISTDjSTEP2kLIST,設(shè)kDSDDSLISTLISTSk,轉(zhuǎn)STEP0判斷i與G中其它頂點(diǎn)間是否有多重弧STEP1若有,結(jié) G含過(guò)i的圈 設(shè)i在G中的所有鄰居為 ,jr,將(i, ,(i,jr)從G中刪除,l1STEP2若lrG不含過(guò)頂點(diǎn)ijl所在的連通分支Glll1,轉(zhuǎn)STEP3若jlV(G1復(fù)雜度分V(Gl1)則G含過(guò)頂點(diǎn)i的圈;否則轉(zhuǎn)設(shè)G為無(wú)向圖(有向圖考慮其基礎(chǔ)圖)用鄰接 兩a(j)1表示V(G1)V(Gl 用一個(gè)長(zhǎng)為n的0-1數(shù)組j(V(G1)V(Gl1,否則aj)稱(chēng)a中各位為標(biāo)志位,初值置為STEP0中判斷i這只需準(zhǔn)備一個(gè)長(zhǎng)為nb,b中各位初值均置為然后掃描ij,判斷b(是否為 若是,說(shuō)明頂點(diǎn)j尚未出現(xiàn)過(guò),此時(shí)令b(j)1,繼續(xù)判斷下一個(gè)鄰若bj)1j已經(jīng)出現(xiàn)過(guò),ij之間必有多重弧若iA(i的長(zhǎng)度小于n,若iA(n1)能找到與i之間有多重弧的頂點(diǎn)(A(i)中不含超過(guò)n1)Step0n步,復(fù)雜度為STEP1中為去掉某條弧(i,jl),要掃描A(jl)并刪去 這需要O(d(jl))的時(shí)(jl關(guān)聯(lián)多重弧時(shí),每一條多重弧都重復(fù)計(jì)入d(jl)刪去所有與i rnj共需時(shí) O(d(j))O(d(j))l rnj共需時(shí) O(d(j))O(d(j))l計(jì)算Gl算子算法中,先找到j(luò)ljl計(jì)算G1a中各頂點(diǎn)的標(biāo)志位均為0個(gè)G1中的頂點(diǎn)就令其標(biāo)志位為頂點(diǎn)就是V 在開(kāi)始計(jì)算G2時(shí),G2中各頂點(diǎn)的標(biāo)志位均為0可像計(jì)算G1樣,在a中標(biāo)志出2a中所有標(biāo)志位為1頂點(diǎn)恰為V(G1)V(G2 對(duì)于每個(gè)Gl都這樣做,這樣在確定jl所在的連通分的同時(shí)就得到了V(G1)V(Gl)(即a中標(biāo)志位為1頂點(diǎn)只需判斷a(是否為1jl1是否屬于V(G1)子算法用鏈 Step3LISTD,所以GlLIST恰一次子算法每循環(huán)一次,LIST中刪去一個(gè)頂點(diǎn),所以子算法中循環(huán)執(zhí)行|V(Gl|次每次循環(huán)中,)1(D)LIST,復(fù)雜度為O(d(k故計(jì)算個(gè)GlkV(Gl(1O(d(k)))|V(Gl)|O(d(k))O(|V(Gl)||A(Gl)kV(Gl情況下,要將 ,Gr1都計(jì)算出來(lái)才能得到結(jié)論(比如G中無(wú)過(guò)ir(2O(|V(Gl)||E(Gl)|)1)O(mn)l如果主算法計(jì)算到了Gr1,說(shuō)明i與其它頂點(diǎn)之間無(wú)多重?。⊿tep0止)因此rn1,故(1)式為O(m 再加上Step0的O(n)和Step1的O(m)主算法的總復(fù)雜度為O(m引理圖G有n個(gè)頂點(diǎn)m條弧和k(k1個(gè)連通分支,則G無(wú)圈的充要件為mn由證明(必要性)設(shè)G的主算法的總復(fù)雜度為O(m引理圖G有n個(gè)頂點(diǎn)m條弧和k(k1個(gè)連通分支,則G無(wú)圈的充要件為mn由證明(必要性)設(shè)G的k個(gè)連通分支為 無(wú)圈知 kkkm |E(G)|(|V(G)|1) |V(G)|kniiiii(充分性若G含圈C則C上各頂點(diǎn)連通,故C必含于G的某個(gè)連通分支內(nèi)于是|E(Gj)||V(Gj)| 從 kkikm |E(G)|(|V(G)|1) |V(G)| nkiiii這與mnG計(jì)算G的弧數(shù)mRESTV(Gs0RESTSTEP3;否則iREST,確定i所在的連通分支G(iRESTRESTV(G(iss1若mnsG中無(wú)圈,結(jié)束;否則G算法的思路是分別求出mknm可用m12d(iiStep1Step2逐個(gè)找出G的連通分支,以求出連通分支數(shù)REST搜索到的頂點(diǎn)之集若REST說(shuō)明GREST中任一頂點(diǎn)i找i所在的連通分支REST說(shuō)明G已被發(fā)現(xiàn),此時(shí)s的值就是G的連通分支個(gè)數(shù)用鄰接 G,每條兩遍設(shè)一個(gè)長(zhǎng)為n的數(shù)組aa(i)稱(chēng)為標(biāo)志位,標(biāo)志位初值均置為1a中所有標(biāo)志位為0的頂點(diǎn)就是全部尚未搜索到的頂點(diǎn)確定iLISTLISTjj的鄰接表,將其中標(biāo)志位為0的頂點(diǎn)的標(biāo)志位置為1追加入 子算法中一次循環(huán)包括取頂點(diǎn)掃描鄰接表和判斷LIST是否為空復(fù)雜度為2O(d(確定G(i)jjj的鄰接表,將其中標(biāo)志位為0的頂點(diǎn)的標(biāo)志位置為1追加入 子算法中一次循環(huán)包括取頂點(diǎn)掃描鄰接表和判斷LIST是否為空復(fù)雜度為2O(d(確定G(i)jG(i)[O(d(j))2]O(|V(G(i))|)jG(i)O(d(O(|V(G(i))||E(G(i))Step0計(jì)算mnn1次加法和1次除法,故step0的復(fù)雜度為O(d(i))(n1)inn O(d(i))O(mStep1和Step2確定出所有的連通分支為了方便i地判斷是否還有尚未搜索到的頂點(diǎn),可以在a上設(shè)一指針p指向a第1個(gè)頂點(diǎn)的前 每次要從REST中取頂點(diǎn)時(shí),先判斷p指向的頂點(diǎn)的下一頂點(diǎn)的標(biāo)志位是否為至找到標(biāo)志位為0的頂點(diǎn)或移至apREST從頭找起p移至aB是逐個(gè)確定了Gp從as進(jìn)行了kk復(fù)雜度分別為 O(|V(G)||E(G)|)O(mn),O(n)和O(n)(其中G,ii1ki表示G的k個(gè)連通分支)再加上step0O(mnO(m□18TSPTSP最算法(設(shè)dijSTEP0計(jì)算Dmax|dijdij,令anDbnD,轉(zhuǎn)STEP1令zb,若相應(yīng)的判定問(wèn)題為“否”STEP2STEP2若ba1bTSPTSPSTEP3zab2則令az,轉(zhuǎn),令bzSTEP2;STEP0令s1i11i2STEP3zab2則令az,轉(zhuǎn),令bzSTEP2;STEP0令s1i11i2in0,調(diào)用子算法計(jì)算TSP問(wèn)題的最優(yōu)值m 若sn,結(jié)束,最優(yōu)路徑為ini1;否則令TEMPV\ ,is},STEP2jTEMP,令dijdij1 STEP3zm的判定問(wèn)題若為“是”STEP2;STEP4令dijdij1is1jss1,轉(zhuǎn) j從TEMP算法需設(shè)dijTSPf(W)nD問(wèn)題有可行解,則對(duì)任一可行解W,圈n條弧,故d,其中W1,f(W)iDmax|dnznDnijj判定問(wèn) 為“否則說(shuō)明G中的任何一個(gè)經(jīng)過(guò)所有頂點(diǎn)的圈(下稱(chēng)為大圈都要含權(quán)為的弧(稱(chēng)為無(wú)窮弧),故無(wú)可行解,故STEP1STEP1f(W)nD,故初始區(qū)間可取為[nD于對(duì)任一可行解W當(dāng)ba1最優(yōu)值始終在[a,b由于已設(shè)dij[a,b中只可能有唯一整數(shù)b,而最優(yōu)值始終在[a,b中,故b再說(shuō)明主算法的正確性主算法為一個(gè)二重循環(huán)結(jié)構(gòu)主算法的思路 ,in用 這條最優(yōu)路徑,i1is察is的所有出弧確定is1m中的一部分具體方法是:對(duì)is到TEMP中的所有出弧即{(is,j)|jV\ ,is中所有的弧的權(quán)逐個(gè)加1zm1G中仍有權(quán)為mm11m頭頂點(diǎn)定為is1,然后把這條弧的權(quán)復(fù)原(1G中仍有權(quán)為mm11m頭頂點(diǎn)定為is1,然后把這條弧的權(quán)復(fù)原(減1),以保證G中TSP問(wèn)題最優(yōu)值為然后把is1作為立足點(diǎn),重復(fù)上述過(guò)程,逐步確定出整條路徑由于每執(zhí)行一次外層循環(huán)就確定一個(gè)頂點(diǎn),所以外層循環(huán)執(zhí)行n1假設(shè)最后得到n個(gè)頂點(diǎn)的排列C明大圈C的權(quán)等于最優(yōu)值引理對(duì)任意s,當(dāng)算法確定了is轉(zhuǎn)回STEP1GTSP問(wèn)題(按G中當(dāng)時(shí)的權(quán)計(jì)算)的最優(yōu)值仍為m(mTSP問(wèn)題最優(yōu)值)且任一權(quán)為m的大圈都連續(xù)地通過(guò)i1,is證明對(duì)s做歸in,為證明它為一條最優(yōu)路徑,只1當(dāng)s1時(shí)問(wèn)題最優(yōu)值就是m,所有最優(yōu)路徑都經(jīng)過(guò)i112假設(shè)命題當(dāng)sk(1)在搜索ik1時(shí),算法對(duì)ik到V ,ik}的出弧上的權(quán)逐個(gè)加1由歸設(shè),在開(kāi)始搜索ik1時(shí)中 為m的大圈均連續(xù)地經(jīng)過(guò) ,ik,所以此所以,當(dāng)把中任一權(quán)為m的大圈均含{(ik,j)|jV\ ,ik}}中 (jV ,ik逐個(gè)變大時(shí)(在找到ik1dij1jkkj0使得當(dāng)把dij1(重新計(jì)算的最優(yōu)值首次大于m(zk)j0(即ik1)后,算法又把dij復(fù)原(kik1STEP1G中各弧的權(quán)又恢復(fù)到1jk對(duì)應(yīng)于最優(yōu)值首次變大,所以TSP問(wèn)題最優(yōu)值仍為加1前最優(yōu)值為STEP1時(shí)Gjk 加1后最優(yōu)值大于m說(shuō)明在 變大之前G中所有的權(quán)為m的大jjkk都經(jīng)過(guò)弧(ik,j0(否則不含(ik,j0mdijkm)由于dij被復(fù)原,所以,確定了ik1STEP1G中所有的權(quán)為mk圈就是dij1G中所有的權(quán)為mA是dij1G中某一權(quán)為k kA含(ikjm)由于dij被復(fù)原,所以,確定了ik1STEP1G中所有的權(quán)為mk圈就是dij1G中所有的權(quán)為mA是dij1G中某一權(quán)為k kA含(ikj0,從而它不含ik的其它出弧于是,從開(kāi)始搜索ik1至jkAA也是開(kāi)始搜索ik1(即確定ikSTEP1)G中的權(quán)為mA連續(xù)地經(jīng)過(guò),ik又含(ik,j0)(即(ik,ik1)故A連續(xù)地經(jīng)過(guò) ,ik,ik1由A的任取性知算法確了ik1轉(zhuǎn)回STEP1時(shí)任一權(quán)為m的大圈都連續(xù)地通過(guò) ,ik由(1(2)sk1也成立由12算法確定的Cin為G中按原始權(quán)計(jì)算的最優(yōu)路徑(即所求定路徑證明當(dāng)算法確定了in轉(zhuǎn)回STEP1時(shí)算法結(jié)束引理,結(jié)束時(shí)G中(按時(shí)的權(quán)計(jì)算)存在權(quán)值為m的大圈且任一權(quán)為m的大圈都連續(xù)地經(jīng)過(guò) Cini1是G中唯一連續(xù)通過(guò) ,in的大圈故按算法結(jié)束時(shí)各弧上的權(quán)權(quán)值必為 下說(shuō)明記在算法結(jié)束時(shí)Gn(n)}{d 的權(quán)為,中各弧上權(quán)的原始值為由ijijjnSTEP0 d由于算法不會(huì)將某條弧的權(quán)變小,所以dijijiji ijijjnnn前三式有m j m, m,即C按照原始權(quán)計(jì)算其ijijijiijijj也為故C(或者說(shuō),在計(jì)算過(guò)程中每找到一條C上的弧,都將其權(quán)復(fù)原,因此算法結(jié)C上各弧的權(quán)就是G中原來(lái)的權(quán),因此C為原始圖中的一個(gè)權(quán)為m的大圈)設(shè)判定問(wèn)題的計(jì)算時(shí)間不超過(guò)g(d(I))g(x)為多項(xiàng)式g(x)[0,)上的單調(diào)增函數(shù)若不然,設(shè)g(x)akxk1ax0a,ia取|a|x|a|在[0,)上,g~(x)單調(diào)增,g(x|a|x|a|在[0,)上,g~(x)單調(diào)增,g(x)g~( 判|xkk10g~d(I控制子算法中,STEP02n2次比較和賦值2n2g(d(I))[log(2nD)1]g(d(I22n2g(d(I))[2lognlogD]g(d(I 2n2g(d(I))[2lognlogD]g(d(I 由于輸入中{dij}為n2個(gè)數(shù)故d(I)n 又log2D不大于{dij}中絕對(duì)值最又由于d(I)n2logn,從而上式2數(shù)的輸入長(zhǎng)度,故log2Dd(I2d(I)3g(d(I))2d(I)g(d(I對(duì)于主算法,STEP0d(I的多項(xiàng)式STEP4(外循環(huán))執(zhí)行nV\REST中刪去一個(gè)頂點(diǎn)需要n建立TEMPSTEP1中只有n1步操作每確定一個(gè)頂點(diǎn),需試RESTSTEP2STEP3(內(nèi)循環(huán))至多執(zhí)行n次每次執(zhí)行內(nèi)循環(huán)時(shí)G1,STEP3即后一次比前一次只有一條弧的權(quán)加1,所以后一次判定問(wèn)題的輸入長(zhǎng)度比前一1判定問(wèn)題),所以循環(huán)過(guò)程中所有判定問(wèn)題的輸入長(zhǎng)度不超過(guò)d(I) 超過(guò)2d(I 由于已設(shè)g(x)為單增函數(shù),所以循環(huán)過(guò)程中任何一次解判定問(wèn)題g(2d(I每執(zhí)行一次內(nèi)循環(huán),STEP23,STEP3g(d(I1(j的一步)is1的過(guò)程中,STEP3nSTEP2n1STEP4STEP45步操作所以確定一個(gè)頂點(diǎn)的操作次數(shù)不超過(guò)n1(n1)(3g(2d(I))1)55n2(n1)g(2d(In[5n2(n1)g(2d(I))]4n22nn(n1)g(2d(In6d(I)d(I)g(2d(I主算法循環(huán)部分的計(jì)算時(shí)間為d(I的多項(xiàng)式式時(shí)間算法。集合覆蓋問(wèn)題為:給定一個(gè)mn0-19.證明集合覆蓋問(wèn)題屬矩陣A,整6d(I)d(I)g(2d(I主算法循環(huán)部分的計(jì)算時(shí)間為d(I的多項(xiàng)式式時(shí)間算法。集合覆蓋問(wèn)題為:給定一個(gè)mn0-19.證明集合覆蓋問(wèn)題屬矩陣A,整系數(shù)c1,c2 cn和一個(gè)整數(shù)K,是否存在取值為0-1的變nxx,xx使得Axe cxK?(其中eT njjj證明(1)SC,其輸入長(zhǎng)度為n,即d(S)實(shí)例I中,A有mn個(gè)數(shù),c(1c ,nc)有n個(gè)數(shù),e ,1)T有m個(gè)數(shù),Kmnnm1d(I驗(yàn)證x為“是 共需驗(yàn)證m1個(gè)不等式驗(yàn)證一個(gè)不等式需n次乘法n11f(H)(m1)(nn11)2n(m取g(x)2x,則f(H)g(d(I)),d(S)g(d(I 從而SC(2)三精確覆蓋問(wèn)題(X3C)可多項(xiàng)式轉(zhuǎn)換為X3CI1F1.19的方法對(duì)應(yīng)于n個(gè)3mI1可以表述為:是否存在n0-1x0-1列向量,Ax其中A ,dn)為3mn矩 AxSCI2:是否存在n維0-1xx1 nxmAe為3m維全1列向量該轉(zhuǎn)化顯然可在d(I)3mn1項(xiàng)式時(shí)間內(nèi)完 I1的一個(gè)解(一個(gè)n維0-1列向量)也是I2的一個(gè)解,二者的一一對(duì)應(yīng)下證:xI1當(dāng)且僅當(dāng)xI2的“是 n往 xxI1的“是x(xx)T1nAxex0,故可設(shè)xixi1(k1),其余為考慮A的子陣1kkjB Ax eB中每一行有且僅有一個(gè)元素為,iB有3m有3m個(gè)元素為1,其余為另一方面,B的每一列含 n個(gè)1B中含3k個(gè)1,故kmxnAxkjB Ax eB中每一行有且僅有一個(gè)元素為,iB有3m有3m個(gè)元素為1,其余為另一方面,B的每一列含 n個(gè)1B中含3k個(gè)1,故kmxnAxe AxxI2xxxj1n nxxm知k 考慮A的為1k1,其余為x,kjB)Ax eB中每行至少有一個(gè)B有3m,,iB中至少有3m個(gè)1,其余為B的每一列含3個(gè)1B中含3k個(gè)1 n3k3m,故k 綜合1km有k 從xmB中恰含3m個(gè)jB中每行至少有一個(gè)1B3m行,所以B每行恰有一個(gè)1,從而kjAxdi綜上,X3CSC,SC□20.哈密頓(Hamilton)問(wèn)題為:給定一個(gè)無(wú)向圖GN,E其中NE(ij|i,jN ,證明:TSP屬于NP-hard問(wèn)題證 只需證明哈密頓問(wèn)題可以多項(xiàng)式轉(zhuǎn)換為T(mén)SP問(wèn)給定哈密頓問(wèn)題的一個(gè)實(shí)例I1:G(N,E),頂點(diǎn)集N Ei,j|i,jN}TSPI2G(NENNEi,j|i,jN(i,j)(i,j)dnin,使得f(W)dijij1nG中是否存在n個(gè)城市的一個(gè)排列Wj題中均設(shè)in1i1)?E及{dij在O(n2n個(gè)城市的一個(gè)排列Wii1i1ni2 ,in最后回到i1的一個(gè)圈則n個(gè)頂點(diǎn)的任何排列均為哈密頓問(wèn)題的一Win為哈密頓問(wèn)題的一個(gè)“是 當(dāng)且僅當(dāng)(ij,ij1)E,(j1,I1I2的解一一對(duì)應(yīng)下只需證:WI1僅當(dāng)WI2若in為I1的“是 ,則j,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論