Title: On the Use of Automata Techniques to Decide Satisfiability
1On the Use of Automata Techniques to Decide
Satisfiability
2Motivation
- Weve seen how useful ILP formulations can be.
- Often, the main question is whether such a system
(of linear equations and inequalities) has a
solution, and if so, what it is. - Omega is nice, but can we do better?
- Moreover, can we have a general framework for
solving such systems which is amenable to
extension? - E.g. to Mixed Integer Linear Programming
- E.g. to more general systems (with quantifiers).
3Motivation
- One possible such framework is Finite Automata.
- Why are we interested in it?
- It worked beforeMONA (model checking for LTL).
- Automata are amenable to algorithmic
manipulation. - It often has a compact representation.
4Goal
- Given a system of linear equations and
inequalities, construct an automaton which
accepts exactly those vectors which are solutions
to the system. - In order to get there, well need to
- Define the systems of equations / inequalities
- Define automata
- Formulate algorithm.
51. The Systems
- Presburger Arithmetic is the first order theory
(sentences involving ?, ?, Boolean combinations)
of
- Atomic (basic) formulas are of the form
or
61. The Systems
- A formula ?(x1,, xn) in Presburger Arithmetic is
SATISFIABLE if there are integers c1,, cn such
that ?(c1,, cn) is true.
?
?
?
ILP Problem
?
- Presburger (1927) gave decision method.
72. Automata
- A finite state AUTOMATON is a machine which
reads input bit-by-bit and changes state
according to the current state and input. - It has designated initial and accepting states,
and a transition function which gives the rule
for moving between states.
Sample Input
00011 ?
10011 ?
01100 ?
83. Algorithm
- Given ?, a formula in Presburger Arithmetic
- Construct A?, the automaton accepting exactly
those words satisfying ? - Check if the set of words accepted by A? is empty
- If yes, ? is not satisfiable if no, it is.
Observe The hardest part of this algorithm is
(2). Why?
Cf. (Wolper, Boigelot 02, extending Boudet,
Comon 96)
93. Algorithm
To tackle the translation of formulas to
automata
- First construct A? for atomic ?
- Then define automata corresponding to Boolean
opns - Finally, define automata for quantified formulas.
(Note that the third step is not important for
ILP problems.)
103. Algorithm Equations
Some implementation details
- Integers encoded in 2s complement binary
notation. - Read numbers MSB first.
- States represent current value of sum. Hence,
113. Algorithm Forward Construction
x-y2 a (1,-1)
Inputs (b) ----- 01 ----- 10 ----- 00,11
123. Algorithm Pruning Construction
x-y2
----- 01 ----- 10 ----- 00,11 -----
00,01,10,11
Note this is not yet minimal!
133. Algorithm Backward Construction
x-y2
?(?0a.b)/2 ? Z? ?-a.b? ?0 ? ? via b
Hsi,2 L2
Hsi,2,1,0 L0
Hsi,2,1,0 L empty
Hsi,2,1 L1
----- 01 ----- 10 ----- 00,11 -----
00,01,10,11
Note this is minimal!
143. Algorithm Inequalities
- For forward construction include all states
representing numbers less than RHS as accepting
(plus modify bad states). - For backward construction, add transitions for
all
153. Algorithm Inequalities
x-y lt 2
----- 01 ----- 10 ----- 00,11 -----
00,01,10,11
Also need to add transitions!
163. Algorithm General Formulas
- Weve taken care of any atomic formula .
- For negation, conjunction, and disjunction of
formulas, use the standard techniques for
complementation, intersection, and union of
finite automata. - Complementation switch accepting / non-accepting
states - Intersection run both automata simultaneously
- Union run the automata side by side
- To eliminate quantifiers, use the projection
operation on automata.
17Complexity Results
- If ? is a quantifier free formula, then the
minimal automaton for ? has at most 1(??)?
states, where ? is the number of terms in ?,
? and ? depend on the absolute values of the
coefficients in the linear terms. - If ? is an arbitrary formula of length ?, the
minimal automaton for ? has at most - states. Moreover, there is an example requiring
this many states, so the bound is tight.
Cf. (Klaedtke 03)
18Evaluation of Aut. Decision Proc.
- Relatively simple algorithm.
- Handles general case well (Pres. Arithmetic).
- Uses graph theoretic simplifications.
- Exhibits solution if one exists.
- Doesnt use native arithmetic so will spend more
time on computation. - Calculates a lot of data that may not be
necessary for specific question.
19Experimental Results Quant. Free
- Satisfiability problem for quantifier free
Presburger Arithmetic is NP complete, so
experiments were designed to determine which
classes of formulas were handled well by each
technique (LASH vs. ILP vs. Omega) - 25 runs with parameters
- atomic formulas
- variables
- LASH was able to complete nearly all test runs,
and do so correctly. ILP, Omega were faster when
they worked but were prone to error / failure.
Cf. (Ganesh, Berezin, Dill 02)
20Extension Mixed Integers and Reals
- Hybrid systems and timed systems require systems
of equations in which some of the variables have
real values and some have integer values. - To use the automata techniques in this case we
have two challenges - How to encode real numbers as binary input to
automata? - How to design automata which accept particular
sets of reals? - A nice feature of the design which follows is
that the set of integers is automata recognizable.
Cf. (Boigelot, Bronne, Rassart 97 Boigelot,
Jodogne, Wolper 01 Boigelot, Wolper 02)
21Encoding Real Numbers
- Given ? a real number, we encode it in binary
with MSB first, using 2s complement for negative
numbers. - Result is an infinite word
- ? ?I ?F
- where ?I encodes the integer part of ? as a
finite binary word, - and ?F encodes the fractional part of ? as an
infinite binary word.
22Automata Accepting Real Numbers
- Decompose the problem as follows
- Using a finite automaton (as before) to accept
the integer part of the real number - Concatenating with a special automaton which only
accepts - And then appending a new kind of automaton which
will have to be able to accept the fractional
(infinite) part of the real number.
23Automata Accepting Real Numbers
- What is a Buchi Automaton?
- A finite state automaton where the notion of
accepting a word is different The automaton
accepts a word ? if, on reading ?, the automaton
enters an accepting state infinitely many times. - By the Buchi characterization theorem, the set of
words accepted by a Buchi automaton is nonempty
exactly if there is a lasso path in the
underlying directed graph from an initial state
to an accepting state and then looping back to
the accepting state.
Accepts e.g. 011111
24Automata Accepting Real Numbers
- Now the satisfiability question is
- Does the integer part automaton accept a
non-empty set of words? And, - Does the fractional part automaton accept a
non-empty set of words? - Since both of these are answerable (in linear
time) by graph algorithms, were in good shape.
25Future Directions Open Questions
- Further, more extensive, comparative studies
- For general formulas (with quantifiers)
- In the mixed case (compare to Fourier-Motzkin
approach) - Explore different encoding schemes
- LSB vs. MSB first
- Expand/ optimize existing toolsets.
26References
- Boigelot, Bronne, Rassart (CAV 97) An Improved
Reachability Analysis for Strongly Linear Hybrid
Systems. - Wolper, Boigelot (TACAS 00) On the Construction
of Automata from Linear Arithmetic Constraints. - Boigelot, Jodogne, Wolper (IJCAR 01) On the Use
of Weak Automata for Deciding Linear Arithmetic
with Integer and Real Variables. - Boigelot, Wolper (ICLP 02) Representing
Arithmetic Constraints with Automata An
Overview. - Ganesh, Berezin, Dill (FMCAD 02) Deciding
Presburger Arithmetic by Model Checking and
Comparison with Other Methods. - Klaedtke (Technical Report, 03 LICS 04) On
the Automata Size for Presburger Arithmetic.