the zero forcing number of circulant graphs - minnesota · pdf filethe zero forcing number of...
TRANSCRIPT
The Zero Forcing Number of CirculantGraphs
Alex Bates∗ Laura Fink† Brenda K. Kroschel‡
August 31, 2015
Abstract
The zero forcing number of a graph G is the cardinality of the smallest subset of thevertices of G that forces the entire graph using a color change rule. This paper presentssome basic properties of circulant graphs and later investigates zero forcing numbersof circulant graphs of the form C[n, {s, t}], while also giving attention to propagationtime for specific zero forcing sets.
1 Introduction
A graph is a set G = {V,E} where V is a set of vertices and E is the set of edgesexpressed as unordered pairs such that an unordered pair containing two vertices denotesan edge between those two vertices. This paper deals exclusively with simple, undirectedgraphs. A simple graph denotes a graph where each vertex cannot have an edge with itself(eg. a loop) and does not allow more than one copy of an edge. An undirected graph denotesgraphs for which edges have no orientation. The degree of a vertex v of a graph G, denoteddeg(v), is the number of edges incident to that vertex.
0
1
2
3
4
Figure 1: The graph {{0, 1, 2, 3, 4}, {(0, 1), (0, 2), (1, 2), (2, 3), (2, 4), (3, 4)}}.
A vertex is said to share an edge with another vertex if the two are connected with anedge. This is also described by saying there is an edge between two vertices, or that two
∗Center for Applied Mathematics, University of St. Thomas, St. Paul, MN 55105, USA†Center for Applied Mathematics, University of St. Thomas, St. Paul, MN 55105, USA‡Department of Mathematics, Mail #OSS 201, University of St. Thomas, 2115 Summit Avenue, St. Paul,
MN 55105, USA ([email protected])
1
vertices are neighbors, adjacent, or (v1, v2) ∈ E. An edge is called incident to a vertex whenit is attached to that vertex (ie: the edge (v1, v2) is incident to the vertex v1). Two verticesthat are next to each other but not necessarily adjacent are called consecutive vertices.
The color change rule applies to graphs that initially have a certain set of vertices coloredblue and the remaining vertices white. If a blue vertex has only one adjacent white vertexthen that white vertex is forced or color-changed blue. This process is repeated until nomore vertices can be forced blue. If every vertex is blue when the process stops, the graph iscalled color-derived. Every repetition of this process is considered one timestep or iteration.
A zero forcing set of a graph G is any subset of the vertices of G colored blue that canforce the entire graph to its color-derived state via the color change rule. A minimal zeroforcing set of G is a zero forcing set of G containing the fewest vertices. A graph G may havemore than one minimal zero forcing set. The zero forcing number of a graph G, denotedZ(G), is the cardinality of a minimal zero forcing set of G.
Let G be a graph and S a zero forcing set of G. The propagation time for S in G,denoted pt(G,S), is the number of timesteps (or iterations) needed for S to force G to itscolor-derived state. The minimal propagation time of G, denoted pt(G) is the minimumpropagation time over all zero forcing sets.
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
Figure 2: After two iterations of forcing, the graph in Figure 1 is now color-derived.
Zero forcing was initially introduced in 2007 [1] for simple, undirected graphs. Zeroforcing is of interest because the zero forcing number of a graph provides a bound for the
2
minimum rank of the matrix associated with that graph. Zero forcing has also garneredinterest in recent years because of its relation to the spread of information in networks [2].It is possible to compute the zero forcing number of a particular graph, but in many casescomputation can take a considerable amount of time. To aid research in circulant graphs, thezero forcing numbers of all structurally unique circulant graphs (see section 2.2) up throughsize n = 29 were computed, the results of which can be found in Appendix B.
2 Circulant Graphs
A circulant graph, denoted C[n, {s1, s2, ..., sm}], for which n > 2 and si ∈ Zn for i =1, 2, ...,m, is a graph consisting of n vertices such that each vertex v shares an edge withthe vertices v + s1, v − s1, v + s2, v − s2, ..., v + sm, v − sm mod n. The set {s1, s2, ..., sm}is referred to as the connection set of G. At times, it is convenient to write the values ofthe connection set in order from least to greatest, however, this is not always possible nornecessary. All arithmetic done on the vertices of a circulant graph is mod n.
For integers a, b, and c, “a is equivalent to b mod c” is denoted by a ≡ b mod c.
01
2
3
45
6
7
8
9
Figure 3: C[10, {1, 3}]
Lemma 2.1. The graphs G = C[n, {s1, s2, ..., si−1, si, si+1, ..., sm}] andG′ = C[n, {s1, s2, ..., si−1, (n− si), si+1, ..., sm}], where 1 ≤ i ≤ m, are identical.
Proof. To show that the two graphs are identical, it is sufficient to verify that they bothhave identical vertex sets and edge sets. It is obvious that they have identical vertex sets,since both G and G′ are circulant graphs of size n.
Let v denote an arbitrary vertex of G and G′. Obviously, v is adjacent to v + sj and v isadjacent to v − sj for all j = 1, 2, ..., i− 1, i + 1, ...,m in both G and G′. In G, v is adjacentto v + si and v is adjacent to v − si. In G′, v is adjacent to v − (n − si) ≡ v + si mod nimplies that v is adjacent to v + si, and v is adjacent to v + (n− si) ≡ v− si mod n impliesthat v is adjacent to v − si. Thus, v is adjacent to v + sj and v is adjacent to v − sj for allj = 1, 2, ...,m in both G and G′. Therefore, the two graphs are identical. �
Note that the lemma above shows that the connection sj > bn2c can be rewritten as
n− sj. Therefore, this justifies the claim that all sj are in the set {1, 2, ..., bn2c}.
3
2.1 Connected graphs
Certain circulant graphs are disconnected; they consist of multiple ”copies” of other graphsthat are placed on top of one another but do not share any edges. This paper gives littletreatment to disconnected graphs, so it is necessary to identify those circulant graphs thatare disconnected.
A walk in a graph G is a finite sequence of vertices v0, v1, ..., vn and edges e1, e2, ..., en :
v0, e1, v1, e2, ..., en, vn,
where ei = (vi − 1, vi) for each i.
Definition 2.2. A graph is connected if for every pair of vertices u and v, there is a walkfrom u to v. [3]
The definition above is logically equivalent to the one below, but both are included heresince they both have their own advantages and disadvantages in determining whether or nota graph is connected.
Definition 2.3. A graph is called disconnected if its vertex-set can be partitioned into twosubsets, V1 and V2, that have no common element, in such a way that there is no edge withone endpoint in V1 and the other in V2; if a graph is not disconnected then it is connected.[4]
0
1 2
3
4 5
6
Figure 4: A disconnected graph.
Proposition 2.4. Let m ≥ 2. An element a ∈ Zm has a multiplicative inverse if and onlyif gcd(a,m) = 1.
Let n ≥ 2 and b ∈ Zn. The principal ideal generated by b is 〈b〉 = {kb | k ∈ Zn}.
Lemma 2.5. Let A = {(cg) mod n | c ∈ Zn} and B = {(cg + 1) mod n | c ∈ Zn} forn, g > 1 such that gcd(n, g) 6= 1, then A ∩B = ∅.
Proof. By way of contradiction, suppose that A ∩ B 6= ∅. Then, there exists x ∈ A ∩ B sothat x ≡ c1g ≡ c2g + 1 mod n for some c1, c2 ∈ Zn. Then g(c1 − c2) ≡ 1 mod n, whichimplies that g has an inverse in Zn. But by Proposition 2.4, g ∈ Zn has an inverse if andonly if gcd(n, g) = 1, which is a contradiction. Therefore, A ∩B = ∅. �
Theorem 2.6. A circulant graph G = C[n, {s, t}], where n, s, t > 1, is disconnected if andonly if gcd(n, s, t) 6= 1.
4
Proof. To prove the backwards implication, let G = C[n, {s, t}] with gcd(n, s, t) = g 6= 1. Itwill be shown that G = C[n, {s, t}] is disconnected.
Define the sets A = {(cg) mod n | c ∈ Zn} and B = {(cg + 1) mod n | c ∈ Zn} as inLemma 2.5. Note that A and B are subsets of the vertex set of G and that A = 〈g〉. By thelemma, A ∩B = ∅.
It will be shown that there does not exist an edge with one endpoint in A and the otherin B. Consider an arbitrary vertex of A and call it va. The vertex va has the form (cg)mod n for some c ∈ Zn and is adjacent to the vertices numbered va − s, va + s, va − t, andva + t mod n. Now gcd(n, s, t) = g, and both s and t are elements of A, which means thatva − s, va + s, va − t, va + t are also in A.
So, the vertices of G have been partitioned into two distinct subgroups, A and B, withA ∩ B = ∅, in such a way that there is no edge with one endpoint in A and the other in B.Therefore, G is a disconnected graph.
To prove the forward implication, assume that a circulant graph G is disconnected. Itwill be shown that gcd(n, s, t) 6= 1. By way of contradiction, suppose that gcd(n, s, t) = 1.Then, gcd(n, s) = 1 or gcd(n, t) = 1 or gcd(s, t) = 1.
Case 1: Assume that gcd(n, s) = 1 or gcd(n, t) = 1. Define r = s if gcd(n, s) = 1 andr = t if gcd(n, t) = 1. Consider two arbitrary vertices u and w of G. It will be shown thatthere is a walk from u to w. If u = w, then there exists a walk u, (u, u+ r), u+ r, (u+ r, u), uin G from u to itself. If u 6= w, define R = {zr | z ∈ Zn}. Since gcd(n, r) = 1, R = Zn,which implies that R contains all the vertices of G. This implies that w = u + yr for somey ∈ Zn so that there is a walk from u to w. Then by Definition 2.2, G is connected, whichis a contradiction.
Case 2: Assume that gcd(s, t) = 1. Consider two arbitrary vertices u and w of G.It will be shown that there is a walk from u to w. If u = w, then there exists a walku, (u, u + s), u + s, (u + s, u), u in G from u to itself. If u 6= w, define d ≡ (w − u) mod n.Now, gcd(s, t) = 1 implies that there exist a, b ∈ Zn such that as + bt = 1, and d(as + bt) =das+ dbt = d. Then there is a walk u, (u, u+ s), u+ s, (u+ s, u+ 2s), u+ 2s, ..., u+ das, (u+das, u + das + t), u + das + t, (u + das + t, u + das + 2t), u + das + 2t, ..., u + das + dbtfrom u to u + das + dbt = u + d = w. So, for every arbitrary pair of vertices of G thereexists a walk between those two vertices. Then by Definition 2.2, G is connected, which is acontradiction. �
5
Example 2.1. The circulant graph C[8, {2, 4}] is disconnected since gcd(8, 2, 4) = 2 6= 1.
0
1
2
3
4
5
6
7
→The graph on the left can be
separated to make it looklike the graph on the right.
0
2
4
6
1
35
7
2.2 Isomorphisms
Definition 2.7. Graphs G = {VG, EG} and G′ = {VG′ , EG′} are isomorphic or structurallyequivalent (denoted G ∼= G′) if there exists a bijective function f : VG → VG′ that acts on bothvertices and edges with the property that (a0, a1) ∈ EG if and only if (f(a0), f(a1)) ∈ EG′ .Such a function f is called a graph isomorphism.
Remark. Within the context of this paper, an isomorphism f is understood to be a functionthat, given a graph G, acts on both the vertices and edges of G. Thus, such isomorphisms areable to act on a singular vertex, sets of vertices, and/or sets of edges. Hence, it is convenientto write f : VG → VG′ , f : a 7→ f(a), f : EG → EG′ , and/or f : (a0, a1) 7→ (f(a0), f(a1)) assuits the context.
Isomorphic graphs, because they have the same structure, have the same zero forcingnumber. (This idea is intuitive, but a rigorous proof is given in the theorem below.) For thisreason it is helpful to know which graphs are isomorphic so that their zero forcing numbersonly have to be computed once. Within this paper, a circulant graph that is structurallyunique is understood to be one that either has no graphs isomorphic to itself or, if there aregraphs isomorphic to itself, has the smallest values of s and t possible in its connection setof all graphs isomorphic to itself.
Theorem 2.8. If G1∼= G2 then Z(G1) = Z(G2).
Proof. By way of contradiction, suppose there exist two graphs G1, G2 with graph isomor-phism f : VG1 → VG2 , and define z1 = Z(G1), z2 = Z(G2), z1 6= z2. Denote the minimal zeroforcing sets for G1 and G2 as A = {a1, a2, ..., az1} and B = {b1, b2, ..., bz2}, respectively.
Since f is a graph isomorphism and B is a zero forcing set for G2, f−1(B) ⊂ VG1 is a
zero forcing set for G1.
6
But since f is an isomorphism, |f−1(B)| = n < |A| =⇒ f−1(B) is a smaller zero forcingset for G1 than A.
This is a contradiction, since A is the minimal zero forcing set for G1. �
A research question published in 1967 [5] stated as a matter of fact that two circulantgraphs of size n are isomorphic if there exists a graph isomorphism f(x) = kx such thatgcd(k, n) = 1. Furthermore, it was conjectured that this sufficient condition was necessary.However, only three years later there was a counterexample given to this claim. [6]
Theorem 2.9. Let G be a circulant graph with vertex set V , where |V | = n ≥ 1, and edgeset E. Then the function f : Zn → Zn, defined by f(x) = kx, where gcd(k, n) = 1, is agraph isomorphism.
Proof. It is sufficient to show that f is bijective and that (a, b) is an edge in G only if(f(a), f(b)) is an edge in the image of the edges of G for all a, b ∈ V .
Injective: Let a, c ∈ Zn and suppose f(a) = f(c).Then ka = kc.Since k ∈ Zn and gcd(k, n) = 1, by Proposition 2.4, there exists k−1 ∈ Zn.Then ka = kc implies that k−1ka = k−1kc, and then a = c.Surjective: Consider b ∈ Zn.Then there exists k−1b ∈ Zn, and so f(k−1b) = k(k−1b) = (kk−1)b = (1)b = b.Edge criterion: Consider two arbitrary vertices v and w of G. The fact that (v, w) is an
edge in G only if (f(v), f(w)) is an edge in the image of the edges of G follows immediatelyfrom the fact that f is a bijection. �
Observation 2.10. Let n > 1. When operating on circulant graphs, the graph isomorphismf : Zn → Zn, defined by f(x) = kx, where gcd(k, n) = 1, sends C[n, {s, t}] to C[n, {ks, kt}].
Proof. Let G denote C[n, {s, t}] and let G′ = {V ′, E ′}, where V ′ and E ′ are the images of thevertex and edge sets of G under f , respectively. Since f is a bijection (see proof of Theorem2.9), the size of the vertex set of G is equal to the size of the vertex set of G′. Thus, theirvertex sets are identical.
Consider an arbitrary vertex v of G. Then v is adjacent to v + s, v − s, v + t, andv − t. When f operates on G, notice kv is adjacent to k(v + s) = kv + ks, k(v − s) =kv − ks, k(v + t) = kv + kt, and k(v − t) = kv − kt. Thus, for every vertex w of G′, w isadjacent to w + ks, w − ks, w + kt, and w − kt.
Therefore, G′ is a circulant graph on n vertices with connections ks and kt, i.e., C[n, {k ·s, k · t}]. �
Remark. Given a circulant graph and graph isomorphism, the value of Observation 2.10 isthat it allows one to operate directly on the connection set of the circulant graph via theisomorphism rather than having to do a bunch of “gory” work calculating vertices and edgeconnections via the operation.
Theorem 2.11. If gcd(n, k) = 1, and n = tk + a, for some 1 ≤ a ≤ k − 1, thenC[n, {1, bn
kc}] ∼= C[n, {a, k}].
7
Proof. Since gcd(n, k) = 1, it follows from Theorem 2.9 that the function f : Zn → Zn,defined by f(x) = kx, is a graph isomorphism for ciculant graphs. Define G = C[n, {1, bn
kc}].
Since n ≡ a mod k , n−a ≡ 0 mod k, which implies that k|(n−a). Thus, C[n, {1, bnkc}] =
C[n, {1, n−ak}]. It follows from Observation 2.10, that operating on G by f yields C[n, {k·1, k·
n−ak}] = C[n, {k, n− a}]. Then Lemma 2.1 gives C[n, {k, n− a}] = C[n, {a, k}]. Therefore,
C[n, {1, bnkc}] ∼= C[n, {a, k}]. �
2.3 Specific Cases
Observation 2.12. If every vertex of a graph G has the same degree, then the degree of thevertices of G is a lower bound for Z(G).
Lemma 2.13. If a circulant graph G = C[n, {s, t}], is such that nt6= 2, then the degree of
every vertex of G is 4.
Proof. Consider an arbitrary vertex v of G; v shares an edge with v − s, v + s, v − t, andv + t mod n. Now, v − s 6= v − t, and v + s 6= v + t, because s 6= t.
By way of contradiction, suppose that v − s = v + t or v − t = v + s. Then s + t ≡ 0mod n, which is a contradiction because n
t6= 2 implies that 1 ≤ s < t < n
2which implies
that s + t < n.Suppose that v − t = v + t. Then 2t ≡ 0 mod n, which implies that n
t= 2, which is a
contradiction.Similarly, suppose v − s = v + s. Then 2s ≡ 0 mod n which is a contradiction since
1 ≤ s < t < n2. �
Theorem 2.14. If G = C[n, {s, t}] where 0 < s < t, then Z(G) ≤ 2t and pt(G,S) = d n−2t2(t−s)e.
Proof. Consider an arbitrary vertex v in Zn. This vertex v has the adjacent vertices v + s,v− s, v + t, and v− t. Let the set S0 = {(v + 1)− t, ..., v, (v + 1), ..., v + t} of 2t consecutivevertices of G be colored blue.
Figure 5: Vertices v and v + 1 and their adjacent vertices
Consider the vertices in S0 from (v+1)−t to v. Of these vertices the s number of verticeson the end of the set S0 cannot force. These are the vertices from (v + 1)− t to v − (t− s),
8
and each have two adjacent blue vertices that are +s and +t away, and two adjacent whitevertices that are −s and −t away. So, each of these s vertices have two white neighborsand cannot force at this time. However, the next t − s vertices from (v + 1) − (t − s) to veach force on the first iteration. These vertices can be denoted as (v + 1) − (t − s) + k fork = 0, 1, ..., (t− s)− 1. They each have three adjacent blue vertices, (v + 1)− (t− s) + k + s,(v + 1)− (t− s) + k + t, and (v + 1)− (t− s) + k− s, and force their fourth adjacent vertex,(v + 1)− (t− s) + k − t, in the first iteration.
Now consider the vertices from (v + 1) to v + t. Of these, the last s vertices from(v + 1) + (t− s) to v + t cannot force because they have two adjacent white vertices that are+s and +t away. The other t− s vertices denoted v + k where k = 1, ..., t− s force their oneadjacent white vertex, v + k + t, in the first iteration.
In general there are 2s blue vertices that cannot force at each iteration. The numberof vertices which do force is, therefore, 2(t− s) in each iteration. The number of iterationsnecessary to color derive the entire graph G is the number of vertices that are initially white,(n − 2t), divided by the number that force in each timestep, rounded upwards becausetimesteps are stricly integers. Propagation time is, therefore, pt(G,S) = d n−2t
2(t−s)e. �
This theorem gives an upper bound for the zero forcing number for all circulant graphsC[n, {s, t}]. However, it is important to note that there are many circulant graphs of thisform that have smaller zero forcing sets or sets which produce smaller propagation times.Some of the following theorems and propositions will cover such cases.
The following corollary is given without proof since it follows immediately from Theorem2.14. Its value consists in the remark that follows.
Corollary 2.14.1. If G = C[n, {1, k}] where 1 < k ≤ bn2c, then Z(G) ≤ 2k and pt(G,S) =
dn−2k2k−2 e.
Remark. From data that was computed as a reference at the beginning of the project, itappears that if G = C[n, {1, k}] where 1 < k ≤ bn
2c and n > k2, then Z(G) = 2k. Further-
more, an appropriate zero forcing set for G is {0, 1, ..., 2k − 1}, and, as the corollary states,pt(G, {0, 1, ..., 2k − 1}) = dn−2k
2k−2 e.
Proposition 2.15. If G = C[n, {1, 2}], then Z(G) = 4, pt(G) ≤ dn−42e for all n > 4.
Proof. Since n > 4, bn2c 6= 2. Then by Lemma 2.13, the degree of every vertex of G is equal
to 4. It follows from Observation 2.12 that Z(G) ≥ 4. Since 2.14 implies that Z(G) ≤ 4, itis clear that Z(G) = 4. A set containing four vertices that forces the graph of G will nowbe considered.
Base Case: Assume that the vertices {−k,−k + 1, ..., 3 + k} are blue for k = 0. Now,{0, 1, 2, 3} are blue. Since 1 is adjacent to −1, 0, 2, and 3 and three of these are blue, 1 forces−1 blue. Since 2 is adjacent to 0, 1, 3, and 4 and three of these are blue, 2 forces 4 blue.Thus, {−k,−k + 1, ..., 3 + k} are blue for k = 1 (and k = 0).
Inductive Step: Assume that the vertices {−m,−m + 1, ..., 3 + m} are blue for somem = j > 0. Since −j + 1 is adjacent to −j − 1,−j,−j + 2, and −j + 3 and three of theseare blue, −j + 1 forces −j − 1 blue. Since j + 2 is adjacent to j, j + 1, j + 3, and j + 4 andthree of these are blue, j + 2 forces j + 4 blue. Thus, the set {−j − 1,−j, ..., 4 + j} is blue,which implies that {−m,−m + 1, ..., 3 + m} is blue for m = j + 1. This process continues
9
until no more vertices of the graph may be forced. (Note: since two vertices are being forcedat a time and the starting number of white vertices is n− 4, no more vertices may be forcedafter m = dn−4
2e.)
It will now be shown that every vertex of G is blue. From the induction above, thevertex set {−m,−m + 1, ..., 3 + m} is blue for m = dn−4
2e. Considering the use of modular
arithmetic, this is equal to the set {0, 1, ..., 2m + 3}. It will be shown that this is the entirevertex set of G.
Case 1: If n is odd, then m = dn−42e = n−3
2, which implies that 2m+ 3 = n ≡ 0 mod n.
So, consider the set {0, 1, ..., 2m + 2}. Since 2m + 3 = n, 2m + 2 = n − 1, so this set isactually Zn, which is the vertex set of G.
Case 2: If n is even, then m = dn−42e = n−4
2, which implies that 2m + 3 = n − 1. So,
{0, 1, ..., 2m + 3} is actually Zn, which is the vertex set of G.Since all the vertices of G have been forced blue by a set containing 4 elements in dn−4
2e
iterations of forcing, pt(G) ≤ dn−42e.
�
A proof of the following theorem was written in 2010 [7]. The proposition that followsadds a proof for the propagation time for the particular set that was specified in the 2010theorem.
Theorem 2.16. If G = C[k2, {1, k}], then Z(G) ≤ 2k − 1.
Proposition 2.17. If G = C[k2, {1, k}] and Z(G) ≤ 2k − 1, then pt(G,S) = k − 1 forS = {(0)k + 0, (1)k + 0, ..., (k − 1)k + 0, (1)k + 1, (2)k + 1, ..., (k − 1)k + 1}.
Proof. In the proof for zero forcing number [7], each vertex is denoted jk+i where j representsa column, and i represents a row. This can be represented with a lattice structure as seenin the figure.
Figure 6: Lattice structure for C36(1, 6)
The proof in [7] specifies a zero forcing set consisting of two consecutive rows minus onevertex colored blue, or equivalently S = {(0)k + 0, (1)k + 0, ..., (k − 1)k + 0, (1)k + 1, (2)k +1, ..., (k−1)k+1}. The one vertex in these two rows which is not blue in S is vertex (0)k+1.Two separate cases are considered to show how vertices are forced.
Case 1: If n is even, forcing progresses as follows. Let x be the number of coloredvertices in a row. The two rows with blue vertices will each force x− 2 vertices in their next
10
consecutive row. This will continue with the two outermost rows that have blue verticesforcing vertices in the next consecutive rows, until each row has at least one blue vertex. Forthe case n is even, this occurs in k−2
2timesteps. When there are blue vertices in every row,
the row i = k2
has only one blue vertex, which is in column j = k2. In the next timestep, the
vertex at row i = k2, column j = k
2− 1, is forced and now there are two columns that are
entirely blue. The total number of timesteps necessary to color two columns blue is k−22
+ 1.
From the point at which two columns are colored, at each timestep the outermost twoentirely blue columns will each force the remaining white vertices in the next consecutivecolumn. Since there are first two completely blue columns out of the k columns, and twomore are fully colored each timestep, the graph is color-derived in another k−2
2iterations.
11
The total propagation time for n even is k−22
+ 1 + k−22
= (k − 2) + 1 = k − 1 timesteps.Case 2: If n is odd, again the two rows with blue vertices will each force x− 2 vertices
in their next consecutive row. This continues with the two outermost rows that have bluevertices forcing vertices in the next consecutive rows, until each row except one has at leastone blue vertex. Two rows have forced at each timestep and reaching the point at which allbut one row has at least one blue vertex takes k−3
2timesteps. There are two blue vertices
in row i = k−12
which cannot force because they both have two adjacent white vertices.However, forcing continues with the four vertices in row i = k+3
2forcing two vertices in
i = k+12
, at which point column j = k−12
is entirely blue. In the next time step the remainingtwo vertices in columns j = k−3
2and j = k+1
2are forced by vertices in column j = k−1
2.
There are now three entirely blue columns and the two outermost blue columns willforce the remaining white vertices in their next consecutive column. Since there are threecolored columns out of k total, and two more are fully colored blue at each timestep, thegraph will be color-derived in another k−3
2iterations.
The total propagation time for n odd is then k−32
+ 1 + 1 + k−32
= (k− 3) + 2 = k− 1.For circulant graphs C[k2, {1, k}] and Z(G) ≤ 2k− 1, with zero forcing set consisting of twoconsecutive rows minus one colored blue, pt(G,S) = k − 1. �
Lemma 2.18. If a circulant graph G = C[n, {s, t}] is such that nt
= 2 and s < t, then thedegree of every vertex of G is 3.
Proof. Suppose nt
= 2. Consider an arbitrary vertex v of G; v shares an edge with v − s,v + s, v − t, and v + t mod n. It will be shown that v − t ≡ v + t mod n and that the restare distinct. Obviously, v − s 6= v − t, and v + s 6= v + t, since s 6= t.
Now nt
= 2 implies that n = 2t. Then 2t ≡ 0 mod n. Then v + 2t ≡ v mod n, whichmeans that v + t ≡ v − t mod n.
Now suppose that v − s = v + t or v − t = v + s. Then s + t ≡ 0 mod n, which isimpossible since 1 ≤ s < t = n
2so that s + t < n.
If v − s = v + s, then 2s ≡ 0 mod n, which also cannot be since 1 ≤ s < t = n2
so that2s < n.
Thus, v − t = v + t, but are distinct from v − s and v + s and thus, v has exactly threeadjacent vertices. �
Proposition 2.19. Given a connected graph G = C[n, {s, t}] in which n > 4, nt
= 2, ands < t, Z(G) = 4.
Proof. It follows from Lemma 2.18 that nt
= 2 implies that the degree of every vertex of Gis equal to 3. Then by Observation 2.12, Z(G) ≥ 3.
Pick an arbitrary vertex of G and call it v. It follows from the proof of Lemma 2.18 thatv shares and edge with v − s, v + s, and v + t mod n. The vertex v and its neighbors willnow be used to force other vertices of the graph. It will be shown that any set of exactlythree vertices containing v will not force the entire graph. Let v and two of its neighbors beblue.
Case 1: Let v, v + s, and v + t be blue. Then v can force v − s blue, but no morevertices can be forced blue because v + s, v + t, and v − s each have two white neighbors.For example, the vertices v + 2s and v + s + t are adjacent to v + s are both white. Theothers are similar. By symmetry, v, v − s, and v + t also each have two white neighbors.
12
Case 2: Let v, v−s, and v+s be blue. Then v can force v+ t blue, but no more verticescan force others blue because v − s, v + s, and v + t each have two white neighbors.
Since none of the 3-vertex sets containing v can force the entire graph of G blue, considera 4-vertex set that forces the entire graph.
Base Case: Assume that {−ks, (k + 1)s, t − ks, t + (k + 1)s} are blue for k = 0, thatis, {0, s, t, t + s} are blue. The vertex 0 is adjacent to −s, s, and t. Since s and t areblue, 0 forces −s. Similarly, since two of the three neighbors of s, t, and t + s are blue andone is white, these force 2s, t − s, and t + 2s, respectively. Thus, all vertices in the set{−ks, (k + 1)s, t− ks, t + (k + 1)s} are blue for k = 0 and k = 1.
Inductive Step: Assume that {−js, (j + 1)s, t− js, t+ (j + 1)s} for all j ≤ k for k ≥ 0.It will be shown that these four vertices are forced with j = k + 1. Now, {−ks, (k + 1)s, t−ks, t+(k+1)s} are blue. The vertex −ks is adjacent to −(k+1)s, (k+1)s, and t−ks. Since(k+1)s and t−ks are blue, −ks forces −(k+1)s. Similarly, since two of the three neighborsof (k+1)s, t−ks, and t+(k+1)s are blue and one is white, these force (k+2)s, t− (k+1)s,and t+(k+2)s, respectively, until no more vertices of the graph may be forced. (Note: sincefour vertices are being forced at a time and the starting number of white vertices is n − 4,no more vertices may be forced after k = dn−4
4e.)
After having performed the induction as described above, it will now be shown that everyvertex of G is blue. Consider an arbitrary vertex of G and call it x. Since G is a connectedcirculant graph, there exists a walk from 0 to x. This implies that x = at + bs for some0 ≤ a ≤ 1 and b ≥ 0. (Note: the restriction “0 ≤ a ≤ 1” is imposed because 2t = n ≡ 0mod n.) So either x = bs or x = t + bs for some b ≥ 0. Since the vertices −ks and t − ksare blue for all k in {0, 1, ..., dn−4
4e}, x = bs or x = t + bs must be blue, which implies that
x must be blue. Thus, every vertex of G must be blue.Since the vertex set {v, v± s, v + t, v + t± s} is a zero forcing set for the graph of G and
no smaller zero forcing set exists, it is concluded that Z(G) = 4. �
3 Future Research
One goal of this project was to find a general rule for the zero forcing numbers andpropagation times of all circulant graphs of the form C[n, {s, t}]. Although the results thatwere obtained give some boundaries for zero forcing numbers for all graphs of this type,there are many more cases and patterns which ought to be explored. Some questions werealso raised about how a zero forcing set might be manipulated or augmented to create aparticular propagation time or range of propagation times. Alternatively, since the study ofzero forcing is very closely related to the study of minimum rank in matrices, exploring thisproblem from a linear algebra perspective could be an important part of future research.A better understanding of zero forcing numbers could also be achieved in further researchthrough rigorous study of the structure of circulant graphs.
13
References
[1] AIM minimum rank - special graphs work group. “Zero forcing sets and the minimumrank of graphs”. In: Linear Algebra and its Applications 428.7 (Apr. 2008), pp. 1628–1648.
[2] In-Jae Kim et al. “Network Analysis for Active and Passive Propagation Models”. In:Networks 63 (2013), pp. 160–169.
[3] Jonathan Gross and Jay Yellen. Graph theory and its applications. Ed. by Kenneth H.Rosen. The CRC Press series on discrete mathematics and its applications. CRC Press,1999.
[4] W.D. Wallis. A beginner’s guide to graph theory. Boston: Birkhauser, 2000.
[5] A. Adam. “Research Problems”. In: Journal of Combinatorial Theory 2 (1967), p. 393.
[6] Bernard Elspas and James Turner. “Graphs with Circulant Adjacency Matrices”. In:Journal of Combinatorial Theory 9 (1970), pp. 297–307.
[7] Linh Duong. “Zero Forcing Number”. 2115 Summit Ave., St. Paul, Minnesota 55105,2010.
14
A The Code
The code that follows was written and run in Octave 3.6.4 and was of much aid in the studyof zero forcing number of particular circulant graphs.
1 function out = makeC(n,k)
2 A = zeros(n,n);
3 for el = k
4 k = [k,n-el];
5 end
6 for i = 1:n
7 for j = 1:n
8 for l = k
9 if mod(abs(j-i),n) == l
10 A(i,j) = 1;
11 end
12 end
13 end
14 end
15 out = A;
16 end
1 function out = totatives(n)
2 out = [1];
3 if isprime(n)==1
4 out = 1:n-1;
5 else
6 for i = 2:n-1
7 if gcd(n,i)==1
8 out = [out ,i];
9 end
10 end
11 end
12 end
1 function out = iscirc(G)
2 if size(G)(1)!=size(G)(2)
3 error(’G not square matrix , bro.’)
4 else
5 n = size(G)(1);
6 end
78 t = G(:,:);
15
9 for j = 1:n
10 t(j,:) = circshift(G(j,:) ,[0,n-j]);
11 end
12 if rank(t) <= 1
13 out = 1;
14 else
15 out = 0;
16 end
17 end
1 function out = isconn(G)
23 if size(G)(1)!=size(G)(2)
4 error(’G not square matrix , bro.’)
5 else
6 n = size(G)(1);
7 end
89 %We start at vertex 1 because it’s convenient.
10 verts = [1];
11 t = touches(verts ,G);
121314 while !isequal(verts ,t)
15 verts = unique ([verts ,t]);
16 t = touches(verts ,G);
17 end
1819 out = isequal(verts ,1:n);
2021 end
1 function out = findij(G)
2 if iscirc(G) != 1
3 error(’G not circulant , bro.’)
4 else
5 n = size(G)(1);
6 end
78 out = [0,0];
910 k = floor(n/2) +1;
11 b = touches(1,G);
16
12 out = b(1: ceil(length(b)/2)) -1;
13 end
1 function out = structequiv(A)
2 if size(A)(1)!=size(A)(2)
3 error(’A not square matrix , bro.’)
4 else
5 n = size(A)(1);
6 end
78 out = [];
910 isA = iscirc(A);
11 if isA
12 Aij = findij(A);
13 tots = totatives(n);
14 for j = tots (2:( length(tots)/2))
15 posij = mod(Aij*j,n);
16 for k = 1: length(posij)
17 if posij(k) > floor(n/2)
18 posij(k) = n-posij(k);
19 end
20 end
21 posij = sort(posij);
22 out = [out;posij];
23 end
24 end
25 out = sortrows(out);
26 end
1 function out = isstructequiv(n1 ,i1 ,j1,n2,i2 ,j2)
2 out = 0;
3 if n1!=n2
4 return
5 end
6 if (i1 == i2 && j1 == j2) || (i1 == j2 && j1 == i2)
7 out = 1;
8 return
9 end
10 trying = structequiv(makeC(n1 ,[i1,j1]));
11 for row = 1:size(trying)(1)
12 if isequal ([i2,j2],[trying(row ,:)])
13 out =1;
17
14 return
15 end
16 end
17 end
1 function [out , p] = try2force(G,CV)
2 if size(G)(1)!=size(G)(2)
3 error(’G not square matrix , bro.’)
4 else
5 n = size(G)(1);
6 end
78 V = zeros(1,n); V(CV) = 1;
9 newV = V;
10 pt = 0;
11 while length(CV)!=n
1213 for j = CV
14 adj = find(G(j,:) ==1);
15 adjNCV = zeros(1,n);
16 adjNCV(adj) = 1;
17 adjNCV = adjNCV .*[V-1];
18 if sum(adjNCV) == -1 && V(j) == 1 %%
second condition true by default but
keep it in case we copy the code
somewhere
19 CV = [find(adjNCV ==-1),CV];
20 newV = zeros(1,n); newV(CV) =
1;
21 continue
22 end
23 end
2425 if sum(newV)==sum(V)
26 break
27 else
28 V = newV;
29 CV = unique(CV);
30 pt+=1;
31 end
3233 end
34 if length(CV) == n
35 success = 1;
18
36 else
37 success = 0;
38 end
3940 if nargout == 0
41 out = success;
42 elseif nargout == 1
43 out = CV;
44 elseif nargout == 2
45 out = CV;
46 p = pt;
47 end
48 end
1 function out = next_d2b(a)
2 out = a;
3 out(end)+=1;
4 i = 0;
5 lenout = length(out);
6 while i<=lenout -1
7 if out(end -i)==2
8 out(end -i) = 0;
9 out(end -(i+1))+=1;
10 end
11 i+=1;
12 end
1314 if i(1) == 2
15 out = [1,0,out (2: end)];
16 end
1718 end
1 function [out , p, ZFS] = ZFN(G,startnumCVs)
2 %startnumCVs is equivalent to minimum number of CVs
needed to force just one vertex.
3 if size(G)(1)!=size(G)(2)
4 error(’G not square matrix , bro.’)
5 else
6 n = size(G)(1);
7 end
89 if nargin < 2
19
10 if nargout == 3
11 [out , p, ZFS] = ZFN(G,1);
12 return
13 elseif nargout == 2
14 [out , p] = ZFN(G,1);
15 return
16 else
17 out = ZFN(G,1);
18 return
19 end
20 end
2122 %Below is the business end of the code.
2324 s = [];
25 if startnumCVs == 1
26 startnumCVs = min(sum(G));
27 end
2829 out = p = Inf;
30 circtrue = iscirc(G);
3132 if circtrue && length(ourij = findij(G))==2; %
everything inside the ifcirctrue statement is
looking for patterns
33 %looking for lines here in the for statement.
34 for k = 2:floor(n/2)
35 if n>k*k
36 if isstructequiv(n,ourij (1),
ourij (2),n,1,k)
37 for t = totatives(n)
38 posij = mod([1,
k]*t,n);
39 for spot =
length(posij
)
40 if
posij
(
spot
) >
floor
(n
/2)
41 posij
20
(
spot
)
=
n
-
posij
(
spot
)
;
42 end
43 end
44 posij = sort(
posij);
45 if isequal ([
posij],[
ourij])
46 break
47 end
48 end
49 out = 2*k;
50 p = ceil((n-2*k)/(2*k
-2));
51 ZFS = sort(mod ([1:2*k]*
t,n));
52 ZFS = ZFS - ZFS(1)+1;
53 return
54 end
55 else
56 break
57 end
58 end
59 end
6061 justZFS = 0;
62 if circtrue
63 ourijs = ’’;
64 for b = ourij
65 ourijs = [ourijs ,int2str(b),’,’
21
];
66 end
67 ourijs = ourijs (1:end -1);
68 filename = [’C’,int2str(n),’,(’,ourijs ,’).csv’
];
6970 if circtrue && exist(filename)
71 update = csvread(filename);
72 a = update (4,:);
73 suma = sum(a);
74 out = update (1,:)(update (1,:)!=-1);
75 p = update (2,:)(update (2,:)!=-1);
76 ZFS = update (3,:)(update (3,:)!=-1);
77 else
78 a = zeros(1,n);
79 a(end) = 1;
80 suma = sum(a);
81 end
82 end
8384 if justZFS
85 writes = 0;
86 tic
87 while suma < n
88 if suma < startnumCVs || suma > out
89 a = next_d2b(a);
90 suma = sum(a);
91 continue
92 end
9394 nCV = [1:n].*[a];
95 nCV = nCV(nCV !=0);
96 [tCV ,newp] = try2force(G,nCV);
9798 lentCVeqn = length(tCV)==n;
99 if newp < p && lentCVeqn
100 [’propagation time should be ’,
newp]
101 error([’findings data wrong at
’,n,’, {’,ourij ,’}.’])
102 elseif lentCVeqn
103 ZFS = nCV -min(nCV)+1;
104 %return
105 end
106
22
107 if toc > writes *5*60 && circtrue &&
exist(’ZFS’)
108 writes +=1;
109 tempfindings = -ones(4,n);
110 tempfindings (4,:) = a;
111 tempfindings (3,1: length(ZFS))=
ZFS;
112 tempfindings (2,1) = p;
113 tempfindings (1,1) = out;
114 csvwrite(filename ,[ tempfindings
]);
115 end
116117 a = next_d2b(a);
118 suma = sum(a);
119 end
120 else
121 writes = 0;
122 tic
123 while suma < n
124 if suma < startnumCVs || suma > out
125 a = next_d2b(a);
126 suma = sum(a);
127 continue
128 end
129130 nCV = [1:n].*[a];
131 nCV = nCV(nCV !=0);
132 [tCV ,newp] = try2force(G,nCV);
133134 if length(tCV)==n
135136 if suma <out
137 out = suma;
138 p = newp;
139 ZFS = nCV -min(nCV)+1;
140 elseif suma==out && newp < p
141 p = newp;
142 ZFS = nCV -min(nCV)+1;
143 end
144145 %verts = nCV;
146 %s = [s;CV]; %% This gets us
the full list of successes
147 end
23
148149 if toc > writes *5*60 && circtrue &&
exist(’ZFS’)
150 writes +=1;
151 tempfindings = -ones(4,n);
152 tempfindings (4,:) = a;
153 tempfindings (3,1: length(ZFS))=
ZFS;
154 tempfindings (2,1) = p;
155 tempfindings (1,1) = out;
156 csvwrite(filename ,[ tempfindings
]);
157 end
158159 a = next_d2b(a);
160 suma = sum(a);
161 end
162 end
163164 if exist(filename)
165 delete(filename);
166 end
167 end
1 machinenumber = 0;
23 if exist(’findings.csv’)==2 && machinenumber == 0
4 findings = csvread(’findings.csv’);
5 end
67 n = 4
8 spot = 1;
9 starti = startj = 1;
10 forbidden = [];
11 while n != findings(end ,1)+1
12 n
13 for i = starti:floor(n/2)
14 for j = startj:floor(n/2)
15 if i!=j
16 truth1 = 1;
17 for k = 1:size(forbidden)(1)
18 if isequal ([ forbidden(k
,:)],[i,j])
19 truth1 = 0;
24
20 break
21 end
22 end
23 if !isconn(G = makeC(n,[i,j]))
&& isequal(findings(spot
,1:3) ,[n,i,j])
24 findings = [findings (1:
spot -1,:);findings(
spot +1:end ,:)];
25 forbidden = [forbidden;
j,i;structequiv(G);
fliplr(structequiv(G
))];
26 csvwrite(’findings.csv’
,findings);
27 %%spot doesn ’t change
here.
28 elseif !truth1 && isequal(
findings(spot ,1:3) ,[n,i,j])
29 findings = [findings (1:
spot -1,:);findings(
spot +1:end ,:)];
30 forbidden = [forbidden;
j,i;structequiv(G);
fliplr(structequiv(G
))];
31 csvwrite(’findings.csv’
,findings);
32 %%spot doesn ’t change
here.
33 elseif truth1 && isequal(
findings(spot ,1:3) ,[n,i,j])
34 spot += 1;
35 forbidden = [forbidden
;[j,i]; structequiv(G
);fliplr(structequiv
(G))];
36 elseif truth1 && isconn(G =
makeC(n,[i,j]))
37 forbidden = [forbidden
;[j,i]; structequiv(G
);fliplr(structequiv
(G))];
38 [Z,p] = ZFN(G);
39 findings = [findings (1:
25
spot -1,:);n,i,j,Z,p;
findings(spot:end ,:)
];
40 [n,i,j,Z,p]
41 csvwrite(’findings.csv’
,findings);
42 spot+= 1;
43 end
44 end
4546 if spot <= size(findings)(1)
47 if findings(spot ,1)!=n
48 break
49 else
50 continue
51 end
52 else
53 break
54 end
55 end
56 if spot <= size(findings)(1)
57 if findings(spot ,1)!=n
58 break
59 else
60 continue
61 end
62 else
63 break
64 end
65 end
66 forbidden = [];
67 starti = 1;
68 startj = 1;
69 n+=1;
70 end
7172 %{
7374 if exist(’findings.csv’)==2 && machinenumber == 0
75 findings = csvread(’findings.csv’);
76 startn = findings(end ,1);
77 n = startn;
78 starti = findings(end ,2)+1;
79 startj = findings(end ,3)+1;
80
26
81 nidx = find(findings (:,1) ==18);
82 forbidden = findings(nidx ,2:3);
83 elseif exist(’findings.csv’)==2 && machinenumber != 0
84 findings = csvread(’findings.csv’);
85 startn = findings(end ,1);
86 n = startn+machinenumber;
87 starti = startj = 1;
88 forbidden = [];
89 else
90 startn = 4;
91 starti = startj = 1;
92 findings = [];
93 forbidden = [];
9495 end
9697 %}
9899 n = findings(end ,1);
100 starti = findings(end ,2);
101 startj = findings(end ,3) +1;
102 idx = find(findings (:,1)==n);
103 forbidden = fliplr(findings(idx ,2:3));
104105 while n<Inf %formerly ’for n = startn:30’
106 n
107 for i = starti:floor(n/2)
108 for j = startj:floor(n/2)
109 if i!=j
110 truth = 1;
111 for k = 1:size(forbidden)(1)
112 if isequal ([ forbidden(k
,:)],[i,j])
113 truth = 0;
114 break
115 end
116 end
117 if truth && isconn(G = makeC(n
,[i,j]))
118 forbidden = [forbidden
;[j,i]; structequiv(G
);fliplr(structequiv
(G))];
119 [Z,p] = ZFN(G);
120 findings = [findings;n,
27
i,j,Z,p];
121 [n,i,j,Z,p]
122 csvwrite(’findings.csv’
,findings);
123 end
124 end
125 end
126 end
127 forbidden = [];
128 starti = 1;
129 startj = 1;
130 n+=1;
131 end
132133 %cond = (truth && (i==1 || (i != 1 && gcd(n,j)==1)))
134 %{
135 if cond
136 idx = find(isequal(findings (: ,1:3) ,[n,1,j])); %%could
be either i or j.
137 %}
B The Data
The data below was generated by the script onescript.m and saved as a .csv file. Thedata below can be read as follows: a circulant graph of the form C[n, {s, t}] has zero forcingnumber Z and propagation time pt.
n s t Z pt4 1 2 3 15 1 2 4 16 1 2 4 16 1 3 4 16 2 3 3 17 1 2 4 28 1 2 4 28 1 3 6 18 1 4 4 19 1 2 4 39 1 3 5 210 1 2 4 310 1 3 6 110 1 4 6 210 1 5 4 210 2 5 4 2
28
11 1 2 4 411 1 3 6 212 1 2 4 412 1 3 6 212 1 4 6 112 1 5 8 112 1 6 4 212 2 3 6 312 3 4 6 113 1 2 4 513 1 3 6 213 1 5 6 414 1 2 4 514 1 3 6 214 1 4 6 414 1 6 8 314 1 7 4 314 2 7 4 315 1 2 4 615 1 3 6 315 1 4 7 215 1 5 6 215 1 6 6 515 3 5 6 216 1 2 4 616 1 3 6 316 1 4 7 316 1 6 6 516 1 7 10 216 1 8 4 317 1 2 4 717 1 3 6 317 1 4 8 217 1 5 6 618 1 2 4 718 1 3 6 318 1 4 8 218 1 5 8 318 1 6 6 218 1 8 10 418 1 9 4 418 2 3 6 618 2 9 4 419 1 2 4 819 1 3 6 4
29
19 1 4 8 219 1 7 6 720 1 2 4 820 1 3 6 420 1 4 8 220 1 5 8 220 1 6 6 720 1 8 8 320 1 9 12 220 1 10 4 420 2 5 8 220 4 5 8 221 1 2 4 921 1 3 6 421 1 4 8 321 1 6 8 721 1 7 6 321 1 8 9 421 1 9 6 821 3 7 6 322 1 2 4 922 1 3 6 422 1 4 8 322 1 5 8 422 1 6 8 422 1 8 6 822 1 10 12 522 1 11 4 522 2 11 4 523 1 2 4 1023 1 3 6 523 1 4 8 323 1 5 8 823 1 7 6 924 1 2 4 1024 1 3 6 524 1 4 8 324 1 5 10 224 1 6 8 224 1 7 12 224 1 8 6 324 1 9 10 424 1 10 8 424 1 11 14 324 1 12 4 5
30
24 2 3 6 924 3 4 8 824 3 8 6 325 1 2 4 1125 1 3 6 525 1 4 8 325 1 5 9 425 1 7 8 925 1 9 6 1025 1 10 10 226 1 2 4 1126 1 3 6 526 1 4 8 326 1 5 10 226 1 6 8 526 1 7 8 526 1 8 6 1026 1 10 8 926 1 12 14 626 1 13 4 626 2 13 4 627 1 2 4 1227 1 3 6 627 1 4 8 427 1 5 10 327 1 6 8 1027 1 8 10 927 1 9 6 427 1 12 6 1128 1 2 4 1228 1 3 6 628 1 4 8 428 1 5 10 328 1 6 10 328 1 7 8 328 1 8 8 1028 1 10 6 1128 1 12 8 528 1 13 16 328 1 14 4 629 1 2 4 1329 1 3 6 629 1 4 8 429 1 5 10 329 1 8 8 11
31