PriceGraphDistribution[n,k,a]
represents a de Solla Price graph distribution for n-vertex graphs where a new vertex with k edges is added at each step, using attractiveness parameter a.
PriceGraphDistribution
PriceGraphDistribution[n,k,a]
represents a de Solla Price graph distribution for n-vertex graphs where a new vertex with k edges is added at each step, using attractiveness parameter a.
Details and Options
- The PriceGraphDistribution is constructed starting from a graph with a single vertex and at each step adding a vertex with k edges. The k edges are attached to vertices at random with weights qi+a, where qi is the in-degree of vertex i.
- PriceGraphDistribution can be used with such functions as RandomGraph and GraphPropertyDistribution.
Examples
open all close allBasic Examples (2)
Generate a pseudorandom graph:
RandomGraph[PriceGraphDistribution[30, 2, 1]]RandomGraph[PriceGraphDistribution[10 ^ 5, 2, 2]];EmpiricalDistribution[VertexInDegree[%]]DiscretePlot[PDF[%, k], {k, 10, 30}, PlotRange -> All]Scope (4)
Generate simple directed graphs:
RandomGraph[PriceGraphDistribution[7, 3, 1.5]]RandomGraph[PriceGraphDistribution[7, 3, 1.5, DirectedEdges -> False]]Generate a set of pseudorandom graphs:
RandomGraph[PriceGraphDistribution[10, 3, 1.5], 4]Compute probabilities and statistical properties:
𝒟 = GraphPropertyDistribution[Median[VertexInDegree[g]], gPriceGraphDistribution[30, 4, 2]];NExpectation[x - 4, x𝒟]Options (2)
DirectedEdges (2)
By default, the Price graph is a directed graph:
RandomGraph[PriceGraphDistribution[5, 2, 1.5]]DirectedGraphQ[%]With the setting DirectedEdges->False, undirected Price graphs are generated:
RandomGraph[PriceGraphDistribution[5, 2, 1.5, DirectedEdges -> False]]DirectedGraphQ[%]Applications (2)
A citation network can be modeled with PriceGraphDistribution:
g = ExampleData[{"NetworkGraph", "HighEnergyPhysicsTheory"}];𝒢 = PriceGraphDistribution[VertexCount[g], Round[EdgeCount[g] / VertexCount[g]], 10]The model captures the power law nature of the empirical in-degree distribution:
{Histogram[VertexInDegree[g], {"Log", 10}, {"Log", "PDF"}], Histogram[VertexInDegree[RandomGraph[𝒢]], {"Log", 10}, {"Log", "PDF"}]}Use the undirected Price graph distribution as a model of the Western States Power Grid network:
g = ExampleData[{"NetworkGraph", "PowerGrid"}];𝒢 = PriceGraphDistribution[VertexCount[g], Round[EdgeCount[g] / VertexCount[g]], 3.0, DirectedEdges -> False]The model captures the power law nature of the empirical degree distribution:
f[g_] := Map[{#[[1]], #[[2]] / VertexCount[g]}&, Tally[VertexDegree[g]]]{ListLogLogPlot[f[g]], ListLogLogPlot[f[RandomGraph[𝒢]]]}Properties & Relations (4)
Distribution of the number of vertices:
𝒟[n_, k_, a_] = GraphPropertyDistribution[VertexCount[g], gPriceGraphDistribution[n, k, a]]Distribution of the number of edges:
𝒟[n_, k_, a_] = GraphPropertyDistribution[EdgeCount[g], gPriceGraphDistribution[n, k, a]]𝒟[n_, k_, a_] := HistogramDistribution[VertexInDegree[RandomGraph[PriceGraphDistribution[n, k, a]]], {-1 / 2, n, 5}];The distribution can be approximated by ZipfDistribution:
ℰ = ZipfDistribution[1.1];DiscretePlot[Evaluate[{PDF[𝒟[10 ^ 4, 3, 1.5], d], PDF[ℰ, d]}], {d, 20, 100}, Joined -> True]The degree distribution follows a power-law:
PDF[ℰ, d]Use RandomSample to simulate PriceGraphDistribution:
price[n_, k_, a_] /; n ≤ k + 1 := Graph[Join@@Table[st, {s, n}, {t, 1, s - 1}]]price[n_, k_, a_] /; n > k + 1 := Module[{g = price[n - 1, k, a]},
Graph[Join[EdgeList[g], Map[n#&, RandomSample[(VertexInDegree[g] + a) -> VertexList[g], k]]]]]Table[price[6, 2, 1], {4}]Related Guides
History
Text
Wolfram Research (2010), PriceGraphDistribution, Wolfram Language function, https://reference.wolfram.com/language/ref/PriceGraphDistribution.html.
CMS
Wolfram Language. 2010. "PriceGraphDistribution." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/PriceGraphDistribution.html.
APA
Wolfram Language. (2010). PriceGraphDistribution. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PriceGraphDistribution.html
BibTeX
@misc{reference.wolfram_2026_pricegraphdistribution, author="Wolfram Research", title="{PriceGraphDistribution}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/PriceGraphDistribution.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_pricegraphdistribution, organization={Wolfram Research}, title={PriceGraphDistribution}, year={2010}, url={https://reference.wolfram.com/language/ref/PriceGraphDistribution.html}, note=[Accessed: 12-June-2026]}