Separates the network into a series of bi-connected components that can be solved separately. Solving smaller subgraphs using the bi-connected component method reduces the risk of network divergence. This function is seldom called independently of setse_bicomp
create_balanced_blocks(g, force = "force", bigraph = bigraph)
g | An igraph object. The network for which embeddings will be found |
---|---|
force | A character vector. The name of the node attribute that is the force exerted by the nodes |
bigraph | A list. the list of biconnected components produced by the biconnected_components function. This function take a non trivial amount of time on large graphs so this pass through minimises the function being called. |
A list containing all the bi connected component where each component is balanced to have a net force of 0.
When networks are separated into the bi-connected subgraphs or blocks. The overall network balance needs to be maintained.
create_balanced_blocks
maintains the balance by summing the net force across the all the nodes that are being removed from
the subgraph. Therefore a node that is an articulation point has a force value equal to the total of all the nodes on the adjacent
bi-connected component.
library(igraph) #create a list of balanced network using the biconnected_network dataset balanced_list <-create_balanced_blocks(biconnected_network, bigraph = biconnected_components(biconnected_network)) #count the edges in each of the bi-components sapply(balanced_list, ecount)#> [1] 6 1 12