Richer Networks
Tom Kelliher, CS 315
Apr. 19, 1999
Read openings of 3.1, 3.2, 3.3.
Multiplication, convolution on linear arrays.
- Hypercubes.
- Butterflies.
Shuffle-Exchanges.
Definition of r-dimensional hypercube:
- Has
nodes and
edges.
- Each node is labeled with an r-bit number.
- Two nodes are connected only if they differ in one bit.
- Edges partition nicely along dimensions. An edge is called a
dimension k edge only if it connects two nodes which differ in the
kth bit position.
- Recursive structure.
Examples: 0- through 4-dimensional hypercubes.
- How can we find a path from node
to
node
?
- What is the diameter of the graph?
- What is the bisection width of the graph? (
--- remove any
dimension's edges.)
- Mapping a linear array.
- Hamiltonian cycles.
- Proof by induction. Basis: N=4.
Step: Partition the N-node hypercube into 2
-node hypercubes.
Assume that there is an edge (x010, x110) and, symmetrically, (x011,
x111) in each sub-hypercube, respectively.
To construct the linear array for the hypercube, remove those edges and
add edges (x010, x011) and (x110, x111).
- Mapping a 2-D array. Example: construct a 4x4 array from a 16 node
hypercube.
Definition of r-dimensional butterfly:
- Has
nodes and
edges.
- Each node is labeled
, where r (binary) is the row and l
(decimal) is the level.
- Two types of edges:
- Straight edges connect
and
.
- Cross edges connect
and
, where r and
differ only in the lth bit position.
- Recursive structure.
Example: 3-dimensional butterfly.
Observation: Collapsing horizontally, we get the hypercube.
- How can we find a path from node
to node (r',l)?
Extend to nodes on arbitrary levels.
- What is the diameter of the graph?
- What is the bisection width of the graph? Is r correct?
Thomas P. Kelliher
Mon Apr 19 09:48:13 EDT 1999
Tom Kelliher