随机图中三角形数量的分布和方差


10

考虑一个Erdos-Renyi随机图G=(V(n),E(p))。该组n顶点V由标V={1,2,,n}。边缘的集合E通过随机过程构造。

p是一个概率0<p<1,则每个二元集合{i,j}顶点(ij)发生在边缘E以概率p,独立于其它对。

G中的三角形是不同顶点的无序三元组{i,j,k},因此{i,j}{j,k}{k,i}中的边G

可能的三角形最大数量为。将随机变量定义为图观察到的三角形数。(n3)XG

同时存在三个链接的概率为p3。因此,X的期望值XE(X)=(n3)p3。天真的,人们可能会猜测方差由E(X2)=(n3)p3(1p3),但事实并非如此。

下面的Mathematica代码模拟了该问题:

n=50;
p=0.6;
t=100;
myCounts=Table[Length[FindCycle[RandomGraph[BernoulliGraphDistribution[n,p]],3,All]],{tt,1,t}];
N[Mean[myCounts]] // 4216. > similar to expected mean
Binomial[n,3]p^3 // 4233.6
N[StandardDeviation[myCounts]] // 262.078 > not similar to "expected" std
Sqrt[Binomial[n,3](p^3)(1-p^3)] // 57.612
Histogram[myCounts]

X的方差是X多少?

Answers:


4

令 iff形成一个三角形。然后和每个。这就是您用来计算期望值的方法。Yijk=1{i,j,k}X=i,j,kYijkYijkBernoulli(p3)

对于方差,问题在于不是独立的。实际上,写 我们需要计算,这是两个三角形都存在的概率。有几种情况:Yijk

X2=i,j,ki,j,kYijkYijk.
E[YijkYijk]
  • 如果(相同的3个顶点),则。双和中将有这样的术语。{i,j,k}={i,j,k}E[YijkYijk]=p3(n3)
  • 如果集合和具有完全相同的2个元素,则我们需要提供5个边来获得两个三角形,这样。总和中将有。{i,j,k}{i,j,k}E[YijkYijk]=p512(n4)
  • 如果集合和共有1个元素,则我们需要存在6条边,因此。总计有这样的术语。{i,j,k}{i,j,k}E[YijkYijk]=p630(n5)
  • 如果集合和共有0个元素,那么我们需要存在6条边,因此。总和中将有这样的术语。{i,j,k}{i,j,k}E[YijkYijk]=p620(n6)

为了验证我们已经涵盖所有情况,请注意,总和为。(n3)2

(n3)+12(n4)+30(n5)+20(n6)=(n3)2

记住减去期望均值的平方,将所有这些加在一起得出:

E[X2]E[X]2=(n3)p3+12(n4)p5+30(n5)p6+20(n6)p6(n3)2p6

使用与示例相同的数值,下面的R代码计算标准偏差,该偏差与模拟中的262值相当接近。

n=50
p=0.6
sqrt(choose(n, 3)*p^3+choose(n, 2)*(n-2)*(n-3)*p^5+(choose(n, 3)*choose(n-3, 3)+n*choose(n-1, 2)*choose(n-3, 2))*p^6-4233.6^2)
298.7945

下面的Mathematica代码还计算了标准偏差,得出了相同的结果。

mySTD[n_,p_]:=Sqrt[Binomial[n,3]p^3+12Binomial[n,4]p^5+30 Binomial[n,5]p^6+20Binomial[n,6]p^6-(Binomial[n,3]p^3)^2]
mySTD[50,0.6] // gives 298.795

2
其实相当简单。做得好!我已经稍微更新了您的答案,简化了表达式并添加了Mathematica代码。我还运行了10k次仿真,并获得了295.37的std,非常接近预期值。
LBogaardt

1
感谢您的修改。我很高兴通过10k次迭代的仿真确定了答案!
罗宾·赖德

我找到了有向图的原始参考资料:Holland(1970)。一种在社会计量数据中检测结构的方法。
LBogaardt

0

我提供了一个稍微不同的方法来推导。X2

与Robin Ryder一样,区分大小写:

  • 如果即3个顶点相同,那么我们必须从n个可能的选择3个顶点。我们必须存在3条边 。组合:{i,j,k}={i,j,k}(n3)p3(n3)p3

  • 如果和有两个共同的顶点,则表示存在,反之亦然(每个三角形的一个顶点不属于另一个三角形)。Wlog想象和是提到的分离顶点,而 =, =。为了实现 =, =,我们必须从n个可能的选择相同的两个顶点。对于{i,j,k}{i,j,k}v{i,j,k}v{i,j,k}v=kv=kiijjiijj(n2)kk我们必须从剩余的顶点中再选择两个。第一个:和第二个:。因为边和是相同的,所以我们必须有5条边存在。组合:(n2)(n3){i,j}{i,j}p5(n2)(n2)(n3)p5

  • 如果和共有一个顶点,则4个不相交。想象一下,博客, =。这意味着,在n个可能的顶点中,我们必须选择1。对于三角形我们从其余选取2个顶点。对于三角形我们从其余,这是由于和。因为我们只有一个顶点,所以必须有6条边{i,j,k}{i,j,k}iin{i,j,k}(n1)(n12){i,j,k}(n3)(n32)j{i,j,k}k{i,j,k}p6。组合:n(n12)(n32)p6

  • 对于最后一种情况:如果和没有共同的顶点,则这两个三角形是不相交的。我们从n个可能的选出第一个三角形,即3个顶点。第二个三角形是剩余的 3个顶点。三角形是不相交的,即它们不共享边和顶点,因此必须存在6个边。组合:{i,j,k}{i,j,k}(n3)(n3)(n33)p6(n3)(n33)p6

就像罗宾·赖德(Robin Ryder)的方法一样,我们还可以验证:

(n3)+(n2)(n2)(n3)+n(n12)(n32)+(n3)(n33)=(n3)2成立。

这导致:

Var[X]=E[X2]E[X]2=(n3)p3+(n2)(n2)(n3)p5+n(n12)(n32)p6+(n3)(n33)p6(n3)2p6.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.