Skip to contents

The edge connectivity of a graph or two vertices, this is recently also called group adhesion.

Usage

edge_connectivity(graph, source = NULL, target = NULL, checks = TRUE)

edge_disjoint_paths(graph, source, target)

adhesion(graph, checks = TRUE)

Arguments

graph

The input graph.

source

The id of the source vertex, for edge_connectivity() it can be NULL, see details below.

target

The id of the target vertex, for edge_connectivity() it can be NULL, see details below.

checks

Logical constant. Whether to check that the graph is connected and also the degree of the vertices. If the graph is not (strongly) connected then the connectivity is obviously zero. Otherwise if the minimum degree is one then the edge connectivity is also one. It is a good idea to perform these checks, as they can be done quickly compared to the connectivity calculation itself. They were suggested by Peter McMahan, thanks Peter.

Value

A scalar real value.

Details

The edge connectivity of a pair of vertices (source and target) is the minimum number of edges needed to remove to eliminate all (directed) paths from source to target. edge_connectivity() calculates this quantity if both the source and target arguments are given (and not NULL).

The edge connectivity of a graph is the minimum of the edge connectivity of every (ordered) pair of vertices in the graph. edge_connectivity() calculates this quantity if neither the source nor the target arguments are given (i.e. they are both NULL).

A set of edge disjoint paths between two vertices is a set of paths between them containing no common edges. The maximum number of edge disjoint paths between two vertices is the same as their edge connectivity.

The adhesion of a graph is the minimum number of edges needed to remove to obtain a graph which is not strongly connected. This is the same as the edge connectivity of the graph.

The three functions documented on this page calculate similar properties, more precisely the most general is edge_connectivity(), the others are included only for having more descriptive function names.

References

Douglas R. White and Frank Harary: The cohesiveness of blocks in social networks: node connectivity and conditional density, TODO: citation

Author

Gabor Csardi csardi.gabor@gmail.com

Examples


g <- sample_pa(100, m = 1)
g2 <- sample_pa(100, m = 5)
edge_connectivity(g, 100, 1)
#> [1] 1
edge_connectivity(g2, 100, 1)
#> [1] 5
edge_disjoint_paths(g2, 100, 1)
#> [1] 5

g <- sample_gnp(50, 5 / 50)
g <- as.directed(g)
g <- induced_subgraph(g, subcomponent(g, 1))
adhesion(g)
#> [1] 1