----
> [!definition] Definition. ([[the model of Barabasi and Albert for growing undirected graphs]])
> The **model of Barabasi and Albert** for growing an undirected [[network]] with a [[power law]] [[degree distribution]] works as follows:
> 1. Nodes are created one-by-one. Each new node connects to exactly $c \in \mathbb{N}$ previously created nodes.
> 2. Each existing node $i$ receives a connection from the new node with probability proportional to that node's current [[degree]], $k_{i}$, plus a constant $a \in \mathbb{N}$ to get things started. The smallest [[degree]] in the [[network]] is $k=c$.
> [!basicproperties] Properties.
> The model generates a [[power law]] [[degree distribution]] because it is equivalent to a special case of [[Price's DAG growing model]] [[in-degree distribution of Price's model is a power law|which yields a power law in-degree distribution]] when we let $a=c$. See [[degree distribution of the model of Barabasi and Albert]]
>
To see this, suppose we give each edge in our [[network]] a direction, running from the node from which the edge was added to the previously existing node to which it connects. We have converted our [[network]] into a [[network|directed network]] in which each node $i$ has out-degree $c$ and in-degree $q_{i}$ for some $q_{i}$. Then the total degree of the node, in an undirected sense, is $k_{i}=q_{i} + c$. But given that the [[probability]] of an edge attaching to a node is proportional to $k_{i}$, it is proportional to $q_{i}$ as well — which is just [[Price's DAG growing model|Price's model]] when we choose $a=c$.
> [!basicexample]
> - (Newman 13.5) [[Barabasi-Albert variant]]
> -
----
####
----
#### References
> [!backlink]
> ```dataview
> TABLE rows.file.link as "Further Reading"
> FROM [[]]
> FLATTEN file.tags as Tag
> WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom"
> GROUP BY Tag
> ```
> [!frontlink]
> ```dataview
> TABLE rows.file.link as "Further Reading"
> FROM outgoing([[]])
> FLATTEN file.tags as Tag
> WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom"
> GROUP BY Tag
> ```