# A Set-Theoretic Approach to Modeling Network Structure
## 1 Introduction  
The textbook way of describing network structure is to represent a network, \(\mathcal{N}\), as two sets \((N,L)\) where \(N\) is a set of **nodes** and \(L\) is a set of unordered pairs \(\{x,y\}\subseteq N\), called **links** (In graph theory, these unordered pairs are called \"edges\". This seems to be derived from the edges of the solid \"dodechedron puzzle\" of Sir [PERSON] (1857) and retained through inertia. However, since in social networks they connect individuals, it seems more appropriate to call them \"links\") [1; 2]. However, although textbook network theory is almost always set based, virtually all computer network algorithms are algebraic [3; 4]. Any network can be represented by its adjacency matrix, \(A_{n,n}\), where \(a_{i,j}=1\) if \(\{i,j\}\) is a link and 0 otherwise. There is an abundance of matrix algorithms one can use, such as eigenvector evaluation [3]. In this paper, we supplement these matrix-based algorithms. The common goal is to describe the nature of a network in terms of fundamental properties. A matrix based approach yields numeric properties; the set based approach of this paper yields set-theoretic properties. Unfortunately, there is a dearth of practical set manipulation software. To overcome this problem, we created our own \(C^{++}\) set management system [5]. In this system, sets are strongly typed; for example, there are \"sets of nodes\" and \"sets of links\" which are completely distinct. Invoking the subroutines that execute set operations can be awkward and takes time to master; however, one can faithfully duplicate all of the pseudocode presented in this paper. (The \(C^{++}\) source code for all procedures of this paper can be obtained from the author.) Section 2 is long and somewhat heavy for an algorithm paper. The pseudocode for the set based procedure \(\omega\) that reduces any network \(\mathcal{N}\) to its \"interior\" \(\mathcal{I}\) is presented as Pseudocode 1. However, first, we must formally develop the notions of neighborhood closure and irreducibility on which this algorithm, \(\omega\), is based. Then, it must be shown (Proposition 2) that \(\omega\) really is a well-defined function mapping \(\mathcal{N}\) into itself, that is that the output of \(\omega\) is unique, regardless of the order in which the elements of \(\mathcal{N}\) are encountered. Finally, it must be shown (Proposition 4) that \(\mathcal{I}\) can be characterized as a network of \"chordless\" cycles. We believe it is worth it. First, the reduction algorithm \(\omega\) separates \(\mathcal{N}\) into distinct \"communities\", a process which is always of interest. Second, \(\mathcal{I}\) appears to be an excellent,compressed descriptor of the network \(\mathcal{N}\). Much of the remaining paper is a justification of this observation. To support the claim that \(\mathcal{I}\) is a rather good descriptor of any network \(\mathcal{N}\), the paper follows an unusual course. It is shown in Section 4 that from \(\mathcal{I}\) one can generate a series of networks \(\mathcal{N}_{1},\mathcal{N}_{2},\ldots\), each of which has the same interior \(\mathcal{I}\) and similar network properties as \(\mathcal{N}\). Section 3 develops those properties, most of which come from the network literature. A short procedure (Pseudocode II) is presented, primarily to illustrate the flexibility of a set based approach since such algorithms already exist in the literature. Section 3.3 is devoted to showing that \(\mathcal{I}\) preserves important centrality features, including both the \"center\" and \"betweeness centers\" of a network. This requires three lemmas and two propositions, which might be skipped on a first reading. Finally, in Section 4, the interior \(\mathcal{I}\) of a small network \(\mathcal{N}\) (Figure 3) is used to generate by expansion (Pseudocode III) three networks \(\mathcal{N}_{1},\mathcal{N}_{2},\mathcal{N}_{3}\) together with Table 2 comparing their properties including their principal eigenvector, with those of \(\mathcal{N}\).