graph generation utilities {bnlearn} | R Documentation |
Generate an empty or random graph from a given set of nodes.
empty.graph(nodes, num = 1) random.graph(nodes, num = 1, method = "ordered", ..., debug = FALSE)
nodes |
a vector of character strings, the labels of the nodes. |
num |
an integer, the number of graphs to be generated. |
method |
a character string, the label of a score.
Possible values are ordered (full ordering based
generation), ic-dag (Ide's and Cozman's
Generating Multi-connected DAGs algorithm) and empty
(generates empty graphs). |
... |
additional tuning parameters (see below). |
debug |
a boolean value. If TRUE a lot of debugging output
is printed; otherwise the function is completely silent. Ignored
in some generation methods. |
Available graph generation algorithms are:
ordered
):
generates graphs whose node ordering is given by the order of
the labels in the nodes
parameter. The same algorithm
is used in the randomDAG
function in package pcalg.
ic-dag
): generates graphs with a uniform
probability distribution over the set of multiconnected
graphs.
empty
): generates graphs without
any arc.
Additional parameters for the random.graph
function are:
prob
: the probability of each arc to be present in
a graph generated by the ordered
algorithm. The default
value is 2 / (length(nodes) - 1)
, which results in a
sparse graph (the number of arcs should be of the same order
as the number of nodes).
burn.in
: the number of iterations for the ic-dag
algorithm to converge to a stationary (and uniform) probability
distribution. The default value is 6 * length(nodes)^2
.
max.degree
: the maximum degree for any node in a graph
generated by the ic-dag
algorithm. The default value is
Inf
.
max.in.degree
: the maximum in-degree for any node in
a graph generated by the ic-dag
algorithm. The default
value is Inf
.
max.out.degree
: the maximum out-degree for any node in
a graph generated by the ic-dag
algorithm. The default
value is Inf
.
Both empty.graph
and random.graph
return an
object of class bn
(if num
is equal to 1
)
or a list of objects of class bn
(otherwise).
Marco Scutari
Ide JS, Cozman FG (2002). "Random Generation of Bayesian Networks". In "SBIA '02: Proceedings of the 16th Brazilian Symposium on Artificial Intelligence", pp. 366-375. Springer-Verlag.
empty.graph(LETTERS[1:8]) # # Randomly generated Bayesian network # # model: # [A][B][C][D][E][F][G][H] # nodes: 8 # arcs: 0 # undirected arcs: 0 # directed arcs: 0 # average markov blanket size: 0.00 # average neighbourhood size: 0.00 # average branching factor: 0.00 # # generation algorithm: empty # random.graph(LETTERS[1:8]) # <insert the description of a random graph here> plot(random.graph(LETTERS[1:8], method = "ic-dag", max.in.degree = 2)) plot(random.graph(LETTERS[1:8])) plot(random.graph(LETTERS[1:8], prob = 0.2))