derek ruths || network dynamics

Control Profiles of Complex Networks

J. Ruths, D. Ruths (2014). Control Profiles of Complex Networks. Science Vol. 343 no. 6177 pp. 1373-1376.


Get the gist before reading the paper! We’ve prepared two videos with varying degrees of detail that cover they key points of the paper:


In this paper we introduce a new way of decomposing the structures that give rise to the need to control complex systems at various points. Using this decomposition, we develop a new network statistic, the control profile, that both highlights significant differences between real networks and commonly-used random models as well as reveals systemic ways in which diverse real-world networks common control structures in common.


For anyone interested in reproducing or extending our results, you can find the datasets used in this study using the web links below. The supplementary information file includes a few details in how we used an prepared this data. In particular, some of the dataset edges were reversed in order to keep the same convention for the direction of influence across datasets from different sources.


The algorithms necessary for this work are contained within the Zen (Zero Effort Network) Python library, which is maintained by my research group. Zen combines the ease of Python programming with the speed of compiled code (Cython). Zen is available for download on github.

Once you install the library, you can study the control profiles of your own favorite network using the following commands:

import zen

G = zen.DiGraph() # replace this with your own network, loaded into a DiGraph object

# compute the control profile
cp = zen.control.profile(G)

# plot the control profile


If you’re interested in this work, my co-author and I would be delighted to hear from you. Feel free to email us at and