Given a labeled set that is linearly ordered, a ranking algorithm returns the rank-position of an element in the linear order when input with the label of that element. In this paper we provide ranking (and unranking) algorithms for certain classes of graphs where the linear order on the vertex-set of a graph is determined by a Hamiltonian path. The classes of graphs we consider include the Hypercube, the De Bruijn, and the Butterry, the so-called hypercubic networks. These graphs are widely recognized as important inter-connection topologies for parallel computations. Our ranking and unranking algorithms can be applied to yield eecient implementations of certain network emulations using SIMD-style parallel algorithms for translating node labels. 1. Introduction One unavoidable step in the implementation of parallel algorithms on inter-connection networks is the generation of software that \reconngures" the physical architecture, given the algorithm's speciied logical interconnection topology. Re-conngurations must be programmed eeciently or they may dominate the costs of a parallel computation. In this paper we focus on the problem of reconngurations involving the use of long embedded paths (in particular, Hamiltonian paths) in hypercubic networks. The existence of Hamiltonian paths in the Hypercube, the De Bruijn, and the Butterry is well known. However, the existence of such paths does not imply that they may be used eeectively in parallel computations on networks. Indeed, embedding algorithms for Hamiltonian paths are sometimes speciied sequentially and thus run in time linear (or worse) in the size of the networks. This may not be useful in practice, especially when implementing sub-linear time algorithms. Paths can be embedded eeciently in parallel networks by developing fast ranking and unranking algorithms. The existence of such algorithms constitutes an eecient parallel implementation of a graph embedding. In a previous paper 1] the author provided a general framework for such embeddings. The basic problem in providing parallel implementations of graph embeddings is the following: given a logical graph structure G, and an algorithm for embedding G into a physical network H, we seek an eecient method for translating between the labels of G-nodes and H-nodes that respects the embedding.
[1]
E T. Leighton,et al.
Introduction to parallel algorithms and architectures
,
1991
.
[2]
W. W. Ball,et al.
Mathematical Recreations and Essays
,
1905,
Nature.
[3]
Fred S. Annexstein.
Parallel Implementations of Graph Embeddings
,
1992,
Heinz Nixdorf Symposium.
[4]
Herbert S. Wilf,et al.
Combinatorial Algorithms: An Update
,
1987
.
[5]
Frank Ruskey,et al.
Simple Combinatorial Gray Codes Constructed by Reversing Sublists
,
1993,
ISAAC.
[6]
Rainer Feldmann,et al.
The Shuffle Exchange Network has a Hamiltonian Path
,
1992,
MFCS.
[7]
Abraham Lempel,et al.
On a Homomorphism of the de Bruijn Graph and its Applications to the Design of Feedback Shift Registers
,
1970,
IEEE Transactions on Computers.