吝嗇sat問題是這樣的:給定一組子句(每個子句都是其中文字的析取)和整數k,求乙個最多有k個變數為true的滿足賦值——如果該賦值存在。證明吝嗇問題是np-完全問題。
這道題,我的思路是:首先證明吝嗇sat問題是是np問題,然後用歸約的方法:由已知的np完全問題(sat問題)歸約到該問題,並證明歸約的過程的時間複雜度為多項式時間複雜度。
證明過程:
我們假設(f,k)為吝嗇sat的乙個例項,x為一組賦值,也就是說,f是sat的乙個例項(包含k個變數)。因為吝嗇sat問題是sat問題的乙個變種,而且任何乙個解都可以在多項式的時間內求解,所以吝嗇sat問題是np問題 。
要證sat規約到吝嗇sat,即證:
x是f的解 當且僅當 x是(f,k)的解
如果x是f的解,則至多有k個變數為真,x賦給(f,k)也為真,所以x是(f,k)的解
如果x是(f,k)的解,該吝嗇sat問題解中值為true的變數的數量也小於等於k,所以
x也是f的解
綜上所述,吝嗇sat問題是np-完全問題。
課本8 3證明 吝嗇SAT問題是NP完全問題
8.3 證明吝嗇sat問題是np 完全問題。首先已知sat問題是np 完全問題,因此只要找到乙個由sat問題到吝嗇sat問題的規約就可以證明吝嗇sat問題也是完全 np問題。對於任何乙個給定包含n個變數的sat的例項i n 對於i中的任何子句 採用子句集 代替,其有效性證明與sat問題到3sat問題...
8 3 吝嗇SAT問題
8.3 吝嗇sat問題是這樣的 給定一組子句 每個子句都是其中文字的析取 和整數k,求乙個最多有k個變數為true的滿足賦值 如果該賦值存在。證明吝嗇sat是np 完全問題。解答 若已知某個與吝嗇sat問題變數對應的真值集合,可在多項式時間內將該集合帶入吝嗇sat問題驗證是否為解。故吝嗇sat問題為...
證明吝嗇SAT問題為NP完全問題。
吝嗇sat問題是這樣描述的 給定一組子句 每個子句都是其中文字的析取 和整數k,求乙個最多有k個變數為true的滿足賦值 如果該賦值存在。而我們的目的就是證明吝嗇sat問題為np完全問題。這是書 演算法概論 的習題8.3。我證明的方法是用歸約的方法 由已知的np完全問題歸約到該問題,並證明歸約的過程...