65 research outputs found
Pushing the envelope of Optimization Modulo Theories with Linear-Arithmetic Cost Functions
In the last decade we have witnessed an impressive progress in the
expressiveness and efficiency of Satisfiability Modulo Theories (SMT) solving
techniques. This has brought previously-intractable problems at the reach of
state-of-the-art SMT solvers, in particular in the domain of SW and HW
verification. Many SMT-encodable problems of interest, however, require also
the capability of finding models that are optimal wrt. some cost functions. In
previous work, namely "Optimization Modulo Theory with Linear Rational Cost
Functions -- OMT(LAR U T )", we have leveraged SMT solving to handle the
minimization of cost functions on linear arithmetic over the rationals, by
means of a combination of SMT and LP minimization techniques. In this paper we
push the envelope of our OMT approach along three directions: first, we extend
it to work also with linear arithmetic on the mixed integer/rational domain, by
means of a combination of SMT, LP and ILP minimization techniques; second, we
develop a multi-objective version of OMT, so that to handle many cost functions
simultaneously; third, we develop an incremental version of OMT, so that to
exploit the incrementality of some OMT-encodable problems. An empirical
evaluation performed on OMT-encoded verification problems demonstrates the
usefulness and efficiency of these extensions.Comment: A slightly-shorter version of this paper is published at TACAS 2015
conferenc
On Optimization Modulo Theories, MaxSMT and Sorting Networks
Optimization Modulo Theories (OMT) is an extension of SMT which allows for
finding models that optimize given objectives. (Partial weighted) MaxSMT --or
equivalently OMT with Pseudo-Boolean objective functions, OMT+PB-- is a
very-relevant strict subcase of OMT. We classify existing approaches for MaxSMT
or OMT+PB in two groups: MaxSAT-based approaches exploit the efficiency of
state-of-the-art MAXSAT solvers, but they are specific-purpose and not always
applicable; OMT-based approaches are general-purpose, but they suffer from
intrinsic inefficiencies on MaxSMT/OMT+PB problems.
We identify a major source of such inefficiencies, and we address it by
enhancing OMT by means of bidirectional sorting networks. We implemented this
idea on top of the OptiMathSAT OMT solver. We run an extensive empirical
evaluation on a variety of problems, comparing MaxSAT-based and OMT-based
techniques, with and without sorting networks, implemented on top of
OptiMathSAT and {\nu}Z. The results support the effectiveness of this idea, and
provide interesting insights about the different approaches.Comment: 17 pages, submitted at Tacas 1
Liquid Clocks - Refinement Types for Time-Dependent Stream Functions
The concept of liquid clocks introduced in this paper is a significant step towards a more precise compile-time framework for the analysis of synchronous and polychromous languages. Compiling languages such as Lustre or SIGNAL indeed involves a number of static analyses of programs before they can be synthesized into executable code, e.g., synchronicity class characterization, clock assignment, static scheduling or causality analysis. These analyses are often equivalent to undecidable problems, necessitating abstracting such programs to provide sound yet incomplete analyses. Such abstractions unfortunately often lead to the rejection of programs that could very well be synthesized into deterministic code, provided abstraction refinement steps could be applied for more accurate analysis. To reduce the false negatives occurring during the compilation process, we leverage recent advances in type theory -- with the definition of decidable classes of value-dependent type systems -- and formal verification, linked to the development of efficient SAT/SMT solvers, to provide a type-theoretic approach that considers all the above analyses as type inference problems. In order to simplify the exposition of our new approach in this paper, we define a refinement type system for a minimalistic, synchronous, stream-processing language to concisely represent, analyse, and verify logical and quantitative properties of programs expressed as stream-processing data-flow networks. Our type system provides a new framework to represent logical time (clocks) and scheduling properties, and to describe their relations with stream values and, possibly, other quantas. We show how to analyze synchronous stream processing programs (Ă la Lustre, Signal) to enable previously described analyzes involved in compiling such programs. We also prove the soundness of our type system and elaborate on the adaptability of this core framework by outlining its extensibility to specific models of computations and other quantas
SaDe: Learning Models that Provably Satisfy Domain Constraints
In many real world applications of machine learning, models have to meet
certain domain-based requirements that can be expressed as constraints (e.g.,
safety-critical constraints in autonomous driving systems). Such constraints
are often handled by including them in a regularization term, while learning a
model. This approach, however, does not guarantee 100% satisfaction of the
constraints: it only reduces violations of the constraints on the training set
rather than ensuring that the predictions by the model will always adhere to
them. In this paper, we present a framework for learning models that provably
fulfil the constraints under all circumstances (i.e., also on unseen data). To
achieve this, we cast learning as a maximum satisfiability problem, and solve
it using a novel SaDe algorithm that combines constraint satisfaction with
gradient descent. We compare our method against regularization based baselines
on linear models and show that our method is capable of enforcing different
types of domain constraints effectively on unseen data, without sacrificing
predictive performance.Comment: 16 page
- …