## Figures

## Abstract

Temporal network, whose topology evolves with time, is an important class of complex networks. Temporal trees of a temporal network describe the necessary edges sustaining the network as well as their active time points. By a switching controller which properly selects its location with time, temporal trees are used to improve the controllability of the network. Therefore, more nodes are controlled within the limited time. Several switching strategies to efficiently select the location of the controller are designed, which are verified with synthetic and empirical temporal networks to achieve better control performance.

**Citation: **Yao P, Hou B-Y, Pan Y-J, Li X (2017) Structural Controllability of Temporal Networks with a Single Switching Controller. PLoS ONE 12(1):
e0170584.
https://doi.org/10.1371/journal.pone.0170584

**Editor: **Wen-Bo Du,
Beihang University, CHINA

**Received: **September 29, 2016; **Accepted: **January 8, 2017; **Published: ** January 20, 2017

**Copyright: ** © 2017 Yao et al. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.

**Data Availability: **All files of Hypertext 2009 dynamic contact network (also shorted as “HT09” in the manuscript) are available from http://www.sociopatterns.org/datasets/hypertext-2009-dynamic-contact-network/ including the Contact List (http://www.sociopatterns.org/files/datasets/003/ht09_contact_list.dat.gz).

**Funding: **This work was partly supported by National Science Foundation for Distinguished Young Scholar of China (No. 61425019), National Natural Science Foundation (No. 61273223), and Huawei Innovation Research Program (HIRP).

**Competing interests: ** The authors have declared that no competing interests exist.

## Introduction

Since the seminal work of the Watts-Strogatz (WS) and Barabási-Albert (BA) models [1][2], we have a better understanding of our real world from the perspective of complex network science. With the development of portable electronic devices nowadays, people find that many real-world networks, generated from e-mail contacts [3], instant messages [4], online forums [5] and WiFi records [6–9], contain a plenty of temporal information which yields temporal networks [10]. Compared to static networks, temporal networks have their own characteristics such as bursts and the power-law distributions of contact intervals [11, 12].

Not satisfied with understanding complex networks (no matter they are temporal or not), people are more willing to reform and control complex networks to improve their performances. Therefore, the control of complex networks which has various significant branches such as pinning control [13–20] and model predict control [21, 22], has attracted wide attention over the decades. As applications, network control has been investigated in various areas, such as human brain networks [23] and smart grids [24, 25].

State controllability in control theory [26] describes the ability that a system can traverse from any initial state to any desired state with proper inputs. Structural controllability, which emphasizes the system structure and avoids potential parameter perturbations, was proposed for Linear Time-Invariant (LTI) systems [27]. Poljak transformed the maximum cycle partition problem into an integer linear problem to get the generic dimension of the controllable subspace, and pointed out that the generic dimension of the controllable subspace, which measures the structural controllability of a system, stays the same when its non-zero parameters change [28, 29]. Lombardi and Hörnquist gave a necessary topological condition to network controllability [30]. Based on the maximum matching algorithm, Liu *et al.* located the minimum driver nodes to achieve the structural controllability of a complex network [31].

More efforts were devoted to taming structural controllability of complex networks. In [32], strongly connected components determine the input of a network as well as the leader in a multi-agent system. Ruths *et al.* described the network control profile by defining three control-inducing structures which conceive driver nodes: source, internal-dilation, and external-dilation [33]. Moreover, Jia *et al.* divided nodes into three types (critical, intermittent or redundant) according to their probabilities of being driver nodes [34]. The ability of a single node to control the whole network is denoted as control centrality, and it is determined by node’s hierarchy in the network [35]. Not limited to the static networks whose topologies are fixed, there are works to investigate structural controllability on networked systems with time-varying topologies. In [36], the necessary and sufficient conditions were stated to ensure structural controllability on switched linear systems from the view of graph theory. As for the temporally switched networks and the associated switched systems, the state controllability criterion was obtained in [37], which with the proposed *n*-walk theory, revealed that the *n* temporally independently walks are essential to the structural controllability as well as the strong structural controllability [37]. To measure the ability of a fixed controller, temporal trees of a temporal network were classified to precisely estimate the control centrality of the node [38, 39].

In this article, to improve the structural controllability of a temporal network, a switching controller which selects its location at some specific time points is introduced. When the controller is no longer fixed on a specific node, more diverse temporal trees emerge in the network, which would contribute to improve the network controllability. Several controller switching strategies are proposed to select the controller’s location (i.e. determine the controller’s contact sequence) to achieve high efficiency, which are verified with synthetic and empirical temporal networks.

## Results

In a temporal network, every node and edge might be valid (or activated) only at some specific time points. A temporal network is associated with a Linear Time-Variant (LTV) system as [38]
(1)
where *k* ∈ {0, 1, ⋯, *T* − 1}, *t*_{k+1} > *t*_{k}. is the vector of nodes, *N* denotes the number of nodes in the network. is the vector of input signals from controllers outside the network. denotes the adjacency matrix of the network at time point *k* + 1, and denotes its transpose matrix. Besides, the node set of the network is denoted as *V* = {*v*_{1}, *v*_{2}, ⋯, *v*_{N}}. ∀*a*_{k+1,ij} ∈ *A*_{k+1}, if there is a directed edge from node *i* to node *j* at time point *k* + 1, *a*_{k+1,ij} ≠ 0. Otherwise, *a*_{k+1,ij} = 0. denotes the input matrix at time point *k* + 1. *M* is the number of external controllers (usually, *M* ≤ *N*). ∀*b*_{k+1,ij} ∈ *B*_{k+1}, if controller *j* connects node *i* at time point *k* + 1, *b*_{k+1,ij} > 0. Otherwise, *b*_{k+1,ij} = 0. Pair (*A*_{k+1}, *B*_{k+1}) describes a network with its external controllers at time point *k* + 1 as well as its associated system. The discretized temporal network is then described by a sequence of pair (*A*_{1}, *B*_{1}), (*A*_{2}, *B*_{2}), ⋯, (*A*_{T}, *B*_{T}).

### Temporal network controllability

System has the same structure with system (*A*, *B*) if the zero parameters of the matrices are fixed in the same entries. And a system is structurally controllable, if there exists a state controllable system (*A*, *B*) with the same structure [27]. Therefore, a temporal network is structurally controllable if its associated LTV system (1) is structurally controllable, i.e. there exists a state controllable LTV system with the same structure [38].

Rewrite Eq (1) into the following form with a single controller
(2)
where *B*_{k+1} is replaced by *b*_{k+1} (). If the single controller is on node *i* at time point *k* + 1, the value of *i*th row (*b*_{k+1,i}) is non-zero, while the values of other rows equal to zero. Note that the temporal network with a fixed controller in [38] is a special case of Eq (2) when *b*_{k+1} is a constant matrix with different *k*.

Denote *D*_{k+1} = *t*_{k+1} − *t*_{k} (*t*_{k+1} > *t*_{k}) as the difference of the two neighbouring time points, , *H*_{k+1} = *D*_{k+1} *b*_{k+1}, 0 ≤ *k* ≤ *T* − 1, where *I*_{T} = *I*_{T−1} = ⋯ = *I*_{1} = *I*, is the identity matrix. Note that there is no restriction that *D*_{i} = *D*_{j} for *i* ≠ *j*, and 1 < *i*, *j* ≤ *T*, so the discrete process doesn’t require periodic sampling.

With Eq (2), *X*(*T*) can be calculated as
(3)
where *W*_{c} = [*G*_{T}⋯*G*_{2} *H*_{1}, ⋯, *G*_{T} *H*_{T−1}, *H*_{T}].

Rewriting Eq (3) as
(4) *rank*(*W*_{c}) measures the dimension of controllable subspace. When *rank*(*W*_{c}) = *n* (1 ≤ *n* ≤ *N*), the network is divided into two parts: the part with *n* structurally controllable nodes, and the part with other *N* − *n* nodes.

To quantify the ability of a controller, suppose that *rank*(*W*_{c}) is the dimension of controllable subspace of the temporal network (*A*_{k+1}, *b*_{k+1}), *k* ∈ {0, 1, ⋯, *T* − 1} with node set *V* = {*v*_{1}, *v*_{2}, ⋯, *v*_{N}} and a switching controller *I*^{E}. And a corresponding network is introduced with the dimension of controllable subspace and with node set . A controller is fixed on node *v*_{0} and *v*_{0} has the same contact sequence (recording nodes it connects at each time point) with the switching controller *I*^{E} in the original network.

In (*A*_{k+1}, *b*_{k+1}), *A*_{k+1} and *b*_{k+1} record the topology of internal nodes and the location of the switching controller *I*^{E}, 0 ≤ *k* ≤ *T* − 1, respectively. Since node *v*_{0} with the fixed controller connects the same nodes as the switching controller *I*^{E} does, we have , and , 0 ≤ *k* ≤ *T* − 1. Especially, , .

Therefore, , and , 0 ≤ *k* ≤ *T*,
(5)
where ,

,

⋅

⋅

⋅

,

.

We can easily get the following matrix with the same rank

Therefore, . measures the ability of the controller. Since the gap between *rank*(*W*_{c}) and is 1, in the following part we also use *rank*(*W*_{c}) to measure the ability of the controller. To improve the number of the controlled nodes, the controller should select its location properly with the help of temporal trees.

### Temporal trees with a switching controller

To define the temporal trees of a temporal network, we first describe a network in the time-ordered graph (TOG) [40] denoted as *N*(*V*_{T}, *E*_{T}). *V*_{T} is the node set of TOG including *T* + 1 duplications of both nodes and the external controller, and the edge set *E*_{T} contains three types of edges:

- Edges from node
*i*_{k+1}to node*j*_{k+2}represent the edges from node*i*to node*j*at time point*k*+ 1, 0 ≤*k*≤*T*− 1. - Edges from node
*i*_{k+1}to node*i*_{k+2}represent that without any outside input from neighbouring nodes or the controller, node*i*transfers its current state to the coming time points. - Edges from the external controller to node
*i*_{k+2}represent the edges from controller*I*^{E}to node*i*at time point*k*+ 1.

Fig 1 shows an example of temporal network and its corresponding time-ordered graph. The network has 4 nodes {*v*_{1}, *v*_{2}, *v*_{3}, *v*_{4}} and an external controller *I*^{E}. Fig 1(a) illustrates the topology of the temporal graph from *k* = 0 to 3. The numbers in parentheses of Fig 1(a) represent the time points when the edges are valid.

An example of (a) a temporal network and (b) its corresponding time-ordered graph. The network has 4 nodes {*v*_{1}, *v*_{2}, *v*_{3}, *v*_{4}} and an external controller *I*^{E}. The numbers in parentheses in (a) represent time points 1, 2, 3, 4 when the edges are valid. In (b), each node (including the controller) in (a) has 5 duplications (*v*_{1} in (a) while *v*_{1,1}, *v*_{1,2}, *v*_{1,3}, *v*_{1,4}, *v*_{1,5} in (b), etc.). The solid edges are either the edges between nodes, or from controller *I*^{E} to a specific node. The dashed edges are from a node to its self-duplication during the neighbouring time points.

In Fig 1(b), each node (including the controller) in Fig 1(a) has 4 + 1 = 5 duplications (*v*_{1} in Fig 1(a) while *v*_{1,1}, *v*_{1,2}, *v*_{1,3}, *v*_{1,4}, *v*_{1,5} in Fig 1(b), etc.). The solid edges in Fig 1(b) are either the edges between nodes, or from controller *I*^{E} to a specific node. The dashed edges are from a node to its self-duplication during the neighbouring time points. Therefore, both the topology and temporal information remain in the TOG.

In [38], we have proved that the reachability of the fixed controller on the TOG represents the ability of the controller on the origin temporal network. We then generalize the conclusion that the reachability of a switching controller on the TOG also equals the ability of the controller on the origin temporal network.

Define the dynamic communicability matrix [41] as
(6)
where *A*_{k+1} is the adjacency matrix at time point *k* + 1, 0 ≤ *k* ≤ *T* − 1, and 0 < *a* < 1/*ρ* (*ρ* is the maximum spectral radius of matrices *A*_{k+1}). Therefore, we have the communicability matrix of controller *I*^{E} in a temporal network as
(7)
where denotes the adjacency matrix of the graph at time point *k* + 1 with its external controller *I*^{E}. The location of the switching controller *I*^{E} depends on the non-zero row *j*_{k+1} of the input vector *b*_{k+1}. . The communicability matrix of controller *I*^{E} is used to calculate the reachability of controller *I*^{E} at time point *k* + 1, and the reachability from node *i* to node *j* is represented by {*Q*_{k+1}}_{i,j}. In the case of single switching controller, the *j*_{k+1}th row of matrix *Q*_{k+1} denoted as {*Q*_{k+1}}_{jk+1,∀} quantifies the reachability of controller *I*^{E} on node *j*_{k+1} at time point *k* + 1. Selecting the row *j*_{1}, *j*_{2}, ⋯, *j*_{T} from *Q*_{1}, *Q*_{2}, ⋯, *Q*_{T}, respectively, we get the reachability matrix of switching controller *I*^{E} as:
(8)
Meanwhile, by the definition of *W*_{c}, for the *k*th column of matrix *W*_{c}, *G*_{T}⋯*G*_{k} *H*_{k−1} = [(*I* + *A*_{T})⋯(*I* + *A*_{k})]*H*_{k−1}. Therefore, the reachability of the switching controller can also be presented by the corresponding row of the communicability matrix. Since the reachability matrix is gathered by the given row of communicability matrices, *rank*(*W**) = *rank*(*W*_{c}).

Using the Breadth-First Search (BFS) in the TOG, we obtain temporal trees *TT*_{k+1} from the TOG. Every temporal tree is rooted at the external controller. The input coming from the external controller spreads among nodes via temporal trees.

We define a reachability vector to present the corresponding temporal tree, which starts at time point *k* + 1, as . If at time point *k* + 1, the controller points at node *j*_{k+1}, the row *j*_{k+1} equals to 1. The first row in *R*_{TTk+1} is always zero. The values of the rest rows *i* + 1, *i* ≠ 1, *j*_{k+1}, 1 ≤ *i* ≤ *N* (denoted by symbol ) equal to the product of edges’ weights on the path from node *j*_{k+1} to node *i*, or zero, if node *i* is not on the temporal tree *TT*_{k+1}.

Collecting the reachability vector of each tree into the reachability matrix of temporal trees, it is denoted as , . By the definition of the reachability matrix of temporal trees, we easily obtain *rank*(*W*^{R}) = *rank*(*W**). Therefore, with *rank*(*W*^{R}) = *rank*(*W**) and *rank*(*W**) = *rank*(*W*_{c}), we have *rank*(*W*^{R}) = *rank*(*W*_{c}).

**Definition 1** [38] *Temporal trees with the same structure (containing the same nodes and edges) are homogeneously structured trees. Temporal trees with the different structure (containing different nodes or edges) are heterogeneously structured trees*.

In [38], we have proved that the increase number of heterogeneously structured trees would enlarge the controllable subspace of the network (more nodes are controlled). As the external controller *I*^{E} switches among different nodes of the network, we assume that controller *I*^{E} connects *p* different nodes in all (nodes *P*_{1}, *P*_{2}, ⋯, *P*_{p}), 1 ≤ *p* ≤ *N*, during time period 0 ≤ *k* ≤ *T* − 1. The controller connects node *P*_{i} ∈ {*P*_{1}, *P*_{2}, ⋯, *P*_{p}} at time point *t*_{Pi,1}, *t*_{Pi,2}, ⋯, *t*_{Pi, hi}, 1 ≤ *h*_{i} ≤ *T* − *p* + 1, respectively. We rewrite *W*^{R} as
(9)
In the same submatrix , because the controller is on the same node *P*_{i}, each submatrix is a collection of temporal trees with a fixed controller.

When *p* = 1, we have , i.e. the external controller *I*^{E} is on the same node *P*_{1} as a fixed controller. That is, temporal networks with a fixed controller is a special case of temporal networks with a switching controller. In the case when the controller stays at the same node (temporal trees which are represented by the same submatrix), it will not improve the number of the controlled nodes.

**Theorem 1** *Temporal trees represented by different submatrices*
*are heterogeneously structured trees*.

*Proof:* Take the reachability vectors of temporal trees *R*_{TTki}, *R*_{TTkj} from and , *i* ≠ *j*, respectively, and combine them into reachability matrix . Noting that element 1 locates at row *i*, *j*, *i* ≠ *j* (suppose *i* < *j* without loss of generality), we have
(10)

Similarly, we have the following matrix after linear transforming,
(11)
in which . It comes to special cases when elements in the same column with 1 are relevant. But even a trivial perturbation would break the relevancy and transform the special case into a normal one. So *TT*_{ki} and *TT*_{kj} have different structures, and these two temporal trees are heterogeneously structured trees.

Extending *W*_{2} to *W*_{3} by adding reachability vector *R*_{TTkr} from , *r* ≠ *i*, *j*, 1 ≤ *r* ≤ *N*. We have . Generally, we have the following matrix
(12)
in which . So the trees whose reachability vectors are in *W*_{3} have different structures, and they are heterogeneously structured trees.

Therefore, we extend to *W*_{p} that includes *p* reachability vectors, each of which is chosen from different submatrix , 1 ≤ *i* ≤ *p* in *W*^{R}, respectively. Generally, *W*_{p} also has a full rank, which means that the trees with different nodes which the controller connects have heterogeneous structures.

With the increase of *p* (the total number of nodes which the controller connects), more heterogeneous trees are generated which may lead to the improvement of ability of the controller.

### Controller switching strategies

Not only the number of nodes which the controller connects but also their reachabillity determine the ability of the controller. Therefore, to get more controlled nodes, effective controller switching strategies to determine the contact sequence are needed.

At first, we obtain the upper bound of the controlled nodes at time point *T*.

**Theorem 2** *By any controller switching strategy, the ability of a controller satisfies that* *rank*(*W*_{c}) ≤ *min*(*N*, *T*), *where* *N* *is the total number of nodes, and* *T* *is the total time points*.

*Proof:* According to Eq (3),
(13)
where , *H*_{k+1} = *D*_{k+1} *b*_{k+1}, *D*_{k+1} = *t*_{k+1} − *t*_{k}(*t*_{k+1} > *t*_{k}), 0 ≤ *k* ≤ *T* − 1. Since *A*_{k+1} is the adjacency matrix of the temporal network at time point *k* + 1, , 0 ≤ *k* ≤ *T* − 1. Therefore, we have , and the product of . Adding a single controller on the network, we have , so . For each submatrix *G*_{T}⋯*G*_{k+2} *H*_{k+1} in Eq (13), when there is a single controller, is a vector, 0 ≤ *k* ≤ *T* − 1. Therefore, in Eq (13), there are , and *rank*(*W*_{c}) ≤ *min*(*N*, *T*).

Note that *rank*(*W*_{c}) ≤ *min*(*N*, *T*) represents the upper bound of the controlled nodes. The number of the controlled nodes could never be larger than the total number of network nodes. Meanwhile, during the neighbouring time points, a node can only transport its signal to neighbours, while other nodes are unreachable. Therefore, at time point *k* + 1, 0 ≤ *k* ≤ *T* − 1, we have *rank*(*W*_{c}(*k* + 1)) = *rank*([*G*_{k+1}⋯*G*_{2} *H*_{1}, ⋯, *G*_{k+1} *H*_{k}, *H*_{k+1}]) = ≤*min*(*N*, *k* + 1).

We assume that *H*_{k+1}, 0 ≤ *k* ≤ *T* − 1, is a non-zero vector. *H*_{k+1} is a zero vector when controller *I*^{E} does not connect any node of at time point *k* + 1. To improve the number of controlled nodes, the assumption that the controller is always activated is reasonable.

**Theorem 3** *At time point* *k* + 1, 0 ≤ *k* ≤ *T* − 1, *if the external controller* *I*^{E} *connects to node* *j*_{k+1} (*the* *j*_{k+1} *th row of* *H*_{k+1} *is non-zero), the influence of signal* *u*_{k} *from the controller on node* *j*_{k+1} *will last till the final time point* *T*.

*Proof:* Since , where ∀[*A*_{k+1}]_{ij} = *a*_{ij} ≥ 0 and *D*_{k+1} ≥ 0, we have ∀*g*_{ij} ∈ *G*_{k+1} ≥ 0, and ∀*g*_{ii} ∈ *G*_{k+1} > 0, 1 ≤ *i*, *j* ≤ *N*, 0 ≤ *k* ≤ *T* − 1. Note that all the elements in *G*_{k+1} are nonnegative, especially, its diagonal elements. In the product of several matrices *G*_{k+1}, all the diagonal elements are also non-zero. We rewrite Eq (3) as
(14)
where the diagonal elements of *G*_{T} *G*_{T−1}⋯*G*_{k+2}, 0 ≤ *k* ≤ *T* − 2, are non-zero. Since *H*_{k+1} is not a zero vector, supposing that its row *j*_{k+1} is a non-zero element, we have a non-zero vector *G*_{T} *G*_{T−1}⋯*G*_{k+2} *H*_{k+1} with its non-zero element at row *j*_{k+1}. Therefore, when *U*_{k} is not a null signal, *G*_{T} *G*_{T−1}⋯*G*_{k+2} *H*_{k+1} *U*_{k} is non-zero. This implies that the influence of *U*(*k*) on node *j*_{k+1} will remain at node *j*_{k+1} till the last time point *T*. The non-zero *H*_{T} *U*(*T* − 1) shows that *U*(*T* − 1) has an influence on a specific node with the controller at the last time point *T*. Hence, with the independency among *x*(0) and *U*(*k*), 0 ≤ *k* ≤ *T* − 1, when input signal *U*(*k*) is on node *j*_{k+1} (the row *j*_{k+1} of *H*_{k+1} is non-zero), it will influence the final state of node *j*_{k+1}.

As a result, the states of nodes in the network depend not only on their current states and inputs but also on previous states and inputs. This “memory-like” effect within nodes makes them similar to integrators in the continuous-time domain or accumulators in the discrete-time domain. Based on this phenomenon, if the controller selects its location properly, the controlled part remains even if the controller switches to other locations in next time points.

By definition, *W*_{c} = [*G*_{T}⋯*G*_{2} *H*_{1}, ⋯, *G*_{T} *H*_{T−1}, *H*_{T}]. To maximize the ability of the controller, with the knowledge of [*G*_{T}⋯*G*_{2}, ⋯, *G*_{T}, *I*], we can select proper columns from *G*_{T}⋯*G*_{2}, ⋯, *G*_{T}, *I*, respectively. However, this controller switching strategy (labeled by “Global” in simulations) requires that we know all the adjacency matrices *A*_{k+1}, 0 ≤ *k* ≤ *T* − 1 from the start time point 1 to the final time point *T*, which are hard to acquire in an empirical temporal network.

On the other hand, for most nodes in a temporal network, nodes with large aggregated degree tend to have the higher control centrality [38]. In fact, the aggregated degree of a node represents the total number of its neighbours during the whole time period, which implies its ability to broadcast the signal in the network. Therefore, we design two controller switching strategies as follows. We first shuffle the node sequence 1, 2, ⋯, *N* as a contact sequence where the nodes with large aggregated degrees have a priority to be connected by the controller (labeled by “Descend”). To make a comparison, we also shuffle the node sequence 1, 2, ⋯, *N* as a contact sequence where the nodes with small aggregated degrees have a priority to be connected by the controller (labeled by “Ascend”).

The above three controller switching strategies require global topology information of the temporal network, such as adjacency matrix at every time point or aggregated degree over the whole time period. Based on currently available topology information, we propose a controller switching strategy labeled by “Greedy”. By the greedy algorithm, at time point *k* + 1, we get *H*_{k+1} that maximize the rank of [*G*_{k+1} *G*_{k}⋯*G*_{2} *H*_{1}, *G*_{k+1} *G*_{k}⋯*G*_{3} *H*_{2}, ⋯, *H*_{k+1}]. As a result, we get the local optimum solution at the current time point. In this way, from time point 1 to *T*, we choose *H*_{1}, *H*_{2}, ⋯, *H*_{T}, respectively. Therefore, we get the whole contact sequence of the switching controller. In this case, at time point *k* + 1, what we need is *A*_{1}, *A*_{2}, ⋯, *A*_{k+1}, while the “future” topology information (such as *A*_{k+2}, *A*_{k+3}, ⋯, *A*_{T}) is not required.

### Numerical simulations

#### Synthetic networks.

We define that the controller switches its location every *l* time points, i.e. the input matrices *b*_{k} = *b*_{k+1} = ⋯ = *b*_{k+l}, *k* = 1, 1 + *l*, 1 + 2*l*, ⋯, *k* ≤ *T*. At first, we set *l* = 1, which means that the controller can switch its location at every time point. In Fig 2, three controller switching strategies (“Global”, “Greedy” and “Random”) as well as the “Fixed” strategy are computed with the ER temporal networks with the total node number *N* = 60 and 100, and the final time point *T* = 60 and 100, respectively. The result of the “Fixed” strategy is the maximum number of the controlled nodes when the controller is fixed on every node in the network.

The histogram labeled by ‘Fixed’ shows the normalized number of the controlled nodes when the controller is fixed on every node in the network. The histogram labeled by ‘Greedy’ shows the normalized number of the controlled nodes when determining the contact sequence of the controller only requires the past and current topology information. The histogram labeled by ‘Random’ shows the normalized number of the controlled nodes when the controller switches among nodes randomly. The histogram labeled by ‘Global’ shows the normalized number of the controlled nodes when determining the contact sequence of the controller requires the topology information during the whole time period. The vertical bars represent the standard deviations. The ER networks with 60 and 100 nodes are generated. The edge generating probability is *P* = 0.002. At each time point *k* + 1, 0 ≤ *k* ≤ *T* − 1, *T* = 60 and 100, we generate the ER networks independently.

After normalizing the number of the controlled nodes (i.e. *rank*(*W*_{c})/*N*), as shown in Fig 2, all the controller switching strategies lead to the increase of the number of the controlled nodes over the fixed strategy. By using the topology information of adjacency matrices, the “Global” strategy and the “Greedy” strategy improve controllability more than the “Random” strategy does, especially when *T*/*l* is numerically close to *N* (e.g., *N* = 100, *T* = 100). From Fig 2, with sufficient time points, i.e. *T*/*l* ≥ *N*, the normalized number of the controlled nodes with the switching controller can arrive at 1, i.e. the whole network is structurally controllable. Otherwise, in the network of *N* > *T*/*l* (e.g., *N* = 100, *T* = 60) in Fig 2, the normalized number of the controlled nodes of the controller can’t be larger than *T*/(*lN*).

To further investigate the effectiveness of these strategies (“Global”, “Greedy”, “Descend”, “Ascend” and “Random”), we decreasse the switching frequency (set *l* > 1). Therefore, during a limited time period, the controller has fewer times of chance to select proper nodes, which means that it has to make the decision more wisely and efficiently. As shown in Fig 3, the controller changes its location every *l* = 5 time points. Therefore, during the whole time period, the controller has only *T*/*l* = 100/5 = 20 times of opportunities to switch its location. There are two temporal networks in Fig 3, one of which has *N*_{1} = 60 nodes while the other *N*_{2} = 100 nodes, both with the final time point *T* = 100. Since *N*_{2} > *N*_{1} > *T*/*l*, the number of the controlled nodes is mainly limited by the total time points. As a result, all the controller switching strategies in the former network (i.e. *N* = 60, *T* = 100) lead to the large number of the controlled nodes.

The histogram labeled by ‘Random without repetition’ shows the number of the controlled nodes when the controller connects nodes randomly without repetition. The histogram labeled by ‘Descend’ shows the number of the controlled nodes when nodes with large aggregated degrees have a priority to be connected by the controller. The histogram labeled by ‘Ascend’ shows the number of the controlled nodes when nodes with less aggregated degrees have a priority to be connected by the controller. The histogram labeled by ‘Greedy’ shows the number of the controlled nodes when determining the contact sequence of the controller using the past and current topology information of *A*_{i+1}, 0 ≤ *i* ≤ *k*, 0 ≤ *k* ≤ *T* − 1, *T* = 100. The histogram labeled by ‘Global’ shows the number of the controlled nodes when determining the contact sequence of the controller using the global topology information of *A*_{k+1}, 0 ≤ *k* ≤ *T* − 1. The ER networks with 60 and 100 nodes are generated. The vertical bars represent the standard deviations. Edges are generated with the probability *P* = 0.002. At each time point *k* + 1, 0 ≤ *k* ≤ *T* − 1, we generate the ER networks independently.

In both networks, the “Global” strategy using global topology information *A*_{k+1}, 0 ≤ *k* ≤ *T* − 1, improves the number of the controlled nodes most significantly, and it is less disturbed by the time limitation compared with other controller switching strategies. On the other hand, shuffling the node sequence 1, 2, ⋯, *N* randomly, labeled as “Random without repetition”, has almost the same result with that of “Greedy” strategy. The “Descent” strategy in which the nodes with higher aggregated degrees are prior connected by the controller leads to a bit of improvement compared with selecting randomly or greedily. In contrast, when the nodes with the lower aggregated degrees are prior connected by the controller in “Ascent” strategy, the controller has the fewest controlled nodes.

#### Empirical network.

Hypertext 2009 dynamic contact network (shorted as “HT09”) is an empirical network generated from a dataset collected during a conference [42]. In the conference, the face-to-face proximities of voluntary attendees are recorded as a sequence of contacts. When considering structural controllability on social networks like HT09, we simulate the process that people’s opinion is affected by a leader via their social interactions.

Therefore, we generate a temporal network from the attendees of HT09 and their interactions. In the network, nodes represent attendees, and node states represent their opinions. Edges represent their face-to-face interactions, which are not always active during the whole conference. Since we assume that a leader (controller) wants to find an effective way to affect more attendees’ opinion, the leader can talk/interact with any attendees following some rules, or simply stick to one person all the time.

The controller determines its contact sequence by four strategies including three controller switching strategies (“Global”, “Greedy” and “Random”). At each time point from 1 to 120, the number of the controlled nodes is calculated and plotted in Fig 4. As shown in Fig 4, all the three controller switching strategies contribute to significantly promoting the controllability, compared with the fixed strategy. Among the controller switching strategies, the curves of the “Global” and the “Greedy” strategies almost coincide with each other. However, the number of the controlled nodes by the “Global” strategy converges to the maximum number of the controlled nodes (i.e. *rank*(*W*_{c}) = *min*(*N*, *T*) = 113), while the number of the controlled nodes by the “Greedy” strategy converges to a local maximum number of the controlled nodes (*rank*(*W*_{c}) = 112 < *min*(*N*, *T*)). The “Random” strategy makes the poorer improvement than the previous two, but it is still much better than the “Fixed” strategy. As a result, we can see that the leader simply randomly interacting with attendees is an effective way to affect people’s opinion compared with sticking to any popular one. And if the leader could get the knowledge of the whole interactions during the conference, the leader will make the best decision.

Temporal network HT09 is a social network with 113 nodes and 120 time points. The curve labeled by ‘Fixed’ shows the number of the controlled nodes when the controller is fixed on the node which has the largest number of the controlled nodes in the network. The curve labeled by ‘Greedy’ shows the number of the controlled nodes when determining the contact sequence of the controller using the past and current topology information of *A*_{i+1}, 0 ≤ *i* ≤ *k*, 0 ≤ *k* ≤ *T* − 1, *T* = 120. The curve labeled by ‘Random’ shows the mean number of the controlled nodes when the controller switches among nodes randomly. And the lime area represents the range of simulation results by the “random” strategy. The curve labeled by ‘Global’ shows the number of the controlled nodes when determining the contact sequence of the controller using the global topology information of *A*_{k+1}, 0 ≤ *k* ≤ *T* − 1, *T* = 120.

## Discussion

In summary, we have transformed a temporal network with a switching controller into the time-ordered graph (TOG) as well as its temporal trees. The location of the controller leads to heterogeneous trees so more nodes in the network could be controlled. As a result, the single switching controller almost makes all the network controlled with sufficient time. While a fixed controller could only control parts of the networks. Four controller switching strategies have been proposed to select the location of the controller. The “Global” strategy requires the knowledge of adjacency matrices over the whole time period. The “Descend” and “Ascend” strategies need the information of the aggregated degrees. The “Greedy” strategy only has to know the adjacency matrices of the past time points. These strategies are verified with both synthetic networks and empirical networks. In general, controller switching strategies that use more temporal topology information gain the higher efficiency. With the “Global” strategy, more nodes are controlled in limited time points. However, since the “Global” strategy (and the “Greedy” strategy as well) selects columns from matrices *G*_{k}, *k* = 1, 2, ⋯, *T*, to enlarge the rank of *W*_{c}, this leads to more computational cost and time to find the controller’s proper location, which would be difficult to satisfy when the network size increases. Therefore, we have to make a tradeoff between the demand of computational resource and the strategy performance.

## Methods

### Introduction of controller switching strategies

We have introduced four controller switching strategies to let the controller choose its location in a temporal network.

“Global” strategy: with the knowledge of topologies over the whole time period *G*_{T}, *G*_{T−1}, ⋯, *G*_{2}, select columns from *G*_{T}⋯*G*_{2}, ⋯, *G*_{T}, *I* that maximizes *rank*(*W*_{c}), respectively.

“Greedy” strategy: at each time point *k* + 1, select *H*_{k+1} that maximizes the rank of [*G*_{k+1} *G*_{k}⋯*G*_{2} *H*_{1}, *G*_{k+1} *G*_{k} ⋯ *G*_{3} *H*_{2}, ⋯, *H*_{k+1}].

“Descend” strategy: shuffle the node sequence 1, 2, ⋯, *N* as a contact sequence where nodes with large aggregated degrees have a priority to be connected by the controller.

“Ascend” strategy: shuffle the node sequence 1, 2, ⋯, *N* as a contact sequence where nodes with small aggregated degrees have a priority to be connected by the controller.

### Generation of temporal networks

Structural controllability of synthetic and empirical networks are illustrated with two examples in the following part, where edge weights are randomly initialized, and the numerical results are averaged over 500 rounds of realizations.

We generate a synthetic network whose directed edges are activated with probability *P* based on the ER model [43]. Setting *P* as 0.002, we generate the ER networks with *N* (*N* = 60 and 100) nodes at each time point *k* + 1 (0 ≤ *k* ≤ *T* − 1, *T* = 60 and 100), respectively. For simplicity, we assume that *D*_{k+1} = *t*_{k+1} − *t*_{k} = 1.

The records of HT09 are sorted by time, and we collect every 20 neighbouring contact records as 20 temporal edges in a time point *k* + 1, 0 ≤ *k* ≤ 119. Therefore, a temporal network from HT09 yields a temporal network with 113 nodes and 120 time points. At each time point *k* + 1, there are 20 non-zero parameters in *A*_{k+1} which represent that 20 edges are valid.

## Author Contributions

**Conceptualization:**XL PY.**Methodology:**XL PY Y-JP.**Software:**PY B-YH.**Supervision:**XL.**Writing – original draft:**PY XL.

## References

- 1. Watts DJ, Strogatz SH. Collective dynamics of ‘small-world’ networks. Nature. 1998;393(6684):440–442. pmid:9623998
- 2. Barabási AL, Albert R. Emergence of scaling in random networks. Science. 1999;286(5439):509–512. pmid:10521342
- 3. Eckmann JP, Moses E, Sergi D. Entropy of dialogues creates coherent structures in e-mail traffic. Proc Natl Acad Sci USA. 2004;101(40):14333–14337. pmid:15448210
- 4. Wu Y, Zhou C, Xiao J, Kurths J, Schellnhuber HJ. Evidence for a bimodal distribution in human communication. Proc Natl Acad Sci USA. 2010;107(44):18803–18808. pmid:20959414
- 5. Holme P. Network dynamics of ongoing social relationships. Euro-phys Lett. 2003;64(3):427.
- 6. Zhang Y, Wang L, Zhang YQ, Li X. Towards a temporal network analysis of interactive WiFi users. Euro-phys Lett. 2012;98(6):68002.
- 7. Zhang YQ, Li X. Temporal dynamics and impact of event interactions in cyber-social populations. Chaos. 2013;23(1):013131. pmid:23556968
- 8. Zhang YQ, Li X, Xu J, Vasilakos A. Human Interactive Patterns in Temporal Networks. IEEE Trans Syst Man Cy. 2015;45(2):214–222.
- 9. Zhang YQ, Li X. When susceptible-infectious-susceptible contagion meets time-varying networks with identical infectivity. Euro-phys Lett. 2014;108(2):28006.
- 10. Holme P, Saramäki J. Temporal networks. Phys Rep. 2012;519(3):97–125.
- 11. Barabasi AL. The origin of bursts and heavy tails in human dynamics. Nature. 2005;435(7039):207–211. pmid:15889093
- 12. Karsai M, Kaski K, Kertész J. Correlated dynamics in egocentric communication networks. PLoS ONE. 2012;7(7):e40612. pmid:22866176
- 13. Wang XF, Chen G. Pinning control of scale-free dynamical networks. Phys A. 2002;310(3):521–531.
- 14. Li X, Wang X, Chen G. Pinning a complex dynamical network to its equilibrium. IEEE Trans Circuits Sys I: Regular Papers. 2004;51(10):2074–2087.
- 15. Lu W, Li X, Rong Z. Global stabilization of complex networks with digraph topologies via a local pinning algorithm. Automatica. 2010;46(1):116–121.
- 16. Sorrentino F, di Bernardo M, Garofalo F, Chen G. Controllability of complex networks via pinning. Phys Rev E. 2007;75(4):046103. pmid:17500957
- 17. Su H, Wang X, Lin Z. Flocking of multi-agents with a virtual leader. IEEE Trans Automat Contrl. 2009;54(2):293–307.
- 18. Wang X, Li X, Lu J. Control and flocking of networked systems via pinning. IEEE Circ Syst Mag. 2010;10(3):83–91.
- 19. Gutiérrez R, Sendiña-Nadal I, Zanin M, Papo D, Boccaletti S. Targeting the dynamics of complex networks. Sci Rep. 2012;2. pmid:22563525
- 20. Chen G. Pinning control and synchronization on complex dynamical networks. Int J Control Autom. 2014;12(2):221–230.
- 21. Zhan JY, Li X. Flocking of multi-agent systems via model predictive control based on position-only measurements. IEEE Trans Ind Inform. 2013;9(1):377–385.
- 22. Zhan JY, Li X. Consensus of sampled-data multi-agent networking systems via model predictive control. Automatica. 2013;49(8):2502–2507.
- 23. Gu S, Pasqualetti F, Cieslak M, Telesford QK, Alfred BY, Kahn AE, et al. Controllability of structural brain networks. Nature communications. 2015;6. pmid:26423222
- 24. Yu X, Cecati C, Dillon T, Simoes MG. The new frontier of smart grids. IEEE Industrial Electronics Magazine. 2011;5(3):49–63.
- 25. Li X, Rao P. Synchronizing a weighted and weakly-connected Kuramoto-oscillator digraph with a pacemaker. IEEE Transactions on Circuits and Systems I: Regular Papers. 2015;62(3):899–905.
- 26. Kalman RE. Mathematical description of linear dynamical systems. J Soc Indus Appl Math Ser A 1. 1963;1(2):152–192.
- 27. Lin CT. Structural controllability. IEEE Trans Automat Contrl. 1974;19(3):201–208.
- 28. Poljak S. Maximum rank of powers of a matrix of a given pattern. P AM MATAH SOC. 1989;106(4):1137–1144.
- 29. Poljak S. On the generic dimension of controllable subspaces. IEEE Trans Automat Contrl. 1990;35(3):367–369.
- 30. Lombardi A, Hörnquist M. Controllability analysis of networks. Phys Rev E. 2007;75(5):056110.
- 31. Liu YY, Slotine JJ, Barabási AL. Controllability of complex networks. Nature. 2011;473(7346):167–173. pmid:21562557
- 32. Commault C, Dion JM. Input addition and leader selection for the controllability of graph-based systems. Automatica. 2013;49(11):3322–3328.
- 33. Ruths J, Ruths D. Control profiles of complex networks. Science. 2014;343(6177):1373–1376. pmid:24653036
- 34. Jia T, Barabási AL. Control capacity and a random sampling method in exploring controllability of complex networks. Sci Rep. 2013;3.
- 35. Liu YY, Slotine JJ, Barabási AL. Control centrality and hierarchical structure in complex networks. PLoS ONE. 2012;7(9):e44459. pmid:23028542
- 36. Liu X, Lin H, Chen BM. Structural controllability of switched linear systems. Automatica. 2013;49(12):3531–3537.
- 37. Hou B, Li X, Chen G. Structural Controllability of Temporally Switching Networks. IEEE Transactions on Circuits and Systems I: Regular Papers. 2016;63(10):1771–1781.
- 38. Pan YJ, Li X. Structural controllability and controlling centrality of temporal networks. PLoS ONE. 2014;9(4):e94998. pmid:24747676
- 39.
Li X, Yao P, Pan Y. Towards Structural Controllability of Temporal Complex Networks. In: Complex Systems and Networks. Springer; 2016. p. 341–371.
- 40. Kim H, Anderson R. Temporal node centrality in complex networks. Phys Rev E. 2012;85(2):026107. pmid:22463279
- 41. Grindrod P, Parsons MC, Higham DJ, Estrada E. Communicability across evolving networks. Phys Rev E. 2011;83(4):046120.
- 42. Isella L, Stehlé J, Barrat A, Cattuto C, Pinton JF, Van den Broeck W. What’s in a crowd? Analysis of face-to-face behavioral networks. J Theor Biol. 2011;271(1):166–180. pmid:21130777
- 43. ErdöS P, Rényi A. On random graphs I. Publ Math Debrecen. 1959;6:290–297.