Hypercube graph


In graph theory, the hypercube graph is the graph formed from the vertices and edges of an -dimensional hypercube. For instance, the cubical graph is the graph formed by the 8 vertices and 12 edges of a three-dimensional cube.
has vertices, edges, and is a regular graph with edges touching each vertex.
The hypercube graph may also be constructed by creating a vertex for each subset of an -element set, with two vertices adjacent when their subsets differ in a single element, or by creating a vertex for each -digit binary number, with two vertices adjacent when their binary representations differ in a single digit. It is the -fold Cartesian product of the two-vertex complete graph, and may be decomposed into two copies of connected to each other by a perfect matching.
Hypercube graphs should not be confused with cubic graphs, which are graphs that have exactly three edges touching each vertex. The only hypercube graph that is a cubic graph is the cubical graph.

Construction

The hypercube graph may be constructed from the family of subsets of a set with elements, by making a vertex for each possible subset and joining two vertices by an edge whenever the corresponding subsets differ in a single element. Equivalently, it may be constructed using vertices labeled with -bit binary numbers and connecting two vertices by an edge whenever the Hamming distance of their labels is one. These two constructions are closely related: a binary number may be interpreted as a set, and two such sets differ in a single element whenever the corresponding two binary numbers have Hamming distance one.
Alternatively, may be constructed from the disjoint union of two hypercubes, by adding an edge from each vertex in one copy of to the corresponding vertex in the other copy, as shown in the figure. The joining edges form a perfect matching.
Another construction of is the Cartesian product of two-vertex complete graphs. More generally the Cartesian product of copies of a complete graph is called a Hamming graph; the hypercube graphs are examples of Hamming graphs.

Examples

The graph consists of a single vertex, while is the complete graph on two vertices and is a cycle of length .
The graph is the 1-skeleton of a cube, a cubical graph, a planar graph with eight vertices and twelve edges.
The graph is the Levi graph of the Möbius configuration. It is also the knight's graph for a toroidal chessboard.

Properties

Bipartiteness

Every hypercube graph is bipartite: it can be colored with only two colors. The two colors of this coloring may be found from the subset construction of hypercube graphs, by giving one color to the subsets that have an even number of elements and the other color to the subsets with an odd number of elements.

Hamiltonicity

Every hypercube with has a Hamiltonian cycle, a cycle that visits each vertex exactly once. Additionally, a Hamiltonian path exists between two vertices and if and only if they have different colors in a -coloring of the graph. Both facts are easy to prove using the principle of induction on the dimension of the hypercube, and the construction of the hypercube graph by joining two smaller hypercubes with a matching.
Hamiltonicity of the hypercube is tightly related to the theory of Gray codes. More precisely there is a bijective correspondence between the set of -bit cyclic Gray codes and the set of Hamiltonian cycles in the hypercube. An analogous property holds for acyclic n-bit Gray codes and Hamiltonian paths.
A lesser known fact is that every perfect matching in the hypercube extends to a Hamiltonian cycle. The question whether every matching extends to a Hamiltonian cycle remains an open problem.

Other properties

The hypercube graph :
The family for all is a Lévy family of graphs

Problems

The problem of finding the longest path or cycle that is an induced subgraph of a given hypercube graph is known as the snake-in-the-box problem.
Szymanski's conjecture concerns the suitability of a hypercube as a network topology for communications. It states that, no matter how one chooses a permutation connecting each hypercube vertex to another vertex with which it should be connected, there is always a way to connect these pairs of vertices by paths that do not share any directed edge.