Making Walks Count: From Silent Circles to Hamiltonian Cycles
1 Introduction
Leonhard Euler (1707–1783) famously invented graph theory in 1735, when he was faced with a puzzle, which some of the inhabitants of Königsberg amused themselves with. They were looking for a way to walk across each of their seven bridges once and only once, but they could not find any. Euler reduced the problem to its bare bones and showed that such a puzzle would have a solution if and only if every “node” (i.e., every land mass) in the underlying “graph” was at the origin of an even number of “edges” (each corresponding a bridge) with at most two exceptions—which could only be at the start or at the end of the journey. Since this was not the case at Königsberg, the puzzle had no solution.
Except for tiny examples like that historical one, a sketch on paper is rarely an adequate description of a graph. One convenient representation of a directed graph (often called digraph for short) is given by its adjacency matrix , where the element is the number of edges that go from node to node (in a simple graph, that number is either or ). An undirected graph, like the Königsberg graph, can be viewed as a digraph with a symmetric adjacency matrix (as every undirected edge between two nodes corresponds to a pair of directed edges going back and forth between the nodes).
A fruitful bonus of using adjacency matrices for representation of graphs is that the ordinary multiplication of such matrices is surprisingly meaningful: the th power of the adjacency matrix of a graph describes walks along successive edges (not necessarily distinct) in this graph. This observation leads to a method called the transfermatrix method (e.g., see [2, Section 4.7]) that employs the linear algebra techniques to enumerate walks very efficiently. In the present work, we shall perform a few spectacular enumerations using the transfermatrix method.
The element of the adjacency matrix can be viewed as the number of walks of length 1 from node to node . What is the number of such walks of length 2? Well, it is clearly the number of ways to go from to some node along one edge and then from that node to node along a second edge. This amounts to the sum over of all products , which is immediately recognized as a matrix element of the square of , namely . More generally, the above is the pattern for a proof by induction on of the following theorem.
Theorem 1 ([2, Theorem 4.7.1]).
The number equals the number of walks of length going from node to node in the digraph with the adjacency matrix .
A walk is called closed if it starts and ends at the same node. Theorem 1 immediately implies the following statement for the number of closed walks.
Corollary 2.
In a digraph with the adjacency matrix , the number of closed walks of length equals , the trace of .
It is often convenient to represent a sequence of numbers as a generating function (of indeterminate ) such that the coefficient of in equals for all integers (e.g., see [4] for a nice introduction to generating functions). In other words, . The generating function for the number of closed walks has a neat algebraic expression:
Theorem 3 ([2, Corollary 4.7.3]).
For any matrix ,
where , and is the identity matrix.
We will show how to put these nice results to good use by reducing some enumeration problems to the counting of walks or closed walks in certain digraphs.
2 Silent Circles
One of our motivations for the present work was the elegant solution to a problem originally posed by Philip Brocoum, who described the following game as a preliminary event in a drama class he once attended at MIT. The game was played repeatedly by all the students until silence was achieved.^{1}^{1}1Presumably, the teacher would participate only if the number of students was odd.
An even number () of people stand in a circle with their heads lowered. On cue, everyone looks up and stares either at one of their two immediate neighbors (left or right) or at the person diametrically opposed. If two people make eye contact, both will scream! What is the probability that everyone will be silent? For ,^{2}^{2}2The case is special, since the two immediate neighbors and the diametrically opposite person all coincide. since each person has choices, there are possible configurations (which are assumed to be equiprobable). The problem then becomes just to count the number of silent configurations.
Let us first do so in the slightly easier case of an prism of people (we will come back to the original question later). This is a fancy way to say that the people are now arranged in two concentric circles each with people, where every person faces a “partner” on the other circle and is allowed to look either at that partner or at one of two neighbors on the same circle.
The key idea is to notice that the silent configurations are in an onetoone correspondence with the closed walks of length in a certain digraph on nodes. Indeed, there are different ways for the two partners in a pair to not make an eye contact with each other. We call each such way a gaze and denote it with a pair of arrows, one over another, indicating sight directions of the partners. We build the gaze digraph, whose nodes are the different gazes. There is a (directed) edge from node to node if and only if gaze can be clockwise next to gaze in a silent configuration. The gaze digraph and its adjacency matrix are shown in Fig. 1.

Let be the number of “silent” gonal prisms. By Corollary 2, we have . Theorem 3 further implies (by direct calculation) that
From this generating function, we can easily derive a recurrence relation for . Namely, multiplying of the generating function by , we get
For , the equality of coefficients of in the lefthand and righthand sides gives
The values of form the sequence A141384 in the OEIS [3].
Returning to the original question, we remark that each gaze is formed by two diametrically opposite people from the same circle. For , a silent configuration for a circle of is therefore defined by a walk on nodes, where the starting and ending nodes represent the same pair of people but in different order. It follows that the starting and ending gazes must be obtained from each other by a vertical flip. The entries in the adjacency matrix corresponding to such gaze flips are colored green: the number of such walks equals the sum of elements in these entries in the matrix . Since the minimal polynomial of is
the sequence (sequence A141221 in the OEIS [3]) satisfies the recurrence relation:
which matches that for . Taking into account the initial values of for , we further deduce the generating function
We give initial numerical values of the sequences and along with the corresponding probabilities of silent configurations in the table below. Quite remarkably we have for all . It further follows that both probabilities and grow as , where
is the largest zero of the minimal polynomial of .
2  3  4  5  6  7  8  9  10  
32  158  828  4408  23564  126106  675076  3614144  19349432  
0.395  0.217  0.126  0.075  0.044  0.026  0.016  0.009  0.006  
30  156  826  4406  23562  126104  675074  3614142  19349430  
0.370  0.214  0.126  0.075  0.044  0.026  0.016  0.009  0.006 
3 Hamiltonian Cycles in Antiprism Graphs
An antiprism graph represents the skeleton of an antiprism. The antiprism graph (defined for ) has nodes and edges and is isomorphic to the circulant graph ; that is, its nodes can be placed along a circle and enumerated with numbers from to such that each node () is connected to nodes and (Fig. 2a).
(a)  (b) 
A cycle is a closed walk without repeated edges, up to a choice of a starting/ending node. A cycle is Hamiltonian if it visits every node in the graph exactly once. A recurrence formula for the number of Hamiltonian cycles in was first obtained in [1]. Here we present a simpler derivation for the same formula.
For a subgraph of , we define the visitation signature of at node as a triple of binary digits describing whether edges , , belong to (visited by) , where digits mean visited/nonvisited. Then a Hamiltonian cycle (viewed as a subgraph) in has one of the following two types:

there exists such that the visitation signature of at is ;

for every , the visitation signature of at is not .
It is not hard to see that for each fixed , there exist exactly two directed Hamiltonian cycles (of opposite directions) that has visitation signature at (an example of such a cycle for and is given in Fig. 2b). Moreover, the value of is unique for such cycles. So the total number of directed Hamiltonian cycles of type (T1) equals . Their generating function is
(1) 
Now we focus on computing the number of Hamiltonian cycles of type (T2), for which we need the following lemma.
Lemma 4.
A subgraph of is a Hamiltonian cycle of type (T2) if and only if (i) every node of is incident to exactly two edges in ; and (ii) the visitation signature of at every node is , , , or (shown in Fig. 3).
Proof.
If is a Hamiltonian cycle of type (T2), then condition (i) trivially holds. Condition (ii) can also be easily established by showing that no other visitation signature besides , , , and is possible in . Indeed,

the signature cannot happen anywhere in by the definition of type (T2);

the signature at node implies the signature at node ;

the signature at node implies the signature at node ;

the signature at node implies the presence of edges and in ; that is, must coincide with the cycle , a contradiction to .
Now, let be a subgraph of satisfying conditions (i) and (ii). Let be a connected component of . Since every node is incident to two edges from , represents a cycle in .
We claim that for any , either contains node or both nodes and . If this is not so, then starting at a node belonging and increasing its label by 1 or 2 modulo (keeping the node in ), we can find a node in such that neither , nor are in . Then (and ) contains edges and , and since every node in is incident to exactly two edges, does not contain edges , , and . That is, the visitation signature of at node is , a contradiction.
We say that skips node if it contains nodes and , but not . It is easy to see that if does not skip any nodes, then it contains all nodes , in which case represents a Hamiltonian cycle. If skips a node , consider a connected component of that contains . It is easy to see that the nodes of and must interweave, i.e., and . Then the signature of at node is , a contradiction proving that cannot skip nodes. ∎
Lemma 4 allows us to compute the number of Hamiltonian cycles of type (T2) in as the number of subgraphs satisfying conditions (i) and (ii). To compute the number of such subgraphs, we construct a directed graph on the allowed visitation signatures as nodes, where there is a directed edge whenever the signatures and can happen in at two consecutive nodes. The graph and its adjacency matrix are shown in Fig. 4.

By Lemma 4 and Corollary 2, the number of Hamiltonian cycles of type (T2) in equals . Correspondingly, the total number of directed Hamiltonian cycles in equals ; its generating function (derived from (1) and Theorem 3) is
It further implies that the sequence satisfy the recurrence relation:
with the initial values for (sequence A124353 in the OEIS [3]).
4 Hamiltonian Cycles and Paths in Arbitrary Graphs
Similarly to cycles, a path (i.e., a nonclosed walk without repeated edges) in a graph is called Hamiltonian if it visits every node of the graph exactly once. Enumeration of Hamiltonian paths/cycles in an arbitrary graph represents a famous NPcomplete problem. That is, one can hardly hope for existence of an efficient (i.e., polynomialtime) algorithm for this enumeration and thus has to rely on less efficient algorithms of (sub)exponential time complexity. Below we describe such notsoefficient but very neat and simple algorithm,^{3}^{3}3We are not aware if this algorithm has been described in the literature before, but based on its simplicity we suspect that this may be the case. which is based on the transfermatrix method and another basic combinatorial enumeration method called inclusionexclusion (e.g., see [2, Section 2.1]).
We denote the number of (directed) Hamiltonian cycles and paths in a graph by and , respectively.
Theorem 5.
Let be a graph with a node set and be the adjacency matrix of . Then
(2) 
and
(3) 
where is the sum of all^{4}^{4}4Alternatively, we can define as the sum of all nondiagonal elements of ; formula (2) still holds in this case. elements of a matrix .
Proof.
First, we notice that a Hamiltonian path in is the same as a walk of length that visits every node. Indeed, a walk of length visits nodes, and if it visits every node in , then it must visit each node only once. That is, such a walk is a Hamiltonian path.
For a subset , we define as the set of all walks of length in that do not visit any node from . Then by the inclusionexclusion, the number of Hamiltonian paths is given by
To use this formula for computing , it remains to evaluate for every , which can be done as follows. Let be the graph obtained from by removing all nodes (along with their incident edges) present in , and let be the adjacency matrix of . Then the elements of are nothing else by the walks of length in the graph . Hence, by Theorem 1, equals , which implies formula (2).
Similarly, a Hamiltonian cycle in can be viewed as a closed walk of length that starts/ends at node and visits every node. Hence, the number of Hamiltonian cycles in can be computed by the formula
Similar formulae hold if we view closed walks as starting/ending at node . Averaging over gives us formula (3). ∎
Formulae (2) and (3) can be used for practical computing and , although they have exponential time complexity as they sum terms (indexed by the subsets ). On a technical side, we remark that the matrix can be obtained directly from the adjacency matrix of by removing the rows and columns corresponding to the nodes in .
In an undirected graph , the number of undirected Hamiltonian paths and cycles is given by and , respectively.
5 Simple Cycles and Paths of a Fixed Length
Our approach for enumerating Hamiltonian paths/cycles can be further extended to enumerating simple (i.e., visiting every node at most once) paths/cycles of a fixed length. We refer to simple paths and cycles of length as paths and cycles, respectively. We denote the number of (directed) cycles and paths in a graph by and , respectively.
Theorem 6.
Let be a graph with a node set and be the adjacency matrix of . Then, for an integer ,
(4) 
and
(5) 
Proof.
In an undirected graph , the number of undirected cycles and paths is given by and , respectively.
Acknowledgments
The work of MAA supported by the National Science Foundation under grant no. IIS1462107.
References
 [1] Golin, M. J., and Leung, Y. C. Unhooking Circulant Graphs: A Combinatorial Method for Counting Spanning Trees and Other Parameters. In GraphTheoretic Concepts in Computer Science, J. Hromkovič, M. Nagl, and B. Westfechtel, Eds., vol. 3353 of Lecture Notes in Computer Science. Springer, Berlin Heidelberg, 2005, pp. 296–307.
 [2] Stanley, R. P. Enumerative Combinatorics, vol. 1. Cambridge University Press, New York, NY, 1997.
 [3] The OEIS Foundation. The OnLine Encyclopedia of Integer Sequences. Published electronically at http://oeis.org, 2016.
 [4] Wilf, H. S. Generatingfunctionology. Academic Press, 1994.
About the Authors
Max Alekseyev is an Associate Professor of mathematics and computational biology at the George Washington University. He holds M.S. in mathematics (1999) from the N.I. Lobachevsky State University of Nizhni Novgorod and Ph.D. in computer science (2007) from the University of California at San Diego. Dr. Alekseyev is a recipient of the NSF CAREER award (2013) and the John Riordan prize (2015). His research interests include computational biology, graph theory, combinatorics, and discrete algorithms. Dr. Alekseyev is an Associate Editor of the Frontiers in Bioinformatics and Computational Biology journal and an EditorinChief of the Online Encyclopedia of Integer Sequences (http://oeis.org).
Gérard Michon graduated from the French Ecole Polytechnique, then emigrated to the US in 1980. He has been living in Los Angeles ever since, obtaining a Ph.D. from UCLA in 1983, under S.A. Greibach and Judea Pearl. Since March 2000, Dr. Michon has been publishing online (http://www.numericana.com) short mathematicallyoriented articles meant for advanced continuingeducation students, at a rate of about two pieces per week (nearly two thousands to date). This goes from scientific trivia and historical aspects to fun ideas for research, including a prelude to some of the material presented here.