ON α-CRITICAL GRAPHS AND
THEIR CONSTRUCTION
By
BENJAMIN LUKE SMALL
A dissertation submitted in partial fulfillment of
the requirements for the degree of
DOCTOR OF PHILOSOPHY
WASHINGTON STATE UNIVERSITY
Department of Mathematics
MAY 2015
c Copyright by BENJAMIN LUKE SMALL, 2015
All Rights Reserved
c Copyright by BENJAMIN LUKE SMALL, 2015
All Rights Reserved
To the Faculty of Washington State University:
The members of the committee appointed to examine the dissertation of BENJAMIN
LUKE SMALL find it satisfactory and recommend that it be accepted.
Matthew Hudelson, Ph.D., Chair
Judith J. McDonald, Ph.D.
Michael Tsatsomeros, Ph.D.
ii
ACKNOWLEDGMENT
The author wishes to acknowledge the use of the ‘smith’ cluster at
Washington State University in his computations.
iii
ON α-CRITICAL GRAPHS AND
THEIR CONSTRUCTION
ABSTRACT
by Benjamin Luke Small, Ph.D.
Washington State University
May 2015
Chair: Matthew Hudelson
A graph G is α-critical (or removal-critical) if α(G − e) = α(G) + 1 for all edges e ∈ E(G), where α(G) is
the vertex independence number of G. Similarly, a graph G is contraction-critical if α(G \ e) = α(G) − 1
for all edges e ∈ E(G). This document discusses certain properties of removal-critical and contraction-
critical graphs, and the enumeration of such graphs (up to 13 vertices and 17 vertices, respectively). It also
discusses methods of constructing removal-critical graphs from smaller removal-critical graphs, including
vertex duplication, splicing, buckling, and 1-joining. Finally, it discusses the number of removal-critical
graphs that can or cannot be produced using these constructions.
iv
Acknowledgment
Abstract
CONTENTS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. iii
p. iv
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. v
1.
1.1.
1.2.
1.3.
2.
2.1.
2.2.
2.3.
2.4.
3.
3.1.
3.2.
3.3.
3.4.
3.5.
4.
4.1.
4.2.
4.3.
5.
5.1.
Introduction
Overview
Note
History
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 1
Foreword
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 2
Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 2
Special terminology
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 3
Graph composition operations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 4
Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 7
Author’s note
Preliminaries
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 7
Vertex duplication and shadowing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 8
Bipartite graphs and criticality
Graph composition operations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 11
p. 12
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Families of graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparison of graph-composition operations
p. 15
p. 15
. . . . . . . . . . . . . . . . . . . . . .
p. 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 22
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22
Future directions
Appendix A.
Appendix B.
B.2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 1
Definitions and Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 2
References
B.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
Source code, data, etc.
Implementation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27
Software used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Independence number computation . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
p. 27
p. 27
1.1. Overview
1. INTRODUCTION
The size of a maximum independent set of a graph is meaningful in a variety of different contexts. α-
critical graphs are graphs that lay on the threshold of the set of graphs of a given order having a certain
independence number, in the sense that the removal of any edge produces a graph with a different
independence number. This document is focused primarily on this family of graphs (and related families
of graphs), and on methods of constructing such graphs.
The structure of this document is (roughly) as follows: Section 1 discusses the history of α-critical
graphs, etc., and the existing literature on them. Section 2 gives notations and definitions of terms
and constructions used in the document. Section 3 covers theoretical results relating to removal- and
contraction-critical graphs (in particular, such results as relate to construction of such graphs). Section 4
contains numerical and other non-theoretical results, while Appendix B discusses the methods used to
produce those results.
1.2. Note
There are at least three distinct concepts in the literature that are, in some sense, equivalent to that
of α-criticality. One is, of course, α-criticality itself: the property of a graph that the removal of any
edge increases the independence number of that graph. Another is τ-criticality: the property that the
removal of any edge decreases the edge covering number. (This equivalence follows from the fact that
the complement of a maximum independent set is a minimum edge cover.) The third is k-saturation: the
property that the addition of any edge increases the clique number.
1.3. HistoryÚ1Û
The concept of α-critical graphs (or, rather, one of the concepts equivalent to it) first appears in the
literature in [Zyk49] and [EG61]. In [Plu67], Plummer introduces a construction method (referred to as
splicing in this document) for α-critical graphs, which [Wes70a] proves sufficient to generate all α-critical
graphs with connection number 2. (See Theorem 3.13.) Also in [Plu67], the connected α-critical graphs
with < 8 vertices are enumerated. [Wes70b] discusses several other [de-]construction methods for α-critical
graphs, including what this document refers to as vertex duplication.
Ú1ÛThere is almost certainly more history than is mentioned here; the author apologizes for any omissions on that account.
1
One aspect of α-critical graphs that has received a fair amount of attention is the set of α-critical graphs
with a fixed defect (defined as δ(G) = |V (G)| − 2α(G)). Gallai conjectured (see [Lov78]) that for any fixed
δ, all α-critical graphs with defect δ could be derived from some finite set of graphs by even subdivisions
of edges (that is, subdividing edges by adding even numbers of vertices to them, so as to produce oddlength paths; the defect of a graph is unaffected by such operations). The conjecture was indirectly proved
for δ = 0, 1 in [Haj65]; subsequently, [And67] and [Sur75b] proved the conjecture for δ = 2 and δ = 3,
respectively. The full conjecture was proved by Lovasz in [Lov78].
2.1. Foreword
2. DEFINITIONS AND TERMINOLOGY
It is an unfortunate truth in graph theory that notation and terminology are far from being standardized.
Thus, it is possible (indeed, rather likely) that the reader will encounter different names and notations from
those used here, as well as different meanings for the names and notations used here.
For instance, not only may they find that some authors use β(G) instead of α(G) for the independence
number (or stability number) of G, they may also find that α(G) is defined instead to be the vertex covering
number of G. Even for the most basic concepts, such as ‘edge’ and ‘vertex’, one finds different names. It
all depends on where one looks.
The author has attempted to make his terminology consistent with the literature. The degree of his
success, or lack thereof, the reader may judge for one’s self.
2.2. Basics
For the purposes of this paper, unless otherwise specified, all graphs are simple, undirected, finite
graphs. See Table 2.1 for general notation. For definitions of general terminology, the reader can consult
[CL05], [Die06], or their favorite graph theory book.
An independent set (or stable set) of a graph G is a subset S ⊆ V (G) of its vertices such that E(G[S]) = ∅,
i.e., there are no edges in G between any of the vertices of S. A maximum independent set is one of
maximum cardinality. The size of a maximum independent set of a graph G is called the independence
number (or stability number) of G, denoted α(G).
2
Notation
E(G)
V (G)
G[S]
G
G⊆H
GvH
GtH
G∼
=H
E(v)
N(v)
N[v]
deg v
G−v
V (e)
G−e
G\e
vw
G + vw
|A|
G (♦)
α(G)
α0 (G)
β(G)
Kn
Kn,m
δ(G)
∆(G)
Meaning
the set of edges of G
the set of vertices of G
the subgraph of G induced by S
the complement of G
G is a subgraph of H
G is an induced subgraph of H
the disjoint union of G and H
G is isomorphic to H
the set of edges incident with v
the set of neighbors of v [vertices adjacent to]
the set containing v and its neighbors
the degree of v
G with v deleted
the set of vertices incident with e
G with e deleted
G with e contracted
the edge between v and w
G with vw added
the cardinality of A
(♦), in the context of G (e.g., NG (v), EH−v (w))
the independence number of G [stability number]
the edge independence number of G [matching number]
the vertex cover number number of G
the complete graph on n vertices
the complete bipartite graph on n and m vertices
the minimum vertex degree of G
the maximum vertex degree of G
TABLE 2.1. Notation
Note: In this table, G and H are graphs, v and w are vertices, A is a set, S is
a set of vertices, e is an edge, and is an operator, with ♦ being an operand.
2.3. Special terminology
In general, given an operation ? on an edgeÚ2Û e of a graph G, e is said to be ?-critical if applying ?
to e changes the independence number of G. The set of all ?-critical edges of G is denoted crit? (G). If
all possible applications of ? to a graph G change the independence number of G, i.e., crit? (G) = E(G),
G itself is said to be ?-critical. Oppositely, if no possible application of ? to G changes its independence
number (i.e., crit? (G) = ∅), G is said to be ?-anti-critical.
Specifically, an edge e of a graph G is said to be removal-critical if α(G − e) Y = α(G). The set of
removal-critical edges of a graph G is denoted critr (G), and if every edge of a graph G is removal-critical
(i.e., critr (G) = E(G)), G is said to be removal-critical. In the literature, removal-critical graphs are called
α-critical. These graphs are the primary focus of this document, and, unless otherwise specified, the term
Ú2ÛThese definitions, with minor changes, could apply equally well to operations on other parts of graphs, e.g., vertices or
components.
3
critical shall mean removal-critical. Likewise, an edge e of a graph G is said to be contraction-critical if
α(G \ e) Y = α(G), and critc (G) denotes the set of contraction-critical edges of G.
The definitions of removal-criticality and contraction-criticality can be made more precise:
Proposition 2.1. Let G be a graph and let e = vw ∈ E(G). If α(G − e) Y = α(G), then α(G − e) = α(G) + 1.
Contrariwise, if α(G \ e) Y = α(G), then α(G \ e) = α(G) − 1.
Proof. For the first part: α(G − e) ≥ α(G), since any independent set I of G is an independent set of G − e.
The only way for an independent set J of G − e to fail to be an independent set of G is for {v, w} ⊆ J; as
removing v from J would remove that conflict, α(G − e) − 1 ≤ α(G).
For the second part: Let v 0 be the vertex resulting from the contraction of vw. Then α(G \ e) ≤ α(G),
since any independent set I of G \ E (after replacing v 0 with v, if v 0 ∈ I) is an independent set of G. Any
independent set J of G can contain at most one of {v, w}; removing this vertex, if present, produces an
independent set of G \ e, so α(G \ e) ≥ α(G) − 1.
2.4. Graph composition operations
This document, in part, surveys several operations for creating larger α-critical graphs out of smaller
α-critical graphs; a compact summary of the operations (discussed below) can be found in Table 2.2. Of
the three operations listed here, only the buckle operation is new to the literature;Ú3Û however, the names
of the first two and notations for all three are the author’s own creation.Ú4Û
For all of the following, let G and H be graphs.
Let v ∈ V (G) and w1 , w2 ∈ V (H), with deg v, deg w1 , deg w2 ≥ 2 and w1 w2 ∈ E(H). Let {A1 , A2 } be a
partition of N(v) into two non-empty sets (i.e., A1 ∩ A2 = ∅, A1 ∪ A2 = N(v), A1 , A2 Y = ∅). The splice of G
(See Figure 2.1.)Ú5Û
G
v
H = (G − v) t (H − w1 w2 ) +
≺·
and H is defined by
w1 : A1
w2 : A2
X
u∈A1
uw1 +
Ú3ÛTo the best of the author’s knowledge, at least.
Ú4ÛThe author apologizes for any confusion this may cause.
Ú5ÛIt is of note that the Hajós construction is a special case of this operation.
4
X
u∈A2
uw2 .
w1
w2
A1
b11
a1
A2
G
b12
w2
A1
A2
G
FIGURE 2.1. Splicing
G
a2
Ñ
w1
b21
H
b22
H
≺·
v
H
b11
Ñ
b12
FIGURE 2.2. Buckling H to G
b21
G [×] H
b22
i n1
∼
Let A = {ak }N
k=1 ⊆ V (G) be such that G[A] = KN is a clique, and let disjoint cliques B1 = {b1 }i=1 , · · · , BN
of H be given. Also, let N < |V (H)|.Ú6Û The buckle of G and H is defined by
G [×] H = (G − A) t H +
(See Figure 2.2.)
a1 : B1
a2 : B2
X
1≤k≤m
u∈Bk
v∈NG−A (ak )
Let G0 v G, H0 v H. The 1-join of G and H is defined by
G
H =GtH +
G0 ⊥H0
(See Figure 2.3.)
Ú6ÛSee comments following Theorem 3.14.
5
X
X
u∈V (G−G0 )
v∈V (H−H0 )
uv.
uv.
G
G0
Operation
H
w1 : A1
w2 : A2
G [×] H
a1 : B1
a2 : B2
G
H
G0 ⊥H0
G
H
G [×] H
G
H
G
FIGURE 2.3. Performing a 1-join
Definition
w1
(G − v) t (H − w1 w2 ) +
P
P
uw1 +
uw2
u∈A1
u∈A2
(G − A) t H +
P
P
uv
1≤k≤m
u∈Bk
v∈NG−A (ak )
GtH +
P
u∈V (G−G0 )
v∈V (H−H0 )
uv
b11
a1
A1
b12
G0
G
TABLE 2.2. Graph composition operations
6
H
Illustration
w2
v
G
a2
A2
H
G
b21
H
H
b22
H0
w1
Ñ
w2
A1
G
Ñ
Ñ
b11
b12
A2
H
≺·
1-join
G
v
Compact
≺·
Buckle
Form
Inline
≺·
Splice
Ñ
H H0
G [×] H
G
H
b21
b22
3. THEORY
3.1. Author’s note
The author is aware of the existance of other, sometimes simpler, methods of proving several of these
theorems. (See [PS14], [LP86], etc.) To the extent possible, equivalent theorems are noted.
3.2. Preliminaries
Some of the proofs in this document contain text side-by-side with pictures illustrating the text.
Normal vertices are illustrated in black-and-white, while
removed vertices (and their edges) are colored light
gray and dashed. An edge that has been removed for
u
the purposes of testing criticality is colored red and
dashed.
When illustrating an independent set, vertices in that
set are colored blue, whereas vertices not in that set
u
are colored red.
v
w
x
v
w
Ñ
x
u
v
w
x
Observation 3.1. If e ∈ critr (G), and I is a maximum independent set of G −e, then V (e) ⊆ I. (Otherwise,
I would be an independent set of G, implying α(G − e) ≤ α(G).)
Observation 3.2. If G1 , . . . , Gn are disjoint graphs, and G =
(1) α(G) =
Pn
(2) critr (G) =
(3) critc (G) =
i=1
α(Gi ),
Sn
i=1
Sn
i=1
Fn
i=1
Gi , then:
critr (Gi ), and
critc (Gi ).
It follows that G is removal-critical if and only if all of the Gi are removal-critical; likewise, G is
contraction-critical if and only if all of the Gi are contraction-critical.
Theorem 3.3. For any graph G, critc (G) ∩ critr (G) = ∅.
Proof. Let e = uv ∈ critr (G). Then there exists an independent set I of G − e with |I| = α(G) + 1. By
Observation 3.1, u, v ∈ I. Thus, NG−e (u) ∩ I = NG−e (v) ∩ I = ∅. Now, let H = G \ e, and let w ∈ V (H) be the
vertex created by contracting e. Let J = I \ {u, v}. It can be easily verified that J is an independent set of
7
H. Now, J ∩ NH (w) = J ∩ ((NG (u) \ {v}) ∪ (NG (v) \ {u})) = J ∩ (NG−e (u) ∪ NG−e (v)) = ∅. Thus, J 0 = J ∪ {w} is
also an independent set of H, and |J 0 | = α(G). Therefore, α(H) ≥ α(G), so e ∈
6 critc (G).
Theorem 3.4 (Eqv. Corollary 12.1.8, [LP86]). If a graph G has a cut-vertex, then G is not removal-critical.
Proof. Let G be a connected graph, and let v be a cut-vertex of G (if G is not connected, redefine G to
be the connected component of G containing v). Without loss of generality, let the removal of v divide G
into two disjoint subgraphs G1 and G2 , and let u1 ∈ NG1 (v), u2 ∈ NG2 (v). It is asserted that u1 v and u2 v are
not both critical.
To prove this, we proceed by contradiction: assume that u1 v, u2 v ∈ critr (G). Then there exist indepen-
dent sets I1 and I2 of G −u1 v and G −u2 v, respectively, such that |I1 | = |I2 | = α(G)+1. Let Iij = Ii ∩V (Gj ) for
i, j ∈ {1, 2}. Observe that J = I12 ∪ I21 ∪ {v} and K = I11 ∪ I22 are both independent sets of G. Also, observe
that v ∈ I1 , I2 (by Observation 3.1), so |I11 | + |I12 | = |I21 | + |I22 | = α(G). However, then |J| + |K| = 2α(G) + 1,
implying that either |J| > α(G) or |K| > α(G) – a contradiction.
3.3. Vertex duplication and shadowing
Theorem 3.5 (Eqv. Theorem 6, [Wes70b]). Let G be a graph, and let u, v ∈ V (G). If N[u] = N[v], then:
(1) G − u ∼
= G − v,
(2) α(G) = α(G − u) = α(G − v),
(3) G is removal-critical if and only if G − u (∼
= G − v) is removal-critical.
Proof.
Part (1) is pretty simple, and can be seen from the diagram (or verified manually).
u
v
u
v
For part (2):
Any independent set of G − u is an independent set of
G, so α(G − u) ≤ α(G). Conversely, any independent set
of G not containing u is an independent set of G − u.
8
∼
=
⇔
u
v
u
v
Any independent set I of G containing u can be con-
verted to an independent set of G − u simply by removing u and adding v (u ∈ I Ñ N[u] ∩ I = N[v] ∩ I = {u}),
u
Ñ
v
so α(G − u) ≥ α(G).
⇔
v
u
u
v
u
v
u
v
The result for G − v follows immediately from the fact that G − u ∼
= G − v.
For part (3) (Ñ):
Assume critr (G) = E(G), and let e ∈ E(G − u).
If v ∈
6 V (e), then α(G − u − e) = α(G − e) = α(G) + 1 = α(G − u) + 1 by part (2).
Otherwise, e = vw for some w ∈ NG−e (v) = NG (v)\{u}.
Since e ∈ critr (G), there exists an independent set I of
G − e such that |I| = α(G) + 1 = α(G − u) + 1. By
Observation 3.1, {v, w} ⊆ I, so u ∈
6 I, and thus I is an
u
Ñ
v
independent set of G − u − e.
u
⇔
v
For part (3) (⇐):
Assume critr (G − u) = E(G − u), and let e ∈ E(G).
If e ∈ G − u (i.e., u ∈
6 V (e)), then α(G − e) ≥ α(G − u − e) = α(G − u) + 1 = α(G) + 1.
Otherwise, if e Y = uv, then e = uw for some w ∈ NG (u)\
{v} = NG (v) \ {u}. G − uw ∼
= G − vw (this is easily
u
verified, and can be seen from the diagram), so α(G −
∼
=
v
e) = α(G − vw) = α(G − u − vw) = α(G) + 1.
u
v
This leaves the case e = uv.
If NG (v) Y = {u}, then let w ∈ NG (v) \ {u}. Let I be a
maximum independent set of G − u − vw (so that |I| =
α(G − u) + 1 = α(G) + 1). By Observation 3.1, {v, w} ⊆ I,
so NG−u (v) ∩ I = {w}. Then J = I \ {w} ∪ {u} is an
independent set of G − uv with |J| = α(G) + 1.
9
u
v
Ñ
u
v
Ñ
Otherwise, {u, v} is a component of G. Let I be any
maximum independent set of G. It is easily verified
u
that J = I ∪ {u, v} is an independent set of G − uv, and
Ñ
v
|J| ≥ |I| + 1 = α(G) + 1 (as {u, v} * I).
u
v
⇐
u
v
It is worth noting that this implies that one can extend any removal-critical graph simply by ‘duplicating’
one of its vertices; to be precise:
Corollary 3.6. Given a removal-critical graph G and a vertex v ∈ G, the graph
is also removal-critical.
G0 = G + v0 +
X
u∈N[v]
uv 0
Despite its simplicity, vertex duplication is quite useful in constructing removal-critical graphs (see
Section 4).
Corollary 3.7. Let G be a graph, and let u, v ∈ V (G). If N[u] = N[v], then:
(1) G \ uv ∼
= G − u,
(2) α(G) = α(G \ uv),
(3) uv ∈
6 critc (G), and
(4) G is not contraction-critical.
Proof.
Again, part (1) is pretty simple, and can be seen from
the diagram (or verified manually).
u
v
∼
=
w
Part (2) then follows from Theorem 3.5, and parts (3) and (4) follow immediately by definition.
Theorem 3.8. Let G be a graph, and let u, v, w ∈ V (G). If uv, vw ∈ E(G), uw ∈
6 E(G), and N(u) ⊆
N(v) ∪ N(w), then vw ∈
6 critr (G), and thus G is not removal-critical.
Proof.
10
We proceed by contradiction: assume that the hypotheses are satisfied, but vw ∈ critr (G). Then there
exists an independent set I of G − vw with |I| = α(G) + 1.
By Observation 3.1, v, w ∈ I. Then I ∩ NG−vw (v) =
I ∩NG−vw (w) = ∅, and so I ∩NG (u) ⊆ I ∩(NG (v)∪NG (w)) =
I ∩ (NG−vw (v) ∪ NG−vw (w) ∪ {v, w}) = {v, w}. Thus I ∩
NG (u) = {v}. However, then J = I \ {v} ∪ {u} is an
independent set of G with |J| = α(G)+1, a contradiction.
u
v
w
Ñ
u
v
w
Ñ
u
v
w
A nice complement to Theorem 3.5 is:
Corollary 3.9. Let G be a graph, and let u, v ∈ V (G). If N[u] ( N[v], then for all w ∈ N[v] \ N[u],
vw ∈
6 critr (G), and thus G is not removal-critical.
3.4. Bipartite graphs and criticality
Theorem 3.10 (Eqv. Lemma 2.1, [PS14]). If G is contraction-critical, then G is bipartite.
Proof. Assume that G is contraction-critical, and let I be a maximum independent set of G. It is asserted
that I and V (G) \ I form partite sets of G. To show this, let e ∈ E(G) = critc (G). V (e) ∩ I Y = V (e), since I is
an independent set of G. V (e) ∩ I Y = ∅, as that would imply that I is an independent set of G \ e, and thus
that α(G \ e) ≥ α(G), contradicting the criticality of e. Thus, E(G[I]) = E(G[V (G) \ I]) = ∅. This proves the
assertion (and the theorem).
Theorem 3.11 (Eqv. Corollary 12.1.7, [LP86]). Let G be a bipartite graph. Then G is removal-critical if
and only if ∆(G) ≤ 1.
Proof. It suffices to prove this for connected bipartite graphs (this follows from Observation 3.2 and the
fact that ∆(G) ≤ 1 if and only if ∆(Gi ) ≤ 1 for all of the connected components Gi of G). Therefore,
assume G is a connected bipartite graph.
If ∆(G) ≤ 1, then either G ∼
= K1 or G ∼
= K2 , both of which are removal-critical. Otherwise, ∆(G) ≥ 2.
δ(G) Y = 0, as G is connected and G ∼
6 K1 . If δ(G) = 1, then (since G ∼
6 K2 ) G has a cut-vertex, so by
=
=
Theorem 3.4, G is not removal-critical.
11
This leaves the case where δ(G) ≥ 2. By the König-Egerváry theorem, since G is bipartite, α0 (G) = β(G).
As the complement of a minimum vertex cover is a maximum independent set, α(G) + β(G) = |V (G)|;
thus α(G) = |V (G)| − α0 (G). Now, let F be a maximum matching of G. F Y = E(G) (otherwise, δ(G) ≤ 1);
therefore, there exists e ∈ E(G) \ F. Clearly, F is a matching of G − e, so α0 (G − e) ≥ |F| = α0 (G). Thus
α(G − e) = |V (G − e)| − α0 (G − e) ≤ |V (G)| − α0 (G) = α(G), so e ∈
6 critr (G).
H) = α(G) + α(H) − 1 or α(G
≺·
Lemma 3.12. Let G and H be graphs. Then either α(G
H) = α(G) + α(H).
≺·
3.5. Graph composition operations
Proof. Let IG and IH be maximum independent sets of G and H, respectively. If v ∈ IG , then J = (IG \{v})∪IH
H with |J| = α(G) + α(H) − 1. Otherwise, J = IG ∪ (IH \ {w1 , w2 }) is an
≺·
is an independent set of G
H with |J| ≥ α(G) + α(H) − 1 (|IH ∩ {w1 , w2 }| ≤ 1 since w1 w2 ∈ E(H)). Thus,
≺·
independent set of G
H) ≥ α(G) + α(H) − 1.
≺·
α(G
Now, let I be a maximum independent set of G
≺·
H. If {w1 , w2 } * I, then I ∩ V (G) and I ∩ V (H) are
independent sets of G and H, respectively, so |I| = |I ∩ V (G)| + |I ∩ V (H)| ≤ α(G) + α(H). Otherwise
({w1 , w2 } ⊆ I), A1 ∩ I = A2 ∩ I = ∅, so (I ∩ V (G)) ∪ {v} and (I ∩ V (G)) \ {w1 } are independent sets of G
and H, respectively; thus |I| = |I ∩ V (G)| + |I ∩ V (H)| ≤ (α(G) − 1)) + (α(H) + 1) = α(G) + α(H). Thus,
H) ≤ α(G) + α(H).
≺·
α(G
Theorem 3.13 (Satz 81 (Hauptsatz), [Wes70a]; translated). A graph G with connection number 2 is removalG2 for some removal-critical graphs G1 and G2 .Ú7Û
≺·
critical if and only if G = G1
Theorem 3.14. Let G and H be graphs, with H being removal-critical. Let A = {ak }N
k=1 be a clique
S
1
in G, and let B1 = {b1i }ni=1
, · · · , BN be disjoint cliques of H. Also, let N < |V (H)|. Define B = N
i=1 Bi ,
H ∗ = H − B, and for S ⊆ B, let HS∗ = H − (B \ S). Then:
(a) If α(H ∗ ) = α(H) − 1, and α(HB∗ i ) = α(H) for all 1 ≤ i ≤ N, then α(G [×] H) = α(G) + α(H) − 1.
∗
) = α(H) for all b ∈ B, and, additionally, for
(b) If the latter condition is strengthened to α(H{b}
all e ∈ E(H), there exist ke , ke0 such that V (e) ∩ B ⊆ Bke ∪ Bke0 and α(HB∗ ke ∪Bk0 − e) = α(H) + 1
e
(equivalently, e ∈ critr (HB∗ ke ∪Bk0 )), then if G is removal-critical, then G [×] H is removal-critical.
e
Ú7ÛThe author notes that K is an exception to this theorem.
3
12
(c) If, further, for all j, k, there exists ej,k ∈ E(H) such that α(H − Bj − ej,k ) = α(H − Bk − ej,k ) = α(H),
and α(H ∗ − ej,k ) = α(H) − 1 (equivalently, ej,k ∈
6 critr (H ∗ )), then the converse of the conclusion of
(b) holds: if G [×] H is removal-critical, then G is removal-critical.
Before proceeding with the proof of Theorem 3.14, it is worth observing a few things:
• If |Bi | = 1 for all i, then the strengthened condition required for (b) is actually the same as the
original condition in (a).
• If N = 2, then the hypotheses of (a), as strengthened in (b), imply the remainder of the hypotheses
of (b) and (c).
• If N = 1, then either B1 is a connected component of H, in which case G [×] H = G + t (H − B1 )
(where G + is G with vertex a1 duplicated |B1 | − 1 times), or else α(H ∗ ) = α(H) (for any edge
e ∈ E(H) = critr (H) connecting B1 to H − B1 , α(H) + 1 = α(H − e) ≤ α(H ∗ ) + α(B1 ) = α(H ∗ ) + 1).
• If H ∼
= Kn , then the buckling construction reduces to one or more vertex duplications. (If (were it
permitted) one also had that n = N, then one would actually have that G [×] H ∼
= G.)
Proof. In the following, let J ∗ be a maximum independent set of H ∗ , and for S ⊆ B, let JS∗ be a maximum
independent set of HS∗ .
(Proof of (a))
Assume that α(H ∗ ) = α(H) − 1, and α(HB∗ i ) = α(H) for all i. Let I be a maximium independent set of G.
If A ∩ I Y = ∅, then A ∩ I = {ak } for some k, and J = I \ {ak } ∪ JB∗ k is an independent set of G [×] H with
|J| = α(G) + α(H) − 1. Otherwise, J 0 = I ∪ J ∗ is an independent set of G [×] H with |J 0 | = α(G) + α(H) − 1.
Thus, α(G [×] H) ≥ α(G) + α(H) − 1.
Now, let I be a maximum independent set of G [×] H. If I ∩ B Y = ∅, then there exists some k such that
I ∩ Bk Y = ∅. In that case, let J = (I ∩ V (G)) ∪ {ak }. Then |J| ≥ |I| − α(H) + 1 = α(G [×] H) − α(H) + 1.
Otherwise (if I ∩ B = ∅), let J = I ∩ V (G); then |J| ≥ |I| − α(H ∗ ) = α(G [×] H) − α(H) + 1. In either case, J is
an independent set of G, so α(G) ≥ |J| ≥ α(G [×] H) − α(H) + 1. Therefore, α(G [×] H) ≤ α(G) + α(H) − 1.
(Proof of (b))
Assume that the hypotheses of (a) and (b) hold, and that G is removal-critical. To show that G [×] H is
removal-critical, let xy ∈ E(G [×] H) be given.
13
If {x, y} ∩ V (H) = ∅, then there exists an independent set I of G − xy with |I| = α(G) + 1. If, for some k,
ak ∈ I, let S = I \ {ak } ∪ JB∗ k ; otherwise, let S = I ∪ J ∗ . In the first case, |S| = |I| − 1 + α(H) = α(G) + α(H); in
the second case, |S| = |I| + α(H) − 1 = α(G) + α(H). In both cases, S is an independent set of (G [×] H) − xy
with |S| = α(G) + α(H) = α(G [×] H) + 1, so xy is critical.
If |{x, y} ∩ V (H)| = 1, then, without loss of generality, x = bki for some k, i, and y ∈ NG (ak ). Let I be a
∗
maximum independent set of G − yak , and let S = I \ {ak } ∪ J{b
i . Once again, S is an independent set of
}
k
(G [×] H) − xy with |S| = |I| − 1 + α(H) = α(G) + α(H) = α(G [×] H) + 1, so xy is critical.
0 , and let J be a maximum
Otherwise, {x, y} ⊆ V (H). Let I be a maximum independent set of G − akxy akxy
0 } ∪ J is an independent set of (G [×] H) − xy with
independent set of HB∗ kxy ∪Bk0 − xy. Then S = I \ {akxy , akxy
xy
|S| = |I| − 2 + |J| = α(G) + α(H) = α(G [×] H) + 1, so xy is critical.
(Proof of (c))
Assume the hypotheses of (a), (b), and (c) hold, and that G [×] H is removal-critical. To show that G is
removal-critical, let xy ∈ E(G) be given.
If {x, y}∩A = ∅, then let I be a maximum independent set of (G [×] H)−xy. If, for some k, I ∩Bk Y = ∅, then
let J = (I ∩ V (G)) ∪ {ak }; otherwise (if I ∩ B = ∅), let J = I ∩ V (G). In the first case, |J| = |I| − |I ∩ V (H)| + 1 ≥
|I| − α(H) + 1 = α(G) + 1; in the second case, |J| = |I| − |I ∩ V (H 0 )| ≥ |I| − α(H ∗ ) = α(G) + 1. In both cases,
J is an independent set of G − xy with |J| ≥ α(G) + 1, so xy is critical.
If |{x, y} ∩ A| = 1, then, without loss of generality, x = ak for some k, and y ∈ NG−A (ak ). Let I be a
maximum independent set of (G [×] H) − bk1 y, and let J = (I ∩ V (G)) ∪ {ak }. Then J is an independent set
of G − xy and |J| = |I| − |I ∩ V (H)| + 1 ≥ α(G) + 1; thus xy is critical.
Otherwise, {x, y} ⊆ A, so x = aj , y = ak for some j, k. Let I be a maximum independent set of
(G [×] H) − ej,k . There must exist some l, m, such that blm ∈ I; otherwise, |I| ≤ α(G) + α(H ∗ − ej,k ) =
α(G) + α(H) − 1 = α(G [×] H). Therefore, NG (ak ) ∩ I = NG−A (ak ) ∩ I ⊆ NG[×]H (bki ) = ∅, so (I ∩ V (G)) ∪ {ak } is
an independent set of G.
Then |I ∩V (G)| ≤ α(G)−1, so |I ∩V (H)| ≥ |I|−α(G)+1 = α(H)+1. As |I ∩V (H)| ≤ α(H −ei,j ) = α(H)+1, it
follows that |I ∩V (H)| = α(H)+1 and that |I ∩V (G)| = α(G)−1. Thus, Bj ∩I, Bk ∩I Y = ∅ (otherwise, |I ∩V (H)| ≤
α(H − Bj − ej,k ) = α(H − Bk − ej,k ) = α(H)). Therefore, let J = (I ∩ V (G)) ∪ {aj , ak } = (I ∩ V (G)) ∪ {x, y}. J
is an independent set of G − xy with |J| = |I ∩ V (G)| + 2 = α(G + 1), so xy is critical.
14
Theorem 3.15 (Theorem 3.1,Ú8Û [VB]). Let G and H be graphs, and let G0 v G and H0 v H, with
α(G0 ) = α(G) − 1 and α(H0 ) = α(H) − 1. Then
Moreover, G
α(G
H) = α(G) + α(H) − 1.
G0 ⊥H0
H is α-critical if and only if:
(1) G0 and H0 are maximal (with respect to the inclusion of vertices) induced subgraphs with α(G0 ) =
α(G) − 1 and α(H0 ) = α(H) − 1, and
(2) critr (G) ∪ critr (G0 ) = E(G) and critr (H) ∪ critr (H0 ) = E(H).
As with buckling, vertex duplication is also a special case of 1-joining. In particular, if G is α-critical
and v ∈ V (G), then, letting H = K1 , G
H is simply G with v duplicated, and satisfies Theorem 3.15.
G[N[v]]⊥H[∅]
4.1. Introduction
4. RESULTS
In the course of his work on this subject, the author generated a large amount of data regarding critical
graphs. This section attempts to summarize the most relevant results. (Details on how these data were
generated can be found in Appendix B.)
4.2. Families of graphs
Figure 4.1 and Table 4.1 display the number of graphs of certain types. There are several points of
note:
2
• All families appear to have the 2O(n ) growth rate of general graphs.
• Most bipartite graphs are contraction-critical (the converse is always true; see Theorem 3.10).
• A decent proportion of graphs are removal-anti-critical (likewise for contraction-anti-criticality).
4.3. Comparison of graph-composition operations
The ‘pie’ charts in Figures 4.3, 4.4, and 4.5 display the number of α-critical graphs that can (or cannot)
be produced from smaller graphs by various graph operations. The area of each section is directly
proportional to the number of graphs belonging to that section. The charts are subdivided by order
and connectedness, with order increasing as one proceeds outward. The graphs of any specific order are
Ú8ÛThe statement of this theorem has been rewritten somewhat using the terminology of this document; however, it remains
equivalent to the theorem cited.
15
1015
1014
1013
1012
1011
1010
# of Graphs
109
108
107
106
105
104
103
102
101
100
1
2
3
4
General graphs
(all / bipartite)
5
6
7
8
9
10
# of Vertices
11
12
Critical graphs
(removal / contraction)
13
14
15
16
17
Anti-critical graphs
(removal / contraction)
FIGURE 4.1. Comparison of growth rates of various families of graphs
represented by two consecutive rings: a thick, inner ring (the connected graphs) and a thin, outer ring (the
disconnected graphs). The black dots in the middle represent K1 ; the outer pairs of rings represent the
63524 α-critical graphs of order 13. Beneath each of the pie charts are a pair of bar charts corresponding
to them, with order increasing as one proceeds downwards.
One graph worthy of special note is the graph of the square antiprism (top left, Figure 4.2), as it is the
only graph with < 10 vertices (other than K1 ) not constructible by any of the constructions discussed in
this paper.
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Critical
Removal
1
2
3
5
8
13
22
40
85
227
867
5539
63524
General
Anti-critical
Contraction
Bipartite
All
Removal
Contraction
1
1
1
1
1
1
2
2
1
2
2
3
4
2
3
4
7
11
5
6
8
13
34
14
14
19
35
156
59
49
50
88
1044
365
233
150
303
12346
3973
2510
603
1119
274668
85150
58083
2690
5479
12005168
3682855
2443386
18556
32303
1018997864
305630620
186544375
135694
251135
165091172592 47704562980 29084562431
1679404
2527712
50502031367952
21499017
33985853
29054155657235488
470944649
611846940 31426485969804308768
10916917115
14864650924
417704032328 488222721992
TABLE 4.1. Number of graphs of various families, by order
FIGURE 4.2. The 6 α-critical graphs on < 12 vertices not constructible by any of the
methods listed here
17
Splice
Yes No
disconnected
connected
Buckle
Yes
Yes
No
(with dup.)
1 graph
10 graphs
(no dup.)
100 graphs
FIGURE 4.3. Comparison of applicability of splicing and buckling
18
Buckle
Yes No
disconnected
connected
1-join
Yes
Yes
No
(both crit.)
1 graph
10 graphs
(non-crit.)
100 graphs
FIGURE 4.4. Comparison of applicability of buckling and 1-joining
19
1-join
Yes No
disconnected
connected
Buckle
Yes
Yes
No
(with dup.)
1 graph
10 graphs
(no dup.)
100 graphs
FIGURE 4.5. Comparison of applicability of buckling and 1-joining
20
FIGURE 4.6. The 54 α-critical graphs on < 8 vertices
FIGURE 4.7. The 40 α-critical graphs on 8 vertices
21
FIGURE 4.8. The 85 α-critical graphs on 9 vertices
5.1. Future directions
5. CONCLUSION
As seems to be common for research, the search for answers has lead to more questions.
Some questions for further research include:
• What sorts of operations can be used to construct contraction-critical graphs?
• What is the asymptotic behavior of the number of ?-critical graphs? (See Conjecture 5.1, below)
• Is there any general construction on removal-critical graphs that can construct the graph of the
square antiprism?
• What insights can be gained from the various equivalents to α-criticality?
• Are there other equivalent concepts to α-criticality than those mentioned in Subsection 1.2?
• Asymptotically, how useful are the graph constructions operations discussed here?
22
FIGURE 4.9. The 84 contraction-critical graphs on < 8 vertices
A conjecture of the author’s:
Conjecture 5.1. As the number of vertices increases, the proportion of bipartite graphs that are
contraction-critical approaches 1.
23
[AEHK96]
REFERENCES
Noga Alon, Paul Erdős, Ron Holzman, and Michael Krivelevich, On k-saturated graphs with restrictions on the degrees,
Journal of Graph Theory 23 (1996), 1–20.
[AHLdW04] Gabriela Alexe, Peter L. Hammer, Vadim V. Lozin, and Dominique de Werra, Struction revisited, Discrete Applied
Mathematics 132 (2004), 27–46.
[AL04]
V. E. Alekseev and Vadim V. Lozin, Local transformations of graphs preserving independence number, Discrete Applied
[And67]
B. Andrásfai, On critical graphs, Theory of Graphs, International Symposium, New York, Gordon and Breach, 1967,
[Ber70]
Claude Berge, Une propriété des graphes k-stables-critiques, Combinatorial structures and their applications (Richard K.
[Ber72]
, Alternating chain methods: A survey, Graph Theory and Computing (Ronald C. Read and Claude Berge, eds.),
[Ber81]
[BHP67]
[Chv77]
[CL05]
[CZ09]
[Die06]
[EG61]
Mathematics 135 (2004), 17–30.
pp. 9–19.
Guy, ed.), 1970, pp. 7–11.
New York, Academic Press, 1972.
, Some common properties for regularizable graphs, edge-critical graphs and B-graphs, Graph theory and
algorithms (N. Saito and T. Nishizeki, eds.), Lecture notes in computer science, no. 108, 1981, pp. 108–123.
Lowell W. Beineke, Frank Harary, and Michael D. Plummer, On the critical lines of a graph, Pacific Journal of Mathe-
matics 22 (1967), 205–212.
V. Chvátal, Determining the stability number of a graph, SIAM Journal on Computing 6 (1977), 643–662.
Gary Chartrand and Linda Lesniak, Graphs & digraphs, Chapman & Hall/CRC, 2005.
Zhibin Chen and Wenan Zang, Odd-K4 ’s in stability critical graphs, Discrete Mathematics 309 (2009), 5982–5985.
Reinhard Diestel, Graph theory, Springer-Verlag Berlin Heidelberg, 2006.
Paul Erdős and Tibor Gallai, On the minimal number of vertices representing the edges of a graph, Publications of
the Mathematical Institute of the Hungarian Academy of Sciences, Series A 6 (1961), 181–203.
[FJ09]
Samuel Fiorini and Gwenaël Joret, On a theorem of Sewell and Trotter, European Journal of Combinatorics 30 (2009),
[GHR93]
Georg Gunther, Bert Hartnell, and Douglas F. Rall, Graphs whose vertex independence number is unaffected by single
[Haj65]
A. Hajnal, A theorem on k-saturated graphs, Canadian Journal of Mathematics 22 (1965), 205–212.
[Her97]
[KZ13]
[LdW12]
425–428.
edge addition or deletion, Discrete Applied Mathematics 46 (1993), 169–172.
Alain Hertz, On the use of boolean methods for the computation of the stability number, Discrete Applied Mathematics
76 (1997), 183–203.
Iyad Kanj and Fenghui Zhang, On the independence number of graphs with maximum degree 3, Theoretical Computer
Science 478 (2013), 51–75.
Benjamin Lévêque and Dominique de Werra, Graph transformations preserving the stability number, Discrete Applied
Mathematics 160 (2012), 2752–2759.
24
[Lov78]
[Lov94]
[Loz11]
[LP86]
[Mos12]
[MP14]
[Ore62]
[Plu67]
[PS14]
[Sew90]
[ST93]
[Sur75a]
[Sur75b]
[Sur78]
[Sur80]
[VB]
[Wes70a]
[Wes70b]
[Wes78]
[Wil99]
László Lovász, Some finite basis theorems on graph theory, Combinatorics, Vol. II (A. Hajnal and Vera T. Sós, eds.),
Colloquia Mathematica Societatis János Bolyai, no. 18, 1978, pp. 717–729.
, Stable sets and polynomials, Discrete Mathematics 124 (1994), 137–153.
Vadim V. Lozin, Stability preserving transformations of graphs, Annals of Operations Research 188 (2011), 331–341.
László Lovász and Michael D. Plummer, Matching theory, Amsterdam; New York: North-Holland, 1986, Reprinted:
Providence: AMS Chelsea Publishing, 2009.
Raffaele Mosca, Stable sets for (P6 , K2,3 )-free graphs, Discussiones Mathematicae Graph Theory 32 (2012), 387–401.
Brendan D. McKay and Adolfo Piperno, Practical graph isomorphism, {II}, Journal of Symbolic Computation 60 (2014),
94 – 112.
Øystein Ore, Theory of graphs, Providence: American Mathematical Society, 1962.
Michael D. Plummer, On a family of line-critical graphs, Monatshefte für Mathematik 71 (1967), 40–48.
Michael D. Plummer and Akira Saito, A note on contraction-critical graphs with respect to independence number,
Discrete Mathematics 325 (2014), 85–91.
Edward C. Sewell, Stability critical graphs and the stable set polytope, Tech. Report 905, Cornell University, May 1990.
Edward C. Sewell and L. E. Trotter, Jr., Stability critical graphs and even subdivisions of K4 , Journal of Combinatorial
Research, Series B 59 (1993), 74–84.
László Surányi, Large α-critical graphs with small deficiency (On line-critical graphs II), Studia Scientiarum Mathe-
maticarum Hungarica 10 (1975), 397–412.
, On line critical graphs, Infinite and Finite Sets, Vol. III (A. Hajnal, H. Rado, and Vera T. Sós, eds.), Colloquia
Mathematica Societatis János Bolyai, no. 10, 1975, pp. 1411–1444.
, A note on a conjecture of Gallai concerning α-critical graphs, Combinatorics, Vol. II (A. Hajnal and Vera T. Sós,
eds.), Colloquia Mathematica Societatis János Bolyai, no. 18, 1978, pp. 1065–1074.
, On a generalization of linecritical graphs, Discrete Mathematics 30 (1980), 277–287.
Carlos E. Valencia and Marcos I. Barrita, 1-join composition for α-critical graphs, Submitted for publication.
Walter Wessel, Kanten-kritische Graphen mit der Zusammenhangszahl 2, Manuscripta Mathematica 2 (1970), 309–334.
, On the problem of determining whether a given graph is edgecritical or not, Combinatorial theory and its
applications, Vol. III (Paul Erdős, Alfréd Rényi, and Vera T. Sós, eds.), Colloquia Mathematica Societatis János Bolyai,
no. 4, 1970, pp. 1123–1139.
, A second family of edge-critical wheels, Combinatorics, Vol. II (A. Hajnal and Vera T. Sós, eds.), Colloquia
Mathematica Societatis János Bolyai, no. 18, 1978, pp. 1123–1145.
U. Wilensky, NetLogo, Center for Connected Learning and Computer-Based Modeling, Northwestern University,
Evanston, IL, 1999, http://ccl.northwestern.edu/netlogo/.
[XN13]
Mingyu Xiao and Hiroshi Nagamochi, Confining sets and avoiding bottleneck cases: A simple maximum independent
[Zyk49]
A. A. Zykov, On some properties of linear complexes, Matematicheskiı̆ Sbornik, Novaya Seriya 24 (1949), 163–188.
set algorithm in degree-3 graphs, Theoretical Computer Science 469 (2013), 92–104.
25
APPENDIX A. SOURCE CODE, DATA, ETC.
For simplicity of distribution, the author has attached certain files to this document. The files include the
source code of the programs used to generate the data, as well as a compressed version of the α-critical
graphs on 13 vertices. Clicking (or something) on the following file name should allow you to extract the
files from this document:Ú9ÛÚ10Û allfiles.tar
If the above fails, and you have access to a moderately POSIX-compliant environment, one of the
following two methods should work as an alternative method for extracting the files:
(1) If this PDF has not been rewritten, a simple sh /path/to/this/file.pdf should suffice to extract
the files. (Expect to get some weird, but harmless, complaints regarding ‘lines’ 1–3.)
(2) Failing that, one can use the following (rather arcane) script:Ú11Û
set -a; LC_ALL=C; X='\\x'; P="\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)"
[ -r "$PATH_TO_PDF" ] || { echo "Input the path to the PDF file:"; read PATH_TO_PDF; }
cat $PATH_TO_PDF | tr '\000\011\012\014\015:;' ' : ;\n\n' | \
tr -c '[0-9A-Za-z/:; ]' '[\n*]' >| .extract_tmp
trap "rm -f .extract_tmp" EXIT
# syntax: Extract_File <filename> <modification date>
#
<uncompressed size> <MD5 hash (hex)> <CRC-32 (hex)>
Extract_File() {
printf '\37\213\10\0\0\0\0\0\2\3' > $1.gz
awk "BEGIN {p = -1; l = 0; f = 0} /$4/ {f=1} /Length[ :;]/ \
{match(\$0,\"Length[ :;]+[0-9]+\"); ts=substr(\$0,RSTART,RLENGTH); \
match(ts,\"[0-9]+\"); l=0+substr(ts,RSTART,RLENGTH)} (f == 1) && \
/[ :;]stream;?:/{match(\$0,\"[ :;]stream;?:\"); p=p+1+RSTART+RLENGTH; \
system(\"dd if=$PATH_TO_PDF bs=1 skip=\"p+1\" count=\"l-6\" >> $1.gz \
2>/dev/null || echo 'dd failed...'\"); exit} {p = p+1+length}" .extract_tmp
printf `printf "$5%08x" $3 | sed "s/$P/$X\4$X\3$X\2$X\1$X\8$X\7$X\6$X\5/"` >> $1.gz
gzip -df $1.gz
rm -f $1.gz
touch -t $2 $1
}
Extract_File "allfiles.tar" 201505041645 453120 \
C028D76A8B5F6268""6D124823F8362C29 0C405143 &> /dev/null
CODE SNIPPET A.1. Arcane file extraction script
Ú9ÛIf you see a blank here, or if your PDF viewer (like the author’s) does not support file attachment annotations, keep reading.
Ú10ÛThe author apologizes for the current lack of documentation. . .
Ú11ÛThis is more-or-less what the first command ends up doing, anyway.
26
B.1. Software used
APPENDIX B. IMPLEMENTATION
In the course of the author’s work, many different pieces of software were used. However, two of them
deserve a special mention:
• nauty [MP14] was used for a variety of graph-related tasks. Perhaps most critically, it was used
to generate all non-isomorphic graphs of certain types, permitting the author to search through
them.
• NetLogo [Wil99] was also used for a variety of tasks; in particular, for the rendering and visualization of graphs. It is noteworthy that the idiosyncrasies of the layout mechanisms used were
influential in certain of the author’s discoveries.
B.2. Independence number computation
At the heart of much of the code used for this project is the following algorithm (Algorithm B.1) for
computing / testing / verifying the independence number of a graph. It is a fairly basic, brute-force
algorithmÚ12Û designed to run quickly on very small graphs (< 20 vertices). Preprocessing the input graph
(e.g., sorting the vertices by degree) can significantly improve the algorithm’s running time.
next vtx:
function ALPHACALC(G, n, target, strict?)
if target = 0 then return ¬strict?
if target < 0 then
deficitIndSet ← 1
deficitOther ← n − 1
else
deficitIndSet ← target
deficitOther ← n − target
end if
reachedTarget? ← false
S ← {}
i ← −1
. Is this a general search (no target)?
i++
if N(vi ) ∩ S = {} then
deficitIndSet−−
S ← S ∪ {vi }
if deficitIndSet ≤ 0 then
if strict? then
if reachedTarget? then
return false
. Can we add vertex i?
. Do we have enough?
. We’ve exceeded our target. . .
Ú12ÛDespite its apparent simplicity, there are a suprising number of subtleties; the author’s total recorded count of corrected
errors over the span of its development is 31!
27
remove vtx:
prev vtx:
else
deficitIndSet++
deficitOther−−
reachedTarget? ← true
end if
else if target ≥ 0 then
return true
else
deficitIndSet++
deficitOther−−
end if
if i = n − 1 then
deficitIndSet++
S ← S \ {vi }
goto prev vtx
end if
end if
goto next vtx
end if
. We’ve hit our target, and we’re
. checking for equality. See if we
. can go over our target.
. Qapla’
. We’ve improved upon our previous
. best. See if we can do better yet.
. We’re out of vertices. Go back
. a vertex, and keep searching.
S ← S \ {vi }
if deficitOther > 0 then
if strict? ∧ i = n − 1 then goto prev vtx
deficitOther−−
goto next vtx
end if
. Can we afford to exclude vertex i?
. (Don’t go past the end!)
i−−
if i < 0 then
if target < 0 then
if deficitOther < 0 then return n
return deficitIndSet − 1
else
return strict? ∧ deficitIndSet = target + 1
end if
end if
if vi ∈
6 S then
deficitOther++
goto prev vtx
else
deficitIndSet++
goto remove vtx
end if
end function
ALGORITHM B.1. An algorithm for determining / checking the independence number of a graph
28
© Copyright 2026 Paperzz