最大不全...

13
38 2015 CHINESEJOURNAL OFCOMPUTERS Vol.38 No.8 Aug.2015 收稿日期20131205 最终修改稿收到日期20150107. 本课题得到国家自然科学基金61070019 )、 教育部博士点基金20090131110009 山东省自然科学基金ZR2012FZ002 资助 咸爱勇1986 年生硕士研究生主要研究方向为算法设计与分析软件工程 .Email xianaiyong msn.com. 朱大铭博士教授研究领域为算法设计与分析生物信息学 最大不全 满足问题的局部搜索近似算法 咸爱勇 朱大铭 山东大学计算机科学技术学院 济南 250101 合取范式可满足与最大可满足问题是理论计算机科学的核心问题 最大不全满足问题是最大可满足问题 的一般化 限制每个子句均含有 个字母的最大不全满足问题又称为最大不全 满足问题 最大不全满足问 题的算法进展以解答该类问题的半定规划松弛法最具代表性 关于最大不全 满足满足和 满足问题目前性 能最好的近似算法分别由 Goemans Williamson Zwick Karloff Zwick 给出近似性能比分别为 1.139 0.878 )、 1.10047 0.9087 7. 最大不全 满足问题的近似算法则未曾见到 文中给出了一个解答最大不全 满足问题的局部搜索算法近似性能比可达到 -1 /( -1 -1 ), 进一步将该方法推广到解答由不少于 字母的子句构成的最大不全 满足问题近似性能比亦可达到 -1 /( -1 -1 利用解答最大不全 满足问题的近 似算法给出了解答最大 可满足问题的新近似算法近似性能比可达到 /( -1 文中最后证明了若 NP 的最大不全 满足问题不能近似到小于 -1 /( -1 -1 ), 从而说明文中解答最大不全 满足问题的算法近 似性能比是最优的 关键词 局部搜索算法近似性能比合取范式可满足性 中图法分类号 TP301 犇犗犐 10.11897 SP.J.1016.2015.01561 犜犺犲犔狅犮犪犾犛犲犪狉犮犺犃 狆狆 狉狅狓犻犿犪狋犻狅狀犃犾 狅狉犻狋犺犿狊犳狅狉犕犪狓犻犿狌犿犖狅狋犃犾犾犈 狌犪犾 犛犪狋犻狊犳犻犪犫犻犾犻狋 犘狉狅犫犾犲犿狊 XIANAiYong ZHUDaMing 犛犮犺狅狅犾狅 犆狅犿 狌狋犲狉犛犮犻犲狀犮犲犪狀犱犜犲犮犺狀狅犾狅 犵狔 犛犺犪狀犱狅狀 犝狀犻狏犲狉狊犻狋 犑犻狀犪狀 250101 犃犫狊狋狉犪犮狋 Thesatisfiabilityproblemaswellasthemaximumsatisfiabilityproblemofconjunctive normformsarethecentralproblemsintheoreticalcomputerscience.Themaximumnotallequal satisfiabilityproblemisageneralizationofthemaximumsatisfiabilityproblem.Themaximum notallequalsatisfiabilityproblemisnamedmaximumnotallequal satisfiabilityproblem if eachclauseofitsinstancecontains literals.Semidefiniteprogrammingrelaxationisthe frequentlyusedalsothemosttypicalmethodforsolvingthemaximumnotallequalsatisfiability problems.Toourknowledgeatpresent thebestalgorithmsforthemaximumnotallequal2 and4satisfiabilityproblemscomefromthesemidefiniteprogrammingrelaxationmethodsgiven byGoemansandWilliamson Zwick KarloffandZwick withperformances1.139 0.878 ), 1.10047 0.9087 and8 7respectively.Whenwehavenotseenanyapproximation algorithmforthemaximumnotallequal satisfiabilityproblems.Inthispaper weproposealocal searchalgorithmtosolvethemaximumnotallequal satisfiabilityproblem.Thisalgorithmcan achievetheperformanceratio2 -1 /( -1 -1 for 2.Weextendthemethodtoproposealocal searchalgorithmtosolvethemoregeneralizedversionofthemaximum notallequal satisfiability problem witheachclausecontainingatleastliterals.Thisalgorithm canstillachievethe

Upload: others

Post on 20-Jul-2020

56 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

书书书

第38卷 第8期

2015年8月

计  算  机  学  报

CHINESEJOURNALOFCOMPUTERS

Vol.38 No.8

Aug.2015

 

收稿日期:20131205;最终修改稿收到日期:20150107.本课题得到国家自然科学基金(61070019)、教育部博士点基金(20090131110009)和

山东省自然科学基金(ZR2012FZ002)资助.咸爱勇,男,1986年生,硕士研究生,主要研究方向为算法设计与分析、软件工程.Email:

xianaiyong@msn.com.朱大铭,男,博士,教授,研究领域为算法设计与分析、生物信息学.

最大不全犽满足问题的局部搜索近似算法

咸爱勇  朱大铭(山东大学计算机科学技术学院 济南 250101)

摘 要 合取范式可满足与最大可满足问题是理论计算机科学的核心问题.最大不全满足问题是最大可满足问题

的一般化.限制每个子句均含有犽(2)个字母的最大不全满足问题又称为最大不全犽满足问题.最大不全满足问

题的算法进展,以解答该类问题的半定规划松弛法最具代表性.关于最大不全2满足、3满足和4满足问题,目前性

能最好的近似算法分别由Goemans与Williamson、Zwick、Karloff与Zwick给出,近似性能比分别为1.139(1/0.878)、

1.10047(1/0.9087)和8/7.当犽5时,最大不全犽满足问题的近似算法则未曾见到.文中给出了一个解答最大不全

犽满足问题的局部搜索算法,近似性能比可达到2犽-1/(2犽-1-1),犽2;进一步将该方法推广到解答由不少于犽个

字母的子句构成的最大不全犽满足问题,近似性能比亦可达到2犽-1/(2犽-1-1).利用解答最大不全犽满足问题的近

似算法,给出了解答最大犽可满足问题的新近似算法,近似性能比可达到2犽/(2犽-1).文中最后证明了若P≠NP,

则犽4的最大不全犽满足问题不能近似到小于2犽-1/(2犽-1-1),从而说明文中解答最大不全犽满足问题的算法近

似性能比是最优的.

关键词 局部搜索;算法;近似性能比;合取范式;可满足性

中图法分类号 TP301   犇犗犐号 10.11897/SP.J.1016.2015.01561

犜犺犲犔狅犮犪犾犛犲犪狉犮犺犃狆狆狉狅狓犻犿犪狋犻狅狀犃犾犵狅狉犻狋犺犿狊犳狅狉犕犪狓犻犿狌犿犖狅狋犃犾犾犈狇狌犪犾

犽犛犪狋犻狊犳犻犪犫犻犾犻狋狔犘狉狅犫犾犲犿狊

XIANAiYong ZHUDaMing(犛犮犺狅狅犾狅犳犆狅犿狆狌狋犲狉犛犮犻犲狀犮犲犪狀犱犜犲犮犺狀狅犾狅犵狔,犛犺犪狀犱狅狀犵犝狀犻狏犲狉狊犻狋狔,犑犻狀犪狀 250101)

犃犫狊狋狉犪犮狋 Thesatisfiabilityproblemaswellasthemaximumsatisfiabilityproblemofconjunctive

normformsarethecentralproblemsintheoreticalcomputerscience.Themaximumnotallequal

satisfiabilityproblemisageneralizationofthemaximumsatisfiabilityproblem.Themaximum

notallequalsatisfiabilityproblemisnamedmaximumnotallequal犽satisfiabilityproblem,if

eachclauseofitsinstancecontains犽(2)literals.Semidefiniteprogrammingrelaxationisthe

frequentlyusedalsothemosttypicalmethodforsolvingthemaximumnotallequalsatisfiability

problems.Toourknowledgeatpresent,thebestalgorithmsforthemaximumnotallequal2,3

and4satisfiabilityproblemscomefromthesemidefiniteprogrammingrelaxationmethodsgiven

byGoemansandWilliamson,Zwick,KarloffandZwick,withperformances1.139(1/0.878),

1.10047(1/0.9087)and8/7respectively.When犽5,wehavenotseenanyapproximation

algorithmforthemaximumnotallequal犽satisfiabilityproblems.Inthispaper,weproposealocal

searchalgorithmtosolvethemaximumnotallequal犽satisfiabilityproblem.Thisalgorithmcan

achievetheperformanceratio2犽-1/(2犽-1-1)for犽2.Weextendthemethodtoproposealocal

searchalgorithmtosolvethemoregeneralizedversionofthemaximumnotallequal犽satisfiability

problem,witheachclausecontainingatleast犽literals.Thisalgorithmcanstillachievethe

Page 2: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

performanceratio2犽-1/(2犽-1-1).Usingthemethodforthegeneralizedversionofthemaximum

notallequal犽satisfiabilityproblem,weproposeanew2犽/(2犽-1)approximationalgorithmfor

generalizedversionofthemaximum犽satisfiabilityproblem.Finally,weprovethatifP≠NP,

thenthemaximumnotallequal犽satisfiabilityproblemcannotbeapproximatedwithin2犽-1/

(2犽-1-1)for犽4.Thisimpliestheperformanceratioofouralgorithmforthemaximum

notallequal犽satisfiabilityproblemisoptimal.

犓犲狔狑狅狉犱狊 localsearch;algorithm;performanceratio;conjunctivenormalform;satisfiability

1 引 言

合取范式可满足问题(简称SAT)是理论计算

机科学的核心问题.合取范式最大可满足问题(简称

MaxSAT)是SAT问题的优化形式,要求根据给定

布尔变量字母组成的子句集合,计算布尔变量赋值,

使满足的子句(Clause)数目达到最大.早在1971年,

MaxSAT就被证明为NPHard[12].最大不全满足

问题是最大可满足问题的一般化[3],要求根据给定

布尔变量字母组成的子句集合,计算布尔变量赋值,

使满足且不全满足的子句数目达到最大.最大不全

满足问题简称为 MaxNAESAT,当然也是 NP

Hard问题[4].MaxNAESAT也可看作最大割问题

及最大集合分割问题的一般化[3,5].

若每个子句含有固定数目的布尔变量字母,则

MaxSAT和 MaxNAESAT演变为它们的一类重

要子问题,这类子问题的算法与复杂性研究同样吸

引了许多学者的研究兴趣.本文将每个子句含有犽

个布尔变量字母的 MaxSAT子问题称为Max犽

SAT;将每个子句含有不多于犽个布尔变量字母的

MaxSAT子问题称为 Max[犽]SAT;将每个子句

含有不少于犽个布尔变量字母的 MaxSAT子问题

称为 Max(犽)SAT.类似地,将每个子句含有犽个

布尔变量字母的 MaxNAESAT子问题称为 Max

NAE犽SAT;将每个子句含有不多于犽个布尔变量

字母的MaxNAESAT子问题称为MaxNAE[犽]

SAT;将每个子句含有不少于犽个布尔变量字母的

MaxNAESAT子问题称为 MaxNAE(犽)SAT.

Johnson[6]于1974年最先设计出近似性能比为

2的MaxSAT问题近似算法,并设计出近似性能比

为2犽/(2犽-1)的 Max(犽)SAT问题近似算法.为

每个布尔变量以1/2概率随机赋值犜/犉的简单方

法,也可使解答 Max(犽)SAT的平均近似性能比

达到2犽/(2犽-1)[7].Yannakakis

[8]于1994年给出解

答 MaxSAT问题的随机算法,其平均近似性能比

为4/3.Goemans与 Williamson[9]利用线性规划

松弛法,给出一个更简单的随机近似算法,近似性能

比仍为4/3,1995年,他们采用半定规划松弛法将

解答 Max[2]SAT 问题的近似性能比改进到

1.139[10],该方法修改后用于解答 MaxSAT问题,

近似性能比为1.32[9].Asano与 Williamson重新分

析了Goemans和 Williamson的4/3近似算法,利用

Feige和Goemans[11]给出的解答 Max[2]SAT与

Karloff和Zwick[12]给出的解答Max[3]SAT的半

定规划松弛法,将解答 MaxSAT问题的近似性能

比改进为1.275[13].

最大不全满足问题的半定规划松弛法,代表了该

问题算法研究的主要进展.解答 MaxNAE2SAT

的半定规划松弛法可由Goemans和 Williamson[10]

解答 Max[2]SAT的半定规划松弛法直接得到,近

似性能比为1.139;解答MaxNAE4SAT的半定规

划松弛法则可由Karloff与Zwick[12]解答 Max[3]

SAT的半定规划松弛法直接得到,近似性能比为

8/7.Andersson和 Engebretsen于1998年给出解

答 MaxNAESAT的半定规划松弛法,近似性能比

为1.3812(1/0.7240)[14].Han、Ye与Zhang

[5]利用

被称作外部旋转(OutwardRotation)的取整技术将

Andersson和Engebretsen的算法的近似性能比加

强为1.3335(1/0.7499).Zwick[15]于1999年进一步

利用半定规划松弛法和外部旋转取整技术给出Max

NAESAT问题猜测近似性能比为1.2536(1/0.7977)

的近似算法,并给出 MaxNAE3SAT近似性能比

为1.10047(1/0.9087)的近似算法.2006年,Abidor

和Berkovitch等人将解答 MaxNAESAT的猜测

近似性能比改进为1.2079(1/0.8279),并将解答

MaxSAT的(无猜测)近似性能比改进为1.25502[3]

(1/0.7968).所谓猜测近似性能比,是指在文献[15]

中给出的一个猜测概率表达式成立时,算法所能够

达到的近似性能比.当犽5时,目前未见任何解答

2651 计  算  机  学  报 2015年

Page 3: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

MaxNAE犽SAT的半定规划松弛法.

虽然半定规划松弛法解答最大可满足与最大不

全满足问题获得了求解性能的全面提高,求解 Max

[3]SAT的近似性能比甚至已经达到极限值.然而

半定规划松弛法所耗费的运行时间尚不令人满意.

因为半定规划松弛法所给出的近似性能比还须经历

去随机过程才能准确地达到,目前去随机的时间复

杂性仍是一个指数很大的多项式函数,一般不低于

犗(狀30)[16].

局部搜索是解答 NPHard优化问题的典型方

法,解答SAT问题的局部搜索算法也不少见.我们

所知的 SAT 问题局部搜索算法有 GSAT[1718]、

WSAT[19]、NSAT

[20]、TSAT[2122]、SDF

[23]等.目前,

局部搜索仍然是人们在实际SAT求解中最常使用

的方法[24].目前尚无研究结果用于分析这些在实践

中表现优越的局部搜索算法的性能.2010年,朱大

铭等人[25]给出 Max3SAT问题的局部搜索近似算

法,近似性能比可达到8/7,算法可推广到解答

Max(犽)SAT,近似性能比为2犽+22犽+1

.该算法用于

解答 MaxNAE(犽)SAT[26],近似性能比可达到

犽+1犽.另外,Hastad

[27]曾证明:若P≠NP,则犽3

的 Max犽SAT 不能多项式时间近似到小于2犽/

(2犽-1),犽3.文献[25]的算法用于解答犽4的

Max(犽)SAT,达到的近似性能比与 Hastad给出

的解答该问题拒绝达到的近似性能比上界仍有较

大差距.

1994 年,Khanna 等人[28]提出所谓盲目 的

(anonymous)局部搜索算法,用于解答 Max犽SAT

问题,其近似性能比为2犽/(2犽-1).该算法解答

Max犽SAT,近似性能比已经达到 Hastad关于解

答 Max犽SAT拒绝达到的近似性能比上界.然而

该方法并不能简单地推广到解答 Max(犽)SAT.

2000年,Dantsin等人[29]给出一个解答犽SAT的局

部搜索精确算法,时间复杂性为(2-2/(犽+1))狀.

本文讨论 MaxNAESAT问题的局部搜索求

解方法.首先给出解答 MaxNAE犽SAT问题的一

个局部搜索算法,算法近似性能比可达到 2犽-1

2犽-1-1;

再将解答 MaxNAE犽SAT的局部搜索方法,推广

到解答 MaxNAE(犽)SAT问题,近似性能比也可

达到 2犽-1

2犽-1-1;然后利用解答 MaxNAE(犽)SAT的

算法,给出解答 Max(犽)SAT的一个新算法,近似

性能比达到 2犽

2犽-1.Khanna等人的局部搜索算法解

答 Max犽SAT也可以达到同样近似性能比,但不

能解答 Max(犽)SAT问题实例.本文算法则可直

接用于解答 Max(犽)SAT问题实例.本文最后证

明当犽4时,MaxNAE犽SAT不能多项式时间近

似到小于 2犽-1

2犽-1-1.

2 最大不全犽满足问题的局部搜索

一个布尔变量狌对应两个字母狌和狌-,分别称

为狌的正变量字母和反变量字母.给予布尔变量狌

赋值后,其字母也相应得到确定的布尔值,本文我们

并不区分布尔变量赋值与布尔变量字母赋值的

不同.

一个子句是若干布尔变量字母的集合.设犆狋=

{狓[1],狓[2],…,狓[犽]}为一个子句,其中狓[1],…,

狓[犽]为布尔变量字母,若赋值函数犪(·)使得

犪(狓[1])∨…∨犪(狓[犽])=犜,则称犆狋是满足的;若

犪(狓[1])∨…∨犪(狓[犽])=犜 且犪(狓[1])∧…∧

犪(狓[犽])=犜,则称犆狋是全满足的;若犪(狓[1])∨…∨

犪(狓[犽])=犜,且犪(狓[1])∧…∧犪(狓[犽])=犉,则称

犆狋是不全满足的;若犪(狓[1])∨…∨犪(狓[犽])=犉,

则犆狋为不满足的.最大不全犽满足问题由布尔变量

集与犽个字母的子句集给定,欲寻求每个布尔变量

的真值指派,使给定子句集中不全满足的子句数目

达到最大.布尔变量的真值指派也称为布尔变量的

赋值(函数).最大不全犽满足问题可形式化为:

实例:布尔变量集合犝={狌1,…,狌狀},子句集合

犆={犆1,…,犆犿},每个子句均含有犽个布尔变量字

母.子句犆狋可表示为犆狋={狓[狋,1],狓[狋,2],…,

狓[狋,犽]},其中,1狋犿,狓[狋,犾]∈{狌1,…,狌狀,

狌-1,…,狌-狀},1犾犽.

目标:求犝 中布尔变量的赋值函数犪:犝→

{犜,犉},最大化犆中不全满足子句的数目.

该问题即为 MaxNAE犽SAT.若求解目标修

改为寻求犝 的赋值函数,使犆中满足的子句数目达

到最大,则问题变为 Max犽SAT.

MaxNAE犽SAT是 Max犽SAT的一般化,

或可将 Max犽SAT看作 MaxNAE犽SAT的子问

题,这是因为可将任一 Max犽SAT实例变换为一

个 MaxNAE犽SAT实例,并使两个实例有对应等

价的赋值函数.变换方法如下:

36518期 咸爱勇等:最大不全犽满足问题的局部搜索近似算法

Page 4: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

设〈犝,犆〉是任一 Max犽SAT实例,增加一个

布尔变量狅,得到犝′=犝∪{狅};在每个犆的子句中

添加布尔变量字母狅,得到犆′.即设犆狋={狓[狋,1],

狓[狋,2],…,狓[狋,犽]}∈犆,则犆′狋={狓[狋,1],狓[狋,2],…,

狓[狋,犽],狅},犆′={犆′狋|犆狋∈犆}.将〈犝′,犆′〉视为一个

MaxNAE犽SAT实例,设犪(犝′)为犝′的赋值函

数,若犪(狓[狋,1]),犪(狓[狋,2]),…,犪(狓[狋,犽]),犪(狅)

使得犆′狋 不全满足,当且仅当犪(狓[狋,1])犪(狅),

犪(狓[狋,2])犪(狅),…,犪(狓[狋,犽])犪(狅)使犆狋满足,

其中“”表示异或运算.因此犪(犝′)使得犆′中不全

满足的子句数目为 犕,当且仅当犪(狌1)犪(狅),

犪(狌2)犪(狅),…,犪(狌狀)犪(狅)使犆中满足的子句数

目也为犕.

因此任一 Max犽SAT实例等价于一个每个子

句均含有一个公共字母(例如狅)的MaxNAE(犽+1)

SAT实例.

本节,每个子句均含有犽个布尔变量字母.因一

个子句若同时含有一个布尔变量的正变量字母和反

变量字母,则该子句总是不全满足的,也是满足的,

所以本文总假设每个子句不同时含有一个布尔变量

的两个字母.

21 算法及其性能

定义1. 给定犝 的赋值函数犪(犝),若子句犆狋

含有布尔变量字母狌犼,且犪(狌犼)=犜,或犆狋含有布尔

变量字母狌-犼且犪(狌犼)=犉,称犆狋被犪(狌犼)满足或被狌犼

满足;若子句犆狋含有布尔变量字母狌犼且犪(狌犼)=犉,

或犆狋含有布尔变量字母狌-犼且犪(狌犼)=犜,称犆狋不被

犪(狌犼)满足或不被狌犼满足.将犆狋被犪(狌犼)满足简记为

犪(犆狋,狌犼)=犜,犆狋不被犪(狌犼)满足简记为犪(犆狋,狌犼)=犉.

定义2. 给定犝 的赋值函数犪(犝),犆狋∈犆.若

犆狋中有犻个布尔变量字母赋值为犜,0犻犽,另外

犽-犻个字母赋值为犉,则称犆狋关于犪(犝)是犻满足的.

一个子句是0满足的,则为不满足的.一个子

句是犽满足的,则为全满足的.由犪(犝)为犝 中布尔

变量赋值后,设犛犻表示犆 中所有犻满足的子句集

合;再设犆[犻,犼]表示犻满足,且被狌犼满足的子句集

合;犖[犻,犼]表示犻满足,且不被狌犼满足的子句集合,

即犆[犻,犼]={犆狋|犆狋∈犛犻,犪(犆狋,狌犼)=犜},犖[犻,犼]=

{犆狋|犆狋∈犛犻,犪(犆狋,狌犼)=犉}.

因每个子句不同时含有狌犼和狌-犼,所以若将狌犼的

赋值取反,则犆[犻,犼]中的子句均由犻满足变为(犻-1)

满足,0<犻犽;而犖[犻,犼]中的子句均由犻满足变为

(犻+1)满足,0犻<犽.

任给犝 的赋值函数犪(犝),则犆中不全满足的

子句数目为|犛1|+…+|犛犽-1|.解答 MaxNAE犽

SAT的局部搜索方法需要首先确定一个目标函数,

然后利用如下方法,获得布尔变量的赋值:随机为布

尔变量赋初值,然后选择一个布尔变量,将其赋值取

反,使目标函数值增大,重复该操作直到不能选择布

尔变量,其赋值取反可使目标函数值增大为止.将该

方法称为一位跳变局部搜索.若直接采用|犛1|+…+

|犛犽-1|做为目标函数,我们并不知道算法能否达到

所期望的性能.Khanna等人[28]关于 Max犽SAT

的局部搜索算法以|犛1|,…,|犛犽|的加权和作为目标

函数.我们同样建立一个由|犛0|,|犛1|,…,|犛犽|的加

权和构成的目标函数,一般地表示为

犉=α0 犛0 +α1 犛1 +…+α犽-1 犛犽-1 +α犽|犛犽|(1)

我们期望利用一位跳变的局部搜索使目标函数

犉最大化,从而使犉达到局部最大时,|犛1|+…+

|犛犽-1|得到不小于(2犽-1-1)(|犛0|+|犛犽|)的取值.

在给出系数α1,…,α犽-1的取值之前,先讨论选择赋

值取反的布尔变量应满足的条件.

任意选择狌犼,将其赋值取反,由犻满足变为(犻-1)

满足的子句使犉 获得增量:(α犻-1-α犻)|犆[犻,犼]|,

1犻犽;由犻满足变为(犻+1)满足的子句使犉 获

得增量:(α犻+1-α犻)|犖[犻,犼]|,0犻犽-1.所以犉

因狌犼赋值取反而产生的增量为

Δ犉=∑犽

犻=1

(α犻-1-α犻)|犆[犻,犼]|+

∑犽-1

犻=0

(α犻+1-α犻)|犖[犻,犼]| (2)

如果存在一个布尔变量,其赋值取反使得

Δ犉>0,则将该变量的赋值取反就可增大犉的取值.

下面给出求解 MaxNAE犽SAT的局部搜索算法,

并将算法命名为算法1:MaxNAE犽SAT(犝,犆).

在算法描述中,犪(狌犼)表示将布尔变量狌犼由赋值函数

犪(·)给予的布尔值取反得到的布尔值.

算法1. MaxNAE犽SAT(犝,犆).

1.随机为犝 中布尔变量赋值,得到犪(犝);

2.While(存在狌犼,使∑犽

犻=1

(α犻-1-α犻)|犆[犻,犼]|+

∑犽-1

犻=0

(α犻+1-α犻)犖[犻,犼] >0)do

3. 犪(狌犼)←犪(狌犼);

4.Endwhile

5.Return犪(犝)

现在需要给出目标函数犉中|犛犻|前的系数α犻的

取值.在函数犉中,犛0,犛犽中的子句是不满足和全满

足的,所以取α0=α犽=0.其他系数α犻(1犻犽)由下

4651 计  算  机  学  报 2015年

Page 5: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

述递推关系给出,其中犽2.

α犻=

0, 犻=0

α犻-1+

2犽-1-1-∑犻-1

犼=1()犽犼

(犽-犻+1)犽

犻( )-1

, 1犻烅

犽(3)

先证明由式(3)给出的系数α犻满足对称性质.从

而说明由式(3)计算得到的α犽=0.

性质1. 若0犻犽,则α犻=α犽-犻.

证明. 由式(3),可以知道

α犻-α犻-1=

2犽-1-1-∑犻-1

犼=1()犽犼

(犽-犻+1)犽

犻( )-1

(4)

另外,

α犽-犻-α犽-(犻-1)=-

2犽-1-1- ∑犽-犻+1-1

犼=1()犽犼

(犽-(犽-犻+1)+1)犽

犽-犻( )+1-1

=-

2犽-1-1-∑犽-i

犼=1()犽犼

犻犽

犽-( )犻

=-

2犽-1-1-∑犽-犻

犼=1()犽犼

(犽-犻+1)犽

犻( )-1

2犽-1-1-∑犻-1

犼=1()犽犼

(犽-犻+1)犽

犻( )-1

(5)

所以,

α犻-α犻-1=α犽-犻-α犽-(犻-1) (6)

当犽为偶数时,设γ=犽2=犽2,由式(6)可以得

到αγ-αγ-1=αγ-αγ+1,所以αγ-1=αγ+1.依此类推,

由αγ-犼=αγ+犼和式(6)可以得到αγ-犼-1=αγ+犼+1,1

犼犽2-1.

当犽为奇数时,设γ=犽2=犽+12.那么

 αγ-αγ-1=

2犽-1-1-∑γ-1

犼=1()犽犼

(犽-γ+1)犽

γ( )-1

2犽-1-1-1()犽 +…+

γ-1( )( )犽

(犽-γ+1)犽

γ( )-1

2犽-1-1- 2犽-0()犽 -2犽( )-1

(犽-γ+1)犽

γ( )-1

=0 (7)

所以αγ=αγ-1.由此利用式(6)可依次推得

αγ-犼-1=αγ+犼,0犼犽-12.

综上,对于满足0犻犽的犻,总有α犻=α犽-犻.

引理1. 任给犝 的赋值函数犪(犝),则有

∑狀

犼=1

|犆[犻,犼]|=犻犛犻 ,∑狀

犼=1

|犖[犻,犼]|=(犽-犻)|犛犻|.

证明. 设犆狋={狓[狋,1],狓狋,[ ]2 ,…,狓[狋,犽]}∈

犛犻.不失一般性假设犪(狓[狋,1])=犪(狓[狋,2])=

犪(狓[狋,犻])=犜.

将{狓[狋,1],…,狓[狋,犻]}中某一个字母的赋值取

反,犆狋会由犻满足变为(犻-1)满足,设狓[狋,狔]∈

{狌犼狔,狌-犼狔},1狔犻,则犆狋∈犆[犻,犼狔].但对于狓

{犼狔|1狔犻},犆狋犆[犻,狓],即犆狋出现在犻个且恰好

犻个集合犆[犻,犼]中,所以∑狀

犼=1

|犆[犻,犼]|=犻犛犻 .而当

{狓狋,犻[ ]+1 ,…,狓[狋,犽]}中某个布尔变量字母赋值

取反时,犆狋会由犻满足变为(犻+1)满足,设狓[狋,狔]∈

{狌犼狔,狌 -犼狔},犻+1狔犽,则犆狋∈犖[犻,犼狔].但对于任意

狓{犼狔|犻+1狔犽},犆狋犖[犻,狓],所以犆狋恰好出现

在犽-犻个犖[犻,犼]中,即∑狀

犼=1

|犖[犻,犼]|=(犽-犻)|犛犻|.

证毕.

引理2. 设算法1结束时得到犝 的赋值函数

犪(犝),犛犻为由犪(犝)为犝 中布尔变量赋值所产生的

犻满足的子句集合,则|犛1|+…+|犛犽-1|(2犽-1-1)

(|犛0|+|犛犽|).

证明. 当算法结束时,任意布尔变量狌犼赋值

取反,1犼狀,目标函数犉数值均不再增加.那么

对于每个犼=1,2,…,狀,总有

∑犽

犻=1

(α犻-1-α犻)犆[犻,犼]+∑犽-1

犻=0

(α犻+1-α犻)犖[犻,犼]0(8)

将式(8)的狀个不等式左右分别相加,得到

∑狀

犼=1∑犽

犻=1

(α犻-1-α犻)犆[犻,犼]+

∑狀

犼=1∑犽-1

犻=0

(α犻+1-α犻)犖[犻,犼]=

∑犽

犻=1∑狀

犼=1

(α犻-1-α犻)犆[犻,犼]+

∑犽-1

犻=0∑狀

犼=1

(α犻+1-α犻)犖[犻,犼]0 (9)

56518期 咸爱勇等:最大不全犽满足问题的局部搜索近似算法

Page 6: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

由引理1,将∑狀

犼=1

|犆[犻,犼]|=犻犛犻 和∑狀

犼=1

|犖[犻,犼]|=

(犽-犻)犛犻代入式(9),得到

犽α1犛0 +∑犽-1

犻=1

[(α犻-1-α犻)犻+(α犻+1-α犻)(犽-犻)]犛犻 +

犽α犽-1 犛犽 0 (10)

由α犻-α犻-1=

2犽-1-1-∑犻-1

犼=1()犽犼

(犽-犻+1)犽

犻( )-1

,α0=0得α1=

2犽-1-1

犽.由性质1得到α犽-1=

2犽-1-1

犽,α犽=0.所以,

 犽α1犛0 +犽α犽-1犛犽 =犽α1(犛0 +犛犽 )

=(2犽-1-1)(犛0 +犛犽 )(11)

于是不等式(10)变为

-∑犽-1

犻=1

[(α犻-1-α犻)犻+(α犻+1-α犻)(犽-犻)]犛犻

(2犽-1-1)(犛0 + 犛犽 ) (12)

还需要说明不等式(12)左边恰好为|犛1|+

|犛2|+…+|犛犽-1|,为此,只需证明(α犻-1-α犻)犻+

(α犻+1-α犻)(犽-犻)=-1,1犻犽-1.事实上,

(α犻-1-α犻)犻+(α犻+1-α犻)(犽-犻)

=-

2犽-1-1-∑犻-1

犼=1()犽犼

(犽-犻+1)犽

犻( )-1

犻+

2犽-1-1-∑犻

犼=1()犽犼

(犽-犻)()犽犻(犽-犻)

=-

2犽-1-1-∑犻-1

犼=1()犽犼

()犽犻+

2犽-1-1-∑犻

犼=1()犽犼

()犽犻

=-()()

=-1 (13)

综上所述,命题得证. 证毕.

因犆=犛0∪犛1∪…∪犛犽-1∪犛犽,由引理2可得

|犛1|+…+|犛犽-1|2犽-1-1

2犽-1|犆|.所以算法1解答

犽2的MaxNAE犽SAT任意实例,总有近似性能

比为 2犽-1

2犽-1-1.

当犽=2,3时,算法1的近似性能比分别为2,

3,并不好于 Goemans、Williamson

[10]及Zwick[15]

给出的半定规划松弛法.当犽=4时,算法1的近似

性能比与Karloff、Zwick[12]的半定规划松弛法所达

到的近似性能比相同.当犽5时,目前未见有确定

近似性能比的 MaxNAE犽SAT求解算法.Zwick

曾在文献[15]中指出,半定规划松弛法用于解答犽5

的 MaxNAE犽SAT问题,显得十分困难.本文算

法弥补了这一不足.

22 算法的时间复杂性

设|犝|=狀,|犆|=犿.给定一个犝 的赋值函数

犪(犝),判定一个子句属于集合犛1,…,犛犽中的哪一

个,需要犗(犽)时间.判定一个子句属于哪些犆[犻,犼],

1犻犽,1犼狀及哪些犖[犻,犼],0犻犽-1,1

犼狀,也需要犗(犽)时间.因此子句集合犆[犻,犼],

犖[犻,犼]和犛犻可在犗(犽犿)时间内得到.找到一个布尔

变量狌犼,1犼狀,满足Δ犉>0,需要犗(犽狀)时间.

因此算法1的一个 While循环所花费的时间为

犗(犽(犿+狀)).

算法1中 While循环的执行次数必然受到目标

函数犉中的|犛犻|前面系数α犻的影响.当犽=2,3,…,

9时,分别按照式(3)计算α犻,将α犻的数值列在表1

中.由式(3)不难知道,α犻是犽的指数函数,但仅与犽

有关,与 MaxNAE犽SAT实例中的布尔变量与子

句数目无关.

表1 目标函数中参量α犻的取值

犽 α1 α2 α3 α4 α5 α6 α7 α8 α9

21

20

3 1 1 0

47

42

40

5 37

23 0

631

66

37

66

31

60

7 931

34

34

31

39 0

8127

818

445

24

56

445

2418

127

80

985

127

391

12

197

197

391

12

127

85

30

因目标函数犉中每个系数α犻均以分数形式给

出,所以α犻的任何取值误差均可使算法1的近似性能

比不能达到 2犽-1

2犽-1-1.若要保证算法1的近似性能比

总能达到 2犽-1

2犽-1-1,可将每个参量α犻均乘以一个正整

数β,使β·α犻被放大为正整数,1犻犽-1.当犽较

小时,这种系数的整数倍放大对于算法的时间复杂性

影响不大.如当犽=8时,每个α犻乘以24,则均变为正

整数,其中24α4=448为最大.此时有0犉448犿,

因此算法1的 While循环最多执行448犿 次,由此

可知,算法1的时间复杂性为犗(448×8犿(犿+狀)).

6651 计  算  机  学  报 2015年

Page 7: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

下面默认β(犽)为将βα1,…,βα犽-1均放大为整数,且

取值最小的正整数,显然β(犽)α犽/2是β(犽)α1,…,

β(犽)α犽-1中的最大者,且是犽的指数函数.我们计算

了犽26的所有目标函数的系数,将犽取值10~26

时,β(犽)的数值列在表2中.因α犽/2 2犽-1,所以,

β(犽)α犽/22犽-1

β(犽),数值最大.

表2 将α犻放大为整数需要放大的倍数β(犽)

犽 β(犽) 犽 β(犽) 犽 β(犽)

10 30 16 1680 22 6930

11 15 17 840 23 3465

12 60 18 1260 24 27720

13 30 19 630 25 13860

14 210 20 1260 26 90090

15 105 21 630

下面给出β(犽)上界的一个估计值.

性质2. 设β(犽)=min{β|βα犻为正整数,1犻

犽-1},其中α犻由式(3)给定,0犻犽,则当犽6时,

β(犽)犽/2!.

证明.若犽为偶数,则犽()0+

犽()1+…+犽

犽2

烎-1+

犽/( )2 =2犽-1.将式(3)中的α犻-1移到等号左边,将

()犽犾 =犽(犽-1)…(犽-犾+1)

犾!代入该式右边的分数

表达式中,可将(α犻-α犻-1)的表达式整理成一个分

数和与另一个整数乘积的形式,即(α犻-α犻-1)=

犖·犕,其中

犖=1

犻!+…+

(犽-犻)… 犽-犽2( )+2

犽2( )-1 !

(犽-犻)… 犽-犽2( )+1

2犽( )2

燅!

,1犻犽/2,

犕按照如下方式取值:若犻=1,则犕=1;若犻2,则

犕=(犻-1)!.考察犖 的表达式最后一个分数项,因

犽6,所以若犻=1或犻=2,则该分数项的分子部分

(犽-犻)…(犽-犽/2+1)总能被2整除;若犻3,则犕=

(犻-1)!可以被2整除.由此可知,(犽/2)!(α犻-α犻-1)

必为整数.由α0=0及性质1立即得到,(犽/2)!α犻为

整数,1犻犽.因β(犽)是满足β(犽)α犻为整数的最小

正整数,1犻犽-1,所以β(犽)(犽/2)!.

若犽为奇数,则犽()0 +

犽()1 +…+犽

犽-12

烎-1

犽-1烄

烎2

=2犽-1.类似于犽为偶数时的讨论,有(α犻-

α犻-1)=犖·犕 ,其中,

犖=1

犻!+…+

(犽-犻)… 犽-犽-12( )+2

犽-12( )-1 !

(犽-犻)… 犽-犽-12( )+1

犽-1( )2

燅!

,1犻犽-12,

犕 取值方式如下:若犻=1,则犕=1;若犻2,则犕=

(犻-1)!.由此可知,((犽-1)/2)!(α犻-α犻-1)必为整

数.由α0=0及性质1立即得到,犽-1( )2

!α犻为整数,

1犻犽.所以β(犽)犽-1( )2

!.

当犽=8时,β(犽)=24=4!,由性质2给出的上

界等于表1中实际计算出的上界.另外表2中的

β(犽)取值远小于性质2给出的上界.

定理1. 算法1解答任意 MaxNAE犽SAT

实例的近似性能比均不大于 2犽-1

2犽-1-1.时间复杂性为

犗(β(犽)2犽-1犽(犿+狀)犿).其中狀,犿分别为布尔变量

数目和子句数目,当犽6时,β(犽)犽/2!.

在实际 MaxNAE犽SAT求解中,一般并不需

要将犉中的系数α犻转化为整数,可直接采用小数来

表示α犻并计算犉 的数值.我们采用64位浮点数来

表示每个系数α犻,以Java程序实现算法1,随机产生

MaxNAE犽SAT实例,在各种笔记本及台式机电

脑上进行了实际求解测试.在针对犽40的随机

MaxNAE犽SAT实例的求解测试中,我们从未遇

到算法1的求解性能大于2犽-1

2犽-1-1的情况.分别取

犽=4,5,16,19,28,29,利用算法1的Java程序,将

在以酷睿U9400为中央处理器的笔记本电脑上实

际求解的运行时间列在表3中.表3给出的测试结

果中,最大和最小运行时间分别为随机产生的20个

实例的求解时间的最大者和最小者.

表3 算法1的实际运行时间(|犝|、|犆|表示布尔变量数目和

子句数目;犕犪狓、犕犻狀分别表示算法求解20个实例的

最大和最小运行时间,犃狏犲狉为平均运行时间)

犽 |犝| |犆| Aver/ms Min/ms Max/ms

4 2000 35000 86277 82633 100637

5 2000 35000 92315 83742 100939

16 500 20000 31644 28112 39847

19 200 60000 23913 17769 33228

28 200 60000 29687 19017 37281

29 300 60000 62535 48548 72947

76518期 咸爱勇等:最大不全犽满足问题的局部搜索近似算法

Page 8: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

实际测试表明,直接采用浮点数表示目标函数

犉中的系数α犻,并不影响算法1的求解性能.然而算

法1仅适合于犽为小常数时的 MaxNAE犽SAT

求解,如犽40.

3 一般最大不全犽满足问题的局部搜索

若 MaxNAESAT实例不仅含有犽个字母的

子句,也含有多于犽个字母的子句,则问题演变为更

一般的最大不全犽满足问题,即 MaxNAE(犽)

SAT.第2节给出的算法并不能直接用于解答 Max

NAE(犽)SAT实例.下面考虑推广算法1,使之能

够解答 MaxNAE(犽)SAT.

MaxNAE(犽)SAT问题的求解目标与 Max

NAE犽SAT的求解目标相同,实例为:布尔变量集

合犝={狌1,…,狌狀},子句集合犆={犆1,…,犆犿},子句

犆狋={狓[狋,1],…,狓[狋,犽狋]},其中狓[狋,犼]∈{狌1,…,

狌狀}∪{狌-1,…,狌

-狀},1狋犿,1犼犽狋,犽狋犽.

由于 MaxNAE(犽)SAT实例中,每个子句的

布尔变量字母数并不相等,所以需要进一步区分犆

中犻满足但所含字母总数不同的子句集合.

给定布尔变量赋值犪(犝),设犛[犫,犻]表示含有犫

个布尔变量字母,且为犻满足的子句集合;犆[犫,犻,犼]

表示含有犫个布尔变量字母,为犻满足,且被狌犼满足

的子句集合;犖[犫,犻,犼]表示含有犫个布尔变量字

母,为犻满足且不被狌犼满足的子句集合.

设MaxNAE(犽)SAT的子句集合犆中,每个

子句最多含有犽max个字母,则 犆 中子句可含有

犽,…,犽max个字母.欲增大犆 中不全满足的子句数

目,考虑利用局部搜索盲目地最大化如下目标函数:

犌=∑

犽max

犫=犽

(α犫,1 犛犫,[ ]1 +…+α犫,犫-1 犛犫,犫[ ]-1 )

(14)

目标函数犌 是犉 的推广.分别考虑犆中含有

犽,…,犽max个字母的子句集合,依照式(1)选择解答

MaxNAE犫SAT实例的目标函数,犽犫犽max,将

这些目标函数相加即得到式(14).类似于式(3)中α犻

的取值,目标函数犌中各个系数取值如下:

 α犫,犻=

0, 犻=0

α犫,犻-1+

2犫-1-1-∑犻-1

犼=1()犫犼

(犫-犻+1)犫

犻( )-1

, 1犻烅

犫(15)

由性质1可知式(15)给出的α犫,犻满足α犫,犻=α犫,犫-犻,

0犻犫.给定犝 的赋值函数犪(犝),将布尔变量狌犼的

赋值取反,犛[犫,犻]中的子句只可能变为犛[犫,犻+1]或

者犛[犫,犻-1]中的子句,不会变为犛[犫′,·]中的子

句,犫≠犫′.所以,由犻满足变为(犻-1)满足的子句

导致犌 产生增量:∑

犽max

犫=犽

(α犫,犻-1-α犫,犻)犆[犫,犻,犼],1

犻犽;由犻满足变为(犻+1)满足的子句导致犌产生

增量:∑

犽max

犫=犽

(α犫,犻+1-α犫,犻)|犖[犫,犻,犼]|,0犻犽-1.于

是犌因狌犼赋值取反所产生的增量为

Δ犌=∑

犽max

犫=犽∑犫

犻=1

(α犫,犻-1-α犫,犻)犆[犫,犻,犼]+

犽max

犫=犽∑犫-1

犻=0

(α犫,犻+1-α犫,犻)犖[犫,犻,犼]

=∑

犽max

犫=犽∑犫

犻=1

(α犫,犻-1-α犫,犻)犆[犫,犻,犼]{ +

∑犫-1

犻=0

(α犫,犻+1-α犫,犻)犖[犫,犻,犼 }] (16)

因此解答 MaxNAE(犽)SAT的局部搜索步

骤与算法1完全相同,只需将 While循环中狌犼赋值

取反的条件修改为Δ犌>0即可,其中Δ犌的计算公

式由式(16)给出.当算法运行结束时,任意布尔变量

狌犼赋值取反,总有Δ犌0.即

犽max

犫=犽∑犫

犻=1

(α犫,犻-1-α犫,犻)犆[犫,犻,犼]( +

∑犫-1

犻=0

(α犫,犻+1-α犫,犻)犖[犫,犻,犼 )] 0,1犼狀(17)

将算法1中狌犼赋值取反条件修改为Δ犌>0,并

将赋值取反条件修改后的算法重新命名为算法2:

MaxNAE(犽)SAT(犝,犆).

引理3. 任给布尔变量赋值函数犪(犝),则有

∑狀

犼=1

|犆[犫,犻,犼]|=犻犛[犫,犻],∑狀

犼=1

|犖[犫,犻,犼]|=

(犫-犻)|犛[犫,犻]|.

证明. 设犆中含有犫个布尔变量字母的子句

集合为犛[犫],则有犛[犫]=犛[犫,0]∪犛[犫,1]∪…∪

犛[犫,犫],任意布尔变量赋值取反,犛[犫]保持不变.由

引理1可知该引理成立. 证毕.

引理4. 设算法结束时得到布尔变量赋值

犪(犝),则∑

犽max

犫=犽∑犫-1

犻=1

|犛[犫,犻]|∑

犽max

犫=犽

(2犫-1-1)(犛[犫,0]+

犛[犫,犫]).

证明. 当算法结束时,将任意布尔变量狌犼赋值

取反,目标函数犌取值均不增加.那么就有式(17)

8651 计  算  机  学  报 2015年

Page 9: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

成立.将式(17)的狀个不等式左右分别相加,得到

∑狀

犼=1∑

犽max

犫=犽∑犫

犻=1

(α犫,犻-1-α犫,犻)犆[犫,犻,犼]({ +

∑犫-1

犻=0

(α犫,犻+1-α犫,犻)犖[犫,犻,犼 )}] =

犽max

犫=犽∑犫

犻=1

(α犫,犻-1-α犫,犻)∑狀

犼=1

犆[犫,犻,犼]( +

∑犫-1

犻=0

(α犫,犻+1-α犫,犻)∑狀

犼=1

犖[犫,犻,犼 )] 0 (18)

由引理3,将∑狀

犼=1

|犆[犫,犻,犼]|=犻 犛[犫,犻],

∑狀

犼=1

|犖[犫,犻,犼]|=(犫-犻)|犛[犫,犻]|代入式(18)得到

犽max

犫=

{犽

犫α犫,1 犛[犫,0]+犫α犫,犫-1 犛[犫,犫]+

∑犫-1

犻=1

[(α犫,犻-1-α犫,犻)犻+(α犫,犻+1-α犫,犻)(犫-犻)]犛[犫,犻 }] 0

(19)

由式(15)可知,α犫,1=2犫-1-1

犫,再由性质1得

α犫,犫-1=2犫-1-1

犫.由式(15)还可得到

(α犫,犻-1-α犫,犻)=-

2犫-1-1-∑犻-1

犼=1()犫犼

(犫-犻+1)犫

犻( )-1

,1犻犫-1(20)

(α犫,犻+1-α犫,犻)=

2犫-1-1-∑犻

犼=1()犫犼

(犫-犻)()犫犻,1犻犫-1(21)

由式(20)、(21)可推得(α犫,犻-1-α犫,犻)犻+(α犫,犻+1-

α犫,犻)(犫-犻)=-1.将α犫,1=α犫,犫-1=2犫-1-1

犫和(α犫,犻-1-

α犫,犻)犻+(α犫,犻+1-α犫,犻)(犫-犻)=-1代入式(19),整理

后即得到

   ∑

犽max

犫=犽∑犫-1

犻=1

|犛[犫,犻]|

   ∑

犽max

犫=犽

(2犫-1-1)(犛[犫,0]+ 犛[犫,犫]) (22)

命题得证. 证毕.

已知 MaxNAE(犽)SAT实例中的子句集合

为犆,则|犆|=∑

犽max

犫=犽∑犫

犻=0

|犛[犫,犻]|.所以由引理4可得到

犽max

犫=犽∑犫-1

犻=1

|犛[犫,犻]|2犽-1

2犽-1-1|犆|,即算法2的近似性

能比为 2犽-1

2犽-1-1.算法2的时间复杂性可由算法1的

时间复杂性推得.

定理2. 算法2解答 MaxNAE(犽)SAT实

例的近似性能比不大于 2犽-1

2犽-1-1.时间复杂性为

犗 ∑

犽max

犫=犽β(犫)2

犫-1犫(犿+狀)( )犿 .其中狀,犿 分别表示布

尔变量数目和子句数目,β(犫)犫/2!.

例如,若一个MaxNAE(4)SAT实例含有4个字

母和5个字母的子句,则利用算法2解答该实例的目

标函数应为74|犛[4,1]|+2|犛[4,2]|+

4|犛[4,3]|+

3|犛[5,1]|+7

2|犛[5,2]|+

2|犛[5,3]|+3|犛[5,4]|,

若将每个系数均放大为整数,则目标函数为7|犛[4,

1]|+8|犛[4,2]|+7|犛[4,3]|+12|犛[5,1]|+14|

犛[5,2]|+14|犛[5,3]|+12|犛[5,4]|.布尔变量狌犼

赋值取反的条件应为-7|犆[4,1,犼]|-2|犆[4,2,犼]|+

2|犆[4,3,犼]|+7|犆[4,4,犼]|+7|犖[4,0,犼]|+

2|犖[4,1,犼]|-7|犖[4,2,犼]|-2|犖[4,3,犼]|-

12|犆[5,1,犼]|-2|犆[5,2,犼]|+2|犆[5,4,犼]|+

12|犆[5,5,犼]|+12|犖[5,0,犼]|+2|犖[5,1,犼]|-

2|犖[5,3,犼]|-12|犖[5,4,犼]|>0.

分别取3组 MaxNAE(犽)SAT实例,第1组

含有4字母和5字母子句;第2组含有5字母、6字

母和8字母子句;第3组含有7、10、11字母子句,以

Java编程实现该算法,采用64位浮点数表示目标

函数中的系数α犫,犻,将在 U9400笔记本电脑上的实

际求解运行时间列在表4中.

表4 犕犪狓犖犃犈(犽)犛犃犜实际求解运行时间(犕犪狓、犕犻狀分别

表示算法求解20个随机生成实例的最大和最小运行时间)

犽 |犝| |犆| Max/ms Min/ms

4,5 1000 20000 134987 102711

5,6,8 1000 15000 139386 91588

7,10,11 500 12000 45291 60061

4 解答 犕犪狓(犽)犛犃犜的新近似算法

Khanna等人[28]给出了解答 Max犽SAT的局

部搜索算法,近似性能比为 2犽

2犽-1.但该算法并不能

用于解答一般最大犽可满足问题.本节我们利用解

答 MaxNAE(犽)SAT的局部搜索算法解答一般

最大犽可满足问题.一般最大犽可满足问题简记为

Max(犽)SAT.

Max(犽)SAT的实例与 MaxNAE(犽)SAT

96518期 咸爱勇等:最大不全犽满足问题的局部搜索近似算法

Page 10: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

的实例相同,求解目标则为:寻求犝 中布尔变量的

赋值犪:犝→{犜,犉},最大化|{犆狋:犪(狓[狋,1])∨…∨

犪(狓[狋,犽狋])=犜}|.

任一 Max(犽)SAT 实例亦可看作 MaxNAE

(犽)SAT实例.所以算法2可用于解答 Max(犽)

SAT实例.然而这样做还不能保证算法的近似性能

比达到 2犽

2犽-1.下面我们说明,只需将 Max(犽)

SAT实例作为 MaxNAE(犽)SAT实例以算法2

求解,再将得到的解加以改造,即为原 Max(犽)

SAT实例的近似性能比为2犽

2犽-1的解.

任给 Max(犽)SAT实例,以式(14)做目标函

数,利用算法2,可给出一个犝 的赋值函数犪(犝).由

引理4,赋值函数犪(犝)使得

犽max

犫=犽∑犫-1

犻=1

犛[犫,犻](2犽-1-1)∑

犽max

犫=犽

(犛[犫,0]+犛[犫,犫])

  (2犽-2)min∑

犽max

犫=犽

|犛[犫,0]|,∑

犽max

犫=犽

|犛[犫,犫]{ }|(23)

若∑

犽max

犫=犽

|犛[犫,犫]|∑

犽max

犫=犽

|犛[犫,0]|,则

犽max

犫=犽∑犫

犻=1

|犛[犫,犻]|(2犽-1)∑

犽max

犫=犽

|犛[犫,0]| (24)

否则,式(24)未必成立.然而可以利用将所有布尔变

量赋值取反,使∑

犽max

犫=犽

|犛[犫,犫]|∑

犽max

犫=犽

|犛[犫,0]|得以成

立.由此给出解答 Max(犽)SAT问题的算法如下.

算法3. Max(犽)SAT(犝,犆).

//犝 为布尔变量集合,犆为子句集合

1.调用 MaxNAE(犽)SAT(犝,犆),得到犪(犝);

2.If ∑

犽max

犫=犽

犛[犫,犫]∑

犽max

犫=犽

犛[犫,0( )]

   then犪′(犝)←犪(犝);

3.Else犪′(犝)←犪-(犝);

4.Endif

5.Return犪′(犝)

在算法3中,犪-(犝)表示将犝 中每个布尔变量

由犪(·)赋予的布尔值取反,得到的犝 的赋值函数.

引理5. 设算法3返回布尔变量赋值犪′(犝),

犛[犫,犻]表示以赋值函数犪′(犝)为犝 中布尔变量赋

值后,犆中含有犫个字母且为犻满足的子句集合.则

犽max

犫=犽∑犫

犻=1

|犛[犫,犻]|2犽-1

2犽|犆|.

证明. 为更确切地表达赋值函数对犆中犻满

足子句集合的影响,再设犛[犳(·),犫,犻]表示以赋值

函数犳(犝)为犝 中布尔变量赋值后,犆中含有犫个

字母且为犻满足的子句集合,因此有犛[犫,犻]=

犛[犪′(·),犫,犻].若犪′(犝)=犪(犝),由引理4知式(23)

成立.若犪′(犝)=犪 -(犝),则犛[犫,犻]=犛[犪 -(·),犫,犻]=

犛[犪(·),犫,犫-犻],0犻犫,所以,

犽max

犫=犽∑犫-1

犻=1

|犛[犫,犻]|=∑

犽max

犫=犽∑犫-1

犻=1

|犛[犪(·),犫,犻]| (25)

同理,

犽max

犫=犽

(犛[犫,0]+ 犛[犫,犫])=

犽max

犫=犽

(犛[犪(·),犫,0]+ 犛[犪(·),犫,犫] (26)

所以式(23)仍然成立.另外由算法3可知,无论

犪′(犝)=犪(犝)还是犪′(犝)=犪 -(犝),总有

犽max

犫=犽

犛[犫,犫]∑

犽max

犫=犽

犛[犫,0] (27)

所以,由式(23)和(27)可得到

犽max

犫=犽∑犫

犻=1

|犛[犫,犻]|>(2犽-1)∑

犽max

犫=犽

|犛[犫,0]| (28)

因∑

犽max

犫=犽∑犫

犻=0

|犛[犫,犻]|=|犆|,所以,

犽max

犫=犽∑犫

犻=1

|犛[犫,犻]|>2犽-1

2犽|犆 (29)

引理得证. 证毕.

算法3与算法2的时间复杂性相同.因此有如

下定理.

定理3. 算法3解答任意 Max(犽)SAT实

例的近似性能比不大于 2犽

2犽-1,时间复杂性为

犗∑

犽max

犫=犽β(犫)2

犫-1犫(犿+狀)( )犿 .其中狀,犿 分别表示布

尔变量数目和子句数目,β(犫)犫/2!.

5 最大不全犽满足问题的近似计算

复杂性

Hastad[27]曾证明,对于任意犽3,不存在解答

Max犽SAT的多项式时间算法,近似性能比小于

2犽

2犽-1,除非P=NP.我们利用该结果证明,对于任

意犽4,不存在解答 MaxNAE犽SAT的多项式时

间算法,近似性能小于 2犽-1

2犽-1-1.即有如下定理.

定理4. 对于任意犽4,不存在解答 Max

NAE犽SAT的多项式时间算法,近似性能达到

2犽-1

2犽-1-1-ε,除非P=NP.

0751 计  算  机  学  报 2015年

Page 11: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

证明. 将Max犾SAT问题归约到MaxNAE

犽SAT,犽=犾+1.设犾3,〈犝,犆〉是Max犾SAT的任

一实例,构造MaxNAE(犾+1)SAT实例〈犝′,犆′〉

如下.

犝′包含犝的所有布尔变量,仅比犝 多一个布尔

变量狅,即设犝={狌1,…,狌狀},则犝′={狌1,…,狌狀,狅}.

将犆中每个子句均增加布尔变量字母狅,形成犆′的

子句.即设犆={犆1,…,犆犿},其中犆狋=(狓[狋,1],…,

狓[狋,犾]),则对应每个犆狋,构造一个子句犇狋=(狓[狋,1],…,

狓[狋,犾],狅),1狋犿,而犆′={犇1,…,犇犿}.

设有犝 的真值指派犪(狌1),…,犪(狌狀),使犆中犕

个子句满足.为狅赋值犪(狅)=犉,则犪(狌1),…,犪(狌狀)

与犪(狅)必然使犆′中恰好犕 个子句不全满足.这是

因为若犪(狌1),…,犪(狌狀)使犆狋满足,则其中必有一个

布尔变量字母取值为犜,又犪(狅)=犉,所以犇狋是不

全满足的;若犪(狌1),…,犪(狌狀)使犆狋不满足,又因

犪(狅)=犉,所以犇狋也是不满足的.

另一方面设有犝′的真值指派犪(狌1),…,犪(狌狀),

犪(狅)使犆′中犕个子句不全满足,则犪(狌1)犪(狅),…,

犪(狌狀)犪(狅)必然使犆中恰好犕 个子句满足.理由

如下:

若犪(狅)=犉,则犆′中不存在全满足的子句,且

犪(狌犻)犪(狅)=犪(狌犻),1犻狀.若犪(狌1),…,犪(狌狀),

犪(狅)使犇狋不全满足,则犇狋必有一个布尔变量字母

狓[狋,·]取值为犜,所以犪(狓[狋,·])使犆狋满足.若

犪(狌1),…,犪(狌狀),犪(狅)使犇狋不满足,则犆狋中每个字

母狓[狋,·]均取值犉,所以犆狋也是不满足的.

若犪(狅)=犜,则犆′中不存在不满足的子句,且

犪(狌犻)犪(狅)=犪(狌犻),1犻狀.若犪(狌1),…,犪(狌狀),

犪(狅)使犇狋不全满足,则犇狋必有一个布尔变量字母狓[狋,·]

取值为犉,所以犪(狓[狋,·])使犆狋满足.若犪(狌1),…,

犪(狌狀),犪(狅)使犇狋全满足,则犪(狓[狋,1]),…,犪(狓[狋,犾])

使犆狋不满足.

因此,若存在犝 的真值指派,使犆中犕 个子句

满足,当且仅当存在犝′的真值指派,使犆′中犕 个子

句不全满足.设犗犘犜(犝,犆)与犗犘犜(犝′,犆′)分别为

犆和犆′中最多可满足的和最多能够不全满足的子

句数目,则犗犘犜(犝,犆)=犗犘犜(犝′,犆′).

若存在解答 MaxNAE犽SAT的多项式时间

算法犃,对于任意 MaxNAE犽SAT实例〈犝′,犆′〉,

总能得到犝′的真值指派犪(犝′),使犆′中不全满足的

子句数目达到犃(犝′,犆′)2犽-1-1

2犽-1-( )ε犗犘犜(犝′,

犆′),则由犪(狌1)犪(狅),…,犪(狌狀)犪(狅)为犝 中布

尔变量赋值,可使犆 中满足的子句数目同样为

犃(犝′,犆′)2犽-1-1

2犽-1-( )ε犗犘犜(犝,犆),与 Hastad

的结论矛盾. 证毕.

定理4说明本文解答 MaxNAE犽SAT的算

法所达到的近似性能比,当犽4时是最优的.

6 结束语

本文给出 MaxNAE犽SAT问题的局部搜索

算法,近似性能比为 2犽-1

2犽-1-1.进一步给出 Max

NAE(犽)SAT问题的局部搜索算法,近似性能比

亦为 2犽-1

2犽-1-1.本文算法可用于解答 Max(犽)SAT

问题,近似性能比可达到 2犽

2犽-1.本文最后证明对于

任意犽4,不存在解答 MaxNAE犽SAT的多项式

时间算法,近似性能小于 2犽-1

2犽-1-1.因而说明本文算

法1解答 MaxNAE犽SAT所能达到的近似性能

比是最优的,犽4.

本文算法的时间复杂性仍是犽的指数函数,可

认为是关于犽的参数化算法.能否设计出解答最大

不全犽满足问题以及最大犽可满足问题的局部搜索

算法,使其时间复杂性既是布尔变量个数及子句个

数的多项式函数,又是关于犽的多项式函数,仍是十

分有趣的问题.本文将算法目标函数中系数放大为

整数时,给出了放大倍数β(犽)的上界,然而这个

β(犽)的上界的估计值距离实际计算得到的数值仍有

较大差距.给出一个目标函数系数放大倍数更紧密

的上界,有助于更确切地分析算法的时间复杂性,仍

然值得进一步研究.

参 考 文 献

[1] CookSA.Thecomplexityoftheoremprovingprocedures//

Proceedingsofthe3rdAnnualACMSymposiumonTheory

ofComputing,ShakerHeights.Ohio,USA,1971:151158

[2] PapadimitirouCH,YanakakisM.Optimization,approximation,

andcomplexityclasses.JournalofComputerandSystem

Sciences,1991,43(3):425440

[3] AbidorA,BerkovitchI,ZwickU.Improvedapproximation

algorithmsforMaxNAESATandMaxSAT//Proceedings

ofthe WAOA 2005.Palmade Mallorca,Spain,2005.

LNCS3879.2006:2740

[4] PapadimitirouCH.ComputationalComplexity.California,

USA:AddisonWesley,RedwoodCity,1993

17518期 咸爱勇等:最大不全犽满足问题的局部搜索近似算法

Page 12: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

[5] HanQ,YeY,ZhangJ.ImprovedapproximationforMax

SetSplittingandMaxNAESAT.DiscreteAppliedMathe

matics,2004,142(13):133149

[6] JohnsonDS.Approximationalgorithmsforcombinatorial

problems.JournalofComputerandSystemSciences,1974,

9(3):256278

[7] MotwaniR,Raghavan P.Randomized Algorithms.The

EdinburghBuilding,CambridgeCB22RU,UK:Cambridge

UniversityPress,1995

[8] YannakakisM.OntheapproximationofMaximumSatisfi

ability.JournalofAlgorithms,1994,17(3):475502

[9] GoemansM X,WilliamsonDP.New3/4approximation

algorithmsforthemaximumsatisfiabilityproblem.SIAM

JournalonDiscreteMathematics,1994,7(4):656666

[10] GoemansM X,WilliamsonDP.Improvedapproximation

algorithmsformaximumcutandsatisfiabilityproblemsusing

semidefiniteprogramming.JournaloftheACM,1995,42(6):

11151145

[11] FeigeU,GoemansM X.Approximatingthevalueoftwo

proverproofsystems,withapplicationstoMAX2SATand

MAXDICUT//Proceedingsofthe3rdIsraelSymposiumon

TheoryofComputingandSystems.TelAviv,Israel,1995:

182189

[12] KarloffH,Zwick U.A7/8approximationalgorithmfor

MAX3SAT?//Proceedingsofthe38thIEEESymposiumon

theFoundationsofComputerScience.MiamiBeach,Florida,

1997:406415

[13] AsanoT,WilliamsonDP.Improvedapproximationalgo

rithmsforMaxSAT.JournalofAlgorithms,2002,42(1):

173202

[14] AnderssonG,EngebretsenL.Betterapproximationalgo

rithmsforsetsplittingandnotallequalSAT.Information

ProcessingLetters,1998,65(6):305311

[15] ZwickU.Outwardrotations:Atoolforroundingsolutions

ofsemidefiniteprogrammingrelaxations,withapplicationsto

MAXCUTandotherproblems//Proceedingsofthe31st

AnnualACMSymposiumonTheoryofComputing.Atlanta,

Georgia,1999:679687

[16] MahajanS,RameshH.Derandomizingsemidefiniteprogram

mingbasedapproximationalgorithms//Proceedingsofthe

36thAnnualIEEESymposiumonFoundationsofComputer

Science.Milwaukee,Wisconsin,1995:162169

[17] SelmanB,Levesque H,MitchellD.A new methodfor

solvinghardsatisfiabilityproblems//Proceedingsofthe10th

NationalConferenceon ArtificialIntelligence.Pasadena,

USA,1992:440446

[18] GuJ.Efficientlocalsearchforverylargescalesatisfiability

problem.ACMSIGARTBulletin,1992,3(1):812

[19] SelmanB,KautzHA,CohenB.Noisestrategiesforimpro

vinglocalsearch//ProceedingsoftheAAAI’94.Seattle,

Washington,USA,1994:337343

[20] McAllesterD,SelmanB,KautzH.Evidenceforinvariants

inlocalsearch//ProceedingsoftheAAAI’1997.Providence,

USA,1997:321326

[21] MazureB,SaisL,GregoireE.TabusearchforSAT//

Proceedingsofthe14th NationalConferenceon Artificial

Intelligence(AAAI’97).Providence,USA,1997:281285

[22] HuangW,ZhangD,WangH.Analgorithmbasedontabu

searchforsatisfiabilityproblem.JournalofComputerScience

andTechnology,2002,17(3):340346

[23] SchurmansD,SoutheyF.Localsearchcharacteristicsof

incompleteSATprocedures.ArtificialIntelligence,2001,

132(2):121150

[24] CaiS,SuK.Configurationcheckingwithaspirationinlocal

searchforSAT//ProceedingsoftheAAAI’2012.Toronto,

Ontario,Canada,2012:434440

[25] ZhuDaMing,MaShaoHan,ZhangPingPing.Thelocal

searchalgorithmsfor maximum 3satisfiablility problem.

ChineseJournalofComputers,2010,33(7):11271139(in

Chinese)

(朱大铭,马绍汉,张平平.合取范式3可满足问题的局部搜

索近似算法.计算机学报,2010,33(7):11271139)

[26] Zhu DaMing, Ma ShaoHan,Zhang PingPing.Tight

boundsonlocalsearchtoapproximatethemaximumsatisfi

abilityproblems//ProceedingsoftheCOCOON’2011.LNCS

6842.Dallas,Texas,USA,2011:4961

[27] HastadJ.Someoptimalinapproximabilityresults//Proceed

ingsofthe28thAnnualACM SymposiumonTheoreyof

Computing.ElPaso,USA,1997:110

[28] KhannaS,MotwaniR,MadhuS,UmeshV.Onsyntactic

versuscomputationalviewsofapproximability.SIAMJournal

onComputing,1998,28(1):164191

[29] DantsinE,GoerdtA,HirschEA,etal.Adeterministic

(2-2/(犽+2))狀algorithmfor犽SATbasedonlocalsearch.

TheoreticalComputerScience,2002,289(1):6983

犡犐犃犖犃犻犢狅狀犵,bornin1986,M.S.

candidate.Hisresearchinterestsinclude

algorithmdesignandanalysis,software

engineering.

犣犎犝犇犪犕犻狀犵,Ph.D.,professor,Ph.D.supervisor.

Hisresearchinterestsincludealgorithmdesignandanalysis,

computationalmolecularbiology.

2751 计  算  机  学  报 2015年

Page 13: 最大不全 满足问题的局部搜索近似算法cjc.ict.ac.cn/online/onlinepaper/xay-2015721213517.pdf · 虽然半定规划松弛法解答最大可满足与最大不 全满足问题获得了求解性能的全面提高,求解Max

犅犪犮犽犵狉狅狌狀犱

Thispaperinvolvesthealgorithmsandcomplexityof

satisfiabilityproblemsforconjunctivenormforms.Wefocus

onlocalsearchalgorithmstosolvethemaximumnotallequal

satisfiabilityproblems,andevaluatetheirperformances.

Thesatisfiabilityproblemisthecentralproblemintheo

reticalcomputerscience.Themaximumsatisfiabilityproblem

(MaxSAT)istheoptimizationversionofthesatisfiability

problem.Themaximumnotallequalsatisfiabilityproblem

(MaxNAESAT)isageneralizationofMaxSAT.Local

searchhasbeentestifiedtobeveryeffectiveforsolvingthe

satisfiabilityproblems.However,therearerarerelated

resultsforthelocalsearchmethodtosolvethenotallequal

satisfiabilityproblems.MaxNAESATisnamedMaxNAE

犽SATifeachclauseinitsinstancecontains犽(2)literals.

Toourknowledge,thelatestalgorithmicapproachesforthe

problemsofnotallequalsatisfiabilityarethesemidefinite

programmingrelaxationalgorithmofAvidoretaltosolve

MaxNAESAT,whichcanachievetheconjecturedperform

anceratio1.2079(=1/0.8279).Thebestalgorithmsfor

maximumnotallequal2,3and4satisfiabilityproblems

comefromthesemidefiniteprogrammingrelaxationmethods

givenbyGoemansandWilliamson,Zwick,KarloffandZwick,

withperformances1.139(1/0.878),1.10047(1/0.9087)

and8/7respectively.Butwhen犽5,thesemidefinite

programmingrelaxation methodbecomesverydifficultto

solve Max NAE犽SAT.Zwickalsoexpressedthesame

viewpointinhispaperforusingsemidefiniteprogramming

relaxationtosolveMaxNAE3SAT.

Inthispaper,wefirstproposealocalsearchalgorithm

tosolveMaxNAE犽SAT.Thisalgorithmcanachievethe

performanceratio2犽-1/(2犽-1-1)for犽2.Relativetothis

result,wehavenotseenanyapproximationalgorithmsfor

MaxNAE犽SATwith犽5.Secondly,wefollowtheidea

forsolving MaxNAE犽SAT to proposealocalsearch

algorithmtosolvethemoregeneralizedversionofMaxNAE

犽SATwhichhasclauseseachcontaining犽ormoreliterals.

Thisalgorithmcanstillachievetheperformanceratio2犽-1/

(2犽-1 -1).Theextensionofthealgorithmsfromsolving

MaxNAE犽SATtosolvingitsgeneralizedversionisnon

trivial,becausethealgorithmforMaxNAE犽SATcannot

bedirectlyusedforitsgeneralizedversion.Usingthemethod

forthegeneralizedversionofMaxNAE犽SAT,wepropose

anew2犽/(2犽-1)approximationalgorithmforthegeneralized

versionofthemaximum犽satisfiabilityproblem (Max犽

SAT)whichhasclauseseachcontaining犽ormoreliterals.

Finally,weprovethatifP≠NP,thenthemaximumnotall

equal犽satisfiabilityproblemcannotbeapproximatedwithin

2犽-1/(2犽-1-1)for犽4.Thisimpliestheperformanceratio

ofouralgorithmforthemaximumnotallequal犽satisfiability

problemisoptimal,when犽4.

ThispaperissupportedbytheNationalNaturalScience

FoundationofChina(61070019).Thisprojectaimsataclass

ofproblemsongenomecomparationsandotherareasto

designapproximationalgorithms.Localsearchistheheavy

pointinourresearchfordesigningalgorithms.Designing

algorithmsfortheproblemsofourprojectneedstotryevery

efforttominimizetheperformanceratio,inordertomake

surethealgorithm cangiveefficientsolutions.Wehave

designedthelocalsearchalgorithmformaximum3satisfi

abilityproblemwithperformanceratio8/7in2009.Wehave

also designed approximation algorithmsforthe genome

rearrangementsortingproblems.Forexample,wegivea

1.75approximation algorithm for unsigned translocation

sortingin2005,anda2.25approximationalgorithmfor

unsignedcutandpastesortingin2012.

37518期 咸爱勇等:最大不全犽满足问题的局部搜索近似算法