  The control of complex networks is of paramount importance in areas as
diverse as ecosystem management, emergency response, and cell reprogramming. A
fundamental property of networks is that perturbations to one node can affect
other nodes, potentially causing the entire system to change behavior or fail.
Here, we show that it is possible to exploit the same principle to control
network behavior. Our approach accounts for the nonlinear dynamics inherent to
real systems, and allows bringing the system to a desired target state even
when this state is not directly accessible due to constraints that limit the
allowed interventions. Applications show that this framework permits
reprogramming a network to a desired task as well as rescuing networks from the
brink of failure---which we illustrate through the mitigation of cascading
failures in a power-grid network and the identification of potential drug
targets in a signaling network of human cancer.
