We describe an algorithm for computing the number \(h_{m,n}\) of Hamiltonian circuits in a rectangular grid graph consisting of \(m \times n\) squares. For any fixed \(m\), the set of Hamiltonian circuits on such graphs (for varying \(n\)) can be identified via an appropriate coding with the words of a certain regular language \(L_m \subset (\{0,1\}^m)^*\). We show how to systematically construct a finite automaton \(A_m\) recognizing \(L_m\). This allows, in principle, the computation of the (rational) generating function \(h_m(z)\) of \(L_m\). We exhibit a bijection between the states of \(A_m\) and the words of length \(m+1\) of the familiar Motzkin language. This yields an upper bound on the degree of the denominator polynomial of \(h_m(z)\), hence of the order of the linear recurrence satisfied by the coefficients \(h_{m,n}\) for fixed \(m\).
The method described here has been implemented. Numerical data resulting from this implementation are presented at the end of this article.
The core \(G_\Delta\) is the subgraph of \(G\) induced by the vertices of maximum degree. If \(\Delta(G)\) is a forest, then Fournier [8] showed that \(G\) is Class 1. Therefore, if \(G\) is Class 2, \(G_\Delta\) must contain cycles. A natural question is this: what is the chromatic index of \(G\) if \(G_\Delta\) is a union of vertex-disjoint cycles? In this paper, we give further information about this question.
A \(k\)-URD\((v, g, r)\) is a resolvable design on \(v\) points with block sizes \(g\) and \(k\). Each parallel class contains only one block size, and there are \(r\) parallel classes with blocks of size \(g\), this implies there are \(\frac{v-1-r(g-1)}{k-1}\) parallel classes of size \(k\).
We show that for sufficiently large \(v\), the necessary conditions are sufficient for the following range of values of \(r\). Let \(\epsilon_{k,g} = 1\)if \(g \equiv 0 \mod{k}\) and \(k\) otherwise, and let \(u = \frac{v}{g\epsilon_{k,g}}\).
If \(k = 2\) for all \(g\), or \(k = 3\) with \(g\) odd, then there exists a \(k\)-URD\((v, g, r)\) for the following values of \(r\):
Motivated by questions about semilattices of ordered compactifications, we study the structure of the lattice \(\mathcal{Q}(Y)\) of all closed quasiorders on a (compact) Hausdorff space \(Y\). For example, we show that the meets of coatoms are precisely those quasiorders which make the underlying space totally order-disconnected.
We describe the covering relation of such lattices and characterize “modular” and “semimodular” elements. In particular, we show that the closed equivalence relations on \(Y\) are precisely those upper semimodular elements of \(\mathcal{Q}(Y)\) which are not coatoms, and for \(|Y| \geq 3\), they are just the joins of bi-semimodular elements.
As a consequence of these results, two compact spaces are homeomorphic if and only if their lattices of closed quasiorders are isomorphic.
Methods of computing fixed points can be regarded as the culmination of many years of mathematical research, starting with Brouwer’s nonconstructive fixed point theorem in 1910. The breakthrough came in 1967 when Scarf succeeded in giving the first constructive proof of Brouwer’s fixed point theorem.
There are now a number of algorithms for computing fixed points using triangulation or primitive sets, based on Scarf’s concept, and complementary pivoting techniques. All these algorithms provide a constructive proof of Sperner’s Lemma for triangulation or a version of Sperner’s Lemma for primitive sets.
It is shown that they have a common combinatorial structure, which can be described, for instance, in terms of maximal chains with respect to a binary relation. This can be the basis for constructing new algorithms of similar type.
This paper studies a special instance of the graph partitioning problem motivated by an application in parallel processing. When a parallel computation is represented by a weighted task graph, we consider the problem of mapping each node in the graph to a processor in a linear array. We focus on a particular type of computation, a grid structured computation (GSC), where the task graph is a grid of nodes.
The general task graph mapping problem is known to be intractable, and thus past research efforts have either proposed heuristics for the general problem or optimally solved a constrained version of the general problem. Our contributions in this paper fall into both categories. We weaken past constraints and optimally solve a less constrained problem than has been solved optimally before and also present and analyze a simple greedy heuristic.
Optimal solutions have been given in the past when one places the contiguity constraint that each partition must consist of entire columns (or rows) of the GSC. We show that a more efficient solution can be found by relaxing the constraints on the partitions to allow parts of consecutive columns to be mapped to a processor; we call this weaker contiguity constraint the part-column constraint.
Our first result is to show that the problem of finding an optimal mapping satisfying the contiguity constraint remains NP-complete, where the contiguity constraint simply requires adjacent nodes to be mapped to the same or adjacent processors. We then design an \(O(M^2p)\) algorithm (that uses \(O(Mp)\) space) which finds the optimal part-column partitioning of a grid of \(M\) modules to a linear array of \(p\) processors. A simple greedy \(O(M)\) heuristic part-column partitioning algorithm is also presented which performs within a constant factor (two) of the optimal algorithm.
Our loosening of past constraints is shown to lead to a forty percent improvement in some cases. Other experimental results compare the proposed heuristic with the optimal algorithm.
Let \(G\) be a connected graph and let \(u\) and \(v\) be two vertices of \(G\) such that \(d_G(u, v) = 2\). We define their divergence to be: \(\alpha^*(u, v) = \max_{w} \{ |S| \mid for each w \in N_G(u) \cap N_G(v), S is a maximum independent set in N_G(w) containing u \text{ and } v \}.\) It is proved that if for each pair of vertices \(u\) and \(v\) of \(G\) such that \(d_G(u, v) = 2\), \(|N_G(u) \cap N_G(v)| \geq \alpha^*(u, v)\) and if \(\nu(G) \geq 3\), then \(G\) is pancyclic unless \(G\) is \(K_{{\nu}/{2},{\nu}/{2}}\). Several previously known sufficient conditions for pancyclicity follow as corollaries.