10.2. CLUSTERING OF SOCIAL-NETWORK GRAPHS
361
! (e) What we called the dual is not a true dual, because applying the con-
struction to G′ does not necessarily yield a graph isomorphic to G. Give
an example graph G where the dual of G′ is isomorphic to G and another
example where the dual of G′ is not isomorphic to G.
10.2
Clustering of Social-Network Graphs
An important aspect of social networks is that they contain communities of
entities that are connected by many edges. These typically correspond to groups
of friends at school or groups of researchers interested in the same topic, for
example. In this section, we shall consider clustering of the graph as a way to
identify communities. It turns out that the techniques we learned in Chapter 7
are generally unsuitable for the problem of clustering social-network graphs.
10.2.1
Distance Measures for Social-Network Graphs
If we were to apply standard clustering techniques to a social-network graph,
our ﬁrst step would be to deﬁne a distance measure. When the edges of the
graph have labels, these labels might be usable as a distance measure, depending
on what they represented. But when the edges are unlabeled, as in a “friends”
graph, there is not much we can do to deﬁne a suitable distance.
Our ﬁrst instinct is to assume that nodes are close if they have an edge
between them and distant if not. Thus, we could say that the distance d(x, y)
is 0 if there is an edge (x, y) and 1 if there is no such edge. We could use any
other two values, such as 1 and ∞, as long as the distance is closer when there
is an edge.
Neither of these two-valued “distance measures” – 0 and 1 or 1 and ∞– is
a true distance measure. The reason is that they violate the triangle inequality
when there are three nodes, with two edges between them. That is, if there are
edges (A, B) and (B, C), but no edge (A, C), then the distance from A to C
exceeds the sum of the distances from A to B to C. We could ﬁx this problem
by using, say, distance 1 for an edge and distance 1.5 for a missing edge. But
the problem with two-valued distance functions is not limited to the triangle
inequality, as we shall see in the next section.
10.2.2
Applying Standard Clustering Methods
Recall from Section 7.1.2 that there are two general approaches to clustering:
hierarchical (agglomerative) and point-assignment. Let us consider how each
of these would work on a social-network graph. First, consider the hierarchical
methods covered in Section 7.2. In particular, suppose we use as the intercluster
distance the minimum distance between nodes of the two clusters.
Hierarchical clustering of a social-network graph starts by combining some
two nodes that are connected by an edge.
Successively, edges that are not
between two nodes of the same cluster would be chosen randomly to combine
