BarabasiAlbertGraphDistribution[n,k]
表示 n 个顶点的图的 Barabasi–Albert 图分布,其中每个步骤添加一个具有 k 条边的新顶点.
BarabasiAlbertGraphDistribution
BarabasiAlbertGraphDistribution[n,k]
表示 n 个顶点的图的 Barabasi–Albert 图分布,其中每个步骤添加一个具有 k 条边的新顶点.
更多信息
- BarabasiAlbertGraphDistribution 也称为无标度图分布(scale-free graph distribution).
- BarabasiAlbertGraphDistribution 从 CycleGraph[3] 开始构建,并且在每个步骤时,添加边数为 k 的一个顶点. k 条边随机添加到顶点上,添加方式遵循与顶点度成正比的分布.
- BarabasiAlbertGraphDistribution 可以与函数如 RandomGraph 和 GraphPropertyDistribution 一起使用.
范例
打开所有单元 关闭所有单元基本范例 (2)
范围 (3)
RandomGraph[BarabasiAlbertGraphDistribution[10, 3]]RandomGraph[BarabasiAlbertGraphDistribution[10, 3], 4]𝒟 = GraphPropertyDistribution[VertexDegree[g, 1], gBarabasiAlbertGraphDistribution[30, 4]];NProbability[x ≥ 10, x𝒟]应用 (3)
自治系统层级上的互联网可以使用 BarabasiAlbertGraphDistribution 建模:
g = ExampleData[{"NetworkGraph", "Internet"}];𝒢 = BarabasiAlbertGraphDistribution[VertexCount[g], Round[EdgeCount[g] / VertexCount[g]]]{Histogram[VertexDegree[g], {"Log", 10}, {"Log", "PDF"}], Histogram[VertexDegree[RandomGraph[𝒢]], {"Log", 10}, {"Log", "PDF"}]}N[GlobalClusteringCoefficient[RandomGraph[𝒢]]]N[GlobalClusteringCoefficient[g]]使用 Barabasi–Albert图分布作为 Western States Power Grid 网络的模型:
g = ExampleData[{"NetworkGraph", "PowerGrid"}];𝒢 = BarabasiAlbertGraphDistribution[VertexCount[g], Round[EdgeCount[g] / VertexCount[g]]]f[g_] := Map[{#[[1]], #[[2]] / VertexCount[g]}&, Tally[VertexDegree[g]]];{ListLogLogPlot[f[g]], ListLogLogPlot[f[RandomGraph[𝒢]]]}一个具有400个人和突出的核心的社交网络使用 BarabasiAlbertGraphDistribution 建模. 求核心处的人与网络中最遥远的人之间的预期节点(ties)数目:
𝒟 = GraphPropertyDistribution[VertexEccentricity[g, First[GraphHub[g]]], gBarabasiAlbertGraphDistribution[400, 3]];NExpectation[x, x𝒟]属性和关系 (5)
GraphPropertyDistribution[VertexCount[g], gBarabasiAlbertGraphDistribution[n, k]]GraphPropertyDistribution[EdgeCount[g], gBarabasiAlbertGraphDistribution[n, k]]𝒟[n_, k_] := EmpiricalDistribution[VertexDegree[RandomGraph[BarabasiAlbertGraphDistribution[n, k]]]];该分布可以使用 ZipfDistribution 近似:
ℰ = TruncatedDistribution[{5, ∞}, ZipfDistribution[2]];DiscretePlot[Evaluate[{PDF[𝒟[10 ^ 4, 6], d], PDF[ℰ, d]}], {d, 7, 25}, Joined -> True]PDF[ℰ, d]使用 RandomSample 模拟 BarabasiAlbertGraphDistribution:
barabasi[n_, k_] /; n ≤ k + 1 := CompleteGraph[n]barabasi[n_, k_] /; n > k + 1 := Module[{g = barabasi[n - 1, k]},
Graph[Join[EdgeList[g], Map[n#&, RandomSample[VertexDegree[g] -> VertexList[g], k]]]]]Table[barabasi[n, 2], {n, 4, 7}]在 BarabasiAlbertGraphDistribution[n,k] 中,有尺寸为 k+1 的最大团:
RandomGraph[BarabasiAlbertGraphDistribution[8, 3]]FindClique[%]文本
Wolfram Research (2010),BarabasiAlbertGraphDistribution,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BarabasiAlbertGraphDistribution.html.
CMS
Wolfram 语言. 2010. "BarabasiAlbertGraphDistribution." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/BarabasiAlbertGraphDistribution.html.
APA
Wolfram 语言. (2010). BarabasiAlbertGraphDistribution. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BarabasiAlbertGraphDistribution.html 年
BibTeX
@misc{reference.wolfram_2026_barabasialbertgraphdistribution, author="Wolfram Research", title="{BarabasiAlbertGraphDistribution}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/BarabasiAlbertGraphDistribution.html}", note=[Accessed: 09-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_barabasialbertgraphdistribution, organization={Wolfram Research}, title={BarabasiAlbertGraphDistribution}, year={2010}, url={https://reference.wolfram.com/language/ref/BarabasiAlbertGraphDistribution.html}, note=[Accessed: 09-September-2026]}