Reproducing Graphs Chris Cannings & Richard Southwell

advertisement
Reproducing Graphs
Chris Cannings
&
Richard Southwell
Gene Networks
Genealogies
Biological/Social Networks
• Individuals <-> Vertices, Nodes
• Relationships <-> Edges
Graph
• A graph G=(V,E) consists of a set
V={1,2,…n} of vertices (nodes, points,
individuals) and a set E={(i,j), i,j ε V} of
edges (joins, lines, relationships).
• We deal here only with simple, undirected
graphs i.e. there are no self-edges (i,i), no
multiple edges, and edges have no
direction i.e. (i,j)=(j,i).
Reproducing Graphs
• We investigate a class of models in which
graphs reproduce, corresponding to a
growing social/relationship network. We
concentrate here initially on models
without mortality, then make a few
comments on age-specific-mortality. We
have also studied models in which vertices
are eliminated according to degree and/or
payoff in a game against neighbours.
Graph Products
• Given two graphs G1=(V,E) and G2=(W,F)
then a graph product
G12 = G1 X G2 =(X,H) has X=V*W where
* is the Cartesian product (i.e. X is the set
of ordered pairs (v,w) where v ε V and
w ε W). H depends on the particular
product; there will be a rule which
specifies which (v1,w1) and (v2,w2) join.
Cartesian Product
• V=(v1,v2,…..,vm) and W=(w1,w2,……,wn)
J={((vi,wj),(vk,wl))|  definition)
• Cartesian product [vi=vk & (wj,wl) ε F] OR
[(vi,vk) ε E & wj=wl]

=
Kronecker Product
• V=(v1,v2,…..,vm) and W=(w1,w2,……,wn)
J={((vi,wj),(vk,wl))|  definition)
• Tensor (Knonecker) product
[(vi,vk) ε E & (wj,wl) ε F]
Associative
• Adjacency matrix of GθH is direct product of the
adjacency matrices of G and H.

=
Kronecker..Example
b
2
1
X
3
(i,α) linked to (j,β)
if, and only if
(i,j)εV and (α,β)εW
(1,a)
c
a
(2,b)
(1,c)
(3,a)
(1,b)
(2,a)
(2,c)
(3,b)
(3,c)
Our Models
• In our model we suppose there exists
some graph at time t and this leads to
another at time t+1.
• Each vertex at time t survives and gives
rise to a new offspring vertex.
• Each edge at t survives.
• Some subset of the possible edges
between the “new” and “old” vertices are
added.
Gt+1=Fi(Gt)
• Formally we have that Gt+1 is a function of
Gt, where Gt ε G the set of all simple
graphs.
• The index i on Fi specifies which member
of our family of models is being applied.
Our Models
• Given a network Gt=(Vt,Et) we generate
Gt+1=(Vt+1,Et+1) in the following way:Each edge (u,v) is replaced by
u1
u0
Always
α
β
γ
v1
v0
Where u1 is just u again while u0 may be regarded as an offspring of u
Our Models
• We fix the presence
or absence of the
edges labelled α, β
and  (indicated by 0
and 1).
β
u1
u0

α

v1
β
v0
α
0
0
0
1
0
1
1
1
β
0
0
1
0
1
0
1
1

0
1
0
0
1
1
0
1
Model
0*
1
2
4*
3
5
6
7*
Our Models
u1
u0
u1
v1
v0
v1
1
u1
u0
v1
v0 u1
6
u0
3
u1
v1
u0
2
v0
v1
v0
u0
5
v0
Our Models
u
u1
w
w1
v
v1
u0
w0
v0
Merger of Two Graphs
G
J
H
Fundamental Theorem
Theorem
• Thus we may investigate Fit(Z) where
Z=(V={0,1},E={(0,1)} is the single edge
graph.
• Then apply to any G0
Our Models
u1
u0
u1
v1
v0
v1
1
u1
u0
v1
v0 u1
6
u0
3
u1
v1
u0
2
v0
v1
v0
u0
5
v0
Our Models
•
•
•
•
•
0,1,4 & 5 are Kronecker products
6
is Cartesian
2
is Comb
7
is Strong
3
is Non-standard
Model 1
G 1
u1
u0
v1
v0
where
1
is the Kronecker product
Model 5
u1
u0
v1
v0
where
1
G 1
Is the Kronecker product
The “Knonecker” Models
• Since the adjacency matrix of the
Knonecker product of two graphs is the
Knonecker product of the adjacency
matrices we can exploit this for models
0,1,4 & 5
The “Knonecker” Models
• The adjacency matrices for the four models
0,1,4,5 are respectively. Only that for model 1 is
interesting which is essentially the bitwise AND.
0 0


0 1
 0 1


 1 1
1 0


0 1
1 1


1 1
Model 3
u1
u0
v1
v0
Not a standard graph product
Model 6
u1
u0
v1
v0
where
3
G 3
is the Cartesian product
Model 6
u1
v1
1-cube
u0
v0
Model 6
u1
v1
2-cube
u0
v0
Model 6
u1
v1
3-cube
u0
v0
Model 6
u1
v1
4-cube
u0
v0
Model 2
u1
u0
v1
v0
G 5
5
where
5
Is the “Comb” product
Model 2
u1
v1
0
u0
5
v0
1
Model 2
u1
v1
0
2
u0
5
v0
1
2
Model 2
u1
v1
u0
5
v0
3
3
0
2
3
1
2
3
u1
Model 2
4
v1
u0
5
4
3
v0
4
4
3
0
1
2
3
4
2
4
4
3
4
N.B…..Binary Representation
• If at time t we have a set of nodes {v1,v2,….,vn}
where each vi is a binary string then at time t+1
we have set of nodes
{v11,v10,v21,v20,……..,vn1,vn0}
where vi becomes vi1 and is the parent of a new
node vi0.
• All our models can be specified in terms of the
nodes as binary strings and logical operations
defining the edges.
Binary Representation
• Model 1. Kronecker product of
n
1
=
G[V={x in {0,1}n},E={(x,y) s.t. (xi,yi) n.e. (0,0)}
0
Properties
• 1. Chromatic Number
• 2. Number of Vertices
and Edges
• 3. Distance Structure
• 4. Degree Distribution
• 5. Automorphism
• 6. Generating all
graphs as subgraphs.
 (G )
Chromatic number
0
4
1
5
Invariant
2
3
Goes up by 1
6
7
Goes up but doesn’t
more than double
u1
v1
Model
7
u
0
v0
 (Gt )  1   (Gt 1 )  2  (Gt )
Since model 7 “contains” model 6
Equality achieved by complete graph
Number of Vertices & Edges
• No of nodes Vt doubles
• No of edges Et
so
 Et 1  1    2

  
0
 Vt 1  
  Et 
 
2  Vt 
t E0   V0 (t  2t ) /(   2)
where  (1    2 )
and (  ,  )  (0,3), (1,3), (1,2), (0,4)
Et 
for Models 1,2,3,4,5. For model 3 second term is linear.
The Distance Structure
• Denote distance (shortest path) between vertices
u and v by d(u,v),the diameter (max distance) by
D(G), and the number of pairs of vertices with
distance x as Nt(x).
• We demonstrate our methods wrt Model 2.
• If u in Vt then u0 and u1 are the resulting offspring
and parent vertices.
The Distance Structure Model 2
u
•u
u & v in Vt and d(u,v)=d then
•
d(u0,u1)=1, d(u0,v0)=d+2,
v
v
2
•
d(u0,v1)=d(u1,v0)=d+1,
•
d(u1,v1)=d.
• We can then derive
Nt+1(0)=2Nt(0); Nt+1(1)=Nt(0)+Nt(1);
Nt+1(2)=2Nt(1)+Nt(2) &
Nt+1(k)=Nt(k-2)+2Nt(k-1)+Nt(k) for k>2
1
0
1
0
The Distance Structure Model 2
• We have also number of distances
Lt =4t(V0)2+2tV0 and the total distance
Lt*=4tL0*+22t-1(N0(0))2-(22t-1-2t-1)N0(0)
• From this we derive an expression for the
average distance dt=Lt*/Lt->c+t for large t which
we can also obtain more directly by considering
a random pair of vertices at time t+1 in terms of
those at t. In fact we can also show that
asymptotically the variance of the average
distance is f(G0)+3t/2.
Degree Distribution *,1 & 5
• Adjacency matrix of G  H is Kronecker
product of the adjacency matrices of G and H.
i.e. here
0

1

1  1

,

0 
1
0
1
1

&

1
0

1
1

1

5
so degrees are direct products of
1,1, 2,1 & 2,2
giving 2t 1’s, tCi 2i’s and 2t 2t ‘s respectively.
Degree Distribution Model 6
• Starting from a single edge we have just a
hypercube at time t so all nodes of degree
2t
u1
u0
v1
v0
Degree “Dist” Model 3
• A node u of degree d gives rise to an
offspring u0 of degree (x+1) and a survivor
u1 of degree (2x+1). Thus
(1) >(2,3)->(3,4,5,7)->(4,5,6,7,8,9,11,15)->
(5,6,7,8,9,9,10,11,12,13,15,16,17,19,23,31
) totals 1,5,19,65,211,……,3n-2n,….
u1
u0
v1
v0
Degree Distribution Model 3
(1) After 18 updates,
nodes of degree <500
frequency
degree
(1) after 18 updates, nodes of degree < 5,000
Age Culling
• Suppose now that we associate with each
node an index which we regard as its age.
• If at time t node u in V is age s then at time
t+1 u1 is of age s+1 and u0 is of age 0.
• We suppose that after reproduction a node
of age Q+1 dies (i.e. is deleted from the
graph)
Model 6 Age Culled
u1
u0
v1
Grows as hypercube with pure reproduction
v0
Model 6 with age-cap=1 u1
u0
v0
v1
Ages
0
1
Model 6 with age-cap=1 u1
u0
v0
v1
Ages
1
2
Model 6 age-cap = 1 u1
u0
v0
v1
0
0
1
2
Model 3 age-cap=1 u1
u0
v0
v1
0
0
1
2
Model 6 age-cap=1
u1
u0
v0
v1
0
0
1
2
Model 6 age-cap=1u1
u0
v0
v1
0
0
1
Mother-Daughter with age cap 1
1
1
2
Model 6 age-cap=1u1
u0
v0
v1
1
1
2
0
0
0
u1
Model 6 age-cap=1
u0
v0
v1
1
1
2
0
0
0
u1
Model 6 age-cap=1
u0
v0
v1
1
1
2
0
0
0
u1
Model 6 age-cap=1
u0
v0
v1
1
1
0
0
0
u1
Model 6 age-cap=1
u0
v0
v1
2
2
1
1
1
Model 6 age-cap=1u1
u0
0
0
v0
v1
2
2
0
0
1
1
1
0
Model 6 age-cap=1 u1
u0
0
0
v0
v1
2
2
0
0
1
1
1
0
Model 6 age-cap=1 u1
u0
0
0
v0
v1
2
2
0
0
1
1
1
0
u1
Model 6 age-cap=1
u0
0
0
v0
v1
0
0
1
1
1
0
Model 2
• This is the easiest case to treat since the
graph grows trees on each original
individual. Here we can start with a single
node
Model 2
• Now when we cull at any given age Q+1
we obtain copies of all the trees “of ages”
0,1,2,3,……,Q
• If there are nit trees of age i at time t then
we get ni,t+1=ni-1,t + nQ,t i=1,2,…Q
so we have nt+1= Ant where nt is the
column vector of the ni,t’s.
Model 2 age-cap=2
u1
v1
0
u0
5
v0
Model 2 age-cap=2
u1
v1
1
u0
5
v0
Model 2 age-cap=2
u1
v1
1
u0
5
v0
0
Model 2 age-cap=2
u1
v1
1
u0
5
v0
0
Model 2 age-cap=2
u1
v1
2
u0
5
v0
1
Model 2 age-cap=2
u1
v1
2
0
u0
5
v0
1
0
Model 2 age-cap=2
u1
v1
2
0
u0
5
v0
1
0
Model 2 age-cap=2
u1
v1
3
1
u0
5
v0
2
1
Model 2 age-cap=2
u1
v1
u0
5
v0
0
0
3
1
0
2
1
0
Model 2 age-cap=2
u1
v1
u0
5
v0
0
0
3
1
0
2
1
0
Model 2 age-cap=2
u1
v1
u0
5
v0
0
0
3
1
0
2
1
0
Model 2 age-cap=2
u1
v1
u0
5
v0
0
0
2
1
0
1
0
Model 2 age-cap=2
u1
v1
u0
5
v0
1
1
3
2
1
2
1
Model 2 age-cap=2
u1
v1
0
u0
5
v0
0
0
1
1
3
2
1
0
2
0
0
1
0
Model 2 age-cap=2
u1
v1
0
u0
5
v0
0
0
1
1
3
2
1
0
2
0
0
1
0
Model 2 age-cap=2
u1
v1
0
u0
5
v0
0
0
1
1
3
2
1
0
2
0
0
1
0
Model 2 age-cap=2
u1
v1
0
u0
5
v0
0
0
1
1
2
1
0
2
0
0
1
0
Tree “Dist” Model 2 age-cap=3
• The matrix A is similar to a Leslie matrix L with
guaranteed survival except that ai,j=lQ-i,Q-2i+j
e.g. {rate λ max root of λ4= λ3 + λ2 + λ +1, λ(4)}
0

1
A
0

0

0 0 1

0 0 1
1 0 1

0 1 1
1

1
L
0

0

1 1 1

0 0 0
1 0 0

0 1 0 
Leslie Matrix
 b0

 s01













b1
b2
... ... ... ...
bn  2
bn 1
s12
s23
other elements all 0
...
...
...
...
s( n  2)( n 1)
s( n 1) n
bn 















Distribution of age(i,j) edges
• It is convenient to introduce a direction
i
j
i+1
j+1
0
0
Distribution of age(i,j) edges
t 1














 e00   
  
0
0   0
0
0   0
0
0   0
0
 e01      0
e   0    0
0
0   0
0
0   0
0
0   0
 02  
0   0
0
0   0
0
0   0
0
0  
 e03   0
e  
0
0
0
0
0
0
0
0
0
0
 10               0
 e11   1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
  
1
0
0
0
0
0
0
0
0
0
0
0
0
0
 e12   0
 e13   0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
  
0
0
0         0
0
0
0
0
0
0
 e20   0
e   0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
 21  
0
0
0
0
1
0
0
0
0
0
0
0
0
0
 e22   0
e   0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
 23  
 e30   0
0
0
0
0
0
0
0         0
0
0
  
0
0
0
0
0
0
0
1
0
0
0
0
0
0
 e31   0
 e32   0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
  
0
0
0
0
0
0
0
0
1
0
0
0
0
 e33   0
   e00 
  
0   e01 
0   e02 
  
0   e03 
 
0   e10 
0   e11 
  
0   e12 
0   e13 
 
0   e20 
0   e21 
  
0   e22 
0   e23 

0   e30 
  
0   e31 
0   e32 
  
0   e33 
t
Distribution of age(i,j) edges
• et+1=Let where
 

 
A
0

 0

A

B
L
0

0



0
 
0
0
0
 


0
0

0 
A
0
B
A
0
0
0
B
A

0
0

0

        


0
0
0 
 1
B
0
1
0
0 


 0
0
1
0 

Distribution of age(i,j) edges
• We can prove that the system is
irreducible (though if α=0 need to refine
the state space to exclude (i,i) states).
• Essentially a generalisation of the Lesley
matrix notion.
• Eigenvalues related to generalisations of
the “golden ratio” (tribonacci, etc.)
Example. Model 1, cull at age 3
• Offspring joined to neighbours of parents.
•
• Next slide shows progress through time
omitting isolated vertices.
Degree cap = 6
1
1
1
1
3
1
1
1
1
6
References
• Southwell & Cannings, Some models of
graph reproduction;
1 Pure Reproduction. (to appear) AM.
2 Age Capped Vertices (to appear) AM
3 Game Based Reproduction (to appear)
AM
• Jordan & Southwell. Further properties of
reproducing graphs (to appear) AM
• AM http://www.scirp.org/journal/am/
Applied Mathematics
•
Editor in Chief ….CC
Editorial Board includes
Mark Broom
David Greenhalgh
http://www.scirp.org/journal/am/
Other Results
• For age-culled,
degree distribution
diameter
average distance
Further Work
• 1) Culling by degree
• 2) Stochastic/non-synchronous
• 3) Conflict with neighbours to determine
survivor &/or reproduction
Download