Reasoning about Optimal Collections of Solutions

Size: px
Start display at page:

Download "Reasoning about Optimal Collections of Solutions"

Transcription

1 Reasoning about Optimal Collections of Solutions Tarik Hadžić, Alan Holland, and Barry O Sullivan Cork Constraint Computation Centre Department of Computer Science, University College Cork, Ireland {t.hadzic,a.holland,b.osullivan}@4c.ucc.ie Abstract. The problem of finding a collection of solutions to a combinatorial problem that is optimal in terms of an inter-solution objective function exists in many application settings. For example, maximizing diversity amongst a set of solutions in a product configuration setting is desirable so that a wide range of different options is offered to a customer. Given the computationally challenging nature of these multi-solution queries, existing algorithmic approaches either apply heuristics or combinatorial search, which does not scale to large solution spaces. However, in many domains compiling the original problem into a compact representation can support computationally efficient query answering. In this paper we present a new approach to find optimal collections of solutions when the problem is compiled into a multi-valued decision diagram. We demonstrate empirically that for real-world configuration problems, both exact and approximate versions of our methods are effective and are capable of significantly outperforming state-of-the-art search-based techniques. Introduction Knowledge compilation provides a basis for efficiently processing queries that would otherwise be intractable. Compact representations, such as automata, decision diagrams, and negation normal forms, are of critical importance to solve combinatorial problems in a number of application settings such as product configuration, diagnosis and planning. In a product configuration domain, for instance, one needs to find solutions in an interactive manner, so fast response times are required. Since this is typically an N P- complete task, configuration problems have been compiled into automata [] and binary decision diagrams [2, 3] to guarantee fast response times. In other domains, such as diagnosis and planning, a much harder class of probabilistic inference tasks needs to be solved. They usually rely on counting the number of solutions, which is #P-complete in most non-trivial settings. Therefore, compiled representations such as decomposable negation normal forms (DNNFs) [4] have been proven to be critical for enhancing inference. In each of these domains, compilation effort is traded in favour of faster online inference but at the cost of a potentially exponential increase in memory requirements. Fortunately, in practice, many compiled representations of real world problems are compact. In this paper we investigate whether we can exploit knowledge compilation to enhance inference for another class of challenging queries that require computing optimal collections of solutions. In many settings we not only want to find a solution that satisfies a set of constraints, but we also want to find solutions that ensure that other solutions

2 exist that satisfy particular constraints, or optimize a particular objective function. For example, in a configuration setting we may wish to find a set of solutions that are as diverse as possible, given a specific measure of diversity such as Hamming distance. For inexact database query answering, we might wish to find a set of tuples from a database that are as close as possible to a user-specified query but as mutually diverse as possible. This paper offers the following contributions. Firstly, we present a novel approach to answering multi-solution queries over a multi-valued decision diagram (MDD) when we wish to find a collection of solutions that are optimal with respect to an arbitrary additive objective function. Secondly, we show how to exploit the compactness of MDDs by transforming the problem of multi-solution optimization into a problem of singlesolution optimization over a product MDD. Thirdly, we reduce the memory requirement of the method by using an implicit optimization scheme that avoids explicitly generating the expanded MDD, along with an approximate optimization scheme that limits the number of nodes that can be processed during optimization. Fourthly, we show how our approach can be instantiated to exactly solve various important inter-solution distance queries. Finally, we empirically evaluate the practicability of our approach on realworld product configuration problems and demonstrate its effectiveness in comparison to current state-of-the-art search-based approaches. We conclude with a discussion of the significance of our results and possible future work. 2 Preliminaries Constraint Satisfaction. We assume that the original problem is given in the form of a constraint satisfaction problem. Definition (Constraint Satisfaction Problem). A constraint satisfaction problem (CSP), P(X, D, F ), is defined by a set of variables X = {x,..., x n }, a set of domains D,..., D n such that variable x i takes a value from D i, and a set of constraints F = def {f,..., f m } that restrict the set of consistent assignments to the variables in X. The set of solutions Sol of a CSP P is a subset of D... D n such that every element s Sol satisfies all constraints in F. The CSP is a versatile modeling framework, capable of expressing problems from various application domains. Consider the following pedagogical example from a product configuration domain. Example (T-Shirt CSP). We are interested in selecting a T-shirt which is defined by three attributes: the color (black, white, red, or blue), the size (small, medium, or large) and the print ( Men In Black - MIB or Save The Whales - STW). There are two rules that define what are valid combinations: if we choose the MIB print then the color black has to be chosen as well, and if we choose the small size then the STW print (including a big picture of a whale) cannot be selected as the picture of a whale does not fit on the small shirt. The implicit representation (X, D, F ) of the T-shirt example consists of variables X = {x, x 2, x 3 } representing color, size and print. Variable domains are D = {0,, 2, 3} (black, white, red, blue), D 2 = {0,, 2} (small, medium, large),

3 and D 3 = {0, } (MIB, STW ). The two rules translate to F = {f, f 2 }, where f is x 3 = 0 x = 0 (MIB black) and f 2 is (x 2 = 0 x 3 ) (small not STW ). The CSP model is summarized in Fig. (a). There are D D 2 D 3 = 24 possible assignments. Eleven of these assignments are valid configurations and they form the solution space shown in Fig. (b). Variables: x {0,, 2, 3} x 2 {0,, 2} x 3 {0, } Constraints: f :x 3 = 0 x = 0 f 2 :x 2 = 0 x 3 (a) T-Shirt Constraint Satisfaction Problem color size print black small MIB black medium MIB black medium STW black large MIB black large STW white medium STW white large STW red medium STW red large STW blue medium STW blue large STW (b) Solution space of the T-Shirt CSP u4 0 u2 2 u u5 0 0 u3 2 u6 (c) MDD representation of the T-Shirt CSP Fig.. T-Shirt example. The CSP formulation is presented in Fig. (a), the solution space in Fig. (b) and the corresponding MDD in Fig. (c). Every row in a solution space table corresponds to a unique path in the MDD. Multivalued Decision Diagrams. Multivalued Decision diagrams (MDDs) are compressed representations of solution sets Sol D... D n. They are rooted directed acyclic graphs (DAGs) where each node u corresponds to a variable x i and each of its outgoing edges e corresponds to a value a D i. Paths in the MDD correspond to solutions in Sol. Definition 2 (Multi-valued Decision Diagram). An MDD M is a rooted directed acyclic graph (V, E), where V is a set of vertices containing the special terminal vertex and a root r V. Furthermore, var : V {,..., n + } is a labeling of all nodes with a variable index such that var() = n +. Each edge e E is defined by a triple (u, u, a) of its start node u, its end node u and an associated value a. We work only with ordered MDDs. A total ordering < of the variables is assumed such that for all edges (u, u, a) var(u) < var(u ). For convenience we assume that the variables in X are ordered according to their indices. On each path from the root to the terminal, every variable labels exactly one node. An MDD encodes a CSP solution

4 set Sol D... D n, defined over variables {x,..., x n }. To check whether an assignment a = (a,..., a n ) D... D n is in Sol we traverse M from the root, and at every node u labeled with variable x i, we follow an edge labeled with a i. If there is no such edge then a is not a solution. Otherwise, if the traversal eventually ends in terminal then a Sol. In Fig. (c) we show an MDD that encodes the solution set from Fig. (b). For every node we show its unique identifier. The variable ordering used is x < x 2 < x 3, i.e. var(u ) =, var(u 2 ) = var(u 3 ) = 2, var(u 4 ) = var(u 5 ) = var(u 6 ) = 3. Ordered MDDs can be considered as being arranged in layers of vertices, each layer being labeled with the same variable index. We will denote by V i the set of all nodes labeled with x i, V i = {u V var(u) = i}. Similarly, we will denote by E i the set of all edges originating in V i, i.e. E i = {e(u, u, a) E var(u) = i}. In our T- Shirt MDD for example, V 2 = {u 2, u 3 } and E 2 = {(u 2, u 4, 0), (u 2, u 5, ), (u 2, u 5, 2), (u 3, u 6, ), (u 3, u 6, 2)}. We will denote by p : u u 2 any path in an MDD from u to u 2. Also, edges between u and u will be sometimes denoted as e : u u. A value a of an edge e(u, u, a) will sometimes be denoted as v(e), while a partial assignment associated with path p will be denoted as v(p). Every path corresponds to a unique assignment. Hence, the set of all solutions represented by the MDD is Sol = {v(p) p : r }. In fact, every node u V i can be associated with a subset of solutions Sol(u) = {v(p) p : u } D i... D n. For example, in the T-Shirt MDD, Sol(u 2 ) = {(0, 0), (, 0), (, ), (2, 0), (2, )}. A distinct advantage of decision diagrams is that they can represent the size of the solution set they encode in an exponentially smaller data structure by merging isomorphic subgraphs. Two nodes u, u 2 are isomorphic if they encode the same solution set Sol(u ) = Sol(u 2 ). The T-Shirt MDD from Fig. (c) is merged. In addition to merging isomorphic nodes, one can remove redundant nodes which reduces the size by at most a linear factor. This complicates MDD-based algorithms since the removal of nodes introduces long edges. Therefore, throughout the paper we always assume an ordered merged MDD. Given a variable ordering there is a unique merged MDD for a given CSP P(X, D, F ) and its solution set Sol. The size of an MDD depends critically on the ordering, and could vary exponentially. It can grow exponentially with the number of variables, but in practice, for many interesting constraints the size is surprisingly small. An MDD for a given CSP P(X, D, F ) is typically constructed by first creating an MDD M i for each constraint f i, and then using pairwise conjunctions to construct M... M m. A conjunction of two MDDs M i M j can be performed in worstcase quadratic time and space O( M i M j ), where M denotes the size of the MDD V + E. Hence the final MDD can be exponentially large O( M... M n ). 3 Optimal Collections of Solutions In many settings we do not want to find just a single solution satisfying a set of constraints P(X, D, F ), but we want to retrieve collections of such solutions that should be optimal with respect to some cost function. Particularly challenging are those notions of optimality that require evaluating inter-solution relationships within a collection in order to evaluate the cost of entire collection. We will refer to such notions of optimal-

5 ity as multi-solution costs. For example, computing a collection of k most expensive solutions with respect to some cost function c(x,..., x n ) : D R is not a multi-cost query since the cost of an entire collection depends only on the costs of individual members, without considering their inter-relationships. However, retrieving k solutions that are as diverse as possible is a multi-solution query since the diversity of a collection can be evaluated only by looking at distances between all the members in the collection. Another example of a multi-solution query can be found in risk management and reasoning about robust solutions. We may wish to find a high-quality solution for which a contingency solution exists that is robust to specific types of failure. While the quality of both original and contingent solution depends on each solution individually, there is a penalty associated with switching from one solution to another. Hence, for a given failure probability, the expected cost of such a pair can be estimated only by considering both solutions simultaneously. Formally, we are given a CSP P(X, D, F ) representing its solution set Sol. We wish to retrieve a combination of k solutions s,..., s k where s j = (s j,..., sj n) Sol and j =,..., k that is optimal with respect to a cost function C: C : k {}}{ (D D n ) (D D n ) R. In this paper we restrict our attention to a subclass of additive cost functions C, i.e. the cost functions which can be represented as a sum of variable-level cost functions C i : (D i ) k R: C(s,..., s n,..., s k,..., s k n) = n C i (s i,..., s k i ). Many interesting real-world notions of optimality can be expressed as additive costs, such as notions of diversity, and similarity based on Hamming distance and other forms of distances between categorical and numerical variables in recommender systems research. When retrieving only single solutions (for k = ) restriction to additive cost function still leads to a very general class of cost functions that subsume objective functions of entire areas of research such as integer linear programming. Recall that, without loss of generality, we focus on retrieving k solutions that maximize the value of the cost function C; finding minimal tuples is a symmetric problem. Formally, the problem we are addressing in this paper is as follows. Problem (Optimal k-ary Collection of Solutions). Find k solutions (s,..., s k ) from Sol that are optimal with respect to the following objective: maximize i= n C i (s i,..., s k i ), s j Sol, j =,..., k. i= The state-of-the-art approach in the constraint programming community to reasoning about multiple solutions of constraint satisfaction problems is presented in [5, 6] where the authors investigated reasoning about diversity and similarity of solutions. The core of their approach is based on introducing k-copies of variables, X j =

6 {x j,..., xj n}, x j i D i, where j =,..., k and i =,..., n. Corresponding copies of the original constraints F j = {f j,..., f m} j where j =,..., k, are posted over the new sets of the variables. The resulting CSP has n k variables and m k constraints. By setting an objective function n C(x,..., x n,..., x k,..., x k n) = C i (x i,..., x k i ) the problem of finding an optimal collection of solutions becomes a problem of finding a single optimal solution in such an expanded CSP model. The work in [5, 6] focused not just on additive cost functions, but considered non-additive definitions of distances as well, for which a number of complexity results were demonstrated and practical solution approaches were suggested. 4 An MDD-Based Approach to Computing Optimal Collections In many application domains, such as product configuration, the set of solutions Sol can be compactly represented as a multi-valued decision diagram (MDD). In cases when MDDs are compact, they can be effectively exploited to enhance answering a number of tasks related to feasibility and optimality of individual solutions. A number of otherwise N P-hard tasks become linear in the size of the MDD. In particular, for an additive cost function, finding optimal solutions reduces to efficient shortest and longest path computations over an acyclic graph (see e.g. [, 7]). We investigate here whether we can, in an analogous manner, exploit the compressed MDD representation of the original solution set Sol and the additive nature of a multi-solution cost function to enhance search for optimal collections of solutions. 4. An MDD-Friendly CSP Encoding The CSP encoding from the previous section is particularly well suited in a search setting using a standard CSP solver, as additional variables and constraints can be easily posted based on the original problem formulation. However, it is not clear how this encoding would help us to exploit an existing MDD representation of the solution space Sol. Even if we are able to choose a variable ordering that leads to a compact MDD representation, we would still have to optimize the sum of non-unary cost functions C i (x i,..., xk i ) over an MDD which cannot be reduced to efficient shortest-path-based computations. We therefore suggest an alternative encoding of the original CSP. A core aspect of our construction is to introduce k-dimensional variables x i D i, i =,..., n where D i = def i= k {}}{ D i D i = (D i ) k i =,..., n. An assignment to variables x,..., x n represents k solutions. Every value v i in the domain of x i corresponds to a vector of values (v i,..., vk i ) (D i) k from domain D i in the original CSP. An assignment to the variables {x = v,..., x n = v n }, is a solution if for each coordinate j =,..., k, vectors (v j,..., vj n) are solutions in the original CSP. We will use Sol to denote the set of all such solutions.

7 4.2 Constructing a k-mdd We will now show that a corresponding MDD representation of the solution set Sol, which we call a k-mdd or a product MDD and denote as M k, with respect to a variable ordering x... x n, can be generated directly from M. We will denote such an MDD as M k (V k, E k ) where V k and E k denote vertices and edges. Let Vi k and Ei k denote the vertices and edges in the i-th layer, respectively. To construct the MDD it suffices to notice that for every product of vertices from the i-th layer V i of the original MDD there is a unique vertex in Vi k, i.e. V i k (V i ) k. Analogously, for every combination of edges from E i there is a unique edge in Ei k, i.e. Ek i (E i) k. In other words, we introduce a vertex u Vi k for every k-tuple of vertices (u,..., u k ) (V i ) k. We will denote this relationship as u (u,..., u k ) or write simply u(u,..., u k ). We introduce an edge e(e,..., e k ) Ei k between the nodes u(u,..., u k ) Vi k, u (u,..., u k ) V i+ k whenever each pair of nodes (u j, u j ), j =,..., k, is connected with an edge e j in M, i.e. if e j : u j u j, j =,..., k. An example of such a construction is provided in Figure 2. An MDD M for the initial CSP is presented in Figure 2(a), encoding solutions {(,, ),(, 2, 2),(2, 3, 2)}. Each node is labeled with a unique identifier rather than a variable label. Root node r corresponds to variable x, nodes a, b to variable x 2, and nodes c, d to variable x 3. The k-mdd M 2 (for k = 2), is shown in Figure 2(b). For the sake of clarity, we label every node (except root r and terminal ) with combinations of the corresponding nodes in M, to illustrate the construction process. For the same reason, we label every edge in M 2 with a combination of values of the corresponding edges in M. For example, by combining a node a with a node b we get a product node (a, b). Furthermore, since an edge r a has a label, and an edge r b has a label 2 in M, an edge r (a, b) has a label (, 2) in M 2. From the definition of the product MDD M k, its size can be computed exactly: V k = n i= V i k, and E k = n i= E i k. The time to construct M k is linear in the number of operations Θ( V k + E k ). Furthermore, the label of each edge e(e,..., e k ) can be identified with a k-tuple of values, v(e) = (v(e ),..., v(e k )). This can then, in a natural way, be extended to the valuation of paths, v(p), so that every solution in Sol corresponds to a tuple of solutions in Sol Sol. From the definition of M k, it then easily follows that for every product node u (u,..., u k ), it holds that Sol(u) = Sol(u ) Sol(u k ). Based on these observations, we can now prove the following property. Lemma. If an MDD M is merged then the k-mdd M k is also merged. Proof. (Proof by contradiction.) Assume that an MDD M is merged. Since for every u Vi k such that u (u,..., u k ), it holds that Sol(u) = Sol(u ) Sol(u k ), if two different nodes u (u,..., u k ), u 2 (u 2,..., u k 2) Vi k are isomorphic, then it must also hold that Sol(u ) = Sol(u 2 ). This would imply that Sol(u j ) = Sol(uj 2 ), j =,..., k. Since u u 2, for at least one j, u j uj 2. This indicates that the original MDD M was not merged, which is a contradiction.

8 r r 2 (,) (,2) (2,) (2,2) a b (a,a) (a,b) (b,a) (b,b) 2 3 (,) (,2) (2,) (,3) (2,2) (2,3) (3,) (3,2) (3,3) c d (c,c) (c,d) (d,c) (d,d) 2 (a) An MDD for the initial problem. (,) (,2) (2,) (2,2) (b) A corresponding product MDD. Fig. 2. An example of the construction of a product MDD M 2 from the original MDD M. In order to illustrate the construction process, nodes in M 2 are labeled with the corresponding combinations of nodes from M. Analogously, labels on edges in M 2 are combinations of labels of the corresponding edges in M. 4.3 Optimization Over k-mdds A critical advantage of a k-mdd M k in comparison to MDDs obtained by the original CSP encoding, is that it allows optimization of a cost function C in linear time in its size. Namely, every edge e(e,..., e k ) Ei k corresponds to an assignment to variables (x i,..., xk i ) = (v(e ),..., v(e k )) and can be therefore labeled with a cost C i (e) = def C i (v(e ),..., v(e k )). In an analogous manner we define the cost of a path p in a k-mdd as C(p) = def e i p C i(e i ). A k-mdd from Figure 2(b) labeled with respect to costs induced by Hamming distance is shown in Figure 3(a). Recall that a Hamming distance δ i (v, v ) for two assignments to a single variable x i is 0 if v = v, and otherwise. A Hamming distance between two assignments to all n variables, v (v,..., vn), v 2 (v, 2..., vn) 2 is δ(v, v 2 ) = n i= δ i(vi, v2 i ). The cost of the longest path in M k with respect to a labeling with respect to C as described above corresponds to the maximum value of a k-collection of solutions from Sol, i.e. to a solution to our Problem. In our example the longest path has length 3, i.e. there is a pair of solutions that differs on all three variable assignments. One such path is r (a, b) (c, d), leading to a pair of solutions ((,, ), (2, 3, 2)). The longest path is computed in a standard fashion, using Algorithm, computing for each node u, in a bottom-to-top breadth-first search traversal, MAX[u] := max{c(p) p : u }. The space requirements of our scheme are dominated by representing the MDD M k, which requires Θ( n i= V i k + n i= E i k ) space. The time complexity is determined by updates to MAX[u] on line of Algorithm. Assuming that each update takes constant time, the time complexity is Θ( n i= E i k ), since there is an update for each edge in M k.

9 Algorithm : Longest-Path(M k, C) Data: MDD M k (V k, E k ), cost function C MAX[] = 0; foreach i = n,..., do foreach u Vi k do MAX[u] = ; foreach e : u u do MAX[u] = max{max[u], C i (e) + MAX[u ]}; return MAX[r]; r r (a,a) (a,b) (b,a) (b,b) (a,b) (a,a) (b,a) (c,c) (c,d) (d,c) (d,d) (c,d) (d,c) (c,c) (d,d) (a) Cost labeling of a k-mdd. (b) Approximate optimization for T = 2. Fig. 3. Exact and approximate optimization over the k-mdd from Figure 2(b). Edges are labeled with respect to Hamming distance costs instead of values. In approximate optimization we process at most T of the most expensive nodes in each layer. Nodes that are processed are indicated as shaded in the figure. 5 Improvements Over k-mdd Optimization In the previous section we developed an approach to multi-solution queries that exploits the compactness of the initial MDD M, and the additivity of the cost function C. The complexity of our approach grows exponentially with k. It is guaranteed to succeed whenever the size of the MDD is small and whenever k is small. We now consider situations when this is not the case and present several extensions of the basic optimization scheme to reduce time and space requirements. 5. Implicit Optimization Due to a one-to-one correspondence between the vertices and edges of M k to k-tuples of the vertices and edges in M, we can execute Algorithm without constructing M k. The statement of the algorithm is identical with the only difference being that instead of iterating over nodes u Vi k we iterate over tuples (u,..., u k ) (V i ) k. Instead of updating MAX[u] with respect to e Ei k we update MAX[u,..., u k ] with respect

10 to tuples (e,..., e k ) (E i ) k. The space complexity depends only on maintaining and updating cost labels MAX[u,..., u k ]. Since we have to store such labels for every k- tuple of nodes in each layer, and since we have to perform an update for every k-tuple of edges in each layer, the space complexity is Θ( n i= V i k ) while time complexity is still Θ( n i= E i k ). A significant reduction in space requirements can be further achieved by maintaining M AX labels only for tuples of nodes in two neighboring layers at a time. The space complexity then reduces to Θ(max n i=2 { V i k + V i k }). 5.2 Approximate Node-Limited Optimization The implicit optimization scheme helps us meet memory restrictions but only in cases when there are no layers that are excessively large. However, in some domains this is not true and certain layers may be very large compared to others. Furthermore, even if we do satisfy memory restrictions, we still perform the same number of operations Θ( n i= E i k ) as the original scheme. In settings where response times are important, this might be unacceptable. We suggest an approximate version of the implicit optimization scheme. The main idea is to limit the number of nodes that can be processed at each layer, to a predefined threshold T. In each layer we traverse and process tuples (u,..., u k ) in decreasing order with respect to the maximal cost MAX[u,..., u k ]. For each tuple, we update all the parent tuples. An approximate version of the Hamming distance optimization for T = 2 is illustrated in Figure 3(b). Algorithm 2 illustrates this approach. For each layer i we maintain the set of nodes S i that have been updated in previous iterations. Furthermore, we maintain a sorted set with respect to the M AX labels, so that efficient access to the most expensive tuples u is possible. Algorithm 2: Approximate-Longest-Path(M, C) Data: MDD M(V, E), cost function C, node threshold T S i, i =,..., n; S n+ {}; MAX[] 0; foreach i = n +,..., 2 do nodecount = 0; while nodecount T do u = next most expensive tuple from S i ; nodecount + +; foreach e : u u do if u S i then MAX[u] = ; S i S i {u}; return MAX[r]; MAX[u] = max{max[u], C i (e) + MAX[u ]}; Complexity analysis. At the i-th layer we traverse and expand at most T nodes. If d i is the largest number of incoming edges to any node in V i, then the largest number of

11 updated nodes from (V i ) k is T (d i ) k, i.e. S i T (d i ) k. Hence, assuming that we maintain two neighboring layers during the traversal, the maximum space requirements are max n i=2 { S i + S i } O(max n i=2 T ((d i+) k + (d i ) k )). Since we perform at most (d i ) k updates for T nodes in each layer, we execute at most n+ i=2 T (d i) k updates. However, in each update with respect to edge e : u u, we have to check whether parent node u S i. For typical implementations of the set structure (binary search tree) each membership check takes a logarithmic number of operations, i.e. log 2 ( S i ) log 2 (T (d i ) k ). Hence, the time requirements of our scheme are O( n+ i=2 T d i log 2 (T (d i ) k )). 6 Applications and Extensions In general, we are interested in applications where it is desirable to return a collection of solutions in which there is a relationship between those solutions in terms of a distance [5, 8]. Ensuring solution diversity is the most natural setting where such queries are desirable, but diversity can be defined in a number of interesting ways that depend on the application domain. We present some examples of useful distance measures and the associated settings that can benefit from our approach. Maximum Hamming Distances. In this case the distance between two solutions is measured in terms of the number of variables with different assignments. We can use Algorithm to solve the N P-hard Maximum Hamming Distance problem [5, 8, 9] using quadratic space O(max n i=2 { V i 2 + V i 2 }) and quadratic time O( n i= E i 2 ) with respect to the input MDD M (which can be exponentially large in the input problem specification). The problem of finding solutions that maximize the Hamming Distance has applications in error correcting codes and electronics. Optimally Diverse Collections. Given a solution set Sol and a desired size of subset k, we wish to compute a subset S Sol with maximum diversity among all k-subsets of Sol. For example, we might want to determine the most diverse collection of products that are initially shown to a new user before his preferences are elicited. For a tuple of paths p(p,..., p k ), we define its cost C(p) as the sum of all pairwise distances: C(p) = sum(δ, (p,..., p k )) = k i,j= δ(p i, p j ). This is an additive objective function since n n C(p) = sum(δ, (e i,..., e k i )) = C i (e i ) i= and, therefore, the problem can be solved by instantiating Algorithm. Note, however, that evaluating the cost of an edge, C i (e) = sum(δ, (e,..., e k )), no longer takes constant time, but requires in worst case k (k )/2 summations. Therefore, the time complexity of the algorithm is Θ( n i= E i k k 2 ), while the space complexity remains Θ(max n i=2 { V i k + V i k }). Subset Diversity. Several web search engines offer the user an option to view Similar Pages. The concept of finding a set of diverse solutions with some common attributes is powerful because it assists a user in an interactive setting to search a possibly large set of solutions more efficiently. We can support such solution discovery in a combinatorial i=

12 problem setting using our approach. A trivial extension to Algorithm involves fixing certain assignments in M k and then finding a diverse set of solutions with this common assignment. One could envisage many potential settings, such as product configuration, where this concept may be valuable. For example, the user may wish to receive a diverse set of options for a product with certain attributes fixed. Risk Management and Contingency Planning. When a solution faces a risk of failure, e.g. because a particular assignment becomes inconsistent in a dynamic setting, it is important that an alternative solution can be formed without making alterations to the initial solution that are too costly [0]. For queries seeking a solution that minimizes expected losses, it is necessary to determine the cost of a repair for all possible failures in a tractable manner. In such a setting, the robustness of any solution is inextricably linked to its neighboring solutions thereby presenting an application domain for distance queries. For example, in queries related to finding robust solutions, for every possible solution x there is a probability of its failure P (x) [0, ], in which case a contingent solution x should be provided instead of x. Such a contingent solution x should be of high value c(x ) but also as close as possible to the original solution x. 7 Empirical Evaluation Given an MDD M(V, E), let V max = max n i= V i denote the largest node-width, and let E max = max n i= E i denote the largest edge-width in the MDD M. The space and time complexities of our approach are determined by (V max ) k and (E max ) k, respectively. While this is exponential in k, in many practical applications k is often small. It is argued, for example, that for recommender systems the optimal number of solutions to present to a user is k = 3 []. 7. Scalability for Real-World Configuration Problems We generated MDDs for a number of real-world configuration instances from CLib. We present their relevant properties in Table. The first five columns indicate instance name, number of variables, number of solutions, size of compiled representation on disk, number of MDD nodes V, number of MDD edges E, maximal node-width V max and edge-width E max. Table indicates that even small MDDs can successfully represent huge solution spaces, thus highlighting the computational advantage of our methodology. We use node-widths V max and edge-widths E max as indicators of the worst-case values of dynamic programming data entries that must be stored simultaneously in our scheme, and the number of operations that have to be performed. The first five instances are quite manageable even for the exact optimization when k is small. However, the Big-PC instance and widely investigated Renault instance [] might be out of reach, particularly with respect to space requirements.

13 Table. MDD properties for some real-world problems. ( ) The original version of the Renault instance has 0 variables, two of which are unconstrained and therefore removed from the problem. MDD MDD Instance Variables Solutions Size (KB) Nodes Edges V max E max ESVS FS Bike PC PC Big-PC , Renault , Comparison Between Exact and Approximate Optimization We evaluated the performance of the implicit optimization version of Algorithm and the approximate node-limited Algorithm 2 using Hamming distance as a cost function when looking for two most distant solutions. The results are presented in Table 2. For the approximate scheme we indicate the smallest node threshold for the first five instances that is sufficient to reach optimality. For the largest two instances we indicate the smallest multiple of 000 for which the threshold is sufficiently large to allow the discovery of the optimal solution. We can see that we can easily handle the first five instances. Furthermore, our exact scheme is able to handle both the largest instances Big-PC and Renault. The heuristic scheme that was used for instance Renault in [5] leads to an estimate of maximum Hamming distance 60. We computed the exact value, which is 7. Furthermore, for a threshold T = our approximate scheme is able to compute the maximum Hamming distance using an order-of-magnitude less time. It requires processing only a tiny fraction of all tuples that an exact scheme would process. Table 2. Empirical results for exact and approximate version of our algorithmic scheme. Instance Exact Approximate Longest Path Time (s) Longest Path Time (s) Threshold ESVS FS Bike PC PC Big-PC Renault

14 7.3 Comparison Against CSP Search Approach Hebrard et al. evaluated their approach using a Renault instance [5]. We re-implemented a variant of that approach in Mistral, 2 based on the original paper and consultations with the authors. We used the model and objective function as described in Section 3 (based on introducing k copies of variables and constraints). We tried several search schemes, but the most effective one was to first branch on all X i variables before branching on X i+ variables, and to use restarts with a random value selection heuristic. The results for Hamming distance significantly outperformed the scheme from [5] in terms of both time and the Hamming distance found: in that paper a distance of 60 was achieved in 0 seconds. The variant we implemented found a pair of solutions at distance 69 within 0.39 seconds. However, finding a pair of solutions with distance 70 took 6min.55s, while finding a pair with distance 7 took 3h, 32min, 8s. The algorithm was unable to prove optimality even after more than 24 hours of computation. Hence, while the search-based approach is very competitive for solution-rich instances with large number of distant pairs, finding the exact optimal solution seems to be very challenging if the optimal collection is tightly constrained, i.e. if there are not many collections satisfying the optimality criteria. In comparison, the exact MDD-based approach is able to find the optimal solution within 98 seconds. The results clearly demonstrate that MDD representations of the solution set Sol can be exploited to significantly enhance finding optimal collections of solutions. This result provides compelling evidence that the k-mdd approach significantly improves upon the state-of-the-art for finding optimal collections of solutions with an inter-solution cost function. 8 Related Work A number of researchers have studied the problem of finding sets of solutions to combinatorial problems. For example, work in constraint satisfaction ensures that the Hamming distance between the two solutions is maximized [8, 9] or that the solutions are within some distance of each other [2]. Dahllof [3] studied the problem of finding two XSAT models at maximum Hamming distance. Diversity and similarity are also important concepts in case-based reasoning and recommender systems [, 4]. Typically, we want chose a diverse set of cases from the case-base, but retrieve cases based on similarity. Hebrard et al. propose a number of practical solution methods in constraint programming for enforcing diversity (or similarity) between solutions [5], as well as the problem of satisfying complex distance queries in a constraint-based setting [6]. However, all of these approaches use search-based methods and are incapable of exploiting compiled representations. Our approach is the first one that utilizes compiled representation in this setting and is able to retrieve tightly-constrained optimal collections of solutions even in cases when it is prohibitively expensive for search-based methods. 9 Conclusion We presented the first approach to retrieving optimal collections of solutions when the solution space has been compiled into a multi-valued decision diagram. We exploited 2 ehebrard/software.html

15 the compactness of a compiled representation using our k-mdd approach, and then reduced the memory requirements and introduced an approximation scheme for larger problems. We discussed some important real-world queries that can now be handled using our approach. We empirically demonstrated the practical usability of our schemes on real-world configuration benchmarks, and demonstrated its superiority over a stateof-the-art search-based approach when the computation of exact optimal collections is required. In conclusion, we affirmed the veracity of our hypothesis; namely that knowledge compilation can be successfully exploited for reasoning about optimal collections of solutions. In future work we plan to extend the algorithmic schemes presented in this paper and to evaluate their applicability in domains that include risk management and network reliability. Acknowledgments Tarik Hadzic is supported by an IRCSET/Embark Initiative Postdoctoral Fellowship Scheme. Barry O Sullivan is supported by Science Foundation Ireland (Grant Number 05/IN/I886). We would like to thank Emmanuel Hebrard for the help with adopting the algorithms from [5]. References. Amilhastre, J., Fargier, H., Marquis, P.: Consistency restoration and explanations in dynamic CSPs-application to configuration. Artificial Intelligence (2002) 2. Hadzic, T., Subbarayan, S., Jensen, R.M., Andersen, H.R., Møller, J., Hulgaard, H.: Fast backtrack-free product configuration using a precompiled solution space representation. In: PETO Conference, DTU-tryk (June 2004) Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers (986) 4. Darwiche, A., Marquis, P.: A knowledge compilation map. Journal of Artificial Intelligence Research 7 (2002) Hebrard, E., Hnich, B., O Sullivan, B., Walsh, T.: Finding diverse and similar solutions in constraint programming. In: Proceedings of AAAI (July 2005) 6. Hebrard, E., O Sullivan, B., Walsh, T.: Distance constraints in constraint satisfaction. In: IJCAI. (2007) Hadzic, T., Hooker, J.N.: Cost-bounded binary decision diagrams for 0- programming. In Hentenryck, P.V., Wolsey, L.A., eds.: Proceedings of CPAIOR (2007) Angelsmark, O., Thapper, J.: Algorithms for the maximum hamming distance problem. In Faltings, B., Petcu, A., Fages, F., Rossi, F., eds.: CSCLP. Volume 349 of Lecture Notes in Computer Science., Springer (2004) Crescenzi, P., Rossi, G.: On the hamming distance of constraint satisfaction problems. Theor. Comput. Sci. 288() (2002) Holland, A., O Sullivan, B.: Weighted super solutions for constraint programs. In: Proceedings of AAAI-05, Pittsburgh, Pennsylvania (July 2005). Shimazu, H.: Expertclerk: Navigating shoppers buying process with the combination of asking and proposing. In: IJCAI. (200) Bailleux, O., Marquis, P.: Some computational aspects of distance-sat. Journal of Automated Reasoning 37(4) (2006) Dahllöf, V.: Algorithms for max hamming exact satisfiability. In Deng, X., Du, D.Z., eds.: ISAAC. Volume 3827 of Lecture Notes in Computer Science., Springer (2005) Smyth, B., McClave, P.: Similarity vs. diversity. In: ICCBR. (200)

Propagating separable equalities in an MDD store

Propagating separable equalities in an MDD store Propagating separable equalities in an MDD store T. Hadzic 1, J. N. Hooker 2, and P. Tiedemann 3 1 University College Cork t.hadzic@4c.ucc.ie 2 Carnegie Mellon University john@hooker.tepper.cmu.edu 3 IT

More information

A BDD-Based Polytime Algorithm for Cost-Bounded Interactive Configuration

A BDD-Based Polytime Algorithm for Cost-Bounded Interactive Configuration A BDD-Based Polytime Algorithm for Cost-Bounded Interactive Configuration Tarik Hadzic and Henrik Reif Andersen Computational Logic and Algorithms Group IT University of Copenhagen, Denmark {tarik,hra}@itu.dk

More information

Interactive Cost Configuration Over Decision Diagrams

Interactive Cost Configuration Over Decision Diagrams Journal of Artificial Intelligence Research 37 (2010) 99-139 Submitted 08/09; published 02/10 Interactive Cost Configuration Over Decision Diagrams Henrik Reif Andersen Configit A/S DK-2100 Copenhagen,

More information

Beyond Valid Domains in Interactive Configuration

Beyond Valid Domains in Interactive Configuration Beyond Valid Domains in Interactive Configuration Tarik Hadzic Barry O Sullivan Cork Constraint Computation Centre (UCC) July 21, 2008 Introduction Calculation of Valid Domains (CVD) is one of the major

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Binary Decision Diagrams

Binary Decision Diagrams Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table

More information

A Knowledge Compilation Map of Set-labeled Diagrams

A Knowledge Compilation Map of Set-labeled Diagrams A Knowledge Compilation Map of Set-labeled Diagrams Hélène Fargier Cédric Pralet July 16 th, 2011 Outline 1 Knowledge Compilation 2 Knowledge Compilation Map 3 Knowledge Compilation Map of Set-labeled

More information

Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving

Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving Christian Bessiere Anais Fabre* LIRMM-CNRS (UMR 5506) 161, rue Ada F-34392 Montpellier Cedex 5 (bessiere,fabre}@lirmm.fr Ulrich

More information

Comparing Two Implementations of a Complete and Backtrack-Free Interactive Configurator

Comparing Two Implementations of a Complete and Backtrack-Free Interactive Configurator Comparing Two Implementations of a Complete and Backtrack-Free Interactive Configurator Sathiamoorthy Subbarayan 1, Rune M. Jensen 1, Tarik Hadzic 1, Henrik R. Andersen 1, Henrik Hulgaard 2, and Jesper

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Knowledge Compilation Properties of Tree-of-BDDs

Knowledge Compilation Properties of Tree-of-BDDs Knowledge Compilation Properties of Tree-of-BDDs Sathiamoorthy Subbarayan IT University of Copenhagen, Denmark sathi@itu.dk Lucas Bordeaux and Youssef Hamadi Microsoft Research, Cambridge, UK lucasb,youssefh@microsoft.com

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

Constraint Satisfaction Problems. Chapter 6

Constraint Satisfaction Problems. Chapter 6 Constraint Satisfaction Problems Chapter 6 Constraint Satisfaction Problems A constraint satisfaction problem consists of three components, X, D, and C: X is a set of variables, {X 1,..., X n }. D is a

More information

Lecture 18. Questions? Monday, February 20 CS 430 Artificial Intelligence - Lecture 18 1

Lecture 18. Questions? Monday, February 20 CS 430 Artificial Intelligence - Lecture 18 1 Lecture 18 Questions? Monday, February 20 CS 430 Artificial Intelligence - Lecture 18 1 Outline Chapter 6 - Constraint Satisfaction Problems Path Consistency & Global Constraints Sudoku Example Backtracking

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

More information

Cost-Bounded Binary Decision Diagrams for 0-1 Programming

Cost-Bounded Binary Decision Diagrams for 0-1 Programming Cost-Bounded Binary Decision Diagrams for -1 Programming Tarik Hadžić 1 and J. N. Hooker 2 1 IT University of Copenhagen tarik@itu.dk 2 Carnegie Mellon University john@hooker.tepper.cmu.edu Abstract. In

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

A Fast Arc Consistency Algorithm for n-ary Constraints

A Fast Arc Consistency Algorithm for n-ary Constraints A Fast Arc Consistency Algorithm for n-ary Constraints Olivier Lhomme 1 and Jean-Charles Régin 2 1 ILOG, 1681, route des Dolines, 06560 Valbonne, FRANCE 2 Computing and Information Science, Cornell University,

More information

Bound Consistency for Binary Length-Lex Set Constraints

Bound Consistency for Binary Length-Lex Set Constraints Bound Consistency for Binary Length-Lex Set Constraints Pascal Van Hentenryck and Justin Yip Brown University, Box 1910 Carmen Gervet Boston University, Providence, RI 02912 808 Commonwealth Av. Boston,

More information

A Parameterized Local Consistency for Redundant Modeling in Weighted CSPs

A Parameterized Local Consistency for Redundant Modeling in Weighted CSPs A Parameterized Local Consistency for Redundant Modeling in Weighted CSPs Y.C. Law, J.H.M. Lee, and M.H.C. Woo Department of Computer Science and Engineering The Chinese University of Hong Kong, Shatin,

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

9.1 Cook-Levin Theorem

9.1 Cook-Levin Theorem CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

More information

Generating edge covers of path graphs

Generating edge covers of path graphs Generating edge covers of path graphs J. Raymundo Marcial-Romero, J. A. Hernández, Vianney Muñoz-Jiménez and Héctor A. Montes-Venegas Facultad de Ingeniería, Universidad Autónoma del Estado de México,

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

General properties of staircase and convex dual feasible functions

General properties of staircase and convex dual feasible functions General properties of staircase and convex dual feasible functions JÜRGEN RIETZ, CLÁUDIO ALVES, J. M. VALÉRIO de CARVALHO Centro de Investigação Algoritmi da Universidade do Minho, Escola de Engenharia

More information

Constrained Decision Diagrams

Constrained Decision Diagrams Constrained Decision Diagrams Kenil C.K. Cheng and Roland H.C. Yap National University of Singapore 3 Science Drive 2, Singapore {chengchi,ryap}@comp.nus.edu.sg Abstract A general n-ary constraint is usually

More information

Massively Parallel Seesaw Search for MAX-SAT

Massively Parallel Seesaw Search for MAX-SAT Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The

More information

Postoptimality Analysis for Integer Programming Using Binary Decision Diagrams

Postoptimality Analysis for Integer Programming Using Binary Decision Diagrams Postoptimality Analysis for Integer Programming Using Binary Decision Diagrams Tarik Hadzic 1 and J. N. Hooker 2 1 Cork Constraint Computation Center t.hadzic@4c.ucc.ie 2 Carnegie Mellon University john@hooker.tepper.cmu.edu

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

On 2-Subcolourings of Chordal Graphs

On 2-Subcolourings of Chordal Graphs On 2-Subcolourings of Chordal Graphs Juraj Stacho School of Computing Science, Simon Fraser University 8888 University Drive, Burnaby, B.C., Canada V5A 1S6 jstacho@cs.sfu.ca Abstract. A 2-subcolouring

More information

Propagating Separable Equalities. in an MDD Store. Peter Tiedemann INFORMS John Hooker. Tarik Hadzic. Cork Constraint Computation Centre

Propagating Separable Equalities. in an MDD Store. Peter Tiedemann INFORMS John Hooker. Tarik Hadzic. Cork Constraint Computation Centre Propagating Separable Equalities in an MDD Store Tarik Hadzic Cork Constraint Computation Centre John Hooker Carnegie Mellon University Peter Tiedemann Configit Software Slide 1 INFORMS 2008 Slide 2 Constraint

More information

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Roman Barták Charles University in Prague, Faculty of Mathematics and Physics Institute for Theoretical Computer

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

Compressing Configuration Data for Memory Limited Devices

Compressing Configuration Data for Memory Limited Devices Compressing Configuration Data for Memory Limited Devices Esben Rune Hansen and Peter Tiedemann IT University of Copenhagen Rued Langgaards Vej 7, DK-2300 Copenhagen S, Denmark {esben, petert }@itu.dk

More information

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

An Effective Upperbound on Treewidth Using Partial Fill-in of Separators An Effective Upperbound on Treewidth Using Partial Fill-in of Separators Boi Faltings Martin Charles Golumbic June 28, 2009 Abstract Partitioning a graph using graph separators, and particularly clique

More information

Lagrangian Relaxation in CP

Lagrangian Relaxation in CP Lagrangian Relaxation in CP Willem-Jan van Hoeve CPAIOR 016 Master Class Overview 1. Motivation for using Lagrangian Relaxations in CP. Lagrangian-based domain filtering Example: Traveling Salesman Problem.

More information

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Constraint Satisfaction Problems slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Standard search problems: State is a black box : arbitrary data structure Goal test

More information

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example Lecture 2: Combinatorial search and optimisation problems Different types of computational problems Examples of computational problems Relationships between problems Computational properties of different

More information

Cost-Bounded Binary Decision Diagrams for 0-1 Programming

Cost-Bounded Binary Decision Diagrams for 0-1 Programming Cost-Bounded Binary Decision Diagrams for -1 Programming Tarik Hadzic 1 and J. N. Hooker 2 1 IT University of Copenhagen tarik@itu.dk 2 Carnegie Mellon University john@hooker.tepper.cmu.edu Abstract. In

More information

Framework for Design of Dynamic Programming Algorithms

Framework for Design of Dynamic Programming Algorithms CSE 441T/541T Advanced Algorithms September 22, 2010 Framework for Design of Dynamic Programming Algorithms Dynamic programming algorithms for combinatorial optimization generalize the strategy we studied

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2013 Soleymani Course material: Artificial Intelligence: A Modern Approach, 3 rd Edition,

More information

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Evolving Variable-Ordering Heuristics for Constrained Optimisation

Evolving Variable-Ordering Heuristics for Constrained Optimisation Griffith Research Online https://research-repository.griffith.edu.au Evolving Variable-Ordering Heuristics for Constrained Optimisation Author Bain, Stuart, Thornton, John, Sattar, Abdul Published 2005

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

Reduced branching-factor algorithms for constraint satisfaction problems

Reduced branching-factor algorithms for constraint satisfaction problems Reduced branching-factor algorithms for constraint satisfaction problems Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

An Extension of Complexity Bounds and Dynamic Heuristics for Tree-Decompositions of CSP

An Extension of Complexity Bounds and Dynamic Heuristics for Tree-Decompositions of CSP An Extension of Complexity Bounds and Dynamic Heuristics for Tree-Decompositions of CSP Philippe Jégou, Samba Ndojh Ndiaye, and Cyril Terrioux LSIS - UMR CNRS 6168 Université Paul Cézanne (Aix-Marseille

More information

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

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Appeared in Proc of the 14th Int l Joint Conf on Artificial Intelligence, 558-56, 1995 On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Roberto J Bayardo Jr and Daniel P Miranker

More information

Reductions and Satisfiability

Reductions and Satisfiability Reductions and Satisfiability 1 Polynomial-Time Reductions reformulating problems reformulating a problem in polynomial time independent set and vertex cover reducing vertex cover to set cover 2 The Satisfiability

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Model Checking I Binary Decision Diagrams

Model Checking I Binary Decision Diagrams /42 Model Checking I Binary Decision Diagrams Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 523 2/42 Binary Decision Diagrams Ordered binary decision diagrams

More information

Metaheuristic Optimization with Evolver, Genocop and OptQuest

Metaheuristic Optimization with Evolver, Genocop and OptQuest Metaheuristic Optimization with Evolver, Genocop and OptQuest MANUEL LAGUNA Graduate School of Business Administration University of Colorado, Boulder, CO 80309-0419 Manuel.Laguna@Colorado.EDU Last revision:

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Practical Session No. 12 Graphs, BFS, DFS, Topological sort

Practical Session No. 12 Graphs, BFS, DFS, Topological sort Practical Session No. 12 Graphs, BFS, DFS, Topological sort Graphs and BFS Graph G = (V, E) Graph Representations (V G ) v1 v n V(G) = V - Set of all vertices in G E(G) = E - Set of all edges (u,v) in

More information

Computing least common subsumers for FLE +

Computing least common subsumers for FLE + Computing least common subsumers for FLE + Sebastian Brandt and Anni-Yasmin Turhan Theoretical Computer Science, TU Dresden, Germany Email: {brandt, turhan}@tcs.inf.tu-dresden.de Abstract Transitive roles

More information

BDD-Based Heuristics for Binary Optimization

BDD-Based Heuristics for Binary Optimization Journal of Heuristics manuscript No. (will be inserted by the editor) BDD-Based Heuristics for Binary Optimization David Bergman Andre A. Cire Willem-Jan van Hoeve Tallys Yunes Received: date / Accepted:

More information

Constraint Solving by Composition

Constraint Solving by Composition Constraint Solving by Composition Student: Zhijun Zhang Supervisor: Susan L. Epstein The Graduate Center of the City University of New York, Computer Science Department 365 Fifth Avenue, New York, NY 10016-4309,

More information

The Tractability of Global Constraints

The Tractability of Global Constraints The Tractability of Global Constraints Christian Bessiere ½, Emmanuel Hebrard ¾, Brahim Hnich ¾, and Toby Walsh ¾ ¾ ½ LIRMM-CNRS, Montpelier, France. bessiere@lirmm.fr Cork Constraint Computation Center,

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is

More information

Lecture 19. Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer

Lecture 19. Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer CS-621 Theory Gems November 21, 2012 Lecture 19 Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer 1 Introduction We continue our exploration of streaming algorithms. First,

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Frank C. Langbein F.C.Langbein@cs.cf.ac.uk Department of Computer Science Cardiff University 13th February 2001 Constraint Satisfaction Problems (CSPs) A CSP is a high

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

More information

Chordal deletion is fixed-parameter tractable

Chordal deletion is fixed-parameter tractable Chordal deletion is fixed-parameter tractable Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de Abstract. It

More information

CSP- and SAT-based Inference Techniques Applied to Gnomine

CSP- and SAT-based Inference Techniques Applied to Gnomine CSP- and SAT-based Inference Techniques Applied to Gnomine Bachelor Thesis Faculty of Science, University of Basel Department of Computer Science Artificial Intelligence ai.cs.unibas.ch Examiner: Prof.

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems In which we see how treating states as more than just little black boxes leads to the invention of a range of powerful new search methods and a deeper understanding of

More information

Improved algorithm for finding (a,b)-super solutions

Improved algorithm for finding (a,b)-super solutions Improved algorithm for finding (a,b)-super solutions Emmanuel Hebrard National ICT Australia and University of New South Wales Sydney, Australia. ehebrard@cse.unsw.edu.au Brahim Hnich Cork Constraint Computation

More information

On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

More information

Greedy Algorithms CHAPTER 16

Greedy Algorithms CHAPTER 16 CHAPTER 16 Greedy Algorithms In dynamic programming, the optimal solution is described in a recursive manner, and then is computed ``bottom up''. Dynamic programming is a powerful technique, but it often

More information

Constraint (Logic) Programming

Constraint (Logic) Programming Constraint (Logic) Programming Roman Barták Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic bartak@ktiml.mff.cuni.cz Sudoku Combinatorial puzzle, whose goal is to enter

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

Leveraging Set Relations in Exact Set Similarity Join

Leveraging Set Relations in Exact Set Similarity Join Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,

More information

NP-Complete Reductions 2

NP-Complete Reductions 2 x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete

More information

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points MC 0 GRAPH THEORY 0// Solutions to HW # 0 points + XC points ) [CH] p.,..7. This problem introduces an important class of graphs called the hypercubes or k-cubes, Q, Q, Q, etc. I suggest that before you

More information

Clustering Using Graph Connectivity

Clustering Using Graph Connectivity Clustering Using Graph Connectivity Patrick Williams June 3, 010 1 Introduction It is often desirable to group elements of a set into disjoint subsets, based on the similarity between the elements in the

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Linear Time: O(n) CS 580: Algorithm Design and Analysis 2.4 A Survey of Common Running Times Merge. Combine two sorted lists A = a 1,a 2,,a n with B = b 1,b 2,,b n into sorted whole. Jeremiah Blocki Purdue

More information

HW Graph Theory SOLUTIONS (hbovik) - Q

HW Graph Theory SOLUTIONS (hbovik) - Q 1, Diestel 9.3: An arithmetic progression is an increasing sequence of numbers of the form a, a+d, a+ d, a + 3d.... Van der Waerden s theorem says that no matter how we partition the natural numbers into

More information

CS 188: Artificial Intelligence Fall 2011

CS 188: Artificial Intelligence Fall 2011 CS 188: Artificial Intelligence Fall 2011 Lecture 5: CSPs II 9/8/2011 Dan Klein UC Berkeley Multiple slides over the course adapted from either Stuart Russell or Andrew Moore 1 Today Efficient Solution

More information

Constraint Programming

Constraint Programming Depth-first search Let us go back to foundations: DFS = Depth First Search Constraint Programming Roman Barták Department of Theoretical Computer Science and Mathematical Logic 2 3 4 5 6 7 8 9 Observation:

More information

General Methods and Search Algorithms

General Methods and Search Algorithms DM811 HEURISTICS AND LOCAL SEARCH ALGORITHMS FOR COMBINATORIAL OPTIMZATION Lecture 3 General Methods and Search Algorithms Marco Chiarandini 2 Methods and Algorithms A Method is a general framework for

More information

Discrete Optimization with Decision Diagrams

Discrete Optimization with Decision Diagrams Discrete Optimization with Decision Diagrams J. N. Hooker Joint work with David Bergman, André Ciré, Willem van Hoeve Carnegie Mellon University Australian OR Society, May 2014 Goal Find an alternative

More information

Foundations of Computing

Foundations of Computing Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/

More information

On the packing chromatic number of some lattices

On the packing chromatic number of some lattices On the packing chromatic number of some lattices Arthur S. Finbow Department of Mathematics and Computing Science Saint Mary s University Halifax, Canada BH C art.finbow@stmarys.ca Douglas F. Rall Department

More information

Semi-Independent Partitioning: A Method for Bounding the Solution to COP s

Semi-Independent Partitioning: A Method for Bounding the Solution to COP s Semi-Independent Partitioning: A Method for Bounding the Solution to COP s David Larkin University of California, Irvine Abstract. In this paper we introduce a new method for bounding the solution to constraint

More information

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1]

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1] International Journal of scientific research and management (IJSRM) Volume 3 Issue 4 Pages 2582-2588 2015 \ Website: www.ijsrm.in ISSN (e): 2321-3418 Principles of Optimization Techniques to Combinatorial

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1 Asymptotics, Recurrence and Basic Algorithms 1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1 1. O(logn) 2. O(n) 3. O(nlogn) 4. O(n 2 ) 5. O(2 n ) 2. [1 pt] What is the solution

More information

Large-Scale Optimization and Logical Inference

Large-Scale Optimization and Logical Inference Large-Scale Optimization and Logical Inference John Hooker Carnegie Mellon University October 2014 University College Cork Research Theme Large-scale optimization and logical inference. Optimization on

More information

Parameterized Complexity of Independence and Domination on Geometric Graphs

Parameterized Complexity of Independence and Domination on Geometric Graphs Parameterized Complexity of Independence and Domination on Geometric Graphs Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de

More information

Lecture 6: Constraint Satisfaction Problems (CSPs)

Lecture 6: Constraint Satisfaction Problems (CSPs) Lecture 6: Constraint Satisfaction Problems (CSPs) CS 580 (001) - Spring 2018 Amarda Shehu Department of Computer Science George Mason University, Fairfax, VA, USA February 28, 2018 Amarda Shehu (580)

More information

Column Generation Method for an Agent Scheduling Problem

Column Generation Method for an Agent Scheduling Problem Column Generation Method for an Agent Scheduling Problem Balázs Dezső Alpár Jüttner Péter Kovács Dept. of Algorithms and Their Applications, and Dept. of Operations Research Eötvös Loránd University, Budapest,

More information

Big Data Management and NoSQL Databases

Big Data Management and NoSQL Databases NDBI040 Big Data Management and NoSQL Databases Lecture 10. Graph databases Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz http://www.ksi.mff.cuni.cz/~holubova/ndbi040/ Graph Databases Basic

More information

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of

More information