# estimate_betweenness

##### Vertex and edge betweenness centrality

The vertex and edge betweenness are (roughly) defined by the number of geodesics (shortest paths) going through a vertex or an edge.

- Keywords
- graphs

##### Usage

```
estimate_betweenness(graph, vids = V(graph), directed = TRUE, cutoff,
weights = NULL, nobigint = TRUE)
```betweenness(graph, v = V(graph), directed = TRUE, weights = NULL,
nobigint = TRUE, normalized = FALSE)

edge_betweenness(graph, e = E(graph), directed = TRUE, weights = NULL)

##### Arguments

- graph
The graph to analyze.

- vids
The vertices for which the vertex betweenness estimation will be calculated.

- directed
Logical, whether directed paths should be considered while determining the shortest paths.

- cutoff
The maximum path length to consider when calculating the betweenness. If zero or negative then there is no such limit.

- weights
Optional positive weight vector for calculating weighted betweenness. If the graph has a

`weight`

edge attribute, then this is used by default. Weights are used to calculate weighted shortest paths, so they are interpreted as distances.- nobigint
Logical scalar, whether to use big integers during the calculation. This is only required for lattice-like graphs that have very many shortest paths between a pair of vertices. If

`TRUE`

(the default), then big integers are not used.- v
The vertices for which the vertex betweenness will be calculated.

- normalized
Logical scalar, whether to normalize the betweenness scores. If

`TRUE`

, then the results are normalized according to $$B^n=\frac{2B}{n^2-3n+2}$$, where \(B^n\) is the normalized, \(B\) the raw betweenness, and \(n\) is the number of vertices in the graph.- e
The edges for which the edge betweenness will be calculated.

##### Details

The vertex betweenness of vertex \(v\) is defined by

$$\sum_{i\ne j, i\ne v, j\ne v} g_{ivj}/g_{ij}$$

The edge betweenness of edge \(e\) is defined by

$$\sum_{i\ne j} g{iej}/g_{ij}.$$

`betweenness`

calculates vertex betweenness, `edge_betweenness`

calculates edge betweenness.

`estimate_betweenness`

only considers paths of length `cutoff`

or
smaller, this can be run for larger graphs, as the running time is not
quadratic (if `cutoff`

is small). If `cutoff`

is zero or negative
then the function calculates the exact betweenness scores.

`estimate_edge_betweenness`

is similar, but for edges.

For calculating the betweenness a similar algorithm to the one proposed by Brandes (see References) is used.

##### Value

A numeric vector with the betweenness score for each vertex in
`v`

for `betweenness`

.

A numeric vector with the edge betweenness score for each edge in `e`

for `edge_betweenness`

.

`estimate_betweenness`

returns the estimated betweenness scores for
vertices in `vids`

, `estimate_edge_betweenness`

the estimated edge
betweenness score for *all* edges; both in a numeric vector.

##### Note

`edge_betweenness`

might give false values for graphs with
multiple edges.

##### References

Freeman, L.C. (1979). Centrality in Social Networks I:
Conceptual Clarification. *Social Networks*, 1, 215-239.

Ulrik Brandes, A Faster Algorithm for Betweenness Centrality. *Journal
of Mathematical Sociology* 25(2):163-177, 2001.

##### See Also

##### Examples

`library(igraph)`

```
# NOT RUN {
g <- sample_gnp(10, 3/10)
betweenness(g)
edge_betweenness(g)
# }
```

*Documentation reproduced from package igraph, version 1.1.2, License: GPL (>= 2)*