220 likes | 381 Views
Large Scale Network Growth Techniques. Valia Mitsou Supervisor: Prof. Abbe Mowshowitz, City College. Network growth. Two major directions of research: Describe and explain how real-world networks grow Propose a new technique for building large networks with good properties. Introduction.
E N D
Large Scale Network Growth Techniques Valia Mitsou Supervisor: Prof. Abbe Mowshowitz, City College
Network growth Two major directions of research: • Describe and explain how real-world networks grow • Propose a new technique for building large networks with good properties
Introduction • A natural way networks in the real world are built is by connecting smaller networks together to form a larger one • It is useful to study binary graph operations that can be used in this concept (two smaller graphs are combined to create a larger one).
Outline • Definitions of some basic graph operations that can be used for creating a larger network from two smaller ones. • We will examine the properties of the produced network in terms of the smaller ones. • Diameter • Vulnerability
Graph Operations • Simple Operations: The size of the resulting graph is of the order of O(n1 + n2). • Products: The size of the resulting graph is of the order of O(n1· n2).
Simple Operations • Coalescence. A coalescence of two graphs G1 and G2 is any graph obtained from the disjoint union of G1 and G2 by merging one vertex from G1 and one from G2. (Disjoint) • Union. The (disjoint) union of two graphs G1(V1,E1), G2(V2,E2) is a graph G(V,E) where V = V1U V2 and E = E1U E2. • Join. The join of two graphs G1(V1,E1), G2(V2,E2) is a graph G(V,E) where V = V1U V2 and E = E1U E2U{(x,y) | x Є V1 & y Є V2}.
Coalescence Union Join
Products 1 • Cartesian Product. The cartesian product of two graphs G1(V1,E1) and G2(V2,E2) is a graph G(V,E) with V = V1 x V2 and E = {(u1,u2)(v1,v2), where (u1 = v1 & u2v2 Є E2) or (u2 = v2 & u1v1 Є E1)}. • Composition (or Lexicographic Product). The composition of two graphs G1(V1,E1) and G2(V2,E2) is a graph G(V,E) with V = V1 x V2 and E = {(u1,u2)(v1,v2), where (u1v1 Є E1) or (u1 = v1 & u2v2 Є E2)}.
Products 2 • Tensor Product (Direct Product, Categorical Product, Cardinal Product, or Kronecker Product). The tensor product of two graphs G1(V1,E1) and G2(V2,E2) is a graph G(V,E) with V = V1 xV2 and E = {(u1,u2)(v1,v2),where u1v1 Є E1and u2v2 Є E2}. • Co-normal Product (Disjunctive Product or Or Product). The co-normal product of two graphs G1(V1,E1) and G2(V2,E2) is a graph G(V,E) with V = V1 x V2 and E = {(u1,u2)(v1,v2), where u1v1 Є E1 or u2v2 Є E2}.
Products 3 • Compounding of Graphs. Roughly speaking, compounding of two graphs G(V,E) and H is obtained by taking V copies of H, indexed by the vertices of G, and joining two copies Hu, Hvof H by a single edge whenever (u,v)Є E. • Rooted Product. A special case of compounding. The rooted product of a graph G(V,E) and a rooted graph H is defined as follows: take |V| copies of H and for every vertex viЄV identify vi with the root node of the ith copy of H.
G1 G2 Cartesian Co-normal Composition Rooted Tensor
Operation Network Size Num. of Edges Diameter Union n1 + n2 l1 + l2 Join n1 + n2 l1 + l2 + n1n2 min{2,max{d1,d2}} Coalesence n1 + n2 - 1 l1 + l2 max{d1,d2} ≤ d ≤ d1+ 2d2 Table (simple operations)
Cartesian Product Operation n1n2 Net. Size Num. of Edges n1l2 + n2l1 d1 + d2 Diameter Composition n1n2 l2n1 + l1 n22 max{d1, min{d2,2}} Tensor n1n2 2l1l2 d ≥ max{d1, d2} Co-Normal Product n1n2 min{d1, d2} Rooted Product n1n2 l1 + n1l2 d ≤ d1 + 2d2 Compounding n1n2 l1+n1l2 d ≤ (d1 + 1) d2 Table (products) n12l2 + n22 l1 –l1l2
Parameters • Knowledge of the adversary: The information an attacker has for the network. It is generally reasonable to assume no a priori knowledge of the network, however we will also examine the other case. • Power of the adversary: cost of mounting an attack. Reasonable limitations: • The attacker can undertake a small number of nodes. • The time complexity of the attack should be a relatively small function of n.
Definition of Vulnerability We say that a network is vulnerable for a specific attacker if he can address an attack that will isolate an at most logarithmic number of nodes or edges which if we remove then the network is disconnected into two pieces (not necessarily connected components) of the order of n and this procedure can be realized within at most linear time. Vulnerability can be divided into three classes: node, edge, and mixed node and edge.
Node Vulnerability A more formalized way to express node vulnerability would possibly be the minimum b-vertex separator problem: Definition: Given a graph G(V,E) and a number 0 < b ≤ ½, find a partition V into disjoint sets A, B, C such that min{A,B} ≥ b ∙ |V| and no node of A is connected to a node of B. We want to optimize the size of the separator, i.e |C|.
Results on Minimum b-Vertex Separator Problem • NP-hard. • Inapproximable within 1+ |V|1/2 – ε/OPT for any ε>0, even for graphs of maximum degree 3 (Bui and Jones) • In planar graphs, a graph separator of size O(√|V|) can be found in polynomial time (Lipton and Tarjan)
Further Research Examine the case of networks created using graph operations. Suppose that: • The adversary knows the graphs from which the network was created. • The graphs are vulnerable Can he take advantage of this information to destroy the network?
Further Research Example: For the composition product Cn x Cn 2n nodes suffice to destroy the network. However it cannot be considered as “node vulnerable” since this amount is the sqrt of the total size of the whole network.