Skip to main content

Table 1 Our greedy algorithm for constructing target control tree for network G(V, E)

From: A novel algorithm for finding optimal driver nodes to target control complex networks and its applications for drug targets identification

Input: Network G(V, E), target nodes O

Initialize:

B0(R0, L0) //the right side R0 is made of target nodes O, and the left side L0 is made of nodes from which the targes could be reachable.

m 0 ←Matching(B0) //Find maximum matching m 0 among bipartite graph B0

CF(V0, m0) ←Subgraph(V0, m0) // Let V0 = R0L0, we obtain a subgraph CF(V0, m0)

for paired nodes (vi0,vj0)CF(V0, m0) do // if we could find a path from node vi0L0 to vj0R0, add edge ek0 = (vi0,vj0) to TCT .

E0E0ek0

end

While L n ≠   (n ≥ 1) do

R n L n-1 //Let the set of nodes in L n-1 to be the new R n set

B n (Rn, Ln) //get a new bipartite graph B n .

m n ←Matching(Bn) //Calculate a maximum matching m n in B n

V n  = V n-1 L n

CF(V n , m n ) ←Subgraph(V n , m n )

for paired nodes (vin,vjn)CF(V n , m n ) do // vinLn, vjnR n

If there exists a directed path from vin to vjn ,

add edge ekn = (vin,vjn) to TCT.

Let En = En-1(ekn).

End

Output: The target control tree, TCT ≡ (V TCT , E TCT ) = (V n , E n )