Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/transitive.reduction.R
transitive.reduction
removes direct edges, which can be explained by another path in the graph. Regulation directions inferred via infer.edge.type
are taken into account.
1 |
g |
adjacency matrix |
transitive.reduction
uses a modification of the classical algorithm from the Sedgewick book for computing transitive closures. The so-called "transitive reduction" is neither necessarily unique (only for DAGs) nor minimal in the number of edges (this could be improved).
returns an adjacency matrix with shortcuts removed
Holger Froehlich
R. Sedgewick, Algorithms, Pearson, 2002.
transitive.closure
, infer.edge.type
1 2 3 4 5 6 7 8 9 10 | V <- LETTERS[1:3]
edL <- list(A=list(edges=c("B","C")),B=list(edges="C"),C=list(edges=NULL))
gc <- new("graphNEL",nodes=V,edgeL=edL,edgemode="directed")
g <- transitive.reduction(gc)
if(require(Rgraphviz)){
par(mfrow=c(1,2))
plot(gc,main="shortcut A->C")
plot(as(g,"graphNEL"),main="shortcut removed")
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.