《演算法概論》8 9

2021-08-02 21:39:26 字數 954 閱讀 5593

8.9in the hitting set problem, we are given a family of sets

, and a budget

b , and we wish to find a set

hof size ≤b

which intersects every si

, if such an h exists, in other words, we want h⋂

si≠∅

for all

i .

show that hitting set is np-complete.

擊中集(hitting set)問題是指給定一組集合

和乙個預算

b ,希望找到乙個集合h滿足

h 與所有的si

相交(存在公共元素)且

h 的大小不超過預算

b,如果存在這樣的集合

h ,用數學公式表示就是 h⋂

si≠∅

。 頂點覆蓋(vertex cover)問題是指給定圖g(v, e)和預算k,希望從v中找到乙個大小不超過k的頂點集合a,能夠覆蓋所有的邊(每一條邊至少有乙個頂點屬於a)。

頂點覆蓋問題是np完全的,現在將頂點覆蓋問題規約到擊中集問題。

對於g的每一條邊e=

(u,v

) ,令si

= ,則得到一組集合

,每乙個集合si

對應g的一條邊,集合的元素為對應邊的兩個頂點。讓預算b=

k ,因為頂點覆蓋問題中要求所有的邊都被覆蓋到,即每一條邊至少有乙個頂點屬於覆蓋集a中,這意味著覆蓋集a與所有的si

都相交,而擊中集問題中h⋂

si≠∅

,即a與h是等價的;覆蓋集a最多k個點對應擊中集h最多有b個元素,因此實現了頂點覆蓋問題到擊中集問題的歸約,所以擊中集問題是np完全問題,證畢。

演算法概論 8 9

在碰撞集 hitting set 問題中,給定一組集合 和預算 b 我們希望求乙個所有的 si 相交且規模不超過 b 的集合 h,當然,前提是這樣的集合確實存在。換句話說,我們希望對所有的 i 滿足 h si 請證明該問題是np 完全的。通過將最小頂點覆蓋問題歸約到hitting set問題來證明該...

演算法概論課後8 9

題目 給定一組集合和預算b,求乙個集合h,其中h和所有si相交且h的規模不超過b,前提是這個集合存在。求證該問題是np完全問題 證明假設有乙個圖g v,e 則把該圖的每一條邊對應乙個集合si,邊上的兩個點即該集合的元素,即每個集合有兩個元素,如s1 這樣一來,就能構造出 e 個集合。求圖g的最小頂點...

演算法作業 演算法概論T8 9證明

這個只是乙個作業而已,寫的遠沒有leetcode解題報告那樣詳細,見諒。題目為演算法概論的chapter8.9 證明 可將頂點覆蓋問題歸約到碰撞集問題,頂點覆蓋問題的目標是找到乙個大小不超過b 的點集合h 使得圖中所有的邊都至少與集合中的乙個點關聯,它是乙個np 完全問題。設無向圖g v,e 對於圖...