Note

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

networkx.generators.random_graphs.random_lobster

random_lobster(n, p1, p2, seed=None)[source]

Returns a random lobster graph.

A lobster is a tree that reduces to a caterpillar when pruning all leaf nodes. A caterpillar is a tree that reduces to a path graph when pruning all leaf nodes; setting p2 to zero produces a caterpillar.

This implementation iterates on the probabilities p1 and p2 to add edges at levels 1 and 2, respectively. Graphs are therefore constructed iteratively with uniform randomness at each level rather than being selected uniformly at random from the set of all possible lobsters.

Parameters
nint

The expected number of nodes in the backbone

p1float

Probability of adding an edge to the backbone

p2float

Probability of adding an edge one level beyond backbone

seedinteger, random_state, or None (default)

Indicator of random number generation state. See Randomness.

Raises
NetworkXError

If p1 or p2 parameters are >= 1 because the while loops would never finish.