0% found this document useful (0 votes)
88 views180 pages

Theoretical General Issues)

The document discusses axioms for centrality measures that quantify the relational power or dominance of vertices in a network. It proposes four axioms: 1) dominance normalization, 2) dummy vertex property, 3) symmetry, and 4) additivity over independent partitions. These axioms uniquely define the out-degree centrality measure. The document then discusses axioms for a related measure called the Pinski-Narin centrality, including invariance to reference intensity, weak/full homogeneity, weak/full consistency, and invariance to journal splitting. The Pinski-Narin centrality is shown to be the unique measure satisfying these axioms.

Uploaded by

huxton.zyheir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
88 views180 pages

Theoretical General Issues)

The document discusses axioms for centrality measures that quantify the relational power or dominance of vertices in a network. It proposes four axioms: 1) dominance normalization, 2) dummy vertex property, 3) symmetry, and 4) additivity over independent partitions. These axioms uniquely define the out-degree centrality measure. The document then discusses axioms for a related measure called the Pinski-Narin centrality, including invariance to reference intensity, weak/full homogeneity, weak/full consistency, and invariance to journal splitting. The Pinski-Narin centrality is shown to be the unique measure satisfying these axioms.

Uploaded by

huxton.zyheir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 180

100 D. Koschützki et al.

Definition 5.4.4. A partition of G ∈ Gn is a subset {G1 , . . . , GK } ⊆ Gn such


that
!K
– k=1 Ek = E and
– Ek ∩ El = ∅ ∀ 1 ≤ k, l ≤ K, k '= l .
The partition is called independent if in addition
" #
Gk (i) > 0 | ≤ 1 ∀ i ∈ V,
| k ∈ {1, . . . , K} : d−
i.e., if each vertex is dominated in at most one directed graph of the partition.
Which properties should a centrality have in order to measure the relational
power or dominance of a vertex?
First of all it would be good to normalize the measure in order to compare
dominance values of different vertices - possibly in different networks. Due to
the domination structure of their approach van den Brink and Gilles propose to
take the number of dominated vertices as the total value that is distributed over
the vertices according to their relational power:
Axiom 1: Dominance normalization For every G ∈ Gn it holds that
$ " #
fG (i) = | j ∈ VG : d−
G (j) > 0 |.
i∈VG

The second axiom simply says that a vertex that does not dominate any other
vertex has no relational power and hence gets the value zero:
Axiom 2: Dummy vertex property For every G ∈ Gn and i ∈ V satisfying
+
NG (i) = ∅ it holds that fG (i) = 0.
In the third axiom the authors formalize the fact that if two vertices have the
same dominance structure, i.e. the same number of dominated vertices and the
same number of dominating vertices, then they should get the same dominance-
value:
Axiom 3: Symmetry For every G ∈ Gn and i, j ∈ V satisfying d+
G (i) = dG (j)
+

and dG (i) = dG (j) it holds that fG (i) = fG (j).


− −

Finally, the fourth axiom addresses the case of putting together directed
graphs. It says that if several directed graphs are combined in such a way that
a vertex is dominated in at most one directed graph (i.e. if the result of the
combination may be viewed as an independent partition), then the total domi-
nance value of a vertex should simply be the sum of its dominance values in the
directed graphs.
Axiom 4: Additivity over independent partitions For every G ∈ Gn and every
independent partition {G1 , . . . , GK } of G it holds
K
$
fG = f Gk .
k=1
5 Advanced Centrality Concepts 101

Interestingly, these axioms are linked to the preceding sections on degree-


based centralities: If the normalization axiom is changed in a specific way, then
the unique centrality score that satisfies the set of axioms is the out-degree
centrality. The authors call this score-measure. Note that an analogous result
also holds for the weighted case.
In more detail, after substituting the dominance normalization by the score
normalization (see Axiom 1b below), the following function is the unique rela-
tional power measure that satisfies Axioms 2 – 4 and 1b:

σG (i) = d+
G (i) ∀ i ∈ V, G ∈ Gn

Instead of taking the number of dominated vertices as the total value that is
distributed over the vertices according to their dominance, the total number of
relations is now taken as a basis for normalization:
Axiom 1b: Score normalization For every G ∈ Gn it holds that
$
fG (i) = |E|.
i∈V

Above, we presented a set of axioms that describe a certain measure that has
some aspects of feedback centralities but also links to the preceding section via
its strong relation to the score measure. We now pass over to feedback centralities
in the narrower sense.

Feedback Centralities. In terms of citation networks, Palacios-Huerta and


Volij [460] proposed a set of axioms for which a centrality with normalized influ-
ence proposed by Pinski and Narin [479] is the unique centrality that satisfies all
of them. This Pinski-Narin-centrality is strongly related to the PageRank score
in that it may be seen as the basis (of PageRank) that is augmented by the
addition of a stochastic vector that allows for leaving the sinks.
To state the axioms properly we need some definitions. We are given a di-
rected graph G = (V, E) with weights ω on the edges and weights α on the
vertices. In terms of citation networks V corresponds to the set of journals and
(i, j) ∈ E iff journal i is cited by journal j. The weight ω(i, j) is defined to be the
number of citations to journal i by journal j if (i, j) ∈ E and 0 otherwise, while
the vertex weight α(i) corresponds to the number of articles published in jour-
nal i. The authors consider strongly connected subgraphs with the additional
property that there is no path from a vertex outside the subgraph to a vertex
contained in it. (Note that they allow loops and loop weights.) Palacios-Huerta
and Volij call such subgraphs a discipline, where a discipline is a special com-
munication class (a strongly connected subgraph) which itself is defined to be
an equivalence class with respect to the equivalence relation of communication.
Two journals i and j communicate, if either i = j or if i and j impact each other,
where i impacts j if there is a sequence of journals i = i0 , i1 , . . . , iK−1 , iK = j
such that il−1 is cited by il , that is, if there is a path from i to j.
102 D. Koschützki et al.

Define the (|V | × |V |)-matrices


$
W = (ω(i, j)) , Dω = diag(ω(·j)) with ω(·j) = ω(i, j),
i∈V

and set W Dω−1 to be the normalized weight matrix, and Dα = diag (α(i)). Then
the ranking problem )V, α, W * is defined for the vertex set V of a discipline,
the associated vertices weights α and the corresponding citation matrix W , and
considers the ranking (a centrality vector) cPHV ≥ 0 that is normalized with
respect to the l1 -norm: ,cPHV ,1 = 1.
The authors consider two special classes of ranking problems:
1. ranking problems with all vertex weights equal, α(i) = α(j) ∀ i, j ∈ V
(isoarticle problems) and
2. ranking problems with all reference intensities equal, ω(·i) ω(·j)
α(i) = α(j) ∀ i, j ∈ V
(homogeneous problems).
To relate small and large problems, the reduced ranking problem Rk for a ranking
problem R = )V, α, W * with respect to a given vertex k is defined as Rk =
)V \ {k}, (α(i))i∈V \{k} , (ωk (i, j))(i,j)∈V \{k}×V \{k} *, with

ω(i, k)
ωk (i, j) = ω(i, j) + ω(k, j) % ∀ i, j ∈ V \ {k}.
l∈V \{k} ω(l, k)

Finally, consider the problem of splitting a vertex j of a ranking problem


R = )V, α, W * into |Tj | sets of identical vertices (j, tj ) for tj ∈ Tj . For V $ =
{(j, tj ) : j ∈ V, tj ∈ Tj }, the ranking problem resulting from splitting j is denoted
by
R$ = )V $ , (α$ ((j, tj )))j∈J,tj ∈Tj , (ω $ ((i, ti )(j, tj )))((i,ti )(j,tj ))∈V ! ×V ! *,
with
α(j) ω(i, j)
α$ ((j, tj )) = , ω((i, ti )(j, tj )) = .
|Tj | |Ti ||Tj |
Note that the latter two definitions of special ranking problems are needed
to formulate the following axioms.
A ranking method Φ assigning to each ranking problem a centrality vector
should then satisfy the following four axioms (at least the weak formulations):

Axiom 1: invariance with respect to reference intensity


Φ is invariant with respect to reference intensity if

Φ()V, α, W Γ *) = Φ()V α, W *)

for all ranking problems )V, α, W * and every Matrix Γ = diag(γj )j∈V with
γj > 0 ∀ j ∈ V .
Axiom 2: (weak) homogeneity
5 Advanced Centrality Concepts 103

a) Φ satisfies weak homogeneity if for all two-journal problems R = ){i, j},


α, W * that are homogeneous and isoarticle, it holds that

Φi (R) ω(i, j)
= . (5.7)
Φj (R) ω(j, i)

b) Φ satisfies homogeneity if (Equation 5.7) holds for all homogeneous prob-


lems.
Axiom 3: (weak) consistency
a) Φ satisfies weak consistency if for all homogeneous, isoarticle problems
R = )V, α, W * with |V | > 2 and for all k ∈ V

Φi (R) Φi (Rk )
= ∀ i, j ∈ V \ {k}. (5.8)
Φj (R) Φj (Rk )

b) Φ satisfies consistency if (Equation 5.8) holds for all homogeneous prob-


lems.
Axiom 4: invariance with respect to the splitting of journals
Φ is invariant to splitting of journals, i.e. for all ranking problems R and
for all splittings R$ of R holds

Φi (R) Φ(i,ti ) (R$ )


= ∀i, j ∈ V, ∀ i ∈ Ti , ∀ j ∈ Tj .
Φj (R) Φ(j,tj ) (R$ )

Palacios-Huerta and Volij show that the ranking method assigning the Pinski-
Narin centrality cP N given as the unique solution of
−1
Dα−1 W DW Dα c = c

is the only ranking method that satisfies


– invariance to reference intensity (Axiom 1),
– weak homogeneity (Axiom 2a),
– weak consistency (Axiom 3a), and
– invariance to splitting of journals (Axiom 4).
Slutzki and Volij [526] also consider the axiomatization of ranking problems,
which they call scoring problems. Although their main field of application is
shifted from citation networks to (generalized) tournaments, it essentially con-
siders the same definitions as above, excluding the vertex weights α. Further,
they consider strongly connected subgraphs (not necessarily disciplines), and set
ω(i, i) = 0 for all i ∈ V , meaning that there are no self-references, i.e. no loops
in the corresponding graph. For this case, the Pinski-Narin centrality may be
characterized by an alternative set of axioms, and again it is the only centrality
satisfying this set.
104 D. Koschützki et al.

The Link to Normalization. Above, we saw that normalization is a question


when dealing with axiomatizations. Either it is explicitly stated as an axiom (see
the centralities of van den Brink and Gilles) or the normalization is implicitly
assumed when talking about centralities (see the papers of Volij and his cowork-
ers). The topic of normalization was already investigated in Section 5.1. Here,
we report on investigations of Ruhnau [499] about normalizing centralities.
Her idea is based on an intuitive understanding of centrality, already formu-
lated by Freeman in 1979 [227]:
“A person located in the center of a star is universally assumed to be
structurally more central than any other person in any other position in any
other network of similar size.”
She formalizes this in the definition of a vertex-centrality for undirected con-
nected graphs G = (V, E).
Definition 5.4.5 (Ruhnau’s vertex centrality axioms). Let G = (V, E) be
an undirected and connected graph with |V | = n and let cV : V → . cV is called
a vertex-centrality if
1. cV (i) ∈ [0, 1] for all i ∈ V and
2. cV (i) = 1 if and only if G is a star with n vertices and i the central vertex
of it.
(Note: Ruhnau calls this a node centrality. For consistency with the rest of the
chapter we used the equivalent term vertex centrality here.)
The property of being a vertex-centrality may be very useful when comparing
vertices of different graphs. To see this, compare the central vertex of a star of
order n with any vertex in a complete graph of order n. Both have a degree of
n − 1, but intuitively the central vertex of a star has a much more prominent
role in the graph than any of the vertices in a complete graph.
Freeman [226] showed that the betweenness centrality satisfies the conditions
of the above definition. Due to the fact that the eigenvector centrality normalized
by√the Euclidean norm has the property that the maximal attainable value is
1/ 2 (independent of n), and that it is attained exactly √ at the center of a star
(see [465]), it is also a vertex-centrality (multiplied by 2). For more information
about normalization, see Section 5.1.

5.5 Stability and Sensitivity

Assume that a network is modified slightly for example due to the addition of a
new link or the inclusion of a new page in case of the Web graph. In this situation
the ‘stability’ of the results are of interest: does the modification invalidate the
computed centralities completely?
In the following subsection we will discuss the topic of stability for distance
based centralities, i.e., eccentricity and closeness, introduce the concept of stable,
5 Advanced Centrality Concepts 105

quasi-stable and unstable graphs and give some conditions for the existence of
stable, quasi-stable and unstable graphs.
A second subsection will cover Web centralities and present results for the
numerical stability and rank stability of the centralities discussed in Section 3.9.3.

5.5.1 Stability of Distance-Based Centralities


In Section5.4.1 we considered the axiomatization of connected undirected graphs
G = (V, E) and presented two definitions for distance-based vertex centralities.
Moreover, we denoted by Sc (G) = {u ∈ V : ∀v ∈ V c(u) ≥ c(v)} the set of
maximum centrality vertices of G with respect to a centrality c and we studied
the change of the centrality values if we add an edge (u, v) between two distinct
non-adjacent vertices in G. In this section we focus on the stability of the center
Sc (G) with respect to this graph operation (cf. Condition 5 of Definition 5.4.1).
Let u ∈ Sc (G) be a central vertex with respect to c, and (u, v) ∈ / G. Then
the insertion of an edge (u, v) to G yields a graph H = (V, E ∪ (u, v)). Regarding
Sc (H) two cases can occur, either

Sc (H) ⊆ Sc (G) ∪ {v} (5.9)

or

Sc (H) '⊆ Sc (G) ∪ {v} (5.10)

for every vertex v ∈ V . Kishi [357] calls a graph for which the second case
(Equation 5.10) occurs an unstable graph with respect to c. Figures 5.2 and 5.3
in Section 5.4.1 show unstable graphs with respect to the eccentricity and the
closeness centrality. The first case (Equation 5.9) can be further classified into

Sc (H) ⊆ Sc (G) and u ∈ Sc (H) (5.11)

and

Sc (H) '⊆ Sc (G) or u ∈


/ Sc (H) (5.12)

A graph G is called a stable graph if the first case (Equation 5.11) occurs,
otherwise G is called a quasi-stable graph. The definition of stable graphs with
respect to c encourages Sabidussi’s claim [500] that an edge added to a central
vertex u ∈ Sc (G) should strengthen its position.
In Figure 5.4 an example for a quasi-stable graph with respect % to closeness
centrality is shown. For each vertex the status value s(u) = v∈V d(u, v) is
indicated. Adding the edge (u, v) leads to a graph with a new central vertex v.
In [357] a more generalized form of closeness centrality is presented by Kishi:
The centrality value cGenC (u) of a vertex u ∈ V is
1
cGenC (u) = %∞ (5.13)
k=1 ak nk (u)
106 D. Koschützki et al.

44 42

29 u 27 u

40 34 40 34

33 33
39 39

48 48
32 v
26
v

Fig. 5.4. A quasi-stable graph with respect to the closeness centrality. The values
indicate the total distances s(u). After inserting the edge (u, v) the new median is
vertex v

where nk (u) is the number of vertices whose distance from u is k and each ak is
a real constant. With ak = k it is easy to see that
1 1
%∞ =% = cC (u).
k=1 ak nk (u) v∈V d(u, v)

Kishi and Takeuchi [358] have shown under which conditions there exists
a stable, quasi-stable, and unstable graph for generalized centrality functions
cGenC of the form in Equation 5.13:
Theorem 5.5.1. For any generalized vertex centrality cGenC of the form in
Equation 5.13 holds:
1. if a2 < a3 , then there exists a quasi-stable graph, and
2. if a3 < a4 , then there exists an unstable graph.
Theorem 5.5.2. Any connected undirected graph G is stable if and only if the
generalized vertex centrality cGenC given in Equation 5.13 satisfies a2 = a3 .
Moreover, G is not unstable if and only if cGenC satisfies a3 = a4 .
Sabidussi has shown in [500] that the class of undirected trees are stable
graphs with respect to the closeness centrality.
Theorem 5.5.3. If an undirected graph G forms a tree, then G is stable with
respect to the closeness centrality.

5.5.2 Stability and Sensitivity of Web-Centralities


First, we consider stability with respect to the centrality values, later on we
report on investigations on the centrality rank. We call the former numerical
stability and the latter rank stability.
5 Advanced Centrality Concepts 107

Numerical Stability. Langville and Meyer [378] remark that it is not reason-
able to consider the linear system formulation of, e.g., the PageRank approach
and the associated condition number3 , since it may be that the solution vector of
the linear system changes considerable but the normalized solution vector stays
almost the same. Hence, what we are looking for is to consider the stability of the
eigenvector problem which is the basis for different Web centralities mentioned
in Section 3.9.3.
Ng et al. [449] give a nice example showing that an eigenvector may vary con-
siderably even if the underlying network changes only slightly. They considered
a set of Web pages where 100 of them are linked to algore.com and the other
103 pages link to georgewbush.com. The first two eigenvectors (or, in more de-
tail, the projection onto their nonzero components) are drawn in Figure 5.5(a).
How the scene changes if five new Web pages linking to both algore.com and
georgewbush.com enter the collection is then depicted in Figure 5.5(b).

Bush(103) Bush&Gore(5)
1
Bush(103)
1

0 Gore(100)

0 Gore(100)
0 1
0 1

(a) (b)

Fig. 5.5. A small example showing instability resulting from perturbations of the
graph. The projection of the eigenvector is shown and the perturbation is visible as a
strong shift of the eigenvector

Regarding the Hubs & Authorities approach Ng et al. the authors give a
second example, cf. Figs 5.6(a) and 5.6(b). In the Hubs & Authorities algorithm
the largest eigenvector for S = AT A is computed. The solid lines in the figures
represent the contours of the quadratic form xT Si x for two matrices S1 , S2 as
well as the contours of the slightly (but equally) perturbed matrices. In both
figures the associated eigenvectors are depicted. The difference (strong shift in
the eigenvectors in the first case, almost no change in the eigenvectors in the

3
cond(A) = !A!!A−1 ! (for A regular)
108 D. Koschützki et al.

second case) between the two figures consists of the fact that S1 has an eigengap4
δ1 ∼ 0 whereas S2 has eigengap δ2 = 2. Hence in the case that the eigengap is
almost zero, the algorithm may be very sensitive about small changes in the
matrix whereas in case the eigengap is large the sensitivity is small.

(a) (b)

Fig. 5.6. A simple example showing the instability resulting from different eigengaps.
The position of the eigenvectors changes dramatically in the case of a small eigengap
(a)

Ng et al. also show this behavior theoretically


Theorem 5.5.4. Given S = AT A, let cHA-A be the principal eigenvector and
δ the eigengap of S. Assume d+ (i) ≤ d for every i ∈ V and let ε > 0. If the
Web graph is perturbed by adding or deleting at most k links from one page, k <
&√ √ '2
d + α − d , α = 4+εδ √

then the perturbed principal eigenvector c̃HA-A of
the perturbed matrix S̃ satisfies ,cHA-A − c̃HA-A ,2 ≤ ε.
Theorem 5.5.5. If S is a symmetric matrix with eigengap δ, then there exists
a perturbed version S̃ of S with ,S − S̃,F = O(δ) that causes a large (Ω(1))
change in the principal eigenvector.
&% % '1/2
(Note that ,X,F = i (x2
j ij ) denotes the Frobenius norm.)

If we consider the PageRank algorithm, then the first fact that we have to
note is that for a Markov chain having transition matrix P the sensitivity of the
principal eigenvector is determined by the difference of the second eigenvalue
to 1. As shown by Haveliwala and Kamvar [290] the second eigenvalue for the
PageRank-matrix with P having at least two irreducible closed subsets satisfies
4
Difference between the first and the second largest eigenvalue.
5 Advanced Centrality Concepts 109

λ2 = d. This is true even in the case that in Formula 3.43 the vector 1n is
substituted by any stochastic vector v, the so-called personalization vector, cf.
Section 5.2 for more information about the personalization vector.
Therefore a damping factor of d = 0.85 (this is the value proposed by the
founders of Google) yields in general much more stable results than d = 0.99
which would be desirable if the similarity of the original Web graph with its
perturbed graph should be as large as possible.
Ng et al. [449] proved
Theorem 5.5.6. Let U ⊆ V be the set of pages where the outlinks are changed,
cPR be the old PageRank score and cU
PR be the new PageRank score corresponding
to the perturbed situation. Then
2 $
,cPR − cU
PR ,1 ≤ cPR (i).
1−d
i∈U

Bianchini, Gori and Scarselli [61] were able to strengthen this bound. They
showed
Theorem 5.5.7. Under the same conditions as given in Theorem 5.5.6 it holds
2d $
,cPR − cU
PR ,1 ≤ cPR (i).
1−d
i∈U

(Note that d < 1.)

Rank Stability. When considering Web centralities, the results are in general
returned as a list of Web pages matching the search-query. The scores attained
by the Web pages are in most cases not displayed and hence the questions that
occurs is whether numeric stability also implies stability with respect to the rank
in the list (called rank-stability). Lempel and Moran [388] investigated the three
main representatives of Web centrality approaches with respect to rank-stability.
To show that numeric stability does not necessarily imply rank-stability they
used the graph G = (V, E) depicted in Figure 5.7. Note that in the graph any
undirected edge [u, v] represents two directed edges (u, v) and (v, u). From G two
different graphs Ga = (V, E ∪ {(y, ha )}) and Gb = (V, E ∪ {(y, hb )}) are derived
(they are not displayed). It is clear that the PageRank vector caPR corresponding
to Ga satisfies
0 < caPR (xa ) = caPR (y) = caPR (xb ),
and therefore caPR (ha ) > caPR (hb ).
Analogously in Gb we have

0 < cbPR (xa ) = cbPR (y) = cbPR (xb ),

hence cbPR (ha ) < cbPR (hb ).


Concluding we see that by shifting one single outlink from a very low-ranking
vertex y induces a complete change in the ranking:
110 D. Koschützki et al.

xa y xb

ha c hb

a1 a2 an bn b2 b1

Fig. 5.7. The graph G used for the explanation of the rank stability effect of PageRank.
Please note that for Ga a directed edge from y to ha is added and in the case of Gb
from y to hb

caPR (ai ) > caPR (bi ) and cbPR (ai ) < cbPR (bi ) ∀ i.

To decide whether an algorithm is rank-stable or not we have to define the


term rank-stability precisely. Here we follow the lines of Borodin et al. [87] and
[388]. Let G be a set of directed graphs and Gn the subset of G where all directed
graphs have n vertices.
Definition 5.5.8. 1. Given two ranking vectors r 1 and r 2 , associated to a
vertex-set of order n, the ranking-distance between them is defined by
n
1 $ r1 ,r2
dr (r 1 , r 2 ) = l
n2 i,j=1 ij
(
r ,r 1 2 1, ri1 < rj1 and ri2 > rj2
where lij =
0, otherwise

2. An algorithm A is called rank-stable on G if for each k fixed we have

lim max dr (A(G1 ), A(G2 )) −→ 0,


n→∞ G1 ,G2 ∈Gn
de (G1 ,G2 )≤k

where de (G1 , G2 ) = |(E1 ∪ E2 ) \ (E1 ∩ E2 )|.


Hence an algorithm A is rank-stable on G if for each k the effect on the
ranking of the nodes of changing k edges vanishes if the size of the node-set of
a graph tends to infinity.
Borodin et al. were able to show that neither the Hubs & Authorities algo-
rithm nor the SALSA method are rank-stable on the set of all directed graphs Ḡ.
However, they obtained a positive result by considering a special subset of
Ḡ, the set of authority connected directed graphs G ac :
5 Advanced Centrality Concepts 111

Definition 5.5.9. 1. Two vertices p, q ∈ V are called co-cited, if there is a


vertex r ∈ V satisfying (r, p), (r, q) ∈ E.
2. p, q are connected by a co-citation path if there exist vertices p = v0 , v1 , . . . ,
vk−1 , vk = q such that (vi−1 , vi ) are co-cited for all i = 1, . . . , k.
3. A directed graph G = (V, E) is authority connected if for all p, q satisfying
d− (p), d− (q) > 0 there is a co-citation path.
Lempel and Moran argue that it is reasonable to restrict the stability inves-
tigations to this subset of directed graphs due to the following observation:
– if p, q are co-cited then they cover the same subject,
– the relevance of p and q should be measured with respect to the same bar,
and
– there is no interest in answering questions like “is p a better geography resource
that q is an authority on sports?”
For authority connected subgraphs it holds that
– SALSA is rank-stable on G ac ,
– The Hubs & Authorities algorithm is not rank-stable on G ac , and
– PageRank is not rank-stable on G ac .
Note that the latter two results were obtained by Lempel and Moran [388].
With this result we finish the discussion of sensitivity and stability of Web
centralities. Interested readers are directed to the original papers shortly men-
tioned in this section.
6 Local Density

Sven Kosub

Actors in networks usually do not act alone. By a selective process of establish-


ing relationships with other actors, they form groups. The groups are typically
founded by common goals, interests, preferences or other similarities. Standard
examples include personal acquaintance relations, collaborative relations in sev-
eral social domains, and coalitions or contractual relationships in markets. The
cohesion inside these groups enables them to influence the functionality of the
whole network.
Discovering cohesive groups is a fundamental aspect in network analysis. For
a computational treatment, we need formal concepts reflecting some intuitive
meaning of cohesiveness. At a general level, the following characteristics have
been attributed to cohesive groups [569]:
– Mutuality: Group members choose each other to be included in the group. In
a graph-theoretical sense, this means that they are adjacent.
– Compactness: Group members are well reachable for each other, though not
necessarily adjacent. Graph-theoretically, this comes in two flavors: being well
reachable can be interpreted as having short distances or high connectivity.
– Density: Group members have many contacts to each other. In terms of graph
theory, that is group members have a large neighborhood inside the group.
– Separation: Group members have more contacts inside the group than outside.
Depending on the network in question, diverse concepts can be employed, in-
corporating cohesiveness characteristics with different emphases. Notions where
density is a dominant aspect are of particular importance.
Density has an outstanding relevance in social networks. On the one hand, re-
cent studies have found that social networks show assortative mixing on vertices
[441, 444, 446], i.e, they tend to have the property that neighbors of vertices with
high degree have also high degree. Assortative mixing is an expression of the typ-
ical observation that social networks are structured by groups of high density.1
On the other hand, there are several mathematical results demonstrating that
high density implies the other characteristics of cohesiveness. For instance, one
classical result [431] says that if each member of a group shares ties with at least
1
Assortativity is now considered as one statistical criterion separating social networks
and non-social networks [446]. For instance, some experimental analyses have shown
that in the Internet at the level of autonomous systems, the mean degree of the
neighbors of an autonomous system with k neighbors is approximately k−1/2 [468].
At this level, the Internet is disassortatively mixed.

U. Brandes and T. Erlebach (Eds.): Network Analysis, LNCS 3418, pp. 112–142, 2005.
c Springer-Verlag Berlin Heidelberg 2005
(
6 Local Density 113

a k1 -fraction of the other members of the group, then the tie distance within the
group is at most k. Results comparable to that can be proven for connectivity
as well. Here, however, the dependency from density is not as strong as in the
case of distances (see Chapter 7).
In this chapter, we survey computational approaches and solutions for dis-
covering locally dense groups. A graph-theoretical group property is local if it
is definable over subgraphs induced by the groups only. Locality does not cor-
respond to the above-mentioned separation characteristic of cohesiveness, since
it neglects the network outside the group. In fact, most notions that have been
defined to cover cohesiveness have a maximality condition. That is, they require
for a group to be cohesive with respect to some property Π, in addition to
fulfilling Π, that it is not contained in any larger group of the network that sat-
isfies Π as well. Maximality is non-local. We present the notions on the basis of
their underlying graph-theoretical properties and without the additional max-
imality requirements. Instead, maximality appears in connection with several
computational problems derived from these notions. This is not a conceptual
loss. Actually, it emphasizes that locality reflects an important hidden aspect of
cohesive groups: being invariant under network changes outside the group. Inte-
rior robustness and stability is an inherent quality of groups. Non-local density
notions and the corresponding algorithmic problems and solutions are presented
in Chapter 8. A short list of frequently used non-local notions is also discussed
in Section 6.4.
The prototype of a cohesive group is the clique. Since its introduction into
sociology in 1949 [401], numerous efforts in combinatorial optimization and al-
gorithms have been dedicated to solving computational problems for cliques.
Therefore, the treatment of algorithms and hardness results for clique problems
deserves a large part of this chapter. We present some landmark results in detail
in Section 6.1. All other notions that we discuss are relaxations of the clique
concept. We make a distinction between structural and statistical relaxations. A
characteristic of structural densities is that all members of a group have to satisfy
the same requirement for group membership. These notions (plexes, cores) ad-
mit strong statements about the structure within the group. Structurally dense
groups are discussed in Section 6.2. In contrast, statistical densities average over
members of a group. That is, the property that defines group membership needs
only be satisfied in average (or expectation) over all group members. In general,
statistically dense groups reveal only few insights into the group structure. How-
ever, statistical densities can be applied under information uncertainty. They are
discussed in Section 6.3.
All algorithms are presented for the case of unweighted, undirected simple
graphs exclusively. Mostly, they can be readily translated for directed or weighted
graphs. In some exceptional cases where new ideas are needed, we mention these
explicitly.
114 S. Kosub

6.1 Perfectly Dense Groups: Cliques

The graph with perfect cohesion is the clique [401].


Definition 6.1.1. Let G = (V, E) be an undirected graph. A subset U ⊆ V is
said to be a clique if and only if G[U ] is a complete graph.
In a clique, each member has ties with each other member. A clique U is a
maximal clique in a graph G = (V, E) if and only if there is no clique U $ in G
with U ⊂ U $ . A clique is a maximum clique in graph G if and only if it has
maximum cardinality among all cliques in G.
The striking reasons for perfectness of cliques as cohesive structures are ob-
vious:
1. Cliques are perfectly dense, i.e., if U is a clique of size k, then δ(G[U ]) =
¯
d(G[U ]) = ∆(G[U ]) = k − 1. A higher degree is not possible.
2. Cliques are perfectly compact, i.e., diam(G[U ]) = 1. A shorter distance
between any two vertices is not possible.
3. Cliques are perfectly connected, i.e., if U is a clique of size k, then U is
(k − 1)-vertex-connected and (k − 1)-edge-connected. A higher connectivity
is not possible.
The structural properties of a clique are very strong. In real-world settings,
large cliques thus should be rarely observable. The famous theorem of Turán
[554] gives precise sufficient conditions for the guaranteed existence of cliques of
certain sizes with respect to the size of the entire network.
Theorem 6.1.2 (Turán, 1941). Let G = (V, E) be an undirected graph. If
2

k−1 , then there exists a clique of size k within G.


m > n2 · k−2
An immediate consequence of this theorem is that a network itself needs to
be dense in order to surely possess a large clique. However, as social networks
are usually sparse, we have no a priori evidence for the existence of a clique.
Identifying cliques becomes an algorithmic task. Note that, as we will see below,
even if we knew that there is a clique of a certain size in a network, we would
not be able to locate it in reasonable time.
Maximal cliques do always exist in a graph. In fact, there are many of them
and they tend to overlap, i.e., in general it can be the case that maximal cliques
U1 and U2 exist satisfying U1 '= U2 and U1 ∩ U2 is non-empty. Another classical
result due to Moon and Moser [432] gives a tight estimation of the number of
maximal cliques:
Theorem 6.1.3 (Moon and Moser, 1965). Every undirected graph G
n
with n vertices has at most 3) 3 * maximal cliques.
In reality, the expected enormous number of maximal cliques leads to the serious
problem of how to identify the more important ones among them. There are
only few algorithmic techniques available providing helpful interpretation of the
6 Local Density 115

maximal-clique collection. Prominent examples for methods are based on the


co-membership matrix or the clique overlap centrality [192].
The family of all cliques of a certain graph shows some structure:
1. Cliques are closed under exclusion, i.e., if U is a clique in G and v ∈ U , then
U − {v} is also a clique.2
2. Cliques are nested, i.e., each clique of size n contains a clique of size n − 1
(even n cliques of size n − 1). Though this is an immediate consequence of
the closure under exclusion, it is a property to be proved for related notions
that are not closed under exclusion.

Distance-based cliques. There is a number of approaches to generalize the notion


of a clique that are relevant in several settings of social-network theory. We list
some of them [400, 14, 429]. Let G = (V, E) be an undirected graph, let U be a
vertex subset of V , and let N > 0 be any natural number.
1. U is said to be an N -clique if and only if for all u, v ∈ U , dG (u, v) ≤ N .
2. U is said to be an N -club if and only if diam(G[U ]) ≤ N .
3. U is said to be an N -clan if and only if U is a maximal N -clique and
diam(G[U ]) ≤ N .
N -cliques are based on non-local properties, as the distance between vertices
u and v is measured with respect to graph G, and not with respect to G[U ].
An immediate consequence is that N -cliques need not be connected for N > 1.
Though clubs and clans are local structures (except the maximality condition),
they are of minor interest in our context, since they emphasize distances rather
than density. Moreover, there has been some criticism of distance-based cliques,
which was sparked off by at least two facts (cf., e.g., [514, 189]). First, in many
cases real-world networks have globally a small diameter, thus, the distance is
a rather coarse measure to identify meaningful network substructures. Second,
distance-based cliques are in general neither closed under exclusion nor nested.

6.1.1 Computational Primitives


In many respects, cliques are simple objects, easily manageable from an algo-
rithmic point of view. We have fast algorithms with run-time O(n + m) at hand
for several computational primitives:
1. Determine if a given set U ⊆ V of vertices is a clique in G. We simply test
whether
) * each pair of vertices of U is an edge in G. Note that these are up
to n2 pairs, but even if we have much fewer edges, after testing m pairs we
are done in any case.
2. Determine if a given clique U ⊆ V is maximal in G. We simply test whether
there exists a vertex in V − U which is adjacent to all vertices in U . Again,
after testing m edges we are done in the worst case.
2
In graph theory, a property Π is called hereditary if and only if, whenever a graph
satisfies Π, so does every induced subgraph. Being a clique is a hereditary property
of graphs.
116 S. Kosub

Another efficiently computable primitive is finding some maximal clique. For


later use, we state this in a more general form. Suppose that the vertex set V
of a graph G = (V, E) is ordered. We say that a set U ⊆ V is lexicographically
smaller than a set U $ ⊆ V if and only if the first vertex that is not in both U
and U $ belongs to U . Our third primitive is the following:
3. Compute the lexicographically smallest maximal clique containing some clique
U $ . We start with setting U := U $ , iterate over all v ∈ V − U in increasing
order, and test for each v whether U ⊆ N (v); if this is the case then add ver-
tex v to U . After completing the iteration, U is a maximal clique containing
U $ . This works in time O(n + m).
Algorithmic difficulties appear only when we are interested in finding cliques
of certain sizes or maximum cliques. For these problems, no algorithms with
running times comparable to the one above are known (and, probably, no such
algorithms exist).

6.1.2 Finding Maximum Cliques


We discuss several aspects of the maximum clique problem. Of course, it is easy
to compute a clique of maximum size, if we do not care about time. The obvious
approach is exhaustive search. In an exhaustive search algorithm, we simply
enumerate all possible candidate sets U ⊆ V and examine if U is a clique. We
output the largest clique found. A simple estimation gives a worst-case upper
bound O(n2 · 2n ) on the time complexity of the algorithm.

Computational hardness. The problem arises whether we can improve the ex-
haustive search algorithm significantly with respect to the amount of time.
Unfortunately, this will probably not be the case. Computationally, finding a
maximum clique is an inherently hard problem. We consider the corresponding
decision problem:

Problem: Clique
Input: Graph G, Parameter k ∈
Question: Does there exist a clique of size at least k within G?

Let ω(G) denote the size of a maximum clique of a graph G. Note that if we have
an algorithm that decides Clique in time T (n) then we are able to compute
ω(G) in time O(T (n) · log n) using binary search. The other way around, any
T (n) algorithm for computing ω(G), gives a T (n) algorithm for deciding Clique.
Thus, if we had a polynomial algorithm for Clique, we would have a polyno-
mial algorithm for maximum-clique sizes, and vice versa. However, Clique was
among the first problems for which N P-completeness was established [345].
Theorem 6.1.4. Clique is N P-complete.
6 Local Density 117

Proof. Note that testing whether some guessed set is a clique is possible in
polynomial time. This shows the containment in N P. In order to prove the
N P-hardness, we describe a polynomial-time transformation of Satisfiability
into Clique. Suppose we are given a Boolean formula H in conjunctive normal
form consisting of m clauses C1 , . . . , Ck . For H we construct a k-partite graph
GH where vertices are the literals of H labeled by their clause, and where edges
connect literals that are not negations of each other. More precisely, define GH =
(VH , EH ) to be the following graph:
" + #
VH =def (L, i) + i ∈ {1, . . . , k} and L is a literal in clause Ci
" + #
EH =def {(L, i), (L$ , j)} + i '= j and L '= ¬L$

Clearly, the graph GH can be computed in time polynomial in the size of the
formula H. We show that H is satisfiable if and only if the graph GH contains
a clique of size k.
Suppose that H is satisfiable. Then there exists a truth assignment to vari-
ables x1 , . . . , xn such that in each clause at least one literal is true. Let L1 , . . . , Lk
be such literals. Then, of course, it must hold that Li '= ¬Lj for i '= j. We thus
obtain that the set {(L1 , 1), . . . , (Lk , k)} is a clique of size k in GH .
Suppose now that U ⊆ VH is a clique of size k in graph GH . Since GH is
k-partite, U contains exactly one vertex from each part of VH . By definition of
set VH , we have that for all vertices (L, i) and (L$ , j) of U , L '= ¬L$ whenever
i '= j. Hence, we can assign truth values to variables in such a way that all
literals contained in U are satisfied. This gives a satisfying truth assignment to
formula H. 4
3
So, unless P = N P, there are no algorithms with a running time polynomial
in n for solving Clique with arbitrary clique size or computing the maximum
clique. On the other hand, even if we have a guarantee that there is a clique of
size k in graph G, then we are not able to find it in polynomial time.
Corollary 6.1.5. Unless P = N P, there is no algorithm running in polynomial
time to find a clique of size k in a graph which is guaranteed to have a clique of
size k.
Proof. Suppose we have an algorithm A that runs in polynomial time on each
input (G, k) and outputs a clique of size k, if it exists, and behaves in an arbitrary
way in the other cases. A can be easily modified into an algorithm A$ that decides
Clique in polynomial time. On input (G, k), run algorithm A, if A produces no
output, then reject the instance. If A outputs a set U , then test whether U is
a clique. If so, accept, otherwise reject. This procedure is certainly polynomial
time. 4
3
Note that the hardness of finding the hidden clique does not depend on the size
of the clique. Even very large hidden cliques (of size (1− ε)n for ε > 0) cannot be
found unless P = N P (see, e.g., [308, 37]). The situation becomes slightly better
if we consider randomly chosen graphs, i.e., graphs where each edge appears
118 S. Kosub

with probability 12 . Suppose we additionally place at random a clique of size k


in such a random graph√of size n. How fast can we find this clique? It has been
observed that, if k = Ω( n log n), then almost surely the k vertices with highest
degree form the clique [374]. This gives a trivial O((n + m) log n) algorithm
(which can be improved to an √O(n + m) algorithm with a technique discussed in
Theorem 6.2.7). For k = Ω( n), algorithms based on spectral techniques have
been proven to find hidden cliques of size k in polynomial time [22] (even in
some weaker random graph models [202]). However, many natural algorithmic √
techniques do not achieve the goal of finding hidden cliques of size k = o( n)
[328].

Better exponential algorithms. Even though we will probably never have a


polynomial-time algorithm for finding maximum cliques, we can try to design
fast, super-polynomial algorithms. Exhaustive search gives the upper bound
O(n2 · 2n ), or O∗ (2n ) when omitting polynomial factors. Our goal is to de-
sign algorithms having running times O∗ (β n ) with β as small as possible. The
following theorem that can be found in [590] shows that we can do better than
exhaustive search.
Theorem 6.1.6. There exists an algorithm for computing a maximum clique in
time O∗ (1.3803n ).
Sketch of Proof. We use a backtracking scheme with pruning of the recursion
tree. Let G be a graph having n vertices and m edges. Let v ∈ V be any
vertex of minimum degree. If δ(G) ≥ n − 3 then the graph misses collections of
pairwise disjoint cycles and paths, for being a complete graph. In this case, it
is fairly easy to compute a maximum clique in O(n + m).3 Assume that there
is a vertex v with degree dG (v) ≤ n − 4. Every maximum clique either contains
v or not. Corresponding to these two cases, a maximum clique of G is either
{v} combined with a maximum clique of the induced subgraph G[N (v)] or a
maximum clique of the induced subgraph G[V − {v}]. We recursively compute
maximum cliques in both subgraphs and derive from them a solution for G
(breaking ties arbitrarily). The worst-case time T (n) essentially depends on the
following recursive inequality:

T (n) ≤ T (n − 4) + T (n − 1) + c · (n + m) for some c > 0

Using standard techniques based on generating functions, we calculate that T (n)


is within a polynomial factor of β n where β ≈ 1.3803 is the largest real zero of
the polynomial β 4 − β 3 − 1. 4
3

3
It might be easier to think of independent sets rather than cliques. An independent
set in a graph G is a set U of vertices such that G[U ] has no edges. A clique in graph
G corresponds to an independent set in graph G, where in G exactly those vertices
are adjacent that are not adjacent in G. Independent sets are a little bit easier to
handle, since we do not have to reason about edges that are not in the graph. In
fact, many algorithms in the literature are described for independent sets.
6 Local Density 119

The intuitive algorithm in the theorem captures the essence of a series of fast
exponential algorithms for the maximum clique problem. It started with an
O∗ (1.286n) algorithm [543] that follows essentially the ideas of the algorithm
above. This algorithm has been subsequently improved to O∗ (1.2599n ) [545],
by using a smart and tedious case analysis of the neighborhood around a low-
degree vertex. The running time of the algorithm has been further improved
to O∗ (1.2346n) [330], and, using combinatorial arguments on connected regular
graphs, to O∗ (1.2108n) [495]. Unfortunately, the latter algorithm needs expo-
nential space. This drawback can be avoided: there is a polynomial-space algo-
rithm with a slightly weaker O∗ (1.2227n) time complexity [54]. A non-trivial
lower bound on the basis of the exponential is still unknown (even under some
complexity-theoretic assumptions).

6.1.3 Approximating Maximum Cliques


Since we are apparently not able to compute a maximum clique in moderate time,
we could ask up to what size we can recognize cliques in justifiable time. Recall
that ω(G) denotes the size of the largest clique in G. We say that an algorithm
approximates ω(G) within factor f (n) if and only if the algorithm produces,
on input G, a clique U in G such that ω(G) ≤ f (n) · |U |. Note that, since a
maximum clique consists of at most n vertices, we can trivially approximate
maximum clique within factor O(n), simply by outputting some edge, if there
is one in the graph. With a lot of work and combinatorial arguments, we arrive
at the next theorem [79], which is unfortunateley not very much better than the
trivial ratio.
Theorem 6.1.7. There exists a polynomial-time algorithm & whose' output, for
graph G with n vertices, is a clique of size within factor O (lognn)2 of ω(G).

The approximation ratio stated in the theorem is the best known. The follow-
ing celebrated result [287] indicates that in fact, there is not much space for
improving over that ratio.
Theorem 6.1.8. Unless N P = ZPP,4 there exists no polynomial-time algo-
rithm whose output for a graph G with n vertices is a clique of size within factor
n1−ε of ω(G) for any ε > 0.
The complexity-theoretic assumption used in the theorem is almost as strong as
P = N P. The inapproximability
& ' result has been strengthened
& 'to subconstant
values of ε, first to O √log log n [177] and further to O (log n)γ [353] for some
1 1

γ > 0. These results are based on much stronger complexity assumptions – es-
sentially, that no N P-complete problem can be solved by randomized algorithms
O(1)
with quasi-polynomial running time, i.e., in time 2(log n) . Note that the ratio
4
ZPP is the class of all problems that can be solved with randomized algorithms
running in expected polynomial time while making no errors. Such algorithms are
also known as (polynomial-time) Las Vegas algorithms.
120 S. Kosub
& '
n
(log n)2is expressible as Ω logloglogn n in terms of ε. The gap between the lower
bound and the upper bound for approximability is thus pretty close.
Also many heuristic techniques for finding maximum cliques have been pro-
posed. They often show reasonable behavior, but of course, they cannot improve
over the theoretical inapproximability ratio. An extensive discussion of heuristics
for finding maximum cliques can be found in [70].
In the random graph model, we known that, with high probability, ω(G)
is either (2 + o(1)) log n rounded up or rounded down, for a random graph of
size n (see, e.g., [24]). There are several polynomial-time algorithms producing
cliques of size (1+o(1)) log n, i.e., they achieve an approximation ratio of roughly
two [263]. However, it is conjectured that there is no polynomial-time algorithm
outputting a clique of size at least (1 + ε) log n for any ε > 0 [328, 347].

6.1.4 Finding Fixed-Size Cliques


In many cases, it might be appropriate to search only for cliques of bounded
sizes. Technically that is, we consider the clique size not as part of the input.
For instance, exhaustive search has running time Θ(nk ) when the clique size k
is fixed. A nice trick helps us to obtain an algorithm for detecting cliques of size
three (triangles) faster than O(n3 ). The idea to the algorithm in the following
theorem can be found in [321].
Theorem 6.1.9. There exists an algorithm for testing a graph for triangles that
runs in time O(n2.376 ).
Proof. Let G be any graph with n vertices. Let A(G) denote the adjacency
matrix of G, i.e., entry aij of A(G) is one if vertices vi and vi are adjacent, and
zero otherwise. Consider the matrix A(G)2 = A(G) · A(G) where · is the usual
matrix multiplication. The entry bij of the matrix A(G)2 is exactly the number
of walks of length two between vi and vj . Suppose there exists an entry bij ≥ 1.
That is, there is at least one vertex u ∈ V different to vi and vj which is adjacent
to both vi and vj . If the graph G has an edge {vi , vj }, then we know that G
contains the triangle {vi , vj , u}. Thus, an algorithm for triangle-testing simply
computes A(G)2 and checks whether there exists an edge {vi , vj } for some non-
zero entry bij in A(G)2 . Since fast square matrix multiplication can be done in
time O(nα ) where α < 2.376 [132], the algorithm runs in time O(n2.376 ). 4
3
Note that for sparse graphs there is an even faster algorithm running in time

O(m α+1 ) = O(m1.41 ) for finding triangles which makes use of the same technique
[26] (see also Section 11.5).
Once we have reached this point, we would like to apply the matrix-
multiplication technique to come up with algorithms for clique size larger than
three as well. However, the direct argument does not work for some reasons. For
instance, there exists always a walk of length three between adjacent vertices.
This makes the matrix A(G)3 and all higher powers ambiguous. We need a more
sophisticated approach [174, 440].
6 Local Density 121

Theorem 6.1.10. For every k ≥ 3 there exists an algorithm for finding a clique
of size k in a graph with n vertices that runs in time O(nβ(k) ) where β(k) =
α(6k/37, 8(k − 1)/39, 8k/39) and multiplying an nr × ns -matrix with an ns × nt -
matrix can be done in time O(nα(r,s,t) ).
Proof. Let k1 denote 6k/37, let k2 denote 8(k −1)/39, and let k3 denote the value
8k/39. Note that k = k1 +k2 +k3 . Let G be any graph with n vertices and m edges.
We first construct a tripartite auxiliary graph G̃ as follows: the vertex set Ṽ is
divided into three sets Ṽ1 , Ṽ2 , and Ṽ3 where Ṽi consists of all cliques of size ki in G.
Define two vertices U ∈ Ṽi and U $ ∈ Ṽj to be adjacent in G̃ if and only if i '= j and
U ∪U $ is a clique of size ki +kj in G. The algorithm now tests the auxiliary graph
G̃ for triangles. If there is such a triangle {U1 , U2 , U3 }, then the construction of
G̃ implies that U1 ∪ U2 ∪ U3 is a clique of size k in G. Testing the graph G̃ for
triangles can be done by matrix multiplication as described in Theorem 6.1.9.
However, we now have to multiply an nk1 × nk2 adjacency matrix, representing
edges between Ṽ1 and Ṽ2 , with an nk2 ×nk3 adjacency matrix, representing edges
between Ṽ2 and Ṽ3 . This step can be done in time O(nβ(k) ). Computing the
2k
three matrices needs in the worst case O(nmax{k1 +k2 ,k1 +k3 ,k2 +k3 } ) = O(n) 3 * ),
which is asymptotically dominated by the time for the fast rectangular matrix
multiplication [318]. 4
3
We give an impression of the algorithmic gain of using matrix multiplication
(see, e.g., [260]).
Clique size Exhaustive search Matrix multiplication
3 O(n3 ) O(n2.376 )
4 O(n4 ) O(n3.376 )
5 O(n5 ) O(n4.220 )
6 O(n6 ) O(n4.751 )
7 O(n7 ) O(n5.751 )
8 O(n8 ) O(n6.595 )
The theorem has a nice application to the membership counting problem for
cliques of fixed size. The following result is due to [260].
Theorem 6.1.11. For every k ≥ 3, there exists an algorithm that counts the
number of cliques of size k to which each vertex of a graph on n vertices belongs,
in time O(nβ(k) ) where β(k) is the same function as in Theorem 6.1.10.
Proof. The theorem is based on the observation that for the case k = 3 (see
Theorem 6.1.9), it is not only easy to check whether two vertices vi and vj
belong to some triangle in G, but also to compute in how many triangles they
lie: if the edge {vi , vj } exists in G, then the number is just the entry bij in
the square of the adjacency matrix A(G). In general, we apply this observation
to the auxiliary graph G̃. For any vertex v ∈ V , let Ck (v) denote the number
of different cliques of size k in G in which v is contained. Similarly, let C̃3 (U )
denote the number of triangles to which node U of G̃ belongs. Notice that U is a
clique in G of size smaller than k. Clearly, cliques of G of size k may have many
122 S. Kosub

representations in graph G̃. The exact number is the number of partitionings


) * of
a set of cardinality k into sets of cardinalities k1 , k2 , and k3 , i.e., k1 ,kk2 ,k3 where
k1 , k2 , and k3 are defined as in the proof of Theorem 6.1.10. Without loss of
generality, let k1 be the minimum of these three parameters. Let U(v) be the set
of all cliques U of size k1 in G such that v ∈ U . We then obtain the following
equation:
$ , -
(k − 1)
C̃3 (U ) = · Ck (v) (6.1)
(k1 − 1), k2 , k3
U∈U (v)

Clearly, using Theorem 6.1.10, the left-hand side of this equation can be com-
puted in time O(nβ(k) ) (first, compute the matrices and second, search entries
for all U containing v). We now easily calculate Ck (v) from Equation 6.1. 4
3
A recent study of the corresponding decremental problem [260], i.e., the scenario
where starting from a given graph vertices and edges can be removed, has shown
that we can save roughly n0.8 time compared to computing the number of size-k
cliques to which the vertices belong each time from the scratch. For example,
the problem of counting triangles in a decremental setting now takes O(n1.575 ).

Fixed-parameter tractability. A way to study which time bounds we might ex-


pect for fixed-parameter clique problems is parameterized complexity [168]. The
goal here is to figure out which input parameter makes a problem computation-
ally hard. We say that a parameterized problem (with parameter k) is fixed-
parameter tractable if and only if there is an algorithm for the problem that
needs time polynomial in input size n, if k is fixed, and which is asymptotically
independent of k. More precisely, the time complexity of the algorithm has the
form O(f (k) · p(n)) where p is some polynomial independent of k and f is an
arbitrary function independent of n. Note that the algorithm above does not
satisfy such a bound. A good bound would be, e.g., O(k k · n2 ). However, we
are far from proving such bounds, and in fact, we should not even expect to
obtain such algorithms. Let F PT denote the class of fixed-parameter tractable
problems. We know that parameterized Clique is complete for the class W[1],
a superclass of F PT [167]. However, it is widely believed that F PT '= W[1],
which would imply both P '= N P and Clique is not fixed parameter tractable.

6.1.5 Enumerating Maximal Cliques


Enumerative algorithms for the clique problem have some tradition (cf., e.g.,
[70]), with probably the first appearing already in 1957 [284]. Several other,
now classical, algorithms were proposed (e.g., [473, 103]). Most recently, also
algorithms for the dynamic graph setting have been investigated [534].
We are interested in having efficient algorithms for enumerating maximal
cliques. There are some gradations in the meaning of ‘efficient.’ Most of the in-
teresting combinatorial problems have an exponential number of configurations;
n
in our case indicated by the 3) 3 * matching upper bound for the number of max-
imal cliques. A typical requirement for an enumerative algorithm to be efficient
6 Local Density 123

is polynomial total time. That is, the algorithm outputs all C possible configu-
rations in time bounded by a polynomial in C and the input size n. Exhaustive
search is not polynomial total time. In contrast, one of the classical algorithms
[473] first runs O(n2 C) steps with no output and then outputs all C maximal
cliques all at once. However, an algorithm for the enumeration of all maximum
cliques that runs in polynomial total time does not exist, unless P = N P [382].
We next review enumerative algorithms for maximal cliques with polynomial
total time having some further desirable properties.

Polynomial delay. An algorithm fulfilling this condition generates the configu-


rations, one after the other in some order, in such a way that the delay until
the first output, the delay between any two consecutive configurations, and the
delay until it stops after the last output is bounded by a polynomial in the input
size. For maximal cliques we know such algorithms that in addition, require only
linear space [553].
Theorem 6.1.12. There is an algorithm enumerating all maximal cliques of a
graph with polynomial delay O(n3 ) using only O(n + m) space.
Proof. We construct a binary tree with n levels and leaves only at level n. Each
level is associated with a vertex, i.e., at level i we consider vertex vi . The nodes
of the tree at level i are all maximal cliques of G[{v1 , . . . , vi }]. It immediately
follows that the leaves are exactly the maximal cliques of G. Fix level i and
maximal clique U in G[{v1 , . . . , vi }]. We want to determine the children of U at
level i + 1. We have two main cases:
1. Suppose all vertices of U are adjacent to vi+1 in G. Then U ∪ {vi+1 } is
maximal clique in G[{v1 , . . . , vi , vi+1 }]. Note that this is the only way to
obtain a maximal clique of G[{v1 , . . . , vi , vi+1 }] that contains U . In this case
U has only one child in the tree.
2. Suppose there is a vertex in U not adjacent to vi+1 in G. Here, we can
obtain maximal cliques in G[{v1 , . . . , vi , vi+1 }] in two different ways: U itself
is certainly a maximal clique, and another clique is (U − N (vi+1 )) ∪ {vi+1 },
where N (vi+1 ) are all vertices of G not adjacent to vi+1 . If the latter set
is a maximal clique, U would have two children. However, as the set (U −
N (vi+1 )) ∪ {vi+1 } is potentially a child of several sets, we define it to be the
child of the lexicographically smallest set U , if it is maximal.
By this definition, we have a tree where all internal nodes have one or two
children, thus a binary tree, and all leaves are at level n.
Our enumerative algorithm now simply traverses the tree using a depth-first
search and outputs all leaves. All we need to be able to perform the computation,
given a node U of the tree at level i, is the following:
– Parent(U, i): According to the definition of the tree, the parent node of U is
the lexicographically smallest maximal clique in G[{v1 , . . . , vi−1 }] containing
the clique U − {vi }. This is one of our efficiently computable primitives: the
set can be computed in time O(n + m).
124 S. Kosub

– LeftChild(U, i): If U ⊆ N (vi+1 ) (the first case above), then the left child is
U ∪ {vi+1 }. If U '⊆ N (vi+1 ) (one part of the second case above), then the left
child is U . Checking which case has to be applied needs O(n + m) time.
– RightChild(U, i): If U ⊆ N (vi+1 ), then there is no right child defined.If U '⊆
N (vi+1 ), then the right child of U is (U − N (vi+1 )) ∪ {vi+1 } if it is a maximal
clique and U = Parent((U − N (vi+1 )) ∪ {vi+1 }, i + 1), otherwise the right child
is not defined. Note that we only need O(n + m) processing time.
The longest path between any two leaves in the tree is 2n − 2 passing through
2n − 1 nodes. For each node we need O(n + m) time. Since any subtree of our
tree has a leaf at level n, this shows that the delay between outputs is O(n3 ).
Note that the algorithm only needs to store while processing a node, the set U ,
the level i, and a label indicating whether it is the left or the right child. Hence,
the amount of space is O(n + m). 4
3

Specified order. A more difficult problem is generating maximal cliques in a


specific order, such as lexicographic order. If we only insist in polynomial total
time, this is obviously not a restriction, since we need only collect all outputs
and sort them for outputting in lexicographic order. Considering orders is only
interesting in the case of polynomial delay. Note that the DFS-based polynomial-
delay algorithm in Theorem 6.1.12 does not produce its outputs in lexicographic
order. Another DFS-based algorithm [395] has been proposed that produces the
outputs in lexicographic order but is not polynomial delay. We first observe that
it is not obvious how to break the tradeoff.

Theorem 6.1.13. Deciding for any given graph G and any maximal clique U
of G, whether there is a maximal clique U $ lexicographically larger than U , is
N P-complete.
The theorem is proven by a polynomial transformation from Satisfiability
[334]. It has some immediate consequences, e.g., it rules out polynomial-delay
algorithms with respect to inverse lexicographic order.
Corollary 6.1.14. 1. Unless P = N P, there is no algorithm that generates
for any given graph G and any maximal clique U in G the lexicographically
next maximal clique in polynomial time.
2. Unless P = N P, there is no algorithm that generates for any given graph
all maximal cliques in inverse lexicographic order with polynomial delay.
It might seem surprising that algorithms exist generating all maximal cliques
in lexicographic order, with polynomial delay. The idea of such an algorithm
is simply that while producing the current output, we invest additional time
in producing lexicographically larger maximal cliques. We store these cliques
in a priority queue Q. Thus, Q contains a potentially exponential number of
cliques and requires potentially exponential space. The following algorithm has
been proposed in [334] and uses in a clever way the tree structure employed in
Theorem 6.1.12.
6 Local Density 125

Algorithm 9: Lexicographic enumeration of maximal cliques [334]


Input: Graph G = (V, E)
Output: Sequence of maximal cliques of G in lexicographic order
Let U0 be the lexicographically first maximal clique;
Insert U0 into priority queue Q;
while Q is not empty do
U :=ExtractMin(Q);
Output U ;
foreach vertex vj of G not adjacent to some vertex vi ∈ U with i < j do
Uj := U ∩ {v1 , . . . , vj };
if (Uj − N (vj )) ∪ {vj } is a maximal clique in G[{v1 , . . . , vj }] then
Let T be the lexicographically smallest maximal clique which
contains (Uj − N (vj )) ∪ {vj };
Insert T into Q

Theorem 6.1.15. Algorithm 9 enumerates all maximal cliques of a graph with


n vertices in lexicographic order, and with delay O(n3 ).
Proof. For the correctness of the algorithm, first observe that the set T being
inserted into Q when considering U is lexicographically greater than U . Thus,
we store only sets into the queue that have to be output after U . Hence, the
sequence of maximal cliques we produce is indeed lexicographically ascending.
We also have to show that all maximal cliques are in the sequence. We do this
by proving inductively: if U is the lexicographically first maximal clique not yet
output, then U is in Q.
Base of induction: Suppose U = U0 . Then the statement is obviously true.
Step of induction: Suppose U is lexicographically greater than U0 . Let j be
the largest index such that Uj = U ∩ {v1 , . . . , vj } is not a maximal clique in the
graph restricted to vertices v1 , . . . , vj . Such an index must exist, since otherwise
we would have U = U0 . Moreover, we have that j < n, since U is a maximal
clique in the whole graph G. By maximality of j, we must have vj+1 ∈ U . There
exists a non-empty set S such that Uj ∪ S is a maximal clique in G[{v1 , . . . , vj }].
Again, by maximality of j, the vertex vj+1 is not adjacent to all vertices in S.
We conclude that there is a maximal clique U $ containing Uj ∪ S but not vertex
vj+1 . Note that U $ is lexicographically smaller than U , since they differ on set S.
By induction hypothesis, U $ has already been output. At the time when U $ was
output, the vertex vj+1 was found not to be adjacent to some vertex vi in U $ with
index i < j + 1. Clearly, we have (Uj+1 $
− N (vj+1 )) ∪ {vj+1 } = Uj+1 and Uj+1
is a maximal clique in G[{v1 , . . . , vj+1 }]. So the lexicographically first maximal
clique T containing Uj+1 was inserted into Q. Once more by maximality of j,
U and T coincide on the first j + 1 vertices. Assume that U '= T . Let k be the
first index such that U and T disagree on vk . It follows that k > j + 1. Since T
is lexicographically less than U , we have vk ∈ T and vk ∈ / U . Hence, Uk is not a
maximal clique in G[{v1 , . . . , vk }], a contradiction to maximality of j. Therefore,
U = T and so U is in Q. This proves the induction step.
126 S. Kosub

For the time bound, the costly operations are the extraction of the lexi-
cographically smallest maximal clique from Q (which needs O(n log C)), the n
computations of maximal cliques containing a given set (which takes O(n+m) for
each set), and attempting to insert a maximal clique into Q (at costs O(n log C)
n
per clique). Since C ≤ 3) 3 * , the total delay is O(n3 ) in the worst case. 4
3

Counting complexity. We conclude this section with some remarks on the com-
plexity of counting the number of maximal cliques. An obvious way to count
maximal cliques is to enumerate them with some of the above-mentioned al-
gorithms and increment a counter each time a clique is output. This, however,
would take exponential time. The question is whether it is possible to compute
the number more directly and in time polynomial in the graph size. To study
such issues the class #P has been introduced [559], which can be considered
as the class of all functions counting the number of solutions of instances of
N P-problems. It can be shown that counting the number of maximal cliques
is #P-complete (with respect to an appropriate reducibility notion) [560]. An
immediate consequence is that if there is a polynomial-time algorithm for com-
puting the number of maximal cliques, then Clique is in P, and thus, P = N P.
Note that in the case of planar, bipartite or bounded-degree graphs there are
polynomial-time algorithms for counting maximal cliques [557].

6.2 Structurally Dense Groups


We review two relaxations of the clique concept based on minimal degrees [515,
514, 513]. Both relaxations are structural, as they impose universal constraints
on individuals in a group.

6.2.1 Plexes
We generalize the clique concept by allowing members in a group to miss some
ties with other group members, but only up to a certain number N ≥ 1. This
leads to the notion of an N -plex [514, 511].
Definition 6.2.1. Let G = (V, E) be any undirected graph and let N ∈
{1, . . . , n − 1} be a natural number. A subset U ⊆ V is said to be an N -plex
if and only if δ(G[U ]) ≥ |U | − N .
Clearly, a clique is simply a 1-plex, and an N -plex is also an (N + 1)-plex. We
say that a subset U ⊆ V is a maximal N -plex if and only if U is an N -plex
and it is not strictly contained in any larger N -plex of G. A subset U ⊆ V is a
maximum N -plex if and only if U has a maximum number of vertices among all
N -plexes of G.
It is easily seen that any subgraph of an N -plex is also an N -plex, that is,
N -plexes are closed under exclusion. Moreover, we have the following relation
between the size of an N -plex and its diameter [514, 189, 431].
6 Local Density 127

Proposition 6.2.2. Let N ∈ {1, . . . , n−1} be a natural number. Let G = (V, E)


be any undirected graph on n vertices.
1. If V is an N -plex with N < n+2
2 , then diam(G) ≤ 2 and, if additionally
n ≥ 4, G is 2-edge-connected.
2. If V is an N -plex with N ≥ n+22 and G is connected, then diam(G) ≤
2N − n + 2.
Proof. 1. Suppose N < n+2 2 . Let u, v ∈ V be vertices such that u '= v. If u and
v are adjacent, the distance between them is one. Now, suppose u and v are not
adjacent. Assume that the distance between u and v is at least three, i.e., with
respect to neighborhoods it holds N (u) ∩ N (v) = ∅. We obtain
, -
n+2
n − 2 ≥ |N (u) ∪ N (v)| ≥ 2δ(G) ≥ 2(n − N ) > 2 n − = n − 2,
2
a contradiction. Thus, the distance between u and v is at most two. Hence,
diam(G) ≤ 2. To verify that for n ≥ 4, G is 2-edge-connected, assume to the
contrary that there is a bridge, i.e., an edge e such that after removing it, G−{e}
consists of two connected components V1 and V2 . Obviously, every shortest path
from a vertex in V1 to a vertex in V2 must use that bridge. Since diam(G) ≤ 2,
one component is a singleton. This implies that the vertex in this component
has degree one. However, as V is an N -plex with n ≥ 4 vertices, we obtain for
the degree of this vertex n − N > n − (n + 2)/2 = (n − 2)/2 ≥ 1, a contradiction.
Thus, a bridge cannot exist in G.
2. Suppose N ≥ n+2 2 . Let {v0 , v1 , . . . , vr } be the longest shortest path of
G, i.e., a path that realizes the diameter r. We may suppose that r ≥ 4. Since
there is no shorter path between v0 and vr , we have that vi is not adjacent to
v0 , . . . , vi−2 , vi+2 , . . . , vr for all i ∈ {0, . . . , r} (where vertices with negative index
do not exist). Furthermore, there cannot exist a vertex adjacent to both v0 and
v3 . Thus, the following inclusion is true:
{v0 } ∪ {v2 , v3 , . . . , vr } ∪ (N (v3 ) − {v2 , v4 }) ⊆ N (v0 )
Note that we have a disjoint union on the left-hand side. We thus obtain the
inequality 1 + (r − 1) + dG (v3 ) − 2 ≤ N . It follows r + n − N − 2 ≤ N . Hence,
diam(G) = r ≤ 2N − n + 2. 4
3
From a computational point of view, finding maximum plexes is not easier than
finding maximum cliques. This is immediate when we consider the variable de-
cision problem for plexes, where the problem instance consists of graph G, the
size parameter k, and the plex parameter N . Since Clique appears as instances
of the form (G, k, 1), the problem is N P-complete. We discuss the complexity
of finding N -plexes of certain sizes for fixed N . For any natural number N > 0,
we define the following decision problem:

Problem: N -Plex
Input: Graph G, Parameter k ∈
Question: Does there exist an N -plex of size at least k within G?
128 S. Kosub

As 1-Plex = Clique, and thus 1-Plex is N P-complete, it is not surprising


that finding maximum N -plexes is N P-hard for all N > 0 as well.
Theorem 6.2.3. N -Plex is N P-complete for all natural numbers N > 0.
Proof. It suffices to consider the case N > 1. There is a generic proof of the
theorem which is based on the fact that being an N -plex is a hereditary graph
property (see, e.g., [240]). We give a direct proof in order to demonstrate the
structural similarity between cliques and plexes. We describe a polynomial trans-
formation of Clique into N -Plex. Let (G, k) be any instance of the clique prob-
lem. We construct a new graph G$ in the following way: we take N − 1 copies of
each vertex of G, connect them to each other by an edge, and all new vertices to
the vertices of G except to the original one. More specifically, let G$ = (V $ , E $ )
be the graph defined as follows:

V $ =def V × {0, 1, . . . , N − 1}
" #
E $ =def {(u, 0), (v, 0)} | {u, v} ∈ E ∪
" #
∪ {(u, i), (v, j)} | u, v ∈ V and i, j > 0 ∪
" #
∪ {(u, 0), (v, i)} | u, v ∈ V with u '= v and i > 0

The graph G$ can certainly be computed in time polynomial in the size of G. A


crucial observation is that copy vertices, i.e., vertices in V × {1, . . . , N − 1} are
adjacent to all vertices in V $ except one. We will show that G contains a clique
of size k if and only if G$ contains an N -plex of size k + (N − 1)n.
Suppose there exists a clique U ⊆ V of size exactly k in G. Let U $ denote the
vertex set in G$ consisting of all original vertices of U and all copies of vertices
of V , i.e., U $ = U × {0} ∪ V × {1, . . . , N − 1}. Notice that U $ has cardinality
k + (N − 1)n. Each vertex with label i ∈ {1, . . . , N − 1} is directly connected
to each other vertex in U $ except one vertex with label zero, thus has degree
|U $ | − 2 = k + (N − 1)n − 2. Each vertex (u, 0) is adjacent to all vertices in U $
except (u, i) with i > 0. That is, (u, 0) has degree k + (N − 1)n − 1 − (N − 1).
Hence, U $ is an N -plex.
Suppose there is no clique of size k in G. Thus, any induced subgraph of G
having k $ ≥ k vertices has minimal degree at most k $ − 2. Let U ⊆ V $ be any
vertex set with k + (N − 1)n vertices. Then there is another set U $ ⊆ V $ on
k + (N − 1)n vertices such that δ(G$ [U $ ]) ≥ δ(G$ [U ]) and U $ contains all copy
vertices of G$ , i.e., U $ ⊇ V × {1, . . . , N − 1}. This follows from the fact that there
is always a vertex in U0 = U ∩(V ×{0}) that is not adjacent to some other vertex
in U0 (otherwise U0 would induce a clique of size |U0 | ≥ k in G). Remembering
the observation above, we are now allowed to recursively exchange such vertices
by vertices of V ×{1, . . . , N −1} as long as possible, without decreasing minimum
degrees. We end up with a desired set U $ ⊆ V $ . Since we have no size-k clique in
G, we may conclude δ(G$ [U ]) ≤ δ(G$ [U $ ]) ≤ k + (N − 1)n − 2 − (N − 1). Hence,
there is no N -plex in G$ . 4
3
6 Local Density 129

6.2.2 Cores
A concept dual to plexes is that of a core. Here, we do not ask how many edges
are missing in the subgraph for being complete, but we simply fix a threshold
in terms of a minimal degree for each member of the subgroup. One of the
most important things to learn about cores is that there exist polynomial-time
algorithms for finding maximum cores. Cores have been introduced in [513].
Definition 6.2.4. Let G = (V, E) be any undirected graph. A subset U ⊆ V is
said to be an N -core if and only if δ(G[U ]) ≥ N .
The parameter N of an N -core is the order of the N -core. A subset U ⊆ V is a
maximal N -core if and only if U is an N -core and it is not strictly contained in
any larger N -core of G. A subset U ⊆ V is a maximum N -core if and only if U
has maximum number of vertices among all N -cores of G. Maximum cores are
also known as main cores.
Any (N + 1)-core is an N -core and any N -core is an (n − N )-plex. Moreover,
if U and U $ are N -cores, then U ∪ U $ is an N -core as well. That means maximal
N -cores are unique. However, N -cores are not closed under exclusion and are in
general not nested. As an example, a cycle is certainly a 2-core but any proper
subgraph has at least one vertex with degree less than two. N -cores need not
be connected. The following proposition relates maximal connected N -cores to
each other.
Proposition 6.2.5. Let G = (V, E) be any undirected graph and let N > 0
be any natural number. Let U and U $ be maximal connected N -cores in G with
U '= U $ . Then there exists no edge between U and U $ in G.
Proof. Assume there is an edge {u, v} with u ∈ U and v ∈ U $ . It follows that
U ∪ U $ is an N -core containing both U and U $ . Furthermore, it is connected,
since U and U $ are connected. 4
3
Some immediate consequences of the proposition are the following: the unique
maximum N -core of a graph is the union of all its maximal connected N -cores,
the maximum 2-core of a connected graph is connected (notice that the internal
vertices of a path have degree two), and a graph is a forest if and only if it
possesses no 2-cores. The next result is an important algorithmic property of
N -cores, that was exhibited in [46].
Proposition 6.2.6. Let G = (V, E) be any undirected graph and let N > 0 be
any natural number. If we recursively remove all vertices with degree strictly less
than N , and all edges incident with them, then the remaining set U of vertices
is the maximum N -core.
Proof. Clearly, U is an N -core. We have to show that it is maximum. Assume
to the contrary, the N -core U obtained is not maximum. Then there exists a
non-empty set T ⊆ V such that U ∪ T is the maximum N -core, but vertices of
T have been removed. Let t be the first vertex of T that has been removed. At
that time, the degree of t must have been strictly less than N . However, as t has
130 S. Kosub

at least N neighbors in U ∪ T and all other vertices have still been in the graph
when t was removed, we have a contradiction. 4
3
The procedure described in the proposition suggests an algorithm for computing
N -cores. We extend the procedure for obtaining auxiliary values which provide
us with complete information on the core decomposition of a network. Define
the core number of a vertex v ∈ V to be the highest order N of a maximum
N -core vertex v belongs to, i.e.,

ξG (v) =def max{ N | there is an N -core U in G such that v ∈ U }.

A method, according to [47], for computing all core numbers is shown in Algo-
rithm 10. The algorithm is correct due to the following reasons: any graph G is
certainly a δ(G)-core, and each neighbor of vertex v having lower degree than v
decrements the potential core number of v. A straightforward implementation of
the algorithm yields a worst-case time bound of O(mn log n) – the most costly
operations being sorting vertices with respect to their degree. A more clever
implementation guarantees linear time [47].

Algorithm 10: Computing core numbers [47]


Input: Graph G = (V, E)
Output: Array ξG containing the core numbers of all vertices in G
Compute the degrees of all vertices and store them into D;
Sort V in increasing degree-order D;
foreach v ∈ V in sorted order do
ξG (v):=D[v];
foreach vertex u adjacent to v do
if D[u] > D[v] then
D[u] := D[u] − 1;
Resort V in increasing degree-order of D

Theorem 6.2.7. There is an implementation of Algorithm 10 that computes


the core numbers of all vertices in a given graph G = (V, E) having n vertices
and m edges in time O(n + m).
Proof. To reduce the running time of the algorithm, we have to speed up the
sorting operations in the algorithm. This can be achieved by two techniques.
1. Since the degree of a vertex lies in the range {0, . . . , n − 1}, we do sorting
using n buckets, one for each vertex degree. This gives us an O(n) time
complexity for initially sorting the vertex-set array V .
2. We can save resorting entirely, by maintaining information about where in
the array V , which contains the vertices in ascending order of their degree, a
new region with higher degree starts. More specifically, we maintain an array
6 Local Density 131

J where entry J[i] is the minimum index j such that for all r ≥ j, vertex
V [r] has degree at least i. We can now replace the ‘resort’-line in Algorithm
10 by the following instructions:

if u &= vertex w at position J[D[u] + 1] then swap vertices u and w in V ;


Increment J[D[u] + 1]

Resorting the array V in order to maintain the increasing order of degrees


now takes O(1) time. Notice that the array J can initially be computed in
time O(n).
For the total running time of Algorithm 10, we now obtain O(n) for initializing
and sorting and O(m) for the main part of the algorithm (since each edge is
handled at most twice). This proves the O(n + m) implementation. 4
3
Corollary 6.2.8. For all N > 0, the maximum N -core for a graph with n
vertices and m edges can be computed in time O(n + m), which is independent
of N .

6.3 Statistically Dense Groups


In general, statistical measures over networks do not impose any universal struc-
tural requirements on individuals. This makes them more flexible than structural
measures but usually harder to analyze. We turn to statistical measures for den-
sities of graphs.

6.3.1 Dense Subgraphs


The natural notion of density of a graph is the following. Let G = (V, E) be
any undirected graph with n vertices and m edges. The density 0(G) of G is the
ratio defined as
m
0(G) =def )n* .
2
That is, the density of a graph is the percentage of the number of edges of a
clique, observable in a graph. We are interested in subgraphs of certain densities.
Definition 6.3.1. Let G = (V, E) be an undirected graph and let 0 ≤ η ≤ 1 be
a real number. A subset U ⊆ V is said to be an η-dense subgraph if and only if
0(G[U ]) ≥ η.
In an η-dense subgraph, the interpretation is that any two members share with
probability (or frequency) at least η a relationship with each other. It is, however,
immediate that even graphs of fairly high density are allowed to have isolated
vertices.
A clique, as the subgraph with highest density, is a 1-dense subgraph. An
N -plex has density 1 − N n−1 . Thus, for n approaching infinity, the density of
−1

an N -plex approaches one. A little bit more exactly, for all N > 0 and for all
132 S. Kosub

−η
0 ≤ η ≤ 1, an N -plex of size at least N1−η is an η-dense subgraph. But evidently,
not every (1 − n−1 )-dense subgraph (when allowing non-constant densities) is
N −1

an N -plex. An N -core is an n−1 N


-dense subgraph, which can have a density
arbitrarily close to zero for large n.
In general, η-dense subgraphs are not closed under exclusion. However, they
are nested.
Proposition 6.3.2. Let 0 ≤ η ≤ 1 be real number. An η-dense subgraph of size
k in a graph G contains an η-dense subgraph of size k − 1 in G.
Proof. Let U be any η-dense subgraph of G, |U | = k. Let mU denote the number
of edges in G[U ]. Let v be a vertex with minimal degree in G[U ]. Note that
¯
δ(G[U ]) ≤ d(G[U ]) = 2mk U = 0(G[U ])(k − 1). Consider the subset U $ obtained
by excluding vertex v from U . Let mU ! denote the number of edges of U $ . We
have
, - , -
k k−1
mU ! = mU − δ(G[U ]) ≥ 0(G[U ]) − 0(G[U ])(k − 1) = 0(G[U ])
2 2

Hence, 0(G[U $ ]) ≥ 0(G[U ]) ≥ η. Thus, U $ is an η-dense subgraph. 4


3
The proposition suggests a greedy approach for obtaining η-dense graphs: recur-
sively deleting a vertex with minimal degree until an η-dense subgraph remains.
However, this procedure can fail drastically. We will discuss this below.

Walks. The density averages over edges in subgraphs. An edge is a walk of length
one. A generalization of density can involve walks of larger length. To make this
more precise, we introduce some notations. Let G = (V, E) be any undirected
graph with n vertices. Let 2 ∈ be any walk-length. For a vertex v ∈ V , we
define its degree of order 2 in G as the number of walks of length 2 that start in
v. Let d'G (v) denote v’s degree of order 2 in G. We set d0G (v) = 1 for all v ∈ V .
Clearly, d1G (v) is the degree of v in G. The number of walks of length 2 in a graph
G is denoted by W' (G). We have the following relation between the degrees of
higher order and the number of walks in a graph.
Proposition 6.3.3. Let G = (V, %E) be any undirected graph. For all 2 ∈ and
for all r ∈ {0, . . . , 2}, W' (G) = v∈V drG (v) · d'−r
G (v).

Proof. Any walk of length 2 consists of vertices v0 , v1 , . . . , v' . Fix an arbitrary


r ∈ {0, . . . , 2}. Consider the element vr . Then the walk v0 , v1 , . . . , vr contributes
to the degree of order r of vr , and the walk vr , vr+1 , . . . , v' contributes to the
degree of order 2 − r of vr . Thus, there are drG (vr ) · d'−r
G (vr ) walks of length 2
having vertex vr at position r. Summing over all possible choices of a vertex at
position r shows the statement. 4
3
It is clear that the maximum number of walks of length 2 in a graph with n
vertices is n(n − 1)' . We thus define the density of order 2 of a graph G as
6 Local Density 133

W' (G)
0' (G) =def .
n(n − 1)'
Note that 01 (G) = 0(G) as in W1 (G) each edge counts twice. We easily conclude
the following proposition.
Proposition 6.3.4. It holds 0' (G) ≤ 0'−1 (G) for all graphs G and all natural
numbers 2 ≥ 2.
Proof. Let G = %
(V, E) be any undirected graph %with n'−1
vertices. By Proposition
6.3.3, W' (G) = v∈V d1G (v)·d'−1
G (v) ≤ (n−1) v∈V G (v) = (n−1)·W'−1 (G).
d
Now, the inequality follows easily. 4
3
For a graph G = (V, E) we can define a subset U ⊆ V to be an η-dense subgraph
of order 2 if and only if 0' (G[U ]) ≥ η. From the proposition above, any η-dense
subgraph of order 2 is an η-dense subgraph of order 2 − 1 as well. The η-dense
subgraphs of order 2 ≥ 2 inherit the property of being nested from the η-dense
subgraphs. If we fix a density and consider dense subgraphs of increasing order,
then we can observe that they become more and more similar to cliques. A
formal argument goes as follows. Define the density of infinite order of a graph
G as
0∞ (G) =def lim 0' (G).
'→∞

The density of infinite order induces a discrete density function due to the fol-
lowing zero-one law [307].
Theorem 6.3.5. Let G = (V, E) be any undirected graph.
1. It holds that 0∞ (G) is either zero or one.
2. V is a clique if and only if 0∞ (G) = 1.
The theorem says that the only subgroup that is η-dense for some η > 0 and for
all orders, is a clique. In a sense, the order of a density functions allows a scaling
of how important compactness of groups is in relation to density.

Average degree. One can easily translate the density of a graph with n vertices
¯
into its average degree (as we did in the proof of Proposition 6.3.2): d(G) =
0(G)(n − 1). Technically, density and average degree are interchangeable (with
appropriate modifications). We thus can define dense subgraphs alternatively
in terms of average degrees. Let N > 0 be any rational number. An N -dense
subgraph of a graph G = (V, E) is any subset U ⊆ V such that d(G[U ¯ ]) ≥ N .
Clearly, an η-dense subgraph (with respect to percentage densities) of size k is
an η(k − 1)-dense subgraph (with respect to average degrees), and an N -dense
subgraph (with respect to average degrees) of size k is an k−1
N
-dense subgraph
(with respect to percentage densities). Any N -core is an N -dense subgraph. N -
dense subgraphs are neither closed under exclusion nor nested. This is easily seen
by considering N -regular graphs (for N ∈ ). Removing some vertices decreases
the average degree strictly below N . However, average degrees allow a more
fine-grained analysis of network structure. Since a number of edges quadratic
134 S. Kosub

in the number of vertices is required for a graph to be denser than some given
percentage threshold, small graphs are favored. Average degrees avoid this pitfall.

Extremal graphs. Based upon Turán’s theorem (see Theorem 6.1.2), a whole new
area in graph theory has emerged which has been called extremal graph theory
(see, e.g., [66]). It studies questions like the following: how many edges may a
graph have such that some of a given set of subgraphs are not contained in the
graph? Clearly, if we have more edges in the graph, then all these subgraphs
must be contained in it. This has been applied to dense subgraphs as well. The
following classical theorem due to Dirac [156] is a direct strengthening of Turán’s
theorem.
Theorem 6.3.6 (Dirac, 1963). Let G = (V, E) be any undirected graph. If
2

k−1 , then G contains subgraphs of size k + r having average degree at


m > n2 · k−2
least k + r − 1 − k+r
r
for all r ∈ {0, . . . , k − 2} and n ≥ k + r.
Notice that the case r = 0 corresponds to the existence of size-k cliques as
expressed by Turán’s theorem. In many cases, only asymptotic estimations are
possible. For example, it&can √
be shown
' that, for a graph G = (V, E) on n vertices
2
and m edges, if m = ω n2− d·k , then G has a subgraph with k vertices and
average degree d [368, 262]. It follows that to be sure that there are reasonably
dense subgraphs of sizes not very small, the graph itself has to be reasonably
dense. Some more results are discussed in [262].

6.3.2 Densest Subgraphs


We review a solution for computing a densest subgraph with respect to average
degrees. Let γ ∗ (G) be the maximum average degree of any non-empty induced
subgraph of G, i.e.,
¯
γ ∗ (G) =def max{ d(G[U ]) | U ⊆ V and U '= ∅ }.

As in the case of N -cores, the maximal subgraph realizing γ ∗ (G) is uniquely


determined. We consider the following problem:

Problem: Densest Subgraph


Input: Graph G
Output: A vertex set of G that realizes γ ∗ (G)

This problem can be solved in polynomial time using flow techniques [477, 248,
239]; our proof is from [248].
Theorem 6.3.7. There is an algorithm for solving Densest Subgraph on
2
graphs with n vertices and m edges in time O(mn(log n)(log nm )).
6 Local Density 135

Proof. We formulate Densest Subgraph as a maximum flow problem depend-


ing on some parameter γ ∈ + . Let G = (V, E) be any undirected graph with n
vertices and m edges. Consider a flow network consisting of graph G$ = (V $ , E $ )
and capacity function uγ : E $ → + given as follows. Add to V a source s and a
sink t; replace each edge of G (which is undirected) by two directed edges of ca-
pacity one each; connect the source to all vertices of V by an edge of capacity m;
and connect each vertex v ∈ V to the sink by an edge of capacity m + γ − dG (v).
More specifically, the network is defined as

V $ =def V ∪ {s, t}
E $ =def {(v, w) | {v, w} ∈ E} ∪ {(s, v) | v ∈ V } ∪ {(v, t) | v ∈ V }

and for v, w ∈ V $ the capacity function uγ is defined as




 1 if {v, w} ∈ E

m if v = s
uγ (v, w) =def

 m + γ − dG (v) if w=t

0 if (v, w) ∈
/ E$

We consider capacities of cuts in the network. Let S, T be any partitioning of


V $ into two disjoint vertex sets with s ∈ S and t ∈ T , S+ = S − {s} and
T+ = T − {t}. Note that S+ ∪ T+ = V . If S+ = ∅, then the capacity of the cut
is c(S, S) = m|V |. Otherwise we obtain:
$
c(S, T ) = uγ (v, w)
v∈S,w∈T
$ $ $
= uγ (s, w) + uγ (v, t) + uγ (v, w)
w∈T+ v∈S+ v∈S+ ,w∈T+
, $ - $
= m|T+ | + m|S+ | + γ|S+ | − dG (v) + 1
v∈S+ v∈S+ ,w∈T+
{v,w}∈E
 
, $ $ -
 1 
= m|V | + |S+ | γ − dG (v) − 1 
|S+ |
v∈S+ v∈S+ ,w∈T+
{v,w}∈E

¯
= m|V | + |S+ |(γ − d(G[S + ])) (6.2)

It is clear from this equation that γ is our guess on the maximum average degree
of G. We need to know how we can detect whether γ is too big or too small. We
prove the following claim.

Claim. Let S and T be sets that realize the minimum capacity cut, with respect
to γ. Then we have the following:
1. If S+ =
' ∅, then γ ≤ γ ∗ (G).
2. If S+ = ∅, then γ ≥ γ ∗ (G).
136 S. Kosub

The claim is proven by the following arguments.


1. Suppose S+ '= ∅. Since c({s}, V $ − {s}) = m|V | ≥ c(S, T ), we have |S+ |(γ −
¯
d(G[S ¯
+ ])) ≤ 0. Hence, γ ≤ d(G[S+ ]) ≤ γ (G).

2. Suppose S+ = ∅. Assume further to the contrary, that γ < γ ∗ (G). Let


U ⊆ V be any non-empty vertex subset satisfying d(G[U ¯ ]) = γ ∗ (G). By
Equation 6.2, we obtain

c(U ∪ {s}, U ∪ {t}) = m|V | + |U |(γ − γ ∗ (G)) < m|V | = c(S, T ),

a contradiction to the minimality of the cut capacity c(S, T ). Thus, γ ≥


γ ∗ (G).
The claim suggests an algorithm for finding the right guess for γ by binary
search. Notice that γ ∗ (G) can have only a finite number of values, i.e.,
( 8
2i ++
γ (G) ∈

+ i ∈ {0, . . . , m} and j ∈ {1, . . . , n} .
j

It is easily seen that the smallest possible distance between two different points
in the set is n(n−1)
1
. A binary search procedure for finding a maximum average
degree subgraph is given as Algorithm 11.

Algorithm 11: Densest subgraph by min-cut and binary search [248]


Input: Graph G = (V, E))
Output: A set of k vertices of G
Initialize l := 0, r := m, and U := ∅;
1
while r − l ≥ n(n−1) do
l+r
γ := 2 ;
Construct flow network (V " , E " , uγ );
Find minimum cut S and T of the flow network;
if S = {s} then
r := γ
else
l := γ;
U := S − {s}
Return U

For a time bound, note that we execute the iteration 8log((m+1)n(n−1))9 =


O(log n) times. Inside each iteration we have to run an algorithm which finds
a minimum capacity cut. If we use, e.g., the push-relabel algorithm [252] for
2
max-flow computations, we can do this in time O(nm log nm ) in a network with
n vertices and m edges. Out network has n + 2 vertices and 2m + 2n edges. This
does not change the complexity of the max-flow algorithm asymptotically. We
2
thus obtain the overall time bound O(nm(log n)(log nm )). 4
3
6 Local Density 137

Parametric maximum flow algorithms [239, 6] have been employed to improve


2
the time bound to O(nm log nm ) [239]. In [113], Densest Subgraph has been
solved by linear programming. This gives certainly a worse upper bound for the
time complexity, but has some extensions to the case of directed graphs.

Directed graphs. There is no obvious way to define the notion of density in


directed graphs. Since average in-degree and average out-degree in a directed
graph are always equal, both measures are not sensitive to orientedness. One
approach followed in the literature [342, 113] is based on considering two vertex
sets S and T , which are not necessarily disjoint, to capture orientations. For any
directed graph G = (V, E) and non-empty sets S, T ⊆ V , let E(S, T ) denote the
set of edges going from S to T , i.e., E(S, T ) = {(u, v) | u ∈ S and v ∈ T }. We
define an average degree of the pair (S, T ) in the graph as [342]:
|E(S, T )|
d¯G (S, T ) =def 9 .
|S| · |T |
This notion was introduced to measure the connectedness between hubs and
authorities in web graphs. The set S is understood as the set of hubs, and the
set T is understood as the set of authorities in the sense of [359], or fans and
centers in the sense of [376]. If S = T then d¯G (S, T ) is precisely the average
degree of G[S] (i.e., the sum of the average in-degree and the average out-degree
of G[S]). The maximum average degree for a directed graph G = (V, E) is defined
as
γ ∗ (G) =def max{ d¯G (S, T ) | S, T ⊆ V and S '= ∅, T '= ∅ }.
Densest Subgraph on directed graphs can be solved in polynomial time by
linear programming [113]. To do so, we consider the following LP relaxations
LPγ , where γ ranges over all possible ratios |S|/|T |:
%
max (u,v)∈E x(u,v)
s.t. x(u,v) ≤ su for all (u, v) ∈ E
%(u,v) ≤ tv for
x

all (u, v) ∈ E
%u∈V u s ≤ γ
√1
v∈V tv ≤ γ
x(u,v) , su , tv ≥ 0 for all u, v ∈ V and (u, v) ∈ E

It can be shown that the maximum average degree for G is the maximum of
the optimal solutions for LPγ over all γ. Each linear program can be solved in
polynomial time. Since there are O(n2 ) many ratios for |S|/|T | and thus for γ,
we can now compute the maximum average degree for G (and a corresponding
subgraph as well) in polynomial time by binary search.

6.3.3 Densest Subgraphs of Given Sizes


The densest subgraph of a graph is highly fragile, as a graph with some average
degree need not possess a subgraph with the same average degree. We are thus
138 S. Kosub

not able to deduce easily information on the existence of subgraphs with certain
average degrees and certain sizes, from a solution of Densest Subgraph. We
discuss this problem independently. For an undirected graph G = (V, E) and
parameter k ∈ , let γ ∗ (G, k) denote the maximum value of the average degrees
of all induced subgraphs of G having k vertices, i.e.,
¯
γ ∗ (G, k) =def max{ d(G[U ]) | U ⊆ V and |U | = k }.
The following optimization problem has been introduced in [201]:

Problem: Dense k-Subgraph


Input: Graph G, Parameter k ∈
Output: A vertex set of G that realizes γ ∗ (G, k)

In contrast to Densest Subgraph, this problem is computationally difficult.


It is clear that Dense k-Subgraph is N P-hard (observe that the instance
(G, k, k − 1) to the corresponding decision problem means searching for a clique
of size k in G). The best we may hope for is a polynomial algorithm with moder-
ate approximation ratio. A natural approach for approximating γ ∗ (G, k) is based
on greedy methods. An example of a greedy procedure due to [201] is given as
Algorithm 12.

Algorithm 12: Greedy procedure


Input: Graph G = (V, E) and even parameter k ∈ (with |V | ≥ k)
Output: A set of k vertices of G
Sort the vertices in decreasing order of their degrees;
Let H be the set of k2 vertices of highest degree;
Compute NH (v) = |N (v) ∩ H| for all vertices v ∈ V − H;
Sort the vertices in V − H in decreasing order of the NH -values;
Let R be the set of k2 vertices of V − H of highest NH -values;
Return H ∪ R

Theorem 6.3.8. Let G be any graph with n vertices and let k ∈ be an even
natural number with k ≤ n. Let A(G, k) denote the average degree of the subgraph
of G induced by the vertex set that is the output of Algorithm 12. We have
2n
γ ∗ (G, k) ≤ · A(G, k).
k
Proof. For subsets U, U $ ⊆ V , let E(U, U $ ) denote the set of edges consisting
of one vertex of U and one vertex of U $ . Let mU denote the cardinality of the
edge set E(G[U ]). Let dH denote the average degree of the k2 vertices of G with
highest degree with respect to G. We certainly have, dH ≥ γ ∗ (G, k). We obtain
dH · k
|E(H, V − H)| = dH · |H| − 2mH ≥ − 2mH ≥ 0.
2
6 Local Density 139

By the greedy rule, at least the fraction of


|R| k k
= >
|V − H| 2n − k 2n
of these edges has been selected to be in G[H ∪ R]. Hence, the total number of
edges in G[H ∪ R] is at least
, -
dH · k k dH · k 2
− 2mH · + mH ≥ .
2 2n 4n
This proves the inequality for the average degree. 4
3
The greedy procedure is the better the larger k is in relation to n. It is an appro-
priate choice if we want to find large dense regions in a graph. However, for very
small parameters, e.g., for k = O(1), it is almost as bad as any trivial procedure.
An approximation ratio O( nk ) has been obtained by several other approximation
methods, e.g., by greedy methods based on recursively deleting vertices of mini-
mal degree [38] or by semidefinite programming [204, 531]. However, to overcome
the connection between n and k, we need complementary algorithms that work
well on smaller values of k. In the light of the following theorem [201], this seems
2
possible for up to k = O(n 3 ).
Theorem 6.3.9. Dense k-Subgraph can be approximated in polynomial time
1
within ratio O(n 3 −ε ) for some ε > 0.
No better bound for the general problem is known. In special graph classes, how-
ever, approximation can be done within better ratio. For instance, on families of
dense graphs, i.e., graphs with Ω(n2 ) edges, there exist polynomial-time approx-
imation algorithms with ratio arbitrary close to one [35, 137]. A drawback here is
that most of the social networks are sparse, not dense. As to lower bounds on the
approximation ratio, it has recently been proven that an approximation ratio of
1 + ε for all ε > 0 cannot be achieved unless all N P problems can be simulated
by randomized algorithms with double-sided error and sub-exponential running
ε
time (more specifically, in time O(2n ) for all ε > 0)[354]. Moreover, it is even
conjectured that there is no polynomial-time algorithm with approximation ratio
O(nε ) for all ε > 0 [201].

6.3.4 Parameterized Density


As we have argued, the decision version of Dense k-Subgraph is N P-complete.
In contrast to this variable decision problem (note that the density parameter is
part of the input), we are now interested in studying the fixed-parameter version.
A function γ : → + is a density threshold if and only if γ is computable
in polynomial time and γ(k) ≤ k − 1 for all k ∈ . For any density threshold
γ, a γ-dense subgraph of a graph G = (V, E) is any subset U ⊆ V such that
¯
d(G[U ]) ≥ γ(|U |). We consider the following problem:
140 S. Kosub

Problem: γ-Dense Subgraph


Input: Graph G, Parameter k ∈
Question: Does there exist γ-dense subgraph of size k within G?

Clearly, on the one hand, if we choose γ(k) = k − 1 for all k ∈ , then we


obtain γ-Dense Subgraph = Clique, and thus an N P-complete problem. On
the other hand, if we choose γ(k) = 0, then any choice of k vertices induces a
γ-dense subgraph and thus γ-Dense Subgraph is solvable in polynomial time.
The question is: which choices of γ do still admit polynomial-time algorithms
and for which γ does the problem become N P-complete? This problem has been
studied by several authors [204, 37, 308]. The following theorem due to [308] gives
a sharp boundary, which also shows that a complexity jump appears very early.
Theorem 6.3.10. Let γ be any density threshold.
) *
1. If γ = 2 + O k1) , then
* γ-Dense Subgraph is solvable in polynomial time.
2. If γ = 2 + Ω k1−ε 1
for some ε > 0, then γ-Dense Subgraph is N P-
complete.
A direct application of the theorem gives the following result for the case of
constant density functions.
Corollary 6.3.11. Finding a k-vertex subgraph with average degree at least two
can be done in polynomial time. However, there is no algorithm for finding a k-
vertex subgraph with average degree at least 2 + ε for any ε > 0, unless P = N P.
This result should be contrasted with the corresponding result for N -cores, where
detecting N -cores of size k can be done in linear time in the graph size, even
for all N > 0. This demonstrates a drastic computational difference between
statistical and structural density.
Results similar to Theorem 6.3.10 have been proven for the case of special net-
work classes with real-world characteristics, in particular, for power-law graphs
and general sparse graphs [306].

6.4 Chapter Notes


In this chapter, we studied computational aspects of notions of local densities,
i.e., density notions defined over induced subgraphs only, consequently suppress-
ing network structure outside a subgroup. We considered structural (N -plexes,
N -cores) and statistical relaxations (η-dense subgraphs) of the clique concept,
which is the perfectly cohesive subgroup. Although many algorithmic problems
for these notions are computationally hard, i.e., we do not know polynomial
algorithms for solving them, there are several cases where fast algorithms exist
producing desirable information on the density-based cohesive structure of a net-
work, e.g., the number of small cliques in graphs, core numbers, or the maximum
average degree reachable by a subgroup in a directed and undirected network.
6 Local Density 141

An observation coming up from the presented results is that there is a seem-


ingly hard tradeoff between mathematical soundness and meaningfulness of these
notions and their algorithmic tractability. This is evident from the following table
summarizing properties of our main notions:

subgroup closed under nested tractable


exclusion
clique + + –
N -plex (for N ∈ ) + + –
N -core (for N ∈ ) – – +
η-dense subgraph (for η ∈ [0, 1]) – + –

Here, we see that nestedness, as a meaningful structure inside a group, excludes


fast algorithms for computing subgroups of certain sizes. This exclusion is also
inherited by some further relaxations. However, we have no rigorous proof for this
observation in case of general locally definable subgroups. On the other hand,
a similar relation is provably true for closure under exclusion and efficiently de-
tecting subgroups of a given size: we cannot achieve both with an appropriate
notion of density (see, e.g., [240, GT21,GT22]).
We conclude this chapter with a brief discussion of a selection of non-local
concepts of cohesive subgroups that have attracted interest in social network
analysis. Since non-locality emphasizes the importance for a cohesive subgroup
to be separated from the remaining network, such notions play an important role
in models for core/periphery structures [84, 193]. An extensive study of non-local
density notions and their applications to network decomposition problems can
be found in Chapter 8 and Chapter 10.

LS sets (Luccio-Sami sets). The notion of an LS set has been introduced in


[399, 381]. An LS set can be seen as a network region where internal ties are
more significant than external ties. More specifically, for a graph G = (V, E)
a vertex subset U ⊆ V is said to be an LS set if and only if for all proper,
non-empty subsets U $ ⊂ U , we have

|E(U $ , V − U $ )| > |E(U, V − U )|.

Trivially, V is an LS set. Also the singleton sets {v} are LS sets in G for each
v ∈ V . LS sets have some nice structural properties. For instance, they do
not non-trivially overlap [399, 381], i.e., if U1 and U2 are LS sets such that
U1 ∩ U2 '= ∅, then either U1 ⊆ U2 or U2 ⊆ U1 . Moreover, LS sets are rather
dense: the minimum degree of a non-trivial LS set is at least half of the number
of outgoing edges [512]. Note that the structural strength of LS sets depends
heavily on the universal requirement that all proper subsets share more ties
with the network outside than the set U does (see [512] for a discussion of this
point). Some relaxations of LS sets can be found in [86].
142 S. Kosub

Lambda sets. A notion closely related to LS sets is that of a lambda set. Let
G = (V, E) be any undirected graph. For vertices u, v ∈ V , let λ(u, v) denote
the number of edge-disjoint paths between u and v in G, i.e., λ(u, v) measures
the edge connectivity of u and v in G. A subset U ⊆ V is said to be a lambda
set if and only if
min λ(u, v) > max λ(u, v).
u,v∈U u∈U,v∈V −U

In a lambda set, the members have more edge-disjoint paths connecting them to
each other than to non-members. Each LS set is a lambda set [512, 86]. Lambda
sets do not directly measure the density of a subset. However, they have some
importance as they allow a polynomial-time algorithm for computing them [86].
The algorithm essentially consists of two parts, namely computing the edge-
connectivity matrix for the vertex set V (which can be done by flow algorithms
in time O(n4 ) [258]) and based on this matrix, grouping vertices together in a
level-wise manner, i.e., vertices u and v belong to the same lambda set (at level
N ) if and only if λ(u, v) ≥ N . The algorithm can also be easily extended to
compute LS sets.

Normal sets. In [285], a normality predicate for network subgroups has been
defined in a statistical way over random walks on graphs. One of the most
important reasons for considering random walks is that typically the resulting
algorithms are simple, fast, and general. A random walk is a stochastic process
by which we go over a graph by selecting the next vertex to visit at random
among all neighbors of the current vertex. We can use random walks to capture
a notion of cohesiveness quality of a subgroup. The intuition is that a group is
the more cohesive the higher the probability is that a random walk originating at
some group member does not leave the group. Let G = (V, E) be any undirected
graph. For d ∈ and α ∈ + , a subset U ⊆ V is said to be (d, α)-normal if and
only if for all vertices u, v ∈ U such that dG (u, v) ≤ d, the probability that a
random walk starting at u will reach v before visiting any vertex w ∈ V −U , is at
least α. Though this notion is rather intuitive, we do not know how to compute
normal sets or decomposing a network into normal sets. Instead, some heuristic
algorithms, running in linear time (at least on graphs with bounded degree),
have been developed producing decompositions in the spirit of normality [285].
7 Connectivity

Frank Kammer and Hanjo Täubig

This chapter is mainly concerned with the strength of connections between ver-
tices with respect to the number of vertex- or edge-disjoint paths. As we shall
see, this is equivalent to the question of how many nodes or edges must be re-
moved from a graph to destroy all paths between two (arbitrary or specified)
vertices. For basic definitions of connectivity see Section 2.2.4.
We present algorithms which
– check k-vertex (k-edge) connectivity,
– compute the vertex (edge) connectivity, and
– compute the maximal k-connected components
of a given graph.
After a few definitions we present some important theorems which summarize
fundamental properties of connectivity and which provide a basis for understand-
ing the algorithms in the subsequent sections.
We denote the vertex-connectivity of a graph G by κ(G) and the edge-
connectivity by λ(G); compare Section 2.2.4. Furthermore, we define the local
(vertex-)connectivity κG (s, t) for two distinct vertices s and t as the minimum
number of vertices which must be removed to destroy all paths from s to t. In
the case that an edge from s to t exists we set κG (s, t) = n − 1 since κG cannot
exceed n − 2 in the other case1 . Accordingly, we define λG (s, t) to be the least
number of edges to be removed such that no path from s to t remains. Note,
that for undirected graphs κG (s, t) = κG (t, s) and λG (s, t) = λG (t, s), whereas
for directed graphs these functions are, in general, not symmetric.
Some of the terms we use in this chapter occur under different names in
the literature. In what follows, we mainly use (alternatives in parentheses): cut-
vertex (articulation point, separation vertex), cut-edge (isthmus, bridge), com-
ponent (connected component), biconnected component (non-separable compo-
nent, block). A cut-vertex is a vertex which increases the number of connected
components when it is removed from the graph; the term cut-edge is defined sim-
ilarly. A biconnected component is a maximal 2-connected subgraph; see Chap-
ter 2. A block of a graph G is a maximal connected subgraph of G containing
no cut-vertex, that is, the set of all blocks of a graph consists of its isolated

1
If s and t are connected by an edge, it is not possible to disconnect s from t by
removing only vertices.

U. Brandes and T. Erlebach (Eds.): Network Analysis, LNCS 3418, pp. 143–177, 2005.
c Springer-Verlag Berlin Heidelberg 2005
(
144 F. Kammer and H. Täubig

2
8
3 6
1 9 11
4 7
10
5

(a) A graph. We consider the connectivity between the vertices 1 and 11.

2 2
8 8
3 6 3 6
1 9 11 1 9 11
4 7 4 7
10 10
5 5

(b) 2 vertex-disjoint paths and a (c) 3 edge-disjoint paths and an


vertex-cutset of size 2. edge-cutset of size 3.

Fig. 7.1. Vertex-/edge-disjoint paths and vertex-/edge-cutsets

vertices, its cut-edges, and its maximal biconnected subgraphs. Hence, with our
definition, a block is (slightly) different from a biconnected component.
The block-graph B(G) of a graph G consists of one vertex for each block
of G. Two vertices of the block-graph are adjacent if and only if the correspond-
ing blocks share a common vertex (that is, a cut-vertex). The cutpoint-graph
C(G) of G consists of one vertex for each cut-vertex of G, where vertices are
adjacent if and only if the corresponding cut-vertices reside in the same block
of G. For the block- and the cutpoint-graph of G the equalities B(B(G)) = C(G)
and B(C(G)) = C(B(G)) hold [275]. The block-cutpoint-graph of a graph G is
the bipartite graph which consists of the set of cut-vertices of G and a set of ver-
tices which represent the blocks of G. A cut-vertex is adjacent to a block-vertex
whenever the cut-vertex belongs to the corresponding block. The block-cutpoint-
graph of a connected graph is a tree [283]. The maximal k-vertex-connected (k-
edge-connected) subgraphs are called k-vertex-components (k-edge-components).
A k-edge-component which does not contain any (k + 1)-components is called a
cluster [410, 470, 411, 412].

7.1 Fundamental Theorems


Theorem 7.1.1. For all non-trivial graphs G it holds that:
κ(G) ≤ λ(G) ≤ δ(G)
7 Connectivity 145

Proof. The incident edges of a vertex having minimum degree δ(G) form an edge
separator. Thus we conclude λ(G) ≤ δ(G).
The vertex-connectivity of any graph on n vertices can be bounded from
above by the connectivity of the complete graph κ(Kn ) = n − 1.
Let G = (V, E) be a graph with at least 2 vertices and consider a minimal
edge separator that separates a vertex set S from all other vertices S̄ = V \ S. In
the case that all edges between S and S̄ are present in G we get λ(G) = |S|·|S̄| ≥
|V | − 1. Otherwise there exist vertices x ∈ S, y ∈ S̄ such that {x, y} ∈ / E, and
the set of all neighbors of x in S̄ as well as all vertices from S \ {x} that have
neighbors in S̄ form a vertex separator; the size of that separator is at most the
number of edges from S to S̄, and it separates (at least) x and y. 4
3
The following is the graph-theoretic equivalent of a theorem that was pub-
lished by Karl Menger in his work on the general curve theory [419].
Theorem 7.1.2 (Menger, 1927). If P and Q are subsets of vertices of an
undirected graph, then the maximum number of vertex-disjoint paths connecting
vertices from P and Q is equal to the minimum cardinality of any set of vertices
intersecting every path from a vertex in P to a vertex in Q.
This theorem is also known as the n-chain or n-arc theorem, and it yields as a
consequence one of the most fundamental statements of graph theory:
Corollary 7.1.3 (Menger’s Theorem). Let s, t be two vertices of an undi-
rected graph G = (V, E). If s and t are not adjacent, the maximum number of
vertex-disjoint s-t-paths is equal to the minimum cardinality of an s-t-vertex-
separator.
The analog for the case of edge-cuts is stated in the next theorem.
Theorem 7.1.4. The maximum number of edge-disjoint s-t-paths is equal to
the minimum cardinality of an s-t-edge-separator.
This theorem is most often called the edge version of Menger’s Theorem although
it was first explicitely stated three decades after Menger’s paper in publications
due to Ford and Fulkerson [218], Dantzig and Fulkerson [141], as well as Elias,
Feinstein, and Shannon [175].
A closely related result is the Max-Flow Min-Cut Theorem by Ford and
Fulkerson (see Theorem 2.2.1, [218]). The edge variant of Menger’s Theorem can
be seen as a restricted version where all edge capacities have a unit value.
The following global version of Menger’s Theorem was published by Hassler
Whitney [581] and is sometimes referred to as ‘Whitney’s Theorem’.
Theorem 7.1.5 (Whitney, 1932). Let G = (V, E) be a non-trivial graph and
k a positive integer. G is k-(vertex-)connected if and only if all pairs of distinct
vertices can be connected by k vertex-disjoint paths.
The difficulty in deriving this theorem is that Menger’s Theorem requires the
nodes to be not adjacent. Since this precondition is not present in the edge ver-
sion of Menger’s Theorem, the following follows immediately from Theorem 7.1.4:
146 F. Kammer and H. Täubig

Theorem 7.1.6. Let G = (V, E) be a non-trivial graph and k a positive integer.


G is k-edge-connected if and only if all pairs of distinct vertices can be connected
by k edge-disjoint paths.
For a detailed review of the history of Menger’s Theorem we refer to the
survey by Schrijver [506].
Beineke and Harary discovered a similar theorem for a combined vertex-
edge-connectivity (see [55]). They considered connectivity pairs (k, l) such that
there is some set of k vertices and l edges whose removal disconnects the graph,
whereas there is no set of k − 1 vertices and l edges or of k vertices and l − 1
edges forming a mixed vertex/edge cut set.
Theorem 7.1.7 (Beineke & Harary, 1967). If (k, l) is a connectivity
pair for vertices s and t in graph G, then there are k + l edge-disjoint paths
joining s and t, of which k are mutually non-intersecting.
The following theorem gives bounds on vertex- and edge-connectivity (see [274]).
Theorem 7.1.8. The maximum (vertex-/edge-) connectivity of some graph on
n vertices
: 2m ; and m edges is
n , if m ≥ n − 1
0 , otherwise.
The minimum (vertex-/edge-) connectivity of some graph on n vertices and
m edges is) * ) * ) *
m − n−1 2 , if n−1 2 < m ≤ n2
0 , otherwise.
A further proposition concerning the edge connectivity in a special case has
been given by Chartrand [114]:
Theorem 7.1.9. For all graphs G = (V, E) having minimum degree δ(G) ≥
6|V |/27, the edge-connectivity equals the minimum degree of the graph: λ(G) =
δ(G)
For more bounds on graph connectivity see [28, 62, 390, 63, 182, 523].
The following theorems deal with the k-vertex/edge-components of graphs.
The rather obvious facts that two different components of a graph have no vertex
in common, and two different blocks share at most one common vertex, have been
generalized by Harary and Kodama [279]:
Theorem 7.1.10. Two distinct k-(vertex-)components have at most k − 1 ver-
tices in common.
While k-vertex-components might overlap, k-edge-components do not.
Theorem 7.1.11 (Matula, 1968). For any fixed natural number k ≥ 1 the
k-edge-components of a graph are vertex-disjoint.
Proof. The proof is due to Matula (see [410]). Consider an (overlapping) decom-
position G̃ = G1 ∪G2 ∪. . .∪Gt of a connected subgraph G̃ of G. Let C = (A, Ā) be
a minimum edge-cut of G̃ into the disconnected parts A and Ā. To skip the trivial
7 Connectivity 147

case, assume that G̃ has at least 2 vertices. For each subgraph Gi that contains
a certain edge e ∈ C of the min-cut, the cut also contains a cut for Gi (otherwise
the two vertices would be connected in Gi \ C and G̃ \ C which would contradict
the assumption that C is a minimum cut). We conclude that there is a Gi such
that λ(G̃) = |C| ≥ λ(Gi ), which directly implies λ(G̃) ≥ min1≤i≤t {λ(Gi )} and
thereby proves the theorem. 4
3
Although we can see from Theorem 7.1.1 that k-vertex/edge-connectivity
implies a minimum degree of at least k, the converse is not true. But in the case
of a large minimum degree, there must be a highly connected subgraph.
Theorem 7.1.12 (Mader, 1972). Every graph of average degree at least 4k
has a k-connected subgraph.
For a proof see [404].
Several observations regarding the connectivity of directed graphs have been
made. One of them considers directed spanning trees rooted at a node r, so
called r-branchings:
Theorem 7.1.13 (Edmonds’ Branching Theorem [171]). In a directed
multigraph G = (V, E) containing a vertex r, the maximum number of pairwise
edge-disjoint r-branchings is equal to κG (r), where κG (r) denotes the minimum,
taken over all vertex sets S ⊂ V that contain r, of the number of edges leaving S.
The following theorem due to Lovász [396] states an interrelation of the
maximum number of directed edge-disjoint paths and the in- and out-degree of
a vertex.
Theorem 7.1.14 (Lovász, 1973). Let v ∈ V be a vertex of a graph G =
(V, E). If λG (v, w) ≤ λG (w, v) for all vertices w ∈ V , then d+ (v) ≤ d− (v).
As an immediate consequence, this theorem provided a proof for Kotzig’s con-
jecture:
Theorem 7.1.15 (Kotzig’s Theorem). For a directed graph G, λG (v, w)
equals λG (w, v) for all v, w ∈ V if and only if the graph is pseudo-symmetric,
i.e. the in-degree equals the out-degree for all vertices: d+ (v) = d− (v).

7.2 Introduction to Minimum Cuts


For short, in an undirected weighted graph the sum of the weights of the edges
with one endpoint in each of two disjoint vertex sets X and Y is denoted by
w(X, Y ). For directed graphs, w(X, Y ) is defined in nearly the same way, but
we only count the weight of edges with their origin in X and their destination in
Y . A cut in a weighted graph G = (V, E) is a set of vertices ∅ ⊂ S ⊂ V and its
weight is w(S, V \ S). In an unweighted graph, the weight of a cut is the number
of edges from S to V \ S.
Definition 7.2.1. A minimum cut is a cut S such that for all other cuts T ,
w(S, V \ S) ≤ w(T, V \ T ).
148 F. Kammer and H. Täubig

Observation 7.2.2. A minimum cut in a connected graph G with edge weights


greater than zero induces a connected subgraph of G.
An algorithm that computes all minimum cuts has to represent these cuts. A
problem is to store all minimum cuts without using too much space. A suggestion
was made in 1976 by Dinitz et al. [153]. They presented a data structure called
cactus that represents all minimum cuts of an undirected (weighted) graph. The
size of a cactus is linear in the number of vertices of the input graph and a cactus
allows us to compute a cut in a time linear in the size of the cut.
Karzanov and Timofeev outlined in [351] a first algorithm to construct a
cactus for unweighted, undirected graphs. Their algorithm consists of two parts.
Given an arbitrary input graph G, the first part finds a sequence of all minimum
cuts in G and the second constructs the cactus CG from this sequence. The
algorithm also works on weighted graphs, as long as all weights are positive.
If negative weights are allowed, the problem of finding a minimum cut is
N P-hard [345]. Moreover, no generalization for directed graphs is known. An
unweighted graph can be reduced to a weighted graph by assigning weight 1
to all edges. In the following, we will therefore consider the problem of finding
minimum cuts only for undirected connected graphs with positive weights.
Consider a network N defined by the directed graph G = (V, E), a ca-
pacity function uN , a source s, a sink t and a flow f (Chapter 2). A resid-
ual network Rf consists of those edges that can carry additional flow, be-
yond what ) "they already
+ carry under f . Thus Rf is defined #* on the graph
GRf := V, (u, v) +((u, v) ∈ E ∨ (v, u) ∈ E) ∧ uRf ((u, v)) > 0 with the same
source s and sink t and the following capacity function

 c (a, b) − f (a, b) + f (b, a) if (a, b) ∈ E ∧ (b, a) ∈ E
uRf ((a, b)) := c (a, b) − f (a, b) if (a, b) ∈ E ∧ (b, a) ∈
/E

f (b, a) if (a, b) ∈
/ E ∧ (b, a) ∈ E

Let Rfmax be the residual network of N and fmax , where fmax is a maximum
s-t-flow in N . As a consequence of Theorem 2.2.1 on page 11, the maximum flow
saturates all minimum s-t-cuts and therefore each set S ⊆ V \ t is a minimum
s-t-cut iff s ∈ S and no edges leave S in Rfmax .

7.3 All-Pairs Minimum Cuts


The problem of computing a minimum cut between all pairs of vertices can, of
course, easily be done by solving n(n − 1)/2 flow problems. As has been shown
by Gomory and Hu [257], the computation of n − 1 maximum flow problems is
already sufficient to determine the value of a maximum flow / minimum cut for
all pairs of vertices. The result can be represented in the equivalent flow tree,
which is a weighted tree on n vertices, where the minimum weight of any edge on
the (unique) path between two vertices s and t equals the maximum flow from s
to t. They furthermore showed that there always exists an equivalent flow tree,
7 Connectivity 149

where the components that result from removing the minimum weight edge of
the s-t-path represent a minimum cut between s and t. This tree is called the
Gomory-Hu cut tree.
Gusfield [265] demonstrated how to do the same computation without node
contractions and without the overhead for avoiding the so called crossing cuts.
See also [272, 344, 253].
If one is only interested in any edge cutset of minimum weight in an undi-
rected weighted graph (without a specified vertex pair to be disconnected), this
can be done using the algorithm of Stoer and Wagner, see Section 7.7.1.

7.4 Properties of Minimum Cuts in Undirected Graphs


There are 2|V | sets and each of them is possibly a minimum cut, but the number
of minimum cuts in a fixed undirected graph is polynomial in |V |. To see this, we
need to discuss some well-known facts about minimum cuts. These facts also help
us to define a data structure called cactus. A cactus can represent all minimum
cuts, but needs only space linear in |V |.
For short, for a graph G, let in this chapter λG always denote the weight of
a minimum cut. If the considered graph G is clear from the context, the index
G of λG is omitted.
Lemma 7.4.1. Let S be a minimum cut in G = (V, E). Then, for all ∅ '= T ⊂
S : w(T, S \ T ) ≥ λ2 .

Proof. Assume w(T, S\T ) < λ2 . Since w (T, V \ S)+w (S \ T, V \ S) = λ, w.l.o.g.


w (T, V \ S) ≤ λ2 (if not, define T as S \ T ). Then w (T, V \ T ) = w(T, S \ T ) +
w (T, V \ S) < λ. Contradiction. 4
3
Lemma 7.4.2. Let A '= B be two minimum cuts such that T := A ∪ B is also
a minimum cut. Then
) * ) * λ
w A, T̄ = w B, T̄ = w (A \ B, B) = w (A, B \ A) = .
2
) * ) *
Proof. As in the Figure 7.2, let) a = *w A, T̄ , b = w )B, T̄ *, α = w (A, B \ A)
and
) β= * w (B, A \ B). Then w A, Ā = a + α) = λ, w B, B̄* = b + β = λ and
w )T, T̄ = a + *b = λ. We also know that w A \ B, B ∪ T̄ = a + β ≥ λ and
w B \ A, A ∪ T̄ = b + α ≥ λ. This system of equations and inequalities has
only one unique solution: a = α = b = β = λ2 . 4
3

Definition 7.4.3. A pair )S1 , S2 * is called crossing cut, if S1 , S2 are two min-
imum cuts and neither S1 ∩ S2 , S1 \ S2 , S2 \ S1 nor S¯1 ∩ S¯2 is empty.
Lemma 7.4.4. Let )S1 , S2 * be crossing cuts and let A = S1 ∩ S2 , B = S1 \ S2 ,
C = S2 \ S1 and D = S¯1 ∩ S¯2 . Then
a. A, B, C and D are minimum cuts
150 F. Kammer and H. Täubig

Sum of the weights


of edges that cross
: a
A B : b
: a
T : b

Fig. 7.2. Intersection of two minimum cuts A and B

b. w(A, D) = w(B, C) = 0
c. w(A, B) = w(B, D) = w(D, C) = w(C, A) = λ2 .
Proof. Since we know that S1 and S2 are minimum cuts, we can conclude
) *
w S1 , S¯1 = w(A, C) + w(A, D) + w(B, C) + w(B, D) = λ
) *
w S2 , S¯2 = w(A, B) + w(A, D) + w(B, C) + w(C, D) = λ
and since there is no cut with weight smaller than λ, we know that
) *
w A, Ā = w(A, B) + w(A, C) + w(A, D) ≥ λ
) *
w B, B̄ = w(A, B) + w(B, C) + w(B, D) ≥ λ
) *
w C, C̄ = w(A, C) + w(B, C) + w(C, D) ≥ λ
) *
w D, D̄ = w(A, D) + w(B, D) + w(C, D) ≥ λ
Summing up twice the middle and the right side of the first two equalities
we obtain
2·w(A, B)+2·w(A, C)+4·w(A, D)+4·w(B, C)+2·w(B, D)+2·w(C, D) = 4·λ
and summing up both side of the four inequalities we have
2·w(A, B)+2·w(A, C)+2·w(A, D)+2·w(B, C)+2·w(B, D)+2·w(C, D) ≥ 4·λ
Therefore w(A, D) = w(B, C) = 0. In other words, there are no diagonal
edges in Figure 7.3.
For a better imagination, let us assume that the length of the four inner line
segments in the figure separating A, B, C and D is proportional to the sum of
the weights of all edges crossing this corresponding line segments. Thus the total
length l of both horizontal or both vertical lines, respectively, is proportional to
the weight λ.
Let us assume the four line segments have different length, in other words,
the two lines separating the sets S1 from S¯1 or S2 from S¯2 , respectively, do not
cross each other exactly in the midpoint of the square, then the total length of
the separating line segments of one vertex set ∆ = A, B, C or D is shorter then
l. Thus w(∆, ∆) ¯ < λ. Contradiction.
) As a
* consequence,
) * w(A,) B)* = w(B, ) D)* = w(D, C) = w(C, A) = 2 and
λ

w A, Ā = w B, B̄ = w C, C̄ = w D, D̄ = λ. 4
3
7 Connectivity 151

A B : S1
: S2
C D
Fig. 7.3. Crossing cuts )S1 , S2 * with S1 := A ∪ B and S2 := A ∪ C

A crossing cut in G = (V, E) partitions the vertex set V into exactly four
parts. A more general definition is the following, where the vertex set can be
divided in three or more parts.
Definition 7.4.5. A circular partition is a partition of V into k ≥ 3 disjoint
sets V1 , V2 , . . . , Vk such that
(
λ/2 : |i − j| = 1 mod k
a. w (Vi , Vj ) =
0 : otherwise
b. If S is a minimum cut, then
1. S or S̄ is a proper subset of some Vi or
2. the circular partition is a refinement of the partition defined by the min-
imum cut S. In other words, the minimum cut is the union of some of
the sets of the circular partition.
Let V1 , V2 , . . . , Vk) be the* disjoint sets of a circular partition, then for all
1 ≤ a ≤ b < k, S := ∪bi=a Vi is a minimum cut. Of course, the complement of
S containing Vk is a minimum cut, too. Let us define these minimum cuts as
circular partition cuts. Especially each Vi , 1 ≤ i ≤ k, is a minimum cut (property
a. of the last definition).
Consider a minimum cut S such that neither S nor its complement is con-
tained in a set of the circular partition. Since S is connected (Observation 7.2.2),
S or its complement are equal to ∪bi=a Vi for some 1 ≤ a < b < k.
Moreover, for all sets Vi of a circular partition, there exists no minimum cut
S such that )Vi , S* is a crossing cut (property b. of the last definition).
Definition 7.4.6. Two different circular partitions P := {U1 , . . . , Uk } and Q :=
{V1 , . . . , Vl } are compatible if there is a unique r and s, 1 ≤ r, s ≤ k, such that
for all i '= r : Ui ⊆ Vs and for all j '= s : Vj ⊆ Ur .

Lemma 7.4.7 ([216]). All different circular partitions are pairwise compatible.
Proof. Consider two circular partitions P and Q in a graph G = (V, E). All sets
of the partitions are minimum cuts. Assume a set S ∈ P is equal to the union of
more than one and less than all sets of Q. Exactly two sets A, B ∈ Q contained
in S are connected by at least an edge to the vertices V \ S. Obtain T from S
by replacing A ⊂ S by an element of Q connected to B and not contained in S.
Then )S, T * is a crossing cut, contradiction.
152 F. Kammer and H. Täubig

ar 1
+ bs 1
+

ak bl
ar bs
a1 b1

ar-1 bs-1
Fig. 7.4. Example graph G = ({a1 . . . ar , b1 . . . bs } , E) shows two compatible partitions
P, Q defined as follows:

P := {{a1 }, . . . , {ar−1 }, {ar , b1 , . . . bl }, {ar+1 }, . . . {ak }}

Q := {{b1 }, . . . , {bs−1 }, {bs , a1 , . . . ak }, {bs+1 }, . . . {bl }}

Therefore each set of P or its complement is contained in some set of Q.


Assume two sets of P are contained in two different sets of Q. Since each
complement of the remaining sets of P cannot be contained in one set of Q,
each remaining set of P must be contained in one subset of Q. Thus, P = Q.
Contradiction.
Assume now all sets of P are contained in one set Y of Q. Then Y = V .
Again a contradiction.
Since the union of two complements of sets in P is V and Q contains at least
three sets, only one complement can be contained in one set of Q. Thus, there
is exactly one set X of P that is not contained in Y of Q, but X̄ ⊂ Y . 4
3
Lemma 7.4.8. If S1 , S2 and S3 are pairwise crossing cuts, then

S1 ∩ S2 ∩ S3 = ∅.

Proof. Assume that the lemma is not true. As shown in Figure 7.5, let
) *
a = w S3 \ (S1 ∪ S2 ) , S1 ∩ S2 ∩ S3
b = w ((S2 ∩ S3 ) \ S1 , S2 \ (S1 ∪ S3 ))
c = w (S1 ∩ S2 ∩ S3 , (S1 ∩ S2 ) \ S3 )
d = w ((S1 ∩ S3 ) \ S2 , S1 \ (S2 ∪ S3 ))
On one hand S1 ∩ S2 is a minimum cut (Lemma 7.4.4.a.) so that c ≥ λ2
(Lemma 7.4.1). On the other hand c + b = c + d = λ2 (Lemma 7.4.4.c.). Therefore
b = d = 0 and (S1 ∩ S3 ) \ S2 = (S2 ∩ S3 ) \ S1 = ∅.
If we apply Lemma 7.4.4.b. to S1 and S2 , then S1 ∩ S2 ∩ S3 and S3 \ (S1 ∪ S2 )
are not connected. Contradiction. 4
3
7 Connectivity 153

S1 c S2
d b

S3
a

Fig. 7.5. Three pairwise crossing cuts S1 ,S2 and S3

Lemma 7.4.9. If S1 , S2 and T are minimum cuts with S1 ⊂ S2 , T '⊂ S2 and


)S1 , T * is a crossing cut, then A := (S2 \ S1 ) \ T , B := S1 \ T , C := S1 ∩ T and
D := (S2 \ S1 ) ∩ T are minimum cuts, w(A, B) = w(B, C) = w(C, D) = λ2 and
w(A, C) = w(A, D) = w(B, D) = 0.
Proof. Since )S1 , T * and therefore )S2 , T * is a crossing cut,

λ λ
w(A ∪ B, C ∪ D) = (1), w(B, C) = (2),
2 2
) * ) * λ
w (A, B) + w B, S1 ∪ S2 = w B, A ∪ S1 ∪ S2 = (3) and
2
) * ) * ) * λ
w A, S1 ∪ S2 + w B, S1 ∪ S2 = w A ∪ B, S1 ∪ S2 = (4).
2
All) equalities* follow from Lemma 7.4.4.c.. Moreover w (A, T \ S2 ) = 0,
w D, S1 ∪ S2 = 0 (7.4.4.b.) and B, C are minimum cuts. Since (1), (2) and

w(A ∪ B, C ∪ D) = w(A, C) + w(A, D) + w(B, C) + w(B, D),

we can conclude that w(A, C) = w(A, D) )= w(B, D) *= 0.


A consequence of (3) and (4) is w A, S1 ∪ S2 = w (A, B). Moreover,
) * ) *
w (A, B) ≥ λ2 (Lemma 7.4.1) and w A, S1 ∪ S2 ≤ w A, S1 ∪ S2 = λ2 . There-
) *
fore w A, S1 ∪ S2 = w(A, B) = λ2 and A is a minimum cut.
With a similar argument we can see, w(C, D) = λ2 and D is a minimum cut.
Therefore, the general case shown in Figure 7.6(a) can always be transformed
into the Figure 7.6(b). 4
3
For short, given some sets S1 , . . . , Sk , let
k (
< 8
Si if αi = 1
FSα11,...S
,...,αk
= and
k Si if αi = 0
i=1
154 F. Kammer and H. Täubig

: S1 : S2 :T

A D A B C D
BC

(a) (b)

Fig. 7.6. Intersection of three minimum cuts

 
=
F{S1 ,...,Sk } =  F{Sα11,...,S
,...,αk 
k}
\ {∅} .
α1 ,...,αk ∈{0,1}k

Lemma 7.4.10. Let )S1 , S2 * be a crossing cut and A ∈ F{S1 ,S2 } . Choose B ∈
F{S1 ,S2 } such that w (A, B) = λ2 . For all crossing cuts )B, T *:
λ ) * λ
w (A, B ∩ T ) = or w A, B ∩ T̄ =
2 2
Proof. W.l.o.g. A = S1 ∩ S2 (if not, interchange S1 and S¯1 or S2 and S¯2 ),
B = S1 \ S2 (if not, interchange S1 and S2 ). Let C = S2 \ S1 and D = S¯1 ∩ S¯2 .
Then (∗) : w(B, C) = 0 (Lemma 7.4.4.b.). Consider the following four cases:
T ⊂ (A ∪ B) (Figure 7.7(a)) : w (A, B ∩ T ) = λ
2 (Lemma 7.4.9)

T ∩ D '= ∅ : Because )S1 , T * is a crossing cut,

w (A \ T, A ∩ T ) + w (A \ T, B ∩ T ) + w (B \ T, A ∩ T ) + w (B \ T, B ∩ T )

= w ((A \ T ) ∪ (B \ T ) , (A ∩ T ) ∪ (B ∩ T ))
λ
= w (S1 \ T, S1 ∩ T ) = .
2
Together with w(B \ T, B ∩ T ) ≥ λ2 (Lemma 7.4.1), we can conclude
– w(A \ T, A ∩ T ) = 0 and therefore A ∩ T = ∅ or A \ T = ∅,
– w(A \ T, B ∩ T ) = 0 (1) and
– w(A ∩ T, B \ T ) = 0 (2).
(1)
Note that w(A, B) = λ2 . If A ∩ T = ∅, w(A, B ∩ T ) = 0 and w(A, B \ T ) = λ2 .
(2)
Otherwise A \ T = ∅, w(A, B \ T ) = 0 and w(A, B ∩ T ) = λ2 .
7 Connectivity 155

T '⊂ (A ∪ B) and T ∩ D = ∅ (3) and (A ∪ C) ⊂ T (4) (Figure 7.7(b)) :


(∗) (3),(4) λ
w (A, T ∩ B) = w (A ∪ C, T ∩ B) = w ((A ∪ C) ∩ T, T \ (A ∪ C)) ≥ ,
2
since (A ∪ C) is a minimum cut (Lemma 7.4.1). Using the fact w(A, B) = λ2 ,
we get w (A, T ∩ B) = λ2 .

T '⊂ (A ∪ B) and T ∩ D = ∅ (5) and (A ∪ C) '⊂ T (Figure 7.7(c)) :


(∗) (5) λ
w (A, T ∩ B) = w (A ∪ C, T ∩ B) = w (A ∪ C, T \ (A ∪ C)) = ,
2
since )A ∪ C, T * is a crossing cut.

This concludes the proof. 4


3

: S1 : S2 :T

A B A B A B
C D C D C D
(a) (b) (c)

Fig. 7.7. A minimum cut T and a crossing cut )S1 , S2 *

Corollary 7.4.11. The intersection of a crossing cut partitions the vertices of


the input graph into four minimum cuts. Lemma 7.4.4.c. guarantees us that
for each of the four minimum cuts A there exist two of the three remaining
minimum cuts B, C such that w (A, B) = w (A, C) = λ2 . Although set B or C
may be divided in smaller parts by further crossing cuts, there are always exactly
two disjoint minimum cuts X ⊆ B and Y ⊆ C with w (A, X) = w (A, Y ) = λ2 .
Proof. Assume the corollary is not true. Let )S, X1&2 * be the first crossing cut
that divides the set X1&2 with w (A, X1&2 ) = λ2 into the > two?disjoint sets X1 , X2
with w (A, X1 ) , w (A, X2 ) ≥ 0. But then )S, B* or S̄, B is also a crossing
cut, which divides B into B1 and B2 with X1 ⊆ B1 and X2 ⊆ B2 . Thus,
w (A, B1 ) , w (A, B2 ) ≥ 0. This is a contradiction to Lemma 7.4.10. 4
3
156 F. Kammer and H. Täubig

Different crossing cuts interact in a very specific way, as shown in the next
theorem.
Theorem 7.4.12 ([63, 153]). In a graph G = (V, E), for each partition P of
V into 4 disjoint sets due to a crossing cut in G, there exists a circular partition
in G that is a refinement of P .
Proof. Given crossing cut )S1 , S2 *, choose the set
" #
Λ := S1 ∩ S2 , S1 \ S2 , S2 \ S1 , S1 ∪ S2

as a starting point.
As long as there is a crossing cut )S, T * for some T '∈ Λ and S ∈ Λ, add T
to Λ. This process terminates since we can only add each set T ∈ P(V ) into Λ
once. All sets in Λ are minimum cuts. Definition 7.4.5.b. is satisfied for Λ.
The disjoint minimum cuts F (Λ) give us a partitioning of the graph. All sets
in F (Λ) can be built by crossing cuts of minimum cuts in Λ. Therefore, each set in
F (Λ) has exactly two neighbors, i.e., for each set X ∈ F(Λ), there exist exactly
two different sets Y, Z ∈ F(Λ) such that w(X, Y ) = w(X, Z) = λ2 (Corollary
7.4.11). For all other sets Z ∈ F(Λ), w(X, Z) = 0. Since G is a connected graph,
all sets in F (Λ) can be ordered, so that Definition 7.4.5.a. holds. Observe that
Definition 7.4.5.b. is still true, since splitting the sets in Λ into smaller sets still
allows a reconstruction of the sets in Λ. 4
3
&) *'
Lemma 7.4.13 ([63, 153]). A graph G = (V, E) has O |V2 | many mini-
&) *'
mum cuts and this bound is tight. This means that a graph can have Ω |V2 |
many minimum cuts.
Proof. The upper bound is a consequence of the last theorem. Given a graph
G = (V, E), the following recursive function Z describes the number of minimum
cuts in G:

 %k ) * A circular partition

 (Z (|Vi |)) + k2

 i=1 V , . . . , Vk exists in G

 1

Z (|V |) = No circular partition, but a



 Z (|S|) + Z (|V − S|) + 1

 minimum cut S exists in G



0 otherwise

It is easy to see that this function achieves the maximum in &)the*'case where
a circular partition W1 , . . . , W|V | exist. Therefore Z (|V |) = O |V2 | .
)) **
The lower bound is achieved by a simple cycle of n vertices. There are Ω n2
pairs of edges. Each pair of edges defines another two minimum cuts S and S̄.
These two sets are separated by simply removing the pair of edges. 4
3
7 Connectivity 157

7.5 Cactus Representation of All Minimum Cuts


In the following, a description of the cactus is given. First consider a graph
G = (V, E) without any circular partitions. Then due to the absence of all
crossing cuts, all minimum cuts of G are laminar.
A set S of sets is called laminar if for every pair of sets S1 , S2 ∈ S, either
S1 and S2 are disjoint or S1 is contained in S2 or vice versa. Therefore each
set T ∈ S contained in some S1 , S2 , . . . ∈ S has a unique smallest superset.
For clarity, we say that a tree has nodes and leaves, while a graph has vertices.
Each laminar set S can be represented in a tree. Each node represents a set
in S; the leaves represent the sets in S that contain no other sets of S. The
parent of a node representing a set T represents the smallest superset of T . This
construction ends with a set of trees called forest. Add an extra node r to the
forest and connect all roots of the trees of the forest by an edge to this new
node r, which is now the root of one big tree. Therefore, the nodes of one tree
represent all sets of S, and the root of the tree represents the entire underlying
set, i.e. the union of all elements of all S ∈ S. If this union has n elements, then
such a tree can have at most n leaves and therefore at most 2n − 1 nodes.
Since all minimum cuts G are laminar, these can be represented by a tree
TG defined as follows. Consider the smaller vertex set of every minimum cut.
Denote this set of sets as Λ. If the vertex sets of a minimum cut are of same
size, take one of these sets. Represent each set of Λ by a single node. Two nodes
corresponding to minimum cuts A and B in G are connected by an edge if A ⊂ B
and there is no other minimum cut C such that A ⊂ C ⊂ B. The roots of the
forest represent the minimum cuts in Λ that are contained in no other minimum
cut in Λ. Again, connect all roots of the forest by an edge to a single extra node
that we define as root of the tree.
Because removing one edge in the tree separates a subtree from the rest of the
tree, let us define the following mapping: each vertex of the graph G is mapped
to the node of the tree TG that corresponds to the smallest cut containing this
vertex. All vertices that are contained in no node of TG are mapped to the root
of TG .
For each minimum cut S of G, the vertices of S are then mapped to some set
of nodes X such that there is an edge and removing this edge separates the nodes
X from the rest of the tree. Conversely, removing one edge from TG separates
the nodes of the tree into two parts such that the set of all vertices mapped into
one part is a minimum cut.
If G has no circular partitions, the tree TG is the cactus CG for G. The
number of nodes of a cactus is bounded by 2 |V | − 1.
Consider a graph G = (V, E) that has only one circular partition V1 , . . . Vk .
The circular partition cuts can be represented by a circle of k nodes. For 1 ≤
i ≤ k, the vertices of each part Vi are represented by one node Ni of the circle in
such a way that two parts Vi and Vi+1 are represented by two adjacent nodes.
Now we make use of the fact that for each minimum cut S that is no circular
partition cut, either S or S̄ is a proper subset of a Vi . Therefore, we can construct
the tree T(Vi ,E) for all minimum cuts that are a subset of Vi , but now with the
158 F. Kammer and H. Täubig

restriction that only the vertices of Vi are mapped to this tree. The root of
T(Vi ,E) corresponds exactly to the set Vi . Thus we can merge node Ni of the
circle and the root of T(Vi ,E) for all 1 ≤ i ≤ k. This circle connected with all
the trees is the cactus CG for G. The number of nodes is equal to the sum of
all nodes in the trees T(Vi ,E) with 1 ≤ i ≤ k. Therefore, the number of nodes of
the cactus is bounded by 2 |V | − 1 and again, there is a 1 − 1 correspondence
between minimum cuts in G and the separation of CG into two parts.
Now consider a graph G = (V, E) with the circular partitions P1 , . . . , Pz .
Take all circular partitions as a set of sets. Construct a cactus CG representing
the circular partition cuts of G in the following way.
The vertices of each set F ∈ FP1 ∪...∪Pz are mapped to one node and two
nodes are connected, if for their corresponding sets F1 and F2 , w (F1 , F2 ) > 0.
Then each circular partition creates one circle in CG . Since all circular partitions
are pairwise compatible, the circles are connected by edges that are not part of
any circle. The cactus CG is now a tree-like graph (Figure 7.8).
After representing the remaining minimum cuts that are not part of a circular
partition, we get the cactus TC for G. As before, the number of nodes of the
cactus is bounded by 2 |V | − 1.

P1 P2 P5

P6

P4
P3

Fig. 7.8. A cactus representing the circular partition cuts of 6 circular partitions

7.6 Flow-Based Connectivity Algorithms


We distinguish algorithms that check k-vertex/edge-connectivity of a graph G
for a given natural number k, and algorithms that compute the vertex/edge-
connectivity κ(G) or λ(G) respectively. (A third kind of algorithms computes
the maximal k-vertex/edge-connected subgraphs (k-components), which is the
subject of discussion in Section 7.8.)
7 Connectivity 159

Most of the algorithms for computing vertex- or edge-connectivities are based


on the computation of the maximum flow through a derived network. While the
flow problem in undirected graphs can be reduced to a directed flow problem of
comparable size [220], for the other direction only a reduction with increased ca-
pacities is known [478]. There were several algorithms published for the solution
of (general) flow problems, see Table 7.1.

Table 7.1. The history of max-flow algorithms


1955 Dantzig & Fulkerson [231, 141]
Network simplex method O(n2 mU ) [140, 139]
1956 Ford & Fulkerson [218, 219]
Augmenting path / Labeling O(nmU ) [220]
1969 Edmonds & Karp [172]
Shortest augmenting path O(nm2 ) [593]
Capacity scaling O(m2 log U )
1970 Dinitz [150]
Layered network / blocking flow O(n2 m)
1973 Dinitz [151, 234]
Capacity scaling O(nm log U )
1974 Karzanov [350]
Preflow-push / layered network O(n3 )

1977 Cherkassky O(n2 m) [122, 123]
3
1978 Malhotra, Kumar, Maheshwari O(n ) [406]
1978 Galil O(n5/3 m2/3 ) [236]
1979 Galil & Naamad / Shiloach O(nm(log n)2 ) [238, 518]
1980 Sleater & Tarjan [525]
Dynamic trees O(nm log n)
1985 Goldberg [249]
Push-relabel O(n3 )
1986 Goldberg & Tarjan [252]
Push-relabel O(nm log(n2 /m))
1987 Ahuja & Orlin [7]
Excess scaling O(nm + n2 log U )
1990 Cheriyan, Hagerup, Mehlhorn [119]
Incremental algorithm O(n3 / log n)
1990 Alon [118, 20]
Derandomization O(nm + n8/3 log n)
1992 King, Rao, Tarjan [118, 356]
Online game O(nm + n2+" )
1993 Phillips & Westbrook [476]
Online game O(nm logm/n n + n2 log 2+ε n)
1998 Goldberg & Rao [250]
√ n2
Non-unit length function O(min(n2/3 , m)m log m
log U )

U denotes the largest possible capacity (integer capacities case only)

Better algorithms for the more restricted version of unit capacity networks
exist.
160 F. Kammer and H. Täubig

Definition 7.6.1. A network is said to be a unit capacity network (or 0-1


network) if the capacity is 1 for all edges. A unit capacity network is of type 1
if it has no parallel edges. It is called type 2 if for each vertex v (v '= s, v '= t)
either the in-degree d− (v) or the out-degree d+ (v) is only 1.
Lemma 7.6.2. 1. For unit capacity networks, the computation of the maxi-
mum flow can be done (using Dinitz’s algorithm) in O(m3/2 ).
2. For unit capacity networks of type 1, the time complexity of Dinitz’s algo-
rithm is O(n2/3 m).
3. For unit capacity networks of type 2, the time complexity of Dinitz’s algo-
rithm is O(n1/2 m).
For a proof of the lemma see [188, 187, 349].
While the best bound for directed unit capacity flow problems differs only by
logarithmic factors from the best known bound for integer capacities, even better
bounds
√ for the case of undirected unit capacity networks exist: O(min(m, n3/2 )
m) by Goldberg and Rao [251], O(n7/6 m2/3 ) by Karger and Levine [343].

7.6.1 Vertex-Connectivity Algorithms

Table 7.2. The history of computing the vertex-connectivity κ


Year Author(s) MaxFlow calls Compute κ Ref.
1974 Even & Tarjan (κ + 1)(n − δ − 1) O(κn3/2 m) [188]
O(n1/2 m2 )
1984 Esfahanian & n − δ − 1 + O((n−δ +κδ −κ2 /2)· [183]
Hakimi κ(2δ−κ−3)/2 n2/3 m)
1996 Henzinger, O(min{κ3 + n, κn}κn) [298]
Rao, Gabow

Table 7.3. The history of checking vertex-connectivity


Year Author(s) MaxFlow calls Check k-VC Ref.
k+1 2 3
1969 Kleitman k(n − δ) − O(k n ) [362]
2
k
1973 Even n−k+ O(k3 m + knm) [186]
2
k−1
1984 Esfahanian & Hakimi n−k+ O(k3 m + knm) [183]
2

The basis of all flow-based connectivity algorithms is a subroutine that com-


putes the local connectivity between two distinct vertices s and t. Even [185, 186,
7 Connectivity 161

a a’ a"

s t s’ s" t’ t"

b b’ b"

Fig. 7.9. Construction of the directed graph Ḡ that is derived from the undirected
input graph G to compute the local vertex-connectivity κG (s, t)

187] presented a method for computing κG (s, t) that is based on the following
construction: For the given graph G = (V, E) having n vertices and m edges we
derive a directed graph Ḡ = (V̄ , Ē) with |V̄ | = 2n and |Ē| = 2m+ n by replacing
each vertex v ∈ V with two vertices v $ , v $$ ∈ V̄ connected by an (internal) edge
ev = (v $ , v $$ ) ∈ Ē. Every edge e = (u, v) ∈ E is replaced by two (external) edges
e$ = (u$$ , v $ ), e$$ = (v $$ , u$ ) ∈ Ē, see Figure 7.9.
κ(s, t) is now computed as the maximum flow in Ḡ from source s$$ to the
target t$ with unit capacities for all edges2 . For a proof of correctness see [187].
For each pair v $ , v $$ ∈ V̄ representing a vertex v ∈ V the internal edge (v $ , v $$ )
is the only edge that emanates from v $ and the only edge entering v $$ , thus
the network Ḡ is of type 2. According to Lemma 7.6.2 the computation√of the
maximum flow resp. the local vertex-connectivity has time complexity O( nm).
A trivial algorithm for computing κ(G) could determine the minimum for the
local connectivity of all pairs of vertices. Since κG (s, t) = n − 1 for all pairs (s, t)
that are directly connected by an edge, this algorithm would make n(n−1) 2 −m
calls to the flow-based subroutine. We will see that we can do much better.
If we consider a minimum vertex separator S ⊂ V that separates a ‘left’
vertex subset L ⊂ V from a ‘right’ subset R ⊂ V , we could compute κ(G) by
fixing one vertex s in either subset L or R and computing the local connectivities
κG (s, t) for all vertices t ∈ V \ {s} one of which must lie on the other side of the
vertex cut. The problem is: how to select a vertex s such that s does not belong
to every minimum vertex separator? Since κ(G) ≤ δ(G) (see Theorem 7.1.1), we
could try δ(G) + 1 vertices for s, one of which must not be part of all √ minimum
vertex cuts. This would result in an algorithm of complexity O((δ+1)·n· nm)) =
O(δn3/2 m)
Even and Tarjan [188] proposed Algorithm 13 that stops computing the local
connectivities if the size of the current minimum cut falls below the number of
examined vertices.
The resulting algorithm examines not more than κ + 1 vertices in the loop
for variable i. Each vertex has at least δ(G) neighbors, thus at most O((n −
δ − 1)(κ + 1)) calls to the maximum flow subroutine are carried out. Since
κ(G) ≤ 2m/n (see Theorem 7.1.8), the minimum capacity is found√not later
than in call 2m/n + 1. As a result, the overall time complexity is O( nm2 ).
2
Firstly, Even used c(ev ) = 1, c(e" ) = c(e"" ) = ∞ which leads to the same results.
162 F. Kammer and H. Täubig

Algorithm 13: Vertex-connectivity computation by Even & Tarjan


Input : An (undirected) graph G = (V, E)
Output: κ(G)
κmin ← n − 1
i←1
while i ≤ κmin do
for j ← i + 1 to n do
if i > κmin then
break
else if {vi , vj } ∈
/ E then
compute κG (vi , vj ) using the MaxFlow algorithm
κmin ← min{κmin , κG (vi , vj )}

return κmin

Esfahanian and Hakimi [183] further improved the algorithm by the following
observation:
Lemma 7.6.3. If a vertex v belongs to all minimum vertex-separators then there
are for each minimum vertex-cut S two vertices l ∈ LS and r ∈ RS that are
adjacent to v.
Proof. Assume v takes part in all minimum vertex-cuts of G. Consider the par-
tition of the vertex set V induced by a minimum vertex-cut S with a component
L (the ‘left’ side) of the remaining graph and the respective ‘right’ side R. Each
side must contain at least one of v’s neighbors, because otherwise v would not
be necessary to break the graph into parts. Actually each side having more than
one vertex must contain 2 neighbors since otherwise replacing v by the only
neighbor would be a minimum cut without v, in contrast to the assumption. 3 4
These considerations suggest Algorithm 14. The first loop makes n − δ − 1
calls to the MaxFlow procedure, the second requires κ(2δ − κ − 3)/2 calls. The
overall complexity is thus n − δ − 1 + κ(2δ − κ − 3)/2 calls of the maximum flow
algorithm.

7.6.2 Edge-Connectivity Algorithms


Similar to the computation of the vertex-connectivity, the calculation of the
edge-connectivity is based on a maximum-flow algorithm that solves the local
edge-connectivity problem, i.e. the computation of λG (s, t). Simply replace all
undirected edges by pairs of antiparallel directed edges with capacity 1 and
compute the maximum flow from the source s to the sink t. Since the resulting
network is of type 1, the computation is, due to Lemma 7.6.2, of complexity
O(min{m3/2 , n2/3 m}).
A trivial algorithm for computing λ(G) could simply calculate the minimum
of the local edge-connectivities for all vertex pairs. This algorithm would thus
make n(n − 1)/2 calls to the MaxFlow subroutine. We can easily improve the
7 Connectivity 163

Algorithm 14: Vertex-connectivity computation by Esfahanian & Hakimi


Input : An (undirected) graph G = (V, E)
Output: κ(G)
κmin ← n − 1
Choose v ∈ V having minimum degree, d(v) = δ(G)
Denote the neighbors N (v) by v1 , v2 , . . . , vδ
foreach non-neighbor w ∈ V \ (N (v) ∪ {v}) do
compute κG (v, w) using the MaxFlow algorithm
κmin ← min{κmin , κG (v, w)}
i←1
while i ≤ κmin do
for j ← i + 1 to δ − 1 do
if i ≥ δ − 2 or i ≥ κmin then
return κmin
else if {v, w} ∈
/ E then
compute κG (vi , vj ) using the MaxFlow algorithm
κmin ← min{κmin , κG (vi , vj )}
i ← i+1
return κmin

complexity of the algorithm if we consider only the local connectivities λG (s, t)


for a single (fixed) vertex s and all other vertices t. Since one of the vertices
t ∈ V \ {s} must be separated from s by an arbitrary minimum edge-cut, λ(G)
equals the minimum of all these values. The number of MaxFlow calls is thereby
reduced to n − 1. The overall time complexity is thus O(nm · min{n2/3 , m1/2 })
(see also [188]). The aforementioned algorithm also works if the whole vertex set
is replaced by a subset that contains two vertices that are separated by some
minimum edge-cut. Consequently, the next algorithms try to reduce the size of
this vertex set (which is called a λ-covering). They utilize the following lemma.
Let S be a minimum edge-cut of a graph G = (V, E) and let L, R ⊂ V be a
partition of the vertex set such that L and R are separated by S.
Lemma 7.6.4. If λ(G) < δ(G) then each component of G − S consists of more
than δ(G) vertices, i.e. |L| > δ(G) and |R| > δ(G).

Table 7.4. The history of edge-connectivity algorithms


Year Author(s) MaxFlow calls Check k-EC
Compute λ
1975 Even, Tarjan [188]
n−1 O(nm · min{n2/3 , m1/2 })
1984 Esfahanian, Hakimi [183]
< n/2 O(λnm)
1987 Matula [413] O(kn2 )
O(λn2 )
164 F. Kammer and H. Täubig

Proof. Let the elements of L be denoted by {l1 , l2 , . . . , lk } and denote the induced
edges by E[L] = E(G[L]).
k
$
δ(G) · k ≤ dG (li )
i=1
≤ 2 · |E[L]| + |S|
k(k − 1)
≤2· + |S|
2
< k(k − 1) + δ(G)
From δ(G) · (k − 1) < k(k − 1) we conclude |L| = k > 1 and |L| = k > δ(G) (as
well as |R| > δ(G)). 4
3
Corollary 7.6.5. If λ(G) < δ(G) then each component of G − S contains a
vertex that is not incident to any of the edges in S.
Lemma 7.6.6. Assume again that λ(G) < δ(G). If T is a spanning tree of G
then all components of G − S contain at least one vertex that is not a leaf of T
(i.e. the non-leaf vertices of T form a λ-covering).
Proof. Assume the converse, that is all vertices in L are leaves of T . Thus no
edge of T has both ends in L, i.e. |L| = |S|. Lemma 7.6.4 immediately implies
that λ(G) = |S| = |L| > δ(G), a contradiction to the assumption. 4
3
Lemma 7.6.6 suggests an algorithm that first computes a spanning tree of the
given graph, then selects an arbitrary inner vertex v of the tree and computes
the local connectivity λ(v, w) to each other non-leaf vertex w. The minimum of
these values together with δ(G) yields exactly the edge connectivity λ(G). This
algorithm would profit from a larger number of leaves in T but, unfortunately,
finding a spanning tree with maximum number of leaves is N P-hard.Esfahanian

Algorithm 15: Spanning tree computation by Esfahanian & Hakimi


Input : An (undirected) graph G = (V, E)
Output: Spanning Tree T with a leaf and an inner vertex in L and R, resp.
Choose v ∈ V
T ← all edges incident at v
while |E(T )| < n − 1 do
Select a leaf w in T such that for all leaves r in T :
|N (w) ∩ (V − V (T ))| ≥ |N (r) ∩ (V − V (T ))|
T ← T ∪ G[w ∪ {N (w) ∩ (V − V (T ))}]
return T

and Hakimi [183] proposed an algorithm for computing a spanning tree T of G


such that both, L and R of some minimum edge separator contain at least one leaf
of T , and due to Lemma 7.6.6 at least one inner vertex (see Algorithm 15).The
edge-connectivity of the graph is then computed by Algorithm 16. Since P is
7 Connectivity 165

Algorithm 16: Edge-connectivity computation by Esfahanian & Hakimi


Input : An (undirected) graph G = (V, E)
Output: λ(G)
Construct a spanning tree T using Algorithm 15
Let P denote the smaller of the two sets, either the leaves or the inner nodes of
T
Select a vertex u ∈ P
c ← min{λG (u, v) : v ∈ P \ {u}}
λ ← min(δ(G), c)
return λ

chosen to be the smaller of both sets, leaves and non-leaves, the algorithm re-
quires at most n/2 calls to the computation of a local connectivity, which yields
an overall complexity of O(λmn).
This could be improved by Matula [413], who made use of the following
lemma.
Lemma 7.6.7. In case λ(G) < δ(G), each dominating set of G is also a λ-
covering of G.
Similar to the case of the spanning tree, the edge-connectivity can now be com-
puted by choosing a dominating set D of G, selecting an arbitrary vertex u ∈ D,
and calculating the local edge-connectivities between u and all other vertices in
D. The minimum of all values together with the minimum degree δ(G) gives the
result. While finding a dominating set of minimum cardinality is N P-hard in
general, the connectivity algorithm can be shown to run in time O(nm) if the
dominating set is chosen according to Algorithm 17.

Algorithm 17: Dominating set computation by Matula


Input : An (undirected) graph G = (V, E)
Output: A dominating set D
Choose v ∈ V
D ← {v}
while V \ (D ∪ N (D)) &= ∅ do
Select a vertex w ∈ V \ (D ∪ N (D))
D ← D ∪ {w}
return D

7.7 Non-flow-based Algorithms


We consider now connectivity algorithms that are not based on network flow
techniques.
166 F. Kammer and H. Täubig

7.7.1 The Minimum Cut Algorithm of Stoer and Wagner


In 1994 an algorithm for computing a minimum capacity cut of an edge-weighted
graph was published by Stoer and Wagner [536]. It was unusual not only due
to the fact that it did not use any maximum flow technique as a subroutine.
Somewhat surprisingly, the algorithm is very simple in contrast to all other algo-
rithms (flow-based and non-flow-based) that were published so far. In principle,
each phase of the algorithm is very similar to Prim’s minimum spanning tree
algorithm and Dijkstra’s shortest path computation, which leads to an equiva-
lent running time of O(m + n log n) per phase and overall time complexity of
O(nm + n2 log n).

Algorithm 18: Minimum capacity cut computation by Stoer & Wagner


Input : An undirected graph G = (V, E)
Output: A minimum cut Cmin corresponding to λ(G)
Choose an arbitrary start vertex a
Cmin ← undefined
V" ← V
while |V " | > 1 do
A ← {a}
while A &= V " do
Add to A the most tightly connected vertex
Adjust the capacities between A and the vertices in V " \ A
C := cut of V " that separates the vertex added last to A from the rest of
the graph
if Cmin = undefined or w(C) < w(Cmin ) then
Cmin ← C
Merge the two vertices that were added last to A
return Cmin

After choosing an arbitrary start vertex a, the algorithm maintains a vertex


subset A that is initialized with the start vertex and that grows by repeatedly
adding a vertex v ∈ / A that has a maximum sum of weights for its connections
to vertices in A. If all vertices have been added to A, the last two vertices s and
t are merged into one. While edges between s and t are simply deleted by the
contraction, all edges from s and t to another vertex are replaced by an edge
weighted with the sum of the old weights. The cut that separates the vertex
added last from the rest of the graph is called the cut-of-the-phase.
Lemma 7.7.1. The cut-of-the-phase is a minimum s-t-cut in the current (mod-
ified) graph, where s and t are the two vertices added last to A in the phase.
Proof. Consider an arbitrary s-t-cut C for the last two vertices. A vertex v '= a
is called active if v and its immediate predecessor with respect to the addition
to A reside in different parts of C. Let Av be the set of vertices that are in A
just before v is added and let w(S, v) for a vertex set S denote the capacity sum
of all edges between v and the vertices in S.
7 Connectivity 167

The proof shows, by induction on the active vertices, that for each active
vertex v the adjacency to the vertices added before (Av ) does not exceed the
weight of the cut of Av ∪ {v} induced by C (denoted by Cv ). Thus it is to prove
that
w(Av , v) ≤ w(Cv )
For the base case, the inequality is satisfied since both values are equal for
the first active vertex. Assuming now that the proposition is true for all active
vertices up to active vertex v, the value for the next active vertex u can be
written as
w(Au , u) = w(Av , u) + w(Au \ Av , u)
≤ w(Av , v) + w(Au \ Av , u) (w(Av , u) ≤ w(Av , v))
≤ w(Cv ) + w(Au \ Av , u) (by induction assumption)
≤ w(Cu )
The last line follows because all edges between Au \ Av and u contribute their
weight to w(Cu ) but not to w(Cv ).
Since t is separated by C from its immediate predecessor s, it is always an
active vertex; thus the conclusion w(At , t) ≤ w(Ct ) completes the proof. 4
3
Theorem 7.7.2. A cut-of-the-phase having minimum weight among all cuts-of-
the-phase is a minimum capacity cut of the original graph.
Proof. For the case where the graph consists of only 2 vertices, the proof is
trivial. Now assume |V | > 2. The following two cases can be distinguished:
1. Either the graph has a minimum capacity cut that is also a minimum s-t-cut
(where s and t are the vertices added last in the first phase), then, according
to Lemma 7.7.1, we conclude that this cut is a minimum capacity cut of the
original graph.
2. Otherwise the graph has a minimum cut where s and t are on the same side.
Therefore the minimum capacity cut is not affected by merging the vertices
s and t.
Thus, by induction on the number of vertices, the minimum capacity cut of the
graph is the cut-of-the-phase having minimum weight. 4
3

7.7.2 Randomized Algorithms


In 1982, Becker et al. [53] proposed a probabilistic variant of the Even/Tarjan
vertex connectivity algorithm [188]. It computes the vertex connectivity of
an undirected graph G with error probability at most ε in expected time
O((− log ε)n3/2 m) provided that m ≤ 12 dn2 for some constant d < 1. This
improved the computation of κ for sparse graphs.
A few years later, Linial, Lovasz and Wigderson provided probabilistic algo-
rithms [392, 393] that were based on a geometric, algebraic and physical interpre-
tation of graph connectivity. As a generalization of the notion of s-t-numbering,
they showed that a graph G is k-connected if and only if it has a certain non-
degenerate convex embedding in k−1 , i.e., specifying any k vertices of G, the
168 F. Kammer and H. Täubig

1 1 1 1 1 1 1 1
A B C a e f A B C a e t
2 1 2 3 2 1 2 3 2 1 2 2 1 2
3 3
3 1 3 1 3 3
D E F b c s D E b c
4 2 3 4 2 3 4 2 1 F 4 2 1
s
G 1 H d 1 t G 1 H d 1

(a) (b) (c) (d)

1 1
A B a s A 1 a 1
1 1
2 1 2 2 1 2 2 1 B 2 1
C
3 1 3 1 3 3 C 3 3
D E F b c t D E b c t
F
4 2 H 4 2 4 2 4 2
1 H
G 1
d G 1 s 1

(e) (f) (g) (h)

1 1
A B a
4 BCDE
C A 2 a 2 A
1 1
FGH
2 E F 2 t s BCE
3
5
3
5
2 2 s
G FGH 4
s t
D 4 H b 4 D 7
t 7

(i) (j) (k) (l) (m)

Fig. 7.10. Example for the Stoer/Wagner algorithm. Upper case letters are vertex
names, lower case letters show the order of addition to the set S. The minimum cut
{ABDEG} | {CF H} has capacity 3 and is found in Part 7.10(f) (third phase)

vertices of G can be represented by points of k−1 such that no k are in a hy-


perplane and each vertex is in the convex hull of its neighbors, except for the k
specified vertices. As a result, they proposed a Monte-Carlo algorithm running
in time O(n2.5 + nκ2.5 ) (that errs with probability less than 1/n) and a Las
Vegas algorithm with expected runtime of O(n2.5 + nκ3.5 ).
A subsequent work of Cheriyan and Reif [120] generalized this approach
to directed graphs, which yielded a Monte Carlo algorithm with running time
O((M (n) + nM (k)) · log n) and error probability < 1/n, and a Las Vegas al-
gorithm with expected time O((M (n) + nM (k)) · k), where M (n) denotes the
complexity for the multiplication of n × n matrices.
Henzinger, Rao and Gabow [298] further improved the complexities by giving
an algorithm that computes the vertex connectivity with error probability at
most 1/2 in (worst-case) time O(nm) for digraphs and O(κn2 ) for undirected
7 Connectivity 169

graphs. For weighted graphs they proposed a Monte Carlo algorithm that has
error probability 1/2 and expected running time O(nm log(n2 /m)).

7.8 Basic Algorithms for Components


Super-linear algorithms for the computation of the blocks and the cut-vertices
as well as for the computation of the strongly connected components of a graph
were proposed in [470] and [386, 484, 485, 435], respectively. Later on, linear
time algorithms were published by Hopcroft and Tarjan [311, 542].

7.8.1 Biconnected Components


A problem that arises from the question which nodes of a network always re-
main connected in case one arbitrary node drops out is the computation of the
biconnected (or non-separable) components of a graph, also called blocks.
Let us consider a depth-first search in an undirected and connected graph
G = (V, E) where we label the traversed vertices with consecutive numbers from
1 to n = |V | using a pre-order numbering num. We observe that we inspect
two kinds of edges: the ones that lead to unlabeled vertices become tree edges,
and the ones that lead to vertices that were already discovered and labeled in a
former step we call backward edges.
For each vertex v we keep the smallest label of any vertex that is reachable
via arbitrary tree edges followed by not more than one backward edge, i.e. the
smallest number of any vertex that lies on some cycle with v. Whenever a new
vertex is discovered by the DFS, the low-entry of that vertex is initialized by its
own number.
If we return from a descent to a child w – i.e. from a tree edge (v, w) –,
we update low[v] by keeping the minimum of the child’s entry low[w] and the
current value low[v].
If we discover a backward edge (v, w), we update low[v] to be the minimum
of its old value and the label of w.
To detect the cut-vertices of the graph we can now utilize the following
lemma:
Lemma 7.8.1. We follow the method described above for computing the values
of low and num during a DFS traversal of the graph G. A vertex v is a cut-vertex
if and only if one of the following conditions holds:
1. if v is the root of the DFS tree and is incident to at least 2 DFS tree edges,
2. if v is not the root, but there is a child w of v such that low[w] ≥ num[v].
Proof. 1. Assume that v is the root of the DFS tree.
→ If v is incident to more than one tree edge, the children would be dis-
connected by removing vertex v from G.
170 F. Kammer and H. Täubig

← If v is a cut-vertex then there are vertices x, y ∈ V that are disconnected


by removing v, i.e. v is on every path connecting x and y. W.l.o.g. assume
that the DFS discovers x before y. y can only be discovered after the
descent to x returned to v, thus we conclude that v has at least two
children in the DFS tree.
2. Assume now that v is not the root of the DFS tree.
→ If there is a child w of v such that low[w] ≥ num[v] this means that
there is only one path connecting this successor w with all ancestors of
v. Thus v is a cut-vertex.
← If v is a cut-vertex, there are vertices x, y ∈ V such that v is on every path
connecting x and y. If all children of v had an indirect connection (via
arbitrary tree edges followed by one backward edge) to any ancestor of v
the remaining graph would be connected. Therefore one of the children
must have low[w] ≥ num[v].
This concludes the proof. 4
3
To find the biconnected components, i.e. the partition of the edges, we put
every new edge on a stack. Whenever the condition low[w] ≥ num[v] holds after
returning from a recursive call for a child w of v, the edges on top of stack
including edge (v, w) form the next block (and are therefore removed from the
stack).

A B G C A B

D C H B F D C
H E H E

G F A E G F
Fig. 7.11. Computation of biconnected components in undirected graphs.
Left: the undirected input graph. Middle: dfs tree with forward (straight) and back-
ward (dashed) edges. Right: the blocks and articulation nodes of the graph.

7.8.2 Strongly Connected Components


We now consider the computation of the strong components, i.e. the maximal
strongly connected subgraphs in directed graphs (see Section 2.2.1). Analogously
to the computation of biconnected components in undirected graphs, we use a
modified depth-first search that labels the vertices by consecutive numbers from
1 to n. In case the traversal ends without having discovered all vertices we have
to restart the DFS at a vertex that has not been labeled so far. The result is a
spanning forest F .
7 Connectivity 171

The edges e = (v, w) that are inspected during the DFS traversal are divided
into the following categories:
1. All edges that lead to unlabeled vertices are called tree edges (they belong
to the trees of the DFS forest).
2. The edges that point to a vertex w that was already labeled in a former step
fall into the following classes:
a) If num[w] > num[v] we call e a forward edge.
b) Otherwise, if w is an ancestor of v in the same DFS tree we call e a
backward edge.
c) Otherwise e is called a cross edge (because it points from one subtree to
another).

1 7 1 7

2 6 8 10 2 6 8 10

3 4 5 9 11 3 4 5 9 11

Fig. 7.12. DFS forest for computing strongly connected components in directed
graphs: tree, forward, backward, and cross edges

An example is shown in Figure 7.12.


Two vertices v, w are in the same strong component if and only if there exist
directed paths from v to w and from w to v. This induces an equivalence relation
as well as a partition of the vertex set (in contrast to biconnected components
where the edge set is partitioned while vertices may belong to more than one
component).
During the DFS traversal we want to detect the roots of the strong com-
ponents, i.e. in each component the vertex with smallest DFS label. As in the
case of the biconnected components we must decide for each descendant w of a
vertex v whether there is also a directed path that leads back from w to v. Now
we define lowlink[v] to be the smallest label of any vertex in the same strong
component that can be reached via arbitrarily many tree arcs followed by at
most one backward or cross edge.
Lemma 7.8.2. A vertex v is the root of a strong component if and only if both
of the following conditions are met:
1. There is no backward edge from v or one of its descendants to an ancestor
of v.
2. There is no cross edge (v, w) from v or one of its descendants to a vertex w
such that the root of w’s strong component is an ancestor of v.
This is equivalent with the decision whether lowlink[v] = num[v].
172 F. Kammer and H. Täubig

Proof. → Assume conversely that the condition holds but u is the root of v’s
strong component with u '= v. There must exist a directed path from v
to u. The first edge of this path that points to a vertex w that is not a
descendant of v in the DFS tree is a back or a cross edge. This implies
lowlink[v] ≤ num[w] < num[v], since the highest numbered common ancestor
of v and w is also in this strong component.
← If v is the root of some strong component in the actual spanning forest,
we may conclude that lowlink[v] = num[v]. Assuming the opposite (i.e.
lowlink[v] < num[v]), some proper ancestor of v would belong to the same
strong component. Thus v would not be the root of the SCC.
This concludes the proof. 4
3
If we put all discovered vertices on a stack during the DFS traversal (similar
to the stack of edges in the computation of the biconnected components) the
lemma allows us to ‘cut out’ the strongly connected components of the graph.
It is apparent that the above algorithms share their similarity due to the
fact that they are based on the detection of cycles in the graph. If arbitrary
instead of simple cycles (for biconnected components) are considered, this ap-
proach yields a similar third algorithm that computes the bridge- (or 2-edge-)
connected components (published by Tarjan [544]).

7.8.3 Triconnectivity
First results on graph triconnectivity were provided by Mac Lane [403] and
Tutte [555, 556]. In the sixties, Hopcroft and Tarjan published a linear time
algorithm for dividing a graph into its triconnected components that was based
on depth-first search [309, 310, 312]. Miller and Ramachandran [422] pro-
vided another algorithm based on a method for finding open ear decompo-
sitions together with an efficient parallel implementation. It turned out that
the early Hopcroft/Tarjan algorithm was incorrect, which was then modified by
Gutwenger and Mutzel [267]. They modified the faulty parts to yield a correct
linear time implementation of SPQR-trees. We now briefly review their algo-
rithm.
Definition 7.8.3. Let G = (V, E) be a biconnected (multi-) graph. Two vertices
a, b ∈ V are called a separation pair of G if the induced subgraph on the vertices
V \ {a, b} is not connected.
The pair (a, b) partitions the edges of G into equivalence classes E1 , . . . , Ek
(separation classes), s.t. two edges belong to the same class exactly if both lie
on some path p that contains neither a nor b as an inner vertex, i.e. if it contains
a or b it is an end vertex of p. The pair (a, b) is a separation pair if there are
at least two separation classes, except for the following special cases: there are
exactly two separation classes, and one of them consists of a single edge, or if
there are exactly three separation classes that all consist of a single edge. The
graph G is triconnected if it contains no separation pair.
7 Connectivity 173

Definition 7.8.4. Let (a, b) be a separation pair of a biconnected multigraph G


!l
and let the separation classes E1..k be divided into two groups E $ = i=1 Ei and
!k
E $$ = i=l+1 Ei , s.t. each group contains at least two edges. The two graphs
G$ = (V (E $ ∪ e), E $ ∪ e) and G$$ = (V (E $$ ∪ e), E $$ ∪ e) that result from dividing
the graph according to the partition [E $ , E $$ ] and adding the new virtual edge e =
(a, b) to each part are called split graphs of G (and they are again biconnected).
If the split operation is applied recursively to the split graphs, this yields the (not
necessarily unique) split components of G.
Every edge in E is contained in exactly one, and each virtual edge in exactly
two split components.
Lemma 7.8.5. Let G = (V, E) be a biconnected multigraph with |E| ≥ 3. Then
the total number of edges contained in all split components is bounded by 3|E|−6.
Proof. Induction on the number of edges of G: If |E| = 3, G cannot be split and
the lemma is true. Assume now, the lemma is true for graphs having at most
m − 1 edges. If the graph has m edges, the lemma is obviously true if G cannot
be split. Otherwise G can be split into two graphs having k + 1 and m − k + 1
edges with 2 ≤ k ≤ m − 2. By the assumption, the total number of edges is
bounded by 3(k + 1) − 6 + 3(m − k + 1) − 6 = 3m − 6. Thus, by induction on
the number of edges, the proof is complete. 4
3
There are split components of three types: triple bonds (three edges between
two vertices), triangles (cycles of length 3), and triconnected simple graphs. We
now introduce the reverse of the split operation: the merge graph of two graphs
G1 = (V1 , E1 ) and G2 = (V2 , E2 ), both containing the same virtual edge e, is
defined as G = (V1 ∪V2 , (E1 ∪E2 )\{e}). The triconnected components of a graph
are obtained from its split components by merging the triple bonds as much as
possible to multiple bonds and by merging the triangles as much as possible
to form polygons. Mac Lane [403] showed that, regardless of the (possibly not
unique) splitting and merging, we get the same triconnected components.
Lemma 7.8.6. The triconnected components of a (multi)graph are unique.
We now turn to the definition of SPQR-trees, which were initially defined
for planar [143], later also for general graphs [144]. A split pair of a biconnected
graph G is either a separation pair or a pair of adjacent vertices. A split com-
ponent of a split pair {u, v} is either an (u, v)-edge or an inclusion-maximal
subgraph of G, were {u, v} is not a split pair. A split pair {u, v} of G is called
a maximal split pair with respect to a split pair {s, t} of G if for any other split
pair {u$ , v $ }, the vertices u, v, s, and t are in the same split component.
Definition 7.8.7. Let e = (s, t) be an edge of G. The SPQR-tree T of G with re-
spect to this reference edge is a rooted ordered tree constructed from four different
types of nodes (S,P,Q,R), each containing an associated biconnected multigraph
(called the skeleton). T is recursively defined as follows:
(Q) Trivial Case: If G consists of exactly two parallel s-t-edges, then T is a single
Q-node with skeleton G.
174 F. Kammer and H. Täubig

(P) Parallel Case: If the split pair {s, t} has more than two split components
G1..k , the root of T is a P-node with a skeleton consisting of k parallel s-t-
edges e1..k with e1 = e.
(S) Series Case: If the split pair {s, t} has exactly two split components, one of
them is e; the other is denoted by G$ . If G$ has cut-vertices c1..k−1 (k ≥ 2)
that partition G into blocks G1..k (ordered from s to t), the root of T is an
S-node, whose skeleton is the cycle consisting of the edges e0..k , where e0 = e
and ei = (ci−1 , ci ) with i = 1..k, c0 = s and ck = t.
(R) Rigid Case: In all other cases let {s1 , t1 }, .., {sk , tk } be the maximal split
pairs of G with respect to {s, t}. Further let Gi for i = 1, .., k denote the
union of all split components of {si , ti } except the one containing e. The
root of T is an R-node, where the skeleton is created from G by replacing
each subgraph Gi with the edge ei = (si , ti ).
For the non-trivial cases, the children µ1..k of the node are the roots of the SPQR-
trees of Gi ∪ ei with respect to ei . The vertices incident with each edge ei are
the poles of the node µi , the virtual edge of node µi is the edge ei of the node’s
skeleton. The SPQR-tree T is completed by adding a Q-node as the parent of the
node, and thus the new root (that represents the reference edge e).
Each edge in G corresponds with a Q-node of T , and each edge ei in the skeleton
of a node corresponds with its child µi . T can be rooted at an arbitrary Q-node,
which results in an SPQR-tree with respect to its corresponding edge.
Theorem 7.8.8. Let G be a biconnected multigraph with SPQR-tree T .
1. The skeleton graphs of T are the triconnected components of G. P-nodes cor-
respond to bonds, S-nodes to polygons, and R-nodes to triconnected simple
graphs.
2. There is an edge between two nodes µ, ν ∈ T if and only if the two corre-
sponding triconnected components share a common virtual edge.
3. The size of T , including all skeleton graphs, is linear in the size of G.
For a sketch of the proof, see [267].
We consider now the computation of SPQR-trees for a biconnected multi-
graph G (without self-loops) and a reference edge er . We assume a labeling of
the vertices by unique indices from 1 to |V |. As a preprocessing step, all edges
are reordered (using bucket sort), first according to the incident vertex with the
lower index, and then according to the incident vertex with higher index, such
that multiple edges between the same pair of vertices are arranged successively.
In a second step, all such bundles of multiple edges are replaced by a new vir-
tual edge. In this way a set of multiple bonds C1 , .., Ck is created together with
a simple graph G$ .
In the second step, the split components Ck+1 , .., Cm of G$ are computed
using a dfs-based algorithm. In this context, we need the following definition:
Definition 7.8.9. A palm tree P is a directed multigraph that consists of a set
of tree arcs v → w and a set of fronds v 6→ w, such that the tree arcs form
7 Connectivity 175

a directed spanning tree of P (that is the root has no incoming edges, all other
vertices have exactly one parent), and if v 6→ w is a frond, then there is a directed
path from w to v.
Suppose now, P is a palm tree for the underlying simple biconnected graph
G$ = (V, E $ ) (with vertices labeled 1, .., |V |). The computation of the separation
pairs relies on the definition of the following variables:
& '

lowpt1(v) = min {v} ∪ {w|v →6→ w}
& & ''

lowpt2(v) = min {v} ∪ {w|v →6→ w} \ {lowpt1(v)}

These are the two vertices with minimum label, that are reachable from v by
traversing an arbitrary number (including zero) of tree arcs followed by exactly
one frond of P (or v itself, if no such option exists).
Let Adj(v) denote the ordered adjacency list of vertex v, and let D(v) be the
set of descendants of v (that is the set of vertices that are reachable via zero or
more directed tree arcs). Hopcroft and Tarjan [310] showed a simple method for
computing an acceptable adjacency structure, that is, an order of the adjacency
lists, which meets the following conditions:
1. The root of P is the vertex labeled with 1.
2. If w1 , .., wn are the children of vertex v in P according to the ordering in
Adj(v), then wi = v + |D(wi+1 ∪ .. ∪ D(wn )| + 1,
3. The edges in Adj(v) are in ascending order according to lowpt1(w) for tree
edges v → w, and w for fronds v 6→ w, respectively.
Let w1 , .., wn be the children of v with lowpt1(wi )) = u ordered according
to Adj(v), and let i0 be the index such that lowpt2(wi ) < v for 1 ≤ i ≤ i0
and lowpt2(wj ) ≥ v for i0 < j ≤ n. Every frond v 6→ w ∈ E $ resides between
v → wi0 and v → wi0 +1 in Adj(v).
An adequate rearrangement of the adjacency structure can be done in linear
time if a bucket sort with 3|V | + 2 buckets is applied to the following sorting
function (confer [310, 267]), that maps the edges to numbers from 1 to 3|V | + 2:

3lowpt1(w)
 if e = v → w and lowpt2(w) < v
φ(e) = 3w + 1 if e = v 6→ w


3lowpt1(w) + 2 if e = v → w and lowpt2(w) ≥ v
If we perform a depth-first search on G$ according to the ordering of the edges
in the adjacency list, then this partitions G$ into a set of paths, each consisting
of zero or more tree arcs followed by a frond, and each path ending at the vertex
with lowest possible label. We say that a vertex un is a first descendant of u0 if
there is a directed path u0 → · · · → un and each edge ui → ui+1 is the first in
Adj(ui ).
Lemma 7.8.10. Let P be a palm tree of a biconnected graph G = (V, E) that
satisfies the above conditions. Two vertices a, b ∈ V with a < b form a separation
pair {a, b} if and only if one of the following conditions is true:
176 F. Kammer and H. Täubig

Type-1 Case There are distinct vertices r, s ∈ V \ {a, b} such that b → r is a tree
edge, lowpt1(r) = a, lowpt2(r) ≥ b, and s is not a descendant of r.

Type-2 Case There is a vertex r ∈ V \ b such that a → r → b, b is a first
descendant of r (i.e., a, r, b lie on a generated path), a '= 1, every frond
x 6→ y with r ≤ x < b satisfies a ≤ y, and every frond x 6→ y with a < y < b

and b → w → x has lowpt1(w) ≥ a.
Multiple Edge Case (a, b) is a multiple edge of G and G contains at least four
edges.
For a proof, see [310].
We omit the rather technical details for finding the split components
Ck+1 , .., Cm . The main loop of the algorithm computes the triconnected compo-
nents from the split components C1 , .., Cm by merging two bonds or two polygons
that share a common virtual edge (as long as they exist). The resulting time com-
plexity is O(|V | + |E|). For a detailed description of the algorithm we refer the
interested reader to the original papers [309, 310, 312, 267].

7.9 Chapter Notes


In this section, we briefly discuss some further results related to the topic of this
chapter.

Strong and biconnected components. For the computation of strongly connected


components, there is another linear-time algorithm that was suggested by R.
Kosaraju in 1978 (unpublished, see [5, p. 229]) and that was published by
Sharir [517].
An algorithm for computing the strongly connected components using a non-
dfs traversal (a mixture of dfs and bfs) of the graph was presented by Jiang [331].
This algorithm reduces the number of disk operations in the case where a large
graph does not entirely fit into the main memory. Two space-saving versions of
Tarjan’s strong components algorithm (for the case of graphs that are sparse
or have many single-node components) were given by Nuutila and Soisalon-
Soininen [454].
One-pass algorithms for biconnected and strong components that do not com-
pute auxiliary quantities based on the dfs tree (e.g., low values) were proposed
by Gabow [235].

Average connectivity. Only recently, Beineke, Oellermann, and Pippert [56] con-
sidered the concept of average connectivity. This measure is defined as the av-
erage, over all pairs of vertices a, b ∈ V , of the maximum number of vertex-
disjoint paths between a and b, that is, the average local vertex-connectivity.
While the conventional notion of connectivity is rather a description of a worst
case scenario, the average connectivity might be a better description of the global
properties of a graph, with applications in network vulnerability and reliability.
Sharp bounds for this measure in terms of the average degree were shown by
7 Connectivity 177

Dankelmann and Oellermann [138]. Later on, Henning and Oellermann consid-
ered the average connectivity of directed graphs and provided sharp bounds for
orientations of graphs [294].

Dynamic Connectivity Problems. Quite a number of publications consider con-


nectivity problems in a dynamical setting, that is, in graphs that are changed by
vertex and/or edge insertions and deletions. The special case where only inser-
tions are allowed is called semi-dynamic, partially-dynamic, or incremental. Since
there is a vast number of different variants, we provide only the references for
further reading: [490, 377, 237, 223, 341, 577, 144, 296, 297, 155, 295, 154, 303].

Directed graphs. As already mentioned, the local connectivity in directed graphs


is not symmetric, which is the reason why many algorithms for undirected con-
nectivity problems do not translate to the directed case. Algorithms that com-
pute the edge-connectivity in digraphs were published by Schnorr [503] and
by Mansour and Schieber [407]. Another problem of interest is the compu-
tation of edge-disjoint branchings, which is discussed in several publications
[171, 232, 264, 551, 582].

Other measures. There are some further definitions that might be of interest.
Matula [410] defines a cohesiveness function for each element of a graph (ver-
tices and edges) to be the maximum edge-connectivity of any subgraph con-
taining that element. Akiyama et al. [13] define the connectivity contribution or
cohesiveness of a vertex v in a graph G as the difference κ(G) − κ(G − v).
Connectivity problems that aim at dividing the graph into more than two
components by removing vertices or edges are considered in conjunction with
the following terms: A shredder of an undirected graph is a set of vertices
whose removal results in at least three components, see for example [121]. The 2-
connectivity of a graph is the minimum number of vertices that must be deleted
to produce a graph with at least 2 components or with fewer than 2 vertices,
see [456, 455]. A similar definition exists for the deletion of edges, namely the
i-th order edge connectivity, confer [254, 255].

Acknowledgments. The authors thank the anonymous reviewer, the editors, and
Frank Schilder for critical assessment of this chapter and valuable suggestions.
We thank Professor Ortrud Oellermann for her support.
8 Clustering

Marco Gaertler

Clustering is a synonym for the decomposition of a set of entities into ‘natural


groups’. There are two major aspects to this task: the first involves algorithmic
issues on how to find such decompositions, i.e., tractability, while the second con-
cerns quality assignment, i.e., how good is the computed decomposition. Owing
to the informal notion of natural groups, many different disciplines have devel-
oped their view of clustering independently. Originally, clustering was introduced
to the data mining research as the unsupervised classification of patterns into
groups [324]. Since that time a comprehensive framework has started to evolve.
In the following, the simple yet fundamental paradigm of intra-cluster density
versus inter-cluster sparsity will be discussed exclusively. This restriction is nec-
essary in order to provide some insight into clustering theory, and to keep the
scope of this chapter. However, many other interpretations of natural decompo-
sition extend this framework, or are relatively similar. Another specialty is that
the input data is represented as networks that are not complete in general. In
the classic clustering theory, entities were embedded in metric spaces, and the
distance between them was related to their similarity. Thus, all pairwise simi-
larities were known at the beginning. In standard network analysis, the input
networks are usually sparse. Even if they are not, it is very unlikely that they
are complete. This will be the motivation for studying clustering methods that
deal with network input data.
Clustering, based either on the simple paradigm of intra-cluster density ver-
sus inter-cluster sparsity or on other more sophisticated formulations, focuses
on disjoint cliques as the ideal situation. In some instances the desired cases
are totally different. Models where clusters and their connection between each
other can have more complex structural properties are targeted in the following
chapters about roles (Chapter 9) and blockmodels (Chapter 10).
The popularity of density-based clustering is due to its similarity to the
human perception. Most things in our daily life are naturally grouped into cat-
egories. For example books are classified with respect to their content, e.g., sci-
entific, fiction, guidebooks, law, etc. Each topic can be refined, e.g., scientific
publications can be grouped according to their scientific discipline. The relation-
ship of elements within the same group is strong, whereas elements in different
groups typically have a weak relation. Most approaches that deal with infor-
mation processing are based upon this fact. For example finding a book with
a certain content. First, related topics are selected and only those books that

U. Brandes and T. Erlebach (Eds.): Network Analysis, LNCS 3418, pp. 178–215, 2005.
c Springer-Verlag Berlin Heidelberg 2005
(
8 Clustering 179

belong to these groups are examined closer. The recursive structure of topics
and subtopics suggests a repeated application of this technique. Using the clus-
tering information on the data set, one can design methods that explore and
navigate within the data with a minimum of human interaction. Therefore, it is
a fundamental aspect of automatic information processing.

Preliminaries
Let G = (V, E) be a directed graph. A clustering C = {C1 , . . . , Ck } of G is a
partition of the node set V into non-empty subsets Ci . The set E(Ci , Cj ) is the
set of all edges that have their origin in Ci and their destination in Cj ; E(Ci ) is
!k
a short-hand for E(Ci , Ci ). Then E(C) := i=1 E(Ci ) is the set of intra-cluster
edges and E(C) := E \ E(C) the set of inter-cluster edges. The number of intra-
cluster edges is denoted by m (C) and the number of inter-cluster edges by m (C).
In the following, we often identify a cluster Ci with the induced subgraph of G,
i.e., the graph G[Ci ] := (Ci , E(Ci )). A clustering is called trivial if either k = 1
(1-clustering) or k = n (singletons). A clustering with k = 2 is also called a cut
(see also Section 2.2.3).
The set of all possible clusterings is denoted by A (G). The set A (G) is par-
tially ordered with respect to inclusion. Given two clusterings C1 := {C1 , . . . , Ck }
and C2 := {C1$ , . . . , C'$ }, Equation (8.1) shows the definition of the partial order-
ing.
C1 ≤ C2 : ⇐⇒ ∀ 1 ≤ i ≤ k : ∃ j ∈ {1, . . . , 2} : Ci ⊆ Cj$ (8.1)
Clustering C1 is called a refinement of C2 , and C2 is called a coarsening of C1 .
A chain of clusterings, i.e., a subset of clusterings such that every pair is com-
parable, is also called a hierarchy. The hierarchy is called total if both trivial
clusterings are contained. A hierarchy that contains exactly one clustering of k
clusters for every k ∈ {1, . . . , n} is called complete. It is easy to see that such a
hierarchy has n clusterings and that no two of these clusterings have the same
number of clusters.
Besides viewing a clustering as a partition, it can also be seen as an equiv-
alence relation ∼C on V × V , where u ∼C v if u and v belong to the same
cluster in C. Note that the edge set E is also a relation over V × V , and it is
an equivalence relation if and only if the graph consists of the union of disjoint
cliques.
The power set of a set X is the set of all possible subsets, and is denoted
by P(X), see also Section 2.4. A cut function S : P(V ) → P(V ) maps a set of
nodes to a subset of itself, i.e.,
∀ V $ ⊆ V : S(V $ ) ⊆ V $ . (8.2)
Cut functions formalize the idea of cutting a node-induced subgraph into two
parts. For a given node subset V $ of V the cut function S defines a cut
by (S(V $ ), V $ \ S(V $ )). In order to exclude trivial functions, we require a cut
function to assign a non-empty proper subset whenever possible. Proper cut
functions in addition fulfill the condition (8.3).
180 M. Gaertler

∀ V $ ⊆ V : |V $ | > 1 =⇒ ∅ '= S(V $ ) ⊂ V $ . (8.3)


These functions are important for clustering techniques that are based on re-
cursive cutting. These methods will be introduced in Section 8.2.1, and some
examples are given in Section 8.2.2.

Graph model of this chapter. In this chapter, graph usually means simple and
directed graphs with edge weights and without loops.

Content Organization
The following is organized into three parts. The first one introduces measure-
ments for the quality of clusterings. They will provide a formal method to define
‘good’ clusterings. This will be important due to the informal foundation of
clustering. More precisely, these structural indices rate partitions with respect
to different interpretations of natural groups. Also, they provide the means to
compare different clusterings with respect to their quality. In the second part,
generic concepts and algorithms that calculate clusterings are presented. The fo-
cus is directed on the fundamental ideas, and not on concrete parameter choices.
Finally, the last section discusses potential enhancements. These extensions are
limited to alternative models for clusterings, some practical aspects, and Klein-
berg’s proposal of an axiomatic system for clustering.

8.1 Quality Measurements for Clusterings


As was pointed out in the introduction, clustering techniques are used to find
groups that are internally dense and that are only sparsely connected with each
other. Although this paradigm of intra-cluster density versus inter-cluster spar-
sity is more precise than the term ‘natural groups’, it is still based on our intuition
and not on a formal quantification. One way to mathematically express it is by
structural indices. These are mappings that assign a non-negative real number
to each clustering. Often their range is normalized to the unit interval, where one
means best possible structural behavior and zero means worst possible structural
behavior. In the following a general framework for indices is presented. Most of
the measurements can be expressed within it.
Let G = (V, E, ω) be a simple, weighted and directed graph, where ω : E →
0 represents the strength of the similarity relation modeled by the edges, and
+

let C = {C1 , . . . , Ck } be a clustering of G. It is indeed possible to have neg-


ative values as strength of similarity, which would express the dissimilarity of
two nodes. However, it is rarely the case that similarity and dissimilarity are
expressed within the same relation. A far more common case is to have two
(weighted) relations, one for similarity and one for dissimilarity. In the following,
we will focus on only one relation that expresses similarity. For the unweighted
case, the weighting function ω is assumed to be constantly one. In many cases ω
will be a mapping to + , however, in some cases it is useful to distinguish be-
tween edges with weight zero and those node pairs that are not connected by an
8 Clustering 181

edge. We will also use the following short-cut for summing up the weight of an
edge subset: $
ω(E $ ) := ω(e) for E $ ⊆ E .
e∈E !

For simplicity, we assume that ω(E) '= 0.


Before defining the actual indices, their framework is presented. The indices
will be composed of two independent functions f, g : A (G) → + 0 , where f
measures the density inside the clusters and g the sparsity between clusters.
The functions are combined in the following way:

f (C) + g (C)
index (C) := (8.4)
max{f (C $ )
+ g (C $ ) : C $ ∈ A (G)}

In order to guarantee the well-definition of Equation (8.4), we assume that there


is at least one clustering C $ such that f (C $ ) + g (C $ ) is not zero. For some indices
either f or g is constantly zero. These indices examine only the (internal) density
or the (external) sparsity.
Indices serve two different purposes simultaneously: first and foremost, they
rate a partition with respect to clustering paradigms, and, second, they compare
clusterings regarding quality. Before we explain both aspects in detail, please
note that, while our indices have these properties, there exist other measures
that realize only one aspect.
The quality of a partition as a clustering is expressed in quantitative terms,
i.e., an index (discretely) counts certain substructures like intra-cluster edges,
triangles, or cliques. These structural elements are related to clustering proper-
ties. Many intra-cluster edges, triangles, or cliques inside the clusters indicate
that the cluster is dense. In an analogous way the lack of these elements between
clusters imply the inter-cluster sparsity. Thus, the quality of clustering is reduced
to a quantitative aspect. Intuitively, there will always be a maximum number
of these indicators. The number of intra-cluster edges, triangles, or cliques is
limited by the size of clusters. In the ideal case the bounds are met. Thus, if
an index counts only half of them, then the clustering is only half as good as
possible. As we will see, these bounds are not tight for all indices and all input
graphs. Thus, most of them are ‘absolute’ in the sense that they do not depend
on the input graph, but rather on the clustering paradigms. In conclusion, the
actual range of indices provides useful information.
Because of this absolute, quantitative structure of our indices, they can
be used to compare clusterings regardless of whether the underlying graph
is the same or not. Different graphs can have different bounds for the num-
ber of substructures, but the indices rate the quality relative to the individ-
ual bounds. For example, in a graph with 10 nodes and 15 edges a clustering
could have 12 intra-cluster edges, and in another graph with 18 nodes and 30
edges another clustering could have 27 inter-cluster edges. Although we have
three inter-cluster edges in both cases, the second clustering would be better
since 27/30 = 9/10 > 4/5 = 12/15. This property is required when algorithms
182 M. Gaertler

are evaluated with random instances, or the data of the input network is not re-
liable, i.e., different data collections result into different networks. The clustering
methods could be applied to all networks, and the clustering with the best score
would be chosen. However, if the index uses characteristics of the input graph,
like the number of edges, maximum weight, etc., then this comparison can only
be done when the underlying graph is the same for all clusterings. Therefore,
indices that depend on the input graph are not appropriate for all applications,
such as benchmarks. Although this dependency will seldom occur, one has to
consider these facts when designing new indices.

8.1.1 Coverage
The coverage γ (C) measures the weight of intra-cluster edges, compared to the
weight of all edges. Thus f (C) = ω(E(C)) and g ≡ 0. The maximum value is
achieved for C = {V }. Equation (8.5) shows the complete formula.
%
ω(E(C)) e∈E(C) ω(e)
γ (C) := = % (8.5)
ω(E) e∈E ω(e)

Coverage measures only the accumulated density within the clusters. Therefore,
an individual cluster can be sparse or the number of inter-cluster edges can be
large. This is illustrated in Figure 8.1. Coverage is also the probability of ran-

cluster 1 cluster 2
cluster 1 cluster 2

(a) intuitive clustering (b) non-trivial clustering with best


coverage

Fig. 8.1. A situation where coverage splits an intuitive cluster. The thickness of an
edge corresponds to its weight. If normal edges have weight one and bold edges weight
100, then the intuitive clustering has γ = 159/209 ≈ 0.76 while the optimal value for
coverage is 413/418 ≈ 0.99

domly selecting an intra-cluster edge (where the probability of selection an edge


is proportional to its weight, i.e., Pr[e] ∼ ω(e)). The structure of clusterings with
optimal coverage value is related to the connectivity structure of the graph. A
clustering is compatible with the connectivity structure if clusters consist only
of unions of connected components of the graph. Proposition 8.1.1 gives a char-
acterization of clusterings with optimal coverage value.
8 Clustering 183

Proposition 8.1.1. A clustering has γ = 1 if and only if either the set of


inter-cluster edges is empty or all inter-cluster edges have weight zero. Especially,
clusterings that are compatible with the connectivity structure have coverage value
1.
Sketch of Proof. The edge set is disjointly partitioned into intra-cluster edges
and inter-cluster edges, therefore Equation (8.6) holds for any clustering C.

ω(E) = ω(E(C)) + ω(E(C)) (8.6)

Thus, coverage γ (C) = 1 holds if and only if ω(E(C)) = 0.


Because clusterings that are compatible with the connectivity structure of
the graph have no inter-cluster edge, one can use the equivalence to prove the
proposition. 4
3
A conclusion of Proposition 8.1.1 is that the 1-clustering always has a cov-
erage value 1. The case of disconnected input graphs is rather special and most
techniques even assume that it is connected. Proposition 8.1.1 can be extended
to characterize non-trivial clusterings that are optimal with respect to coverage.
A further characterization of non-trivial clusterings that are optimal when
trivial clusterings are excluded is possible and given in Proposition 8.1.2.
Proposition 8.1.2. Let G = (V, E) be a connected graph where every cut has
positive weight. Then the clusterings that have more than one cluster and have
optimal coverage value are those that are induced by a minimum cut.
Proof. First, it is obvious that every clustering C with k > 1 can be transformed
into a clustering C $ with less than k clusters, with γ (C) ≤ γ (C $ ). This is achieved
by merging any two clusters. Therefore, a non-trivial clustering with optimal
coverage has two clusters, and thus is a cut. Second, maximizing coverage is
equivalent to minimizing the weight of the inter-cluster edges, and the edges
that are contained in the cut have minimum weight. That completes the proof.
4
3
Because of the properties described in Propositions 8.1.1 and 8.1.2, coverage
is rarely used as the only quality measurement of a clustering. Minimum cuts
often cannot catch the intuition, and separate only a very small portion of the
graph. However, there are a few exceptions [286], where both, the input graph
and good clusterings, have a very special structure. An extended version will be
used for the next index (Section 8.1.2).

8.1.2 Conductance
In contrast to coverage, which measures only the accumulated edge weight within
clusters, one can consider further structural properties like connectivity. Intu-
itively, a cluster should be well connected, i.e., many edges need to be removed
to bisect it. Two clusters should also have a small degree of connectivity between
each other. In the ideal case, they are already disconnected. Cuts are a useful
184 M. Gaertler

method to measure connectivity (see also Chapter 7). The standard minimum
cut has certain disadvantages (Proposition 8.1.2), therefore an alternative cut
measure will be considered: conductance. It compares the weight of the cut with
the edge weight in either of the two induced subgraphs. Informally speaking, the
conductance is a measure for bottlenecks. A cut is a bottleneck, if it separates
two parts of roughly the same size with relatively few edges.
Definition 8.1.3. Let C $ = (C1$ , C2$ ) be a cut, i.e., (C2$ = V \ C1$ ) then the
conductance-weight a(C1$ ) of a cut side and the conductance ϕ(C $ ) are defined
in Equations (8.7) and (8.8).

$
a(C1$ ) := ω((u, v)) (8.7)
(u,v)∈E(C1! ,V )


 1, if C1$ ∈ {∅, V }


0, ' {∅, V }, ω(E(C)) = 0
if C1$ ∈
ϕ(C $ ) := (8.8)

 ω(E(C))

 , otherwise
min(a(C1$ ), a(C2$ ))
The conductance of the graph G is defined by

ϕ(G) = min ϕ((C1 , V \ C1 )) . (8.9)


C1 ⊆V

Note that the case differentiation in Equation (8.8) is only necessary in order
to prevent divisions by zero. Before presenting further general information about
conductance, graphs with maximum conductance are characterized.
Lemma 8.1.4. Let G = (V, E, ω) be an undirected and positively weighted
graph. Then G has maximum conductance, i.e., ϕ(G) = 1 if and only if G
is connected and has at most three nodes, or is a star.
Proof. Before the equivalence is shown, two short observations are stated:
1. All disconnected graphs have conductance 0 because there is a non-trivial
cut that has zero weight and the second condition of the Formula (8.8) holds.
2. For a non-trivial cut C $ = (C1$ , V \ C1$ ) the conductance-weight a(C1$ ) can be
rewritten as
$
a(C1$ ) = ω(e) = ω(E(C1$ )) + ω(E(C))
e∈E(C1! ,V )

in undirected graphs. Thus, the third condition in Formula (8.8) can be


simplified to

ω(E(C)) ω(E(C))
& ' = & ' .
min a(C1$ ), a(V \ C1$ ) ω(E(C)) + min ω(E(C1$ )), ω(E(V \ C1$ ))
(8.10)
8 Clustering 185

‘⇐=’: If G has one node, then the first condition of Formula (8.8) holds and
thus ϕ(G) = 1.
If G has two or three nodes or is a star, then every non-trivial cut C $ =
(C1$ , V \ C1$ ) isolates an independent set, i.e., E(C1$ ) = ∅. This is achieved
by setting C1$ to the smaller cut set if G has at most three nodes and to
the cut set that does not contain the center node if G is a star. There-
fore ω(E(C1$ )) = 0 and Equation (8.10) implies ϕ(C $ ) = 1. Because all
non-trivial cuts have conductance 1, the graph G has conductance 1 as
well.
‘=⇒’: If G has conductance one, then G is connected (observation 1) and for
every non-trivial cut C $ = (C1$ , V \C1$ ) at least one edge set E(C1$ ) or E(V \
C1$ ) has 0 weight (observation 2). Because ω has only positive weight, at
least one of these sets has to be empty.
It is obvious that connected graphs with at most three nodes fulfill these
requirements, therefore assume that G has at least four nodes. The graph
has a diameter of at most two because otherwise there is a path of length
three with four pairwise distinct nodes v1 , . . . , v4 , where ei := {vi , vi+1 } ∈
E for 1 ≤ i ≤ 3. Then the non-trivial cut C $ = ({v1 , v2 }, V \ {v1 , v2 }) can-
not have conductance 1, because first the inequality ω(E(C $ )) ≥ ω(e2 ) ≥ 0
implies the third condition of Formula (8.8) and second both cut sides are
non-empty (e1 ∈ E({v1 , v2 }) and e3 ∈ E(V \ {v1 , v2 })). By the same ar-
gument, G cannot contain a simple cycle of length four or greater. It
also cannot have a simple cycle of length three. Assume G has such a
cycle v1 , v2 , v3 . Then there is another node v4 that is not contained in
the cycle but in the neighborhood of at least one vi . Without loss of
generality i = 1. Thus, the non-trivial cut ({v1 , v4 }, V \ {v1 , v4 }) is a
counterexample. Thus G cannot contain any cycle and is therefore a tree.
The only trees with at least four nodes, and a diameter of at most two,
are stars.
4
3
It is N P-hard to calculate the conductance of a graph [39]. Fortunately,
√ it can
be approximated with a guarantee of O(log n) [565] and O( log n) [36]. For
some special graph classes, these algorithms have constant approximation fac-
tors. Several of the involved ideas are found in the theory of Markov chains and
random walks. There, conductance models the probability that a random walk
gets ‘stuck’ inside a non-empty part. It is also used to estimate bounds on the
rate of convergence. This notion of ‘getting stuck’ is an alternative description of
bottlenecks. One of these approximation ideas is related to spectral properties.
Lemma 8.1.5 indicates the use of eigenvalues as bounds.
Lemma 8.1.5 ([521, Lemma 2.6]). For an ergodic1 reversible Markov
chain with underlying graph G, the second (largest) eigenvalue λ2 of the transi-
tion matrix satisfies:
1
Aperiodic and every state can be reached an arbitrary number of times from all
initial states.
186 M. Gaertler

λ2 ≥ 1 − 2 · ϕ(G) . (8.11)
A proof of that can be found in [521, p. 53]. Conductance is also related to
isoperimetric problems as well as expanders, which are both related to similar
spectral properties themselves. Section 14.4 states some of these characteristics.
For unweighted graphs the conductance of the complete graph is often a
useful boundary. It is possible to calculate its exact conductance value. Propo-
sition 8.1.6 states the result. Although the formula is different for even and odd
number of nodes, it shows that the conductance of complete graphs is asymp-
totically 1/2.
Proposition 8.1.6. Let n be an integer, then equation (8.12) holds.
@
1
· n , if n is even
ϕ(Kn ) = 21 n−11 (8.12)
2 + n−1 , if n is odd

Proof. Evaluating Equation (8.8) in Definition 8.1.3 with G = Kn leads to

|C| · (n − |C|)
ϕ(Kn ) = min . (8.13)
C⊂V,1≤|C|<n min(|C|(|C| − 1), (n − |C|)(n − |C| − 1))

Node subsets of size k of a complete graph are pairwise isomorphic, therefore


only the size of the subset C matters. Thus, Equation (8.13) can be simplified
to
k(n − k)
ϕ(Kn ) = min . (8.14)
1≤k<n min(k 2 − k, n2 − 2nk − n − k)

The fraction in Equation (8.14) is symmetric, thus it is sufficient if k varies in


the range from 1 to 8n/29. Using the fact that the fraction is also monotonic
decreasing with increasing k, the minimum is assumed for k = 6n/27. A simple
case differentiation for even and odd ks leads to the final Equation (8.12). 4
3
In the following, two clustering indices are derived with the help of conduc-
tance. These will be intra-cluster conductance and inter-cluster conductance, and
both will focus on only one property. The first one measures internal density,
while the second rates the connection between clusters.
The intra-cluster conductance α is defined as the minimum conductance oc-
curring in the cluster-induced subgraphs G[Ci ], i.e.,

f (C) = min ϕ (G[Ci ]) and g≡0 . (8.15)


1≤i≤k

Note that G[Ci ] in ϕ (G[Ci ]) denotes a subgraph, and therefore is independent


of the rest of the original graph G. The conductance of a (sub)graph is small if it
can naturally be bisected, and great otherwise. Thus, in a clustering with small
intra-cluster conductance there is supposed to be at least one cluster containing
a bottleneck, i.e., the clustering is possibly too coarse in this case. The minimum
conductance cut itself can also be used as a guideline to split the cluster further
(refer to Section 8.2.2 for further details).
8 Clustering 187

The inter-cluster conductance δ considers the cuts induced by clusters, i.e.,


@
1, if C = {V }
f ≡0 and g= . (8.16)
1 − max ϕ ((Ci , V \ Ci )) , otherwise
1≤i≤k

Note that (Ci , V \ Ci ) in ϕ ((Ci , V \ Ci )) denotes a cut within the graph G. A


clustering with small inter-cluster conductance is supposed to contain at least
one cluster that has relatively strong connections outside, i.e., the clustering
is possibly too fine. In contrast to the intra-cluster conductance, one cannot
directly use the induced cut information to merge two clusters.
For both indices the maximum of f +g is one, which leads to the final formula:

α (C) := min ϕ (G[Ci ]) (8.17)


1≤i≤k
@
1, if C = {V }
δ (C) := (8.18)
1 − max ϕ ((Ci , V \ Ci )) , otherwise
1≤i≤k

Again a characterization of optimal clusterings is possible.


Proposition 8.1.7. Only clusterings where the clusters consist of connected
subgraphs that are stars or have size of at most three, have intra-cluster con-
ductance 1.
Proposition 8.1.8. Only clusterings that have an inter-cluster edge weight of
zero, including the 1-clustering, have inter-cluster conductance 1.
Both Proposition 8.1.7 and 8.1.8 are immediate consequences of the Defini-
tion 8.1.3 and Lemma 8.1.4. Both measures, intra-cluster conductance and
inter-cluster conductance, have certain disadvantages. Two examples are shown
in Figures 8.2 and 8.3. Both examples explore the ‘artificial’ handling of small
graphs considering their conductance. In practical instances, intra-cluster con-
ductance values are usually below 1/2. Small clusters with few connections have
relatively small inter-cluster conductance values.

8.1.3 Performance
The next index combines two non-trivial functions for the density measure f and
the sparsity measure g. It simply counts certain node pairs. According to the
general intuition of intra-cluster density versus inter-cluster sparsity, we define
for a given clustering a ‘correct’ classified pair of nodes as two nodes either
belonging to the same cluster and connected by an edge, or belonging to different
clusters and not connected by an edge. The resulting index is called performance.
Its density function f counts the number of edges within all clusters while its
sparsity function g counts the number of nonexistent edges between clusters, i.e.,
188 M. Gaertler

cluster 1 cluster 2

(a) intuitive clustering

cluster 1 cluster 2 cluster 3 cluster 4


cluster 1 cluster 2 cluster 3

cluster 5

cluster 4

(b) non-trivial clustering with best (c) non-trivial clustering with best
intra-cluster conductance intra-cluster conductance

Fig. 8.2. A situation where intra-cluster conductance splits intuitive clusters. The
intuitive clustering has α = 3/4, while the other two clusterings have α = 1. The split
in Figure 8.2(b) is only a refinement of the intuitive clustering, while Figure 8.2(c) shows
a clusterings with same intra-cluster conductance value that is skew to the intuitive
clustering

k
$
f (C) := |E(Ci )| and
i=1
$ (8.19)
g (C) := [(u, v) '∈ E] · [u ∈ Ci , v ∈ Cj , i '= j] .
u,v∈V

The definition is given in Iverson Notation, first described in [322], and adapted
by Knuth in [365]. The term inside the parentheses can be any logical statement.
If the statement is true the term evaluates to 1, if it is false the term is 0. The
maximum of f +g has n·(n−1) as upper bound because there are n(n−1) different
node pairs. Please recall that loops are not present and each pair contributes with
either zero or one. Calculating the maximum of f + g is N P-hard (see [516]),
therefore this bound is used instead of the real maximum. By using some duality
aspects, such as the number of intra-cluster edges and the number of inter-cluster
edges sum up to the whole number of edges, the formula of performance can be
simplified as shown in Equation (8.21).
8 Clustering 189

cluster 1 cluster 1

cluster 3 cluster 2 cluster 3 cluster 2

cluster 4

(a) intuitive clustering (b) non-trivial clustering with best


inter-cluster conductance

Fig. 8.3. A situation where two very similar clusterings have very different inter-
cluster conductance values. The intuitive clustering has δ = 0, while the other has the
optimum value of 8/9

& %k '
m (C) + n(n − 1) − i=1 |Ci |(|Ci | − 1) − m (C)
perf (C) =
n(n − 1)
%k
n(n − 1) − m + 2m (C) − i=1 |Ci |(|Ci | − 1)
= (8.20)
n(n − 1)
m(C) %k
m(1 − 2 m ) + i=1 |Ci |(|Ci | − 1)
=1− . (8.21)
n(n − 1)

Note that the derivation from Equation (8.20) to (8.21) applies the equality m =
m (C) + m (C), and that m (C) /m is just the coverage γ (C) in the unweighted
case. Similarly to the other indices, performance has some disadvantages. Its
main drawback is the handling of very sparse graphs. Graphs of this type do
not contain subgraphs of arbitrary size and density. For such instances the gap
between the number of feasible edges (with respect to the structure) and the
maximum number of edges (regardless of the structure) is also huge. For example,
a planar graph cannot contain any complete graph with five or more nodes, and
the maximum number of edges such that the graph is planar is linear in the
number of nodes, while in general it is quadratic. In conclusion, clusterings with
good performance tend to have many small clusters. Such an example is given
in Figure 8.4.
An alternative motivation for performance is given in the following. Therefore
recall that the edge set induces a relation on V × V by u ∼ v if (u, v) ∈ E, and
clusterings are just another notion for equivalence relations. The problem of
finding a clustering can be formalized in this context as finding a transformation
of the edge-induced relation into an equivalence relation with small cost. In
190 M. Gaertler

cluster 1 cluster 2

cluster 5

cluster 4 cluster 3

(a) clustering with best performance

cluster 1 cluster 3 cluster 1 cluster 2

cluster 2

(b) intuitive clustering (c) another intuitive clustering

Fig. 8.4. A situation where the clustering with optimal performance is a refinement
(Figure 8.4(b)) of an intuitive clustering and is skew (Figure 8.4(c)) to another intuitive
clustering

other words, add or delete edges such that the relation induced by the new edge
set is an equivalence relation. As cost function, one simply counts the number
of additional and deleted edges. Instead of minimizing the number of changes,
one can consider the dual version: find a clustering such that the clustering-
induced relation and the edge-set relation have the greatest ‘intersection’. This
is just the maximizing f + g. Thus performance is related to the ‘distance’ of the
edge-set relation to the closed clustering. Because finding this maximum is N P-
hard, solving this variant of clustering is also N P-hard. Although the problem is
hard, it possesses a very simple integer linear program (ILP). ILPs are also N P-
hard, however there exist many techniques that lead to usable heuristics or
approximations for the problems. The ILP is given by n2 decision variables Xuv ∈
{0, 1} with u, v ∈ V , and the following three groups of constraints:
8 Clustering 191

reflexivity ∀ u : Xuu = 1
symmetry ∀ u, v : Xuv = Xvu

Xuv + Xvw − 2 · Xuw ≤ 1
transitivity ∀ u, v, w : Xuw + Xuv − 2 · Xvw ≤ 1

Xvw + Xuw − 2 · Xuv ≤ 1

and minimizing objective function:


$
(1 − Euv )Xuv + Euv (1 − Xuv ) ,
(u,v)∈V 2
@
1 , if (u, v) ∈ E or u = v
with Euv = .
0 , otherwise

The idea is that the X variables represent equivalence relations, i.e., two
nodes u, v ∈ V are equivalent if Xuv = 1 and the objective function counts
the number of not ‘correct’ classified node pairs.
There exist miscellaneous variations of performance that use more complex
models for classification. However, many modifications highly depend on their
applicational background. Instead of presenting them, some variations to include
edge weights are given. As pointed out in Section 8.1, indices serve two different
tasks. In order to preserve the comparability aspect, we assume that all the
considered edge weights have a meaningful maximum M . It is not sufficient to
replace M with the maximum occurring edge weight because this value depends
on the input graph. Also, choosing an extremely large value of M is not suitable
because it disrupts the range aspects of the index. An example of such weightings
with a meaningful maximum are probabilities where M = 1. The weighting
represents the probability that an edge can be observed in a random draw.
Using the same counting scheme of performance, one has to solve the problem of
assigning a real value for node pairs that are not connected. This problem will
be overcome with the help of the meaningful maximum M .
The first variation is straightforward and leads to the measure functions given
in Equation (8.22):
k
$
f (C) := ω (E(Ci )) and
i=1
$ (8.22)
g (C) := M · [(u, v) '∈ E] · [u ∈ Ci , v ∈ Cj , i '= j] .
u,v∈V

Please note the similarity to the unweighted definition in Formula (8.19). How-
ever, the weight of the inter-cluster edges is neglected. This can be integrated
by modifying g:
+ + & '
+ +
g $ (C) := g (C) +M · +E(C)+ − ω E(C) . (8.23)
A BC D
=:gw (C)
192 M. Gaertler

The additional term gw (C) corresponds to the difference of weight that would
be counted if no inter-cluster edges were present and the weight that is assigned
to the actual inter-cluster edges. In both cases the maximum is bounded by M ·
n(n − 1), and the combined formula would be:

f (C) + g (C) + ϑ · gw (C)


perfw (C) = , (8.24)
n(n − 1)M
where ϑ ∈ [0, 1] is a scaling parameter that rates the importance of the weight
of the inter-cluster edges (with respect to the weight of the intra-cluster edges).
In this way there is a whole family of weighted performance indices.
An alternative variation is based on the duality. Instead of counting ‘cor-
rect’ classified node pairs the number/weight of the errors is measured. Equa-
tion (8.21) will be the foundation:
k &
$ '
f˜ (C) = M |Ci |(|Ci | − 1) − θ · ω(E(Ci ) and
i=1 (8.25)
& '
g̃ (C) = ω E(C) ,

where θ is a scaling parameter that rates the importance of the weight of the
intra-cluster edges (with respect to the weight of the inter-cluster edges). The
different symbols for density f˜ and sparsity g̃ functions are used to clarify that
these functions perform inversely to the standard functions f and g with respect
to their range: small values indicate better structural behavior instead of large
values. Both can be combined to a standard index via
f˜ (C) + g̃ (C)
perfm (C) = 1 − . (8.26)
n(n − 1)M
Note that the versions are the same for ϑ = θ = 1. In general, this is not true for
other choices of ϑ and θ. Both families have their advantages and disadvantages.
The first version (Equation (8.24)) should be used, if the clusters are expected
to be heavy, while the other version (Equation (8.26)) handles clusters with
inhomogeneous weights better.

8.1.4 Other Indices


Clearly these indices are only a small fraction of the whole spectrum used to
formalize and evaluate clusterings. However, they clarify different concepts very
well. This part covers some historical indices that have been used for clustering,
as well as some measures that are based on certain assumptions.
Clustering was originally applied to entities embedded in metric spaces or
vector spaces with a norm function. Many indices have been developed that use
essential structural properties of these spaces, e.g., the possibility to calculate
a barycenter or geometric coverings. Over time, some indices have been trans-
ferred to graph clustering as well. Because these spaces usually provide all pair
8 Clustering 193

information, the first problem is to estimate the similarity of nodes that are not
connected with an edge. This is often solved using shortest path techniques that
respect all information, like weight or direction, or only partial information, or
none. The most common measures resulting are: diameter, edge weight variance,
and average distance within the clusters. In contrast to the previous indices,
these measures do not primarily focus on the intra-cluster density versus inter-
cluster sparsity paradigm. Most of them even ignore the inter-cluster structure
completely. Another difference is that these indices usually rate each cluster in-
dividually, regardless of its position within the graph. The resulting distribution
is then rated with respect to the average or the worst case. Thus, a density mea-
sure2 π can be transformed into an index by applying π on all cluster-induced
subgraphs and rating the resulting distribution of values, e.g., via minimum,
maximum, average, or mean:
worst case: min{π(G[C1 ]), . . . , π(G[Ck ])}
i
1$
average case: π(G[Ci ])
k i
best case: max{π(G[C1 ]), . . . , π(G[Ck ])}
i

Their popularity is partially based on the easy computation in metric or normed


vector spaces, where the distance (inverse similarity) of (all) pairs is defined by
their distance within the given space. The other reason is their use for greedy
approaches that will be introduced in Section 8.2.1.
Another kind of measure compares the partition with an average case of the
graph instead of an ideal case. This is especially preferred when the ideal situa-
tion is unknown, i.e., the network has very specific properties and thus general
clustering paradigms could hardly be fulfilled. For example, Newman [442] pos-
tulated that a (uniform) random graph does not contain a clustering structure
at all. Therefore, measuring the difference of numbers of edges within a cluster
and the expected number of edges that would randomly fall within the cluster
should be a good indicator whether the cluster is significant or not. The whole
formula is shown in Equation (8.27).
$k , -
|Ci | · (|Ci | − 1)|
|E(Ci )| − m . (8.27)
i=1
n · (n − 1)

One advantage is that one can now distinguish between good, ‘random’, and
bad clusterings depending on the sign and magnitude of the index. However, the
expected number of edges that fall at random in a subgraph may be a too global
view. The local density may be very inhomogeneous and thus an average global
view can be very inaccurate. Figure 8.5 sketches such an example. The graph
consists of two groups, i.e., a cycle (on the left side) and a clique (on the right
side), which are connected by a path. In this example there is no subgraph with
average density, in fact the two groups have a significantly different density. One
2
greater values imply larger density
194 M. Gaertler

Fig. 8.5. Graph with inhomogeneous density

way to restrict the global view of average density is to fix the degree of each
node and consider expected number of edges that fall at random in a subgraph.
The modified formula is given in Equation (8.28).
 G% H2 
$k
 ω(E(C i )) e∈E(C ,V ) ω(e)
 .
− i
(8.28)
i=1
ω(E) ω(E)

In general, these measures that compare the partition with an average case of the
graph seem to introduce a new perspective that has not yet been fully explored.

8.1.5 Summary
The presented indices serve as quality measurements for clusterings. They pro-
vide a formal way to capture the intuitive notation of natural decompositions.
Several of these indices can be expressed in a simple framework that models
the paradigm of intra-cluster density versus inter-cluster sparsity. It has been
introduced in Section 8.1. Table 8.1 summarizes these indices, the general form
is given in Equation (8.29).
f (C) + g (C)
index (C) := (8.29)
N
A commonality of these measures is that the associated optimization problem,
i.e., finding the clustering with best score, usually is N P-hard. If the optimal
structure is known in advance, as is the case for coverage or conductance, the
restriction to interesting or practically relevant clusterings leads to N P-hard
problems.

Bibliographic Notes. Further information about indices can be found in [324,


325]. In [569, Chapter 7] a collection of density concepts is presented that have
nearly the same intuition. Benchmark tests that are based on indices can be
found in [95].
There is also a lot of work done within the theory community, especially
disciplines like machine learning or neural networks, which targets approximating
indices or extracting structural properties to qualitatively rate partitions. Owing
to our limited scope, these aspects could not be covered. [170, 565] may serve as
an entry point to these issues.
Table 8.1. Summary of clustering indices
Name f (C) g (C) N

coverage γ (C) ω(E(C)) 0 ω(E)

intra-cluster min ϕ (G[Ci ]) 0 1


1≤i≤k
conductance α (C)
1, if C = {V }
inter-cluster 0 otherwise 1
conductance δ (C) 1≤i≤k
1 − max ϕ ((Ci , V \ Ci )) ,
k
performance perf (C) |E(Ci )| [(u, v) &∈ E] · [u ∈ Ci , v ∈ Cj , i &= j] n(n − 1)
i=1 u,v∈V

k M [(u, v) &∈ E] · [u ∈ Ci , v ∈ Cj , i &= j]


performance perfw (C) ω (E(Ci )) u,v∈V M · n(n − 1)
i=1 +ϑ · M · E(C) − ω E(C)

k
performance 1 − perfm (C) M |Ci |(|Ci | − 1) − θ · ω(E(Ci ) ω E(C) M · n(n − 1)
i=1
8 Clustering
195
196 M. Gaertler

8.2 Clustering Methods

This section covers the description of algorithmic paradigms and approaches


used to calculate clusterings. It is split in three parts: First, some fundamental
techniques are explained. Second, instances that embody these principles are
described. Third, related problems are discussed.

8.2.1 Generic Paradigms


The description of generic methods is structured into three groups: Greedy and
shifting approaches as well as general optimizing techniques utilized to find near-
optimal clusterings. Mostly the concepts and algorithms apply a certain number
of reductions to obtain an instance where a solution can easily be computed,
and then extend it to the original input. This is very similar to the standard
divide and conquer techniques, where instances are recursively divided until the
problem is trivially solvable. In contrast to this, the reduction step is more gen-
eral and can modify the instance completely. Thus, the reduced instance does
not need to be a subinstance of the original problem. The reduction step is
usually composed of two parts itself. First, significant substructures are identi-
fied. These can be bridges that are likely to separate clusters, or dense groups
that indicate parts of clusters. Such an identification is often formulated as a
hypothesis, and the recognized substructures are considered as evidence for its
correctness. After the recognition phase a proper modification is applied to the
current input graph. Such transformations can be arbitrary graph operations,
however, the usual modifications are: addition and deletion of edges, as well
as collapsing subgraphs, i.e., representing a subgraph by a new meta-node. A
sketch of this idea is given in Figure 8.6. The ‘shapes’ of the (sub)instances indi-
cate the knowledge of clustering, i.e., smooth shapes point to fuzzy information
while the rectangles indicate exact knowledge. In the initial instance (left figure,
upper row), no clustering information is present. During the reduction phases
parts of the graph became more and more separated, which is indicated by the
disjoint objects. The right instance in the upper row can be easily solved, and
the fuzzy information is transformed into exact information with respect to the
given instance. Based upon it, the expansion phase transfers this knowledge to
the original instance (left figure, lower row). An additional difference to divide
and conquer methods is that the size of the considered graphs can increase during
the reduction phases.

Greedy Concepts. Most greedy methods fit into the following framework:
start with a trivial and feasible solution and use update operations to lower
its costs recursively until no further optimization is possible. This scheme for a
greedy approach is shown in Algorithm 19, where c (L) denotes the cost of solu-
tion L and Ng (L) is the set of all solutions that can be obtained via an update
operation starting with solution L. This iterative scheme can also be expressed
for clusterings via hierarchies. A hierarchy represents an iterative refinement (or
8 Clustering 197

reduce reduce
−−−−→ −−−−→

↓ solve

expand expand
←−−−− ←−−−−

Fig. 8.6. Example of successive reductions. The ‘shapes’ of the (sub)instances indicate
the knowledge of clustering, i.e., smooth shapes point to fuzzy information while the
rectangles indicate exact knowledge. The first row shows the application of modifica-
tions, while the second indicates the expansion phases

Algorithm 19: Scheme for greedy methods


let L0 be a feasible solution
i←0
while {L : L ∈ Ng (Li ) , c (L) < c (Li )} &= ∅ do
Li+1 ← argminL∈Ng (Li ) c (L)
i ← i+1
return Li

coarsening) process. Greedy methods that use either merge or split operations
as updates define a hierarchy in a natural way. The restriction to one of these
operations guarantees the comparability of clusterings, and thus leads to a hier-
archy. These two concepts will be formalized shortly, before that some facts of
hierarchies are briefly mentioned.
Hierarchies provide an additional degree of freedom over clusterings: the
number of clusters is not fixed. Thus, they represent the group structure in-
dependently of its granularity. However, this feature usually increases the space
requirement, although a hierarchy can be implicitly represented by a tree, also
called a dendrogram, that represents the merge operations. Algorithms tend to
construct it explicitly. Therefore, their space consumption is often quadratic or
larger. For a few special cases these costs can be reduced with the help of data
structures [178].
198 M. Gaertler

The Linkage process (Agglomeration) iteratively coarses a given clustering


by merging two clusters until the 1-clustering is reached. The formal description
is shown in Definition 8.2.1.
Definition 8.2.1 (Linkage). Given a graph G = (V, E, ω), an initial cluster-
ing C1 and either a global cost function cglobal : A (G) → + 0 or a cost func-
tion clocal : P(V ) × P(V ) → + 0 for merging operations, the Linkage process
merges two clusters in the current clustering Ci := {C1 , . . . , Ck } while possible
in the following recursive way:
global: let P be the set of all possible clusterings resulting from Ci by merging
two clusters, i.e.,
K L
P := {C1 , . . . , Ck } \ {Cµ , Cν } ∪ {Cµ ∪ Cν } | µ '= ν ,

then the new clustering Ci+1 is defined as an element in P with minimum


cost with respect to cglobal .
local: let µ, ν be those two distinct indices such that clocal has one global min-
imum in the pair (Cµ , Cν ), then the new clustering Ci+1 is defined by
merging Cµ and Cν , i.e.,

Ci+1 := {C1 , . . . , Ck } \ {Cµ , Cν } ∪ {Cµ ∪ Cν } .

Although the definition is very formal, the basic idea is to perform a cheapest
merge operation. The cost of such an operation can be evaluated using two
different view points. A local version charges only merge itself, which depends
only on the two involved clusters. The opposite view is a global version that
considers the impact of the merge operation. These two concepts imply also
the used cost functions, i.e., a global cost function has the set of clusterings as
domain while the local cost function uses a pair of node subsets as arguments.
An example of linkage is given in Figure 8.7. The process of linkage can be
reversed, and, instead of merging two clusters, one cluster is split into two parts.
This dual process is called Splitting (Diversion). The formal description is given
in Definition 8.2.2.
Definition 8.2.2 (Splitting). Let a graph G = (V, E, ω), an initial cluster-
ing C1 , and one of the following function sets be given:
global: a cost function cglobal : A (G) → + 0
semi-global: a cost function cglobal : A (G) → +0 and a proper cut function Slocal :
P(V ) → P(V )
semi-local: a cost function clocal : P(V ) × P(V ) → + 0 and a proper cut func-
tion Slocal : P(V ) → P(V )
local: a cost function clocal : P(V ) × P(V ) → + 0

The Splitting process splits one cluster in the current clustering Ci := {C1 , . . .
Ck } into two parts. The process ends when no further splitting is possible. The
cluster that is going to be split is chosen in the following way:
8 Clustering 199

cluster 5 cluster 4 cluster 5 cluster 4 cluster 5 cluster 4

cluster 6 cluster 3 cluster 6 cluster 6

cluster 1 cluster 2 cluster 1 cluster 2,3 cluster 1,2,3

(a) initial step (b) 2nd step (c) 3rd step

cluster 4,5

cluster 6 cluster 6

cluster 1,2,3 cluster 1,2,3,4,5 cluster 1,2,3,4,5,6

(d) 4th step (e) 5th step (f) final step

Fig. 8.7. Example of linkage

global: let P be the set of all possible clusterings resulting from Ci by splitting
one cluster into two non-empty parts, i.e.,
K L
P := {C1 , . . . , Ck } \ {Cµ } ∪ {Cµ$ , Cµ \ Cµ$ } | ∅ '= Cµ$ ! Cµ ,

then the new clustering Ci+1 is defined as an element in P with minimum


cost with respect to cglobal .
semi-global: let P be the set of all possible clusterings resulting from Ci by splitting
one cluster into two non-empty parts according to Slocal , i.e.,
K L
P := {C1 , . . . , Ck } \ {Cµ } ∪ {Slocal (Cµ ) , Cµ \ Slocal (Cµ )} ,

then the new clustering Ci+1 is defined as an element in P with minimum


cost with respect to cglobal .
semi-local: let µ be an index such that clocal has one global minimum in the
pair (Slocal (Cµ ) , Cµ \ Slocal (Cµ )) then the new clustering Ci+1 is defined
by splitting cluster Cµ according to Slocal , i.e.,

Ci+1 := {C1 , . . . , Ck } \ {Cµ } ∪ {Slocal (Cµ ) , Cµ \ Slocal (Cµ )} .


200 M. Gaertler

local: let µ be an index and Cν be a proper subset of cluster Cµ such that clocal
has one global minimum in the pair (Cν , Cµ \ Cν ), then the new cluster-
ing Ci+1 is defined by splitting cluster Cµ according to Slocal , i.e.,
Ci+1 := {C1 , . . . , Ck } \ {Cµ } ∪ {Cµ , Cµ \ Cν } .
Similar to the Linkage process, the definition is rather technical but the ba-
sic idea is to perform the cheapest split operation. In contrast to the Linkage
method, the cost model has an additional degree of freedom because clusters can
be cut in several ways. Again, there is a global and a local version that charge
the impact of the split and the split itself, respectively. Both correspond to the
views in the Linkage process. However, rating every possible non-trivial cut of
the clusters is very time consuming and usually requires sophisticated knowledge
of the involved cost functions. One way to reduce the set of possible splittings is
to introduce an additional cut function Slocal . It serves as an ‘oracle’ to produce
useful candidates for splitting operations. The semi-global and semi-local ver-
sions have the same principles a the global and the local version, however, their
candidate set is dramatically reduced. Therefore, they are often quite efficiently
computable, and no sophisticated knowledge about the cost function is required.
However, the choice of the cut function has usually a large impact on the quality.
Both, the Linkage and the Splitting process, are considered to be greedy
for several reasons. One is the construction of the successive clusterings, i.e., an
update operation chooses always the cheapest clustering. These can produce total
or complete hierarchies quite easily. Total hierarchies can be achieved by simply
adding the trivial clusterings to the resulting hierarchy. They are comparable
to all other clusterings, therefore preserving the hierarchy property. Recall that
complete hierarchies are hierarchies such that a clustering with k clusters is
included for every integer k ∈ [1, n]. Both processes lead to a complete hierarchy
when initialized with the trivial clusterings, i.e., singletons for Linkage and the
1-clustering for Splitting. Note that in the case of the Splitting process, it is
essential that the cut functions are proper. Therefore, it is guaranteed that every
cluster will be split until each cluster contains only one node. Although the cost
can be measured with respect to the result or the operation itself, clairvoyance
or projection of information into the future, i.e., accepting momentarily higher
cost for a later benefit, is never possible.
Because of their simple structure, especially in the local versions, both con-
cepts are frequently used and are also the foundation of clustering algorithms
in general. The general local versions can be very efficiently implemented. For
the Linkage process, a matrix containing all cluster pairs and their merging cost
is stored. When an update operation takes place, only the cost of merging the
new resulting cluster with another is recalculated. For certain cost functions this
scheme can even be implemented with less than quadratic space and runtime
consumption [178]. In the case of the Splitting process, only the cut information
needs to be stored for each cluster. Whenever a cluster gets split, one has to re-
compute the cut information only for the two new parts. This is not true for any
global version in general. However, a few very restricted cost and cut functions
can be handled efficiently also in the global versions.
8 Clustering 201

Shifting Concept. In contrast to the global action of the previous greedy


strategies, the shifting approaches work more locally. They choose an initial
clustering and iteratively modify it until a local optimum is found. Usually three
operations are permitted: first, a node moves from one cluster to another exist-
ing cluster, second, a node moves from one cluster to create a new cluster, and,
third, two nodes exchange their cluster assignments. Sometimes more complex
operations, like instant removal of one cluster and reassigning nodes to already
existing clusters, are allowed. However, these complex operations are usually
only used for speed-up, or to avoid artifical situations, therefore they will not
be discussed here. Note that one can typically simulate them by a sequence of
simple operations. Regarding algorithmic aspects, shifting concepts are relatively
close to the greedy ones. Algorithm 20 shows the general procedure where Ns (L)
denotes the set of all clusterings that can be obtained by applying the modifi-
cations to the clustering L. Step 1 can be based on cost or potential functions,

Algorithm 20: Scheme for shifting methods


let L0 be an initial solution
i←0
while Ns (Li ) &= ∅ do
1 choose Li+1 ∈ Ns (Li )
i ← i+1
return Li

random selecting, or on the applicational background. The technical definition


of the shifting concept is given in Definition 8.2.3, and uses a potential function
as selection criteria.
Definition 8.2.3. Given a graph G = (V, E, ω), an initial clustering C1 and
a potential function Φ : A (G) × A (G) → , the Shifting process is defined
as performing any operation on the current clustering Ci that results in a new
clustering Ci+1 such that Φ (Ci , Ci+1 ) > 0.
Shifting concepts have many degrees of freedom. The choice of potential
functions is critical. There are two common subtypes of potentials: type-based
and compressed. Type-based potentials are functions that heavily depend on the
type of operations. They are often used to preserve certain properties. In the case
that creating a new cluster via a node movement is very expensive in contrast
to the other node movements, it is very likely that the number of clusters in
the final clustering is roughly the same as in the initial clustering. Compressed
or sequenced shifts collapse a series of operations into one meta-operation, and
rate only the output of this operation with its argument. Thus, a certain number
of operations are free of charge. These functions are often used in combination
with a standard potential function that has many local optima. By ignoring a
number of intermediate steps, it may be easier to reach a global optimum.
202 M. Gaertler

Owing to their contingent iterative nature, shifting approaches are rarely used
on their own. There can be sequences of shifting operations where the initial and
final clustering are the same, so-called loops. Also, bounds on the runtime are
more difficult to establish than for greedy approaches. Nonetheless, they are a
common postprocessing step for local improvements. An example of shifting is
given in Figure 8.8.

cluster 3 cluster 2 cluster 2 cluster 2

cluster 3 cluster 3

cluster 1 cluster 1 cluster 1

(a) initial step (b) 2. step (c) 3. step

Fig. 8.8. Example of shifting

General Optimization Concepts for Clustering. The two previous con-


cepts, the greedy and the shifting framework, were fairly adapted. Both defined
precisely the permitted operations and constraints, and the conditions of their
application. The following concepts can be used for arbitrary optimization ap-
proaches. They are based on the idea that clusterings can be formulated as the
result of a generic optimization process. The input data may be generated in a
certain way with an implicit clustering structure. The optimization problem is to
extract a clustering that is relatively close to the hidden one. Alternatively, the
contained clustering is the result of an unknown optimization process. It is only
known that this process respects certain paradigms, like intra-cluster density,
inter-cluster sparsity, or both. The related problem is again to extract a cluster-
ing that is relatively close to the hidden one. The variety of techniques to solve
optimization problems is gigantic, therefore only the following are considered
here: parameter estimation, evolutionary and search-based approaches.
Parameter estimation is based on the assumption that the input data was
created by a (random) sampling process: There is a hidden graph with a certain
clustering, then a sample of the (whole) graph is drawn that will be the input
graph. The approach then tries to estimate the parameters of this sampling
process. These parameters will be used to reconstruct the clustering of the hidden
graph. Originally, these methods were introduced to find clusterings for data
embedded in metric spaces [325, Section 5.3]. There are clusterings that may be
8 Clustering 203

represented by a union of distributions, and the goal is to estimate the number


of distributions and their parameters (mean, deviation, etc.). The Expectation
Maximization (EM) is the most commonly used method. In general, it is only
applied to data that is embedded in a metric space. Although graphs are typically
not embedded, one can think of many processes that involve an implicit (metric)
topology. An example is the following: let a finite space with a topology, a set
of points, referred to as cluster centers, and a probability distribution for each
cluster center be given; then n nodes/points are introduced by choosing one
cluster center and a free spot around it that respects both the topology and its
distribution. Two nodes will be connected by edges if their distance (with respect
to the topology) is smaller than or equal to a given parameter. An example of
this process is shown in Figure 8.9. Thus, the graph (Figure 8.9(c)) would be

(a) initial topology (b) 2 cluster cen- (c) resulting graph


ters (diamonds) and with distance thres-
6 nodes (circles) hold 3

Fig. 8.9. Example of generating a graph and its clustering using distributions.

the input graph, and the estimation approach would try to estimate the number
of cluster centers as well as the assignment of each node to a cluster center. In
the EM case, the resulting clustering should have the largest expectation to be
the original hidden clustering, i.e., the same number of cluster points and the
correct node cluster-point assignment.
Evolutionary approaches such as genetic algorithms (GA), evolution strat-
egies (ES) and evolutionary programming (EP) iteratively modify a population
of solution candidates by applying certain operations. ‘Crossover’ and ‘mutation’
are the most common ones. The first creates a new candidate by recombining
two existing ones, whilst the second modifies one candidate. To each candidate
a fitness value is associated, usually the optimization function evaluated on the
candidate. After a number of basic operations, a new population is generated
based on the existing one, where candidates are selected according to their fitness
value. A common problem is to guarantee the feasibility of modified solutions.
Usually this is accomplished by the model specification. In the context of cluster-
204 M. Gaertler

ing, the model can either use partitions or equivalence relations. As presented in
Section 8.1.3, clusterings can be modeled as 0-1 vectors with certain constraints.
Search-based approaches use a given (implicit) topology of the candidate
space and perform a random walk starting at an arbitrary candidate. Similar to
evolutionary approaches, the neighborhood of a candidate can be defined by the
result of simple operations like the mutations. The neighborhood of a clustering
usually is the set of clusterings that result from node shifting, cluster merging,
or cluster splitting. The selection of a neighborhood is also based on some fitness
value, usually the optimization function evaluated on the candidate. The search
usually stops after a certain number of iterations, after finding a local optimum,
or a combination of both.

8.2.2 Algorithms
Clustering methods have been developed in many different fields. They were
usually very adapted, either for specific tasks or under certain conditions. The
reduction of algorithms to their fundamental ideas, and constructing a framework
on top, started not that long ago. Thus, this part can only give a short synopsis
about commonly used methods.

Instances of Linkage. The different instances of the Linkage framework were


originally designed for distance edge weights. Distances are the ‘dual’ version of
similarities. Historically, the input data for clusterings algorithms was metrically
embedded and complete (the similarity/dissimilarity of every pair is known). In
these scenarios, it is possible to find clusterings using distance functions instead
of similarities, i.e., one has to search for spatially dense groups that are well-
separated from each other. If the distance function is only partially known, it is
no longer possible to derive information about the similarity of two objects from
their distance to other objects.
However, the use of distance functions had certain advantages that can be
carried over to similarity weights. One reason was that distances can be easily
combined to estimate the distance of a path. The most common way is the
summation of the edge weights along the path. The standard local cost functions
are defined as:
M
clocal (Ci , Cj ) := {d(u, v) : u ∈ Ci , v ∈ Cj } , (8.30)
N
where d(u, v) is the length of any shortest path connecting u and v, and is any
set evaluation function, like minimum, average, or maximum. Indeed these three
versions are called Single Linkage, Average Linkage, and Complete Linkage. A
possible explanation of the name Single Linkage is that the cheapest, shortest
path will be just an edge with minimum weight inside of E(Ci , Cj ). Note that
the cost function can be asymmetric and have infinity as its value. Also, note
that it is necessary to use the length of the shortest paths because not every node
pair (u, v) ∈ Ci × Cj will be connected by an edge. In fact, the set E(Ci , Cj ) will
be empty in the ideal case.
8 Clustering 205

When dealing with similarities instead of distances one has to define a mean-
ingful path ‘length’. A simple way is to ignore it totally and define the cost
function as
M
clocal (Ci , Cj ) := {M − ω(e) : e ∈ E(Ci , Cj )} , (8.31)

where M is the maximum edge weight in the graph. Alternatively, one can define
the similarity of a path P : v1 , . . . , v' by:
G '−1 H−1
$ 1
ω(P ) := . (8.32)
i=1
ω(vi , vi+1 )

Although this definition is compatible with the triangle inequality, the meaning
of the original range can be lost along with other properties. Similar to cost
definition in Equation (8.31), the distance value (in Equation(8.30)) would be
replaced by (n − 1)M − ω(P ). These ‘inversions’ are necessary to be compatible
with the range meaning of cost functions. Another definition that is often used
in the context of probabilities is
'−1
O
ω(P ) := ω(vi , vi+1 ) . (8.33)
i=1

If ω(vi , vi+1 ) is the probability that the edge (vi , vi+1 ) is present and these
probabilities are independent of each other, then ω(P ) is the probability that
the whole path exists.
Lemma 8.2.4. The dendrogram of Single Linkage is defined by a Minimum
Spanning Tree.
Only a sketch of the proof will be given. A complete proof can be found
in [324]. The idea is the following: consider the algorithm of Kruskal where
edges are inserted in non-decreasing order, and only those that do not create
a cycle. From the clustering perspective of Single Linkage, an edge that would
create a cycle connects two nodes belonging to the same cluster, thus that edge
cannot be an inter-cluster edge, and thus would have never been selected.
The Linkage framework is often applied in the context of sparse networks
and networks where the expected number of inter-cluster edges is rather low.
This is based on the observation that many Linkage versions tend to produce
chains of clusters. In the case where either few total edges or few inter-cluster
edges are present, these effects occur less often.

Instances of Splitting. Although arbitrary cut functions are permitted for


Splitting, the idea of sparse cuts that separate different clusters from each
other has been the most common one. Among these are: standard cuts (Equa-
tion (8.34)), Ratio Cuts (Equation (8.35)), balanced cuts (Equation (8.36)),
206 M. Gaertler

Table 8.2. Definition of various cut functions

S (V ) := min ω(E(V " , V \ V " )) (8.34)


∅&=V ! ⊂V
" "
ω(E(V , V \ V ))
Sratio (V ) := min (8.35)
∅&=V ! ⊂V |V " | · (|V | − |V " |)
ω(E(V " , V \ V " ))
Sbalanced (V ) := min (8.36)
∅&=V ! ⊂V min(|V " |, (|V | − |V " |))
Sconductance (V ) := min δ(V " ) (8.37)
∅&=V ! ⊂V

S2–sector (V ) := min ω(E(V " , V \ V " )) (8.38)


V ! ⊂V,
(|V |/2)≤|V ! |≤*|V |/2+

Conductance Cuts (Equation (8.37)), and Bisectors (Equation (8.38)). Table 8.2
contains all the requisite formulae.
Ratio Cuts, balanced cuts, and Bisectors (and their generalization, the k–
Sectors) are usually applied when the uniformity of cluster size is an important
constraint. Most of these measures are N P-hard to compute. Therefore, approx-
imation algorithms or heuristics are used as replacement. Note that balanced
cuts and Conductance Cuts are based on the same fundamental ideas: rating
the size/weight of the cut in relation to the size/weight of the smaller induced
cut side. Both are related to node and edge expanders as well as isoperimetric
problems. These problems focus on the intuitive notion of bottlenecks and their
formalizations (see Section 8.1.2 for more information about bottlenecks). Some
spectral aspects are also covered in Section 14.4, and [125] provides further in-
sight. Beside these problems, the two cut measures have more in common. There
are algorithms ([565]) that can be used to simultaneously approximate both cuts.
However, the resulting approximation factor differs.
Splitting is often applied to dense networks or networks where the expected
number of intra-cluster edges is extremely high. An example for dense graphs
are networks that model gene expressions [286]. A common observation is that
Splitting methods tend to produce small and very dense clusters.

Non-standard Instances of Linkage and Splitting. There are several al-


gorithms that perform similar operations to ‘linkage’ or ‘splitting’, but do not
fit into the above framework. In order to avoid application-specific details, only
some general ideas will be given without the claim of completeness.
The Identification of Bridge Elements is a common Splitting variant, where
cuts are replaced by edge or node subsets that should help to uncover individual
clusters. One removal step can lead to further connected components, however it
is not required. Figure 8.10 shows such an example. Most of the techniques that
are used to identify bridge elements are based on structural indices, or properties
8 Clustering 207

Fig. 8.10. Example for the removal of bridge elements. Removed elements are drawn
differently: edges are dotted and nodes are reduced to their outline

derived from shortest path or flow computations. Also centralities can be utilized
for the identification [445].
Multi-Level Approaches are generalizations of the Linkage framework, where
groups of nodes are collapsed into a single element until the instance becomes
solvable. Afterwards, the solution has to be transformed into a solution for the
original input graph. During these steps the previously formed groups need not
be preserved, i.e., a group can be split and each part can be assigned to individual
clusters. In contrast to the original Linkage framework, here it is possible to tear
an already formed cluster apart. Multi-level approaches are more often used in
the context of equi-partitioning, where k groups of roughly the same size should
be found that have very few edges connecting them. In this scenario, they have
been successfully applied in combination with shiftings. Figure 8.11 shows an
example.
Modularity – as presented at the beginning of Section 8.2.1, clustering algo-
rithms have a very general structure: they mainly consist of ‘invertible’ transfor-
mations. Therefore, a very simple way to generate new clustering algorithms is
the re-combination of these transformations, with modifications of the sequence
where appropriate. A reduction does not need to reduce the size of an instance,
on the contrary it also can increase it by adding new data. There are two different
types of data that can be added. The first is information that is already present
in the graph structure, but only implicitly. For example, an embedding such
that the distance in the embedding is correlated to the edge weights. Spectral
embeddings are quite common, i.e. nodes are positioned according to the entries
of an eigenvector (to an associated matrix of the graph). More details about
spectral properties of a graph can be found in Chapter 14. Such a step is usually
placed at the beginning, or near the end, of the transformation sequence. The
second kind is information that supports the current view of the data. Similar to
the identification of bridge elements, one can identify cohesive groups. Bridges
and these cohesive parts are dual to each other. Thus, while bridges would be
removed, cohesive groups would be extended to cliques. These steps can occur
during the whole transformation sequence.
208 M. Gaertler

Group 2 Group 3

Group 1 Group 4

(a) input graph (b) identifying groups

Group 1 Group 2

(c) collapsing groups (d) solving the instance

Group 1 Group 2 Group 1 Group 2

(e) expanding internal groups (f) locally optimizing groups

Fig. 8.11. Example of a multi-level approach


400 A. Baltz and L. Kliemann

14.4.1 Proof of Theorem 14.4.7

Recall that G = (V, E) is a graph not equal to K1 , K2 or K3 with n vertices


and m edges. We have to prove
9
i(G) ≤ λ2 (L)(2∆ − λ2 (L)). (14.15)

For the proof, let us write λ := λ2 (L), δ := δ(G), and ∆ := ∆(G).


If λ = 0, then G is disconnected and so i(G) = 0, and we are done. The case
that G is a complete graph on n ≥ 4 vertices or more can be dealt with easily
by using λ = n, see 14.1.6.
Hence we may assume that G is not a complete graph. Then by Proposition
14.4.6, we have λ ≤ ∆. If δ < λ, we have

λ(2∆ − λ) > δ(2∆ − λ) ≥ δ(2∆ − ∆) = δ∆ ≥ δ 2 ≥ i(G)2 .


(14.11)

This is (14.15). We now may assume that

λ ≤ δ. (14.16)

Let y ∈ n be an eigenvector for λ and set W := {i ∈ V ; yi > 0}. Then, perhaps


after switching from y to −y, we have |W | = min{|W | , |V \ W |}. Define
@
yi if i ∈ W
gi := .
0 otherwise

Let E(W ) ⊆ E be the edges between vertices from W . We have


$& $ '
d(i)yi ± yj yi
i∈W j: {i,j}∈E
$ $
= (yi ± yj )yi
i∈W j: {i,j}∈E
$ $
= ((yi ± yj )yi + (yj ± yi )yj ) + (yi ± yj )yi
{i,j}∈E(W ) {i,j}∈E(W,V \W )
$ $
= (yi ± yj )2 + (yi ± yj )yi (14.17)
{i,j}∈E(W ) {i,j}∈E(W,V \W )
$ $ $
= (yi ± yj )2 + d(i)yi2 ± yj yi
{i,j}∈E(W ) i∈W {i,j}∈E(W,V \W )
$ $ $ $
= (gi ± gj )2 − d(i)gi2 + d(i)yi2 ± yj yi
{i,j}∈E i∈W i∈W {i,j}∈E(W,V \W )
$ $
= (gi ± gj )2 ± yj yi .
{i,j}∈E {i,j}∈E(W,V \W )
14 Spectral Analysis 401

Keep in mind that when summing over all edges {i, j} ∈ E, the terms must not
depend on which end of the edge actually is i and which is j. Observe that this
is always the case here, e.g., in the preceding calculation because (gi ± gj )2 =
(gj ± gi )2 for all i, j ∈ V .
Using the eigenvalue property of y we get
$
λyi = d(i)yi − yj ∀i ∈ V. (14.18)
j: {i,j}∈E

This, together with the ‘−’ version of (14.17), yields


$ $& $ '
λ yi2 = d(i)yi − yj yi
i∈W i∈W j: {i,j}∈E
(14.19)
$ $
= (gi − gj )2 − yj yi ,
(14.17) {i,j}∈E {i,j}∈E(W,V \W )

and using the ‘+’ version of (14.17)


$
(2∆ − λ) yi2
i∈W
$ $ $ $
= 2∆ yi2 − d(i)yi2 + yj yi
i∈W i∈W i∈W j: {i,j}∈E
$ $ $
≥ d(i)yi2 + yj yi (14.20)
i∈W i∈W j: {i,j}∈E

$ $
= (gi + gj )2 + yj yi .
(14.17) {i,j}∈E {i,j}∈E(W,V \W )
%
Set α := {i,j}∈E(W,V \W ) yi yj . Because the left and right hand sides of (14.19)
are not negative, using (14.20) we derive
& $ '2
λ(2∆ − λ) yi2
i∈W
$ $
≥ (gi + gj )2 (gi − gj )2
{i,j}∈E {i,j}∈E
& $ $ ' (14.21)
+α (gi − gj )2 − (gi + gj )2 − α2
{i,j}∈E {i,j}∈E
$ $ & $ '
= (gi + gj )2 (gi − gj )2 − α 4 yi yj + α .
{i,j}∈E {i,j}∈E {i,j}∈E(W )

We would like to drop the ‘α’ term completely in this equation. To this end,
observe that by the definition of W we have α ≤ 0. Furthermore, using again
the eigenvalue property of λ (see also (14.18)), we have
402 A. Baltz and L. Kliemann
$
4 yi yj + α
{i,j}∈E(W )
$ $ $
=2 yi yj + 2 yi yj + yi yj
{i,j}∈E(W ) {i,j}∈E(W ) {i,j}∈E(W,V \W )
$ $ $
=2 yi yj + yi yj
{i,j}∈E(W ) i∈W j: {i,j}∈E
$ $
=2 yi yj + (d(i) − λ) y 2
ABCD i∈W A BC D i
{i,j}∈E(W )
≥0 ≥0

≥ 0,

because of the definition of W and (14.16). We thus have by (14.21)


&$ '2 $ $
λ(2∆ − λ) yi2 ≥ (gi + gj )2 (gi − gj )2 . (14.22)
i∈W {i,j}∈E {i,j}∈E

Define v, w ∈ m by v{i,j} := gi + gj and w{i,j} := |gi − gj |. We apply the


Cauchy-Schwartz inequality to v and w, getting
& $ + + '2
+gi2 − gj2 +
{i,j}∈E
& $ '2
= (gi + gj ) |gi − gj |
{i,j}∈E

= )v, w*2
(14.23)
≤ ,v,2 ,w,2
$ $
= (gi + gj )2 (gi − gj )2
{i,j}∈E {i,j}∈E

&$ '2
≤ λ(2∆ − λ) yi2 .
(14.22) i∈W

We will now bound this from below. Let 0 = t0 < t1 < . . . < tN be all the
different values of the components of g. Define Vk := {i ∈ V ; gi ≥ tk } for k ∈
{0, . . . , N } and for convenience VN +1 := ∅. Then, for k ∈ {1, . . . , N + 1} we have
Vk ⊆ W and therefore |Vk | ≤ |W |, hence |Vk | = min{|Vk | , |V \ Vk |}. It also holds
that VN ⊆ VN −1 ⊆ . . . V1 = W ⊆ V0 = V and that |Vk | − |Vk+1 | is the number
of entries in g equal to tk for all k ∈ {0, . . . , N }. % + +
We will later show that we can express the sum {i,j}∈E +gi2 − gj2 + in a con-
venient way:
14 Spectral Analysis 403

$ + N
+ $ $
+gi2 − gj2 + = (gj2 − gi2 )
{i,j}∈E k=1 {i,j}∈E
gi <gj =tk

N
$ $ N
$
= (t2k − t2k−1 ) = |E(Vk , V \ Vk )| (t2k − t2k−1 )
see below k=1 {i,j}∈E(Vk ,V \Vk ) k=1
N
$ N
$
≥ i(G) |Vk | (t2k − t2k−1 ) = i(G) t2k (|Vk | − |Vk+1 |),
k=1 k=0
% + +
since VN +1 = ∅ and t0 = 0. Now we can conclude that {i,j}∈E +gi2 − gj2 + ≥
% %
i(G) i∈V gi2 = i(G) i∈W yi2 . This together with (14.23) yields the claim of
the theorem.
We now only have left to prove the validity of the transformation of the sum,
i.e.,
$N $ N
$ $
(gj2 − gi2 ) = (t2k − t2k−1 ). (14.24)
k=1 {i,j}∈E k=1 {i,j}∈E(Vk ,V \Vk )
gi <gj =tk

This will be done by induction on N . The case N = 1 is clear. So let N > 1 and
assume that (14.24) has already been proven for instances with N − 1 instead of
N , i.e., instances where we have a vector g̃ on a graph G̃ = (Ṽ , Ẽ) assuming only
N different values 0 = t˜0 < . . . < t̃N −1 on its components and where subsets
ṼN −1 ⊆ ṼN −2 ⊆ . . . Ṽ1 = W̃ ⊆ Ṽ0 = Ṽ are defined accordingly.
We will make use of this for the following instance. Define G̃ := G − VN (the
vertices and edges of G̃ are Ṽ and Ẽ, respectively) and let g̃ be the restriction
of g on Ṽ . We then have t̃k = tk for all k ∈ {0, . . . , N − 1}. If we then define the
sets Ṽk accordingly, we also have V˜k = Vk \ VN for all k ∈ {0, . . . , N − 1}. Note
that VN ⊆ Vk for all k ∈ {0, . . . , N − 1}, so the sets Ṽk differ from the sets Vk
exactly by the vertices in VN .
By induction, we have
404 A. Baltz and L. Kliemann

N
$ $
(gj2 − gi2 )
k=1 {i,j}∈E
gi <gj =tk
N
$ −1 $ $
= (gj2 − gi2 ) + (gj2 − gi2 )
k=1 {i,j}∈E {i,j}∈E
gi <gj =tk gi <gj =tN
N
$ −1 $ $
= (g̃j2 − g̃i2 ) + (gj2 − gi2 )
k=1 {i,j}∈E {i,j}∈E (14.25)
g̃i <g̃j =tk gi <gj =tN

N
$ −1 $ $
= (t̃2k − t̃2k−1 ) + (gj2 − gi2 )
induction k=1 {i,j}∈E (Ṽk ,Ṽ \Ṽk )

{i,j}∈E
gi <gj =tN
N
$ −1 $ $
= (t2k − t2k−1 ) + (gj2 − gi2 ).
k=1 {i,j}∈E (Ṽk ,Ṽ \Ṽk ) {i,j}∈E

A BC D gi <gj =tN
(∗)

Observe that the cuts EG̃ (Ṽk , Ṽ \ Ṽk ) only consist of edges in Ẽ. If we switch
to cuts in G, we have to subtract some edges afterwards, namely those with one
end in VN . This way, we get for the sum (∗) the following:
N
$ −1 $
(t2k − t2k−1 )
k=1 {i,j}∈E (Ṽk ,Ṽ \Ṽk )

N
$ −1 $ N
$ −1 $ (14.26)
= (t2k − t2k−1 ) − (t2k − t2k−1 ) .
k=1 {i,j}∈E(Vk ,V \Vk ) k=1 {i,j}∈E(Vk ,V \Vk )
j∈VN
A BC D
(+)

We will inspect the ‘corrective’ term (+) closer. To this end, for each i ∈ V
let k(i) be the smallest index such that i ∈ V \ Vk(i) . We then have gi = tk(i)−1
for all i ∈ V and
14 Spectral Analysis 405

N
$ −1 $
(t2k − t2k−1 )
k=1 {i,j}∈E(Vk ,V \Vk )
j∈VN
$ $
= (t2k − t2k−1 )
{i,j}∈E(VN ,V \VN ) k∈{1,...,N −1}
j∈VN i∈V \Vk

$ N
$ −1
= (t2k − t2k−1 )
(14.27)
{i,j}∈E(VN ,V \VN ) k=k(i)
j∈VN

$
= (t2N −1 − t2k(i)−1 )
telescope {i,j}∈E(VN ,V \VN )
j∈VN
$
= (t2N −1 − gi2 ).
{i,j}∈E(VN ,V \VN )
j∈VN

We can now continue our work on (14.25). Note that

{(i, j); {i, j} ∈ E(VN , V \ VN ), j ∈ VN }


(14.28)
= {(i, j); {i, j} ∈ E, gi < gj = tN } .

This will later allow us to combine the last sum from (14.25) and that from
(14.27).
Putting everything together, we see:
N
$ $
(gj2 − gi2 )
k=1 {i,j}∈E
gi <gj =tk

N
$ −1 $ $
= (t2k − t2k−1 ) + (gj2 − gi2 )
(14.25) k=1 {i,j}∈E (Ṽk ,Ṽ \Ṽk )

{i,j}∈E
A BC D gi <gj =tN
(∗)

N
$ −1 $ N
$ −1 $
= (t2k − t2k−1 ) − (t2k − t2k−1 )
(14.26) k=1 {i,j}∈E(Vk ,V \Vk ) k=1 {i,j}∈E(Vk ,V \Vk )
i∈VN
A BC D
(+)
$
+ (gj2 − gi2 ).
{i,j}∈E
gi <gj =tN

Apply (14.27) to the (+) term and get


406 A. Baltz and L. Kliemann

N
$ −1 $ $
... = (t2k − t2k−1 ) − (t2N −1 − gi2 )
k=1 {i,j}∈E(Vk ,V \Vk ) {i,j}∈E(VN ,V \VN )
j∈VN
$
+ ( gj2 −gi2 )
{i,j}∈E
ABCD
gi <gj =tN =t2N

N
$ −1 $
= (t2k − t2k−1 )
(14.28) k=1 {i,j}∈E(Vk ,V \Vk )
$
+ (t2N − gi2 − t2N −1 + gi2 )
{i,j}∈E(VN ,V \VN )
j∈VN
N
$ −1 $ $
= (t2k − t2k−1 ) + (t2N − t2N −1 )
k=1 {i,j}∈E(Vk ,V \Vk ) {i,j}∈E(VN ,V \VN )
j∈VN
N
$ $
= (t2k − t2k−1 ).
k=1 {i,j}∈E(Vk ,V \Vk )

This is (14.24). 4
3

14.5 Heuristics for Graph Identification


We know several models for random graphs from Chapter 13. Given some graph,
which one of these models describes it best? In this chapter, we will point out
some ideas for using spectral methods to recognize graphs from different random
graph models.
We will only consider the adjacency spectrum in this chapter. In the first
section we will define some new graph parameters based on this spectrum. In
the subsequent sections we will look at histogram plots of the spectrum and at
the behavior of these new parameters for different models of random graphs.
In a final section, we briefly review some analytical results concerning the
adjacency spectrum of random power law graphs.

14.5.1 New Graph Statistics


The spectrum of a graph as well as the set of its eigenvectors are graph statistics,
more precisely they are global distributions. See Section 11.7 in Chapter 11 for
a general discussion of graph statistics.
A multigraph is — up to isomorphy — fully determined by its spectrum
plus eigenvectors [135, Theorem 1.8, p. 44]. It seems reasonable to define new
statistics which store only selected parts of that information in order to retrieve
relevant characteristics.
14 Spectral Analysis 407

Inverse Participation Ratio. Recall that we can interpret an eigenvector as


an assignment of weights to the vertices; see Remark 14.1.2. We will ask, how
these weights are distributed. Are there a few vertices that have relatively large
weights compared to the rest (we also speak of a high localization in this case),
or are the weights very similar for all vertices?
Let G be a graph and let w1 , . . . , wn be the normalized eigenvectors of its
adjacency matrix. We define the inverse participation ratio [198] of the jth eigen-
vector as n
$
Ij (G) := ((wj )k )4 . (14.29)
k=1
We also write Ij when dealing with only one graph at a time.
Because the eigenvectors are normalized, we have Ij (G) ∈ [ n1 , 1] for all j ∈
{1, . . . , n}. The inverse participation ratio measures an eigenvector’s extent of
localization. This becomes clear by considering extreme cases. First let wj define
perfectly evenly distributed weights on the graph, i.e., (wj )k := √1n for all k ∈
{1, . . . , n}. Then, Ij = n1 , i.e., the inverse participation ration attains its minimal
value.
On the other hand, if for an arbitrary vertex k0 ∈ V , we have
@
1 if k = k0
(wj )k = ,
0 otherwise
then Ij = 1, i.e., the inverse participation ration attains its maximum value.

Offset of Largest Eigenvalue. In certain classes of graphs, the largest eigen-


value tends to ‘escape’ from the rest of the spectrum. For example, this is the
case in certain models of random graphs. It therefore is interesting to study the
quantity
λn − λn−1
R(G) := . (14.30)
λn−1 − λ1
R(G) captures the offset of λn from the second largest eigenvalue λn−1 normal-
ized with respect to the range of the rest of the spectrum.
There is a correlation between R(G) and the chromatic number χ(G), as was
noticed in [198]. Define ε by the equation
−λ1 = λn−1 + ε.
For |ε| small, the smallest interval containing all eigenvalues except λn is al-
most centered around 0. (For certain random graphs, |ε| is in fact small.) Recall
from 14.4 that there are bounds on the chromatic number in terms of extremal
eigenvalues. In particular, we have by Theorem 14.4.12,
χ(G) −λn 1 −λn − λ1
−1≥ − =
2 2λ1 2 2λ1
−λn + λn−1 + ε λn − λn−1 − ε
= = .
λ1 − λn−1 − ε λn−1 − λ1 + ε
408 A. Baltz and L. Kliemann

So, for graphs with ε = 0 the chromatic number is lower bounded in terms of
R(G) as
χ(G) ≥ 2R(G) + 2.
For small |ε|, this equation obviously still holds in an approximate sense.

14.5.2 Spectral Properties of Random Graphs


Can random graphs from different models be distinguished by looking at spectral
properties? One way of approaching this problem is to study the outcome of
a large number of random experiments. We will present some results of some
such experiments and discuss possible interpretations. The three random models
under consideration are the model by Erdős and Rényi, G(n, p), the scale-free
graphs by Barabási and Albert — see 13.1.4 — and the small-world graphs by
Watts and Strogatz — see 13.1.2.
First, we investigate how these models differ in their spectra by looking at
histogram plots of the eigenvalues of a number of randomly generated graphs.
Then, we compare the inverse participation ratios, defined in (14.29). Finally we
also look at the offsets of the largest eigenvalues, defined in (14.30). Our focus
will be on G(n, p) and Barabási-Albert-like graphs. For details on small-world
graphs, see [198].
For our numerical experiments, we wrote a small C program (about 600 lines
of code). To compute the eigenvalues and later (for the inverse participation ra-
tios) also the eigenvectors, we use the function ssyev from the Sun Performance
Library [537]. The actual plots were made using gnuplot [588].

Spectra. Let us start with G(n, p). We generated 100 graphs randomly accord-
ing to G(2000, 12 ) and computed their spectra. A first observation is that the
largest eigenvalue is significantly set off from the rest of the spectrum in all of
these experiments. Because this offset will be explicitly regarded later, we for
now exclude the largest eigenvalue from our considerations. So, when talking of
‘spectrum’, for the rest of this section, we mean ‘spectrum without the largest
eigenvalue’.
To get a visualization of all the spectra, we computed a histogram of the
eigenvalues of all 100 random graphs. This technique will be used for the other
random graph models as well. The quantity approximated by those histograms
is also known as the spectral density. Although we do not introduce this notion
formally [198], we will in the following occasionally use that term when referring
to the way eigenvalues are distributed.
All histograms, after being normalized to comprise an area of 1, were scaled
in the following way. Let λ1 , . . . , λN be the eigenvalues. (In our case N = 100 ·
(2000 − 1), for we have 100 graphs with 2000 eigenvalues each, and we exclude
the largest of them for each graph). Define λ̄ as the mean of all these values
N
1 $
λ̄ = λi .
N i=1
14 Spectral Analysis 409

Then, we compute the standard deviation


P
QN
Q$
σ = R (λi − λ̄)2 .
i=1

The x-axis of our plots is scaled by σ1 and the y-axis is scaled by σ. This
makes it easy to compare spectra of graphs of different sizes.
Figure 14.10 shows the scaled histogram. The semicircle form actually is no
surprise. It follows from a classical result from random matrix theory known as
the semicircle law. It originally is due to Wigner [584, 585] and has later been
refined by a number of researchers [34, 233, 337].

0.35
"Gnp_2000_0.5_.dens"

0.3

0.25

0.2

0.15

0.1

0.05

0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5

Fig. 14.10. A histogram of the union of the spectra of 100 random graphs from
G(2000, 12 )

Now we look at graphs that originate from an evolutionary process with


preferential attachment, like the Barabási-Albert graphs. We implemented a very
simple algorithm for creating graphs with preferential attachment. There is only
one parameter m (apart from the number of vertices n). The process starts with
m unconnected vertices. Whenever a new vertex arrives, it is connected with
m edges to older vertices. To this end, the algorithm m times chooses a vertex
out of the set of old vertices at random. The probability of an old vertex being
410 A. Baltz and L. Kliemann

chosen is proportional to its degree; at the very first step, when all vertices have
degree 0, each of them is equally likely to be chosen.
This way of generating preferential attachment graphs is slightly different
from what usually is considered in that multiple edges are allowed. However,
the resulting histograms of the spectra look very similar to those of [198], where
multiple edges do not occur. See Figure 14.11 for our results. For comparison,
Figure 14.12 shows plots for our preferential attachment graphs and for G(n, p)
graphs in one figure.

0.45
"BA_2000_10_.dens"

0.4

0.35

0.3

0.25

0.2

0.15

0.1

0.05

0
-4 -3 -2 -1 0 1 2 3 4

Fig. 14.11. A smoothed histogram of the union of the spectra of 100 random graphs
with preferential attachment on 2000 vertices and with m = 10

The preferential attachment graph obviously has significantly more small


eigenvalues than the G(n, p) graph. Since it essentially is connected2 these small
eigenvalues cannot originate from small connected components. In [198] it is
suggested that these eigenvalues belong to eigenvectors that are highly localized.
This is supported by high inverse participation ratios, which we will observe later.
An interesting case for our studies of G(n, p) are sparse random graphs. We
used to look at large values of n, for which according to the semicircle law, our
histograms should more and more (with increasing n) resemble a semicircle. In

2
There might be a number of less than m = 10 isolated vertices.
14 Spectral Analysis 411

0.45
c(x)
"Gnp_2000_0.5_.dens"
"BA_2000_10_.dens"
0.4

0.35

0.3

0.25

0.2

0.15

0.1

0.05

0
-2 -1 0 1 2

Fig. 14.12. Histograms of spectra of 100 random graphs with preferential attachment
(n = 2000, m = 10) and from G(2000, 12 ) each. The solid line marks an ideal semicircle

the case displayed in Figure 14.10 we have an expected degree of approximately3


pn = 12 2000 = 1000. This quantity pn is also referred to as the connectivity of the
graph, although we will avoid this term, because it has already been extensively
used in another context (see Chapter 7).
What if we look at graphs with fewer edges than in Figure 14.10, say, graphs
in G(n, p) where pn = 5? Figure 14.13 shows that the spectral densities of such
graphs rise above the semicircle in the vicinity of 0. Reasons for this have been
discussed in [198].
One can also notice small peaks at larger eigenvalues. They become more
obvious in plots of graphs with even lower expected degree. To study them in
more detail, it is helpful to look at the cumulative distribution of eigenvalues,
i.e., at the function
x C→ |{i; λi ≤ x}|
Figure 14.14 shows an examplary plot.

3
The expected degree is in fact p(n − 1). To see this, fix a vertex i ∈ V . This vertex
has n − 1 potential neighbors. Let X1 , . . . , Xn−1 be 0/1 random variables, where Xj
indicates whether or not an edge is drawn from i to j. If we put X := n−1 j=1 Xi , then
[X] is the expected degree of i. The claim follows from linearity of expectation.
412 A. Baltz and L. Kliemann

0.5
c(x)
"Gnp_alpha_1000_5.0.dens"
0.45 "Gnp_alpha_2000_5.0.dens"
"Gnp_alpha_4000_5.0.dens"

0.4

0.35

0.3

0.25

0.2

0.15

0.1

0.05

0
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5

Fig. 14.13. Histograms of spectra of sparse random graphs. For n = 1000, 2000 and
4000 each we created 10 random graphs from G(n, p) with p set to satisfy pn = 5. The
solid line marks an ideal semicircle

In [49], the reasons for the peaks are investigated. It is argued that they
originate from small connected components and, for pn > 1, also from small
trees grafted on the giant component.

Inverse Participation Ratios. Looking at Figure 14.12 has already lead us


to conjecture that our graphs with preferential attachment have highly localized
eigenvectors. To investigate this further, we created random graphs in all three
models and plotted the inverse participation ratios of their eigenvectors. Figure
14.15 shows all three plots. Each circle represents an eigenvector. The x position
of the circle corresponds to the eigenvalue and the y position to the inverse par-
ticipation ratio. Note that in the second plot (which shows the results for the
Barabási-Albert-like graph), there are even eigenvectors with inverse participa-
tion ratio near to 1.
It is also interesting that we obtain very distinguishing plots even for small
numbers of vertices; all considered graphs only had 100 vertices each. We ran-
domly created more such graphs and always could observe the same character-
istics. Obviously one can recognize the G(n, p) by the fact that all eigenvectors
have their inverse participation ratios rather evenly distributed in a small band at
the bottom of the diagram. The Barabási-Albert-like graph exhibits as a salient
14 Spectral Analysis 413

1
"Gnp_2000__1_20"
"Gnp_2000__2_00"
0.9 "Gnp_2000__5_00"

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
-6 -4 -2 0 2 4 6

Fig. 14.14. The cumulative distribution of eigenvalues for sparse random graphs. For
n = 2000 and pn = 1.2, 2.00 and 5.00 each we created 10 random graphs from G(n, p)

feature eigenvectors with high inverse participation ratio. The small-world graph
shows a very asymmetric structure.
We were not able to produce likewise distinguishing plots of the spectral
density for such small graphs.

Offset of Largest Eigenvalue. We already mentioned that in the G(n, p)


model as well as in the graphs with preferential attachment, the largest eigen-
value is significantly set off from the rest of the spectrum. The offset R, see
(14.30), in these two models differs from that in the small-world graphs by sev-
eral orders of magnitude. But there is also a difference between the R values of
sparse G(n, p) graphs and graphs with preferential attachment. For the former,
with increasing number of vertices and constant average degree, the R values
seem to stay constant, while for the latter they decrease. See [198] for numerical
results.

14.5.3 Random Power Law Graphs


In [127, 128], first the adjacency spectrum of a very general class of random
graphs is examined. Given a sequence w = (w1 , w2 , . . . , wn ) of non-negative
reals satisfying
414 A. Baltz and L. Kliemann

1 1 1
"Gnp_100_0.1_0001_.ipr" "BA_100_10_0001_.ipr" "sw_100_0.01_10_0001_.ipr"

0.8 0.8 0.8

0.6 0.6 0.6

0.4 0.4 0.4

0.2 0.2 0.2

0 0 0
-15 -10 -5 0 5 10 15 -15 -10 -5 0 5 10 15 -15 -10 -5 0 5 10 15

Fig. 14.15. Inverse participation ratios of three random graphs. The models are:
G(n, p) (Gnp 100 0.1 0001 ipr), preferential attachment (BA 100 10 0001 ipr), small-
world (sw 100 0.01 10 0001 ipr). All graphs have an expected degree of 10

n
$
max wi2 < wi ,
i∈{1,...,n}
i=1

a random graph G(w) is constructed by inserting an edge between vertices i and


j with probability
ww
%n i j .
k=1 wk
It is easy to verify that in such a graph, vertex i has expected degree wi .
A useful notation is the second order average degree, defined by
%n
˜ wi2
d := %i=1
n .
i=1 wi

Furthermore, we denote the largest expected degree by m and the average ex-
pected degree by d.
We can prove results on the largest eigenvalue of the adjacency spectrum of
a random graph from G(w), which hold almost surely4 and under certain condi-
tions on d˜ and m. We can also make such statements on the k largest eigenvalues,
provided that d,˜ m, and the k largest expected degrees behave appropriately.
An interesting application of these results concerns random power law graphs:
we can choose the sequence w suitably, so that the expected number of vertices
of degree k is proportional to k −β , for some given β. Under consideration were
values of β > 2.
Theorem 14.5.1 ([127, 128]). Let G be a random power law graph with ex-
ponent β and adjacency spectrum λ1 , . . . , λn .

4
I.e., with probability tending to 1 as n tends to ∞.
14 Spectral Analysis 415

1. For β ≥ 3 and
m > d2 log3 n, (14.31)
we have almost surely √
λn = (1 + o(1)) m.
2. For 2.5 < β < 3 and
β−2 3
m > d β−2.5 log β−2.5 n, (14.32)
we have almost surely √
λn = (1 + o(1)) m.
3. For 2 < β < 2.5 and
3
m > log 2.5−β n,
we have almost surely
λn = (1 + o(1))d.˜
, -β−1
4. For 2.5 < β and k < n d
m log n , almost surely the k largest eigenvalues
of G have power law distribution with exponent 2β − 1, provided m is large
enough (satisfying (14.31) and (14.32)).
We remark that the second order average degree d˜ can actually be computed
in these cases. For details see [127, 128].

14.6 Chapter Notes


Fundamental Properties
The adjacency spectrum is discussed in a vast amount of papers and textbooks.
The results presented in this chapter are taken from [135, 247, 576]. More on
the Laplacian can be found in [135] (under the term ‘admittance matrix’) and in
[427]. The normalized Laplacian is extensively studied in [125]. While the eigen-
values alone do not generally determine the structure of a graph (as shown by
cospectral graphs), eigenvalues plus eigenvectors do: if u1 , u2 , . . . , un are linearly
independent eigenvectors of A corresponding to λ1 , λ2 , . . . , λn respectively, then
A = U DU −1 , where U :=Mat(u1 , . . . , un ) is the matrix with ui as column vec-
tors and D :=diag(λ1 , . . . , λn ) is the diagonal matrix with entries λi . Already
the knowledge of some eigenvectors can be very useful to recognize important
properties of a graph. This is elaborated on in [136]. The cited references con-
tain also many results on the spectrum of regular graphs which we treated rather
stepmotherly since in network analysis we are typically dealing with highly non-
regular graphs.

Numerical Methods
The diagonalization strategy for small dense matrices is comprehensively treated
in [482, 535]. For a discussion of QR-like algorithms including parallelizable
versions see [571]. More on the Lanczos method can be found in [467, 591]. An
Arnoldi code for real asymmetric matrices is discussed in [509].
416 A. Baltz and L. Kliemann

Subgraphs and Operations on Graphs

The Interlacing Theorem plays an important role in many publications on spec-


tral graph theory. In addition to the already mentioned literature, we point the
reader to [561]. More on graph operations and resulting spectra can be found in
[135, Chapter 2] and [427]. As already mentioned, symmetric grafting also plays
a role in [49].

Bounds on Global Statistics


For more results on the connection between eigenvalues and graph parameters
see [427, 428] and the references therein, such as [426, 425]. More on the role of
the eigenvalues of the normalized Laplacian for graph parameters can be found
in [125]. More on the connection between λ2 (L) and expansion properties can
be found in [19]. Better spectral lower bounds on the bisection width have been
given by Donath, Hoffman [159], Boppana [78], and Rendl, Wolkowicz [491].
Boppana’s technique also yields an efficient algorithm with good average case
behavior. For a discussion of spectral methods for the multiway partition problem
of finding a k-partition with prescribed part sizes see [27, 389].

Heuristics for Graph Identification


For further reading, see [198, 49] as well as the already mentioned [127, 128].
The behavior of certain extremal eigenvalues is also considered in [337].
15 Robustness and Resilience

Gunnar W. Klau and René Weiskircher

Intuitively, a complex network is robust if it keeps its basic functionality even


under failure of some of its components. The study of robustness in networks is
important because a thorough understanding of the behavior of certain classes
of networks under failures and attacks may help to protect, for instance, com-
munication networks like the Internet against assaults or to exploit weaknesses
of metabolic networks in drug design.
Often, we distinguish between random failure and intentional attacks. Ex-
amples for random and intentional component failures in real-world complex
networks are, for instance, mutations in a cell, pharmaceutical or environmen-
tal stress on metabolic networks, router failures in the Internet, or intentional
attacks on airline or highway networks. We will see that some networks like the
Internet are very robust against random drop-outs of routers but may suffer
heavily from targeted attacks against well-chosen central routers.
This chapter is dedicated to network statistics that are of interest with respect
to a network’s robustness or its resilience against repeated component failure.
We give an overview of a variety of statistics and discuss their applicability in
practice in terms of usefulness and computational complexity. Often, research
on robustness focuses on how these statistics change, by analyzing or measuring
the effects if a network undergoes a sequence of component failures. Wherever
possible we try to relate the different statistics and discuss their advantages and
disadvantages. In many cases, we use examples to illustrate the definitions.
We chose to organize this chapter as follows: We distinguish between worst
case, average, and probabilistic statistics. Sections 15.1 and 15.2 cover worst case
connectivity and distance measures. Average robustness statistics (Section 15.3)
allow a more global perspective on robustness properties whereas probabilis-
tic statistics (Section 15.4) consider the failure probabilities implicitly. While,
roughly speaking, the statistics become more and more meaningful the more
they are located towards the end of this chapter, they are also more difficult to
compute. We conclude this chapter in Section 15.5 with final remarks and list
some open problems.

15.1 Worst-Case Connectivity Statistics


This section deals with statistics that answer questions of the form “What is the
minimum number of edges or vertices that have to be deleted from the network

U. Brandes and T. Erlebach (Eds.): Network Analysis, LNCS 3418, pp. 417–437, 2005.
c Springer-Verlag Berlin Heidelberg 2005
(
418 G.W. Klau and R. Weiskircher

such that the resulting network is disconnected and has property P ?”. These
are worst case statistics because the deletion of an arbitrary set of vertices or
edges of the same size may not cause the same effect. So we implicitly assume
that the vertex or edge failures are not random but targeted for maximum effect.

15.1.1 Classical Connectivity


Classical connectivity is the basis of many robustness statistics. A network is
called connected, if there exists a path between every pair of vertices in the
network. In many applications, connectedness is a necessary condition for a
network to fulfill its purpose. Therefore, one measure of robustness of a network
is the number of vertices or edges that have to be removed to make the network
unconnected. These are called the vertex-connectivity and edge-connectivity of
the network, respectively. They are treated in depth in Chapter 7. Here we only
look at connectivity as a measure of the robustness of a network.
If a network loses its functionality completely as soon as it is not connected
anymore, connectivity is indeed a good measure for its robustness. But if we are
concerned with the case where the usefulness of a network is not seriously affected
by disconnecting a small set of vertices from the network, connectivity is not a
meaningful measure. Consider the Internet as an example. A desktop computer
is only connected to the net via one link to a provider or server. Cutting this
link disconnects the net but has only a negligible influence on the functionality
of the whole Internet. Yet the edge-connectivity of the net is only one. Similarly,
the failure of a small router will only disconnect a handful of clients from the
net but proves that the Internet has vertex connectivity one.

15.1.2 Cohesiveness
The notion of cohesiveness was introduced by Akiyama et al. in [13] and defines
for each vertex of the network to what extent it contributes to the connectivity.
Definition 15.1.1. Let κ(G) be the vertex-connectivity of G (see the definition
in Section 2.2.4). Let G − v be the network obtained from G by removing vertex
v. For any vertex v of G, the cohesiveness c(v) is defined as follows:

c(v) = κ(G) − κ(G − v)

Vertex 7 in Figure 15.1(a) has a cohesiveness of -2, because the network has
vertex-connectivity 1 if vertex 7 is present and vertex connectivity 3 if we delete
it. On the other hand, vertex 6 in Figure 15.1(b) has cohesiveness 1 because if
we remove it from the network, the vertex-connectivity drops from 3 to 2.
It follows from the definition that the cohesiveness of a vertex cannot be
greater than 1. Intuitively, a vertex with negative cohesiveness is an outlier of
the network while a vertex with cohesiveness 1 is central. It can be shown that
a network can have at most one vertex with negative cohesiveness and that
the neighborhood of this negative vertex contains the only set of vertices of
15 Robustness and Resilience 419

0 5 0 5

7 1 6 4 1 6 4

2 3 2 3

(a) (b)

Fig. 15.1. Example graphs for the cohesiveness of a vertex. Vertex 7 in Figure 15.1(a)
has cohesiveness -2 and vertex 6 in Figure 15.1(b) cohesiveness 1

size κ(G) whose removal disconnects the network. Consider as an example the
network shown in Figure 15.1(a), where vertex 7 is the only vertex with negative
cohesiveness. The only neighbor of vertex 7 is vertex 1 and this is the only vertex
whose deletion splits the network.
Even though a network can have at most one negative vertex, we can compute
a set of loosely connected vertices by removing the negative vertex and then
looking for the next negative vertex. This algorithm could be used to find loosely
connected vertices in a network because a negative vertex is at the periphery of
the graph. A drawback of this approach is that this algorithm may stop after
a few vertices even for big networks because there are no more vertices with
negative cohesiveness.
The cohesiveness of a vertex can be computed using standard connectivity
algorithms (see Chapter 7). To compute the cohesiveness of every vertex, the
connectivity algorithm has to be called n times where n is the number of vertices
in the network.

15.1.3 Minimum m-Degree


The statistics we have mentioned so far make statements about the connectivity
of a network. The m-degree was introduced in [65] by Boesch and Thomas. It is
concerned with the state of the network after disconnection.
Definition 15.1.2. The minimum m-degree ξ(m) of a network is the small-
est number of edges that must be removed to disconnect the network into two
connected components G1 and G2 where G1 contains exactly m vertices.
Table 15.1 shows the m-degrees for the network in Figure 15.2.
Let G = (V, E) be a network with |V | = n. Boesch and Thomas showed
in [65] the following properties of the minimum m-degree:
– ξ(m) = ξ(n − m).
– ξ(m) ≥ m(δ(G) − m + 1) where δ(G) is the minimum degree of any vertex in
G.
420 G.W. Klau and R. Weiskircher

1 5 6

0 3

8 2 4 7
Fig. 15.2. Example network for the minimum m-degree

Table 15.1. The m-degrees for the network in Figure 15.2


1-degree 2-degree 3-degree 4-degree 5-degree
1 2 3 3 3

– Let G be a regular network with degree r ≤ n/2, n > 2 and m ≥ l. Then


r ≥ 6ξ(m)/m7 + 8ξ(l)/l9 .
There is no asymptotically faster algorithm known for computing the mini-
mum m-degree than trying all sets of vertices of size m and check if the graphs
induced by the set and by its complement are connected. If this is the case, we
count the number of edges connecting vertices in the set with vertices outside.
The) nminimum
* over all sets is the m-degree. This results in a running time of
O( m |E|).
The main problem of this statistics is that the splitting of the graph has to
result in two connected components, so it does not express an intuitive concept
of robustness. The network in Figure 15.3 has 3-degree 3 while the deletion of
the two thick edges is enough to split a component with three vertices from the
network.

4 5

3 2 7 10

0 1 8 9

Fig. 15.3. A counter-intuitive example for the m-degree statistics

15.1.4 Toughness
The toughness of a network was introduced by Chvátal [129]. It measures the
number of internally connected components that the graph can be broken into
by the failure of a certain number of vertices.
15 Robustness and Resilience 421

Definition 15.1.3. Let S be a subset of the vertices of G and let K(G − S) be


the number of internally connected components that G is split into by the removal
of S. The toughness of G is defined as follows:
( 8
|S|
t(G) = min
S⊆V,K(G−S)>1 K(G − S)

The edge-toughness of a network is defined analogously for edges.


Intuitively, the toughness of a network is high if even the removal of a large
number of vertices splits the network only into few components. Conversely, if
a network can be split into many components by removing a small number of
vertices, its toughness is small.
The toughness of a complete network is defined as infinite. The network with
the smallest toughness is a star. Removing the central vertex splits the network
into components of size one and so the toughness of a star with n vertices is
n−1 . Note that the central vertex is also the only one whose removal splits the
1

graph.
It is N P-hard to decide for a general graph if it has toughness at least t [48].
If the network is a tree, the toughness is ∆(G) 1
where ∆(G) is the maximum
degree of any vertex. The toughness of the complete bipartite network Km,n
with m ≤ n and n ≥ 2 is m n.
The toughness of a circle is one and it follows that the toughness of a Hamil-
tonian graph is at least one. In [129], Chvátal also showed a connection between
the independence number of a network and the toughness. The independence
number β0 is the size of the largest subset S of the vertices with the property
that there is no edge in the network connecting two vertices in S. The toughness
of G is lower-bounded by κ(G)/β0 (G) and upper bounded by (n − β0 (G))/β0 .

15.1.5 Conditional Connectivity


Conditional connectivity was introduced by Harary in [276] and is a generaliza-
tion of the minimum m-degree. The measure is parameterized with a property
P that has to hold for all the components created by deleting vertices from the
network.
Definition 15.1.4. The P -connectivity κ(G : P ) of network G is the small-
est number of vertices that have to be deleted from the network such that the
remaining network G$ has the following properties:
1. G$ is not connected.
2. Every connected component of G$ has property P .
Conditional edge-connectivity is defined analogously for the deletion of edges.
Conditional connectivity is potentially very useful in practice because the prop-
erty P can be chosen according to the characteristics of the task that the network
should accomplish. An example could be defining P as: “The component has at
most k vertices”. The conditional connectivity would then correspond to the
422 G.W. Klau and R. Weiskircher

size of the smallest subset of vertices we have to delete to split the network into
components of at most k vertices each. Classical connectivity is a special case of
conditional connectivity where P = ∅.
If we define a sequence S = (P1 , . . . , Pk ) of properties according to our ap-
plication such that Pi+1 implies Pi for 1 ≤ i ≤ k − 1, we obtain a vector of
conditional connectivity

(κ(G : P1 ), . . . , κ(G : Pk )) .

If the properties are defined to model increasing degradation of the network with
respect to the application, this vector gives upper bounds for the usefulness of
the system with respect to the number of failed vertices.
A similar measure is general connectivity, also introduced by Harary [277].
If G is a network with property P and Y is a subset of the vertices (edges) of
G, then κ(G, Y : P ) is the smallest set X ⊂ Y of vertices (edges) in G whose
removal results in a network G$ that does not have property P . Conditional
connectivity is a special case of general connectivity.
The main drawback of these statistics is that there is no efficient algorithm
known that computes them for a general graph.

15.2 Worst-Case Distance Statistics


The statistics in this section make statements about the increase of distances in
the network caused by the deletion of vertices or edges. These are again worst-
case statistics because they give the smallest number of vertices or edges that
have to be deleted in order to increase the distances. All the statistics we present
in this section are only defined until the network becomes disconnected by the
removal of vertices and edges.

15.2.1 Persistence
The persistence of a network is the minimum number of vertices that have to be
deleted in order to increase the diameter (the longest distance between a pair of
vertices in the network). Again, an analogous notion is defined for the deletion
of edges (edge persistence). Persistence was introduced by Boesch, Harary and
Kabell in [64] where they also present the following properties of the persistence
of a network:
– The persistence of a network with diameter 2 ≤ d ≤ 4 is equal to the minimum
over all pairs of non-adjacent vertices i and j of the maximum number of
vertex-disjoint i, j-paths of length no more than d.
– The edge-persistence of a network with diameter d ∈ {2, 3} is the minimum
over all pairs of vertices i, j of the maximum number of edge-disjoint i, j-paths
of length no more than d.
15 Robustness and Resilience 423

There are many theoretic results on persistence that mainly establish con-
nections between connectivity and persistence, see for example [74, 475]. The
persistence vector is an extension of the persistence concept. The i-th compo-
nent of P (G) = (p1 , . . . , pn ) is the worst-case diameter of G if i vertices are
removed. This is the same concept as the vertex-deleted diameter sequence we
introduce in Section 15.2.2.
The main drawback of persistence is that there is no efficient algorithm known
to compute it.

15.2.2 Incremental Distance and Diameter Sequences


Krishnamoorthy, Thulasiraman, and Swamy have studied the increase of dis-
tances in a network caused by the deletion of vertices and edges [371]. They
introduce for a network G four sequences A, B, D, and T defined as follows:
Definition 15.2.1. Let d(u, v) = dG (u, v) be the distance of the two vertices u
and v in G. Let d(G) be the diameter of G. Let l be the vertex connectivity of G
and m the edge-connectivity. Then the sequences A, B, D and T are defined as
follows:
ai = max|Vi |=i {dG−Vi (u, v) − d(u, v) | u, v ∈ V − Vi } for 1 ≤ i ≤ l − 1
bi = max|Ei |=i {dG−Ei (u, v) − d(u, v)} for 1 ≤ i ≤ m − 1
di = max|Vi |=i {d(G − Vi )} for 1 ≤ i ≤ l − 1
ti = max|Ei |=i {d(G − Ei )} for 1 ≤ i ≤ m − 1 .

Sequence A is called the vertex-deleted incremental distance sequence, B the


edge-deleted incremental distance sequence, D the vertex-deleted diameter se-
quence and T the edge-deleted diameter sequence.
Entry i in sequence A is the maximum increase of the distance between a
pair of vertices caused by the deletion of i vertices from G. The sequence B
contains the maximum increase in distance for the deletion of edges. Entry i in
sequence D is the maximum diameter of the graph caused by deleting i vertices,
and sequence T is the analogous sequence for the deletion of edges. Table 15.2
contains the four sequences for the network shown in Figure 15.4.

Table 15.2. The vertex- and edge-deletion-sequences for the network of Figure 15.4
A (1,2)
B (3,3)
D (3,4)
T (4,4)

It is easy to see that the A, B and T sequences are always monotonically


nondecreasing. The entries of the A sequence are non-negative and the entries
in the B sequence at least 1. If G is complete the four sequences are as follows:
– A = (0, . . . , 0)
424 G.W. Klau and R. Weiskircher

3 2 4 5

6 7

Fig. 15.4. Example graph for incremental distance sequences

– B = (1, . . . , 1)
– D = (1, . . . , 1)
– T = (2, . . . , 2)
Krishnamoorthy, Thulasiraman and Swamy show that the largest increase
in the distance between any pair of vertices caused by the deletion of i vertices
or edges can always be found among the neighbors of the deleted objects. This
speeds up the computation of the sequences significantly and also simplifies the
definitions of A and B. These sequences can also be defined as follows (note that
N (Vi ) is the set of vertices adjacent to vertices in the set Vi and N (Ei ) is the
set of vertices incident to edges in Ei ):

ai = max {dG−Vi (u, v) − d(u, v) | u, v ∈ N (Vi )} for 1 ≤ i ≤ l − 1


|Vi |=i

bi = max {dG−Ei (u, v) − d(u, v) | u, v ∈ N (Ei )} for 1 ≤ i ≤ m − 1


|Ei |=i

The vertex- and edge-deletion sequences are a worst case measure for the
increase in distance caused by the failure of vertices or edges and they do not
make any statements about the state of the graph after disconnection occurred.
So these measures are only suited for applications where distance is crucial and
disconnection makes the whole network unusable. Even with the improvement
mentioned above, computing the sequences is still only possible for graphs with
low connectivity.

15.3 Average Robustness Statistics

The statistics in this section make statements about the average number of
vertices or edges that have to fail in order for the network to have a certain
property or build an average of local properties in order to cover global aspects
of the network.
15 Robustness and Resilience 425

15.3.1 Mean Connectivity


All of the measures introduced so far are worst-case measures. The mean con-
nectivity introduced by Tainiter [538, 539] tries to make statements about the
probability that a network is disconnected by the random deletion of edges.
Definition 15.3.1. Let G = (V, E) be a connected network with n vertices and
m edges. Let S(G) be the set of all m! orderings of the edges and G0 = (V, ∅).
For each ordering s ∈ S(G) we define the number ξ(s) as follows: We insert the
edges of G into G0 in the sequence given by s. We define ξ(s) as the index of
the edge that transforms the network from disconnected to connected. The mean
connectivity of G is then defined as follows:
1 $
M(G) = m − ξ(s)
m!
s∈S(G)

Figure 15.5 shows a graph with mean connectivity 3/4. This can be seen as
follows: For every edge-sequence where the edge (2, 3) does not come last, we have
ξ(s) = 3. For all other sequences, we have ξ(s) = 4. Since there are six sequences
where edge (2, 3) is last and 24 sequences in total, the mean connectivity of the
graph is 3/4.
Note that M(G) is not the same as the mean number of edges we have to
delete to disconnect G. If we look at all sequences of deleting edges and compute
the mean index where the graph becomes disconnected, we obtain the value 7/4
for the graph in Figure 15.5.

2 3

1
Fig. 15.5. A graph with mean connectivity 3/4

Tainiter has shown the following properties of this measure:


– If G = (V, E $ ) with E $ ⊆ E is a connected sub-network of G = (V, E) then
M(G$ ) ≤ M(G)
– Let G be a network with n vertices and m edges. We construct a new network
G$ by adding one new vertex and h edges that connect it to vertices in G.
Let M(G, k) be the number of edge-sequences for G with ξ(s) = k. Then the
following inequality is satisfied:
m
$
M(G) + 1 1 (h + m − k + 1)!
M(G$ ) − M(G) ≥ − M(G, k)
m+1 h+1 (m − k)!(m + h)!
k=n−1
426 G.W. Klau and R. Weiskircher

– The following bounds are tight:

λ(G) − 1 ≤ M(G) ≤ m − n + 1

where λ(G) is the edge-connectivity of G. An example where both bounds are


tight is a circle where we have λ(G) = 2 and M(G) = 1.
If the difference between the mean connectivity and the classical edge-con-
nectivity is large, then there must be connectivity bottlenecks in the network.
It follows that the connectivity of the network can be strengthened by inserting
only a few edges to bridge the bottleneck. An example would be a complete graph
with one ‘dangling’ vertex connected to the rest of the graph by a single edge.
With each edge we add to the dangling vertex, we can increase the connectivity
of the graph by one. The principal drawback of the measure is again the fact
that there is no efficient algorithm known for computing it. Also, it is useful only
in the case of random edge failures.

15.3.2 Average Connected Distance and Fragmentation


In 1999, the article [17] received a lot of attention in the scientific world. Albert,
Jeong, and Barabási simulate random vertex failures and intentional attacks at
the highest-degree vertices in random and scale-free networks. They measure
the effects on two parameters of the network, namely on the average connected
distance and on the fragmentation.
The average connected distance d¯ is the average length of the shortest paths
between connected pairs of nodes in the network as defined in Section 11.2.1
Fragmentation measures the decay of a network in terms of the size of its
connected components.
Definition 15.3.2 (Fragmentation). Let G be a network with k connected
components S1 , . . . , Sk . The fragmentation frag(G) = (frag1 (G), frag2 (G)) is
defined by two parameters: The relative size of the largest component

maxk |Sk |
frag1 = %ki=1
i=1 |Sk |

and the average size of an isolated component


%k
|Sk | − maxki=1 |Sk |
frag2 = i=1
,
k−1
where |Sk | denotes the number of vertices in the kth component.

1
In [17], the authors use the term interconnectedness which corresponds to the clas-
sical average distance. In their experiments, however, they measure the average
connected distance. The classical average distance becomes ∞ as soon as the graph
becomes disconnected.
15 Robustness and Resilience 427

Figure 15.6 shows the effect of vertex failures and attacks on the average con-
nected distance d¯ for randomly generated networks whose degree distributions
follow a Poisson distribution and a power-law distribution, respectively. The
Poisson networks suffer equally from random and targeted failures. Every vertex
plays more or less the same role, and deleting one of them affects the average
connected distance, on average, only slightly if at all. The scale-free network, in
contrast, is very robust to failures in terms of average connected distance. The
probability that a high-degree vertex is deleted is quite small and since those
vertices are responsible for the short average distance in scale-free networks,
the distances almost do not increase at all when deleting vertices randomly. If,
however, those vertices are the aim of an attack, the average connected distance
increases quickly. Simulations on small fragments of the Internet router graph
and the WWW graph show a similar behavior as the random scale-free network,
see [17].

12

P SF
Failure
10 Attack

d¯ 8

4
0.00 0.02 0.04
f
Fig. 15.6. Changes in average connected distance d¯ of randomly generated networks
(|V | = 10, 000, |E| = 20, 000) with Poisson (P) and scale-free (SF) degree distribution
after randomly removing f |V | vertices (source: [17])

The increase in average connected distance alone does not say much about
the connectivity status of the network in terms of fragmentation. It is possible
to create networks with small average connected distance that consist of many
disconnected components (imagine a large number of disconnected triangles:
their average connected distance is 1). Therefore, Albert et al. also measure the
fragmentation process under failure and attack.
Figure 15.7 shows the results of the experimental study on fragmentation.
The Poisson network shows a threshold-like behavior for f > fc ≈ 0.28 when
frag1 , the relative size of the largest component, becomes almost zero. Together
with the behavior of frag2 , the average size of the disconnected components, that
reaches a peak of 2 at this point, this indicates the breakdown scenario as shown
428 G.W. Klau and R. Weiskircher

also in Figure 15.8: Removing few vertices disconnects only single vertices. The
components become larger as f reaches the percolation threshold fc . After that,
the system falls apart. As in Figure 15.6, the results are the same for random
and targeted failures in networks with Poisson degree distribution.
The process looks different for scale-free networks (again, the data for the
router and WWW graphs look similar as for the randomly generated scale-
free networks). For random deletion of vertices no percolation threshold can be
observed: the system shows a behavior known as graceful degradation. In case of
attacks, we see the same breakdown scenario as for the Poisson network, with
an earlier percolation threshold fc ≈ 0.18.

frag1 frag2
Failure
2 Attack
1

P SF
2

0
0.0 0.4 0.8
1
1

fc fc

0 0
0.0 0.2 0.4 0.0 0.2 0.4
f f
Fig. 15.7. Changes in fragmentation frag = (frag1 , frag2 ) of random networks (Poisson
degree distribution: P, scale-free degree distribution: SF) after randomly removing f |V |
vertices. The inset in the upper right corner shows the scenario for the full range of
deletions in scale-free networks (source: [17])

Poisson

scale-
free

Fig. 15.8. Breakdown scenarios of networks with Poisson degree and scale-free distri-
bution (source: [17])
15 Robustness and Resilience 429

In summary the experimental study shows that scale-free networks are tol-
erant against random failures but highly sensitive to targeted attacks. Since the
Internet is believed to have a scale-free structure, the findings confirm the vul-
nerability of this network which is often paraphrased as the ‘Achilles heel of the
Internet’.
Broder et al. study the structure of the web more thoroughly and come to
the conclusion that the web has a ‘bow tie structure’ as depicted in Figure 4.1
on page 77 in Chapter 3 [102]. Their experimental results on the web graph W
reveal that the world wide web is robust against attacks. Deleting all vertices
{v ∈ V (W ) | d− (v) ≥ 5} does not decrease the size of the largest component
dramatically, it still contains approximately 30% of the vertices. This apparent
contradiction to the results of Albert et al. can be explained by the fact that

|{v ∈ V (W ) | d− (v) ≥ 5}|


|V (W )|

is still below the percolation threshold and is thus just another way to look at
the same data: while ‘deleting all vertices with high degree’ sounds drastic this
is still a set of small cardinality.
A number of application-oriented papers use the average connected distance
and fragmentation as the measures of choice in order to show the robustness
properties of the corresponding network. For example, Jeong et al. study the
protein interaction network of the yeast proteome (S. cervisiae) and show that
it is robust against random mutations of proteins but susceptible to the destruc-
tion of the highest degree proteins [327]. Using average connected distance and
fragmentation to study epidemic propagation networks leads to the advice to
take care of the hubs first, when it comes to deciding a vaccination strategy (see,
e.g., [469]).
Holme et al. [305] study slightly more complex attacks on networks. Besides
attacks on vertices they also consider deleting edges and choose betweenness
centrality as an alternative selection criterion for deletion. In addition, they
investigate in how far recalculating the selection criteria after each deletion alters
the results. They show empirically that attacks based on recalculated values are
more effective.
On the theoretical side Cohen et al. [130] and, independently, Callaway et
al. [108] study the fragmentation process on scale-free networks analytically.
While the first team of authors uses percolation theory, Callaway and his col-
leagues obtain more general results for arbitrary degree distributions using gener-
ating functions (see Section 13.2.2 in Chapter 13). The theoretical analyses con-
firm the results of the empirical studies and yield the same percolation thresholds
as shown in the figures above.

15.3.3 Balanced-Cut Resilience


Among other statistics, Tangmunarunkit et al. use a new measure of robustness
to link failures in their experimental study [541]. The aim of their experiments is
430 G.W. Klau and R. Weiskircher

to evaluate generators that supposedly simulate the Internet topology. Besides


expansion and distortion (see Chapter 11), the authors measure the similarity of
generated and real networks with respect to the size of a balanced cut through
the network. In terms of the new statistics, a network is resilient to component
failure if the average size of a balanced cut within an h-neighborhood around
each vertex is large. We give a more formal definition:
Definition 15.3.3 (Balanced-cut resilience). Let G = (V, E) be a network
with n vertices, and let the capacity of each edge in G be equal to one. The
minimum balanced cut of G is the capacity of a minimum cut such that the two
resulting vertex sets contain approximately the same number, namely 6 n2 7 and
8 n2 9, of vertices. The balanced-cut resilience R(N (v, h)) is the average size of a
minimum balanced cut within the h-neighborhood Neighh (v) around each vertex
v, that is,
G H
1 $
R(N (v, h)) = min. balanced cut in Neighh (v) .
n
v∈V

The h-neighborhood of a vertex v contains all vertices with distance less


than or equal to h from v, see also the definition on page 296 in Chapter 11.
The balanced-cut resilience is a function of the number of nodes N (v, h) in the
h-neighborhood of a vertex v, not the radius h itself, to factor out the fact
that networks with high expansion have more nodes in neighborhoods of the
same radius. Clearly, we have R(h) = 1 for paths and trees. The resilience of
random graphs in the Erdős-Rényi model with average degree k is proportional
to kn, whereas it is proportional to n for complete graphs,
√ see [541]. For regular
grid graphs, the balanced-cut resilience grows with n. See Figure 15.9 for an
illustrative example.

1 2 3
2 3 3
3 3 3

2 3 3

2 1 3 3 3 3
(a) (b) (c)
Fig. 15.9. Balanced-cut resilience for an example graph. Balanced cut shown for each
vertex for (a) 1-neighborhoods, (b) 2-neighborhoods, and (c) 3-neighborhoods

Computing a minimum balanced cut is N P-hard [240] and thus the draw-
back of this statistics is certainly its computational complexity which makes it
impractical for large networks. There are, however, a number of heuristics that
yield reasonably good values so that the balanced-cut resilience can at least be
15 Robustness and Resilience 431

estimated. Karypis and Kumar [348], for instance, propose a multilevel parti-
tioning heuristics that runs in time O(m) where m is the number of edges in the
network.

15.3.4 Effective Diameter


Palmer et al. introduce in [462] the effective eccentricity and the effective diam-
eter as measures of resilience against vertex and edge failures. These statistics
are based on the hop-plot and we recall their definitions (see also Sections 11.2.4
and 11.2.3 on neighborhoods and eccentricity in Chapter 11):
Definition 15.3.4 (Effective eccentricity, effective diameter). The
effective eccentricity εeff (v, r), 0 ≤ r ≤ 1, of a vertex v is the smallest h such
that the number of vertices N (v, h) within a h-neighborhood of v is at least r
times the total number of vertices, that is,

εeff (v, r) = min{h ∈ | N (v, h) ≥ rn} .

The effective diameter diameff (r) of a network is the smallest h such that the
number of pairs within a h-neighborhood is at least r times the total number of
reachable pairs:

diameff (r) = min{h ∈ | P (h) ≥ rP (∞)} ,

where P denotes the number of pairs within a certain neighborhood (hop-plot),


that is, +" #+ $
P (h) := + (u, v) ∈ V 2 | d(u, v) ≤ h + = N (v, h) ,
v∈V

see also Chapter 11. In the case that this distribution follows the power law
P (h) = (n + 2m)hH , the value H is also referred to as the hop-plot exponent.
The authors perform experiments on the network of approximately 285,000
routers in the Internet to investigate in how far and under which circumstances
the effective diameter of the router network changes. The experiments consist
of deleting either edges or vertices of the network and recomputing the effective
diameter diameff after each deletion, using a value of 0.9 for the parameter r.
Since an exact calculation of this statistics would take days, they exploit the
approximate neighborhood function described in Section 11.2.6 of Chapter 11.
Using these estimated values leads to a speed-up factor of 400.
Figures 15.10 and 15.11 show the effect of link and router failures on the
Internet graph. Confirming previous studies, the plots show that the Internet
is very robust against random failures but highly sensitive to failure of high
degree vertices. Also, deleting vertices with low effective eccentricity first rapidly
decreases the connectivity.
432 G.W. Klau and R. Weiskircher

P (∞)/1010 Hop-plot exponent H


8
5
7
6 4
5
3
4
3 2
2
1
1
0
100K 200K 300K 400K 100K 200K 300K 400K
|E ! | |E ! |

Fig. 15.10. Effect of edge deletions (link failures) on the network of 285,000 routers
(source: [462]). The set E " denotes the deleted edges

P (∞)/1010 Hop-plot exponent H


9
(Uniform) random
8 Individual hop exponent 5
Node degree
7
4
6
5 3
4
3 2
2
1 (Uniform) random
1 Individual hop exponent
Node degree
0 0
20K 40K 60K 80K 20K 40K 60K 80K
|V ! | |V ! |

Fig. 15.11. Effect of vertex deletions (router failures) on the network of 285,000 routers
(source: [462]). The set V " denotes the deleted edges

15.4 Probabilistic Robustness Statistics


This section describes robustness statistics that explicitly consider the failure
probabilities of network components and are thus more appropriate to describe
untargeted component failure. We present two different approaches to deter-
mine the probability of network disconnection given the failure probability: the
reliability polynomial and probabilistic resilience.
We chose not to cover purely theoretical approaches such as the symbolic
approach to robustness by Flajolet et al. [214], in which the authors define a
measure of robustness by determining the expected number of edge-disjoint paths
to get from a start vertex s to a target vertex t in a graph.

15.4.1 Reliability Polynomial


The reliability polynomial was already used in 1977 by Boorstyn and Frank [75].
15 Robustness and Resilience 433

Definition 15.4.1. Let G be a connected network with n vertices and m edges.


We assume that the edges of G fail independently with probability 1−p where 0 ≤
p ≤ 1. The reliability polynomial R(G, p) is the probability that G is connected.
Obvious properties of the reliability polynomial R(G, p) are:
1. R(G, 0) = 0, R(G, 1) = 1.
2. p1 < p2 implies R(G, p1 ) < R(G, p2 ).
3. Let G be a connected graph and G−e be the graph obtained from G by
removing e. Let Ge be the graph obtained from G by contracting e. Then
the following equality holds:
R(G, p) = (1 − p)R(G−e , p) + pR(Ge , p) .
4. If G is a tree with m edges, than we have R(G, p) = pm .
In his doctoral thesis [497], Rosenthal showed that it is N P-hard to decide for
a given edge failure probability if the probability that the network is connected is
at least a certain value q. The same is true if we are given a failure probability for
vertices and edges. In [480], Pönitz and Tittmann have shown that the problem
can be solved in time O((2n + m)B(k)) for graphs with pathwidth k where B(k)
is the Bell number of k. The bell number of k is the number of ways the set of
natural numbers from 1 to k can be partitioned into nonempty subsets. It follows
that the problem is polynomially solvable for graphs with bounded pathwidth.
Figure 15.12 shows a graph with pathwidth two from [480] together with a plot
of its reliability polynomial. The polynomial has the following formula:
R(G, p) = 55p5 − 155p6 + 169p7 − 84p8 + 16p9

2 4
0.8

0.6

1 6
0.4

0.2

3 5 0
0 0.2 0.4 0.6 0.8 1

(a) Graph with pathwidth two (b) The reliability polynomial

Fig. 15.12. A graph and a plot of its reliability polynomial

There is no polynomial time algorithm known to compute the reliability


polynomial for general graphs.
434 G.W. Klau and R. Weiskircher

15.4.2 Probabilistic Resilience

In contrast to the deterministic probability measures presented in Section 15.1


on worst-case connectivity statistics, Najjar and Gaudiot study a probabilistic
variant of connectivity [438]. The authors consider a class of regular networks
and examine the probability of disconnection through random vertex failures.
They define the disconnection probability of a network G as

P (G, i) = Pr[G disconnected exactly after ith failure]

Motivated by the architectures of large-scale computer clusters the authors


study a family F of k-regular graphs that includes, for example, tori and hyper-
cubes. They show that for networks in F the disconnection probability P (G, i)
can be approximated by the term

P1 (G, i) = Pr[G disconnected exactly after ith failure


and one component contains exactly one vertex] ,

that is, the disconnection probability can be estimated by the probability of


disconnecting only one vertex from the network. For networks in the family F ,
P1 (G, i) and thus an estimation of P (G, i) can be derived analytically.
The function P (G, i) is a bell-shaped curve whose height increases with n,
the number of vertices in the network, whereas the x-coordinate of the max-
imum depends on k, the degree of the vertices (see Figure 15.13). The larger
the connectivity of a regular network in terms of k the more failures are needed
until disconnection occurs. The authors confirm their theoretical predictions by
running Monte-Carlo experiments on a large number of graphs from F .

G, i)
n

% of failed nodes
Fig. 15.13. The probability P (G, i) for members of F. The number of vertices in the
network, n, determines the height of the curve. Their vertex degree, k, determines the
offset on the abscissa
15 Robustness and Resilience 435

The concept of disconnection probability enables us to define a probabilistic


version of connectivity: probabilistic resilience. Intuitively, a resilient network
should sustain a large number of vertex failures until it becomes disconnected.
Definition 15.4.2 (Probabilistic resilience). Let G be a network with n ver-
tices. The probabilistic resilience2 resprob (G, p) is the largest number of vertex
failures such that G is still connected with probability 1 − p, that is,
I
$
resprob (G, p) = max{I | P (G, i) ≤ p} .
i=1

The relative probabilistic resilience relates resprob (G, p) to the size of G:


resprob (G, p)
resprob (G, p) = .
n
Clearly, this probabilistic measure is related to classical connectivity, and the
identity resprob (G, 0) = κ(G) − 1 holds.
Analyzing P (G, i) for regular graphs shows that the probabilistic resilience
resprob (G, p) grows with the size of G. The relative probabilistic resilience
resprob (G, p), however, decreases with the size if the degree of the network re-
mains constant. Therefore, the relative resilience increases for hypercubes and
decreases for tori with increasing network size.
It is quite difficult to compute the probabilistic resilience for more com-
plicated families of networks than F . Even in this case, P (G, i) can only be
estimated. Nevertheless, the probabilistic variant of connectedness seems well-
suited to describe system degradation under random component failure. Due to
its analytical complexity, however, it will most likely be used only in empirical
evaluations.

15.5 Chapter Notes


Many different statistics have been studied in order to describe how networks
change under component failures or intentional attacks. In this chapter we have
given an overview of analyses and experimental results that aim at describing
robustness and resilience properties of complex networks.
We first looked at worst case connectivity statistics that implicitly assume
optimal attacks. Apart from classical connectivity, we also considered cohesive-
ness, the minimum m-degree, toughness and conditional connectivity. Only the
first two measures can be computed in polynomial time. For a fixed parameter
m, the minimum m-degree is also computable in polynomial time. Toughness is
known to be N P-hard and the complexity of conditional connectivity depends
on the chosen property.
In an application, the function of a network might not only depend on its
connectivity, but also on the length of the shortest paths. In Section 15.2, we
2
In the original paper [438], Najjar and Gaudiot use the term network resilience.
436 G.W. Klau and R. Weiskircher

looked at two worst case distance statistics, namely the persistence and incre-
mental distance sequences. The second concept is more general than the first
but for neither of them a polynomial time algorithm is known.
The main drawback of all the worst case statistics is that they make no state-
ments about the results of random edge- or vertex-failures. Therefore, we looked
at average robustness statistics in Section 15.3. The two statistics in this section
for which no polynomial algorithm is known (mean connectivity and balanced-
cut resilience) make statements about the network when edges fail while the
two other statistics (average distance/fragmentation and effective diameter) only
characterize the current state of a network. Hence, they are useful to measure
robustness properties of a network only if they are repeatedly evaluated after
successive edge deletions—either in an experiment or analytically.
In Section 15.4, we presented two statistics that give the probability that
the network under consideration is still connected after the random failure of
edges or vertices. The reliability polynomial gives the probability that the graph
is connected given a failure probability for the edges while the probabilistic
resilience for a network and a number i is the probability that the network
disconnects after exactly i failures. There is no polynomial time algorithm known
to compute any of these two statistics for general graphs.
The ideal statistics for describing the robustness of a complex network de-
pend on the application and the type of the failures that are expected. If a
network ceases to be useful after it is disconnected, statistics that describe the
connectivity of the graph are best suited. If distances between vertices must be
small, diameter-based statistics are preferable.
For random failures, the average and probabilistic statistics are the most
promising while the effects of deliberate attacks are best captured by worst case
statistics. So the ideal measure for deliberate attacks seems to be generalized
connectivity but this has the drawback that it is hard to compute. A probabilistic
version of generalized connectivity would be ideal for random failures.
In practice, an experimental approach to robustness seems to be most use-
ful. The simultaneous observation of changes in average connected distance and
fragmentation is suitable in many cases. One of the central results regarding
robustness is certainly that scale-free networks are on the one hand tolerant
against random failure but on the other hand exposed to intentional attacks.
Robustness is already a very complex topic but there are still many features of
real-world networks that we have not touched in this chapter. Examples include
the bandwidth of edges or the importance of vertices in an application as well
as routing protocols and delay on edges.
Another interesting area are networks where the failures of elements are not
independent of each other. In power networks for example, the failure of a power
line puts more stress on other lines and thus makes their failure more likely,
which might cause a domino effect.
At the moment, there are no deterministic polynomial algorithms that can
answer meaningful questions about the robustness of complex real-world net-
15 Robustness and Resilience 437

works. If there are no major theoretic breakthroughs the most useful tools in
this field will be simulations and heuristics.

Acknowledgments. The authors thank the editors, the co-authors of this book,
and the anonymous referee for valuable comments.
Bibliography

1. Serge Abiteboul, Mihai Preda, and Gregory Cobena. Adaptive on-line page im-
portance computation. In Proceedings of the 12th International World Wide Web
Conference (WWW12), pages 280–290, Budapest, Hungary, 2003.
2. Forman S. Acton. Numerical Methods that Work. Mathematical Association of
America, 1990.
3. Alan Agresti. Categorical Data Analysis. Wiley, 2nd edition, 2002.
4. Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. The Design and Anal-
ysis of Computer Algorithms. Addison-Wesley, 1974.
5. Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. Data Structures and
Algorithms. Addison-Wesley, 1983.
6. Ravindra K. Ahuja, Thomas L. Magnanti, and James B. Orlin. Network Flows:
Theory, Algorithms, and Applications. Prentice Hall, 1993.
7. Ravindra K. Ahuja and James B. Orlin. A fast and simple algorithm for the max-
imum flow problem. Operations Research, 37(5):748–759, September/October
1989.
8. Ravindra K. Ahuja and James B. Orlin. Distance-based augmenting path algo-
rithms for the maximum flow and parametric maximum flow problems. Naval
Research Logistics Quarterly, 38:413–430, 1991.
9. William Aiello, Fan R. K. Chung, and Linyuan Lu. A random graph model for
massive graphs. In Proceedings of the 32nd Annual ACM Symposium on the
Theory of Computing (STOC’00), pages 171–180, May 2000.
10. Martin Aigner. Combinatorial Theory. Springer-Verlag, 1999.
11. Martin Aigner and Eberhard Triesch. Realizability and uniqueness in graphs.
Discrete Mathematics, 136:3–20, 1994.
12. Donald Aingworth, Chandra Chekuri, and Rajeev Motwani. Fast estimation
of diameter and shortest paths (without matrix multiplication). In Proceedings
of the 7th Annual ACM–SIAM Symposium on Discrete Algorithms (SODA’96),
1996.
13. Jin Akiyama, Francis T. Boesch, Hiroshi Era, Frank Harary, and Ralph Tindell.
The cohesiveness of a point of a graph. Networks, 11(1):65–68, 1981.
14. Richard D. Alba. A graph theoretic definition of a sociometric clique. Journal
of Mathematical Sociology, 3:113–126, 1973.
15. Réka Albert and Albert-László Barabási. Statistical mechanics of complex net-
works. Reviews of Modern Physics, 74(1):47–97, 2002.
16. Réka Albert, Hawoong Jeong, and Albert-László Barabási. Diameter of the world
wide web. Nature, 401:130–131, September 1999.
17. Réka Albert, Hawoong Jeong, and Albert-László Barabási. Error and attack
tolerance of complex networks. Nature, 406:378–382, July 2000.
18. Mark S. Aldenderfer and Roger K. Blashfield. Cluster Analysis. Sage, 1984.
19. Noga Alon. Eigenvalues and expanders. Combinatorica, 6(2):83–96, 1986.
20. Noga Alon. Generating pseudo-random permutations and maximum flow algo-
rithms. Information Processing Letters, 35(4):201–204, 1990.
440 Bibliography

21. Noga Alon, Fan R. K. Chung, and Ronald L. Graham. Routing permutations on
graphs via matchings. SIAM Journal on Discrete Mathematics, 7:513–530, 1994.
22. Noga Alon, Michael Krivelevich, and Benny Sudakov. Finding a large hidden
clique in a random graph. Randoms Structures and Algorithms, 13(3–4):457–466,
1998.
23. Noga Alon and Vitali D. Milman. λ1 , isoperimetric inequalities for graphs, and
superconcentrators. Journal of Combinatorial Theory Series B, 38:73–88, 1985.
24. Noga Alon and Joel Spencer. The Probabilistic Method. Wiley, 1992.
25. Noga Alon, Joel Spencer, and Paul Erdős. The Probabilistic Method. Wiley, 1992.
26. Noga Alon, Raphael Yuster, and Uri Zwick. Finding and counting given length
cycles. Algorithmica, 17(3):209–223, 1997.
27. Charles J. Alpert and Andrew B. Kahng. Recent directions in netlist partitioning:
A survey. Integration: The VLSI Journal, 19(1-2):1–81, 1995.
28. Ashok T. Amin and S. Louis Hakimi. Graphs with given connectivity and inde-
pendence number or networks with given measures of vulnerability and surviv-
ability. IEEE Transactions on Circuit Theory, 20(1):2–10, 1973.
29. Carolyn J. Anderson, Stanley Wasserman, and Bradley Crouch. A p∗ primer:
Logit models for social networks. Social Networks, 21(1):37–66, January 1999.
30. Carolyn J. Anderson, Stanley Wasserman, and Katherine Faust. Building
stochastic blockmodels. Social Networks, 14:137–161, 1992.
31. James G. Anderson and Stephen J. Jay. The diffusion of medical technology:
Social network analysis and policy research. The Sociological Quarterly, 26:49–
64, 1985.
32. Jacob M. Anthonisse. The rush in a directed graph. Technical Report BN 9/71,
Stichting Mathematisch Centrum, 2e Boerhaavestraat 49 Amsterdam, October
1971.
33. Arvind Arasu, Jasmine Novak, Andrew S. Tomkins, and John Tomlin. PageRank
computation and the structure of the web: experiments and algorithms. short
version appeared in Proceedings of the 11th International World Wide Web Con-
ference, Poster Track, November 2001.
34. Ludwig Arnold. On the asymptotic distribution of the eigenvalues of random
matrices. Journal of Mathematical Analysis and Applications, 20:262–268, 1967.
35. Sanjeev Arora, David R. Karger, and Marek Karpinski. Polynomial time approx-
imation schemes for dense instances of N P-hard problems. Journal of Computer
and System Sciences, 58(1):193–210, 1999.
36. Sanjeev Arora, Satish Rao, and Umesh Vazirani. Expander flows, geometric
embeddings and graph partitioning. In Proceedings of the 36th Annual ACM
Symposium on the Theory of Computing (STOC’04), pages 222–231. ACM Press,
2004.
37. Yuichi Asahiro, Refael Hassin, and Kazuo Iwama. Complexity of finding dense
subgraphs. Discrete Applied Mathematics, 121(1–3):15–26, 2002.
38. Yuichi Asahiro, Kazuo Iwama, Hisao Tamaki, and Takeshi Tokuyama. Greedily
finding a dense subgraph. Journal of Algorithms, 34(2):203–221, 2000.
39. Giorgio Ausiello, Pierluigi Crescenzi, Giorgio Gambosi, Viggo Kann, and Al-
berto Marchetti-Spaccamela. Complexity and Approximation - Combinatorial
Optimization Problems and Their Approximability Properties. Springer-Verlag,
2nd edition, 2002.
40. Albert-László Barabási and Réka Albert. Emergence of scaling in random net-
works. Science, 286:509–512, 1999.
41. Alain Barrat and Martin Weigt. On the properties of small-world network models.
The European Physical Journal B, 13:547–560, 2000.
42. Vladimir Batagelj. Notes on blockmodeling. Social Networks, 19(2):143–155,
April 1997.
Bibliography 441

43. Vladimir Batagelj and Ulrik Brandes. Efficient generation of large random net-
works. Physical Review E, 2005. To appear.
44. Vladimir Batagelj and Anuška Ferligoj. Clustering relational data. In Wolf-
gang Gaul, Otto Opitz, and Martin Schader, editors, Data Analysis, pages 3–15.
Springer-Verlag, 2000.
45. Vladimir Batagelj, Anuška Ferligoj, and Patrick Doreian. Generalized block-
modeling. Informatica: An International Journal of Computing and Informatics,
23:501–506, 1999.
46. Vladimir Batagelj and Andrej Mrvar. Pajek – A program for large network
analysis. Connections, 21(2):47–57, 1998.
47. Vladimir Batagelj and Matjaž Zaveršnik. An O(m) algorithm for cores decom-
position of networks. Technical Report 798, IMFM Ljublana, Ljubljana, 2002.
48. Douglas Bauer, S. Louis Hakimi, and Edward F. Schmeichel. Recognizing tough
graphs is NP-hard. Discrete Applied Mathematics, 28:191–195, 1990.
49. Michel Bauer and Olivier Golinelli. Random incidence matrices: moments of
the spectral density. Journal of Statistical Physics, 103:301–307, 2001. arXiv
cond-mat/0007127.
50. Alex Bavelas. A mathematical model for group structure. Human Organizations,
7:16–30, 1948.
51. Alex Bavelas. Communication patterns in task oriented groups. Journal of the
Acoustical Society of America, 22:271–282, 1950.
52. Murray A. Beauchamp. An improved index of centrality. Behavioral Science,
10:161–163, 1965.
53. M. Becker, W. Degenhardt, Jürgen Doenhardt, Stefan Hertel, G. Kaninke, W. Ke-
ber, Kurt Mehlhorn, Stefan Näher, Hans Rohnert, and Thomas Winter. A prob-
abilistic algorithm for vertex connectivity of graphs. Information Processing
Letters, 15(3):135–136, October 1982.
54. Richard Beigel. Finding maximum independent sets in sparse and general graphs.
In Proceedings of the 10th Annual ACM–SIAM Symposium on Discrete Algo-
rithms (SODA’99), pages 856–857. IEEE Computer Society Press, 1999.
55. Lowell W. Beineke and Frank Harary. The connectivity function of a graph.
Mathematika, 14:197–202, 1967.
56. Lowell W. Beineke, Ortrud R. Oellermann, and Raymond E. Pippert. The average
connectivity of a graph. Discrete Mathematics, 252(1):31–45, May 2002.
57. Claude Berge. Graphs. North-Holland, 3rd edition, 1991.
58. Noam Berger, Béla Bollobás, Christian Borgs, Jennifer Chayes, and Oliver M.
Riordan. Degree distribution of the FKP network model. In Proceedings of
the 30th International Colloquium on Automata, Languages, and Programming
(ICALP’03), pages 725–738, 2003.
59. Julian E. Besag. Spatial interaction and the statistical analysis of lattice systems
(with discussion). Journal of the Royal Statistical Society, Series B, 36:196–236,
1974.
60. Sergej Bezrukov, Robert Elsässer, Burkhard Monien, Robert Preis, and Jean-
Pierre Tillich. New spectral lower bounds on the bisection width of graphs.
Theoretical Computer Science, 320:155–174, 2004.
61. Monica Bianchini, Marco Gori, and Franco Scarselli. Inside PageRank. ACM
Transactions on Internet Technology, 2004. in press.
62. Robert E. Bixby. The minimum number of edges and vertices in a graph with
edge connectivity n and m n-bonds. Bulletin of the American Mathematical
Society, 80(4):700–704, 1974.
63. Robert E. Bixby. The minimum number of edges and vertices in a graph with
edge connectivity n and m n-bonds. Networks, 5:253–298, 1981.
442 Bibliography

64. Francis T. Boesch, Frank Harary, and Jerald A. Kabell. Graphs as models of
communication network vulnerability: Connectivity and persistence. Networks,
11:57–63, 1981.
65. Francis T. Boesch and R. Emerson Thomas. On graphs of invulnerable commu-
nication nets. IEEE Transactions on Circuit Theory, CT-17, 1970.
66. Béla Bollobás. Extremal graph theory. Academic Press, 1978.
67. Béla Bollobás. Modern Graph Theory, volume 184 of Graduate Texts in Mathe-
matics. Springer-Verlag, 1998.
68. Béla Bollobás and Oliver M. Riordan. Mathematical results on scale-free random
graphs. In Stefan Bornholdt and Heinz Georg Schuster, editors, Handbook of
Graphs and Networks: From the Genome to the Internet, pages 1–34. Wiley-
VCH, 2002.
69. Béla Bollobás, Oliver M. Riordan, Joel Spencer, and Gábor Tusnády. The de-
gree sequence of a scale-free random graph process. Randoms Structures and
Algorithms, 18:279–290, 2001.
70. Immanuel M. Bomze, Marco Budinich, Panos M. Pardalos, and Marcello Pelillo.
The maximum clique problem. In Ding-Zhu Du and Panos M. Pardalos, edi-
tors, Handbook of Combinatorial Optimization (Supplement Volume A), volume 4,
pages 1–74. Kluwer Academic Publishers Group, 1999.
71. Phillip Bonacich. Factoring and weighting approaches to status scores and clique
identification. Journal of Mathematical Sociology, 2:113–120, 1972.
72. Phillip Bonacich. Power and centrality: A family of measures. American Journal
of Sociology, 92(5):1170–1182, 1987.
73. Phillip Bonacich. What is a homomorphism? In Linton Clarke Freeman, Dou-
glas R. White, and A. Kimbal Romney, editors, Research Methods in Social Net-
work Analysis, chapter 8, pages 255–293. George Mason University Press, 1989.
74. J. Bond and Claudine Peyrat. Diameter vulnerability in networks. In Yousef
Alavi, Gary Chartrand, Linda Lesniak, Don R. Lick, and Curtiss E. Wall, editors,
Graph Theory with Applications to Algorithms and Computer Science, pages 123–
149. Wiley, 1985.
75. Robert R. Boorstyn and Howard Frank. Large scale network topological opti-
mization. IEEE Transaction on Communications, Com-25:29–37, 1977.
76. Kellogg S. Booth. Problems polynomially equivalent to graph isomorphism. Tech-
nical report, CS-77-04, University of Ljublana, 1979.
77. Kellogg S. Booth and George S. Lueker. Linear algorithms to recognize interval
graphs and test for consecutive ones property. Proceedings of the 7th Annual
ACM Symposium on the Theory of Computing (STOC’75), pages 255–265, 1975.
78. Ravi B. Boppana. Eigenvalues and graph bisection: an average case analysis. In
Proceedings of the 28th Annual IEEE Symposium on Foundations of Computer
Science (FOCS’87), pages 280–285, October 1987.
79. Ravi B. Boppana and Magnús M. Halldórsson. Approximating maximum inde-
pendent sets by excluding subgraphs. BIT, 32(2):180–196, 1992.
80. Ravi B. Boppana, Johan Håstad, and Stathis Zachos. Does co-N P have short
interactive proofs? Information Processing Letters, 25:127–132, 1987.
81. Stephen P. Borgatti. Centrality and AIDS. Connections, 18(1):112–115, 1995.
82. Stephen P. Borgatti and Martin G. Everett. The class of all regular equivalences:
Algebraic structure and computation. Social Networks, 11(1):65–88, 1989.
83. Stephen P. Borgatti and Martin G. Everett. Two algorithms for computing
regular equivalence. Social Networks, 15(4):361–376, 1993.
84. Stephen P. Borgatti and Martin G. Everett. Models of core/periphery structures.
Social Networks, 21(4):375–395, 1999.
85. Stephen P. Borgatti and Martin G. Everett. A graph-theoretic perspective on
centrality. Unpublished manuscript, 2004.
Bibliography 443

86. Stephen P. Borgatti, Martin G. Everett, and Paul R. Shirey. LS sets, lambda
sets and other cohesive subsets. Social Networks, 12(4):337–357, 1990.
87. Allan Borodin, Gareth O. Roberts, Jeffrey S. Rosenthal, and Panayiotis Tsaparas.
Finding authorities and hubs from link structures on the world wide web. In
Proceedings of the 10th International World Wide Web Conference (WWW10),
pages 415–429, Hong Kong, 2001.
88. Rodrigo A. Botagfogo, Ehud Rivlin, and Ben Shneiderman. Structural analysis
of hypertexts: Identifying hierarchies and useful metrics. ACM Transactions on
Information Systems, 10(2):142–180, 1992.
89. John P. Boyd. Social Semigroups. George Mason University Press, 1991.
90. John P. Boyd and Martin G. Everett. Relations, residuals, regular interiors, and
relative regular equivalence. Social Networks, 21(2):147–165, April 1999.
91. Stephen Boyd and Lieven Vandenberghe. Convex Optimization. Cambridge Uni-
versity Press, 2004.
92. Ulrik Brandes. A faster algorithm for betweenness centrality. Journal of Mathe-
matical Sociology, 25(2):163–177, 2001.
93. Ulrik Brandes and Sabine Cornelsen. Visual ranking of link structures. Journal
of Graph Algorithms and Applications, 7(2):181–201, 2003.
94. Ulrik Brandes and Daniel Fleischer. Centrality measures based on current flow.
In Proceedings of the 22nd International Symposium on Theoretical Aspects of
Computer Science (STACS’05), volume 3404 of Lecture Notes in Computer Sci-
ence, 2005. To appear.
95. Ulrik Brandes, Marco Gaertler, and Dorothea Wagner. Experiments on graph
clustering algorithms. In Proceedings of the 11th Annual European Symposium on
Algorithms (ESA’03), volume 2832 of Lecture Notes in Computer Science, pages
568–579, September 2003.
96. Ulrik Brandes, Patrick Kenis, and Dorothea Wagner. Communicating centrality
in policy network drawings. IEEE Transactions on Visualization and Computer
Graphics, 9(2):241–253, 2003.
97. Ulrik Brandes and Jürgen Lerner. Structural similarity in graphs. In Pro-
ceedings of the 15th International Symposium on Algorithms and Computation
(ISAAC’04), volume 3341 of Lecture Notes in Computer Science, pages 184–195,
2004.
98. Ronald L. Breiger. Toward an operational theory of community elite structures.
Quality and Quantity, 13:21–57, 1979.
99. Ronald L. Breiger, Scott A. Boorman, and Phipps Arabie. An algorithm for clus-
tering relational data with applications to social network analysis and comparison
with multidimensional scaling. Journal of Mathematical Psychology, 12:328–383,
1975.
100. Ronald L. Breiger and James G. Ennis. Personae and social roles: The network
structure of personality types in small groups. The Sociological Quarterly, 42:262–
270, 1979.
101. Sergey Brin and Lawrence Page. The anatomy of a large-scale hypertextual Web
search engine. Computer Networks and ISDN Systems, 30(1–7):107–117, 1998.
102. Andrei Broder, Ravi Kumar, Farzin Maghoul, Prabhakar Raghavan, Sridhar Ra-
jagopalan, Raymie Stata, Andrew S. Tomkins, and Janet Wiener. Graph struc-
ture in the Web. Computer Networks: The International Journal of Computer
and Telecommunications Networking, 33(1–6):309–320, 2000.
103. Coen Bron and Joep A. G. M. Kerbosch. Algorithm 457: Finding all cliques of
an undirected graph. Communications of the ACM, 16(9):575–577, 1973.
104. Tian Bu and Don Towsley. On distinguishing between Internet power law topol-
ogy generators. In Proceedings of Infocom’02, 2002.
444 Bibliography

105. Mihai Bădoiu. Approximation algorithm for embedding metrics into a two-
dimensional space. In Proceedings of the 14th Annual ACM–SIAM Symposium
on Discrete Algorithms (SODA’03), pages 434–443, 2003.
106. Horst Bunke and Kim Shearer. A graph distance metric based on the maximal
common subgraph. Pattern Recognition Letters, 19:255–259, 1998.
107. Ronald S. Burt. Positions in networks. Social Forces, 55:93–122, 1976.
108. Duncan S. Callaway, Mark E. J. Newman, Steven H. Strogatz, and Duncan J.
Watts. Network robustness and fragility: Percolation on random graphs. Physical
Review Letters, 25(85):5468–5471, December 2000.
109. Kenneth L. Calvert, Matthew B. Doar, and Ellen W. Zegura. Modeling Internet
topology. IEEE Communications Magazine, 35:160–163, June 1997.
110. A. Cardon and Maxime Crochemore. Partitioning a graph in O(|a| log2 |v|).
Theoretical Computer Science, 19:85–98, 1982.
111. Tami Carpenter, George Karakostas, and David Shallcross. Pracical Issues and
Algorithms for Analyzing Terrorist Networks. invited talk at WMC 2002, 2002.
112. Peter J. Carrington, Greg H. Heil, and Stephen D. Berkowitz. A goodness-of-fit
index for blockmodels. Social Networks, 2:219–234, 1980.
113. Moses Charikar. Greedy approximation algorithms for finding dense components
in a graph. In Proceedings of the 3rd International Workshop on Approximatin
Algorithms for Combinatorial Optimization (APPROX’00), volume 1931 of Lec-
ture Notes in Computer Science, pages 84–95. Springer-Verlag, 2000.
114. Gary Chartrand. A graph-theoretic approach to a communications problem.
SIAM Journal on Applied Mathematics, 14(5):778–781, July 1966.
115. Gary Chartrand, Gary L. Johns, Songlin Tian, and Steven J. Winters. Directed
distance on digraphs: Centers and medians. Journal of Graph Theory, 17(4):509–
521, 1993.
116. Gary Chartrand, Grzegorz Kubicki, and Michelle Schultz. Graph similarity and
distance in graphs. Aequationes Mathematicae, 55(1-2):129–145, 1998.
117. Qian Chen, Hyunseok Chang, Ramesh Govindan, Sugih Jamin, Scott Shenker,
and Walter Willinger. The origin of power laws in internet topologies revisited.
In Proceedings of Infocom’02, 2002.
118. Joseph Cheriyan and Torben Hagerup. A randomized maximum-flow algorithm.
SIAM Journal on Computing, 24(2):203–226, 1995.
119. Joseph Cheriyan, Torben Hagerup, and Kurt Mehlhorn. An o(n3 )-time
maximum-flow algorithm. SIAM Journal on Computing, 25(6):144–1170, De-
cember 1996.
120. Joseph Cheriyan and John H. Reif. Directed s-t numberings, rubber bands, and
testing digraph k-vertex connectivity. In Proceedings of the 3rd Annual ACM–
SIAM Symposium on Discrete Algorithms (SODA’92), pages 335–344, January
1992.
121. Joseph Cheriyan and Ramakrishna Thurimella. Fast algorithms for k-shredders
and k-node connectivity augmentation. Journal of Algorithms, 33:15–50, 1999.
122. Boris V. Cherkassky. An √ algorithm for constructing a maximal flow through a
network requiring O(n2 p) operations. Mathematical Methods for Solving Eco-
nomic Problems, 7:117–126, 1977. (In Russian).
123. Boris V. Cherkassky. A fast algorithm for constructing a maximum flow through a
network. In Selected Topics in Discrete Mathematics: Proceedings of the Moscow
Discrete Mathematics Seminar, 1972-1990, volume 158 of American Mathemat-
ical Society Translations – Series 2, pages 23–30. AMS, 1994.
124. Steve Chien, Cynthia Dwork, Ravi Kumar, and D. Sivakumar. Towards exploit-
ing link evolution. In Workshop on Algorithms and Models for the Web Graph,
November 2002.
125. Fan R. K. Chung. Spectral Graph Theory. CBMS Regional Conference Series in
Mathematics. American Mathematical Society, 1997.
Bibliography 445

126. Fan R. K. Chung, Vance Faber, and Thomas A. Manteuffel. An upper bound
on the diameter of a graph from eigenvalues associated with its laplacian. SIAM
Journal on Discrete Mathematics, 7(3):443–457, 1994.
127. Fan R. K. Chung, Linyuan Lu, and Van Vu. Eigenvalues of random power law
graphs. Annals of Combinatorics, 7:21–33, 2003.
128. Fan R. K. Chung, Linyuan Lu, and Van Vu. The spectra of random graphs with
given expected degree. Proceedings of the National Academy of Science of the
United States of America, 100(11):6313–6318, May 2003.
129. Vašek Chvátal. Tough graphs and hamiltionian circuits. Discrete Mathematics,
5, 1973.
130. Reuven Cohen, Keren Erez, Daniel ben Avraham, and Shlomo Havlin. Resilience
of the Internet to random breakdown. Physical Review Letters, 21(85):4626–4628,
November 2000.
131. Colin Cooper and Alan M. Frieze. A general model of web graphs. Randoms
Structures and Algorithms, 22:311–335, 2003.
132. Don Coppersmith and Shmuel Winograd. Matrix multiplication via arithmetic
progressions. Journal of Symbolic Computation, 9(3):251–280, 1990.
133. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.
Introduction to Algorithms. MIT Press, 2nd edition, 2001.
134. Trevor F. Cox and Michael A. A. Cox. Multidimensional Scaling. Monographs
on Statistics and Applied Probability. Chapman & Hall/CRC, 2nd edition, 2001.
135. Dragoš M. Cvetković, Michael Doob, and Horst Sachs. Spectra of Graphs. Johann
Ambrosius Barth Verlag, 1995.
136. Dragoš M. Cvetković, Peter Rowlinson, and Slobodan Simic. Eigenspaces of
Graphs. Cambridge University Press, 1997.
137. Andrzej Czygrinow. Maximum dispersion problem in dense graphs. Operations
Research Letter, 27(5):223–227, 2000.
138. Peter Dankelmann and Ortrud R. Oellermann. Bounds on the average connec-
tivity of a graph. Discrete Applied Mathematics, 129:305–318, August 2003.
139. George B. Dantzig. Application of the simplex method to a transportation prob-
lem. In Tjalling C. Koopmans, editor, Activity Analysis of Production and Al-
location, volume 13 of Cowles Commission for Research in Economics, pages
359–373. Wiley, 1951.
140. George B. Dantzig. Maximization of a linear function of variables subject to linear
inequalities. In Tjalling C. Koopmans, editor, Activity Analysis of Production and
Allocation, volume 13 of Cowles Commission for Research in Economics, pages
339–347. Wiley, 1951.
141. George B. Dantzig and Delbert R. Fulkerson. On the max-flow min-cut theorem
of networks. In Linear Inequalities and Related Systems, volume 38 of Annals of
Mathematics Studies, pages 215–221. Princeton University Press, 1956.
142. Camil Demetrescu and Giuseppe F. Italiano. A new approach to dynamic all
pairs shortest paths. In Proceedings of the 35th Annual ACM Symposium on the
Theory of Computing (STOC’03), pages 159–166, June 2003.
143. Guiseppe Di Battista and Roberto Tamassia. Incremental planarity testing. In
Proceedings of the 30th Annual IEEE Symposium on Foundations of Computer
Science (FOCS’89), pages 436–441, October/November 1989.
144. Guiseppe Di Battista and Roberto Tamassia. On-line maintenance of tricon-
nected components with SPQR-trees. Algorithmica, 15:302–318, 1996.
145. Reinhard Diestel. Graph Theory. Graduate Texts in Mathematics. Springer-
Verlag, 2nd edition, 2000.
146. Edsger W. Dijkstra. A note on two problems in connection with graphs. Nu-
merische Mathematik, 1:269–271, 1959.
446 Bibliography

147. Stephen Dill, Ravi Kumar, Kevin S. McCurley, Sridhar Rajagopalan, D. Sivaku-
mar, and Andrew S. Tomkins. Self-similarity in the web. ACM Transactions on
Internet Technology, 2(3):205–223, August 2002.
148. Chris H. Q. Ding, Xiaofeng He, Parry Husbands, Hongyuan Zha, and Horst D.
Simon. PageRank, HITS and a unified framework for link analysis. LBNL Tech
Report 49372, NERSC Division, Lawrence Berkeley National Laboratory, Uni-
versity of California, Berkeley, CA, USA, November 2001. updated Sept. 2002
(LBNL-50007), presented in the poster session of the Third SIAM International
Conference on Data Mining, San Francisco, CA, USA, 2003.
149. Chris H. Q. Ding, Hongyuan Zha, Xiaofeng He, Parry Husbands, and Horst D.
Simon. Link analysis: Hubs and authorities on the world wide web. SIAM Review,
46(2), 2004. to appear, published electronically May, 3, 2004.
150. Yefim Dinitz. Algorithm for solution of a problem of maximum flow in a network
with power estimation. Soviet Mathematics-Doklady, 11(5):1277–1280, 1970.
151. Yefim Dinitz. Bitwise residual decreasing method and transportation type prob-
lems. In A. A. Fridman, editor, Studies in Discrete Mathematics, pages 46–57.
Nauka, 1973. (In Russian).
152. Yefim Dinitz. Finding shortest paths in a network. In Y. Popkov and B. Shmu-
lyian, editors, Transportation Modeling Systems, pages 36–44. Institute for Sys-
tem Studies, Moscow, 1978.
153. Yefim Dinitz, Alexander V. Karzanov, and M. V. Lomonosov. On the structure
of the system of minimum edge cuts in a graph. In A. A. Fridman, editor, In
Studies in Discrete Optimization, pages 290–306. Nauka, 1976.
154. Yefim Dinitz and Ronit Nossenson. Incremental maintenance of the 5-edge-
connectivity classes of a graph. In Proceedings of the 7th Scandinavian Workshop
on Algorithm Theory (SWAT’00), volume 1851 of Lecture Notes in Mathematics,
pages 272–285. Springer-Verlag, July 2000.
155. Yefim Dinitz and Jeffery Westbrook. Maintaining the classes of 4-edge-
connectivity in a graph on-line. Algorithmica, 20(3):242–276, March 1998.
156. Gabriel A. Dirac. Extensions of Turán’s theorem on graphs. Acta Mathematica
Academiae Scientiarum Hungaricae, 14:417–422, 1963.
157. Matthew B. Doar. A better model for generating test networks. In IEEE GLOBE-
COM’96, 1996.
158. Wolfgang Domschke and Andreas Drexl. Location and Layout Planning: An
International Bibliography. Springer-Verlag, Berlin, 1985.
159. William E. Donath and Alan J. Hoffman. Lower bounds for the partitioning of
graphs. IBM Journal of Research and Development, 17(5):420–425, 1973.
160. Patrick Doreian. Using multiple network analytic tools for a single social network.
Social Networks, 10:287–312, 1988.
161. Patrick Doreian and Louis H. Albert. Partitioning political actor networks: Some
quantitative tools for analyzing qualitative networks. Journal of Quantitative
Anthropology, 1:279–291, 1989.
162. Patrick Doreian, Vladimir Batagelj, and Anuška Ferligoj. Symmetric-acyclic de-
compositions of networks. Journal of Classification, 17(1):3–28, 2000.
163. Patrick Doreian, Vladimir Batagelj, and Anuška Ferligoj. Generalized blockmod-
eling of two-mode network data. Social Networks, 26(1):29–53, 2004.
164. Sergey N. Dorogovtsev and Jose Ferreira F. Mendes. Evolution of networks.
Advances in Physics, 51(4):1079–1187, June 2002.
165. Sergey N. Dorogovtsev and Jose Ferreira F. Mendes. Evolution of Networks.
Oxford University Press, 2003.
166. Sergey N. Dorogovtsev, Jose Ferreira F. Mendes, and Alexander N. Samukhin.
Structure of growing networks: Exact solution of the Barabási-Albert’s model.
http://xxx.sissa.it/ps/cond-mat/0004434, April 2000.
Bibliography 447

167. Rodney G. Downey and Michael R. Fellows. Fixed-parameter tractability and


completeness II. On completeness for W[1]. Theoretical Computer Science, 141(1–
2):109–131, 1995.
168. Rodney G. Downey and Michael R. Fellows. Parameterized Complexity. Mono-
graphs in Computer Science. Springer-Verlag, 1999.
169. Zvi Drezner and Horst W. Hamacher, editors. Facility Location: Application and
Theory. Springer-Verlag, 2002.
170. Petros Drineas, Alan M. Frieze, Ravi Kannan, Santosh Vempala, and V. Vinay.
Clustering large graphs via the singular value decomposition. Machine Learning,
56:9–33, 2004.
171. Jack Edmonds. Edge-disjoint branchings. In Randall Rustin, editor, Courant
Computer Science Symposium 9: Combinatorial Algorithms (1972), pages 91–96.
Algorithmics Press, 1973.
172. Jack Edmonds and Richard M. Karp. Theoretical improvements in algorithmic
efficiency for network flow problems. Journal of the ACM, 19(2):248–264, April
1972.
173. Eugene Egerváry. On combinatorial properties of matrices. Mat. Lapok, 38:16–28,
1931.
174. Friedrich Eisenbrand and Fabrizio Grandoni. On the complexity of fixed param-
eter clique and dominating set. Theoretical Computer Science, 326(1–3):57–67,
2004.
175. Peter Elias, Amiel Feinstein, and Claude E. Shannon. A note on the maximum
flow through a network. IRE Transactions on Information Theory, 2(4):117–119,
December 1956.
176. Robert Elsässer and Burkhard Monien. Load balancing of unit size tokens and
expansion properties of graphs. In Proceedings of the 15th Annual ACM Sympo-
sium on Parallel Algorithms and Architectures (SPAA’03), pages 266–273, 2003.
177. Lars Engebretsen and Jonas Holmerin. Towards optimal lower bounds for clique
and chromatic number. Theoretical Computer Science, 299(1-3):537–584, 2003.
178. David Eppstein. Fast hierarchical clustering and other applications of dynamic
closest pairs. j-ea, 5:1–23, 2000.
179. David Eppstein and Joseph Wang. Fast approximation of centrality. In Pro-
ceedings of the 12th Annual ACM–SIAM Symposium on Discrete Algorithms
(SODA’01), 2001.
180. Paul Erdős and Tibor Gallai. Graphs with prescribed degrees of vertices (in
hungarian). Matematikai Lapok, 11:264–274, 1960.
181. Paul Erdős and Alfred Rényi. On random graphs I. Publicationes Mathematicae
Debrecen, 6:290–297, 1959.
182. Abdol-Hossein Esfahanian. Lower-bounds on the connectivities of a graph. Jour-
nal of Graph Theory, 9(4):503–511, 1985.
183. Abdol-Hossein Esfahanian and S. Louis Hakimi. On computing the connectivities
of graphs and digraphs. Networks, 14(2):355–366, 1984.
184. Stephen Eubank, V. S. Anil Kumar, Madhav V. Marathe, Aravind Srinivasan,
and Nan Wang. Structural and algorithmic aspects of massive social networks. In
Proceedings of the 14th Annual ACM–SIAM Symposium on Discrete Algorithms
(SODA’04), pages 718–727, 2004.
185. Shimon Even. Algorithmic Combinatorics. Macmillan, 1973.
186. Shimon Even. An algorithm for determining whether the connectivity of a graph
is at least k. SIAM Journal on Computing, 4(3):393–396, September 1975.
187. Shimon Even. Graph Algorithms. Computer Science Press, 1979.
188. Shimon Even and Robert E. Tarjan. Network flow and testing graph connectivity.
SIAM Journal on Computing, 4(4):507–518, December 1975.
189. Martin G. Everett. Graph theoretic blockings k-plexes and k-cutpoints. Journal
of Mathematical Sociology, 9:75–84, 1982.
448 Bibliography

190. Martin G. Everett and Stephen P. Borgatti. Role colouring a graph. Mathematical
Social Sciences, 21:183–188, 1991.
191. Martin G. Everett and Stephen P. Borgatti. Regular equivalence: General theory.
Journal of Mathematical Sociology, 18(1):29–52, 1994.
192. Martin G. Everett and Stephen P. Borgatti. Analyzing clique overlap. Connec-
tions, 21(1):49–61, 1998.
193. Martin G. Everett and Stephen P. Borgatti. Peripheries of cohesive subsets.
Social Networks, 21(4):397–407, 1999.
194. Martin G. Everett and Stephen P. Borgatti. Extending centrality. In Peter J.
Carrington, John Scott, and Stanley Wasserman, editors, Models and Methods in
Social Network Analysis. Cambridge University Press, 2005. To appear.
195. Martin G. Everett, Philip Sinclair, and Peter Dankelmann. Some centrality re-
sults new and old. Submitted, 2004.
196. Alex Fabrikant, Elias Koutsoupias, and Christos H. Papadimitriou. Heuristi-
cally optimized trade-offs: A new paradigm for power laws in the Internet. In
Proceedings of the 29th International Colloquium on Automata, Languages, and
Programming (ICALP’02), volume 2380 of Lecture Notes in Computer Science,
2002.
197. Michalis Faloutsos, Petros Faloutsos, and Christos Faloutsos. On power-law re-
lationships of the Internet topology. In Proceedings of SIGCOMM’99, 1999.
198. Illés Farkas, Imre Derényi, Albert-László Barabási, and Tamás Vicsek. Spectra
of “real-world” graphs: Beyond the semicircle law. Physical Review E, 64, August
2001.
199. Katherine Faust. Comparison of methods for positional analysis: Structural and
general equivalences. Social Networks, 10:313–341, 1988.
200. Katherine Faust and John Skvoretz. Logit models for affiliation networks. Soci-
ological Methodology, 29(1):253–280, 1999.
201. Uriel Feige, Guy Kortsarz, and David Peleg. The dense k-subgraph problem.
Algorithmica, 29(3):410–421, 2001.
202. Uriel Feige and Robert Krauthgamer. Finding and certifying a large hidden
clique in a semirandom graph. Randoms Structures and Algorithms, 16(2):195–
208, 2000.
203. Uriel Feige and Robert Krauthgamer. A polylogarithmic approximation of the
minimum bisection. SIAM Journal on Computing, 31(4):1090–1118, 2002.
204. Uriel Feige and Michael A. Seltser. On the densest k-subgraph problem. Technical
Report CS97-16, Department of Applied Mathematics and Computer Science,
The Weizmann Institute of Science, Rehovot, Israel, 1997.
205. Trevor Fenner, Mark Levene, and George Loizou. A stochastic evolu-
tionary model exhibiting power-law behaviour with an exponential cutoff.
http://xxx.sissa.it/ps/cond-mat/0209463, June 2004.
206. Anuška Ferligoj, Patrick Doreian, and Vladimir Batagelj. Optimizational ap-
proach to blockmodeling. Journal of Computing and Information Technology,
4:63–90, 1996.
207. Jean-Claude Fernandez. An implementation of an efficient algorithm for bisim-
ulation equivalence. Science of Computer Programming, 13(1):219–236, 1989.
208. William L. Ferrar. Finite Matrices. Oxford University Press, London, 1951.
209. Jiřı́ Fiala and Daniël Paulusma. The computational complexity of the role assign-
ment problem. In Proceedings of the 30th International Colloquium on Automata,
Languages, and Programming (ICALP’03), pages 817–828. Springer-Verlag, 2003.
210. Miroslav Fiedler. Algebraic connectivity of graphs. Czechoslovak Mathematical
Journal, 23(98):289–305, 1973.
211. Miroslav Fiedler. A property of eigenvectors of nonnegative symmetric matrices
and its application to graph theory. Czechoslovak Mathematical Journal, 1:619–
633, 1975.
Bibliography 449

212. Stephen E. Fienberg and Stanley Wasserman. Categorical data analysis of a single
sociometric relation. In Samuel Leinhardt, editor, Sociological Methodology, pages
156–192. Jossey Bass, 1981.
213. Stephen E. Fienberg and Stanley Wasserman. Comment on an exponential family
of probability distributions. Journal of the American Statistical Association,
76(373):54–57, March 1981.
214. Philippe Flajolet, Kostas P. Hatzis, Sotiris Nikoletseas, and Paul Spirakis. On
the robustness of interconnections in random graphs: A symbolic approach. The-
oretical Computer Science, 287(2):515–534, September 2002.
215. Philippe Flajolet and G. Nigel Martin. Probabilistic counting algorithms for
data base applications. Journal of Computer and System Sciences, 31(2):182–
209, 1985.
216. Lisa Fleischer. Building chain and cactus representations of all minimum cuts
from Hao-Orlin in the same asymptotic run time. Journal of Algorithms,
33(1):51–72, October 1999.
217. Robert W. Floyd. Algorithm 97: Shortest path. Communications of the ACM,
5(6):345, 1962.
218. Lester R. Ford, Jr. and Delbert R. Fulkerson. Maximal flow through a network.
Canadian Journal of Mathematics, 8:399–404, 1956.
219. Lester R. Ford, Jr. and Delbert R. Fulkerson. A simple algorithm for finding
maximal network flows and an application to the Hitchcock problem. Canadian
Journal of Mathematics, 9:210–218, 1957.
220. Lester R. Ford, Jr. and Delbert R. Fulkerson. Flows in Networks. Princeton
University Press, 1962.
221. Scott Fortin. The graph isomorphism problem. Technical Report 96-20, Univer-
sity of Alberta, Edmonton, Canada, 1996.
222. Ove Frank and David Strauss. Markov graphs. Journal of the American Statistical
Association, 81:832–842, 1986.
223. Greg N. Frederickson. Ambivalent data structures for dynamic 2-edge-
connectivity and k smallest spanning trees. In Proceedings of the 32nd Annual
IEEE Symposium on Foundations of Computer Science (FOCS’91), pages 632–
641, October 1991.
224. Michael L. Fredman. New bounds on the complexity of the shortest path problem.
SIAM Journal on Computing, 5:49–60, 1975.
225. Michael L. Fredman and Dan E. Willard. Trans-dichotomous algorithms for
minimum spanning trees and shortest paths. Journal of Computer and System
Sciences, 48(3):533–551, 1994.
226. Linton Clarke Freeman. A set of measures of centrality based upon betweeness.
Sociometry, 40:35–41, 1977.
227. Linton Clarke Freeman. Centrality in social networks: Conceptual clarification I.
Social Networks, 1:215–239, 1979.
228. Linton Clarke Freeman. The Development of Social Network Analysis: A Study
in the Sociology of Science. Booksurge Publishing, 2004.
229. Linton Clarke Freeman, Stephen P. Borgatti, and Douglas R. White. Centrality in
valued graphs: A measure of betweenness based on network flow. Social Networks,
13(2):141–154, 1991.
230. Noah E. Friedkin. Structural cohesion and equivalence explanations of social
homogeneity. Sociological Methods and Research, 12:235–261, 1984.
231. Delbert R. Fulkerson and George B. Dantzig. Computation of maximal flows in
networks. Naval Research Logistics Quarterly, 2:277–283, 1955.
232. Delbert R. Fulkerson and G. C. Harding. On edge-disjoint branchings. Networks,
6(2):97–104, 1976.
233. Zoltán Füredi and János Komlós. The eigenvalues of random symmetric matrices.
Combinatorica, 1(3):233–241, 1981.
450 Bibliography

234. Harold N. Gabow. Scaling algorithms for network problems. Journal of Computer
and System Sciences, 31(2):148–168, 1985.
235. Harold N. Gabow. Path-based depth-first search for strong and biconnected
components. Information Processing Letters, 74:107–114, 2000.
236. Zvi Galil. An O(V 5/3 E 2/3 ) algorithm for the maximal flow problem. Acta Infor-
matica, 14:221–242, 1980.
237. Zvi Galil and Giuseppe F. Italiano. Fully dynamic algorithms for edge connectiv-
ity problems. In Proceedings of the 23rd Annual ACM Symposium on the Theory
of Computing (STOC’91), pages 317–327, May 1991.
238. Zvi Galil and Amnon Naamad. An O(EV log2 V ) algorithm for the maximal
flow problem. Journal of Computer and System Sciences, 21(2):203–217, October
1980.
239. Giorgio Gallo, Michail D. Grigoriadis, and Robert E. Tarjan. A fast paramet-
ric maximum flow algorithm and applications. SIAM Journal on Computing,
18(1):30–55, 1989.
240. Michael R. Garey and David S. Johnson. Computers and Intractability. A Guide
to the Theory of N P-Completeness. W. H. Freeman and Company, 1979.
241. Michael R. Garey, David S. Johnson, and Larry J. Stockmeyer. Some simplified
N P-complete graph problems. Theoretical Computer Science, 1:237–267, 1976.
242. Christian Gawron. An iterative algorithm to determine the dynamic user equilib-
rium in a traffic simulation model. International Journal of Modern Physics C,
9(3):393–408, 1998.
243. Andrew Gelman, John B. Carlin, Hal S. Stern, and Donald B. Rubin. Bayesian
Data Analysis. Chapman & Hall Texts in Statistical Science. Chapman &
Hall/CRC, 2nd edition, June 1995.
244. Horst Gilbert. Random graphs. The Annals of Mathematical Statistics,
30(4):1141–1144, 1959.
245. Walter R. Gilks, Sylvia Richardson, and David J. Spiegelhalter. Markov Chain
Monte Carlo in Practice. Interdisciplinary Statistics. Chapman & Hall/CRC,
1996.
246. Chris Godsil. Tools from linear algebra. Research report, University of Waterloo,
1989.
247. Chris Godsil and Gordon Royle. Algebraic Graph Theory. Graduate Texts in
Mathematics. Springer-Verlag, 2001.
248. Andrew V. Goldberg. Finding a maximum density subgraph. Technical Re-
port UCB/CSB/ 84/171, Department of Electrical Engineering and Computer
Science, University of California, Berkeley, CA, 1984.
249. Andrew V. Goldberg. A new max-flow algorithm. Technical Memo
MIT/LCS/TM-291, MIT Laboratory for Computer Science, November 1985.
250. Andrew V. Goldberg and Satish Rao. Beyond the flow decomposition barrier.
Journal of the ACM, 45(5):783–797, 1998.
251. Andrew V. Goldberg and Satish Rao. Flows in undirected unit capacity networks.
SIAM Journal on Discrete Mathematics, 12(1):1–5, 1999.
252. Andrew V. Goldberg and Robert E. Tarjan. A new approach to the maximum-
flow problem. Journal of the ACM, 35(4):921–940, 1988.
253. Andrew V. Goldberg and Kostas Tsioutsiouliklis. Cut tree algorithms: An ex-
perimental study. Journal of Algorithms, 38(1):51–83, 2001.
254. Donald L. Goldsmith. On the second order edge connectivity of a graph. Con-
gressus Numerantium, 29:479–484, 1980.
255. Donald L. Goldsmith. On the n-th order edge-connectivity of a graph. Congressus
Numerantium, 32:375–381, 1981.
256. Gene H. Golub and Charles F. Van Loan. Matrix Computations. John Hopkins
University Press, 3rd edition, 1996.
Bibliography 451

257. Ralph E. Gomory and T.C. Hu. Multi-terminal network flows. Journal of SIAM,
9(4):551–570, December 1961.
258. Ralph E. Gomory and T.C. Hu. Synthesis of a communication network. Journal
of SIAM, 12(2):348–369, 1964.
259. Ramesh Govindan and Anoop Reddy. An analysis of Internet inter-domain topol-
ogy and route stability. In Proceedings of Infocom’97, 1997.
260. Fabrizio Grandoni and Giuseppe F. Italiano. Decremental clique problem. In
Proceedings of the 30th International Workshop on Graph-Theoretical Conecpts
in Computer Science (WG’04), Lecture Notes in Computer Science. Springer-
Verlag, 2004. To appear.
261. George Grätzer. General Lattice Theory. Birkhäuser Verlag, 1998.
262. Jerrold R. Griggs, Miklós Simonovits, and George Rubin Thomas. Extremal
graphs with bounded densities of small subgraphs. Journal of Graph Theory,
29(3):185–207, 1998.
263. Geoffrey Grimmett and Colin J. H. McDiarmid. On colouring random graphs.
Mathematical Proceedings of the Cambridge Philosophical Society, 77:313–324,
1975.
264. Dan Gusfield. Connectivity and edge-disjoint spanning trees. Information Pro-
cessing Letters, 16(2):87–89, 1983.
265. Dan Gusfield. Very simple methods for all pairs network flow analysis. SIAM
Journal on Computing, 19(1):143–155, 1990.
266. Ronald J. Gutman. Reach-based routing: A new approach to shortest path al-
gorithms optimized for road networks. In Proceedings of the 6th Workshop on
Algorithm Engineering and Experiments (ALENEX’04), Lecture Notes in Com-
puter Science, pages 100–111. SIAM, 2004.
267. Carsten Gutwenger and Petra Mutzel. A linear time implementation of SPQR-
trees. In Proceedings of the 8th International Symposium on Graph Drawing
(GD’00), volume 1984 of Lecture Notes in Computer Science, pages 70–90, Jan-
uary 2001.
268. Willem H. Haemers. Eigenvalue methods. In Alexander Schrijver, editor, Packing
and Covering in Combinatorics, pages 15–38. Mathematisch Centrum, 1979.
269. Per Hage and Frank Harary. Structural models in anthropology. Cambridge
University Press, 1st edition, 1983.
270. S. Louis Hakimi. On the realizability of a set of integers as degrees of the vertices
of a linear graph. SIAM Journal on Applied Mathematics, 10:496–506, 1962.
271. S. Louis Hakimi. Optimum location of switching centers and the absolute centers
and medians of a graph. Operations Research, 12:450–459, 1964.
272. Jianxiu Hao and James B. Orlin. A faster algorithm for finding the minimum
cut in a graph. In Proceedings of the 3rd Annual ACM–SIAM Symposium on
Discrete Algorithms (SODA’92), pages 165–174, January 1992.
273. Frank Harary. Status and contrastatus. Sociometry, 22:23–43, 1959.
274. Frank Harary. The maximum connectivity of a graph. Proceedings of the National
Academy of Science of the United States of America, 48(7):1142–1146, July 1962.
275. Frank Harary. A characterization of block-graphs. Canadian Mathematical Bul-
letin, 6(1):1–6, January 1963.
276. Frank Harary. Conditional connectivity. Networks, 13:347–357, 1983.
277. Frank Harary. General connectivity. In Khee Meng Koh and Hian-Poh Yap,
editors, Proceedings of the 1st Southeast Asian Graph Theory Colloquium, volume
1073 of Lecture Notes in Mathematics, pages 83–92. Springer-Verlag, 1984.
278. Frank Harary and Per Hage. Eccentricity and centrality in networks. Social
Networks, 17:57–63, 1995.
279. Frank Harary and Yukihiro Kodama. On the genus of an n-connected graph.
Fundamenta Mathematicae, 54:7–13, 1964.
452 Bibliography

280. Frank Harary and Helene J. Kommel. Matrix measures for transitivity and bal-
ance. Journal of Mathematical Sociology, 6:199–210, 1979.
281. Frank Harary and Robert Z. Norman. The dissimilarity characteristic of Husimi
trees. Annals of Mathematics, 58(2):134–141, 1953.
282. Frank Harary and Herbert H. Paper. Toward a general calculus of phonemic
distribution. Language: Journal of the Linguistic Society of America, 33:143–
169, 1957.
283. Frank Harary and Geert Prins. The block-cutpoint-tree of a graph. Publicationes
Mathematicae Debrecen, 13:103–107, 1966.
284. Frank Harary and Ian C. Ross. A procedure for clique detection using the group
matrix. Sociometry, 20:205–215, 1957.
285. David Harel and Yehuda Koren. On clustering using random walks. In Proceed-
ings of the 21st Conference on Foundations of Software Technology and Theoret-
ical Computer Science (FSTTCS’01), volume 2245 of Lecture Notes in Computer
Science, pages 18–41. Springer-Verlag, 2001.
286. Erez Hartuv and Ron Shamir. A clustering algorithm based on graph connectiv-
ity. Information Processing Letters, 76(4-6):175–181, 2000.
287. Johan Håstad. Clique is hard to approximate within n1−ε . Acta Mathematica,
182:105–142, 1999.
288. Vaclav Havel. A remark on the existence of finite graphs (in czech). Casopis
Pest. Math., 80:477–480, 1955.
289. Taher H. Haveliwala. Topic-sensitive pagerank: A context-sensitive ranking algo-
rithm for web search. IEEE Transactions on Knowledge and Data Engineering,
15(4):784–796, 2003.
290. Taher H. Haveliwala and Sepandar D. Kamvar. The second eigenvalue of the
Google matrix. Technical report, Stanford University, March 2003.
291. Taher H. Haveliwala, Sepandar D. Kamvar, and Glen Jeh. An analytical com-
parison of approaches to personalized PageRank. Technical report, Stanford
University, June 2003.
292. Taher H. Haveliwala, Sepandar D. Kamvar, Dan Klein, Christopher D. Manning,
and Gene H. Golub. Computing PageRank using power extrapolation. Technical
report, Stanford University, July 2003.
293. George R. T. Hendry. On graphs with a prescribed median. I. Journal of Graph
Theory, 9:477–487, 1985.
294. Michael A. Henning and Ortrud R. Oellermann. The average connectivity of a
digraph. Discrete Applied Mathematics, 140:143–153, May 2004.
295. Monika R. Henzinger and Michael L. Fredman. Lower bounds for fully dynamic
connectivity problems in graphs. Algorithmica, 22(3):351–362, 1998.
296. Monika R. Henzinger and Valerie King. Fully dynamic 2-edge connectivity al-
gorithm in polylogarithmic time per operation. SRC Technical Note 1997-004a,
Digital Equipment Corporation, Systems Research Center, Palo Alto, California,
June 1997.
297. Monika R. Henzinger and Johannes A. La Poutré. Certificates and fast algo-
rithms for biconnectivity in fully-dynamic graphs. SRC Technical Note 1997-021,
Digital Equipment Corporation, Systems Research Center, Palo Alto, California,
September 1997.
298. Monika R. Henzinger, Satish Rao, and Harold N. Gabow. Computing vertex
connectivity: New bounds from old techniques. In Proceedings of the 37th Annual
IEEE Symposium on Foundations of Computer Science (FOCS’96), pages 462–
471, October 1996.
299. Wassily Hoeffding. Probability inequalities for sums of bounded random vari-
ables. Journal of the American Statistical Association, 58(301):713–721, 1963.
Bibliography 453

300. Karen S. Holbert. A note on graphs with distant center and median. In V. R.
Kulli, editor, Recent Sudies in Graph Theory, pages 155–158, Gulbarza, India,
1989. Vishwa International Publications.
301. Paul W. Holland, Kathryn B. Laskey, and Samuel Leinhardt. Stochastic block-
models: First steps. Social Networks, 5:109–137, 1983.
302. Paul W. Holland and Samuel Leinhardt. An exponential family of probability
distributions for directed graphs. Journal of the American Statistical Association,
76(373):33–50, March 1981.
303. Jacob Holm, Kristian de Lichtenberg, and Mikkel Thorup. Poly-logarithmic de-
terministic fully-dynamic algorithms for connectivity, minimum spanning tree,
2-edge, and biconnectivity. Journal of the ACM, 48(4):723–760, 2001.
304. Petter Holme. Congestion and centrality in traffic flow on complex networks.
Advances in Complex Systems, 6(2):163–176, 2003.
305. Petter Holme, Beom Jun Kim, Chang No Yoon, and Seung Kee Han. Attack
vulnerability of complex networks. Physical Review E, 65(056109), 2002.
306. Klaus Holzapfel. Density-based clustering in large-scale networks. PhD thesis,
Technische Universität München, 2004.
307. Klaus Holzapfel, Sven Kosub, Moritz G. Maaß, Alexander Offtermatt-Souza, and
Hanjo Täubig. A zero-one law for densities of higher order. Manuscript, 2004.
308. Klaus Holzapfel, Sven Kosub, Moritz G. Maaß, and Hanjo Täubig. The com-
plexity of detecting fixed-density clusters. In Proceedings of the 5th Italian Con-
ference on Algorithms and Complexity (CIAC’03), volume 2653 of Lecture Notes
in Computer Science, pages 201–212. Springer-Verlag, 2003.
309. John E. Hopcroft and Robert E. Tarjan. Finding the triconnected components
of a graph. Technical Report TR 72-140, CS Dept., Cornell University, Ithaca,
N.Y., August 1972.
310. John E. Hopcroft and Robert E. Tarjan. Dividing a graph into triconnected
components. SIAM Journal on Computing, 2(3):135–158, September 1973.
311. John E. Hopcroft and Robert E. Tarjan. Efficient algorithms for graph manipu-
lation. Communications of the ACM, 16(6):372–378, June 1973.
312. John E. Hopcroft and Robert E. Tarjan. Dividing a graph into triconnected
components. Technical Report TR 74-197, CS Dept., Cornell University, Ithaca,
N.Y., February 1974.
313. John E. Hopcroft and Robert E. Tarjan. Efficient planarity testing. Journal of
the ACM, 21(4):549–568, October 1974.
314. John E. Hopcroft and J.K. Wong. A linear time algorithm for isomorphism of
planar graphs. In Proceedings of the 6th Annual ACM Symposium on the Theory
of Computing (STOC’74), pages 172–184, 1974.
315. Radu Horaud and Thomas Skordas. Stereo correspondence through feature
grouping and maximal cliques. IEEE Transactions on Pattern Analysis and Ma-
chine Intelligence, 11(11):1168–1180, 1989.
316. Wen-Lian Hsu. O(MN) algorithms for the recognition and isomorphism problems
on circular-arc graphs. SIAM Journal on Computing, 24:411–439, 1995.
317. T.C. Hu. Optimum communication spanning trees. SIAM Journal on Computing,
3:188–195, 1974.
318. Xiaohan Huang and Victor Y. Pan. Fast rectangular matrix multiplication and
applications. Journal of Complexity, 14(2):257–299, 1998.
319. Charles H. Hubbell. In input-output approach to clique identification. Sociome-
try, 28:377–399, 1965.
320. Piotr Indyk and Jiřı́ Matoušek. Low-distortion embeddings of finite metric spaces.
In Jacob E. Goodman and Joseph O’Rourke, editors, Handbook of Discrete and
Computational Geometry. Chapman & Hall/CRC, April 2004.
321. Alon Itai and Michael Rodeh. Finding a minimum circuit in a graph. SIAM
Journal on Computing, 7(4):413–423, 1978.
454 Bibliography

322. Kenneth E. Iverson. A Programming Language. Wiley, 1962.


323. Matthew O. Jackson and Asher Wolinsky. A strategic model of social and eco-
nomic networks. Journal of Economic Theory, 71:474–486, 1996.
324. Anil K. Jain and Richard C. Dubes. Algorithms for clustering data. Prentice
Hall, 1988.
325. Anil K. Jain, M. N. Murty, and Patrick J. Flynn. Data clustering: a review. ACM
Computing Surveys, 31(3):264–323, 1999.
326. Glen Jeh and Jennifer Widom. Scaling personalized web search. In Proceedings of
the 12th International World Wide Web Conference (WWW12), pages 271–279,
Budapest, Hungary, 2003.
327. Hawoong Jeong, Sean P. Mason, Albert-László Barabási, and Zoltan N. Oltvai.
Lethality and centrality in protein networks. Nature, 411, 2001. Brief communi-
cations.
328. Mark Jerrum. Large cliques elude the Metropolis process. Randoms Structures
and Algorithms, 3(4):347–359, 1992.
329. Mark Jerrum and Alistair Sinclair. Fast uniform generation of regular graphs.
Theoretical Computer Science, 73:91–100, 1990.
330. Tang Jian. An O(20.304n ) algorithm for solving maximum independent set prob-
lem. IEEE Transactions on Computers, C-35(9):847–851, 1986.
331. Bin Jiang. I/O- and CPU-optimal recognition of strongly connected components.
Information Processing Letters, 45(3):111–115, March 1993.
332. Cheng Jin, Qian Chen, and Sugih Jamin. Inet topology generator. Technical
Report CSE-TR-433-00, EECS Department, University of Michigan, 2000.
333. David S. Johnson, Jan Karel Lenstra, and Alexander H. G. Rinnooy Kan. The
complexity of the network design problem. Networks, 9:279–285, 1978.
334. David S. Johnson, Christos H. Papadimitriou, and Mihalis Yannakakis. On gen-
erating all maximal independent sets. Information Processing Letters, 27(3):119–
123, 1988.
335. Ian T. Jolliffe. Principal Component Analysis. Springer-Verlag, 2002.
336. Camille Jordan. Sur les assemblages de lignes. Journal für reine und angewandte
Mathematik, 70:185–190, 1869.
337. Ferenc Juhász. On the spectrum of a random graph. Colloquia Mathematica
Societatis János Bolyai, 25:313–316, 1978.
338. Sepandar D. Kamvar, Taher H. Haveliwala, and Gene H. Golub. Adaptive meth-
ods for the computation of PageRank. Technical report, Stanford University,
April 2003.
339. Sepandar D. Kamvar, Taher H. Haveliwala, Christopher D. Manning, and
Gene H. Golub. Exploiting the block structure of the web for computing PageR-
ank. Technical report, Stanford University, March 2003.
340. Sepandar D. Kamvar, Taher H. Haveliwala, Christopher D. Manning, and
Gene H. Golub. Extrapolation methods for accelerating PageRank computa-
tions. In Proceedings of the 12th International World Wide Web Conference
(WWW12), pages 261–270, Budapest, Hungary, 2003.
341. Arkady Kanevsky, Roberto Tamassia, Guiseppe Di Battista, and Jianer Chen.
On-line maintenance of the four-connected components of a graph. In Proceed-
ings of the 32nd Annual IEEE Symposium on Foundations of Computer Science
(FOCS’91), pages 793–801, October 1991.
342. Ravi Kannan and V. Vinay. Analyzing the structure of large graphs. Manuscript,
1999.
343. David R. Karger and Matthew S. Levine. Finding maximum flows in undirected
graphs seems easier than bipartite matching. In Proceedings of the 30th Annual
ACM Symposium on the Theory of Computing (STOC’98), pages 69–78, May
1998.
Bibliography 455

344. David R. Karger and Clifford Stein. An Õ(n2 ) algorithm for minimum cuts. In
Proceedings of the 25th Annual ACM Symposium on the Theory of Computing
(STOC’93), pages 757–765, May 1993.
345. Richard M. Karp. Reducibility among combinatorial problems. In Raymond E.
Miller and James W. Thatcher, editors, Complexity of Computer Computations,
pages 85–103. Plenum Press, 1972.
346. Richard M. Karp. On the computational complexity of combinatorial problems.
Networks, 5:45–68, 1975.
347. Richard M. Karp. Probabilistic analysis of some combinatorial search problems.
In Joseph F. Traub, editor, Algorithms and Complexity: New Directions and Re-
cent Results, pages 1–19. Academic Press, 1976.
348. George Karypis and Vipin Kumar. A fast and high quality multilevel scheme for
partitioning irregular graphs. SIAM Journal on Scientific Computing, 20(1):359–
392, 1998.
349. Alexander V. Karzanov. On finding maximum flows in networks with spe-
cial structure and some applications. In Matematicheskie Voprosy Upravleniya
Proizvodstvom, volume 5, pages 66–70. Moscow State University Press, 1973. (In
Russian).
350. Alexander V. Karzanov. Determining the maximal flow in a network by the
method of preflows. Soviet Mathematics-Doklady, 15(2):434–437, 1974.
351. Alexander V. Karzanov and Eugeniy A. Timofeev. Efficient algorithm for finding
all minimal edge cuts of a nonoriented graph. Cybernetics, 22(2):156–162, 1986.
352. Leo Katz. A new status index derived from sociometric analysis. Psychometrika,
18(1):39–43, 1953.
353. Subhash Khot. Improved approximation algorithms for max clique, chromatic
number and approximate graph coloring. In Proceedings of the 42nd Annual
IEEE Symposium on Foundations of Computer Science (FOCS’01), pages 600–
609. IEEE Computer Society Press, 2001.
354. Subhash Khot. Ruling out PTAS for graph min-bisection, densest subgraph
and bipartite clique. In Proceedings of the 45th Annual IEEE Symposium on
Foundations of Computer Science (FOCS’04), pages 136–145. IEEE Computer
Society Press, 2004.
355. K. H. Kim and F. W. Roush. Group relationships and homomorphisms of boolean
matrix semigroups. Journal of Mathematical Psychology, 28:448–452, 1984.
356. Valerie King, Satish Rao, and Robert E. Tarjan. A faster deterministic maximum
flow algorithm. In Proceedings of the 3rd Annual ACM–SIAM Symposium on
Discrete Algorithms (SODA’92), pages 157–164, January 1992.
357. G. Kishi. On centrality functions of a graph. In N. Saito and T. Nishizeki,
editors, Proceedings of the 17th Symposium of Research Institute of Electrical
Communication on Graph Theory and Algorithms, volume 108 of Lecture Notes
in Computer Science, pages 45–52, Sendai, Japan, October 1980. Springer.
358. G. Kishi and M. Takeuchi. On centrality functions of a non-directed graph.
In Proceedings of the 6th Colloquium on Microwave Communication, Budapest,
1978.
359. Jon M. Kleinberg. Authoritative sources in a hyperlinked environment. Journal
of the ACM, 46(5):604–632, 1999.
360. Jon M. Kleinberg. The small-world phenomenon: An algorithmic perspective. In
Proceedings of the 32nd Annual ACM Symposium on the Theory of Computing
(STOC’00), May 2000.
361. Jon M. Kleinberg. An impossibility theorem for clustering. In Proceedings of
15th Conference: Neiral Information Processing Systems, Advances in Neural In-
formation Processing Systems, 2002.
362. Daniel J. Kleitman. Methods for investigating connectivity of large graphs. IEEE
Transactions on Circuit Theory, 16(2):232–233, May 1969.
456 Bibliography

363. Ton Kloks, Dieter Kratsch, and Haiko Müller. Finding and counting small in-
duced subgraphs efficiently. Information Processing Letters, 74(3–4):115–121,
2000.
364. David Knoke and David L. Rogers. A blockmodel analysis of interorganizational
networks. Sociology and Social Research, 64:28–52, 1979.
365. Donald E. Knuth. Two notes on notation. American Mathematical Monthly,
99:403–422, 1990.
366. Dénes Kőnig. Graphen und Matrizen. Mat. Fiz. Lapok, 38:116–119, 1931.
367. Avrachenkov Konstantin and Nelly Litvak. Decomposition of the Google PageR-
ank and optimal linking strategy. Technical Report 5101, INRIA, Sophia An-
tipolis, France, January 2004.
368. Tamás Kővári, Vera T. Sós, and Pál Turán. On a problem of Zarankiewicz.
Colloquium Mathematicum, 3:50–57, 1954.
369. Paul L. Krapivsky, Sidney Redner, and Francois Leyvraz. Connectivity of growing
random networks. http://xxx.sissa.it/ps/cond-mat/0005139, September 2000.
370. Jan Kratochvı́l. Perfect Codes in General Graphs. Academia Praha, 1991.
371. V. Krishnamoorthy, K. Thulasiraman, and M. N. S. Swamy. Incremental distance
and diameter sequences of a graph: New measures of network performance. IEEE
Transactions on Computers, 39(2):230–237, February 1990.
372. Joseph B. Kruskal. Multidimensional scaling by optimizing goodness of fit to a
nonparametric hypothesis. Psychometrika, 29:1–27, March 1964.
373. Joseph B. Kruskal. Nonmetric multidimensional scaling: A numerical method.
Psychometrika, 29:115–129, June 1964.
374. Luděk Kučera. Expected complexity of graph partitioning problems. Discrete
Applied Mathematics, 57(2–3):193–212, 1995.
375. Ravi Kumar, Prabhakar Raghavan, Sridhar Rajagopalan, D. Sivakumar, An-
drew S. Tomkins, and Eli Upfal. Stochastic models for the web graph. In Proceed-
ings of the 41st Annual IEEE Symposium on Foundations of Computer Science
(FOCS’00), 2000.
376. Ravi Kumar, Prabhakar Raghavan, Sridhar Rajagopalan, and Andrew S.
Tomkins. Trawling the web for emerging cyber-communities. Computer Net-
works: The International Journal of Computer and Telecommunications Network-
ing, 31(11–16):1481–1493, 1999.
377. Johannes A. La Poutré, Jan van Leeuwen, and Mark H. Overmars. Maintenance
of 2- and 3-connected components of graphs, Part I: 2- and 3-edge-connected com-
ponents. Technical Report RUU-CS-90-26, Dept. of Computer Science, Utrecht
University, July 1990.
378. Amy N. Langville and Carl D. Meyer. Deeper inside PageRank. Technical report,
Department of Mathematics, North Carolina State University, Raleigh, NC, USA,
March 2004. accepted by Internet Mathematics.
379. Amy N. Langville and Carl D. Meyer. A survey of eigenvector methods of web
information retrieval. Technical report, Department of Mathematics, North Car-
olina State University, Raleigh, NC, USA, January 2004. accepted by The SIAM
Review.
380. Luigi Laura, Stefano Leonardi, Stefano Millozzi, and Ulrich Meyer. Algorithms
and experiments for the webgraph. In Proceedings of the 11th Annual European
Symposium on Algorithms (ESA’03), volume 2832 of Lecture Notes in Computer
Science, 2003.
381. Eugene L. Lawler. Cutsets and partitions of hypergraphs. Networks, 3:275–285,
1973.
382. Eugene L. Lawler, Jan Karel Lenstra, and Alexander H. G. Rinnooy Kan. Gen-
erating all maximal independent sets: N P-hardness and polynomial-time algo-
rithms. SIAM Journal on Computing, 9(3):558–565, 1980.
Bibliography 457

383. Chris Pan-Chi Lee, Gene H. Golub, and Stefanos A. Zenios. A fast two-stage
algorithm for computing PageRank. Technical Report SCCM-03-15, Stanford
University, 2003.
384. Erich L. Lehmann. Testing Statistical Hypotheses. Springer Texts in Statistics.
Springer-Verlag, 2nd edition, 1997.
385. Erich L. Lehmann and George Casella. Theory of Point Estimation. Springer
Texts in Statistics. Springer-Verlag, 2nd edition, 1998.
386. L. Ya. Leifman. An efficient algorithm for partitioning an oriented graph into
bicomponents. Cybernetics, 2(5):15–18, 1966.
387. Ronny Lempel and Shlomo Moran. The stochastic approach for link-structure
analysis (SALSA) and the TKC effect. Computer Networks: The International
Journal of Computer and Telecommunications Networking, 33:387–401, 2000. vol-
ume coincides with the Proceedings of the 9th international World Wide Web
conference on Computer networks.
388. Ronny Lempel and Shlomo Moran. Rank-stability and rank-similarity of link-
based web ranking algorithms in authority-connected graphs. Information Re-
trieval, special issue on Advances in Mathematics/Formal Methods in Informa-
tion Retrieval, 2004. in press.
389. Thomas Lengauer. Combinatorial Algorithms for Integrated Circuit Layout. Wi-
ley, 1990.
390. Linda Lesniak. Results on the edge-connectivity of graphs. Discrete Mathematics,
8:351–354, 1974.
391. Robert Levinson. Pattern associativity and the retrieval of semantic networks.
Computers & Mathematics with Applications, 23(2):573–600, 1992.
392. Nathan Linial, László Lovász, and Avi Wigderson. A physical interpretation of
graph connectivity and its algorithmic applications. In Proceedings of the 27th
Annual IEEE Symposium on Foundations of Computer Science (FOCS’86), pages
39–48, October 1986.
393. Nathan Linial, László Lovász, and Avi Wigderson. Rubber bands, convex em-
beddings and graph connectivity. Combinatorica, 8(1):91–102, 1988.
394. François Lorrain and Harrison C. White. Structural equivalence of individuals in
social networks. Journal of Mathematical Sociology, 1:49–80, 1971.
395. Emmanuel Loukakis and Konstantinos-Klaudius Tsouros. A depth first search
algorithm to generate the family of maximal independent sets of a graph lexico-
graphically. Computing, 27:249–266, 1981.
396. László Lovász. Connectivity in digraphs. Journal of Combinatorial Theory Se-
ries B, 15(2):174–177, August 1973.
397. László Lovász. On the Shannon capacity of a graph. IEEE Transactions on
Information Theory, 25:1–7, 1979.
398. Anna Lubiw. Some N P-complete problems similar to graph isomorphism. SIAM
Journal on Computing, 10:11–24, 1981.
399. Fabrizio Luccio and Mariagiovanna Sami. On the decomposition of networks in
minimally interconnected subnetworks. IEEE Transactions on Circuit Theory,
CT-16:184–188, 1969.
400. R. Duncan Luce. Connectivity and generalized cliques in sociometric group struc-
ture. Psychometrika, 15:169–190, 1950.
401. R. Duncan Luce and Albert Perry. A method of matrix analysis of group struc-
ture. Psychometrika, 14:95–116, 1949.
402. Eugene M. Luks. Isomorphism of graphs of bounded valence can be tested in
polynomial time. Journal of Computer and System Sciences, 25:42–65, 1982.
403. Saunders Mac Lane. A structural characterization of planar combinatorial
graphs. Duke Mathematical Journal, 3:460–472, 1937.
404. Wolfgang Mader. Ecken vom Grad n in minimalen n-fach zusammenhängenden
Graphen. Archiv der Mathematik, 23:219–224, 1972.
458 Bibliography

405. Damien Magoni and Jean Jacques Pansiot. Analysis of the autonomous system
network topology. Computer Communication Review, 31(3):26–37, July 2001.
406. Vishv M. Malhotra, M. Pramodh Kumar, and S. N. Maheshwari. An O(|V |3 ) al-
gorithm for finding maximum flows in networks. Information Processing Letters,
7(6):277–278, October 1978.
407. Yishay Mansour and Baruch Schieber. Finding the edge connectivity of directed
graphs. Journal of Algorithms, 10(1):76–85, March 1989.
408. Maarten Marx and Michael Masuch. Regular equivalence and dynamic logic.
Social Networks, 25:51–65, 2003.
409. Rudi Mathon. A note on the graph isomorphism counting problem. Information
Processing Letters, 8(3):131–132, 1979.
410. David W. Matula. The cohesive strength of graphs. In The Many Facets of
Graph Theory, Proc., volume 110 of Lecture Notes in Mathematics, pages 215–
221. Springer-Verlag, 1969.
411. David W. Matula. k-components, clusters, and slicings in graphs. SIAM Journal
on Applied Mathematics, 22(3):459–480, May 1972.
412. David W. Matula. Graph theoretic techniques for cluster analysis algorithms.
In J. Van Ryzin, editor, Classification and clustering, pages 95–129. Academic
Press, 1977.
413. David W. Matula. Determining edge connectivity in O(nm). In Proceedings of the
28th Annual IEEE Symposium on Foundations of Computer Science (FOCS’87),
pages 249–251, October 1987.
414. James J. McGregor. Backtrack search algorithms and the maximal common
subgraph problem. Software - Practice and Experience, 12(1):23–24, 1982.
415. Brendan D. McKay. Practical graph isomorphism. Congressus Numerantium,
30:45–87, 1981.
416. Brendan D. McKay and Nicholas C. Wormald. Uniform generation of random
regular graphs of moderate degree. Journal of Algorithms, 11:52–67, 1990.
417. Alberto Medina, Anukool Lakhina, Ibrahim Matta, and John Byers. BRITE: An
approach to universal topology generation. In Proceedings of the International
Symposium on Modeling, Analysis and Simulation of Computer and Telecommu-
nication Systems (MASCOTS’01), 2001.
418. Alberto Medina, Ibrahim Matta, and John Byers. On the origin of power laws
in Internet topologies. Computer Communication Review, 30(2), April 2000.
419. Karl Menger. Zur allgemeinen Kurventheorie. Fundamenta Mathematicae, 10:96–
115, 1927.
420. Milena Mihail, Christos Gkantsidis, Amin Saberi, and Ellen W. Zegura. On
the semantics of internet topologies. Technical Report GIT-CC-02-07, Georgia
Institute of Technology, 2002.
421. Stanley Milgram. The small world problem. Psychology Today, 1:61, 1967.
422. Gary L. Miller and Vijaya Ramachandran. A new graph triconnectivity algorithm
and its parallelization. Combinatorica, 12(1):53–76, 1992.
423. Ron Milo, Shai Shen-Orr, Shalev Itzkovitz, Nadav Kashtan, Dmitri Chklovskii,
and Uri Alon. Network motifs: Simple building blocks of complex networks.
Science, 298:824–827, October 2002.
424. J. Clyde Mitchell. Algorithms and network analysis: A test of some analyti-
cal procedures on Kapferer’s tailor shop material. In Linton Clarke Freeman,
Douglas R. White, and A. Kimbal Romney, editors, Research Methods in Social
Network Analysis, pages 365–391. George Mason University Press, 1989.
425. Bojan Mohar. Isoperimetric numbers of graphs. Journal of Combinatorial Theory
Series B, 47(3):274–291, 1989.
426. Bojan Mohar. Eigenvalues, diameter and mean distance in graphs. Graphs and
Combinatorics, 7:53–64, 1991.
Bibliography 459

427. Bojan Mohar. The laplacian spectrum of graphs. In Yousef Alavi, Gary Char-
trand, Ortrud R. Oellermann, and Allen J. Schwenk, editors, Graph Theory,
Combinatorics, and Applications, pages 871–898. Wiley, 1991.
428. Bojan Mohar and Svatopluk Poljak. Eigenvalues in combinatorial optimization.
In Richard A. Brualdi, Shmuel Friedland, and Victor Klee, editors, Combinato-
rial and Graph-Theoretical Problems in Linear Algebra, pages 107–151. Springer-
Verlag, 1993.
429. Robert J. Mokken. Cliques, clubs, and clans. Quality and Quantity, 13:161–173,
1979.
430. Burkhard Möller. Zentralitäten in Graphen. Diplomarbeit, Fachbereich Infor-
matik und Informationswissenschaft, Universität Konstanz, July 2002.
431. John W. Moon. On the diameter of a graph. Michigan Mathematical Journal,
12(3):349–351, 1965.
432. John W. Moon and L. Moser. On cliques in graphs. Israel Journal of Mathemat-
ics, 3:23–28, 1965.
433. Robert L. Moxley and Nancy F. Moxley. Determining Point-Centrality in Un-
contrived Social Networks. Sociometry, 37:122–130, 1974.
434. N. C. Mullins, L. L. Hargens, P. K. Hecht, and Edward L. Kick. The group struc-
ture of cocitation clusters: A comparative study. American Sociological Review,
42:552–562, 1977.
435. Ian Munro. Efficient determination of the transitive closure of a directed graph.
Information Processing Letters, 1(2):56–58, 1971.
436. Siegfried F. Nadel. The Theory of Social Structure. Cohen & West LTD, 1957.
437. Kai Nagel. Traffic networks. In Stefan Bornholdt and Heinz Georg Schuster,
editors, Handbook of Graphs and Networks: From the Genome to the Internet.
Wiley-VCH, 2002.
438. Walid Najjar and Jean-Luc Gaudiot. Network resilience: A measure of network
fault tolerance. IEEE Transactions on Computers, 39(2):174–181, February 1990.
439. Georg L. Nemhause and Laurence A. Wolesy. Integer and Combinatorial Opti-
mization. Wiley, 1988.
440. Jaroslav Nešetřil and Svatopluk Poljak. On the complexity of the subgraph
problem. Commentationes Mathematicae Universitatis Carolinae, 26(2):415–419,
1985.
441. Mark E. J. Newman. Assortative mixing in networks. Physical Review Letters,
89(208701), 2002.
442. Mark E. J. Newman. Fast algorithm for detecting community structure in net-
works. arXiv cond-mat/0309508, September 2003.
443. Mark E. J. Newman. A measure of betweenness centrality based on random
walks. arXiv cond-mat/0309045, 2003.
444. Mark E. J. Newman and Michelle Girvan. Mixing patterns and community
structure in networks. In Romualdo Pastor-Satorras, Miguel Rubi, and Albert
Diaz-Guilera, editors, Statistical Mechanics of Complex Networks, volume 625 of
Lecture Notes in Physics, pages 66–87. Springer-Verlag, 2003.
445. Mark E. J. Newman and Michelle Girvan. Findind and evaluating community
structure in networks. Physical Review E, 69(2):026113, 2004.
446. Mark E. J. Newman and Juyong Park. Why social networks are different from
other types of networks. Physical Review E, 68(036122), 2003.
447. Mark E. J. Newman, Steven H. Strogatz, and Duncan J. Watts. Random graph
models of social networks. Proceedings of the National Academy of Science of the
United States of America, 99:2566–2572, 2002.
448. Mark E. J. Newman, Duncan J. Watts, and Steven H. Strogatz. Random graphs
with arbitrary degree distributions and their applications. Physical Review E,
64:026118, 2001.
460 Bibliography

449. Andrew Y. Ng, Alice X. Zheng, and Micheal I. Jordan. Link analysis, eigenvectors
and stability. In Proceedings of the senventeenth international joint conference
on artificial intelligence, pages 903–910, Seattle, Washington, 2001.
450. Victor Nicholson, Chun Che Tsai, Marc A. Johnson, and Mary Naim. A subgraph
isomorphism theorem for molecular graphs. In Proceedings of The International
Conference on Graph Theory and Topology in Chemistry, pages 226–230, 1987.
451. U. J. Nieminen. On the Centrality in a Directed Graph. Social Science Research,
2:371–378, 1973.
452. National laboratory for applied network research routing data, 1999.
453. Krzysztof Nowicki and Tom A.B. Snijders. Estimation and prediction for stochas-
tic blockstructures. Journal of the American Statistical Association, 96:1077–
1087, 2001.
454. Esko Nuutila and Eljas Soisalon-Soininen. On finding the strongly connected
components in a directed graph. Information Processing Letters, 49(1):9–14,
January 1994.
455. Ortrud R. Oellermann. A note on the ,-connectivity function of a graph. Con-
gressus Numerantium, 60:181–188, December 1987.
456. Ortrud R. Oellermann. On the l-connectivity of a graph. Graphs and Combina-
torics, 3:285–291, 1987.
457. Maria G.R. Ortiz, Jose R.C. Hoyos, and Maria G.R. Lopez. The social networks of
academic performance in a student context of poverty in mexico. Social Networks,
26(2):175–188, 2004.
458. Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd. The PageR-
ank citation ranking: Bringing order to the web. Manuscript, 1999.
459. Robert Paige and Robert E. Tarjan. Three partition refinement algorithms.
SIAM Journal on Computing, 16(6):973–983, 1987.
460. Ignacio Palacios-Huerta and Oscar Volij. The measurement of intellectual influ-
ence. Econometrica, 2004. accepted for publication.
461. Christopher Palmer, Phillip Gibbons, and Christos Faloutsos. Fast approximation
of the “neighbourhood” function for massive graphs. Technical Report CMUCS-
01-122, Carnegie Mellon Uiversity, 2001.
462. Christopher Palmer, Georgos Siganos, Michalis Faloutsos, Christos Faloutsos, and
Phillip Gibbons. The connectivity and fault-tolerance of the Internet topology.
In Workshop on Network-Related Data Management (NRDM 2001), 2001.
463. Gopal Pandurangan, Prabhakar Raghavan, and Eli Upfal. Using PageRank to
characterize Web structure. In Proceedings of the 8th Annual International Con-
ference on Computing Combinatorics (COCOON’02), volume 2387 of Lecture
Notes in Computer Science, pages 330–339, 2002.
464. Apostolos Papadopoulos and Yannis Manolopoulos. Structure-based similarity
search with graph histograms. In DEXA Workshop, pages 174–178, 1999.
465. Britta Papendiek and Peter Recht. On maximal entries in the principal eigen-
vector of graphs. Linear Algebra and its Applications, 310:129–138, 2000.
466. Panos M. Pardalos and Jue Xue. The maximum clique problem. Journal of
Global Optimization, 4:301–328, 1994.
467. Beresford N. Parlett. The Symmetric Eigenvalue Problem. SIAM, 1998.
468. Romualdo Pastor-Satorras, Alexei Vázquez, and Alessandro Vespignani. Dy-
namical and correlation properties of the internet. Physical Review Letters,
87(258701), 2001.
469. Romualdo Pastor-Satorras and Alessandro Vespignani. Epidemics and immu-
nization in scale-free networks. In Stefan Bornholdt and Heinz Georg Schuster,
editors, Handbook of Graphs and Networks: From the Genome to the Internet.
Wiley-VCH, 2002.
470. Keith Paton. An algorithm for the blocks and cutnodes of a graph. Communi-
cations of the ACM, 14(7):468–475, July 1971.
Bibliography 461

471. Philippa Pattison. Algebraic Models for Social Networks. Cambridge University
Press, 1993.
472. Philippa Pattison and Stanley Wasserman. Logit models and logistic regressions
for social networks: II. Multivariate relations. British Journal of Mathematical
and Statistical Psychology, 52:169–193, 1999.
473. Marvin C. Paull and Stephen H. Unger. Minimizing the number of states in
incompletely specified sequential switching functions. IRE Transaction on Elec-
tronic Computers, EC-8:356–367, 1959.
474. Aleksandar Pekeč and Fred S. Roberts. The role assignment model nearly fits
most social networks. Mathematical Social Sciences, 41:275–293, 2001.
475. Claudine Peyrat. Diameter vulnerability of graphs. Discrete Applied Mathemat-
ics, 9, 1984.
476. Steven Phillips and Jeffery Westbrook. On-line load balancing and network flow.
Algorithmica, 21(3):245–261, 1998.
477. Jean-Claude Picard and Maurice Queyranne. A network flow solution to some
nonlinear 0-1 programming problems, with an application to graph theory. Net-
works, 12:141–159, 1982.
478. Jean-Claude Picard and H. D. Ratliff. Minimum cuts and related problems.
Networks, 5(4):357–370, 1975.
479. Gabriel Pinski and Francis Narin. Citation influence for journal aggregates of
scientific publications: theory, with application to the literature of physics. In-
formation Processing & Management, 12:297–312, 1976.
480. André Pönitz and Peter Tittmann. Computing network reliability in graphs
of restricted pathwidth. http://www.peter.htwm.de/publications/Reliability.ps,
2001.
481. R. Poulin, M.-C. Boily, and B.R. Mâsse. Dynamical systems to define centrality
in social networks. Social Networks, 22:187–220, 2000.
482. William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flan-
nery. Numerical Recipes in C. Cambridge University Press, 1992.
483. C.H. Proctor and C. P. Loomis. Analysis of sociometric data. In Marie Ja-
hoda, Morton Deutsch, and Stuart W. Cook, editors, Research Methods in Social
Relations, pages 561–586. Dryden Press, 1951.
484. Paul W. Purdom, Jr. A transitive closure algorithm. Computer Sciences Tech-
nical Report #33, University of Wisconsin, July 1968.
485. Paul W. Purdom, Jr. A transitive closure algorithm. BIT, 10:76–94, 1970.
486. Pavlin Radoslavov, Hongsuda Tangmunarunkit, Haobo Yu, Ramesh Govindan,
Scott Shenker, and Deborah Estrin. On characterizing network topologies and
analyzing their impact on protocol design. Technical Report 00-731, Computer
Science Department, University of Southern California, February 2000.
487. Rajeev Raman. Recent results on the single-source shortest paths problem. ACM
SIGACT News, 28(2):81–87, 1997.
488. John W. Raymond, Eleanor J. Gardiner, and Peter Willet. RASCAL: Calculation
of graph similarity using maximum common edge subgraphs. The Computer
Journal, 45(6):631–644, 2002.
489. Ronald C. Read and Derek G. Corneil. The graph isomorphism disease. Journal
of Graph Theory, 1:339–363, 1977.
490. John H. Reif. A topological approach to dynamic graph connectivity. Information
Processing Letters, 25(1):65–70, 1987.
491. Franz Rendl and Henry Wolkowicz. A projection technique for partitioning the
nodes of a graph. Annals of Operations Research, 58:155–180, 1995.
492. John A. Rice. Mathematical Statistics and Data Analysis. Duxbury Press, 2nd
edition, 1995.
493. Fred S. Roberts and Li Sheng. N P-completeness for 2-role assignability. Tech-
nical Report 8, Rutgers Center for Operation Research, 1997.
462 Bibliography

494. Garry Robins, Philippa Pattison, and Stanley Wasserman. Logit models and
logistic regressions for social networks: III. Valued relations. Psychometrika,
64:371–394, 1999.
495. John Michael Robson. Algorithms for maximum independent sets. Journal of
Algorithms, 7(3):425–440, 1986.
496. Liam Roditty and Uri Zwick. On dynamic shortest paths problems. In Proceed-
ings of the 12th Annual European Symposium on Algorithms (ESA’04), volume
3221 of Lecture Notes in Computer Science, pages 580–591, 2004.
497. Arnon S. Rosenthal. Computing Reliability of Complex Systems. PhD thesis,
University of California, 1974.
498. Sheldon M. Ross. Introduction to Probability Models. Academic Press, 8th edition,
2003.
499. Britta Ruhnau. Eigenvector-centrality – a node-centrality? Social Networks,
22:357–365, 2000.
500. Gert Sabidussi. The centrality index of a graph. Psychometrika, 31:581–603,
1966.
501. Lee Douglas Sailer. Structural equivalence: Meaning and definition, computation
and application. Social Networks, 1:73–90, 1978.
502. Thomas Schank and Dorothea Wagner. Approximating clustering-coefficient and
transitivity. Technical Report 2004-9, Universität Karlsruhe, Fakultät für Infor-
matik, 2004.
503. Claus P. Schnorr. Bottlenecks and edge connectivity in unsymmetrical networks.
SIAM Journal on Computing, 8(2):265–274, May 1979.
504. Uwe Schöning. Graph isomorphism is in the low hierarchy. Journal of Computer
and System Sciences, 37:312–323, 1988.
505. Alexander Schrijver. Theory of linear and integer programming. Wiley, 1986.
506. Alexander Schrijver. Paths and flows—a historical survey. CWI Quarterly,
6(3):169–183, September 1993.
507. Alexander Schrijver. Combinatorial Optimization: Polyhedra and Efficiency.
Springer-Verlag, 2003.
508. Joseph E. Schwartz. An examination of CONCOR and related methods for
blocking sociometric data. In D. R. Heise, editor, Sociological Methodology 1977,
pages 255–282. Jossey Bass, 1977.
509. Jennifer A. Scott. An Arnoldi code for computing selected eigenvalues of
sparse real unsymmetric matrices. ACM Transactions on Mathematical Software,
21:423–475, 1995.
510. John R. Seeley. The net of reciprocal influence. Canadian Journal of Psychology,
III(4):234–240, 1949.
511. Stephen B. Seidman. Clique-like structures in directed networks. Journal of
Social and Biological Structures, 3:43–54, 1980.
512. Stephen B. Seidman. Internal cohesion of LS sets in graphs. Social Networks,
5(2):97–107, 1983.
513. Stephen B. Seidman. Network structure and minimum degree. Social Networks,
5:269–287, 1983.
514. Stephen B. Seidman and Brian L. Foster. A graph-theoretic generalization of the
clique concept. Journal of Mathematical Sociology, 6:139–154, 1978.
515. Stephen B. Seidman and Brian L. Foster. A note on the potential for gen-
uine cross-fertilization between anthropology and mathematics. Social Networks,
172:65–72, 1978.
516. Ron Shamir, Roded Sharan, and Dekel Tsur. Cluster graph modification prob-
lems. In Graph-Theoretic Concepts in Computer Science, 28th International
Workshop, WG 2002, volume 2573 of Lecture Notes in Computer Science, pages
379–390. Springer-Verlag, 2002.
Bibliography 463

517. Micha Sharir. A strong-connectivity algorithm and its applications in data flow
analysis. Computers & Mathematics with Applications, 7(1):67–72, 1981.
518. Yossi Shiloach. An O(n · I log 2 I) maximum-flow algorithm. Technical Report
STAN-CS-78-702, Computer Science Department, Stanford University, December
1978.
519. Alfonso Shimbel. Structural parameters of communication networks. Bulletin of
Mathematical Biophysics, 15:501–507, 1953.
520. F. M. Sim and M. R. Schwartz. Does CONCOR find positions? Unpublished
manuscript, 1979.
521. Alistair Sinclair. Algorithms for Random Generation and Counting: A Markov
Chain Approach. Birkhäuser Verlag, 1993.
522. Brajendra K. Singh and Neelima Gupte. Congestion and Decongestion in a
communication network. arXiv cond-mat/0404353, 2004.
523. Mohit Singh and Amitabha Tripathi. Order of a graph with given vertex and edge
connectivity and minimum degree. Electronic Notes in Discrete Mathematics, 15,
2003.
524. Peter J. Slater. Maximin facility location. Journal of National Bureau of Stan-
dards, 79B:107–115, 1975.
525. Daniel D. Sleater and Robert E. Tarjan. A data structure for dynamic trees.
Journal of Computer and System Sciences, 26(3):362–391, June 1983.
526. Giora Slutzki and Oscar Volij. Scoring of web pages and tournaments – axioma-
tizations. Technical report, Iowa State University, Ames, USA, February 2003.
527. Christian Smart and Peter J. Slater. Center, median and centroid subgraphs.
Networks, 34:303–311, 1999.
528. Peter H. A. Sneath and Robert R. Sokal. Numerical Taxonomy: The Principles
and Practice of Numerical Classification. W. H. Freeman and Company, 1973.
529. Tom A.B. Snijders. Markov chain monte carlo estimation of exponential random
graph models. Journal of Social Structure, 3(2), April 2002.
530. Tom A.B. Snijders and Krzysztof Nowicki. Estimation and prediction of stochas-
tic blockmodels for graphs with latent block structure. Journal of Classification,
14:75–100, 1997.
531. Anand Srivastav and Katja Wolf. Finding dense subgraphs with semidefinite
programming. In Proceedings of the 1st International Workshop on Approxi-
matin Algorithms for Combinatorial Optimization (APPROX’98), volume 1444
of Lecture Notes in Computer Science, pages 181–191. Springer-Verlag, 1998.
532. Angelika Steger and Nicholas C. Wormald. Generating random regular graphs
quickly. Combinatorics, Probability and Computing, 8:377–396, 1999.
533. Karen A. Stephenson and Marvin Zelen. Rethinking centrality: Methods and
examples. Social Networks, 11:1–37, 1989.
534. Volker Stix. Finding all maximal cliques in dynamic graphs. Computational
Optimization and Applications, 27(2):173–186, 2004.
535. Josef Stoer and Roland Bulirsch. Introduction to Numerical Analysis. Springer-
Verlag, 1993.
536. Mechthild Stoer and Frank Wagner. A simple min-cut algorithm. Journal of the
ACM, 44(4):585–591, 1997.
537. Sun Microsystems. Sun Performance Library User’s Guide.
538. Melvin Tainiter. Statistical theory of connectivity I: Basic definitions and prop-
erties. Discrete Mathematics, 13(4):391–398, 1975.
539. Melvin Tainiter. A new deterministic network reliability measure. Networks,
6(3):191–204, 1976.
540. Hongsuda Tangmunarunkit, Ramesh Govindan, Sugih Jamin, Scott Shenker, and
Walter Willinger. Network topologies, power laws, and hierarchy. Technical
Report 01-746, Computer Science Department, University of Southern California,
2001.
464 Bibliography

541. Hongsuda Tangmunarunkit, Ramesh Govindan, Sugih Jamin, Scott Shenker, and
Walter Willinger. Network topologies, power laws, and hierarchy. ACM SIG-
COMM Computer Communication Review, 32(1):76, 2002.
542. Robert E. Tarjan. Depth-first search and linear graph algorithms. SIAM Journal
on Computing, 1(2):146–160, June 1972.
543. Robert E. Tarjan. Finding a maximum clique. Technical Report 72-123, Depart-
ment of Computer Science, Cornell University, Ithaca, NY, 1972.
544. Robert E. Tarjan. A note on finding the bridges of a graph. Information Pro-
cessing Letters, 2(6):160–161, 1974.
545. Robert E. Tarjan and Anthony E. Trojanowski. Finding a maximum independent
set. SIAM Journal on Computing, 6(3):537–546, 1977.
546. Mikkel Thorup. On RAM priority queues. In Proceedings of the 7th Annual
ACM–SIAM Symposium on Discrete Algorithms (SODA’96), pages 59–67, 1996.
547. Mikkel Thorup. Undirected single source shortest paths with positive integer
weights in linear time. Journal of the ACM, 46(3):362–394, 1999.
548. Mikkel Thorup. On ram priority queues. SIAM Journal on Computing, 30(1):86–
109, 2000.
549. Mikkel Thorup. Fully dynamic all-pairs shortest paths: Faster and allowing neg-
ative cycles. In Proceedings of the 9th Scandinavian Workshop on Algorithm
Theory (SWAT’04), volume 3111 of Lecture Notes in Computer Science, pages
384–396. Springer-Verlag, 2004.
550. Gottfried Tinhofer. On the generation of random graphs with given properties
and known distribution. Appl. Comput. Sci. Ber. Prakt. Inf., 13:265–296, 1979.
551. Po Tong and Eugene L. Lawler. A faster algorithm for finding edge-disjoint
branchings. Information Processing Letters, 17(2):73–76, August 1983.
552. Miroslaw Truszczyński. Centers and centroids of unicyclic graphs. Mathematica
Slovaca, 35:223–228, 1985.
553. Shuji Tsukiyama, Mikio Ide, Hiromu Ariyoshi, and Isao Shirakawa. A new al-
gorithm for generating all the maximal independent sets. SIAM Journal on
Computing, 6(3):505–517, 1977.
554. Pál Turán. On an extremal problem in graph theory. Matematikai és Fizikai
Lapok, 48:436–452, 1941.
555. William T. Tutte. A theory of 3-connected graphs. Indagationes Mathematicae,
23:441–455, 1961.
556. William T. Tutte. Connectivity in graphs. Number 15 in Mathematical Exposi-
tions. University of Toronto Press, 1966.
557. Salil P. Vadhan. The complexity of counting in sparse, regular, and planar graphs.
SIAM Journal on Computing, 31(2):398–427, 2001.
558. Thomas W. Valente and Robert K. Foreman. Integration and radiality: measuring
the extent of an individual’s connectedness and reachability in a network. Social
Networks, 1:89–105, 1998.
559. Leslie G. Valiant. The complexity of computing the permanent. Theoretical
Computer Science, 8:189–201, 1979.
560. Leslie G. Valiant. The complexity of enumeration and reliability problems. SIAM
Journal on Computing, 8(3):410–421, 1979.
561. Edwin R. van Dam and Willem H. Haemers. Which graphs are determined by
their spectrum? Linear Algebra and its Applications, 373:241–272, 2003.
562. René van den Brink and Robert P. Gilles. An axiomatic social power index for
hierarchically structured populations of economic agents. In Robert P. Gilles and
Picter H.M. Ruys, editors, Imperfections and Behaviour in Economic Organiza-
tions, pages 279–318. Kluwer Academic Publishers Group, 1994.
563. René van den Brink and Robert P. Gilles. Measuring domination in directed
networks. Social Networks, 22(2):141–157, May 2000.
Bibliography 465

564. Stijn M. van Dongen. Graph Clustering by Flow Simulation. PhD thesis, Uni-
versity of Utrecht, 2000.
565. Santosh Vempala, Ravi Kannan, and Adrian Vetta. On clusterings - good, bad
and spectral. In Proceedings of the 41st Annual IEEE Symposium on Foundations
of Computer Science (FOCS’00), pages 367–378, 2000.
566. The Stanford WebBase Project. http://www-diglib.stanford.edu/ testbed/doc2/-
WebBase/.
567. Yuchung J. Wang and George Y. Wong. Stochastic blockmodels for directed
graphs. Journal of the American Statistical Association, 82:8–19, 1987.
568. Stephen Warshall. A theorem on boolean matrices. Journal of the ACM, 9(1):11–
12, 1962.
569. Stanley Wasserman and Katherine Faust. Social Network Analysis: Methods and
Applications. Cambridge University Press, 1994.
570. Stanley Wasserman and Philippa Pattison. Logit models and logistic regressions
for social networks: I. An introduction to Markov graphs and p∗ . Psychometrika,
60:401–426, 1996.
571. David S. Watkins. QR-like algorithms for eigenvalue problems. Journal of Com-
putational and Applied Mathematics, 123:67–83, 2000.
572. Alison Watts. A dynamic model of network formation. Games and Economic
Behavior, 34:331–341, 2001.
573. Duncan J. Watts and Steven H. Strogatz. Collective dynamics of “small-world”
networks. Nature, 393:440–442, 1998.
574. Bernard M. Waxman. Routing of multipoint connections. IEEE Journal on
Selected Areas in Communications, 6(9):1617–1622, 1988.
575. Alfred Weber. Über den Standort der Industrien. J. C. B. Mohr, Tübingen, 1909.
576. Douglas B. West. Introduction to Graph Theory. Prentice Hall, 2nd edition, 2001.
577. Jeffery Westbrook and Robert E. Tarjan. Maintaining bridge-connected and
biconnected components on-line. Algorithmica, 7:433–464, 1992.
578. Douglas R. White and Stephen P. Borgatti. Betweenness Centrality Measures
for Directed Graphs. Social Networks, 16:335–346, 1994.
579. Douglas R. White and Karl P. Reitz. Graph and semigroup homomorphisms on
networks of relations. Social Networks, 5:193–234, 1983.
580. Scott White and Padhraic Smyth. Algorithms for estimating relative importance
in networks. In Proceedings of the 9th ACM SIGKDD International Conference
on Knowledge Discovery and Data Mining (KDD’03), 2003.
581. Hassler Whitney. Congruent graphs and the connectivity of graphs. American
Journal of Mathematics, 54:150–168, 1932.
582. R. W. Whitty. Vertex-disjoint paths and edge-disjoint branchings in directed
graphs. Journal of Graph Theory, 11(3):349–358, 1987.
583. Harry Wiener. Structural determination of paraffin boiling points. Journal of
the American Chemical Society, 69:17–20, 1947.
584. Eugene P. Wigner. Characteristic vectors of bordered matrices with infinite
dimensions. Annals of Mathematics, 62:548–564, 1955.
585. Eugene P. Wigner. On the distribution of the roots of certain symmetric matrices.
Annals of Mathematics, 67:325–327, 1958.
586. Herbert S. Wilf. generatingfunctionology. pub-ap, 1994.
587. James H. Wilkinson. The Algebraic Eigenvalue Problem. Clarendon Press, 1965.
588. Thomas Williams and Colin Kelley. Gnuplot documentation.
589. Gerhard Winkler. Image Analysis, Random Fields, and Markov Chain Monte
Carlo Methods. Springer-Verlag, 2nd edition, 2003.
590. Gerhard J. Woeginger. Exact algorithms for N P-hard problems: A survey. In
Proceedings of the 5th International Workshop on Combinatorial Optimization
(Aussois’2001), volume 2570 of Lecture Notes in Computer Science, pages 185–
207. Springer-Verlag, 2003.
466 Bibliography

591. Kesheng Wu and Hort Simon. Thick-restart Lanczos method for large symmet-
ric eigenvalue problems. SIAM Journal on Matrix Analysis and Applications,
22(2):602–616, 2000.
592. Stefan Wuchty and Peter F. Stadler. Centers of complex networks. Journal of
Theoretical Biology, 223:45–53, 2003.
593. Norman Zadeh. Theoretical efficiency of the Edmonds-Karp algorithm for com-
puting maximal flows. Journal of the ACM, 19(1):184–192, 1972.
594. Bohdan Zelinka. Medians and peripherians tree. Archivum Mathematicum
(Brno), 4:87–95, 1968.
595. Uri Zwick. All pairs shortest paths using bridging sets and rectangular matrix
multiplication. Electronic Colloquium on Computational Complexity (ECCC),
60(7), 2000.

This bibliography is available in BibTEX format from www.inf.uni-konstanz.de/


algo/gina/gina.bib.
Index

acceptance region 281 block see also component, biconnected,


adjacent 7 254
Aitken extrapolation 75 – cardinality 272
algorithm – density 272
– ANF 299 – parameter 284
– betweenness centrality 68 blockmodel 253
– BlockRank 78 blockmodeling 253
– Burt 269 – a posteriori 284
– Dijkstra’s 63, 166 – a priori 284
– dynamic PageRank approximation – generalized 274
80–82 – stochastic 275
– Floyd-Warshall 65, 298 BlockRank 78, 91
– HITS 54 bow tie structure 77, 429
– Kleinberg 346 breadth-first search see BFS
– Lanczos 387
– McKay’s nauty 321, 329 cactus 148, 157–158
– MDS Carrington-Heil-Berkowitz index 273
– – Bădoiu 262 CATREGE 227
– – Kruskal 259 center 25
– PageRank approximation 74 centrality
– power iteration 67 – bargaining 51
– Prim’s 166 – betweenness 29–32
– SALSA 55 – – algorithm 68
– shortcut value 70–72 – – approximation 74
– Stoer and Wagner 166 – – current-flow 41
– triangle counting (AYZ) 304 – – edge 31
all-pairs shortest paths problem see – – max-flow 37, 66
APSP – – random-walk 43
α-magnifier 396 – – relative 88
APSP 10, 64 – – shortest-path 29
– dynamic 65 – Botafogo et al. 57
Arnoldi method 388 – centroid value 23
assortative mixing 112 – closeness 22
attractiveness 279 – – approximation 72
authority 54, 107, 137 – – current-flow 42
automorphism 13 – – random-walk 45
– group 319 – cumulative number of nominations
57–59
β-measure 99 – degree 20
BFS 9, 63, 68, 298 – eccentricity 22
bisection width 399 – edge centrality 34
– edge value 34
468 Index

– eigenvector 49 correlation coefficient 257


– Hubbell 50 correlation matrix 257, 270
– Markov 45 cospectral 379, 381
– PageRank see PageRank coverage 182
– radiality 23 critical value 281
– reach 32 current 41–42
– shortcut value 38 cut 10, 147
– status 47 – s-t- 10
– stress 28–29 – minimum 11, 147
– vertex 96, 98, 104 cut function 179
– vitality 36 cut tree 149
– Wiener index 38 cut-edge 143
centralization 59 cut-vertex 143
characteristic polynomial 374 cutset see separator
chromatic number 397, 407 cycle 9
clique 114–115
– clan 115 data mining 178
– club 115 degree 8
– maximal clique 114 – average degree 133, 343, 393
– maximum clique 114, 339 – distribution 294
cluster distance measure 269 – – complementary cumulative 316
clustering 179 – in-degree 8
– coefficient 344 – minimum m-degree 419–420
– function 212 – out-degree 8
– fuzzy 209 degree sequence 355–364
– hierarchical 268 – generating function 357–361
– nested 210 – graph construction 362
clustering coefficient 302, 303, 317 – realizable 361
– weighted 304 degree vector 334
co-cited 111 density 131
coarsening 179 – degree of order 132
cohesiveness 418–419 – error 273
colored relational structure 285 depth-first search see DFS
coloring 397 destination
component – of an edge 7
– biconnected 169–170 DFS 9, 123, 169, 172
– connected 9 diameter 296, 394, 422
– strongly connected 9, 170–172 – effective 297
– triconnected 172–176 – node 317
– weakly connected 9 diameter sequence
CONCOR 270 – edge deleted 423–424
conditional independence 288 – vertex deleted 423–424
conductance 184 disconnection probability 434
configuration 259, 290 discrete probability space 14
– isomorphism 290 distance 10, 295
connectivity 11–12, 422 – average 295
– algebraic 394 – average connected distance 426
– conditional 421–422 – average path distance 344
– – edge 421 – characteristic 295
– edge 11 – Euclidean 257, 367
– mean 425–426 – MCES distance 338
– vertex 11 – MCIS distance 338
core 129 – mean distance 394
core-periphery model 49 – σ-distance 335
distortion 263, 301, 317
Index 469

– global 302 – symmetric 391


distribution grap
– degree 348 – isomorphism 319–331
– exponential 278 graph 7
– Markov field 289 – block 78
– null 282 – dependency 289
– p1 279 – directed 7
– random field 289 – distance metric 332
dyad 278, 285 – histogram 334
– incidence 35
eccentricity 21, 295 – isomorphism 13, 318
– effective 297 – loop-free 8
edge 7 – matching 332
– parallel 8 – multiplex 245
edge graph 34 – product 392
edit distance 332 – – modular 339
effective diameter 431 – quasi-stable 105
eigengap 76, 108 – random see random graph
eigenvalue 14, 48, 58, 66, 348, 373 – reduced 254
– histogram 408 – regular 9, 364
– interlacing 388 – similarity 332
eigenvector 14, 49, 58, 66, 373 – simple 8
equivalence 253 – stable 105
– automorphic 240 – sum 391
– bundle 251 – undirected 7
– compositional 250 – unstable 105
– local role 251 – weighted 8
– multiplex regular 245 – with multiple relations 244
– orbit 241 graph model 342
– perfect 241 – copying model 350
– regular 223, 244 – Erdős-Rényi 342, 410
– regular relative 243 – initial attractiveness 350
– strong structural 218 – p∗ 288–290
– structural 220, 324 – p1 276–281
– weak role 250 – preferential attachment 348
– Winship-Pattison 251 – random 342
event 14 – small world 344
expansiveness 279 – Waxman 367
expectation maximization 203 graph process 349

facility location 20 hierarchy 179


flow network 10, 158–163 h-neighborhood 296
– type 1 160 hop plot 296, 317
– type 2 160 hub see authority
flow tree 148 hypothesis
fragmentation 426 – alternative 281
– composite 281
Gauss-Seidel iteration 77 – null 281
generating function 356 – simple 281
GI see graph isomorphism
Gibbs sampling 287 ILP 12, 190
Gomory-Hu Tree see cut tree image matrix 253
goodness-of-fit 273 – computing 271–272
Google 2 incremental distance sequence
graft 390 – edge-deleted 423–424
470 Index

– vertex-deleted 423–424 monotonicity constraint 259


independence number 398, 421 motif 306
integer linear program see ILP motifs 340
inter-cluster edges 179 multi-level approach 207
interconnectedness 426 multidimensional scaling 258–268
interlacing 388 multigraph 8
Internet Movie Database 5
Internet topology 368–371 neighborhood 274
intra-cluster edges 179 – h- 296
inverse participation ratio 407 network 7
isomorphism 19 network flow 10–11
isoperimetric number 394 network games 364
network resilience 435
lambda set 142 network statistics 293
λ-covering 163 Neyman-Pearson lemma 282
laminar 157 non-complete extended p-sum 392
lattice 220–221, 225 normal set 142
law of large numbers 286 N P-completeness 12
likelihood
– equation 280 Oracle of Bacon 5
– function 280 origin
– maximum likelihood estimation 280 – of an edge 7
line graph see edge graph
linear program 12 p∗ -model 288–290
– integer see ILP p1 -model 276–281
Linearized Chord Diagram 350 PageRank 2, 53
linkage process 198 – approximation 74
local search 345 – dynamic approximation 80–82
log-odds ratio 279 – modular 91
Luccio-Sami set 141 – personalized 89
lumpable 79 – topic sensitive 90
pairing 351
margin 279 parameter estimation 202
Markov chain 14, 52, 288, 363 particle hopping network 83
– aperiodic 15 partition 100, 217
– ergodic reversible 185 – equitable 239, 324
– homogeneous 14 – orbit 241, 323
– irreducible 15 – vertex 323
Markov condition 14 path 9
matrix – shortest see shortest path
– adjacency 13, 44, 48, 58 path algebra 297
– correlation 257, 270 path distance 335
– fundamental 46 performance 187
– generalized adjacency 285 persistence 422–423
– image 253 – edge 422
– incidence 13, 380 – vector 423
– Laplacian 13, 41, 379 personalization vector 89
– normalized Laplacian 13, 381 plex 126
– P-permuted adjacency 254 polynomial
– stochastic 15 – characteristic 14, 374
– transition 15, 52 – reliability 432–433
max-flow problem 10, 36, 66, 135 position 253
maximum likelihood estimation 280 potential 41
median 26 power iteration 53
min-cost flow problem 11 power law 294, 316, 348, 406
Index 471

preferential attachment 348–350, 410 splitting process 198


– continuum theory 352 SSSP 10, 63
– master equation 353 stress 260
– rate equation 354 structural index 19, 59
probabilistic resilience 435 subgraph 9, 336
product-moment coefficient 257 – isomorphism 337
productivity see expansiveness
test statistic 281
QR-decomposition 386 – error types 281
– likelihood ratio 282
radius 25, 295 – log likelihood ratio 282
random graph 342, 408–415 Theorem
random walk 15 – Courant-Fischer 382
rank-stable 110 – Edmonds’ Branching 147
ranking – Fiedler’s 384
– distance 110 – Ford-Fulkerson 11, 145
– method 102 – Hammersley-Clifford 289
– problem 102 – Kotzig’s 147
RASCAL 339 – Matrix-Tree 380
refinement 179 – Max-Flow Min-Cut 10, 145
regular interior 227 – Menger’s 11, 145
rejection region 281 – Turán’s 114
role 216 – Whitney’s 145
– primitive 224 tightly-knit community 55
role assignment 217 toughness 420–421
– exact 239 – edge- 421
– multiplex regular 245 trace 374
– problem 234 traffic-simulation 83
– regular 223, 244 transition 274
– strong structural 218 transitivity 303, 317
– structural 220 – index of 317
role graph 218, 244 – ratio 317
routing number 397 transposition 274
traversal set 33
sample space 14 triangle 302
scatter diagram 260 triple 303, 317
search engine 2
semicircle law 409 vertex 7
semigroup 247 vertex expansion 396
separator
– edge 11 walk 9, 120, 132
– vertex 11 – random 43, 52, 92, 142, 185, 204
shifting process 201
shortest path 10, 28–34, 297
– all-pairs 295, 298
– disjoint 300
– distinct 300
– – number of 300, 317
– single-source 296, 298
single-source shortest paths problem
see SSSP
spectral density 408
spectrum 14, 374–385
– adjacency 375
– Laplacian 380

You might also like