• Aucun résultat trouvé

Compiling CSPs: A Complexity Map of (Non-Deterministic) Multivalued Decision Diagrams

N/A
N/A
Protected

Academic year: 2021

Partager "Compiling CSPs: A Complexity Map of (Non-Deterministic) Multivalued Decision Diagrams"

Copied!
36
0
0

Texte intégral

(1)

HAL Id: hal-01303816

https://hal.archives-ouvertes.fr/hal-01303816

Submitted on 18 Apr 2016

HAL

is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire

HAL, est

destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Compiling CSPs: A Complexity Map of

(Non-Deterministic) Multivalued Decision Diagrams

Jerome Amilhastre, Hélène Fargier, Alexandre Niveau, Cédric Pralet

To cite this version:

Jerome Amilhastre, Hélène Fargier, Alexandre Niveau, Cédric Pralet. Compiling CSPs: A Complexity Map of (Non-Deterministic) Multivalued Decision Diagrams. International Journal on Artificial Intel- ligence Tools, World Scientific Publishing, 2014, 23 (4), pp.1460015. �10.1142/S021821301460015X�.

�hal-01303816�

(2)

To link to this article : DOI : 10.1142/S021821301460015X URL : http://dx.doi.org/10.1142/S021821301460015X

To cite this version : Amilhastre, Jerome and Fargier, Helene and Niveau, Alexandre and Pralet, Cedric Compiling CSPs: A Complexity Map of (Non-Deterministic) Multivalued Decision Diagrams. (2014) International Journal on Artificial Intelligence Tools, Vol. 23 (n° 4).

ISSN 0218-2130

Open Archive TOULOUSE Archive Ouverte (OATAO)

OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible.

This is an author-deposited version published in : http://oatao.univ-toulouse.fr/

Eprints ID : 15480

Any correspondence concerning this service should be sent to the repository

administrator: staff-oatao@listes-diff.inp-toulouse.fr

(3)

COMPILING CSPs: A COMPLEXITY MAP OF

(NON-DETERMINISTIC) MULTIVALUED DECISION DIAGRAMS

ER ˆOME AMILHASTRE EL`ENE FARGIER

Cameleon Software, 185 rue Galil´ee F-31670 Lab`ege, France jamilhastre@cameleon-software.com

IRIT–CNRS, Universit´e Paul Sabatier F-31062 Toulouse Cedex 9, France

fargier@irit.fr

ALEXANDRE NIVEAU EDRIC PRALET

CRIL–CNRS, Universit´e d’Artois F-62307 Lens Cedex, France

niveau@cril.fr

ONERA—The French Aerospace Lab F-31055, Toulouse, France

cpralet@onera.fr

Constraint Satisfaction Problems (CSPs) offer a powerful framework for representing a great variety of problems. The difficulty is that most of the requests associated with CSPs are NP-hard. When these requests have to be addressed online, Multivalued Decision Diagrams (MDDs) have been proposed as a way to compile CSPs.

In the present paper, we draw a compilation map of MDDs, in the spirit of the NNF compilation map, analyzing MDDs according to their succinctness and to their tractable transformations and queries. Deterministic ordered MDDs are a generalization of ordered binary decision diagrams to non-Boolean domains: unsurprisingly, they have similar ca- pabilities. More interestingly, our study puts forward the interest of non-deterministic ordered MDDs: when restricted to Boolean domains, they capture OBDDs and DNFs as proper subsets and have performances close to those of DNNFs. The comparison to classical, deterministic MDDs shows that relaxing the determinism requirement leads to an increase in succinctness and allows more transformations to be satisfied in polynomial time (typically, the disjunctive ones). Experiments on random problems confirm the gain in succinctness.

Keywords: Knowledge Compilation; CSP; MDD.

1. Introduction

The powerful framework of Constraint Satisfaction Problems (CSPs) allows the rep- resentation a great variety of problems. Different kinds of requests can be posted

This is a revised, detailed version of the eponymous paper published in the proceedings of the 24th International Conference on Tools with Artificial Intelligence (ICTAI 2012). Note that this revision features a change in terminology, saving the name “MDD” for syntactically deterministic structures, and introducing a dedicated name for non-deterministic ones.

Corresponding author.

(4)

on a CSP, such as the classical extraction of a solution, but also enforcement of global inverse consistency for the domains,1 dynamic addition of new constraints, solutions counting, and even combinations of these requests. For instance, the inter- active solving of a configuration problem amounts to a sequence of unary constraints additions, while maintaining global inverse consistency.2,3

Most of these requests areNP-hard; however, they must sometimes be addressed online. A possible way of solving this contradiction consists in representing the set of solutions of the CSP as a Multivalued Decision Diagram (MDD),4,5,6 that is, as a graph the nodes of which are labeled with variables and the edges of which represent assignments of the variables. In such diagrams, each path from the root to the sink represents a solution of the CSP. MDDs allow several operations, like those previously cited, to be achieved in time polynomial in the size of the diagram. This size can theoretically be exponentially higher than the size of the original CSPs, but it remains low in many applications. Indeed, as they are graphs, MDDs can take advantage of the (conditional) interchangeability of values, and save space by merging identical subproblems. As a matter of fact, decision diagrams have been used in various contexts, e.g., in product configuration,3in recommender systems,7 or, in their original Boolean form, in planning8,9 and diagnosis10.

Up to our knowledge, these applications always consider (syntactically) deter- ministic MDDs, that is, MDDs in which edges going out of a node have mutually exclusive labels. However, this assumption is probably not compulsory for many operations, notably the aforementioned ones. Non-deterministic structures could thus be appealing, depending on what is lost and gained when assuming or relaxing the determinism assumption. To evaluate the interest of this relaxation, we propose to draw a compilation map of MDDs, in the spirit of the NNF knowledge compi- lation map.11 Such a map provides a way to identify the most succinct language supporting in polynomial time the operations needed for a given application. In this purpose, we conducted a general complexity analysis on MDDs with respect to a variety of requests, coming either from reasoning-oriented problems or from CSP (decision-oriented) applications.

The next section presents the framework of multivalued variable diagrams (MVDs), which correspond to “non-deterministic MDDs”; it includes several sub- languages, yielded from the application of the decision and ordering properties.

In Section 3, we study the case of Boolean domains, in order to picture MDDs and MVDs in the NNF knowledge compilation map: we show that, beyond ordered MDDs, which somehow correspond to OBDDs, the language of non-deterministic ordered MVDs is strictly more succinct than both OBDDs and DNFs. Section 4 is devoted to the MVD knowledge compilation map, including a succinctness analysis of the different languages of the family of MVDs, as well as a complexity analysis of many queries and transformations. Section 5 then presents our first experimen- tal results about the relative succinctness of deterministic and non-deterministic MDDs. Last, all proofs are gathered in the appendix.

(5)

2. Compiling Constraint Satisfaction Problems 2.1. Constraint satisfaction problems

We consider variables with finite domains of values. For a variablex, Dom(x) denotes the domain of x. For a set of variablesX ={x1, . . . , xk}, Dom(X) denotes the set of assignments of variables from X, or X-assignments, that is to say, Dom(X) = Dom(x1)× · · · ×Dom(xk), and~xdenotes anX-assignment:~x∈Dom(X). WhenX andY are disjoint sets of variables,~x . ~yis theconcatenation of~xand~y. Last, for anX-assignment~xand a set of variables Z,~x|Z denotes the restriction of~xto the variables in Z, and~x|xi the value assigned toxi in~x.

Definition 2.1(Constraint satisfaction problem). AConstraint Satisfaction Prob- lem (CSP) is an ordered pairP =hX, Ci, whereX ={x1, . . . , xn}is a finite set of finite-domain variables and C is a finite set of constraints. Each constraint c ∈C has an associatedscope, denoted Scope(c) and included inX, and consists of a set of Scope(c)-assignments: these are the assignments allowed by the constraint.

A solution of P is an X-assignment~x compatible with every constraint in C, that is,∀c∈C, ~x|Scope(c)∈C. The set of solutions ofP is denoted Sol(P).

In this paper, we study the compilation of the solution set of CSPs. To this end, we consider a solution set as a Boolean function on the CSP’s variables X, mapping each X-assignment ~x to ⊤ if ~x is a solution, and to ⊥ otherwise. We will consider several target compilation languages representing Boolean functions on finite-domain variables.

Definition 2.2 (Target compilation language). Let X be a finite set of finite- domain variables; atarget compilation languageon X is a setLXof graph structures, together with an interpretation function ILX, mapping each graph φto a Boolean function ILX(φ) : Dom(X)→ {⊤,⊥}, called its interpretation, and a size function k·kLX. A subset of a languageLX is called asublanguage ofLX.

In the following, we omit theXsubscript when there is no ambiguity. We denote languages using a typewriter font, as usual in the knowledge compilation map.11

2.2. Multivalued variable diagrams

Languages used to compile CSPs have been given various names in the literature;

sometimes the same name has been used to denote slightly different languages, yielding ambiguity. We will adopt an explicit terminology here, formally defining one “root” language (that of “multivalued variable diagrams”), and retrieving sev- eral sublanguages by the application of structural restrictions. We will discuss in Section 2.3 the other names and forms of the languages we define.

Definition 2.3 (Multivalued variable diagram). A Multivalued Variable Diagram (MVD)φon a finite set of finite-domain variablesX(denoted Scope(φ)) is a directed acyclic graphφ=hN,EiwhereN is a set of nodes containing at most one root and

(6)

at most one leaf (thesink, denoted Sink(φ)). Each non-sink nodeN ∈ N is labeled with a variable Var(N) in X, and each edge going out ofN is labeled with a value in the domain of Var(N).

We denote by Out(N) (resp. In(N)) the set of outgoing (resp. incoming) edges ofN. An edgeE∈ E is often denoted by the triplehN, N, aiof its source nodeN, denoted Src(E), its destination nodeN, denoted Dest(E), and its associated value a, denoted Lbl(E).

Multivalued diagrams constitute a generalization of well-knownbinary decision diagrams,12 which represent Boolean functions of Boolean variables. In the same fashion, multivalued diagrams represent Boolean functions ofmultivaluedvariables.

Definition 2.4 (Semantics of MVDs). An MVDφonX represents a function I(φ) from Dom(X) to{⊤,⊥}, called theinterpretation of φand defined as follows: for every X-assignment~x, I(φ)(~x) = ⊤ if and only if there exists a path p from the root to the sink of φsuch that for each edgeE=hN, N, aialongp,~x|Var(N)=a.

We say that~xis a model ofφwhenever I(φ)(~x) =⊤; Mod(φ) denotes the set of models of φ. Figure 1 shows examples of MVDs. To check whether an assignment

~x=ha1, . . . , ani ∈Dom(X) belongs to Mod(φ), one only has to traverse the MDD from the root to the sink and, at every node N labeled with variablexi, to follow an edge labeled with ai, if there exists one;~x is a model if and only if the sink is reached.

We define the target compilation language of MVDs using this semantics, to- gether with a size function taking domains into account, since some operations rely on values that are not mentioned in the graph itself.

Definition 2.5 (The MVDlanguage). The MVDX language is the set of all MVDs on X, together with the interpretation function I of Definition 2.4, and the size function associating every MVD φwith the sum of its number of edges and of the cardinalities of all domains of variables fromX.

Note that MVDs are non-deterministic, in the sense that edges going out of a node are not necessarily disjoint: starting from the root, choosing a value for each variable does not impose one to follow a single path. In other words, a given assignment can correspond to several complete paths in the graph.

This is not the case in existing proposals referring to the compilation of CSPs4,3,6: they use multivalued decision diagrams (MDDs), that are (syntactically) deterministic. We define the MDDlanguage as the restriction ofMVDto syntactically deterministic graphs; we call this restriction thedecision property,13refraining from using “determinism” for the sake of consistency with theNNFknowledge compilation map,11in which determinism is a semanticproperty.

Definition 2.6 (Decision). A node N in an MVD is a decision node if and only if values labeling edges going out ofN are pairwise distinct. An MVD satisfies the

(7)

x3

x2

x2

x2

x1

x1

x1

x1

x1

x1

x3

x2

x2

x2

x1

x1

x1

x1 x2

6=

x3

6=

1

2

3

1

2 3 1 2

3 1 2 3

2, 3

3

1, 3 2 1 1, 2 1, 2

1, 3 2, 3

1, 2

1, 3

2, 3

3 2 1

Fig. 1. The coloring problem on a star graph (3 variables, 3 colors), an OMVD and a OMDD representing its set of solutions (both forx3< x2< x1).

decision property, and is called amultivalued decision diagram (MDD), if and only if all its nodes are decision nodes. The language MDD is the sublanguage of MVD containing all and only MVDs satisfying the decision property.

We also define another syntactic restriction, that of “ordering”, which is gener- ally assumed in the literature about CSP compilation,4,3,6 but was only an option in the original definition of MDDs.14

Definition 2.7(Ordering). Let<be a strict total order over a setX of variables.

An MVD on X is said to be ordered with respect to<if and only if for every pair of nodeshN, Misuch thatN an ancestor ofM, Var(N)<Var(M) holds.

We call for short “ordered MVD (OMVD) on<”, an MVD that is ordered with respect to <. Decision and ordering are the basis for several sublanguages ofMVD.

Definition 2.8 (Family of OMVDs). We define the following languages:

• OMVDis the sublanguage of MVDcontaining all and only ordered MVDs;

• OMVD< is the sublanguage ofOMVD containing all and only MVDs that are ordered with respect to a given<;

• OMDD (resp. OMDD<) is the sublanguage of OMVD (resp. OMVD<). containing all and only OMVDs that satisfy the decision property.

In other words, OMVD is the union of all OMVD< (for any <), and OMDD (resp.

OMDD<) is the intersection ofOMVD (resp.OMVD<) withMDD. It obviously holds that OMDD<⊆OMDD⊆MDDand that OMVD<⊆OMVD⊆MVD.

(8)

Similarly to binary decision diagrams, we suppose that MVDs are in reduced form, that is, (i) isomorphic nodes (labeled with the same variable and pointing to the same children with the same labels) have been merged, (ii) redundant nodes (having a unique child and one edge per value in the variable’s domain) have been skipped, and (iii) nodes with no parent (except for the root) or no successor (except for the sink) have been removed. Assuming that MVDs are reduced is harmless, because reduction can be done in time polynomial in the size of the diagram.

Proposition 2.9 (Reduction). Let L be one of the languages we defined. There exists a polynomial algorithm that transforms anyφinLinto a reducedφinLsuch that I(φ) = I(φ)andkφk ≤ kφk.

2.3. Related languages

TheMVDframework covers several languages that have been used to compile CSPs;

we discuss them in this section and show how they can come down as MVDs.

2.3.1. Finite-state automata

Up to our knowledge, the first paper about CSP compilation is due to Vempaty,4 who used deterministic finite-state automata (DFAs) from computability the- ory. The idea is to represent X-assignments as words over an alphabet ΣX = S

x∈XDom(x); for example, the word abc corresponds to the {x, y, z}-assignment in which x=a,y =b, andz =c (considering the variable order x < y < z). The solution set of any CSP then corresponds to a set of words, i.e., to a finite formal language; any finite formal language being regular, this solution set can thus be represented by a deterministic finite-state automaton accepting this language.

Remark that the usual notion of DFA is more general than the one used in CSP compilation. For instance, all paths in a DFA representing a CSP must have the same (finite) length; it is obviously not the case for general DFAs, which can recognize even infinite languages. In the context of CSP compilation,4,3,15 the use of the term “DFA” is metonymic.

These structures are very close to ordered multivalued decision diagrams. Except for the differences in terminology, the main distinction, as shown by Hadzic et al.,15 is the fact that a path in an OMDD needs not mention all the CSP variables in the scope, whereas automata cannot “skip” a variable, since it would change the formal language they accept. However, this restriction is harmless: in an OMDD φ, the number of “skipped” edges is bounded bye×d× |X|edges, whereeis the number of edges and d the cardinal of the largest domain (at worst, we have to add |X| nodes withdedges for each edge already in the graph). This number being bounded bykφk3, adding all “skipped” edges inφmakes it only polynomially larger.

Deterministic finite-state automata thus correspond to OMDD; similarly, using non-deterministic finite-state automata (NFAs) to compile CSPs would correspond to using OMVD. Finally, note that by using a different kind of alphabet (such as

(9)

ΣX ={hx, ai:x∈X, a ∈Dom(x)}), it is possible to cast non-ordered MDDs and MVDs as specific DFAs and NFAs, respectively.

2.3.2. MDDs with two leaves

In their original definition,14MDDs are not necessarily ordered, and can have several leaves (to represent functions with several output values). However, in the literature, it is often assumed that MDDs are ordered and that they have exactly two leaves, in the manner of BDDs—a ⊤-leaf, indicating assignments that are models of the function represented, and a⊥-leaf, indicating countermodels.

Yet, since two-leaf MDDs are syntactically deterministic, each assignment cor- responds to exactly one complete path from the root to a leaf; such a path leads either to the⊤-leaf or to the ⊥-leaf. Consequently, the⊤-leaf plays the role of the sink in our definition of MDDs, whereas the⊥-leaf is actually redundant: removing it, and reducing the graph to remove dangling edges and nodes, we get exactly our (single-leaf) MDDs. Moreover, adding a⊥-leaf to a single-leaf MDDφis also easy:

for each node N, and each valuea∈ Dom(Var(N)) for whichN has no outgoing edge, add an edgehN,⊥, ai. The number of added edges is bounded byn×d, where nis the number of nodes inφanddthe cardinal of the largest domain. Bothnand dbeing bounded bykφk, the number of added edges is at most polynomial.

Consequently, our choice (also made by Hadzic et al.15) to define theMDDlan- guage as containing single-leaf MDDs rather than two-leaf MDDs, is harmless from the point of view of the knowledge compilation map, while offering a consistent notation for non-deterministic structures (in which the⊥-leaf is meaningless, since a given assignment can be associated with several paths).

3. MVDs in the Boolean Knowledge Compilation Map

In this section, we study the relationship between MVDs and languages in the Boolean knowledge compilation map, notably BDDs. Let us start by defining con- cepts allowing a formal comparison of target languages. The first one concerns the

“translation” of elements of some language into another language; when this trans- lation is tractable, the first language inherits many properties of the second one.16 Definition 3.1(Translatability). A target languageL2ispolynomially translatable (resp.linearly translatable) into another target languageL1, which we denoteL1P

L2(resp.L1LL2), if and only if there exists a polynomial (resp. linear) algorithm AL27→L1 mapping any element inL2to an element inL1with the same interpretation.

When translationsAL17→L2 andAL27→L1are linear and stable, i.e., whenAL17→L2= A−1L27→L1, we say thatL1 and L2 are linearly equivalent, denoted L1L L2. Linearly equivalent languages are so close that they can somehow be considered as identical;

the complexity of operations is the same for both languages.

Another important concept is succinctness, that compares languages with re- spect to their ability to represent data in a compact manner.17,11

(10)

Definition 3.2 (Succinctness). A target languageL1 isat least as succinct as an- other target languageL2(denotedL1sL2) if and only if there exists a polynomial P(·) such that for each elementφofL2, there exists an elementψofL1having the same interpretation and verifyingkψk ≤P(kφk).

Relation≤sis a preorder. We denote∼s its symmetric part, and<sits asym- metric part. Of course, L1LL2⇒L1P L2⇒L1sL2.

To highlight the relationship between MVDs and theNNFknowledge compilation map,11 let us consider the Boolean case. For any sublanguageL of MVD, let LB be the sublanguage of Lobtained when restricting it to Boolean variables.

TheBDDand MDDB languages are linearly equivalent: to transform a BDD into a Boolean MDD, remove the⊥-leaf and reduce the graph. To transform a Boolean MDD into a BDD, add a ⊥-leaf, and for any node that has only one outgoing edge E, add an edge pointing to the⊥-leaf, labeled by 0 if Lbl(E) = 1 and by 1 otherwise.

Proposition 3.3. MDDBLBDD,OMDDBLOBDD, andOMDDB<LOBDD<.

As they are not necessarily deterministic, multivalued variable diagrams capture fragments beyond theBDDfamily. DNFs, for instance, can be represented as OMVDs in linear time, although some DNFs have no polynomial OBDD (and thus OMVD) representation.OMVD can hence be seen as a proper “superset” ofDNF.

Proposition 3.4. It holds thatOMVDB<L DNFandOMVDB<6≥sDNF.

Finally, it holds thatOMDDB⊆d-DNNFandOMVDB⊆DNNF; moreover,d-DNNF<s

OMDDB (since OMDDBL OBDD). Figure 2 summarizes our results: OMVDB appears as a new fragment in the NNFsuccinctness map, that takes place below DNNF and aboveDNFandOBDD. Deciding whetherOMVDBandDNNFcoincide, and more generally extending MVDs to DNNF-like forms, is a work left to further research.

DNNF

OMVDB

OMVDB

<

d-DNNF

OMDDB

<LOBDD<

DNF

OMDDBLOBDD

Fig. 2. OMVDB and its sublanguages in theDNNF succinctness map. An edgeL1 L2 indicates that L1 is strictly more succinct than L2. Dashed edges indicate incomplete results. Relations deducible by transitivity are not represented, which means that two fragments not being ancestors to each other are incomparable with respect to succinctness.

(11)

4. The Knowledge Compilation Map of MVDs 4.1. Succinctness

The results of our succinctness analysis are depicted in Table 1 (see also Figure 2 for the Boolean case).

Table 1. Results about succinctness.

L MVD MDD OMVD OMDD OMVD< OMDD<

MVD s s s s s s

MDD ? s ? s ? s

OMVD 6≤s 6≤s s s s s OMDD 6≤s 6≤s 6≤s s 6≤s s OMVD< 6≤s 6≤s 6≤s 6≤s s s OMDD< 6≤s 6≤s 6≤s 6≤s 6≤s s

Theorem 4.1. The results in Table 1 hold.

Some of these results are not surprising and directly follow from the fact that OMDDandOMDD<collapse intoOBDDandOBDD<when domains are Boolean:OMDD<6≤s OMDD is a straightforward consequence of OBDD< 6≤s OBDD. Some other results are derived from the NNF map in a less immediate way; for instance OMDD 6≤s OMVD<

holds since OMVDB<L DNF and OBDD ∼s OMDDB: if OMDD ≤s OMVD< were true, we could deriveOBDD≤sDNF, which has been proven false.11

Some results are harder to get. For instance, in order to prove thatOMVD6≤sMDD, we used then-coloring problem of a clique containingnvertices. On the one hand, it can be shown that the set of solutions Sol of this problem can be represented as an MDD of size polynomial in n. On the other hand, it is possible to prove that any OMVD representing Sol contains at least 2n nodes. Figure 3 shows the corresponding blow-up on a small instance.

We getOMVD< 6≤s OMDD by generalizing the classical proof of OMDD< 6≤s OBDD:

we can show that when compiling the CSP Vn

i=1[yi=zi], non-determinism cannot

x1 x2

x2

x2

x3

x3

x3

x

1

x

2

x

6

3

=

6 = 6 =

1

2

3

2

3 1 3

2

3

2 1

1

Fig. 3. The “Alldifferent” coloring problem on a complete graph (3 variables, 3 colors) and an OMDD representing its set of solutions (x1< x2< x3).

(12)

compensate for the exponential blow-up caused by ordering all yi before allzi. We also get a direct proof ofOMDD<6≤sOMVD< by considering another CSP, the problem ofn-coloring a star graph withnvertices (see Figure 1 for an example with n= 3). Letx1be the center of the star, and consider the orderxn <· · ·< x2< x1: the OMDD on <representing this problem contains at least 2n nodes andn·2n−1 edges, whereas it can be shown that this CSP can be represented by an OMVD on the same order <and of size polynomial inn.

4.2. Queries and transformations

As outlined by Darwiche and Marquis,11evaluating the suitability of a target com- pilation language for a particular application consists in balancing its succinctness against the set of requests that it supports in polynomial time. The requests iden- tified by Darwiche and Marquis are oriented towards applications in knowledge management, yet most of them are still meaningful in some applications targeted by the CSP framework. We enrich this set by a few new requests, raised by more decision-oriented applications.

• The most usual requests are checking the consistency of the CSP (CO), ex- tracting one solution (MX), enumerating all solutions (ME), and counting (CT) the number of solutions.

• The “context extraction” query (CX) aims at providing the user with all possible values of a variable of interest.

• The “conditioning” operation (CD) assigns values to some variables. More generally, the “term restriction” transformation (TR) restricts the possible values of some variables to a subset of their domains.TR,CDandCXare often used in sequence in interactive CSP solving, where users iteratively look for the possible values of the next variables and restrict them according to their preferences.3

• “Clausal entailment” (CE) is a request coming from reasoning problems:

it consists in determining whether all the solutions of a problem satisfy a disjunction of elementary conditions (unary constraints). Reasoning AI applications raise other requests, like VA (is a formula valid?) and ¬C (compute the negation of a given formula).

• The equivalence (EQ) and sentential entailment (SE) requests come from model checking. They can be useful for CSP modeling problems:SEcorre- sponds to checking whether a set of constraints is a semantic relaxation of another one (whether the assignments satisfying the latter also satisfy the former);EQis the equivalence test.

• Interactive modeling applications can also involve the manipulation of com- piled constraints, with conjunction (∧C), disjunction (∨C) and the afore- mentioned negation (¬C), so as to build composed constraints from a few operators. This interactive modeling process can also rely on other oper- ations to check the resulting constraint (or problem), e.g., by projecting,

(13)

through aCXoperation, the constraint on one of its variables.

• The forgetting operation (FO) allows one to eliminate some (intermediate) variables from the problem—this amounts to an existential projection of the problem. Its dual operation, ensuring (EN), performs a universal variable elimination. The forgetting and ensuring operations are notably relevant for compilation-based approaches of planning, such as the “planning as model checking” paradigm.8

All these operations are often performed in sequence. Conditioning (CD) fol- lowed by model extraction (MX) can for instance be useful in planning under uncertainty: if we suppose that a decision policyπassociating decisions with states has already been compiled, CD allows π to be conditioned by the current state, whereasMXallows a valid decision for that state to be extracted. Another example is given by online diagnosis applications: the (compiled) model of the system is first conditioned by the observations (CD), thenCXcan give the possible failure modes of each component in the system. More complex failure hypotheses can be checked via clausal entailment (CE) queries.

Let us now adopt a more formal stance. In a compilation map, the ability of a language Lto efficiently achieve operations defines properties of L, which Lcan satisfy or not. These properties serve as criteria for deciding whetherLis appropriate as a target compilation language for a given problem. More precisely, the operations mentioned above can be partitioned into two sets, viz., thetransformationsand the queries. Transformations take as input a (compiled) problem and return another one (e.g., the conditioning of a CSP by some assignment produces a CSP with less variables). Queries do not modify the problem, but simply answer a question (e.g., checking the consistency of a CSP).

We formally define the queries and transformations described above; while some are straightforward generalizations of the Boolean case,11 some others need to be carefully adapted. Let us begin with queries.

Definition 4.2 (Queries). LetLdenote a sublanguage ofMVD.

• L satisfies CO (resp. VA) if and only if there exists a polynomial algo- rithm that maps every MVD φ in L to 1 if φ has a model (resp. has no countermodel), and to 0 otherwise.

• LsatisfiesMCif and only if there exists a polynomial algorithm that maps every MVDφinLand any Scope(φ)-assignment~xto 1 if~xis a model ofφ and to 0 otherwise.

• LsatisfiesCE(resp.IM) if and only if there exists a polynomial algorithm that maps any MVDφin L, any set of variables{x1, . . . , xk} ⊆Scope(φ), and any sequence hA1, . . . , Aki of finite sets of integers such that ∀i ∈ {1, . . . , k}, Ai⊆Dom(xi), to 1 if Mod(φ))⊆Mod([x1∈A1]∨· · ·∨[xk∈Ak]) (resp. Mod([x1∈A1]∧ · · · ∧[xk ∈Ak])⊆Mod(φ)) and to 0 otherwise.

• LsatisfiesSE(resp.EQ) if and only if there exists a polynomial algorithm

(14)

that maps every pair of MVDshφ, ψiinLsuch that Scope(φ) = Scope(ψ), to 1 if Mod(φ)⊆Mod(ψ) (resp. Mod(φ) = Mod(ψ)), and to 0 otherwise.

• LsatisfiesMXif and only if there exists a polynomial algorithm that maps every MVDφinLto a model ofφif there exists one, and that stops without returning anything otherwise.

• LsatisfiesCX if and only if there exists a polynomial algorithm that out- puts, for anyφin Land any y∈Scope(φ), the set of all values taken byy in at least one model of φ.

• LsatisfiesCTif and only if there exists a polynomial algorithm that maps every MVDφinLto its number of models|Mod(φ)|.

• LsatisfiesMEif and only if there exists a polynomialP(·,·) and an algo- rithm that enumerates, for every MVDφinL, its set of models Mod(φ), in timeP(kφk,|Mod(φ)|).

Before defining transformations, we present the semantic operations on which they are based.

Definition 4.3. Let I and J be the interpretation functions of some MVDs.

• Given a set of variablesY ⊆Scope(I), theforgettingofY in I is the function Forget(I, Y) of scope Z = Scope(I)\Y, such that Forget(I, Y)(~z) = ⊤if and only if there exists a Y-assignment~y verifying I(~z . ~y) =⊤.

• Given a set of variablesY ⊆Scope(I), theensuringofY in I is the function Ensure(I, Y) of scopeZ = Scope(I)\Y, such that Ensure(I, Y)(~z) =⊤if and only if for allY-assignment~y, it holds that I(~z . ~y) =⊤.

• The restriction of I to J, denoted I|J, is defined by I|J = Forget(I∧J,Scope(J)).

• Given an assignment ~y of some set of variables Y ⊆ Scope(I), thecondi- tioning of I by~y is the function I|~y of scopeZ = Scope(I)\Y, defined by I|~y(~z) = I(~y . ~z).

Definition 4.4 (Transformations). LetLdenote a sublanguage of MVD.

• LsatisfiesCDif and only if there exists a polynomial algorithm that maps every MVDφinLand every assignment~xofX ⊆Scope(φ) to an MVDφ in Lsuch that I(φ) = I(φ)|~x.

• L satisfiesTRif and only if there exists a polynomial algorithm mapping any MVDφinL, any set of variables{x1, . . . , xk} ⊆Scope(φ) and any se- quencehA1, . . . , Akiof finite sets of integers such that∀i∈ {1, . . . , k}, Ai ⊆ Dom(xi), to an MVDφ in Lverifying I(φ) = I(φ)|[x1∈A1]∧···∧[xk∈Ak].

• LsatisfiesFO(resp.EN) if and only if there exists a polynomial algorithm that maps every MVDφinLand everyY ⊆Scope(φ) to an MVD φ inL such that I(φ) = Forget(I(φ), Y) (resp. I(φ) = Ensure(I(φ), Y)).

• LsatisfiesSFO(resp.SEN) if and only if it satisfiesFO(resp.EN) when limited to a single variable (i.e.,|Y|= 1).

(15)

• Lsatisfies∨C(resp.∧C) if and only if there exists a polynomial algorithm that maps every finite tuplehφ1, . . . , φkiof MVDs in Lto an MVDφ inL such that I(φ) =Wk

i=1I(φi) (resp. I(φ) =Vk

i=1I(φi)).

• Lsatisfies∨BC(resp.∧BC) if and only if it satisfies ∨C(resp.∧C) when limited to a pair of MVDs (i.e.,k= 2).

• Lsatisfies¬C if and only if there exists a polynomial algorithm that maps every MVDφinLto an MVDφ in Lsuch that I(φ) =¬I(φ).

The results of our analysis of the complexity of queries and transformations are depicted in Tables 2 and 3.

Theorem 4.5. The results in Tables 2 and 3 hold.

Results for MDD, OMDD, and OMDD< are generally known or follow directly from previous works.14,5,11OMDDs have almost the same capabilities as OBDDs, which is not surprising, given how strong their relationship is. However, note that single

Table 2. Results about queries.

L CO VA MC CE IM EQ SE MX CX CT ME

MVD

MDD

OMVD

OMDD

OMVD<

OMDD<

DNF

DNNF

d-DNNF

?

OBDD

OBDD<

Note:

means “satisfies”, andmeans “does not satisfy, unlessP=NP”. Most results for DNF,DNNF,d-DNNF,OBDD, andOBDD<are from theNNFmap and are given here as a baseline.

Table 3. Results about transformations.

L CD TR FO SFO EN SEN C BC C BC ¬C

MVD

?

MDD

OMVD

? ?

OMDD

OMVD<

OMDD<

DNF

DNNF

d-DNNF

?

OBDD

OBDD<

Note:

means “satisfies”, means “does not satisfy”, andmeans “does not satisfy, unless P=NP”. Most results forDNF,DNNF,d-DNNF,OBDD, andOBDD<are from theNNFmap and are given here as a baseline.

(16)

forgetting and single ensuring, while satisfied by OBDD, are not satisfied by OMDD;

this is due to the domain sizes being unbounded.

More interestingly, Theorem 4.5 puts forward the attractiveness of non- deterministicOMVDs with respect to transformations. Indeed,OMVD<satisfies more transformations than OMDD<, “losing” only the negation transformation; yet it is strictly more succinct than OMDD<. Similarly, OMVD< is strictly more succinct than DNF, and yet they satisfy the same transformations; the only exception isSEN, but DNFonly satisfies it because it is limited to Boolean variables (it does not satisfy it when extended to finite-domain variables).

As for performances with respect to queries,OMVDandOMVD<are less interesting than their deterministic counterparts. However, “only” CT, VA, EQ, IM, and SE are lost when determinism is relaxed (remark that the same requests are lost when comparing DNNF tod-DNNF)—hence the interest of these languages for many applications that do not involve these requests, such as planning, in which one needs to often check consistency, forget variables and extract models, or online configuration, which relies essentially on conditioning and context extraction.

5. Experimental Results

Table 4 reports some results18obtained on randomly generated CSPs containing 15 variables whose domain size is equal to 6. For each line, 50 random problems are generated. For each of these problems, the order<on the variables used in the com- piled forms is built via the MCSInv heuristics,19which iteratively chooses a variable connected to the greatest number of remaining variables in the constraint graph.

The OMDD compiler we use follows the bottom-up approach4: each constraint is compiled as an OMDD, and the elementary OMDDs obtained are then combined

Table 4. Results for randomly generated binary CSPs (15 variables, domain size equal to 6).

%T %C #SOL #N OMVD #N OMDD

10 290888073 80 81

20 136056826 1338 1558

70 30 5006576 5662 8132

40 95131 3315 5005

50 2367 737 897

20 1581648506 2572 2932

30 189551100 12223 16370

80 40 11557737 20501 35486

50 1035884 13815 25240

60 70185 5776 9253

70 4662 1719 2246

80 229 54 401

Note: %T denotes the percentage of tuples satisfying each constraint; %C the density of the constraint graph; #SOL the number of solutions of the CSP; #N the number of nodes in the compiled form.

(17)

by conjunction. The compilation can be pursued by using additional compacting operations, which generalize the merging of isomorphic nodes without preserving determinism20; in the end, an OMVD is obtained.

It appears that the interest of non-deterministic structures is not limited to a few specific problems like those used in proofs: indeed, even on random CSPs, allowing non-deterministic compacting operations can sometimes divide by 2 or more the number of nodes in the graph.

6. Conclusion

Both theoretical complexity results and experiments show that relaxing the deter- minism requirement in ordered decision diagrams can improve succinctness. Re- laxing determinism also allows more transformations to be achieved in polynomial time: typically, all transformations (except for SEN, which depends on the do- main size) satisfied by DNF are also satisfied by OMVD<. This includes forgetting and disjunction, which are not satisfied by deterministic languages. The price to pay when putting determinism away is the loss of the negation transformation, and of the counting, validity, equivalence, and implication queries (note that the same operations are lost when going from deterministic to non-deterministic DNNFs).

As a result, OMVD< is especially appealing for applications relying on transforma- tions (with the exception of negation) and on basic consistency queries (CO,MX, ME,CX), such as planning and online configuration. From the theoretical point of view, we also established that, when restricted to Boolean domains,OMVD< is a new fragment in theNNF map, belowDNNF and above DNFand OBDD. Moreover,OMVD<

satisfies more queries and transformations than DNNFdoes.

The next step is to introduce decomposable AND nodes in the MVD framework.

This should allow AND/OR graphs to be captured, and also new fragments to be defined, such as non-deterministic AND/OR graphs.

Acknowledgements

This work is partially supported by the project BR4CP ANR-11-BS02-008 of the French National Agency for Research.

References

1. E. C. Freuder and C. D. Elfe, “Neighborhood inverse consistency preprocessing,” in Proceedings of the National Conference on Artificial Intelligence (AAAI), 1996, pp.

202–208.

2. E. Gelle and R. Weigel, “Interactive configuration using constraint satisfaction tech- niques,” in Second International Conference on Practical Application of Constraint Technology (PACT). Menlo Park, AAAI Press, 1996, pp. 37–44.

3. J. Amilhastre, H. Fargier, and P. Marquis, “Consistency restoration and explanations in dynamic CSPs—Application to configuration,”Artificial Intelligence Journal, vol.

135, no. 1–2, pp. 199–234, 2002.

(18)

4. N. R. Vempaty, “Solving constraint satisfaction problems using finite state automata,”

inProceedings of the National Conference on Artificial Intelligence (AAAI), 1992, pp.

453–458.

5. T. Kam, T. Villa, R. K. Brayton, and A. Sangiovanni-Vincentelli, “Multi-valued de- cision diagrams: Theory and applications,”Multiple-Valued Logic, vol. 4, no. 1–2, pp.

9–62, 1998.

6. H. R. Andersen, T. Hadzic, J. N. Hooker, and P. Tiedemann, “A constraint store based on multivalued decision diagrams,” inProceedings of the International Conference on Principles and Practice of Constraint Programming (CP), 2007, pp. 118–132.

7. H. Cambazard, T. Hadzic, and B. O’Sullivan, “Knowledge compilation for itemset mining,” inProceedings of the European Conference on Artificial Intelligence (ECAI), 2010, pp. 1109–1110.

8. F. Giunchiglia and P. Traverso, “Planning as model checking,” inProceedings of the European Conference on Planning (ECP), 1999, pp. 1–20.

9. J. Hoey, R. St-Aubin, A. J. Hu, and C. Boutilier, “SPUDD: Stochastic planning using decision diagrams,” inProceedings of the Conference on Uncertainty in Artificial Intelligence (UAI), 1999, pp. 279–288.

10. P. Torasso and G. Torta, “Model-based diagnosis through OBDD compilation: A com- plexity analysis,” inReasoning, Action and Interaction in AI Theories and Systems, 2006, pp. 287–305.

11. A. Darwiche and P. Marquis, “A knowledge compilation map,” Journal of Artificial Intelligence Research (JAIR), vol. 17, pp. 229–264, 2002.

12. R. E. Bryant, “Graph-based algorithms for Boolean function manipulation,” IEEE Transactions on Computers, vol. 35, no. 8, pp. 677–691, 1986.

13. H. Fargier and P. Marquis, “On the use of partially ordered decision graphs in knowl- edge compilation and quantified Boolean formulae,” inProceedings of the AAAI Con- ference on Artificial Intelligence (AAAI), 2006.

14. A. Srinivasan, T. Kam, S. Malik, and R. K. Brayton, “Algorithms for discrete function manipulation,” in Proceedings of the International Conference on Computer Aided Design (ICCAD), Nov. 1990, pp. 92–95.

15. T. Hadzic, E. R. Hansen, and B. O’Sullivan, “On automata, MDDs and BDDs in constraint satisfaction,” inProceedings of the ECAI Workshop on Inference methods based on Graphical Structures of Knowledge (WIGSK), 2008.

16. H. Fargier and P. Marquis, “Extending the knowledge compilation map: Krom, Horn, affine and beyond,” inProceedings of the AAAI Conference on Artificial Intelligence (AAAI), 2008, pp. 442–447.

17. G. Gogic, H. A. Kautz, C. H. Papadimitriou, and B. Selman, “The comparative linguis- tics of knowledge representation,” inProceedings of the International Joint Conference on Artificial Intelligence (IJCAI), 1995, pp. 862–869.

18. J. Amilhastre, “Repr´esentation par automate d’ensemble de solutions de probl`emes de satisfaction de contraintes,” Ph.D. dissertation, Universit´e Montpellier II, 1999.

19. R. E. Tarjan and M. Yannakakis, “Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs,”

SIAM Journal on Computing, vol. 13, no. 3, pp. 566–579, 1984.

20. J. Amilhastre, P. Janssen, and M.-C. Vilarem, “FA minimisation heuristics for a class of finite languages,” in International Workshop on Implementing Automata (WIA), 1999, pp. 1–12.

21. A. Niveau, H. Fargier, and C. Pralet, “Representing CSPs with set-labeled diagrams: A compilation map,” inProceedings of the International Workshop on Graph Structures for Knowledge Representation and Reasoning (GKR)2011 — Revised Selected Papers,

(19)

ser. Lecture Notes in Computer Science, vol. 7205. Springer, 2012, pp. 137–171.

22. C. Meinel and T. Theobald,Algorithms and Data Structures in VLSI Design: OBDD

— Foundations and Applications. Springer, 1998.

Appendix A. Proofs

This appendix gathers all proofs of propositions and theorems in the paper. Note that most results are already known, straightforward, or inherited from the BDD framework; we tried to be exhaustive to save the reader the need to refer to nu- merous sources while checking proofs. These sources include, as far as we know, the original knowledge compilation map,11 works about MDDs,14,5 and our knowledge compilation map of set-labeled diagrams21 (from which a number of the following proofs are directly taken or lightly adapted).

As usual with compilation maps, several proofs use the fact that all languages presented allow Boolean terms and clauses to be represented in linear time and space. The proof is taken from the Boolean case.11

Lemma A.1. Given an order<between variables, any term or clause in proposi- tional logic can be expressed in the OMDDB< language in linear time.

Proof. In order to represent a term t =ℓ1∧ · · · ∧ℓk or a clausec = ℓ1∨ · · · ∨ℓk

as an OMDD, let us order its literals in such a way that i < j if and only if Var(ℓi)<Var(ℓj). Then, let us build a chain of nodesN1, . . . , Nk, Nk+1, where for eachi∈ {1, . . . , k}, Var(Ni) = Var(ℓi) and whereNk+1 is a sink.

For the term, edges are as follows: each non-sink node Ni has one child Ni+1, and the edge label is⊤ifℓi is a positive literal and⊥ifℓi is a negative literal.

For the clause, edges are as follows: each node Ni for i < k has two children, Ni+1 and the sink Nk+1. If ℓi is a positive literal, the edge pointing to Ni+1 is labeled⊥and the one pointing toNk+1 is labeled⊤. Ifℓi is a negative literal, it is the opposite. Finally,Nk has the sink as unique successor, via an edge labeled⊤if ℓk is a positive literal, and⊥otherwise.

A.1. MVDs in the NNF map

Proof of Proposition 3.4. We first show thatOMVDB<L DNF. Letφbe a DNF, and

< a strict total order on Scope(φ). First, let us transform each term in φ into a Boolean-variable OMDD, ordered with respect to <; thanks to Lemma A.1, we know that this process is in linear time, and thus that the term-OMDDs we obtain are of size linear in the size of φ. Letxbe the smallest variable (for<) mentioned in any of the term-OMDDs. Note thatxcan only appear in a root node; merge all the roots labeled withxinto a single root nodeR. Then, for each term-OMDD that does not mentionx, denotingN its root, add two edgeshR, N,⊤i andhR, N,⊥i.

The resulting graph, denotedψ, is an element ofOMVDB< (it does not satisfy the decision property when φ contains at least two terms), and has been obtained in time linear in the size ofφ. We now show thatφandψhave the same interpretation.

(20)

Let~y∈Mod(φ);~y satisfies at least one term inφ. If this term containsx, then the root of the corresponding term-OMDD has been merged into the root of ψ; if it does not contain x, by construction, there exists an edge labeled with ~y|xbetween the root of ψand the root of the corresponding term-OMDD. In both cases, there exists a path from the root to the sink ofψthat is compatible with~y.

Reciprocally, let~y∈Mod(ψ). There exists a path from the root to the sink ofψ that is compatible with~y. This path traverses one of the term-OMDDs, so~ysatisfies one of the terms in φ, therefore it is a model ofφ. All in all, we can translate any DNF intoOMVDB< in linear time, henceOMVDB<L DNF.

We now show that OMVDB< 6≥sDNF. It is clear that OMDDB<s OMVDB<, since any OMDD is an OMVD. IfOMVDB<sDNFheld, we could infer thatOMDDB<sDNF, and sinceOMDDB<LOBDD(Prop. 3.3), thatOBDD≥sDNF. However, this is false,11 hence OMVDB<6≥sDNFholds.

A.2. Succinctness proofs (Theorem 4.1) Proposition A.2. OMVD<6≤sOMDD.

Proof. LetX be a set of 2nBoolean variables, and let<b be a total strict order on X. We are going to show that there exists a family Γn of Boolean functions over X, and a total strict order<a onX, such that

• Γn can be represented as an OMDD on<a of size polynomial inn;

• all representations of Γn as OMVDs on<b are of size exponential inn.

Let us consider thatX is partitioned into two sets,Y ={y1, . . . , yn} andZ = {z1, . . . , zn}, such that the total strict order<b onX verifies

y1<by2<b. . . <b yn <b z1<bz2<b. . . <bzn. Let Γnbe the Boolean functionVn

i=1[yi=zi]. We consider the total strict order<a onX, defined as

y1<a z1 <a y2<az2 <a . . . <a yn<azn.

Γn can be represented as an OMDD on <a of size polynomial in n: each con- straint xi = yi can be represented as an OMDD with only 3 nodes and 4 edges (recall variables in X are Boolean), and since they do not share variables, these small OMDDs can be chained (replacing the sink of each one by the root of the next one) into an OMDD respecting the order<a, which we denote asφan.

Now, we show that the size of any OMVD on<brepresenting Γnis exponential in n. Let φbn be an OMVD on <b representing Γn. Consider an edge EhN, N, ai in φbn, representing the assignment of some variableyi (that is, an edge in the first half of the graph).

Let us consider a pathpfrom the root the sink ofφbn includingE. On this path, the value ofzi must bea, by definition of Γn. Therefore, there can be no path from the root toN on whichyi is assigned a different value thana.

(21)

More generally, any two paths from the root toN correspond either to identical or to completely disjoint assignments ofy1, . . . , yi, Each of the possible assignments of variables fromY is thus represented by (at least) one path pointing to a distinct z1-node. Since there are 2n assignments of variables fromY, there are at least 2n nodes labeledz1. Hencekφbnk ≥2n: all representations of Γn as OMVDs on<b are of size exponential inn.

All in all, for any total strict variable order<, there exists a family Γnof Boolean functions that have polynomial representations as OMDDs but no polynomial rep- resentation inOMVD<:OMVD< 6≤sOMDD.

Proposition A.3. OMVD6≤sMDD.

Proof. Letn∈N. LetZnbe a set ofnvariables{z1, . . . , zn}of domain{1, . . . , n}.

Let Σn be the Boolean function defined as Σn≡alldiff(z1, . . . , zn), or equivalently:

Σn

n

^

i=1 i−1

^

j=1

[zi6=zj].

There exists an MDD of size polynomial in n representing Σn. Indeed, each constraint [zi 6=zj] can be represented as an MDD ofn2 edges (nedges forzi, and for each one, a zj-node with n−1 outgoing edges). Chaining these small MDDs (replacing the sink of each one by the root of the next one), we obtain an MDD of size polynomial inn.

Now, letφbe an OMVD representing of Σn; we consider, without loss of general- ity, that its variable order<verifiesz1<· · ·< zn. We prove thatkφkis exponential in n.

Leti∈ {1, . . . , n−1}; consider two distinct subsetsS andS of{1, . . . , n}such that |S|=|S|=i. Leta∈ {1, . . . , n} such that a∈S anda /∈S. Let~zS and~zS

be two{z1, . . . , zi}-assignments that cover all values inS andS, respectively. We consider two paths pS and pS from the root to the sink ofφ, compatible with ~zS

and ~zS, respectively. Suppose they go through a samezi+1-node N;pS assigns a to some variable before encountering N, and pS assigns a to some variable after having encounteredN. Then, the path obtained by joining the first part ofpS (from the root toN) and the second part ofpS (fromN to the sink) is a consistent path assigning ato two different variables. Since such a path violates the “alldifferent”

constraint, it is impossible, sopS andpS must go through two differentzi+1-nodes.

Hence, there are at least one zi+1-node for each S ⊆ {1, . . . , n} of cardinal i;

since there are!n i

such subsets, there are at least !n i

zi+1-nodes. The number of nodes in φis thus greater than Pn−1

i=1

!n i

= 2n−2.

All in all, family Σn has polynomial representations as MDDs, but only expo- nential representations as OMVDs, which provesOMVD6≤sMDD.

Proposition A.4. OMDD6≤sOMVD<.

Références

Documents relatifs

Motivated by applications in mathematical imaging, asymptotic expansions of the heat generated by single, or well separated, small particles are derived in [5, 7] based on

• DR(mindestroy) uses weights that are associated with each assigned vari- able; when assigned, the weight of a variable v is initialised with the num- ber of values its

We propose a new algorithm to decide whether a given finitely generated sub- group H is a free factor of the free group F , which is polynomial in the size of H and exponential in

Polyominoes, tiling the plane by translation, theorem of Beauquier- Nivat, pseudo-square, pseudo-hexagon, enumeration of special classes of polyominoes.. 1 Laboratoire

εἰ δὴ τὸ ὂν καὶ τὸ ἓν ταὐτὸν καὶ μία φύσις τῷ ἀκολουθεῖν ἀλλή- λοις ὥσπερ ἀρχὴ καὶ αἴτιον, ἀλλ’ οὐχ ὡς ἑνὶ λόγῳ δηλού- μενα (δι- αφέρει δὲ οὐθὲν οὐδ’ ἂν ὁμοίως

(We don’t consider shallow approximations in this paper since they are a restricted case of growing approximations without resulting in any obvious lower complexity.) It is known

Then note that if these modifications are performed, then, in order to get a strong orientation of G H , for every representative pair {u, v}, we would need to have the path of length

We place a tester at each port and if the testers cannot directly communicate and there is no global clock then we are using the distributed test architecture.. It is known that