<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Simple and E ective Sign Consistency Using Interval Arithmetic</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Federico Bergenti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefania Monica</string-name>
          <email>stefania.monicag@unipr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Scienze Matematiche, Fisiche e Informatiche Universita degli Studi di Parma</institution>
          ,
          <addr-line>43124 Parma</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Polynomial constraints over nite domains are expressed as equalities, inequalities, and disequalities of polynomials with integer coe cients whose variables take values from nite subsets of the integers. They are an interesting type of constraints that can be used to model many combinatorial problems over the integers. Sign consistency is a type of local consistency proposed speci cally to support reasoning on polynomial constraints over nite domains. Sign consistency is parameterized in terms of a bounding function that is used to extract relevant information from a constraint when its variables are restricted to take values from a nite box. Known results from the literature on interval arithmetic can be readily used to propose a simple bounding function to support sign consistency. Preliminary experimental results show that the proposed bounding function is a promising candidate to e ectively reason on polynomial constraints over nite domains.</p>
      </abstract>
      <kwd-group>
        <kwd>Sign consistency Bounding functions Polynomial constraints over nite domains Constraint satisfaction problems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Polynomials are ubiquitous because they are the basis of important applications
in virtually all elds of science and engineering. In addition, the in uential
literature on computer algebra witnesses the advanced level of understanding of
polynomials from a computational point of view (e.g., [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]). Polynomial constraints,
which are commonly regarded as constraints expressed in terms of equalities
and inequalities of polynomials whose variables take values from subsets of the
reals, are studied extensively in constraint satisfaction (e.g., [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]) and in
constrained optimization (e.g., [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]). Polynomial constraints over nite domains [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
are polynomial constraints whose variables are restricted to take values from
nite subsets of the integers. As such, they extend polynomial constraints with
the addition of disequalities, which are not normally considered for real
variables. Polynomial constraints over nite domains have been initially studied in
the scope of constraint logic programming [
        <xref ref-type="bibr" rid="ref2 ref4 ref5 ref6">2,4,5,6</xref>
        ], but this paper shows that
they can also be studied in the scope of constraint satisfaction problems, as
anticipated in a previous preliminary work [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        Sign consistency is de ned and studied in an upcoming paper as a type
of local consistency (e.g., [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]) speci cally designed to take advantage of the
peculiarities of polynomial constraints over nite domains. Sign consistency is
parameterized in terms of a bounding function whose purpose is to extract
relevant information from a given constraint when its variables are restricted to take
values from a given box. Bounding functions are used to adapt sign consistency
to the characteristics of studied problems, and to compromise its strength with
the computational cost needed to enforce it. The de nition of sign consistency
is brie y reported in Section 4, and interested readers can obtain from authors
a preprint of the paper where sign consistency is comprehensively studied.
Relevant characteristics of sign consistency, which include its intimate relationship
with hyper-arc consistency (e.g., [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]), are discussed in the mentioned paper.
      </p>
      <p>Polynomial constraints over nite domains are expressed as equalities,
inequalities, and disequalities of polynomials whose variables take values from
nite subsets of the integers. Therefore, the satis ability of one of such constraints
can be studied in terms of the study of the sign of a polynomial function. Sign
consistency uses this approach to reason on polynomial constraints over nite
domains. In particular, sign consistency delegates the study of the sign of
polynomial functions to a bounding function that is chosen to adapt it to the
characteristics of the studied problem. The chosen bounding function is expected to
provide e ective lower and upper bounds of studied polynomial functions when
their variables take values from given boxes.</p>
      <p>
        Various bounding functions with diverse characteristics can be readily
dened. A very simple bounding function can be de ned in terms of the exhaustive
enumeration of the elements of the given box, which is always nite because the
variables of studied constraints take values from nite subsets of the integers.
Such a bounding function is obviously impractical even for moderately complex
problems. A less trivial bounding function can be de ned using classic results
on the Bernstein form of polynomials (e.g., [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] for a survey of recent results and
a historical retrospective). The use of such a bounding function is expected to
be applicable in practical situations only if advanced algorithms to compute the
Bernstein form of polynomials are adopted (e.g., [
        <xref ref-type="bibr" rid="ref10 ref13 ref14 ref20 ref8">8,10,13,14,20</xref>
        ]). Finally, a third
bounding function can be de ned on the basis of a generalization for several
variables [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] of known results for one [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and two [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] real variables whose values are
restricted to the closed interval [0; 1]. The computational cost associated with
such a bounding function is expected to be lower than that of the other two
mentioned alternatives because it evaluates the given polynomial function only
at the corners of the considered box.
      </p>
      <p>Even if mentioned bounding functions can be used to support sign consistency
with no restrictions on the considered constraints or on the considered domains
of variables, preliminary results suggest that their inherent computational cost
is not compatible with practical problems. For this reason, this paper proposes a
simple bounding function whose purpose is to make sign consistency a valuable
tool to solve practical constraint satisfaction problems that include polynomial
constraints over nite domains.</p>
      <p>
        As discussed in Section 4, the bounding function proposed in this paper is
based on classic results from the literature on interval arithmetic (e.g., [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]). The
lower and upper bounds computed using such a bounding function are expected
to be less stringent than those computed using one of the three bounding
functions mentioned above, but its simplicity and low computational cost contribute
to make it a viable option for practical problems. Preliminary experimental
results on the use of the proposed bounding function to solve a few selected
constraint satisfaction problems taken from a well-known library of problems are
presented in Section 5. In detail, a prototype implementation of a speci c
algorithm to solve constraint satisfaction problems using the proposed bounding
function was included in PolyFD, which is an experimental C++ library for
constraint satisfaction. Then, speci c programs that take advantage of PolyFD
were used to solve the selected problems and to gather preliminary experimental
results. Obtained experimental results are encouraging because they show that
the time needed to solve studied problems using PolyFD is within the same order
of magnitude of the time needed to solve the same problems using Gecode [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>This paper is organized as follows. Section 2 provides a self-contained
presentation of adopted notation, which includes the notation borrowed from interval
arithmetic. Section 3 presents polynomial constraints over nite domains in the
scope of constraint satisfaction problems. Section 4 introduces sign consistency
and discusses the proposed bounding function. Section 5 shows preliminary
experimental results on the use of the proposed bounding function to solve a few
selected constraint satisfaction problems. Finally, Section 6 concludes the paper
and provides a brief overview of future research directions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Notation and Preliminaries</title>
      <p>This section is intended to provide a self-contained report on adopted notation.
The adopted notation is based on the ordinary notation used to study
polynomial functions of several variables, and it includes the characteristic notation of
interval arithmetic. Note that, together with the common notation used to study
polynomial functions of real variables, a speci c notation is also introduced to
study polynomial functions with integer coe cients whose variables take values
from nite subsets of the integers.</p>
      <p>The set of natural numbers, which includes zero, is denoted as N, while the
set of positive natural numbers is denoted as N+. Given n 2 N+, a multi-index
I 2 Nn is de ned as an n tuple of natural numbers
n</p>
      <p>I = (i1; i2; : : : ; in) = (ik)k=1;
where the common notation of using an uppercase letter to denote a multi-index,
and the same letter, but lowercase and with a subscript, for its components is
used. The following notation is adopted to use a multi-index I 2 Nn as an
exponent for t 2 Rn with t = (t1; t2; : : : ; tn) = (tk)kn=1
tI =
n
Y tikk ;
where the common notation of using a boldface letter to denote an n tuple of
real numbers, and the same letter, but lightface and with a subscript, for its
components is used. Note that the common understanding of 00 = 1 is adopted
consistently in this paper.</p>
      <p>Given two multi-indices I 2 Nn and J 2 Nn, they can be compared using the
following partial order</p>
      <p>I</p>
      <p>J () i1
j1 ^ i2
j2 ^
^ in
jn
and they can be added componentwise</p>
      <p>I + J = (i1 + j1; i2 + j2; : : : ; in + jn):
The following abbreviation is introduced for multi-indices H 2 Nn, I 2 Nn, and
J 2 Nn to express repeated sums</p>
      <p>j1
X ( ) = X
j2
X
jn</p>
      <p>X ( ):
H I J
i1=h1 i2=h2
in=hn
Note that H is omitted in (5), so that only I J remains, if it is the null
multi-index (0)kn=1.</p>
      <p>Using the multi-index notation, a polynomial function p : Rn 7! R of n 2 N+
real variables with real coe cients can be expressed as
where faI gI L R is the set of the coe cients of p, and multi-index L 2 Nn
is the multi-degree of p. The vector space of polynomial functions of n 2 N+
real variables, with real coe cients, and with multi-degree less than or equal to
multi-index L 2 Nn is</p>
      <p>L = spanRfPI gI L</p>
      <p>PI : Rn 7! R</p>
      <p>PI (x) = xI :
Similarly, a polynomial function p~ : Zn 7! Z of n 2 N+ integer variables with
integer coe cients can be expressed as
p(x) =</p>
      <p>X aI xI ;</p>
      <p>I L
p~(x) =</p>
      <p>X a~I xI ;</p>
      <p>I L
where fa~I gI L Z is the set of the coe cients of p~, and multi-index L 2 Nn
is the multi-degree of p~. The vector space of polynomial functions of n 2 N+
integer variables, with integer coe cients, and with multi-degree less than or
equal to multi-index L 2 Nn is
~ L = spanZfP~I gI L</p>
      <p>P~I : Zn 7! Z</p>
      <p>P~I (x) = xI :
(3)
(4)
(5)
(6)
(7)
(8)
(9)</p>
      <p>Given that the major interest in this paper is on the study of the bounds of
polynomial functions over boxes, the following notation for intervals and boxes
is recalled. A closed (real) interval from a 2 R to a 2 R is denoted as
[a; a] = fx 2 R : a
x
ag;
and it equals the empty set if and only if a &gt; a. A singleton (real) interval that
contains only a 2 R is denoted as [a] = [a; a]. Given n 2 N+, a (real) box B Rn
from b = (bk)kn=1 2 Rn to b = (bk)kn=1 2 Rn is denoted as</p>
      <p>B = [b; b] = [b1; b1]
and they can be multiplied</p>
      <p>A + C = [a + c; a + c];</p>
      <p>A C = [minfa c; a c; a c; a cg; maxfa c; a c; a c; a cg]:
and it equals the empty set if and only if bi &gt; bi for some 1 i n. Note
that the notation Bi = [bi; bi] R with 1 i n is used to refer to the closed
intervals that compose the nonempty box B. Also note that the notation Bi!S
is used to refer to the box obtained by replacing the i th closed interval that
composes the nonempty box B with the nonempty closed interval S R.</p>
      <p>The notation just recalled for intervals and boxes is often adapted to refer
to integer intervals and integer boxes, as follows. An integer interval from c 2 Z
to c 2 Z is denoted as
[c::c] = fx 2 Z : c
x
cg;
and it equals the empty set if and only if c &gt; c. A singleton integer interval that
contains only c 2 Z is denoted as [c] = [c::c]. Given n 2 N+, an integer box
D Zn from d = (dk)kn=1 2 Zn to d = (dk)kn=1 2 Zn is denoted as
D = [d::d] = [d1::d1]
[d2::d2]
[dn::dn];
and it equals the empty set if and only if di &gt; di for some 1 i n. Note that
the notation Di = [di::di] Z with 1 i n is used to refer to the integer
intervals that compose the nonempty box D. Also note that the notation Di!T
is used to refer to the box obtained by replacing the i th integer interval that
composes D with the nonempty integer interval T Z. Finally, the bounding
box A of a nonempty nite integer set A Zn is the inclusion-minimal integer
box such that A A.</p>
      <p>
        Interval arithmetic (e.g., [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]) uses the introduced notation to express
computations whose arguments and results are closed intervals. In particular,
arithmetic operations on nonempty closed intervals are normally de ned in interval
arithmetic as follows. Given two nonempty closed intervals A = [a; a] R and
C = [c; c] R, they can be added
(10)
(11)
(12)
(13)
(14)
In both cases, the result is a nonempty closed interval. Note that the product
among intervals can be used to de ne the m th power of a closed interval A R,
where m 2 N+. Also note that the convention [0]0 = [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is adopted consistently
in this paper. Given n 2 N+, a nonempty box B Rn, and a multi-index I 2 Nn,
the following notation that uses only products among intervals is adopted
BI =
n
Y Bjij :
j=1
p(B) =
      </p>
      <p>X[aI ]BI ;</p>
      <p>
        I L
Using the introduced notation, which is borrowed from interval arithmetic, a
polynomial function p : Rn 7! R of n 2 N+ real variables with real coe cients
can be extended to work on boxes. If polynomial p is expressed as in (6), then
for any box B Rn
where the notation for singleton intervals is used to treat the coe cients of the
polynomial function as closed intervals. Note that it is easy to prove that the
result of the evaluation of p(B) is a closed interval that includes the range of
p over box B, which ensures that interval arithmetic can be used to perform
validated computations (e.g., [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]).
      </p>
      <p>Even if interval arithmetic is not normally used to express computations on
integer intervals, the introduced notation can be easily generalized to integer
intervals and integer boxes. Actually, straightforward generalizations to integer
intervals of the arithmetic operations on closed intervals de ned previously can
be used to express the evaluation of a polynomial function p~ of n 2 N+ integer
variables with integer coe cients when an integer box D Zn is used as
argument. The result of such an evaluation is an integer interval that includes the
range of p~ over the integer box D.
3</p>
      <p>
        Polynomial Constraints over Finite Domains
This section presents polynomial constraints over nite domains in the scope of
constraint satisfaction problems. Note that polynomial constraints over nite
domains have been already studied in the scope of constraint logic programming in
previous papers [
        <xref ref-type="bibr" rid="ref2 ref4 ref5 ref6">2,4,5,6</xref>
        ]. The discussion in this section di ers from the
presentations in cited papers mostly because polynomial constraints over nite domains
are presented in cited papers using a canonical form that is not adopted in this
paper. Actually, in order to simplify the presentation, the canonical form adopted
in cited papers expresses constraints using only inequalities, which ultimately
requires to increase the multi-degrees of polynomials to treat disequalities. In this
paper, a di erent form of constraints is used to avoid increasing the multi-degrees
of polynomials. Note that the form of constraints adopted in this paper is still
questionable because it requires to increase the number of constraints to treat
equalities. In addition, note that the adopted form of constraints is not required
to be unique, and therefore it is not canonical.
(16)
(17)
      </p>
      <p>
        The following ordinary nomenclature on constraint satisfaction problems
(e.g., [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]) is needed to formally introduce polynomial constraints over nite
domains in De nition 2.
      </p>
      <p>De nition 1 (Constraint, assignment, and satis ability). An n ary
constraint C whose n 2 N+ variables take values from domains (Di)in=1 is a subset
of the Cartesian product of the domains of variables</p>
      <p>C
n
Y Di:
i=1
An assignment a of the variables of C is an element of the Cartesian product of
the domains of variables
An assignment of the variables of C satis es C if and only if a 2 C. A constraint
C is satis able if there exists at least one assignment of its variables that satis es
the constraint (i.e., C 6= ;). On the contrary, a constraint C is unsatis able if
no such an assignment exists (i.e., C = ;).</p>
      <p>The following de nition captures the informal statement that describes
polynomial constraints over nite domains as constraints expressed as equalities,
inequalities, and disequalities of polynomials with integer coe cients whose
variables take values from nite subsets of the integers.</p>
      <p>De nition 2 (Polynomial constraint over nite domains). An n ary
constraint C whose n 2 N+ variables take values from domains (Di)in=1 is a
polynomial constraint over nite domains if and only if all domains are nite
subsets of Z and</p>
      <p>C = fx 2
n
Y Di : p(x)
i=1
0g
or</p>
      <p>C = fx 2
n
Y Di : p(x) 6= 0g
i=1
(20)
for a proper polynomial function p 2 ~ L of n integer variables, with integer
coe cients, and with multi-degree less than or equal to multi-index L 2 Nn.</p>
      <p>Observe that, with an abuse of notation that is normally accepted, the
statements p(x) 0 and p(x) 6= 0 can be used to refer to the corresponding
constraints when the context makes the domains of variables evident.</p>
      <p>
        Note that the two forms of polynomial constraints over nite domains
identied in De nition 2 are not restrictive, and they can be used to refer to all
equalities, inequalities, and disequalities among polynomials. Actually, the choice of
such forms of constraints is justi ed by the following lemma, which is an
adaptation of the corresponding lemma introduced in other papers (e.g., [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]) to support
a canonical form for polynomial constraints over nite domains.
(18)
(19)
Lemma 1. Given two polynomial functions p 2 ~ L and q 2 ~ L of n 2 N+
integer variables, with integer coe cients, and with multi-degree less than or
equal to multi-index L 2 N n, the following co-implications hold
p(x)
      </p>
      <p>q(x) () q(x)
p(x) &lt; q(x) () q(x)
p(x) &gt; q(x) () p(x)
p(x) 6= q(x) () p(x)
p(x) = q(x) () p(x)
p(x)
p(x)
q(x)
q(x) 6= 0;
q(x)
0;
1
1
0;
0;
0 ^ q(x)
p(x)
0:
Proof. The proof is trivially based on simple algebraic manipulations.
Note that (22) and (23) are valid because p and q are polynomial functions of
integer variables with integer coe cients, and they are not valid for ordinary
polynomial functions of real variables. Also note that the application of (25)
increases the number of constraints because it turns one equality constraint into
two inequality constraints.
4</p>
      <p>A Bounding Function Based on Interval Arithmetic
This section introduces sign consistency as a means to support reasoning on
polynomial constraints over nite domains. In the rst part of this section, sign
consistency is de ned as a form of local consistency parameterized in terms of a
bounding function. In the second part of this section, a bounding function based
on known results from the literature on interval arithmetic is proposed and
brie y studied. The application of the proposed bounding function to reason
on constraint satisfaction problems is discussed in Section 5, where preliminary
experimental results are also presented and discussed.
4.1</p>
      <sec id="sec-2-1">
        <title>Sign consistency</title>
        <p>The following de nition of bounding function is intended to support the
successive de nition of sign consistency.</p>
        <p>De nition 3 (Bounding function). A bounding function is a computable
function that, given a nonempty integer box B Zn and a polynomial function
p 2 ~ L of n 2 N+ integer variables, with integer coe cients, and with
multidegree less than or equal to multi-index L 2 Nn, computes (p; p) 2 R2 such that
the following conditions jointly hold
(21)
(22)
(23)
(24)
(25)
tu
p</p>
        <p>The proposed de nition of bounding function is su cient to state the
following parameterized de nition of sign consistency.</p>
        <p>De nition 4 (Sign consistency). Given a bounding function and a
polynomial constraint over nite domains C whose n 2 N+ variables take values from
nonempty domains (Di)in=1, with B = Qin=1 Di, a value v 2 Di with 1 i n
is sign consistent for with C if and only if
1. The constraint is p(x) 0, (p; Bi![v::v]) = (p; p), and p 0; or
2. The constraint is p(x) 6= 0, (p; Bi![v::v]) = (p; p), and p 6= 0 or p 6= 0.
A domain Di with 1 i n is sign consistent for with C if and only if all its
values are sign consistent for with C. Constraint C is sign consistent for if
and only if all its domains are sign consistent for with C.</p>
        <p>
          The recalled de nition of sign consistency is parameterized in terms of a
bounding function , which is chosen to e ectively reason on considered
constraints. Three possible bounding functions are brie y mentioned in Section 1.
A very simple bounding function can be computed by exhaustively enumerating
the elements of the given box, which is always nite because the variables of
studied constraints take values from nite subsets of the integers. Such a
bounding function precisely computes the range of the studied polynomial function
over the given box, but it is obviously impractical even for moderately complex
problems. A less trivial bounding function can be computed using the Bernstein
form of polynomials (e.g., [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] for a survey of recent results and a historical
retrospective). The use of such a bounding function is expected to be feasible only if
advanced algorithms (e.g., [
          <xref ref-type="bibr" rid="ref10 ref13 ref14 ref20 ref8">8,10,13,14,20</xref>
          ]) are adopted to compute the Bernstein
form of polynomials. Finally, a third bounding function can be de ned on the
basis of a generalization for several variables [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] of known results for one [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] and
two [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] real variables whose values are restricted to the closed interval [0; 1]. The
computational cost of such a bounding function is expected to be lower than
that of the other two alternatives because it computes the value of considered
polynomial functions only at the corners of considered boxes. Unfortunately,
the lower and upper bounds that it provides are typically less stringent than
those provided by the other two alternatives, and therefore its e ectiveness in
the satisfaction of constraints is reduced.
4.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>The proposed bounding function</title>
        <p>Even if the bounding functions brie y mentioned above do not impose
restrictions on treated constraints or on the domains of variables, their application to
solve practical constraint satisfaction problems is problematic for their inherent
computational cost. Preliminary experiments on their use to reason on
moderately complex constraints suggest that they are not e ective in the solution of
practical problems. For this reason, the following bounding function is proposed
as a valid alternative to support the use of sign consistency to reason on
practical constraint satisfaction problems. Note that the lower and upper bounds that
it provides are typically less stringent than those provided by the three
bounding functions mentioned above, but its simplicity and moderate computational
cost make it a viable alternative for practical applications, as witnessed by the
preliminary experimental results presented in Section 5.</p>
        <p>De nition 5 (Bounding function I ). Given a nonempty integer box B Zn
and a polynomial function p 2 ~ L of n 2 N+ integer variables, with integer
coe cients, and with multi-degree less than or equal to multi-degree L 2 Nn, the
bounding function I is
where p(B) = [p::p].</p>
        <p>I (p; B) = (p; p);</p>
        <p>The following proposition is relevant because it is su cient to prove that I
complies with the de nition of bounding functions.</p>
        <p>Proposition 1. Given a nonempty integer box B Zn and a polynomial
function p 2 ~ L of n 2 N+ integer variables, with integer coe cients, and with
multi-degree less than or equal to multi-degree L 2 Nn,
where p(B) = [p::p].</p>
        <p>
          p
Proof. The proof is trivially based on classic results from the literature on
interval arithmetic (e.g. [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]).
        </p>
        <p>Note that Proposition 1 is not surprising because the computation of p(B)
using interval arithmetic is precisely intended to compute an integer interval
that contains the range of the polynomial function p over the integer box B.
Unfortunately, the computed interval often largely overestimates the range of
the polynomial function p over the integer box B.</p>
        <p>The following proposition is important because it quanti es the
computational cost of the proposed bounding function. Note that the relevance of the
proposed bounding function to reason on polynomial constraints over nite
domains is motivated by its expected low computational cost.</p>
        <p>Proposition 2. Given a nonempty integer box B Zn and a polynomial
function p 2 ~ L of n 2 N+ integer variables, with integer coe cients, and with
multi-degree less than or equal to multi-degree L = (li)in=1 2 Nn, the bounding
function I can be computed using O(ln) arithmetic operations in the worst case,
where l = max fligin=1 is the greatest degree of a variable in p.</p>
        <p>
          Proof. The computation of I essentially equals the evaluation of a
polynomial function, which can be performed using the multivariate Horner scheme
(e.g., [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]). The proposition is proved because the multivariate Horner scheme
requires O(ln) arithmetic operations to evaluate the polynomial function p. tu
        </p>
        <p>Note that the lower and upper bounds computed by bounding function I
can be improved using the following method to compute the m th power of
a closed interval when m 2 N+ is even. Actually, it is easy to verify that the
bounds computed using the following method are more stringent than the bounds
computed in terms of successive multiplications. The method is a classic result
(27)
(28)
tu
from the literature on interval arithmetic and it is rephrased here for the sake
of completeness. In detail, given a closed interval A = [a; a] R, and given an
even m 2 N+</p>
        <p>8&gt;[am; am]
Am = [a; a]m = &lt;[am; am]
a 0
a &lt; 0
&gt;:[0; maxfam; amg] otherwise:
(29)
Note that when m is odd Am can be computed in terms of successive
multiplications, which equals to state that Am = [a; a]m = [am; am].
5</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Preliminary Experiments</title>
      <p>
        In order to use sign consistency as an e ective means to support reasoning on
polynomial constraints over nite domains, a prototype implementation of a
speci c algorithm has been recently included in the PolyFD library, which is
a C++ library for constraint satisfaction still at an early development stage.
The implemented algorithm enforces sign consistency on a constraint for a given
bounding function by removing sign-inconsistent values from the domains of
variables using a variant of the AC-3 algorithm [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The de nition of sign
consistency ensures that removed values are not included in any assignment that
satis es the constraint, and therefore the implemented algorithm can be used to
support constraint satisfaction. The computational cost needed to enforce sign
consistency using the implemented algorithm and the e ectiveness of the
algorithm to support constraint satisfaction largely depend on the used bounding
function. Note that the current implementation of the PolyFD library is
available upon request from authors, but it is not yet openly available to the research
community because it is still at an early development stage.
      </p>
      <p>
        The remaining of this section is devoted to present (in alphabetical order)
ve experiments on the use of the proposed bounding function to reason on
wellknown constraint satisfaction problems. In order to assess the e ectiveness of the
proposed approach, each problem was solved with the current prototype of the
PolyFD library and with Gecode [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], and the results were compared in terms of
execution time. In detail, each problem was solved 10 times using PolyFD and
the shortest execution time tP was recorded. Then, each problem was solved 10
times using Gecode and the shortest execution time tG was recorded. Finally, tP
and tG were compared. Note that both Gecode and PolyFD were con gured to
use the same search heuristics and, for a fair comparison, some of the features
that Gecode implements were disabled because they are not yet implemented in
PolyFD. For example, even if some of the problems require that all variables are
assigned to di erent values, the speci c ltering algorithm for the all-di erent
global constraint [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] that Gecode implements was not used. Finally, note that
Gecode has an established reputation for the advanced optimizations that it
implements, so the results of experiments are considered satisfactory to assess
the validity of the proposed bounding function to solve constraint satisfaction
problems if tP and tG are within the same order of magnitude.
      </p>
      <p>The following experiments where performed using Gecode (version 5.1.0) and
PolyFD (version 2019.02.28) on a MacBook Air equipped with a 1:7 GHz Intel
Core i5 processor and with 4 GB of memory. The experimented Gecode programs
were based on available programs (http://www.hakank.org/gecode) with the
addition of minor changes. The introduced changes were intended to remove the
features of Gecode that are not yet implemented in PolyFD, and to ensure that
studied problems have only one solution.</p>
      <p>Example 1 (Corner). This example uses eight integer variables whose domains
are initially set to interval [1::8]. Variables are enforced to be assigned to all
di erent values, and the following six additional constraints are imposed
x1 = 1
x2 = 4
x2 = x1 + x3
x4 = x1 + x6
x5 = x3 + x8
x7 = x6 + x8:
The time tG needed by the Gecode implementation to nd the single solution
to the problem, and the time tP needed by the PolyFD implementation to nd
the same solution are
tG = 0:651 ms
tP = 0:647 ms:
Note that PolyFD is roughly as fast as Gecode in nding the single solution to
the studied problem.</p>
      <p>Example 2 (Dinner). This example uses three integer variables whose domains
are initially set to interval [1::100]. The following two constraints are imposed
on variables
6x1 + 4x2 + x3 = 40</p>
      <p>x1 + x2 + x3 = 20:
The time tG needed by the Gecode implementation to nd the single solution
to the problem, and the time tP needed by the PolyFD implementation to nd
the same solution are
tG = 0:544 ms
tP = 0:640 ms:
Note that PolyFD is 1:176 times slower than Gecode in nding the single solution
to the studied problem.</p>
      <p>Example 3 (Donald). This example uses ten integer variables whose domains are
initially set to interval [0::9]. Variables are enforced to be assigned to all di erent
values, it is requested that x1 6= 0, x6 6= 0, and x8 6= 0, and the following three
additional constraints are imposed on variables
y1 = 100000x1 + 10000x2 + 1000x3 + 100x4 + 10x5 + x1
y2 = 100000x6 + 10000x7 + 1000x8 + 100x4 + 10x5 + x1
y1 + y2 = 100000x8 + 10000x2 + 1000x9 + 100x7 + 10x8 + x10;
where variables y1 and y2 are introduced for the sake of clarity but they are
not part of the problem. The time tG needed by the Gecode implementation to
nd the single solution to the problem, and the time tP needed by the PolyFD
implementation to nd the same solution are</p>
      <p>Example 4 (Grocery). This example uses four integer variables whose domains
are initially set to interval [0::711]. It is requested that x1 x2, x2 x3, and
x3 x4, and the following two additional constraints are imposed on variables
x1 x2 x3 x4 = 711 106
x1 + x2 + x3 + x4 = 711:
The time tG needed by the Gecode implementation to nd the single solution
to the problem, and the time tP needed by the PolyFD implementation to nd
the same solution are
Note that PolyFD is 5:147 times faster than Gecode in nding the single solution
to the studied problem.</p>
      <p>Example 5 (Safe). This example uses nine integer variables whose domains are
initially set to interval [1::9]. Variables are enforced to be all di erent, and the
following thirteen additional constraints are imposed on variables
x1 6= 1
The time tG needed by the Gecode implementation to nd the single solution
to the problem, and the time tP needed by the PolyFD implementation to nd
the same solution are
tG = 0:863 ms
tP = 1:654 ms:
Note that PolyFD is 1:916 times slower than Gecode in nding the single solution
to the studied problem.</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>This paper introduced and studied a bounding function based on interval
arithmetic that is intended to make sign consistency a viable tool to solve practical
constraint satisfaction problems. The simplicity and the low computational cost
of the proposed bounding function make it a feasible option to treat practical
constraint satisfaction problems, even if the bounds that it provides are less
stringent than the bounds provided by other bounding functions.</p>
      <p>In order to assess the applicability of the proposed bounding function to
practical problems, preliminary experiments were performed to compare the
performance of PolyFD, a prototype C++ library that uses the proposed bounding
function, with the performance of Gecode. Notably, even if the programs that
use PolyFD are sometimes slower than the corresponding programs that use
Gecode, measured execution times are always within the same order of
magnitude. In particular, in the worst case, the program that uses PolyFD is roughly
twice as slow as the corresponding program that uses Gecode. On the contrary,
in the best case, the program that uses PolyFD is more than ve times faster the
corresponding program that uses Gecode. Given that Gecode has an established
reputation for the advanced level of optimizations that it implements, despite
being preliminary, obtained experimental results can be considered encouraging.</p>
      <p>A planned development of the presented work regards the addition of further
experiments to the list of studied problems to improve the understanding of the
feasibility of the proposed bounding function to reason on practical constraint
satisfaction problems. Then, some optimizations on the implementation of the
proposed bounding function have already been planned to take advantage of the
sparsity patterns of polynomials. Given that the e ectiveness of the implemented
algorithm for sign-consistency enforcement largely depends on the computational
cost of the adopted bounding function, improvements in the implementation of
the proposed bounding function are expected to a ect performance signi cantly.
Finally, the improvement of the overall quality of the current implementation of
PolyFD has already been planned in order to make it openly available to the
research community of potentially interested users.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Apt</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Principles of Constraint Programming</article-title>
          . Cambridge University Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bergenti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monica</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Hyper-arc consistency of polynomial constraints over nite domains using the modi ed Bernstein form</article-title>
          .
          <source>Annals of Mathematics and Arti cial Intelligence</source>
          <volume>80</volume>
          (
          <issue>2</issue>
          ),
          <volume>131</volume>
          {
          <fpage>151</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bergenti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monica</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Satisfaction of polynomial constraints over nite domains using function values</article-title>
          . In: Della Monica,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Murano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Rubin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Sauro</surname>
          </string-name>
          ,
          <string-name>
            <surname>L</surname>
          </string-name>
          . (eds.)
          <source>ICTCS 2017 and CILC 2017 Italian Conference on Theoretical Computer Science and Italian Conference on Computational Logic. CEUR Workshop Proceedings</source>
          , vol.
          <year>1949</year>
          , pp.
          <volume>262</volume>
          {
          <fpage>275</fpage>
          .
          <string-name>
            <given-names>RWTH</given-names>
            <surname>Aachen</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bergenti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monica</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossi</surname>
          </string-name>
          , G.:
          <article-title>Polynomial constraint solving over nite domains with the modi ed Bernstein form</article-title>
          . In: Fiorentini,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Momigliano</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>CILC 2016 Italian Conference on Computational Logic. CEUR Workshop Proceedings</source>
          , vol.
          <volume>1645</volume>
          , pp.
          <volume>118</volume>
          {
          <fpage>131</fpage>
          .
          <string-name>
            <given-names>RWTH</given-names>
            <surname>Aachen</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bergenti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monica</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossi</surname>
          </string-name>
          , G.:
          <article-title>A subdivision approach to the solution of polynomial constraints over nite domains using the modi ed Bernstein form</article-title>
          . In: Adorni,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Cagnoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Gori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Maratea</surname>
          </string-name>
          , M. (eds.)
          <source>AI*IA 2016 Advances in Arti cial Intelligence. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10037</volume>
          , pp.
          <volume>179</volume>
          {
          <fpage>191</fpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bergenti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monica</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Constraint logic programming with polynomial constraints over nite domains</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>161</volume>
          (
          <issue>1</issue>
          {2),
          <volume>9</volume>
          {
          <fpage>27</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Farouki</surname>
          </string-name>
          , R.T.:
          <article-title>The Bernstein polynomial basis: A centennial retrospective</article-title>
          .
          <source>Computer Aided Geometric Design</source>
          <volume>29</volume>
          (
          <issue>6</issue>
          ),
          <volume>379</volume>
          {
          <fpage>419</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Farouki</surname>
          </string-name>
          , R.T.,
          <string-name>
            <surname>Rajan</surname>
          </string-name>
          , V.T.:
          <article-title>Algorithms for polynomials in Bernstein form</article-title>
          .
          <source>Computer-Aided Geometric Design</source>
          <volume>5</volume>
          (
          <issue>1</issue>
          ),
          <volume>1</volume>
          {
          <fpage>26</fpage>
          (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Garlo</surname>
          </string-name>
          , J.:
          <article-title>Convergent bounds for the range of multivariate polynomials</article-title>
          . In: Nickel,
          <string-name>
            <surname>K</surname>
          </string-name>
          . (ed.)
          <source>Interval Mathematics 1985. Lecture Notes in Computer Science</source>
          , vol.
          <volume>212</volume>
          , pp.
          <volume>37</volume>
          {
          <fpage>56</fpage>
          . Springer (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Garlo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Solution of systems of polynomial equations by using Bernstein expansion</article-title>
          . In: Alefeld,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Rohn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Rump</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Yamamoto</surname>
          </string-name>
          , T. (eds.)
          <source>Symbolic Algebraic Methods and Veri cation Methods</source>
          . pp.
          <volume>87</volume>
          {
          <fpage>97</fpage>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. von zur Gathen, J.,
          <string-name>
            <surname>Gerhard</surname>
          </string-name>
          , J.:
          <article-title>Modern computer algebra</article-title>
          . Cambridge University Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Mackworth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Consistency in networks of relations</article-title>
          .
          <source>Arti cial Intelligence</source>
          <volume>8</volume>
          ,
          <issue>99</issue>
          {
          <fpage>118</fpage>
          (
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Ray</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nataraj</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>An e cient algorithm for range computation of polynomials using the Bernstein form</article-title>
          .
          <source>Journal of Global Optimization</source>
          <volume>45</volume>
          ,
          <issue>403</issue>
          {
          <fpage>426</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Ray</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nataraj</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A matrix method for e cient computation of Bernstein coefcients</article-title>
          .
          <source>Reliable Computing</source>
          <volume>17</volume>
          ,
          <issue>40</issue>
          {
          <fpage>71</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Regin</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          :
          <article-title>A ltering algorithm for constraints of di erence in CSPs</article-title>
          .
          <source>In: Proceedings of the National Conference on Arti cial Intelligence (AAAI</source>
          <year>1994</year>
          ). pp.
          <volume>362</volume>
          {
          <fpage>367</fpage>
          .
          <string-name>
            <surname>AAAI</surname>
          </string-name>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Rivlin</surname>
            ,
            <given-names>T.J.:</given-names>
          </string-name>
          <article-title>Bounds on a polynomial</article-title>
          .
          <source>Journal of Research of the National Bureau of Standards 74B(1)</source>
          ,
          <volume>47</volume>
          {
          <fpage>54</fpage>
          (
          <year>1970</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Rossi</surname>
          </string-name>
          , F.,
          <string-name>
            <surname>van Beek</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walsh</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Handbook of Constraint Programming</article-title>
          . Elsevier, New York (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Ruszczynski</surname>
            ,
            <given-names>A.: Nonlinear</given-names>
          </string-name>
          <string-name>
            <surname>Optimization</surname>
          </string-name>
          . Princeton University Press (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Schulte</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stuckey</surname>
            ,
            <given-names>P.J.:</given-names>
          </string-name>
          <article-title>E cient constraint propagation engines</article-title>
          .
          <source>ACM Transactions on Programming Languages and Systems</source>
          <volume>31</volume>
          (
          <issue>1</issue>
          ),
          <volume>1</volume>
          {
          <fpage>43</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Fast construction of constant bound functions for sparse polynomials</article-title>
          .
          <source>Journal of Global Optimization</source>
          <volume>43</volume>
          (
          <issue>2</issue>
          ),
          <volume>445</volume>
          {
          <fpage>458</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Tucker</surname>
          </string-name>
          , W.:
          <article-title>Validated numerics: A short introduction to rigorous computations</article-title>
          . Princeton University Press (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>