NP問題證明

2021-08-03 20:09:20 字數 1163 閱讀 3136

一所謂風箏圖是這樣的,其頂點數為偶數(比如2n),且其中的n個頂點構成了乙個團,剩餘的n個頂點則由一條稱為「尾巴」的路徑連線,尾巴的某個端點與團中乙個頂點相連。給定乙個圖和目標g,風箏圖問題要求該圖的乙個包含2g個頂點的風箏子圖。請證明該問題是np-完全的。

分析:可以將團問題歸約到kite問題。

解答:給定乙個圖g,和目標g,求乙個有g個頂點的完全圖。如果

我們要求g(v,e)的最大團,那麼我們可以在圖g中新增|v|個新頂點

然後將每乙個新頂點連向原圖中互異的頂點,此時共得到了|v|條新邊,這樣得到乙個新圖。

把這個新圖稱為g'

容易看出來,在g'中存在著大小為2g的kite當且僅當g存在大小為g的團

先證:g'中有2g的風箏 → g存在g的團

把g'中只有風箏尾巴(g個點)去除,得到的圖也含有乙個g大小的完全圖,去除的g個點必然是在新增加的|v|個點裡面的,去除後不影響原圖g,所以原圖g也有g大小的團。

再證:g存在g的團→

g'中有2g的風箏

顯而易見,根據上述構造的方法,就可以的到2g的風箏。

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

分析:已知3sat問題是np完全問題。現在通過將3sat歸約到exact 4sat來證明後者的np完全性。規約時要保證每個變數在子句中只出現一次,另外要讓每個子句恰好有4個文字。

解答:易得4sat問題是np問題。

對於任意乙個3sat例項,若其中某個子句中乙個文字出現多次,可以將該文字刪減為一次。如果同時包含了某個變數的肯定和否定,那麼可以將這個變數去掉。另外,在每個子句中新增一些輔助變數 ,這樣可以將每個子句包含的文字數目擴充到四個。

三在碰撞集問題中,給定一組集合和預算b,我們希望求乙個所有的si相交且規模不大於b的集合h,當然,前提是這樣的集合確實存在。

分析:將最小頂點覆蓋規約到hiyying set

解答:將最小頂點覆蓋歸約到碰撞集問題。現假設求圖g的最小頂點覆蓋,我們可以建立乙個碰撞集例項。其中s1,s2,sn即是圖g的各條邊,比如 

,….。這樣,就可以把求g的最小頂點覆蓋歸約成,求這|e|個集合的碰撞集h。其中h的大小b就是最小頂點覆蓋。已知最小頂點覆蓋是乙個np完全問題,所以該問題是乙個np完全問題。

證明吝嗇SAT問題為NP完全問題。

吝嗇sat問題是這樣描述的 給定一組子句 每個子句都是其中文字的析取 和整數k,求乙個最多有k個變數為true的滿足賦值 如果該賦值存在。而我們的目的就是證明吝嗇sat問題為np完全問題。這是書 演算法概論 的習題8.3。我證明的方法是用歸約的方法 由已知的np完全問題歸約到該問題,並證明歸約的過程...

8 3 證明吝嗇SAT問題是NP 完全問題

吝嗇sat問題是這樣的 給定一組子句 每個子句都是其中文字的析取 和整數k,求乙個最多有k個變數為true的滿足賦值 如果該賦值存在。證明吝嗇問題是np 完全問題。這道題,我的思路是 首先證明吝嗇sat問題是是np問題,然後用歸約的方法 由已知的np完全問題 sat問題 歸約到該問題,並證明歸約的過...

P問題 NP問題 NP完全問題和NP難問題

在講p類問題之前先介紹兩個個概念 多項式,時間複雜度。知道這兩概念的可以自動跳過這部分 1 多項式 axn bxn 1 c 恩.就是長這個樣子的,叫x最高次為n的多項式.咳咳,別嫌我囉嗦。有些人說不定還真忘了啥是多項式了。例如第一次看到的鄙人 2 時間複雜度 我們知道在計算機演算法求解問題當中,經常...