node ordering utilities {bnlearn}R Documentation

Utilities dealing with partial node orderings

Description

Find the partial node ordering implied by a network or generate the blacklist implied by a complete node ordering.

Usage

node.ordering(x, debug = FALSE)
ordering2blacklist(nodes)
tiers2blacklist(tiers)

Arguments

x

an object of class bn or bn.fit.

nodes

a vector of character strings, the node ordering.

tiers

a vector of character strings or a list, see below.

debug

a boolean value. If TRUE a lot of debugging output is printed; otherwise the function is completely silent.

Details

ordering2blacklist() takes a vector of character strings (the labels of the nodes), which specifies a complete node ordering. An object of class bn or bn.fit; in that case, the node ordering is derived by the graph. In both cases, the blacklist returned by ordering2blacklist() contains all the possible arcs that violate the specified node ordering.

tiers2blacklist() takes (again) a vector of character strings (the labels of the nodes), which specifies a complete node ordering, or a list of character vectors, which specifies a partial node ordering. In the latter case, all arcs going from a node in a particular element of the list (sometimes known as tier) to a node in one of the previous elements are blacklisted. Arcs between nodes in the same element are not blacklisted.

Value

node.ordering() returns a vector of character strings, an ordered set of node labels.

ordering2blacklist() and tiers2blacklist() return a sanitized blacklist (a two-column matrix, whose columns are labeled from and to).

Note

node.ordering() and ordering2blacklist() support only completely directed Bayesian networks.

Author(s)

Marco Scutari

Examples

data(learning.test)
res = gs(learning.test)
ntests(res)
res = set.arc(res, "A", "B")
ord = node.ordering(res)
ord

## partial node ordering saves us two tests in the v-structure
## detection step of the algorithm.
ntests(gs(learning.test, blacklist = ordering2blacklist(ord)))

tiers2blacklist(list(LETTERS[1:3], LETTERS[4:6]))

[Package bnlearn version 4.5 Index]