• Keine Ergebnisse gefunden

Structural Equivalence

2.2 Requiring Neighborhood Identity

2.2.1 Structural Equivalence

The most simple, but also most restrictive requirement of role equivalence has been defined by Lorrain and White [64] who proposed that individuals are role equivalent if they are related to the same individuals.

Definition 2.2.1 Let G= (V, E)be a graph, and r: V →W a role assign-ment. Then, r is called

1. out-structural if r(u) = r(v) =⇒N+(u) =N+(v), 2. in-structural if r(u) = r(v) =⇒N(u) =N(v), 3. structural if both conditions hold

for all vertices u, v ∈V.

By Def. 2.1.5 it holds for any role assignment r that, if (u, v) is an edge in the graph, then (r(u), r(v)) is an edge in the role graph. If r is structural, then the converse is also true. This is even an equivalent condition for a role assignment to be structural.

Proposition 2.2.2 ([87]) Let G = (V, E) be a graph, r: V → W a role assignment, and R= (W, F) the associated role graph. Then, r is structural if and only if for all u, v ∈V, it is

(r(u), r(v))∈F ⇐⇒ (u, v)∈E .

There is another equivalent characterization of structural equivalence which is formulated by an identity of matrices and will be useful for compar-ison later. We define the characteristic matrix S of an equivalence relation

∼ by

Suv =

(1/r if u∼v and r is the size of v’s class , 0 else .

The normalization by 1/rseems to be arbitrary at the moment. However, it is exactly this normalization which yields the following theorem. In any case, representing equivalence relations by the more usual Boolean characteristic matrices that have only zero or one as entries is equivalent to the definition here since there is a canonical one-to-one correspondence between the two representations.

Theorem 2.2.3 Let G = (V, E) be a graph with adjacency matrix A and

∼ an equivalence relation on V with characteristic matrix S. Then, ∼ is structural for G if and only if it is AS =SA=A.

Proof Assume that ∼ is a structural equivalence and let u, v ∈ V and r =|[u]| be the size ofu’s equivalence class. Then

(SA)uv = X

w∈V

SuwAwv = X

w:w∼u

1

rAwv . (2.7)

Obviously, allwthat are equivalent to uare mutually equivalent themselves.

Thus, since ∼ is structural, either all or no such w have/has an incoming edge from v. In particular, for all w with w ∼ u it is Awv = Auv and from (2.7) it follows

(SA)uv =r1

rAuv =Auv ,

which proves SA=A. The equationAS =Ais shown using the fact that∼ is out-structural.

Conversely, assume that ∼ is not in-structural. Then there are vertices u, v, w ∈V such thatu∼w,uhas an incoming edge from v, andwdoes not have an incoming edge from v. By (2.7) if follows that (SA)uv ≤(r−1)1r <

Auv = 1 and hence SA6=A.

Trivially, the identity partition is structural for each graph. A slightly less trivial example of a structural equivalence is the bipartition of complete bipartite graphs, see Fig. 2.4.

Figure 2.4: The bipartition of a complete bipartite graph (indicated by the vertex coloring) defines a structural equivalence.

We note some elementary properties of structural equivalence. A class of structurally equivalent vertices is either an independent set (as in the example in Fig. 2.4) or a clique in which every vertex has a loop. The undirected distance of two structurally equivalent, non-isolated vertices is at most 2, since if u and v are structurally equivalent and u has a neighbor w then wis also a neighbor ofv. Thus, structural equivalence can only identify vertices that are close to each other.

The requirement that structurally equivalent, adjacent vertices must have loops is a serious drawback on loopless graphs. For instance, the two Ver-tices 30 and 31 in Fig. 2.3 are not structurally equivalent since they are adjacent but have no loops. (Actually, in this graph only the isolated Ver-tices 35, 39, 40, and 45 are structurally equivalent.) Therefore, some authors (including Everett and Borgatti [34]) defined vertices to be structural equiv-alent if their transposition is an automorphism of the graph. Note, that this is strictly weaker than the requirement of identical neighborhoods. For in-stance, transposing the two Vertices 30 and 31 in Fig. 2.3 is an automorphism.

White and Reitz [87] gave a slightly different definition to make structural equivalence applicable to loopless graphs. They required the equivalence in Prop. 2.2.2 only if u 6=v. Again, the two Vertices 30 and 31 in Fig. 2.3 are equivalent by this weaker criteria.

It can easily be verified that if∼1 and∼2 are two structural equivalences for a graph, then so are their intersection and the transitive closure of their union.

Proposition 2.2.4 The set of structural equivalences of a graph is a sub-lattice of the sub-lattice of all equivalence relations.

In particular there exists always a maximum structural equivalence (MSE) for a graph. The property of being structural is preserved under refinement:

Proposition 2.2.5 If ∼1≤∼2 and ∼2 is a structural equivalence, then so is ∼1.

Although the above proposition is very simple to prove, it is quite useful, since it implies that the set of all structural equivalences of a graph is completely described by the MSE. A linear time algorithm for computing the MSE of a graph is given in Algorithm 1.

Computation of Structural Equivalences

Computing the maximal structural equivalence for a graph G = (V, E) is rather straight-forward. Each vertexv ∈V partitionsV into 4 classes (some of which may be empty): vertices which are inN+(v) but not inN(v), those that are in N(v) but not inN+(v), those that are in the out-neighborhood and in-neighborhood, and those that are not adjacent tov. The basic idea of Algorithm 1 is to compute the intersection of all these partitions by looking at each edge at most twice. This algorithm is an adaption of the algorithm of Paige and Tarjan, described in Paragraph 3 of [72] (also see Sect. 2.3.3) for the computation of the regular interior, to the much simpler problem of computing the MSE.

The correctness of Algorithm 1 follows from the fact that it separates exactly the pairs of vertices with non-identical neighborhoods. An efficient implementation requires some datastructures, satisfying the following time bounds. A graph G= (V, E) must permit access to the (out-/in-)incidence list of a vertex v (as well as scanning all elements in this list) in time pro-portional to the size of the list, an edge must permit access to its source and its target in constant time, a partition must allow insertion and deletion of classes in constant time, a class must allow insertion and deletion of vertices in constant time, and a vertex must permit access to its class in constant time. The requirements on partitions and classes are achieved if a partition is represented by a doubly linked list of its classes and a class by a doubly linked list of its vertices.

One refinement step (the loop over the vertices) for a given vertex v is performed as follows.

1. Scan the outgoing edges ofv. For each such edge (v, u), determine the class C of u and create an associated class C0 if one does not already exist. Move u from C to C0.

Algorithm 1: maximal structural equivalence (MSE) Input: a graph G= (V, E)

maintain a partitionP ={C1, . . . , Ck} of V, which initially is the complete partition P ={V}

// at the end, P will be the MSE of G foreach v ∈V do

foreach class C to which a vertex u∈N+(v) belongs to do create a new classC0 of P

move all vertices inN+(v)∩C from C to C0 if C has become empty then

remove C from P

foreach class C to which a vertex u∈N(v) belongs to do create a new classC0 of P

move all vertices inN(v)∩C from C to C0 if C has become empty then

remove C from P

2. During the scanning, create a list of those classes C that are split.

After the scanning process the list of split classes. For each such class C markC0 as no longer being associated with C and eliminate C if C is now empty.

3. Scan the incoming edges ofv and perform the same steps as above.

A loop for a givenvruns in time proportional to the degree ofv, ifvis non-isolated and in constant time else. An overall running time of O(|V|+|E|) follows, which is also an asymptotic bound for the space requirement.

Summary for Structural Equivalence

Structural equivalence is theoretically and computationally very simple and it provides a certain baseline for role assignments (in fact, nearly all concepts for role similarity in this work are relaxations of structural equivalence, although the relaxations follow different directions). However, structural equivalence is much too strict for defining structural vertex positions in irregular and possibly noisy application data as the result will be in most cases close to the identity partition and therefore trivial. In the remainder of Chapt. 2, we introduce equivalence relations that satisfy weaker constraints with respect to the graph structure. In Sect. 3.1 we present measures that do no longer

require equivalence of vertices but that define similarity by measuring how much their neighborhoods overlap.