08.10.2016 Views

Foundations of Data Science

2dLYwbK

2dLYwbK

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.9 Growth Models<br />

4.9.1 Growth Model Without Preferential Attachment<br />

Many graphs that arise in the outside world started as small graphs that grew over<br />

time. In a model for such graphs, vertices and edges are added to the graph over time.<br />

In such a model there are many ways in which to select the vertices for attaching a<br />

new edge. One is to select two vertices uniformly at random from the set <strong>of</strong> existing<br />

vertices. Another is to select two vertices with probability proportional to their degree.<br />

This latter method is referred to as preferential attachment. A variant <strong>of</strong> this method<br />

would be to add a new vertex at each unit <strong>of</strong> time and with probability δ add an edge<br />

where one end <strong>of</strong> the edge is the new vertex and the other end is a vertex selected with<br />

probability proportional to its degree. The graph generated by this latter method is a tree.<br />

Consider a growth model for a random graph without preferential attachment. Start<br />

with zero vertices at time zero. At each unit <strong>of</strong> time a new vertex is created and with<br />

probability δ, two vertices chosen at random are joined by an edge. The two vertices<br />

may already have an edge between them. In this case, we will add another edge. So, the<br />

resulting structure is a multi-graph, rather then a graph. But since at time t, there are t<br />

vertices and in expectation only O(δt) edges where there are t 2 pairs <strong>of</strong> vertices, it is very<br />

unlikely that there will be many multiple edges.<br />

The degree distribution for this growth model is calculated as follows. The number <strong>of</strong><br />

vertices <strong>of</strong> degree k at time t is a random variable. Let d k (t) be the expectation <strong>of</strong> the<br />

number <strong>of</strong> vertices <strong>of</strong> degree k at time t. The number <strong>of</strong> isolated vertices increases by one<br />

at each unit <strong>of</strong> time and decreases by the number <strong>of</strong> isolated vertices, b(t), that are picked<br />

to be end points <strong>of</strong> the new edge. b(t) can take on values 0,1, or 2. Taking expectations,<br />

d 0 (t + 1) = d 0 (t) + 1 − E(b(t)).<br />

Now b(t) is the sum <strong>of</strong> two 0-1 valued random variables whose values are the number<br />

<strong>of</strong> degree zero vertices picked for each end point <strong>of</strong> the new edge. Even though the<br />

two random variables are not independent, the expectation <strong>of</strong> b(t) is the sum <strong>of</strong> the<br />

expectations <strong>of</strong> the two variables and is 2δ d 0(t)<br />

. Thus,<br />

t<br />

d 0 (t + 1) = d 0 (t) + 1 − 2δ d 0(t)<br />

.<br />

t<br />

The number <strong>of</strong> degree k vertices increases whenever a new edge is added to a degree k − 1<br />

vertex and decreases when a new edge is added to a degree k vertex. Reasoning as above,<br />

d k (t + 1) = d k (t) + 2δ d k−1(t)<br />

t<br />

− 2δ d k(t)<br />

. (4.4)<br />

t<br />

Note that this formula, as others in this section, is not quite precise. For example, the<br />

same vertex may be picked twice, so that the new edge is a self-loop. For k

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!