首页> 外文学位 >EFFICIENT ALGORITHMS FOR CERTAIN SATISFIABILITY AND LINEAR PROGRAMMING PROBLEMS.
【24h】

EFFICIENT ALGORITHMS FOR CERTAIN SATISFIABILITY AND LINEAR PROGRAMMING PROBLEMS.

机译:某些可满足性的有效算法和线性规划问题。

获取原文
获取原文并翻译 | 示例

摘要

We present efficient algorithms for certain cases of Linear Equations solving, Linear Programming, and SATisfiability testing. The LP problem is Turing equivalent to solving Linear Inequalities (LI), where one simply asks whether a given set of linear inequalities has a solution or not. LE, LP, and SAT have all been studied in both the theoretical and the applied areas of Computer Science. Although many algorithms have been developed for these problems, there are large gaps between today's best algorithms and the best theoretical lower bounds.;In the algorithms for LE(2) and LI(2), we associate an undirected graph with a given instance. Vertices correspond to variables; edges are labelled by equations "ax + by = c" or inequalities "ax + by (LESSTHEQ) c", respectively. In the SAT algorithm, we associate a directed graph with a given instance. Vertices correspond to variables and their negations, and there is a directed edge from u to v if and only if there is a clause u (V) v.;For LE(2), if we know that x = p, we can transfer this value over the edge and obtain y = (c - ap)/b from the equation ax + by = c. A decision at one end of an edge forces a decision at the other. We show how to transfer the value of one variable to another by performing a search on the graph, and further, how to obtain the initial value x = p.;For 2-SAT, if we know that the variable x must be true in the clause x (V) y, we cannot conclude anything about y from the clause; but if x is false, then y must be true if the Boolean expression is to be satisfied. In the graph we have the corresponding edges x (IMPLIES) y and y (IMPLIES) x. If x and x are in the same strong component, then we can derive x (IMPLIES) x (IMPLIES) x and the Boolean expression is not satisfiable. We show that if no variable x appears in the same strong component as its negation x, then the Boolean expression is satisfiable. We generalize our method to testing the truth of Quantified Boolean Formulas in 2-CNF.;We do not eliminate these gaps, but instead present efficient algorithms for LE, LI, and SAT for the cases in which there are at most two variables or literals per "unit" (equation, inequality, or clause). The algorithms for LE(2) and 2-SAT are linear-time algorithms, and they are optimal except for constant factors. Our algorithm for LI(2) has a non-linear worst-case time bound, but the bound is better than the bound of any general LI algorithm such as the polynomial-time algorithm by Khachiyan. The subcases discussed seem to be in some sense the "hardest" ones that are not as hard as the general problems; i.e., for LE, LI, and SAT, there seems to be a difference in complexity when going from two to three variables or literals per "unit".;If a Boolean expression in CNF is restricted to at most one negated variable per clause, then the expression can be tested for satisfiability in linear time; but for CNF expressions restricted to at most two negated variables per clause, SAT is NP-complete. We call a CNF expression a disguised NR(1) expression if it can be mapped to an equivalent CNF expression with at most one negated variable per clause by replacing certain variables by their negations everywhere. We show that disguised NR(1) expressions can be identified in linear time by using the 2-SAT algorithm.;The most important of the problems we discuss is LI(2). If we know that ax > a(xi) in any solution, we obtain from an edge inequality "ax + by (LESSTHEQ) c" the bound by (LESSTHEQ) c - a on y. Bounds can be transferred from variable to variable using a graph search. We guess values for the variables; if a guess is not feasible, we can derive more restrictive bounds from the inequalities labelling a loop in the graph. A binary search technique allows us to find a feasible value x = (xi) if one exists. The overall running time is polynomial in the size of the input, and the algorithm seems to be of practical as well as theoretical importance.
机译:对于某些线性方程组求解,线性规划和SATisfiability测试,我们提供了有效的算法。 LP问题与图灵等效,等于求解线性不等式(LI),在其中,人们简单地询问给定的一组线性不等式是否具有解。 LE,LP和SAT都已在计算机科学的理论和应用领域进行了研究。尽管针对这些问题已经开发了许多算法,但当今的最佳算法与最佳理论下界之间仍有很大差距。在LE(2)和LI(2)的算法中,我们将无向图与给定实例相关联。顶点对应于变量;边缘分别用等式“ ax + by = c”或不等式“ ax + by(LESSTHEQ)c”标记。在SAT算法中,我们将有向图与给定实例相关联。顶点对应于变量及其取反,并且仅当存在子句u(V)v时,才存在u到v的有向边;对于LE(2),如果我们知道x = p,则可以转移在边缘上获得该值,并从方程ax + by = c获得y =(c-ap)/ b。边缘一端的决策会强制另一端的决策。我们展示了如何通过在图上执行搜索来将一个变量的值传递给另一个变量,以及如何获得初始值x = p。对于2-SAT,如果我们知道变量x必须在子句x(V)y,我们不能从子句中得出关于y的任何结论;但是如果x为false,则要满足布尔表达式,y必须为true。在图中,我们具有相应的边x(IMPLIES)y和y(IMPLIES)x。如果x和x在相同的强分量中,则我们可以得出x(IMPLIES)x(IMPLIES)x,并且布尔表达式不能满足要求。我们表明,如果没有变量x与其否定x出现在相同的强分量中,则布尔表达式是可满足的。我们推广了在2-CNF中测试量化布尔公式的真实性的方法;我们没有消除这些差距,而是针对最多存在两个变量或文字的情况给出LE,LI和SAT的有效算法每个“单位”(等式,不等式或从句)。 LE(2)和2-SAT的算法是线性时间算法,除恒定因素外,它们都是最优的。我们针对LI(2)的算法具有非线性最坏情况下的时间范围,但该范围优于任何一般的LI算法的范围,例如Khachiyan的多项式时间算法。在某种意义上,所讨论的子案例似乎是“最难的”案例,没有一般问题那么难解决。例如,对于LE,LI和SAT,每个“单位”从两个变量或三个文字变为三个变量或字面量时,复杂度似乎有所不同。如果CNF中的布尔表达式每个子句最多只能包含一个否定变量,然后可以在线性时间内测试表达式的可满足性;但是对于CNF表达式,每个子句最多只能使用两个否定变量,则SAT是NP完全的。如果可以将CNF表达式映射到等效的CNF表达式(每个子句最多包含一个否定变量)(通过在各处用其否定替换某些变量),则将其称为伪装的NR(1)表达式。我们证明了伪装的NR(1)表达式可以使用2-SAT算法在线性时间内识别。;我们讨论的最重要的问题是LI(2)。如果在任何解中都知道ax> a(xi),则从边缘不等式“ ax + by(LESSTHEQ)c”获得边界(LESSTHEQ)c-a在y上。可以使用图形搜索将边界从变量转移到变量。我们猜测变量的值;如果猜测不可行,我们可以从标记图中循环的不等式中得出更多的限制性边界。二进制搜索技术使我们能够找到可行的值x =(xi)(如果存在)。总的运行时间是输入大小的多项式,该算法似乎既实用又具有理论重要性。

著录项

  • 作者

    ASPVALL, BENGT INGEMAR.;

  • 作者单位

    Stanford University.;

  • 授予单位 Stanford University.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 1981
  • 页码 63 p.
  • 总页数 63
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号