AND/OR Multi-Valued Decision Diagrams for Constraint Networks

Similar documents
Compiling Constraint Networks into AND/OR Multi-Valued Decision Diagrams (AOMDDs)

AND/OR Multi-Valued Decision Diagrams (AOMDDs) for Graphical Models

AND/OR Cutset Conditioning

The Relationship Between AND/OR Search and Variable Elimination

Model Checking I Binary Decision Diagrams

Binary Decision Diagrams

AND/OR Search Spaces for Graphical Models

Advancing AND/OR Search for Optimization Using Diverse Principles

Boolean Representations and Combinatorial Equivalence

Best-First AND/OR Search for Graphical Models

Behavior models and verification Lecture 6

Joint Entity Resolution

Evaluating the Impact of AND/OR Search on 0-1 Integer Linear Programming

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Search Algorithms for Solving Queries on Graphical Models & the Importance of Pseudo-trees in their Complexity.

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems*

Distributed minimum spanning tree problem

A Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets

On the Practical Significance of Hypertree vs Tree Width

Integrating Probabilistic Reasoning with Constraint Satisfaction

Mixed deterministic and probabilistic networks

Computer Vision Group Prof. Daniel Cremers. 4. Probabilistic Graphical Models Directed Models

Knowledge Compilation Properties of Tree-of-BDDs

Core Membership Computation for Succinct Representations of Coalitional Games

Computer Vision Group Prof. Daniel Cremers. 4. Probabilistic Graphical Models Directed Models

Treewidth and graph minors

An Effective Upperbound on Treewidth Using Partial Fill-in of Separators

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees

Machine Learning Lecture 16

A General Scheme for Automatic Generation of Search Heuristics from Specification Dependencies. Kalev Kask and Rina Dechter

CS521 \ Notes for the Final Exam

Best-First AND/OR Search for Most Probable Explanations

The Encoding Complexity of Network Coding

Mini-Buckets: A General Scheme for Generating Approximations in Automated Reasoning

Recoloring k-degenerate graphs

Towards Parallel Search for Optimization in Graphical Models

Ch9: Exact Inference: Variable Elimination. Shimi Salant, Barak Sternberg

Binary Decision Diagrams (BDD)

Constraint Satisfaction Problems

3.1 Basic Definitions and Applications

Markov Random Fields

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

CS301 - Data Structures Glossary By

Optimization I : Brute force and Greedy strategy

STAT 598L Probabilistic Graphical Models. Instructor: Sergey Kirshner. Exact Inference

Evaluating the impact of AND/OR search on 0-1 integer linear programming

Foundations of Computer Science Spring Mathematical Preliminaries

A CSP Search Algorithm with Reduced Branching Factor

Interaction Between Input and Output-Sensitive

D-Separation. b) the arrows meet head-to-head at the node, and neither the node, nor any of its descendants, are in the set C.

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems*

Maximal Prime Subgraph Decomposition of Bayesian Networks: A Relational Database Perspective

Utilizing Device Behavior in Structure-Based Diagnosis

Bayesian Networks and Decision Graphs

Graph and Digraph Glossary

Byzantine Consensus in Directed Graphs

Module 5 Graph Algorithms

Introduction III. Graphs. Motivations I. Introduction IV

Modern Exact and Approximate Combinatorial Optimization Algorithms: Max Product and Max Sum product

CMTreeMiner: Mining Both Closed and Maximal Frequent Subtrees

Processing Probabilistic and Deterministic Graphical Models. Rina Dechter DRAFT

Distributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch

Reference Sheet for CO142.2 Discrete Mathematics II

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Programming Languages Third Edition

Algorithm Design (8) Graph Algorithms 1/2

Assignment 4 Solutions of graph problems

Solving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s

STA 4273H: Statistical Machine Learning

LOGIC AND DISCRETE MATHEMATICS

These definitions cover some basic terms and concepts of graph theory and how they have been implemented as C++ classes.

Acyclic Network. Tree Based Clustering. Tree Decomposition Methods

Efficient Generation of Evolutionary Trees

FMA901F: Machine Learning Lecture 6: Graphical Models. Cristian Sminchisescu

Consistency and Set Intersection

Topological parameters for time-space tradeoff

Lecture Notes on Binary Decision Diagrams

st-orientations September 29, 2005

Definition of Graphs and Trees. Representation of Trees.

MAL 376: Graph Algorithms I Semester Lecture 1: July 24

Conflict Graphs for Combinatorial Optimization Problems

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis

An algorithm for Performance Analysis of Single-Source Acyclic graphs

An Inference Mechanism for Point-Interval Logic

AND/OR Graph Search for Genetic Linkage Analysis

Chapter 8: Data Abstractions

Faster parameterized algorithms for Minimum Fill-In

mywbut.com Uninformed Search

Query Processing & Optimization

Organizing Spatial Data

CSE 473: Artificial Intelligence

Index. C cmp;l, 126. C rq;l, 127. A A sp. B BANDWIDTH, 32, 218 complexity of, 32 k-bandwidth, 32, 218

15.4 Longest common subsequence

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

Exact Algorithms Lecture 7: FPT Hardness and the ETH

On Structural Parameterizations of the Matching Cut Problem

Transcription:

N/OR Multi-Valued ecision iagrams for onstraint Networks Robert Mateescu, and Rina echter 2 lectrical ngineering epartment, alifornia Institute of Technology Pasadena, 925 mateescu@paradise.caltech.edu 2 onald ren School of Information and omputer Science, University of alifornia, Irvine Irvine, 92697 dechter@ics.uci.edu bstract. The paper is an overview of a recently developed compilation data structure for graphical models, with specific application to constraint networks. The N/OR Multi-Valued ecision iagram (OM) augments well known decision diagrams (Os, Ms) with N nodes, in order to capture function decomposition structure. The OM is based on a pseudo tree of the network, rather than a linear ordering of its variables. The OM of a constraint network is a canonical form given a pseudo tree. We describe two main approaches for compiling the OM of a constraint network. The first is a top down, search-based procedure, that works by applying reduction rules to the trace of the memory intensive N/OR search algorithm. The second is a bottom up, inference-based procedure, that uses a ucket limination schedule. or both algorithms, the compilation time and the size of the OM are, in the worst case, exponential in the treewidth of the constraint graph, rather than pathwidth as is known for ordered binary decision diagrams (Os). Introduction The paper is an overview of N/OR Multi-Valued ecision iagrams (OMs) as a compiled data structure for constraint networks. We present here an extension of the work in [], while still maintaining the focus on constraint networks. OMs for weighted graphical models and for constraint optimization were presented in [2, 3]. The OM is based on two existing frameworks: () N/OR search spaces for graphical models; (2) decision diagrams. N/OR search spaces [4 6] have proven to be a unifying framework for various classes of search algorithms for graphical models. The main novelty is the exploitation of independencies between variables during search, which can provide exponential speedups over traditional search methods that can be viewed as traversing an OR structure. The N nodes capture problem decomposition into independent subproblems, and the OR nodes represent branching according to variable values. ecision diagrams are widely used in many areas of research, especially in software and hardware verification [7, 8]. represents a oolean function by a directed This work was done while at the University of alifornia, Irvine.

acyclic graph with two sink nodes (labeled 0 and ), and every internal node is labeled with a variable and has exactly two children: low for 0 and high for. If isomorphic nodes were not merged, we would have the full search tree explored by the backtracking algorithm. The tree is ordered if variables are encountered in the same order along every branch. It can then be compressed by merging isomorphic nodes (i.e., with the same label and identical children), and by eliminating redundant nodes (i.e., whose low and high children are identical). The result is the celebrated reduced ordered binary decision diagram, or O for short, introduced by ryant [9]. owever, the underlying structure is OR (i.e., linear structure rather than tree). If N/OR search trees are reduced by node merging and redundant nodes elimination we get a compact search graph that can be viewed as a representation augmented with N nodes. This paper shows how to combine the two ideas, creating a decision diagram that has an N/OR structure, thus exploiting problem decomposition. s a detail, the number of values is also increased from two to any constant. In the context of constraint networks, decision diagrams can be used to represent the whole set of solutions, facilitating solutions count, solution enumeration and queries on equivalence of constraint networks. The benefit of moving from OR structure to N/OR is in a lower complexity of the algorithms and size of the compiled structure. It typically moves from being bounded exponentially in pathwidth pw, which is characteristic to chain decompositions or linear structures, to being exponentially bounded in treewidth w, which is characteristic of tree structures (it always holds that w pw and pw w log n). In both cases, the compiled structure achieved in practice is often far smaller than what the bounds suggest. decision diagram offers a compilation of a propositional knowledge-base. multi-valued N/OR decision diagram extends compilation to general graphical models. The knowledge compilation approach has become an important research direction in automated reasoning in the past decades [0 2]. Typically, a knowledge representation language is compiled into a compact data structure on which various queries can be answered quickly. ccordingly, the computational effort can be divided between an offline and an online phase where most of the work is pushed offline. ompilation can also be used to generate compact building blocks to be used by online algorithms multiple times. Macro-operators compiled during or prior to search can be viewed in this light [3], while in graphical models the building blocks are the functions whose compact, compiled, representation can be used effectively across many tasks. s one example, consider product configuration tasks and imagine a user that chooses sequential options to configure a product. In a naive system, the user would be allowed to choose any valid option at the current level based only on the initial constraints, until either the product is configured, or else, when a dead-end is encountered, the system would backtrack to some previous state and continue from there. This would in fact be a search through the space of possible partial configurations. Needless to say, it would be very unpractical, and would offer the user no guarantee of finishing in a limited time. system based on compilation would actually build the backtrack-free search space in the offline phase, and represent it as compactly as possible. In the online phase, only valid partial configurations (i.e., that can be extended to a full valid

configuration) are allowed, and depending on the query type, response time guarantees can be offered in terms of the size of the compiled structure. Numerous other examples, such as diagnosis and planning problems can be formulated as graphical models, and for which compilation would be useful. ompilation in diagnosis can facilitate fast detection of possible faults or explanations for some unusual behavior. In planning, compilation would allow swift adjustments according to changes in the environment. Probabilistic models are one of the most used types of graphical models, and the basic query is to compute conditional probabilities of some variables given the evidence. compact compilation of a probabilistic model would allow fast response for any change in the evidence along time. ormal verification is another example where compilation is heavily used to compare equivalence of circuit design, or to check the behavior of a circuit. inary ecision iagram () [9] are arguably the most widely known and used compiled structure. Our OM proposal is related to two earlier research lines within the literature. The first is the work on isjoint Support ecompositions (S) [4], investigated within the area of design automation [5], that were proposed as enhancements for s aimed at exploiting function decomposition. The second is the work on trees [6]. nother related proposal is the recent work by argier and Vilarem [7] on compiling SPs into tree-driven automata. We will comment more on the relationship between these work and OM in the related work section. The structure of the paper is as follows. Section 2 provides the preliminaries. Section 3 gives and overview of N/OR search spaces. Section 4 introduces the OM and Section 5 shows that it is a canonical form for constraint networks. Section 6 describes a search based algorithm for compiling the OM. Section 7 presents a compilation algorithm based on a ucket limination schedule and the PPLY operation. Section 8 presents related work and Section 9 concludes. 2 Preliminaries constraint network and its associated graph are defined in the usual way: efinition (constraint network). constraint network is a 3-tuple R = X,,, where: X = {X,...,X n } is a set of variables; = {,..., n } is the set of their finite domains of values, with cardinalities k i = i and k = max n i= k i ; = {,..., r } is a set of constraints over subsets of X. ach constraint is defined as = (S i,r i ), where S i is the set of variables on which the constraint is defined, called its scope, and R i is the relation defined on S i. efinition 2 (constraint graph). The constraint graph (or primal graph) of a constraint network is an undirected graph, = (X, ), that has variables as its vertices and an edge connecting any two variables that appear in the scope (set of arguments) of the same constraint. pseudo tree resembles the tree rearrangements introduced in [8]: efinition 3 (pseudo tree). pseudo tree of a graph = (X,) is a rooted tree T having the same set of nodes X, such that every arc in is a backarc in T (i.e., it connects nodes on the same path from root).

f() 0 0 0 0 0 0 0 0 0 0 0 0 0 (a) Table 0 0 (b) Ordered tree (c) Isomorphic nodes (d) Redundant nodes (e) O ig.. oolean function representation and reduction rules efinition 4 (induced graph, induced width, treewidth, pathwidth). n ordered graph is a pair (,d), where is an undirected graph, and d = (X,...,X n ) is an ordering of the nodes. The width of a node in an ordered graph is the number of neighbors that precede it in the ordering. The width of an ordering d, denoted w(d), is the maximum width over all nodes. The induced width of an ordered graph, w (d), is the width of the induced ordered graph obtained as follows: for each node, from last to first in d, its preceding neighbors are connected in a clique. The induced width of a graph, w, is the minimal induced width over all orderings. The induced width is also equal to the treewidth of a graph. The pathwidth pw of a graph is the treewidth over the restricted class of orderings that correspond to chain decompositions. 2. inary ecision iagrams Review ecision diagrams are widely used in many areas of research to represent decision processes. In particular, they can be used to represent functions. ue to the fundamental importance of oolean functions, a lot of effort has been dedicated to the study of inary ecision iagrams (s), which are extensively used in software and hardware verification [7, 8]. ryant [9] introduced the Ordered inary ecision iagram (O). The order of variables along any path of an O is the same. Os provide a compact representation and efficient operations (the apply procedure, that combines two Os by an operation is at most quadratic in the sizes of the input diagrams). xample. igure (a) shows a table representation of a oolean function. binary tree representation is shown in igure (b). The internal round nodes represent the variables, the solid edges are the (or high) value, and the dotted edges are the 0 (or low) value. The leaf square nodes show the value of the function for each assignment along a path. The tree is ordered, because variables appear in the same order along each path. There are two reduction rules that transform a decision diagram into an equivalent one: () isomorphism: merge nodes that have the same label and the same children; (2)

() 2 () 3 () 4 () (a) onstraint network : h 4 () : 2 () h 3 () h 2 () : 3 () : () h () : 4 () (b) execution bucket- bucket- bucket- bucket- bucket- (c) ucket tree ig. 2. ucket limination redundancy: eliminate nodes whose low and high edges point to the same node, and connect parent of removed node directly to child of removed node. pplying the two reduction rules exhaustively yields a reduced O, sometimes denoted ro. We will just use O and assume that it is completely reduced. xample 2. igure (c) shows the binary tree from (b) after the isomorphic terminal nodes have been merged. The highlighted nodes, labeled with, are isomorphic, and igure (d) shows the result after they are merged. Now, the highlighted nodes labeled with and are redundant, and removing them gives the O in igure (e). 2.2 ucket limination Review ucket limination () [9] is a well known variable elimination algorithm for inference in graphical models. n ordering d = (X,X 2,...,X n ) of the variables guides the execution of. ach variable is associated with a bucket. ach constraint from is placed in the bucket of its latest variable in d. uckets are processed from X n to X by eliminating the bucket variable (the constraints residing in the bucket are joined together, and the bucket variable is projected out) and placing the resulting constraint (also called message) in the bucket of its latest variable in d. fter its execution, renders the network backtrack free, and a solution can be produced by assigning variables along d. can also produce the solutions count if marginalization is done by summation (rather than projection) over the functional representation of the constraints, and join is substituted by multiplication. also constructs a bucket tree, by linking the bucket of each X i to the destination bucket of its message (called the parent bucket). node in the bucket tree typically has a bucket variable, a collection of constraints, and a scope (the union of the scopes of its constraints). If the nodes of the bucket tree are replaced by their respective bucket variables, it is easy to see that we obtain a pseudo tree of the constraint graph. xample 3. igure 2(a) shows a network with four constraints. igure2(b) shows the execution of ucket limination along d = (,,,,). The buckets are processed from to 3. igure 2(c) shows the bucket tree. The pseudo tree corresponding to the order d is given in ig. 3(a). 3 igure 2 reverses the top down bucket processing described in earlier papers.

[ ] 0 0 [] 0 0 0 0 [] [] [] (a) Pseudo tree (b) Search tree (c) ontext minimal graph ig. 3. N/OR search tree 3 Overview of N/OR Search Space for onstraint Networks The N/OR search space is a recently introduced [4 6] unifying framework for advanced algorithmic schemes for graphical models. Its main virtue consists in exploiting independencies between variables during search, which can provide exponential speedups over traditional search methods oblivious to problem structure. Since N/OR Multi-Valued ecision iagrams are based on N/OR search spaces, we provide a comprehensive overview for completeness sake. 3. N/OR Search Tree The N/OR search tree is guided by a pseudo tree of the constraint graph. The idea is to exploit the problem decomposition into independent subproblems during search. ssigning a value to a variable (conditioning) is equivalent in graph terms to removing that variable (and its incident edges) from the constraint graph. partial assignment can therefore lead to the decomposition of the residual constraint graph into independent components, each of which can be searched (or solved) separately. The pseudo tree captures precisely all these decompositions, given an order of variable instantiation. efinition 5 (N/OR search tree of a constraint network). iven a constraint network R = X,,, its constraint graph and a pseudo tree T of, the associated N/OR search tree has alternating levels of OR and N nodes. The OR nodes are labeled X i and correspond to variables. The N nodes are labeled X i,x i and correspond to value assignments. The structure of the N/OR search tree is based on T. The root is an OR node labeled with the root of T. The children of an OR node X i are N nodes labeled with assignments X i,x i that are consistent with the assignments along the path from the root. The children of an N node X i,x i are OR nodes labeled with the children of variable X i in the pseudo tree T. The leaves of N nodes are labeled with. There is a one to one correspondence between solution subtrees of the N/OR search graph and solutions of the constraint network [4]. xample 4. igure 3 shows an example of an N/OR search tree for the constraint network given in igure 2(a), assuming all tuples are consistent, and variables are binary valued. When some tuples are inconsistent, some of the paths in the tree do not exists. igure 3(a) gives the pseudo tree that guides the search, from top to bottom, as indicated

by the arrows. The dotted arcs are backarcs from the primal graph. igure 3(b) shows the N/OR search tree, with the alternating levels of OR (circle) and N (square) nodes, and having the structure indicated by the pseudo tree. The N/OR search tree can be traversed by a depth first search algorithm, thus using linear space. It was already shown [8, 20, 2, 4, 6] that: Theorem. iven a constraint network R and a pseudo tree T of depth m, the size of the N/OR search tree based on T is O(n k m ), where k bounds the domains of variables. constraint network of treewidth w has a pseudo tree of depth at most w log n, therefore it has an N/OR search tree of size O(n k w log n ). The N/OR search tree expresses the set of all possible assignments to the problem variables (all solutions). The difference from the traditional OR search space is that a solution is no longer a path from root to a leaf, but rather a subtree, defined as follows: efinition 6 (solution subtree). solution subtree of an N/OR search tree contains the root node. or every OR nodes it contains one of its child nodes and for each of its N nodes it contains all its child nodes, and all its leaf nodes are consistent. 3.2 N/OR Search raph The N/OR search tree may contain nodes that root identical conditioned (on the current path assignment) subproblems. These nodes are said to be unifiable. When unifiable nodes are merged, the search space becomes a graph. Its size becomes smaller at the expense of using additional memory by the search algorithm. The depth first search algorithm can therefore be modified to cache previously computed results, and retrieve them when the same nodes are encountered again. The notion of unifiable nodes is defined formally next. efinition 7 (minimal N/OR graph, isomorphism). Two N/OR search graphs and are isomorphic if there exists a one to one mapping σ from the vertices of to the vertices of such that for any vertex v, if σ(v) = v, then v and v root identical subgraphs relative to σ. The minimal N/OR graph is such that all the isomorphic subgraphs are merged. Isomorphic nodes (that root isomorphic subgraphs) are also said to be unifiable. Theorem 2 ([6]). The minimal N/OR search graph of a constraint network R relative to a pseudo-tree T is unique. Note that the definition of minimality in [6] is based only on isomorphism reduction. We extend it by also eliminating the redundant nodes. The previous theorem only shows that given an N/OR graph, the merge operator has a fixed point, which is the minimal N/OR graph. It can be shown that the OM is a canonical representation (given a pseudo tree), namely that any two equivalent constraint networks can be represented by the same unique OM, and the OM is minimal in terms of number of nodes. Some unifiable nodes can be identified based on their contexts. We can define graph based contexts for both OR nodes and N nodes, just by expressing the set of ancestor

variables in T that completely determine a conditioned subproblem. owever, it can be shown that using caching based on OR contexts makes caching based on N contexts redundant and vice versa, so we will only use OR caching. ny value assignment to the context of X separates the subproblem below X from the rest of the network. efinition 8 (OR context). iven a pseudo tree T of an N/OR search space, context(x) = [X...X p ] is the set of ancestors of X in T, ordered descendingly, that are connected in the primal graph to X or to descendants of X. efinition 9 (context unifiable OR nodes). iven an N/OR search graph, two OR nodes n and n 2 are context unifiable if they have the same variable label X and the assignments of their contexts is identical. Namely, if π is the partial assignment of variables along the path to n, and π 2 is the partial assignment of variables along the path to n 2, then their restriction to the context of X is the same: π context(x) = π 2 context(x). The depth first search algorithm that traverses the N/OR search tree, can be modified to traverse a graph, if enough memory is available. We could allocate a cache table for each variable X, the scope of the table being context(x). The size of the cache table for X is therefore the product of the domains of variables in its context. or each variable X, and for each possible assignment to its context, the corresponding conditioned subproblem is solved only once and the computed value is saved in the cache table, and whenever the same context assignment is encountered again, the value of the subproblem is retrieved from the cache table. Such an algorithm traverses what is called the context minimal N/OR graph. efinition 0 (context minimal N/OR graph). The context minimal N/OR graph is obtained from the N/OR search tree by merging all the context unifiable OR nodes. It was already shown that [20, 4, 6]: Theorem 3. iven a constraint network R, its primal graph and a pseudo tree T, the size of the context minimal N/OR search graph based on T, and therefore the size of its minimal N/OR search graph, is O(n k w T () ), where wt () is the induced width of over the depth first traversal of T, and k bounds the domain size. xample 5. We refer again to igure 3. igure 3(a) shows the pseudo tree, where the (OR) context of each node appears in square brackets. Notice that the context of a node is identical to the message scope from its bucket in ig. 2. igure 3(c) shows the context minimal N/OR graph. 4 N/OR Multi-Valued ecision iagram (OM) The context minimal N/OR graph (efinition 0) offers an effective way of identifying some unifiable nodes during the execution of the search algorithm. Namely, context unifiable nodes are discovered based only on their paths from the root, without actually

solving their corresponding subproblems. owever, merging based on context is not complete, which means that there may still exist unifiable nodes in the search graph that do not have identical contexts. Moreover, some of the nodes in the context minimal N/OR graph may be redundant, for example when the set of solutions rooted at variable X i does not depend on the specific value assigned to X i (this situation is not detectable based on context). This is sometimes termed as interchangeable values or symmetrical values. We propose to augment the minimal N/OR search graph with removing redundant variables as is common in O representation, as well as to adopt notational conventions common in this community. This yields a data structure that we call N/OR, that exploits decomposition by using N nodes. We present the extension over multi-valued variables yielding N/OR M or OM. Subsequently we present two algorithms for compiling the canonical OM of a constraint network: the first is search based, and uses the memory intensive N/OR graph search to generate the context minimal N/OR graph, and then reduces it bottom up by applying reduction rules; the second is inference based, and uses a ucket limination schedule to combine the OMs of initial functions by PPLY operations (similar to the apply for Os). oth approaches have the same worst case complexity as the N/OR graph search with context based caching, and also the same complexity as ucket limination, namely time and space exponential in the treewidth of the problem, O(n k w ). 4. rom N/OR Search raphs to ecision iagrams We will now show how we can process an N/OR search graph by reduction rules similar to the case of Os, in order to obtain a representation of minimal size. In the case of Os, a node is labeled with a variable name, for example, and the low (dotted line) and high (solid line) outgoing arcs capture the restriction of the function to the assignments = 0 or =. To determine the value of the function, one needs to follow either one or the other (but not both) of the outgoing arcs from. The straightforward extension of Os to multi-valued variables (multi-valued decision diagrams, or Ms) was presented in [22]. We generalize the O and M representations by allowing each outgoing arc to be an N arc. n N arc connects a node to a set of nodes, and captures the decomposition of the problem into independent components. We define the N/OR ecision iagram representation based on N/OR search graphs. We find it useful to introduce the meta-node data structure, which defines small portions of any N/OR graph, based on an OR node and its N children: efinition (meta-node). meta-node u in an N/OR search graph of a constraint network consists of an OR node labeled X (therefore var(u) = X) and its k N children labeled x,...,x k that correspond to the value assignments of X. ach N node labeled x i stores a list of pointers to child meta-nodes, denoted by u.children i. We also define two special meta-nodes, that will play the role of the terminal nodes in Os. The terminal meta-node 0 indicates the inconsistent assignments, while the terminal meta-node indicates the consistent ones.

ny N/OR search graph can now be viewed as a diagram of meta-nodes, simply by grouping OR nodes with their N children, and adding the terminal meta-nodes appropriately. It is now easy to see when a variable is redundant with respect to the outcome of the function based on the current partial assignment. Intuitively, any assignment to a redundant variable should lead to the same set of solutions. efinition 2 (redundant meta-node). iven an N/OR search graph represented with meta-nodes, a meta-node u with var(u) = X and (X) = k is redundant iff u.children =... = u.children k. n N/OR graph, that contains a redundant meta-node u, can be transformed into an equivalent graph by replacing any incoming arc into u with its common list of children u.children (joined in an N arc), and then removing u and its outgoing arcs from. The notion of isomorphism is extended naturally from N/OR graphs to metanodes. efinition 3 (isomorphic meta-nodes). iven an N/OR search graph represented with meta-nodes, two meta-nodes u and v having var(u) = var(v) = X and (X) = k are isomorphic iff u.children i = v.children i, i {,...,k}. Naturally, the N/OR graph obtained by merging isomorphic meta-nodes is equivalent to the original one. We can now define the N/OR Multi-Valued ecision iagram: efinition 4 (OM). n N/OR Multi-Valued ecision iagram (OM) is a weighted N/OR search graph that is completely reduced by isomorphic merging and redundancy removal, namely: () it contains no isomorphic meta-nodes; and (2) it contains no redundant meta-nodes. 5 OMs for onstraint Networks re anonical orms It is well known that Os are canonical representations of oolean functions given an ordering of the variables [9], and this property extends to Ms [22]. In the case of Os and OMs, the canonicity is with respect to a pseudo tree, following the transition from total orders (that correspond to a linear ordering) to partial orders (that correspond to a pseudo tree ordering). Proposition. Let f be a function, not always zero, defined by a constraint network over X. iven a partition {X,...,X m } of the set of variables X (namely, X i X j = φ, i j, and X = m i= Xi ), if f = f... f m and f = g... g m, such that scope(f i ) = scope(g i ) = X i for all i {,...,m}, then f i = g i for all i {,...,m}. Namely, if f can be decomposed over the given partition, then the decomposition is unique.

ased on the previous proposition, in can be shown that OMs for constraint networks are canonical representations given a pseudo tree. Theorem 4 (OMs are canonical for a given pseudo tree). iven a constraint network, and a pseudo tree T of its constraint graph, there is a unique (up to isomorphism) OM that represents it, and it has the minimal number of meta-nodes. The proof, omitted for space reasons, is by structural induction over the depth of the pseudo tree. constraint network is defined by its relations (or functions). There exist equivalent constraint networks that are defined by different sets of functions, even having different scope signatures. owever, equivalent constraint networks define the same function, and we can ask if the OM of different equivalent constraint networks is the same. The following theorem can be derived immediately from Theorem 4. Theorem 5. Two equivalent constraint networks that admit the same pseudo tree T have the same OM based on T. 6 Using N/OR Search to enerate OMs In Section 4. we described how we can transform an N/OR graph into an OM by applying reduction rules. In Section 6. we describe the explicit algorithm that takes as input a constraint network, performs N/OR search with context-based caching to obtain the context minimal N/OR graph, and in Section 6.2 we give the procedure that applies the reduction rules bottom up to obtain the OM. The reduction procedure can actually be incorporated in the search algorithm, but we present it separately for clarity. 6. lgorithm N/OR-SR-OM lgorithm, called N/OR-SR-OM, compiles a constraint network into an OM. memory intensive (with context-based caching) N/OR search is used to create the context minimal N/OR graph (see efinition 0). The input to N/OR-SR-OM is a constraint network R and a pseudo tree T, that also defines the OR-context of each variable. ach variable X i has an associated cache table, whose scope is the context of X i in T. This ensures that the trace of the search is the context minimal N/OR graph. list denoted by L Xi (see line 34), is used for each variable X i to save pointers to metanodes labeled with X i. These lists are used by the procedure that performs the bottom up reduction, per layers of the N/OR graph (one layer contains all the nodes labeled with one given variable). The fringe of the search is maintained on a stack calledopn. The current node (either OR or N node) is denoted by n, its parent by p, and the current path by π n. The children of the current node are denoted by successors(n). or each node n, the oolean attribute consistent(n) indicates if the current path can be extended to a solution. This information is useful for pruning the search space.

lgorithm : N/OR SR - OM 2 input : R = X,, ; pseudo tree T rooted at X ; parents pa i (OR-context) for every variable X i. output : OM of R. forall X i X do Initialize context-based cache table ache Xi (pa i) withnull entries 3 reate new OR nodet, labeled with X i; consistent(t) true; pushton top ofopn 4 whileopn φ do 5 n top(opn); removenfromopn // orward 6 successors(n) φ 7 ifnis an OR node labeled with X i then // OR-expand 8 if ache Xi (asgn(π n)[pa i]) null then 9 onnect parent ofnto ache Xi (asgn(π n)[pa i]) // Use the cached pointer 0 else forall x i i do 2 reate new N nodet, labeled with X i, x i 3 if X i, x i is consistent with π n then // onstraint Propagation 4 consistent(t) true 5 addtto successors(n) 6 else 7 consistent(t) false 8 make terminal 0 the only child oft 9 20 2 22 23 24 25 26 ifnis an N node labeled with X i, x i then if children T (X i) == φ then make terminal the only child ofn else forall Y children T (X i) do reate new OR nodet, labeled with Y consistent(t) false addtto successors(n) // N-expand 27 28 29 30 3 32 33 34 35 36 37 38 39 40 4 42 dd successors(n) to top ofopn while successors(n) == φ do // acktrack letpbe the parent ofn ifnis an OR node labeled with X i then if X i == X then // Search is complete all ottomupreduction procedure // begin reduction to OM ache(asgn(π n)[pa i]) n // Save in cache dd meta-node ofnto the list L X i consistent(p) consistent(p) consistent(n) if consistent(p) == false then // heck if p is dead-end remove successors(p) fromopn successors(p) φ ifnis an N node labeled with X i, x i then consistent(p) consistent(p) consistent(n); removenfrom successors(p) n p The algorithm is based on two mutually recursive steps: orward (beginning at line 5) and acktrack (beginning at line 28), which call each other (or themselves) until the search terminates. In the forward phase, the N/OR graph is expanded top down. The two types of nodes, N and OR, are treated differently according to their semantics. efore an OR node is expanded, the cache table of its variable is checked (line 8). If the entry is not null, a link is created to the already existing OR node that roots the graph equivalent to the current subproblem. Otherwise, the OR node is expanded by

generating its N descendants. ach value x i of X i is checked for consistency (line 3). ny level of constraint propagation can be performed in this step (e.g., look ahead, arc consistency, path consistency, i-consistency etc.). The computational overhead can increase, in the hope of pruning the search space more aggressively. We should note that constraint propagation is not crucial for the algorithm, and the complexity guarantees are maintained even without it. The consistent N nodes are added to the list of successors of n (line 5), while the inconsistent ones are linked to the terminal 0 meta-node (line 8). n N node n labeled with X i,x i is expanded (line 9) based on the structure of the pseudo tree. If X i is a leaf in T, thennis linked to the terminal meta-node (line 2). Otherwise, an OR node is created for each child of X i in T (line 23). The forward step continues as long as the current node is not a dead-end and still has unevaluated successors. The backtrack phase is triggered when a node has an empty set of successors (line 28). Note that, as each successor is processed, it is removed from the set of successors in line 4. When the backtrack reaches the root (line 3), the search is complete, the context minimal N/OR graph has been generated, and the Procedure OTTOMUPRUTION is called. When the backtrack step processes an OR node (line 30), it saves a pointer to it in cache, and also adds a pointer to the corresponding meta-node to the list L Xi. The consistent attribute of the N parent p is updated by conjunction with consistent(n). If the N parent p becomes inconsistent, it is not necessary to check its remaining OR successors (line 37). When the backtrack step processes an N node (line 39), the consistent attribute of the OR parent p is updated by disjunction with consistent(n). The N/OR search algorithm usually maintains a value for each node, corresponding to a task that is solved (e.g., counting solutions, or cost of the optimal solution). We did not include values in our description because an OM is just an equivalent representation of the original constraint network R. ny task over R can be solved by a traversal of the OM. It is however up to the user to include more information in the meta-nodes (e.g., number of solutions for a subproblem). 6.2 Reducing the ontext Minimal N/OR raph to an OM Procedure ottomupreduction processes the variables bottom up relative to the pseudo tree T. We use the depth first traversal ordering of T (line ), but any other bottom up ordering is as good. The outer for loop (starting at line 2) goes through each level of the context minimal N/OR graph (where a level contains all the OR and N nodes labeled with the same variable, in other words it contains all the metanodes of that variable). or efficiency, and to ensure the complexity guarantees, a hash table, initially empty, is used for each level. The inner for loop (starting at line 4) goes through all the meta-nodes of a level, that are also saved (or pointers to them are saved) in the list L Xi. or each new meta-node n in the list L Xi, in line 5 the hash table is checked to verify if a node isomorphic withnalready exists. If the hash table already contains a nodepcorresponding to the hash key (X i,n.children,...,n.children ki ), thenpandnare isomorphic and should be merged. Otherwise, if the new meta-noden

Procedure ottomupreduction input : constraint network R = X,, ; a pseudo tree T of the primal graph, rooted at X ; ontext minimal N/OR graph, and lists L X i of meta-nodes for each level X i. output : OM of R. Let d = {X,..., X n} be the depth first traversal ordering of T 2 for i n down to do 3 Let be a hash table, initially empty 4 forall meta-nodesnin L X i do 5 if (X i, n.children,..., n.children ki ) returns a meta-nodepthen 6 mergenwithpin the N/OR graph 7 8 9 0 else ifnis redundant then eliminatenfrom the N/OR graph else hashninto the table : (X i, n.children,..., n.children ki ) n 2 return reduced N/OR graph is redundant, then it is eliminated from the N/OR graph. If none of the previous two conditions is met, then the new meta-nodenis hashed into the table. Proposition 2. The output of Procedure ottomupreduction is the OM of R along the pseudo tree T, namely the resulting N/OR graph is completely reduced. Note that we explicated Procedure ottomupreduction separately only for clarity. In practice, it can actually be included in lgorithm N/OR-SR- OM, and the reduction rules can be applied whenever the search backtracks. We can maintain a hash table for each variable, during the N/OR search, to store pointers to meta-nodes. When the search backtracks out of an OR node, it can already check the redundancy of that meta-node, and also look up in the hash table to check for isomorphism. Therefore, the reduction of the N/OR graph can be done during the N/OR search, and the output will be the OM of R. rom Theorem 3 and Proposition 2 we can conclude: Theorem 6. iven a constraint network R and a pseudo tree T of its constraint graph, the OM of R corresponding to T has size bounded by O(n k w T () ) and it can be computed by lgorithm N/OR-SR-OM in time O(n k w T () ), where wt () is the induced width of over the depth first traversal of T, and k bounds the domain size. 7 Using ucket limination to enerate OMs In this section we propose to use a ucket limination () type algorithm to guide the compilation of a constraint network into an OM. The idea is to express the constraints as OMs, and then combine them via the PPLY operator by following a schedule. The PPLY is a procedure very similar to that from Os [9], but it is adapted to N/OR search graphs. It takes as input two constraints represented as OMs based on the same pseudo tree, and outputs their join, also represented as an OM based on the same pseudo tree.

(a) (b) ig. 4. (a) onstraint graph for = {,..., 9}, where =, 2 =, 3 =, 4 =, 5 =, 6 =, 7 =, 8 =, 9 = ; (b) Pseudo tree (bucket tree) for ordering d = (,,,,,,, ) m 7 m 7 m 6 m 3 m 3 9 m 5 m 6 m 4 5 m 2 m m 5 m 4 m 2 m 8 6 7 3 4 2 ig. 5. xecution of V with OMs xample 6. onsider the constraint network defined by X = {,,...,}, =... = = {0,} and the constraints (where denotes XOR): =, 2 =, 3 =, 4 =, 5 =, 6 =, 7 =, 8 =, 9 =. The constraint graph is shown in igure 4(a). onsider the ordering d = (,,,,,,,). The pseudo tree (or bucket tree) induced by d is given in ig. 4(b). igure 5 shows the execution of with OMs along ordering d. Initially, the constraints through 9 are represented as OMs and placed in the bucket of their latest variable in d. The scope of any original constraint always appears on a path from root to a leaf in the pseudo tree. Therefore, each original constraint is represented by an OM based on a chain. (i.e. there is no branching into independent components at any point). The chain is just the scope of the constraint, ordered according to d. or bi-valued variables, the original constraints are represented by Os, for multiple-valued variables they are Ms. Note that we depict meta-

0 (a) 0 (b) ig. 6. (a) The final OM; (b) The O corresponding to d nodes: one OR node and its two N children, that appear inside each gray node. The dotted edge corresponds to the 0 value (the low edge in Os), the solid edge to the value (the high edge). We have some redundancy in our notation, keeping both N value nodes and arc-types (doted arcs from 0 and solid arcs from ). The scheduling is used to process the buckets in reverse order of d. bucket is processed by joining all the OMs inside it, using the PPLY operator. owever, the step of elimination of the bucket variable is omitted because we want to generate the full OM. In our example, the messages m = 2 and m 2 = 3 4 are still based on chains, so they are still Os. Note that they still contain the variables and, which have not been eliminated. owever, the message m 3 = 5 m m 2 is not an O anymore. We can see that it follows the structure of the pseudo tree, where has two children, and. Some of the nodes corresponding to have two outgoing edges for value. The processing continues in the same manner. The final output of the algorithm, which coincides with m 7, is shown in igure 6(a). The O based on the same ordering d is shown in ig. 6(b). Notice that the OM has 8 nonterminal nodes and 47 edges, while the O has 27 nonterminal nodes and 54 edges. 7. lgorithm -OM lgorithm 2, called -OM, creates the OM of a constraint network by using a schedule for PPLY operations. iven an order d of the variables, a pseudo tree is created based on the constraint graph (this is just the bucket tree, or elimination tree of d). ach initial constraint i is then represented as an OM, denoted by, and placed in its bucket. To obtain the OM of a constraint, its scope is ordered according to d, a search tree (based on a chain) that represents i is generated, and then reduced by Procedure ottomupreduction. Then, the algorithm proceeds exactly like, with the only difference that the join of constraints (represented as OMs) is realized by the PPLY algorithm, and variables are not eliminated but aomdd i carried around to the destination bucket. The messages between buckets are initialized with the dummy OM of, denoted by aomdd, which is neutral for join.

lgorithm 2: -OM input : onstraint network R = X,,, where X = {X,..., X n}, = {,..., r} ; order d = (X,..., X n) output : OM representing i i Let T be the pseudo tree (bucket tree) corresponding to d; for i to r do // place constraints in buckets 2 place aomdd in the bucket of its latest variable in d i 3 for i n down to do // process buckets 4 message(x i) aomdd // initialize with OM of ; 5 while bucket(x i) φ do // combine OMs in bucket of X i 6 pick aomdd f from bucket(x i); 7 bucket(x i) bucket(x i) \ { aomdd f }; 8 message(x i) PPLY(message(X i), aomdd f ) 9 0 add message(x i) to the bucket of the parent of X i in T return message(x ) 2 4 2 4 * = 6 7 2 2 4 6 4 4 7 3 0 5 3 0 5 0 ig. 7. xample of PPLY operation 7.2 The OM PPLY Operation The apply operator takes as input two OMs representing constraints and 2 and returns an OM representing their join 2. In Os the apply operator combines two input diagrams based on the same variable ordering. Likewise, in order to combine two OMs we assume that they are based on the same pseudo tree. This restriction is satisfied when we use PPLY to combine the constraints in the same bucket of the based algorithm. There are also more relaxed version of PPLY, when the pseudo trees of the two input constraints need only be compatible, rather than identical. Intuitively, this means that the pseudo trees generate partial orders (based on descendance relation) that are not in conflict. or space reasons, we will not present the details of the PPLY algorithm here, but refer the reader to []. We will just briefly describe it by an example. xample 7. igure 7 shows the result of combining two oolean functions by an N operation (or product). The input functions f and g are represented by OMs based on chain pseudo trees, while the results is based on the pseudo tree that expresses the decomposition after variables and are instantiated. The PPLY operator performs a depth first traversal of the two input OMs, and generates the resulting OM based on the output pseudo tree. Similar to the case of Os, a function or an OM can be identified by its root meta-node. In this example the input metanodes have labels (, 2,, 2, etc.). The output meta-node labeled by 2 2 is

the root of a diagram that represents the function obtained by combining the functions rooted by 2 and 2. The complexity of -OM and the output size are similar to those of the search based algorithm: Theorem 7. The space complexity of -OM and the size of the output OM are O(n k w ), where n is the number of variables, k is the maximum domain size and w is the treewidth of the bucket tree. The time complexity is bounded by O(r k w ), where r is the number of initial functions. 8 Related Work There are various lines of related research. The formal verification literature, beginning with [9] contains a very large number of papers dedicated to the study of s. owever, s are in fact OR structures (the underlying pseudo tree is a chain) and do not take advantage of the problem decomposition in an explicit way. The complexity bounds for Os are based on pathwidth rather than treewidth. s noted earlier, the work on isjoint Support ecomposition (S) is related to N/OR s in various ways [4]. The main common aspect is that both approaches show how structure decomposition can be exploited in a -like representation. S is focused on oolean functions and can exploit more refined structural information that is inherent to oolean functions. In contrast, N/OR s assumes only the structure conveyed in the constraint graph. They are therefore more broadly applicable to any constraint expression and also to graphical models in general. They allow a simpler and higher level exposition that yields graph-based bounds on the overall size of the generated OM. McMillan introduced the trees [6], along with the operations for combining them. or circuits of bounded tree width, trees have linear space upper bound O( g 2 w22w ), where g is the size of the circuit g (typically linear in the number of variables) and w is the treewidth. This bound hides some very large constants to claim the linear dependence on g when w is bounded. owever, McMillan maintains that when the input function is a N expression -trees have the same bounds as N/OR s, namely they are exponential in the treewidth only. The N/OR structure restricted to propositional theories is very similar to deterministic decomposable negation normal form (d-nn) []. More recently, in [23], the trace of the PLL algorithm is used to generate an O, and compared with the typical formal verification approach of combining the Os of the input function according to some schedule. The structures that were investigated are still OR. Mcllester [24] introduced the case factor diagrams () which subsume Markov random fields of bounded tree width and probabilistic context free grammars (P). s are very much related to the N/OR graphs. The s target the minimal representation, by exploiting decomposition (similar to N nodes) but also by exploiting context sensitive information and allowing dynamic ordering of variables based on context. s do not eliminate the redundant nodes, and part of the cause is that they use

zero suppression. There is no claim about s being a canonical form, and also there is no description of how to combine two s. More recently, independently and in parallel to our work on N/OR graphs [4, 5], argier and Vilarem [7] proposed the compilation of SPs into tree-driven automata, which have many similarities to our work. Their main focus is the transition from linear automata to tree automata (similar to that from OR to N/OR), and the possible savings for tree-structured networks and hyper-trees of constraints due to decomposition. Their compilation approach is guided by a tree-decomposition while ours is guided by a variable-elimination based algorithms. nd, it is well known that ucket limination and cluster-tree decomposition are in principle, the same [25]. 9 onclusion This paper gives an overview of a new compilation data structure for constraint networks. The N/OR Multi-valued ecision iagram (OM) [ 3] emerges from the study of N/OR search spaces for graphical models [4, 5, 26, 6] and ordered binary decision diagrams (Os) [9]. raphical models algorithms that are searchbased and compiled data-structures such as s differ primarily by their choices of time vs memory. When we move from regular OR to an N/OR search space, the spectrum of algorithms available is improved for all time vs memory decisions. We believe that the N/OR search space clarifies the available choices and helps guide the user into making an informed selection of the algorithm that would fit best the particular query asked, the specific input function and the available computational resources. We presented the two main algorithmic approaches for compiling an OM for constraint networks. The first is a top down procedure, that uses memory intensive N/OR search, and applies reduction rules to the trace of the search. The second is a bottom up procedure that uses a ucket limination schedule to combine the constraints via the PPLY operator. s part of our current and future work, we are implementing, and experimenting with, the algorithms described here in order to provide an empirical evaluation. cknowledgments This work was supported in part by the NS grants IIS-042854 and IIS-0738. References. Mateescu, R., echter, R.: ompiling constraint networks into N/OR multi-valued decision diagrams (OMs). In: Proceedings of the Twelfth International onference on Principles and Practice of onstraint Programming (P 06). (2006) 329 343 2. Mateescu, R., echter, R.: nd/or multi-valued decision diagrams (aomdds) for weighted graphical models. In: Proceedings of the Twenty Third onference on Uncertainty in rtificial Intelligence (UI 07). (2007) 3. Mateescu, R., Marinescu, R., echter, R.: N/OR multi-valued decision diagrams for constraint optimization. In: Proceedings of the Thirteenth International onference on Principles and Practice of onstraint Programming (P 07). (2007) 498 53

4. echter, R., Mateescu, R.: Mixtures of deterministic-probabilistic networks and their N/OR search space. In: Proceedings of the Twentieth onference on Uncertainty in rtificial Intelligence (UI 04). (2004) 20 29 5. echter, R., Mateescu, R.: The impact of N/OR search spaces on constraint satisfaction and counting. In: Proceedings of the Tenth International onference on Principles and Practice of onstraint Programming (P 04). (2004) 73 736 6. echter, R., Mateescu, R.: N/OR search spaces for graphical models. rtificial Intelligence 7 (2007) 73 06 7. larke,., rumberg, O., Peled,.: Model hecking. MIT Press (999) 8. McMillan, K.L.: Symbolic Model hecking. Kluwer cademic (993) 9. ryant, R..: raph-based algorithms for boolean function manipulation. I Transaction on omputers 35 (986) 677 69 0. Selman,., Kautz,.: Knowledge compilation and theory approximation. Journal of the M 43 (996) 93 224. arwiche,., Marquis, P.: knowledge compilation map. Journal of rtificial Intelligence Research (JIR) 7 (2002) 229 264 2. adoli, M., onini,.m.: survey on knowledge compilation. I ommunications 0 (997) 37 50 3. Korf, R., elner,.: isjoint pattern database heuristics. rtificial Intelligence 34 (2002) 9 22 4. ertacco, V., amiani, M.: The disjunctive decomposition of logic functions. In: International onference on omputer-ided esign (I). (997) 78 82 5. rayton, R., McMullen,.: The decomposition and factorization of boolean expressions. In: ISS, Proceedings of the International Symposium on ircuits and Systems. (982) 49 54 6. McMillan, K.L.: ierarchical representation of discrete functions with application to model checking. In: omputer ided Verification. (994) 4 54 7. argier,., Vilarem, M.: ompiling csps into tree-driven automata for interactive solving. onstraints 9 (2004) 263 287 8. reuder,.., Quinn, M.J.: Taking advantage of stable sets of variables in constraint satisfaction problems. In: Proceedings of the Ninth International Joint onference on rtificial Intelligence (IJI 85). (985) 076 078 9. echter, R.: ucket elimination: unifying framework for reasoning. rtificial Intelligence 3 (999) 4 85 20. ayardo, R., Miranker,.: complexity analysis of space-bound learning algorithms for the constraint satisfaction problem. In: Proceedings of the Thirteenth National onference on rtificial Intelligence (I 96). (996) 298 304 2. arwiche,.: Recursive conditioning. rtificial Intelligence 25 (200) 5 4 22. Srinivasan,., Kam, T., Malik, S., rayton, R.K.: lgorithms for discrete function manipulation. In: International onference on omputer-ided esign (I). (990) 92 95 23. uang, J., arwiche,.: pll with a trace: rom sat to knowledge compilation. In: Proceedings of the Nineteenth International Joint onference on rtificial Intelligence (IJI 05). (2005) 56 62 24. Mcllester,., ollins, M., Pereira,.: ase-factor diagrams for structured probabilistic modeling. In: Proceedings of the Twentieth onference on Uncertainty in rtificial Intelligence (UI 04). (2004) 382 39 25. echter, R., Pearl, J.: Tree clustering for constraint networks. rtificial Intelligence 38 (989) 353 366 26. Mateescu, R., echter, R.: The relationship between N/OR search and variable elimination. In: Proceedings of the Twenty irst onference on Uncertainty in rtificial Intelligence (UI 05). (2005) 380 387