Note

This documents the development version of NetworkX. Documentation for the current release can be found here.

networkx.generators.community.connected_caveman_graph

connected_caveman_graph(l, k)[source]

Returns a connected caveman graph of l cliques of size k.

The connected caveman graph is formed by creating n cliques of size k, then a single edge in each clique is rewired to a node in an adjacent clique.

Parameters
lint

number of cliques

kint

size of cliques (k at least 2 or NetworkXError is raised)

Returns
GNetworkX Graph

connected caveman graph

Raises
NetworkXError

If the size of cliques k is smaller than 2.

Notes

This returns an undirected graph, it can be converted to a directed graph using nx.to_directed(), or a multigraph using nx.MultiGraph(nx.caveman_graph(l, k)). Only the undirected version is described in [1] and it is unclear which of the directed generalizations is most useful.

References

1

Watts, D. J. ‘Networks, Dynamics, and the Small-World Phenomenon.’ Amer. J. Soc. 105, 493-527, 1999.

Examples

>>> G = nx.connected_caveman_graph(3, 3)