1,082 research outputs found
Fuzzy Maximum Satisfiability
In this paper, we extend the Maximum Satisfiability (MaxSAT) problem to
{\L}ukasiewicz logic. The MaxSAT problem for a set of formulae {\Phi} is the
problem of finding an assignment to the variables in {\Phi} that satisfies the
maximum number of formulae. Three possible solutions (encodings) are proposed
to the new problem: (1) Disjunctive Linear Relations (DLRs), (2) Mixed Integer
Linear Programming (MILP) and (3) Weighted Constraint Satisfaction Problem
(WCSP). Like its Boolean counterpart, the extended fuzzy MaxSAT will have
numerous applications in optimization problems that involve vagueness.Comment: 10 page
On Using Unsatisfiability for Solving Maximum Satisfiability
Maximum Satisfiability (MaxSAT) is a well-known optimization pro- blem, with
several practical applications. The most widely known MAXS AT algorithms are
ineffective at solving hard problems instances from practical application
domains. Recent work proposed using efficient Boolean Satisfiability (SAT)
solvers for solving the MaxSAT problem, based on identifying and eliminating
unsatisfiable subformulas. However, these algorithms do not scale in practice.
This paper analyzes existing MaxSAT algorithms based on unsatisfiable
subformula identification. Moreover, the paper proposes a number of key
optimizations to these MaxSAT algorithms and a new alternative algorithm. The
proposed optimizations and the new algorithm provide significant performance
improvements on MaxSAT instances from practical applications. Moreover, the
efficiency of the new generation of unsatisfiability-based MaxSAT solvers
becomes effectively indexed to the ability of modern SAT solvers to proving
unsatisfiability and identifying unsatisfiable subformulas
On the Maximum Satisfiability of Random Formulas
Maximum satisfiability is a canonical NP-hard optimization problem that
appears empirically hard for random instances. Let us say that a Conjunctive
normal form (CNF) formula consisting of -clauses is -satisfiable if there
exists a truth assignment satisfying of all clauses
(observe that every -CNF is 0-satisfiable). Also, let denote a
random -CNF on variables formed by selecting uniformly and independently
out of all possible -clauses. It is easy to prove that for every
and every in , there is such that if , then the
probability that is -satisfiable tends to 0 as tends to
infinity. We prove that there exists a sequence such that if
then the probability that is
-satisfiable tends to 1 as tends to infinity. The sequence
tends to 0 exponentially fast in
Cause Clue Clauses: Error Localization using Maximum Satisfiability
Much effort is spent everyday by programmers in trying to reduce long,
failing execution traces to the cause of the error. We present a new algorithm
for error cause localization based on a reduction to the maximal satisfiability
problem (MAX-SAT), which asks what is the maximum number of clauses of a
Boolean formula that can be simultaneously satisfied by an assignment. At an
intuitive level, our algorithm takes as input a program and a failing test, and
comprises the following three steps. First, using symbolic execution, we encode
a trace of a program as a Boolean trace formula which is satisfiable iff the
trace is feasible. Second, for a failing program execution (e.g., one that
violates an assertion or a post-condition), we construct an unsatisfiable
formula by taking the trace formula and additionally asserting that the input
is the failing test and that the assertion condition does hold at the end.
Third, using MAX-SAT, we find a maximal set of clauses in this formula that can
be satisfied together, and output the complement set as a potential cause of
the error. We have implemented our algorithm in a tool called bug-assist for C
programs. We demonstrate the surprising effectiveness of the tool on a set of
benchmark examples with injected faults, and show that in most cases,
bug-assist can quickly and precisely isolate the exact few lines of code whose
change eliminates the error. We also demonstrate how our algorithm can be
modified to automatically suggest fixes for common classes of errors such as
off-by-one.Comment: The pre-alpha version of the tool can be downloaded from
http://bugassist.mpi-sws.or
- …