5,940 research outputs found
Satisfiability-Based Algorithms for Boolean Optimization
This paper proposes new algorithms for the Binate Covering Problem (BCP), a well-known restriction of Boolean Optimization. Binate Covering finds application in many areas of Computer Science and Engineering. In Artificial Intelligence, BCP can be used for computing minimum-size prime implicants of Boolean functions, of interest in Automated Reasoning and Non-Monotonic Reasoning. Moreover, Binate Covering is an essential modeling tool in Electronic Design Automation. The objectives of the paper are to briefly review branch-and-bound algorithms for BCP, to describe how to apply backtrack search pruning techniques from the Boolean Satisfiability (SAT) domain to BCP, and to illustrate how to strengthen those pruning techniques by exploiting the actual formulation of BCP. Experimental results, obtained on representative instances indicate that the proposed techniques provide significant performance gains for a large number of problem instances
A Complete Solver for Constraint Games
Game Theory studies situations in which multiple agents having conflicting
objectives have to reach a collective decision. The question of a compact
representation language for agents utility function is of crucial importance
since the classical representation of a -players game is given by a
-dimensional matrix of exponential size for each player. In this paper we
use the framework of Constraint Games in which CSP are used to represent
utilities. Constraint Programming --including global constraints-- allows to
easily give a compact and elegant model to many useful games. Constraint Games
come in two flavors: Constraint Satisfaction Games and Constraint Optimization
Games, the first one using satisfaction to define boolean utilities. In
addition to multimatrix games, it is also possible to model more complex games
where hard constraints forbid certain situations. In this paper we study
complete search techniques and show that our solver using the compact
representation of Constraint Games is faster than the classical game solver
Gambit by one to two orders of magnitude.Comment: 17 page
Synthesizing Imperative Programs from Examples Guided by Static Analysis
We present a novel algorithm that synthesizes imperative programs for
introductory programming courses. Given a set of input-output examples and a
partial program, our algorithm generates a complete program that is consistent
with every example. Our key idea is to combine enumerative program synthesis
and static analysis, which aggressively prunes out a large search space while
guaranteeing to find, if any, a correct solution. We have implemented our
algorithm in a tool, called SIMPL, and evaluated it on 30 problems used in
introductory programming courses. The results show that SIMPL is able to solve
the benchmark problems in 6.6 seconds on average.Comment: The paper is accepted in Static Analysis Symposium (SAS) '17. The
submission version is somewhat different from the version in arxiv. The final
version will be uploaded after the camera-ready version is read
Effective Lower Bounding Techniques for Pseudo-Boolean Optimization
Linear Pseudo-Boolean Optimization (PBO) is a widely used modeling framework in Electronic Design Automation (EDA). Due to significant advances in Boolean Satisfiability (SAT), new algorithms for PBO have emerged, which are effective on highly constrained instances. However, these algorithms fail to handle effectively the information provided by the cost function of PBO. This paper addresses the integration of lower bound estimation methods with SAT-related techniques in PBO solvers. Moreover, the paper shows that the utilization of lower bound estimates can dramatically improve the overall performance of PBO solvers for most existing benchmarks from EDA. 1
- …