94 ADVANCED TECHNIQUES USING COALESCENCE
5.5 Clan of ancestors
So far the running time for generating samples has been nearly linear in the number
of nodes in the sample, O(#V ln(#V )). In this section it is shown that by restricting
carefully the nodes that are considered in an update, this can be reduced to time linear
in the number of nodes.
The idea is as follows. Consider th e finitary coding of H¨aggstr¨om and Steif [45],
and think about what the value of a specific node v at time 0 is. To learn about the
value of the node, it is necessary to go back in time until the last time that the node
was updated.
At this time in the past, there is a
γ
chance that the value of v does not depend
in any way on the values of the neighbors. On the other hand, if a U is drawn for
v at this point that indicates that the values of the neighbors are important, then the
neighbors of v need to be added to the clan of ancestors of v.
Each of these neighbors, then, n eeds its value to be determined, which can be
done recursively. Some of these neighbors might have had U ≤
γ
when it was up-
dated, or their neighbors might go on the list to be determined.
The result is similar to a branching process, and certainly has a tree structure.
It is not exactly a branching process b ecau se of the lack of independence between
“children.” However, ideas from branching processes can be used to bound the over-
all size of the cluster. Because the nodes of the cluster are present f or the birth of
later nodes, call these nodes the clan of ancestors of the original node.
Lemma 5.4. Suppose
γ
> (Δ −1)/Δ. Then the expected size in the clan of ancestors
of v (including v) is at most (1 −Δ(1 −
γ
))
−1
.
Proof. Let C
0
= {v}, C
1
denote the first generation of ancestors, C
2
the second, and
so on. Then the expected number of nodes in generation i + 1isatmostΔ(1 −
γ
)
times the expected number of nodes in generation i, since each node in i has only a
1 −
γ
chance of adding at most Δ nodes to the next generation.
Hence E[#C
i+1
|#C
i
] ≤ Δ(1 −
γ
)C
i
, and taking the expected value of both sides
gives E[#C
i+1
] ≤ Δ(1 −
γ
)E[C
i
]. An easy induction proof then gives E[#C
i
] ≤
[(Δ)(1 −
γ
)]
i
, and so the expected size of the clan o f ancestor is at most
E[#C
0
+ #C
1
+ ···] ≤
∞
∑
i=0
[(Δ)(1 −
γ
)]
i
=
1
1 −Δ(1 −
γ
)
.
Fact 5.2. The expected time to use the clan of ancestors method to find the values on
a fi nite window is #W (1 −Δ(1 −
γ
))
−1
.
Proof. The resolution of each clan of ancestors gives the value of exactly one node.
Since each clan of ancestors has a constant (in expectation) number of nodes, the
overall algorithm to find the values of a finite window W is just #W times the bound
from the last fact on the expected size of the clan of ancestors.