16372400
Propagation algorithms for lexicographic ordering constraints
Finite-domain constraint programming has been used with great success to tackle a wide variety of combinatorial problems in industry and academia. To apply finite-domain constraint programming to a problem, it is modelled by a set of constraints on a set of decision variables. A common modelling pattern is the use of matrices of decision variables. The rows and/or columns of these matrices are often symmetric, leading to redundancy in a systematic search for solutions. An effective method of breaking this symmetry is to constrain the assignments of the affected rows and columns to be ordered lexicographically. This paper develops an incremental propagation algorithm, GACLexLeq, that establishes generalised arc consistency on this constraint in O(n) operations, where n is the length of the vectors. Furthermore, this paper shows that decomposing GACLexLeq into primitive constraints available in current finite-domain constraint toolkits reduces the strength or increases the cost of constraint propagation. Also presented are extensions and modifications to the algorithm to handle strict lexicographic ordering, detection of entailment, and vectors of unequal length. Experimental results on a number of domains demonstrate the value of GACLexLeq.
11070611
The Constrainedness of Arc Consistency
We show that the same methodology used to study phase transition behaviour in NP-complete problems works with a polynomial problem class: establishing arc consistency. A general measure of the constrainedness of an ensemble of problems, used to locate phase transitions in random NP-complete problems, predicts the location of a phase transition in establishing arc consistency. A complexity peak for the AC3 algorithm is associated with this transition. Finite size scaling models both the scaling of this transition and the computational cost. On problems at the phase transition, this model of computational cost agrees with the theoretical worst case. As with NP-complete problems, constrainedness — and proxies for it which are cheaper to compute — can be used as a heuristic for reducing the number of checks needed to establish arc consistency in AC3. 
 
The authors are supported by EPSRC awards GR/L/24014 and GR/K/65706, and the EU award EU20603. The authors wish to thank other members of the APES research group for their help, and Gene Freuder.
12061015
Automatic Invention of Integer Sequences
We report on the application of the HR program (Colton, Bundy, & Walsh 1999) to the problem of automatically inventing integer sequences. Seventeen sequences invented by HR are interesting enough to have been accepted into the Encyclopedia of Integer Sequences (Sloane 2000) and all were supplied with interesting conjectures about their nature, also discovered by HR. By extending HR, we have enabled it to perform a two stage process of invention and investigation. This involves generating both the definition and terms of a new sequence, relating it to sequences already in the Encyclopedia and pruning the output to help identify the most surprising and interesting results.
2156641
Multiset Ordering Constraints
We identify a new and important global (or nonbinary) constraint which ensures that the values taken by two vectors of variables, when viewed as multisets, are ordered. This constraint is useful for a number of different applications including breaking symmetry and fuzzy constraint satisfaction. We propose and implement a linear time algorithm for enforcing generalised arc-consistency on such a multiset ordering constraint. Experimental results show considerable promise.
5055655
The Complexity of Global Constraints
We study the computational complexity of reasoning with global constraints. We show that reasoning with such constraints is intractable in general. We then demonstrate how the same tools of computational complexity can be used in the design and analysis of specific global constraints. In particular, we illustrate how computational complexity can be used to determine when a lesser level of local consistency should be enforced, when decomposing constraints will lose pruning, and when combining constraints is tractable. We also show how the same tools can be used to study symmetry breaking, meta-constraints like the cardinality constraint, and learning nogoods.
17485829
Beyond Finite Domains: The All Different and Global Cardinality Constraints
We describe how the propagator for the ALL-DIFFERENT constraint can be generalized to prune variables whose domains are not just simple finite integer domains. We show, for example, how it can be used to propagate set, multiset and tuple variables.
43061363
Counting labelled three-connected and homeomorphically irreducible two-connected graphs
Abstract Recursive procedures are obtained for counting isomorphism classes of three-connected graphs and of two-connected graphs without vertices of degree 2. We apply an enumeration tool developed by R. W. Robinson to count non-isomorphic 2-connected graphs: he expressed the sums of cycle indices of automorphism groups of connected graphs in terms of those of their 2-connected components, and we do the same for 2-connected graphs and their 3-connected components.
8458935
Efficient enumeration of sensed planar maps
We use Liskovets' quotient maps and Robinson's cycle index sums to count 1-, 2- and 3-connected planar maps by number of vertices and edges up to sense-preserving homeomorphism of the embedding sphere. Although Wormald has already counted these maps up to all homeomorphism, sense-reversing as well as sense-preserving, our methods are computationally more efficient for counting these maps up to orientation-preserving homeomorphism and yield closed-form enumeration formulas in the case of 1- and 2-connected maps. Our formula for 1-connected planar maps uses the number of rooted planar maps with i+1 vertices and j+1 faces; we evaluate these numbers using a method that is more efficient than substituting into Tutte's parametric equations, and we also count rooted toroidal maps by number of vertices and faces more efficiently than by substituting into Arques' explicit formula.
17164164
Towards Measuring Similarity in Description Logics
We review several kinds of previously studied concept similarity measures, and then rephrase them in terms of a simple DL. We discuss the difficulties encountered in trying to generalize these formulations to more complex DLs, and settle on one based on probability/information theory as being the most principled. 1 Motivation and Goals The idea of measuring concept similarity has received considerable attention in several domains, including psychology, cognitive science, and computational linguistics and information retrieval. This work has been applied and extended recently in the field of Information Integration, which often relies on ontologies and hence concepts described in DLs. Most past work has concentrated on the similarity of “atomic” concepts (word senses), rather than composite, defined concepts, which are the stock-in-trade of DLs. This has sometimes been characterized as the difference between considering nouns appearing in a dictionary, e.g. WordNet, and general arbitrary noun phrases. The modest goal of this paper is to consider the problem of generalizing previous efforts to define similarity for primitive concepts to composite ones. To this end, we review three classes of approaches found in the current literature, rephrase them in terms of a very simple description logic, and then try to generalize this to a complex DL. These extensions invite a host of new questions that we leave open for further research. To begin with, we make several observations about possible real-valued function(s) sim(C,D) that would measure concept similarity in general. First, any effort to assess simlarity via absolute numeric values seems ill-advised — in small experiments even human judgments have been shown to correlate only in the .91 to .94 range. A less exacting target is to use sim to provide relative orderings over concepts. Some researchers have studied a complementary measure, distance dist(C,D), which can similarly be used for ordering alternatives. To the extent that two functions provide similar orderings (e.g., consistently differing by a constant factor) they are essentially indistinguishable for our purposes. Nonetheless, there are two important general properties that are widely agreed to be desirable for sim(C,D): 1. sim(C,D) is positively correlated with the amount of commonality between C and D. 2. sim(C,D) is negatively correlated with the amount of difference between C and D. The key question then becomes how to measure “commonality”; in turn, this is related to how information about the concept is captured. 2 Three approaches to concept similarity Clearly, in order to compare concepts we need to consider what information we have available about them. We follow Rodriguez [14] in categorizing a variety of approaches, and for each we give a few of the best known functions, which we shall follow. Feature-based Models In this approach, a concept C is characterized by a a set of features ftrs(C). In his pioneering work on similarity, the psychologist Amos Tversky [16] introduced two families of measures: the “contrast model”, where the similarity of C and D is a linear function: contrasttv(C,D) = θf(ftrs(C) ∩ ftrs(D)) − αf(ftrs(C) \ ftrs(D))− βf(ftrs(D) \ ftrs(C)), where \ is set difference, θ, α, and β are non-negative constants, and where f(.) is often taken as the count of features in the set (written |.|). Tversky also proposed a normalized “ratio model”, where similarity is a fraction involving these sets:
44916266
Inversion of Cycle Index Sum Relations for 2- and 3-Connected Graphs
Abstract Algebraic inversion of cycle index sum relations is employed to derive new algorithms for counting unlabeled 2-connected graphs, homeomorphically irreducible 2-connected graphs, and 3-connected graphs. The new algorithms are significantly more efficient than earlier ones, both asymptotically and for modest values of the order. Tables of computed results are included.
15896133
Worst-Case Analysis of Read's Chromatic Polynomial Algorithm
The worst-case time-complexity of Read's edge-addition/contraction algorithm for computing the chromatic polynomial of an n-vertex graph is shown to be O(n2B(n)), where B(n) is the nth Bell number, which grows faster than cn for any c but slower than n!. The factor n2 can be reduced to n, and the space-complexity from O(n3) to O(n2), by storing in arrays the information needed to reverse each transformation made on the graph. A graph G is assumed to be finite (with n vertices), unoriented and without loops or parallel edges. A t-colouring of G is a mapping from the vertex-set of G into the set {1,...,t} of colours so that no two adjacent vertices have the same colour. The chromatic polynomial P(G,t) of G is a function of t whose value for a given t is the number of t-colourings of G. Once the polynomial P(G,t) has been calculated, one can decide in polynomial time if G has a t-colouring for a given t by substituting t into the polynomial: G has a t-colouring if and only if P(G,t)>0. Since the problem of deciding whether G has a t-colouring is NP-hard [1, p. 392], it is unlikely that a polynomial-time algorithm will be found for computing the chromatic polynomial of a graph. The most commonly-used algorithm is the one proposed by Read [3]. It has been referenced and improved upon in several places in the literature (see, for example [5]) but its worst-case timeand spacecomplexity have never been published. We show here that the spacecomplexity is O(n3) and the time-complexity is O(n2B(n)), where B(n), the nth Bell number, grows faster than cn for any c but slower than n!, and we modify the algorithm so that it runs in O(nB(n)) time and uses O(n2) space. The following facts are shown in [3] and in other places: 1. P(G,t) is a polynomial of degree n in t. 2. If G is a tree then P(G,t)=t(t-1)n-1. 3. If G is not connected then the chromatic polynomial of G is the product of the chromatic polynomials of its connected components. 4. If G is a complete graph then P(G,t) = t(t-1)(t-2)...(t-n+1). (1) 5. If G is not a complete graph, let x and y be any two non-adjacent vertices. Let G+{x,y} be the graph obtained from G by adding the edge {x,y} to G. Let G(x=y) be the graph obtained from G by identifying the vertices x and y, where a vertex v is adjacent to the common vertex xy in G(x=y) if and only if v is adjacent to at least one of x and y in G. Then P(G,t) = P(G+{x,y},t) + P(G(x=y),t). (2) The algorithm in [3] for calculating P(G,t) is a recursive one based on (1) and (2). We give a non-recursive version (see Figure 1) for the purpose of analysing its spaceand time-complexity. Procedure PolyChrome(G: n-vertex graph; C: ARRAY[1..n] OF INTEGER); FOR i:=1 TO n DO C[i]:=0 END FOR; m:=n; H:=G; (* H is the current graph, which has m vertices *) Stack:=EMPTY; LOOP IF H has two non-adjacent vertices x and y THEN PUSH H+{x,y} onto Stack; H:=H(x=y); m:=m-1; ELSE C[m]:=C[m]+1; IF m<n THEN POP from Stack into H; m:=m+1; ELSE EXIT END IF END IF END LOOP END PolyChrome. Figure 1 A non-recursive version of Read's chromatic polynomial algorithm. We find P(G,t) from formula (3) below: P(G,t) = C[1]t + C[2]t(t-1) + ... + C[n]t(t-1)...(t-n+1). (3) We analyse the spaceand time-complexity of this algorithm under the assumption that the graph is represented by an adjacency matrix. The space-complexity is easy to analyse: at any time the stack will contain one graph with i vertices for each i from n down to m for a maximum of n graphs, each occupying O(n2) space, for a total of O(n3). To analyse the time-complexity we note that everything done to a graph H creating it, searching it for non-adjacent vertices, pushing it onto the stack and popping it off again takes O(n2) elementary operations, so that the total number of operations performed is O(n2) multiplied by the number of graphs the algorithm has to treat. The branching tree for this algorithm is a binary tree whose nodes are the graphs H the algorithm has to treat, with G as its root and the complete graphs as its leaves, and each internal node H for which the nonadjacent vertices x and y have been found has H+{x,y} and H(x=y) as its children. Each time the algorithm treats a complete graph it increases C[m] by 1 for some m, 1≤m≤n, so that the number of complete graphs it treats is C[1] + C[2] + ... + C[n], (4) and since the total number of nodes of a binary tree is twice the number of its leaves minus 1, the total time complexity of the algorithm is O(n2 multiplied by the sum in (4)). The worst case of this algorithm clearly occurs when G has no edges. In this case P(G,t)=tn. Substituting this value of P(G,t) into (3) we find that for each value of k, C[k]=S(n,k), a Stirling number of the second kind [4, p. 33]. Substituting these values into (4) we obtain the Bell number B(n). The worstcase time-complexity of this algorithm is thus O(n2B(n)). There is an asymptotic estimate for B(n) in [2]: B(n) ~ (R+1)-1/2exp[n(R+R-1-1)-1], (5)