演算法概論習題解答8 22

2021-08-03 10:46:44 字數 1265 閱讀 8863

8.22

問題描述: 在任務排程,常常會用到圖。其中節點應用於任務,任務i到j的有向邊表示i是j的先期條件。這樣的圖描述了排程問題中的任務先後關係(約束) 。顯然,乙個排程是可行的當且僅當該圖無環;如果排程不可行,我們需要使其無環所需的最小約束數量。

給定乙個有向圖g =(v,e),子集e'⊆e稱為乙個反饋弧集,反饋弧集是指將其移除後,將使得g無環。

反饋弧集(fas):給定乙個有向圖g =(v,e)和預算b,求包含不超過b條邊的反饋弧集合——如果這樣的集合存在。

(a)證明 fas是np的

(b)證明,如果g包含乙個大小b頂點覆蓋,然後g' 包含反饋弧集尺寸b.

然後,認為g必須包含乙個頂點覆蓋的大小相同的莫迪fied反饋弧集。)

證明:a) 顯然 fas 是可在多項式時間內驗證的,因此屬於np。

b) 設g

的乙個大小為b

的頂點覆蓋為c

,對於任意頂點vi∈

c ,設其在g

' 中相對應的頂點為wi和wi

',則將邊(wi,wi

') 新增到e

'。對c

中的每個頂點都這樣處理後,所得到的邊集e

'即是g

' 的乙個大小為b

的feedback arc set。因為對於頂點wi和wi

',當去掉邊(wi,wi

')後,所有與w i相連的邊都不可能位於任何乙個環中,因為w i不存在出邊,同樣,所有與wi

'相連的邊也不可能位於任何乙個環中,因為wi

' 不存在入邊。

c) 對於g

中的任意一條邊(vi ,

vi』),設其在g

' 中相對應的頂點為wi

,wi

'、w j、

wj ' ,相對應的邊為(

wi ,

wi ')

、( wj,

wj ')、(

wi ',

wj) 、(

wj ',

wi)。若

e '是

g' 的乙個大小為

b 的feedbackarc set,顯然,在這四條邊中至少有一條邊

e屬於e ',否則就會形成環,而邊

e必然有個端點屬於 。若

wi 是

e 的端點,則將

vi加入到

c ,否則將

vj 加入到

c 。容易看出,在經過上述處理後,

c 即是

g 的乙個大小不超過

b 的頂點覆蓋。

《演算法概論》習題8 22

題目 在任務排程中,常常會用到圖。其中節點對應任務,任務i到任務j的有向邊表示i是j的先期條件。這樣的圖描述了排程問題中的任務先後關係 約束 顯然,乙個排程是可行的當且僅當該圖無環 如果排程不可行,我們需要求使其無環所需的最小約束數量。給定乙個有向圖g v,e 子集e e稱為反饋弧集合是指 將其移除...

演算法概論習題 8 8解答

在精確的4sat exact 4sat 問題中,輸入為一組子句,每個字句都是恰好4個文字的析取,且每個變數最多在每個子句中出現一次。目標是求它的滿足賦值 如果該賦值存在。證明精確的4sat是np 完全問題。在證明精確的4sat問題是np 完全問題前,先得證明其屬於np問題。因為exact 4sat和...

《演算法概論》習題8 12題解

8.12 k 生成樹問題是這樣的 輸入 無向圖g v,e 輸出 g的乙個生成樹,其中所有節點度數都不超過k 如果該樹存在。請證明對任意k 2 a k 生成樹問題是乙個搜尋問題。b k 生成樹問題是np 完全的。a 對於例項i,其任意乙個解s,遍歷s的每個結點,檢查其度數是否不超過k,這是多項式時間內...