Skip to contents

sample_tree() generates a random with a given number of nodes uniform at random from the set of labelled trees.

Usage

sample_tree(n, directed = FALSE, method = c("lerw", "prufer"))

Arguments

n

The number of nodes in the tree

directed

Whether to create a directed tree. The edges of the tree are oriented away from the root.

method

The algorithm to use to generate the tree. ‘prufer’ samples Prüfer sequences uniformly and then converts the sampled sequence to a tree. ‘lerw’ performs a loop-erased random walk on the complete graph to uniformly sampleits spanning trees. (This is also known as Wilson's algorithm). The default is ‘lerw’. Note that the method based on Prüfer sequences does not support directed trees at the moment.

Value

A graph object.

Details

In other words, the function generates each possible labelled tree with the given number of nodes with the same probability.

Examples


g <- sample_tree(100, method = "lerw")