[comp.parallel] Hypercubes and Hypertoroids

pratt@cs.stanford.edu (12/05/89)

(Is it ok if I send this stuff direct to you instead of posting it to
comp.parallel?  Easier for me that way. -v) 
====================================

	From: James Price Salsman <js7a+@andrew.cmu.edu>
	A four-by-four torus is isomorphic to a 2x2x2x2 hypercube.
	On the other hand, a 2^8 hypercube is isomorphic to a
	4x4x4x4 hypertoroid.

Two side remarks on this.  The general case of course is that a 2^{2n}
hypercube is isomorphic to a 4^n hypertorus.  The other thing is that
this observation is the underlying principle behind Karnaugh maps.

The isomorphism depends on the fact that in topology the circle *can*
be squared.  That is, the square (meaning just its four edges, i.e. not
including the interior) is topologically equivalent to the circle
(meaning just its perimeter).  Going around the square yields the Gray
code order 00-01-11-10-00, as found in Karnaugh maps.  For some reason
digital design books don't point out this principle, which is a shame.
I used to point this out to the students in my machine organization
class at MIT in the 1970's, maybe the word has spread since.

Karnaugh maps are great for up to four Boolean variables because a 4x4
torus can be laid out in the plane.  With six variables a 3D Karnaugh
map can be used (the plastic contraption that comes with the 3D
tic-tac-toe game should come in handy though I haven't tried it).
Beyond that it gets hard, but then the main application of Karnaugh
maps, finding a minterm representation of Boolean expressions, is after
all NP-complete.  From a complexity viewpoint we should be grateful our
universe has only three spatial dimensions instead of say 1000 or
infinitely many.  Navigation would be a famous open problem!
					Vaughan Pratt
					pratt@cs.stanford.edu