{'fraction_non_alphanumeric': 0.056022408963585436, 'fraction_numerical': 0.01175621763857058, 'mean_word_length': 3.8316473000683526, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 23, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Monitoring Link Faults in Nonlinear Diffusively-coupled Networks

Fault detection and isolation is an area of engineering dealing with designing on-line protocols for systems that allow one to identify the existence of faults, pinpoint their exact location, and overcome them. We consider the case of multi-agent systems, where faults correspond to the disappearance of links in the underlying graph, simulating a communication failure between the corresponding agents. We study the case in which the agents and controllers are maximal equilibrium-independent passive (MEIP), and use the known connection between steady-states of these multi-agent systems and network optimization theory. We first study asymptotic methods of differentiating the faultless system from its faulty versions by studying their steady-state outputs. We explain how to apply the asymptotic differentiation to detect and isolate communication faults, with graph-theoretic guarantees on the number of faults that can be isolated, assuming the existence of a"convergence assertion protocol", a data-driven method of asserting that a multi-agent system converges to a conjectured limit. We then construct two data-driven model-based convergence assertion protocols. We demonstrate our results by a case study.

problem in which one tries to distinguish between multi-agent systems with identical agents but different communication graphs was studied in [13]- [15], from which only [14] also deals with nonlinear agents.
We aim at a network FDI scheme applicable also for nonlinear systems by relying on another concept widespread in multi-agent systems, namely passivity. Passivity was first used to address faults by [16] for control-affine systems, although only fault-tolerance is addressed, and no synthesis procedures are suggested. Later works used FDI for a single nonlinear agent [16]- [19]. To the extent of our knowledge, passivity has not been previously used to give network FDI schemes, and no other works consider networks with nonlinear components.
Passivity theory is a cornerstone of the theoretical framework of networks of dynamical systems [20]. It allows for the analysis of multi-agent systems to be decoupled into two separate layers, the dynamic system layer and the information exchange layer. Passivity theory was first used to study the convergence properties of network systems in [21]. Many variations and extensions of passivity have been applied in different aspects of multi-agent systems. For example, the related concepts of incremental passivity or relaxed cocoercivity have been used to study various synchronization problems [2], [22], and more general frameworks including Port-Hamiltonian systems on graphs [23]. Passivity is also widely used in coordinated control of robotic systems [24].
One prominent variant is maximal equilibrium-independent passivity (MEIP), which was applied in [25] in order to reinterpret the analysis problem for a multi-agent system as a pair of network optimization problems. Network optimization is a branch of optimization theory dealing with optimization of functions defined over graphs [26]. The main result of [25] showed that the asymptotic behavior of these networked systems is (inverse) optimal with respect to a family of network optimization problems. In fact, the steady-state input-output signals of both the dynamical systems and the controllers comprising the networked system can be associated to the optimization variables of either an optimal flow or an optimal potential problem; these are the two canonical dual network optimization problems described in [26]. The results of [25] were used in [27], [28] in order to solve the synthesis problem for multi-agent systems, and were further used in [14], [29] to solve the network identification problem.
We aim to use the network optimization framework of [25], [27], [28] for analysis and synthesis of multi-agent systems in order to provide a strategy for detecting and isolating network faults. We also consider adversarial games regarding communication faults. We strive to give graph-theoretic-based results, showing that network fault detection and isolation can be done for any MEIP multi-agent system, so long that the graph G satisfies certain conditions. We show that if the graph G is "connected enough", we can solve the network FDI problem. Namely, if G is 2-connected, then detecting the existence of any number of faults is possible, and if G is kconnected with k > 2, we can isolate up to k − 2 faults.
The rest of the paper is as follows. Section II surveys the relevant parts of the network optimization framework. Section III presents the problem formulation of this work and states the assumptions used throughout the paper. Section IV presents the first technical tool used for building the network fault detection schemes, namely edge-indication vectors, and shows how to construct them. Section V uses edge-indication vectors to design network FDI schemes, as well as strategies for adversarial games, assuming the existence of a "convergence assertion protocol", a data-driven method of asserting that a given MAS converges to a conjectured limit. Section VI studies these convergence assertion protocols, prescribing two approaches for constructing them. Lastly, we present simulations demonstrating the constructed algorithms.
Notations: We use basic notions from algebraic graph theory [30]. An undirected graph G = (V, E) consists of a finite set of vertices V and edges E ⊂ V × V. We denote by e = {i, j} ∈ E the edge that has ends i and j in V. For each edge e, we pick an arbitrary orientation and denote e = (i, j). The incidence matrix of G, denoted E G ∈ R |E|×|V| , is defined such that for edge e = (i, j) ∈ E, [E G ] ie = +1, [E G ] je = −1, and [E G ] e = 0 for = i, j. We also use simple notions from graph theory [31]. A path is a sequence of distinct nodes v 1 , v 2 , · · · , v n such that {v i , v i+1 } ∈ E for all i. A cycle is the union of a path v 1 , · · · , v n with the edge {v 1 , v n }. A cycle v 1 , v 2 , · · · , v n−1 , v 1 is called simple if v i = v j for all i = j. A collection of paths is called vertex-disjoint if no two share a node, except possibly for their first and last nodes. Furthermore, for a linear map T : U → V between vector spaces, we denote the kernel of T by ker T .

II. NETWORK OPTIMIZATION AND MEIP MULTI-AGENT SYSTEMS
The role of network optimization theory in cooperative control was introduced in [25], and was used in [27], [28] to solve the synthesis problem for MAS. In this section, we brief on the main results we need from [25], [27], [28].

A. Diffusively-Coupled Networks and Their Steady-States
Consider a collection of SISO agents interacting over a network G = (V, E). The agents {Σ i } i∈V and the controllers {Π e } e∈E have the following models: , Π e : η e = φ e (η e , ζ e ) µ e = ψ e (η e , ζ e ).
We consider stacked vectors of the form u = [u 1 , ..., u |V| ] and similarly for x, y, ζ, η and µ. The agents and controllers are coupled by defining the controller input as ζ = E G y and the control input as u = −E G µ. This closed-loop system is called a diffusively-coupled network, and is denoted by (G, Σ, Π). Its structure is illustrated in Figure 1. We wish to study the steady-states of the closed-loop. Suppose that (u, y, ζ, µ) is a steady-state of (G, Σ, Π). For every i ∈ V, e ∈ E, (u i , y i ) is a steady-state input-output pair of the i-th agent, and (ζ e , µ e ) is a steady-state pair of the e-th controller. This motivates the following definition, originally from [25]: Definition 1. The steady-state input-output relation k of a dynamical system is the collection of all steady-state inputoutput pairs of the system. Given a steady-state input u and a steady-state output y, we define k(u) = {y : (u, y) ∈ k)}, k −1 (y) = {u : (u, y) ∈ k)}.
Let k i be the steady-state input-output relation for the i-th agent, γ e be the steady-state input-output relation for the e-th controller, and k, γ be their stacked versions. Then the closedloop steady-state (u, y, ζ, µ) has to satisfy y ∈ k(u), ζ = E G y, µ ∈ γ(ζ), u = −E G µ. By a simple manipulation, one can show that y is a closed-loop steady-state for the agent output if and only if 0 ∈ k −1 (y) + E G γ(E G y) [28].

B. MEIP Systems and Closed-Loop Convergence
The convergence of the diffusively-coupled network (G, Σ, Π) can be assured using passivity. We first recall the classic definition of (shifted) passivity: Definition 2 (Passivity [32]). Let Υ be a SISO system with input u(t), output y(t) and state x(t), and let (u, y) be a steady-state input-output pair of the system. For a differentiable function S = S(x) and a number ρ > 0, we consider the inequality d dt S(x) ≤ −ρ y(t) − y 2 + (y(t) − y)(u(t) − u) We say Υ is passive (w.r.t. (u, y)) if there exists a semi-definite storage function S(x) and ρ ≥ 0 such that the inequality holds for any trajectory. Also, we say the system is output-strictly passive (w.r.t. (u, y)) if the same condition holds for some ρ > 0. The largest number ρ for which the condition holds is called the (output) passivity index w.r.t. (u, y).
Passivity was first used for diffusively-coupled networkes in [21]. It is known that if (u, y, ζ, µ) is an equilibrium of the network, and the agents and controllers are passive with respect to (u i , y i ) and (ζ e , µ e ), then the network converges to said equilibrium. The existence of an equilibrium for the closed-loop network can be proved using network optimization tools under certain monotonicity assumptions on the steadystate input-output relation of the agents and controllers [25], [28], namely under the following variant of passivity.
Definition 3 (Maximal Equilibrium Independent Passivity [25]). Consider the SISO dynamical system of the form with input-output relation r. The system Υ is said to be (output-strictly) MEIP if the following conditions hold: i) The system Υ is (output-strictly) passive with respect to any steady-state pair (u, y), i.e., with respect to any u, y such that y ∈ r(u). ii) The steady-state input-output relation r is maximally monotone. That is, if (u 1 , y 1 ), (u 1 , y 2 ) ∈ r then (u 1 − u 2 )(y 1 − y 2 ) ≥ 0, and r is not contained in any larger monotone relation [26]. The passivity index of the system Υ is defined as min where ρ u,y is the passivity index with respect to (u, y).
Such systems include single integrators, gradient systems, port-Hamiltonian systems on graphs, and others (see [25], [28] for more examples). In this work we often consider networks of control-affine systems. The theorem below gives a sufficient condition for a control-affine system to be MEIP: is positive for all x, that h is strictly monotone C 1 ascending, and that f /q is C 1 and monotone ascending.
1) A pair (u, y) is a steady-state input-output pair for Σ if and only if there exists some x ∈ R such that u = f (x)/q(x) and y = h(x); 2) For any x ∈ R, the function dσ is a storage function for the steady-state input-output pair ∞, then the system is MEIP. 5) If the derivative of h is always positive, then the inverse steady-state relation k −1 is differentiable.
Proof. The first, second and fourth parts are proved in [33,Proposition 1]. As for the third, we note that: ≥ 0 by monotonicity. Moreover, we note that dσ ≥ 0, with strict inequality whenever x = x, as h is strictly monotone and q(x) > 0. Thus S is a C 1 storage function, and we conclude the system is passive with passivity index ρ ≥ 0 with respect to the steady-state input-output pair (u, y). Lastly, we note that because h is strictly monotone, the inverse h −1 can be defined. Thus, the inverse steady-state relation k −1 is given by k −1 (y) = f (h −1 (y)) q(h −1 (y)) , which is differentiable by the inverse function theorem.
As we previously remarked, MEIP can be used to prove existence of a closed-loop equilibrium for networks: [27]). Consider the network (G, Σ, Π). Assume the agents Σ i are MEIP, and the controllers Π e are output-strictly MEIP (or vice versa). Then the signals u(t), y(t), ζ(t), µ(t) of the closed-loop system converge to steady-state values u, y, ζ, µ, where 0 ∈ k −1 (y) + E G γ(E G y).

C. The Synthesis Problem for MEIP Multi-Agent Systems
The synthesis problem of MAS with MEIP agents has been studied in [27], [28]. The problem deals with synthesizing controllers {Π e } forcing the closed-loop network to converge to some desired steady-state output y , when the agents Σ and the graph G are known. We cite the following results from [28]: 28]). Let Σ be any MEIP agents and let G be any graph. Let y ∈ R |V| be any desired steady-state output. Then there exists a solution to the synthesis problem (i.e., a realization of the controllers Π) with desired output y for which the controllers are output-strictly MEIP. Remark 1. The paper [28] depicts many possible solutions to the synthesis problem with output-strictly MEIP controllers. It is shown that one can always solve the problem using affine controllers. Another suggested solution is an augmentation of any preferred output-strictly MEIP controller with a constant exogenous input. In practice, we will usually opt for the augmentation procedure when using the theorem as a tool for synthesis, as many real-world networks are already equipped with some given edge controllers. If this is not the case, one can use the affine controllers instead.

III. PROBLEM FORMULATION
This section presents the problem we aim to solve, and states the assumptions we make to tackle it. We consider a diffusively-coupled network of the form is the interaction graph, Σ i are the agents, and Π e are the edge controllers. For any subgraph H = (V, E H ) of G, we can consider another diffusively-coupled network N H = (H, {Σ i } i∈V , {Π e } e∈E H ). We can think of N H as a faulty version of N G , in which the edge controllers corresponding to the edges E G \ E H have malfunctioned and stopped working. Edges can fault midrun, but we assume that once an edge has malfunctioned, it remains faulty for the remainder to the run. If we let G be the collection of all nonempty subgraphs of G, then one can think of the closed-loop diffusively-coupled network as a switched system, where the switching signal ς : [0, ∞) → G designates the functioning edges at each time instant. The assumption that faulty edges remain faulty throughout the run can be described using the switching signal ς. Namely, we require that the switching signal ς is non-increasing, in the sense that for all times t 1 < t 2 , ς(t 2 ) is a subgraph of ς(t 1 ). We denote the number of faulty edges at time t byς(t). Now, consider a collection of agents {Σ i } and a graph G. Fix some constant vector y ∈ R |V| . Our goal is to design a control scheme for which the closed-loop network will converge to the steady-state output y . In the absence of faults, we can solve the synthesis problem as in Theorem 3. However, designing controllers while ignoring faults might prevent the system from achieving the control goal. For that reason, we also seek for a fault monitoring system, consisting of the agents and networked controllers, that attempts to identify aberrant behavior. When it does, it declares a fault [34]. We now formulate the problems of network fault detection and isolation: Problem 1 (Network Fault Detection). Let {Σ i } i∈V be a set of agents, G be a graph, y be any desired steady-state output, and let ς(t) be any non-increasing switching signal. Find edge controllers {Π e } e∈E G and a fault monitoring system such that, i) if no faults occur, i.e. ς(t) = G, ∀t, then the closed-loop diffusively-coupled network converges to the steady-state output y , and the fault monitoring system never declares a fault; ii) if faults do occur, i.e. ∃t, ς(t) = G, then the fault monitoring system declares a fault.
Problem 2 (Network Fault Detection and Isolation). Let {Σ i } i∈V be a set of agents, G be a graph, and y be any desired steady-state output. Given some r < |E G |, find a synthesis for the edge controllers such that for any monotone non-increasing switching signal ς such thatς(t) ≤ r, ∀t, the closed-loop diffusively-coupled network converges to the steady-state output y , i.e., the effect of up to r faults can be isolated from the network. 1

A. Assumptions
We now state the assumptions used throughout the work. For the remainder of this work, we fix the agents {Σ i }, and make the following assumption. The passivity assumption assures that all the systems N H will globally asymptotically converge to some limit. The added smoothness assumptions, together with the positive derivative assumption, are technical assumptions that are needed to apply tools from manifold theory that will be used later. The passivity assumption allows the consideration of, e.g. port-Hamiltonian systems and gradient-descent systems [25]. Moreover, if a system satisfies any dissipation inequality with respect to all equilibria, one can use output-feedback and input-feedthrough to force MEIP [35]. Theorem 1 shows that the smoothness assumption holds for many control-affine systems. Moreover, it can be easily shown using the definition of passivity that if Σ i is output-strictly MEIP with passivity index ρ, then Furthermore, the smoothness assumption can be relaxed by allowing k −1 i , γ e to not be differentiable at finitely many points. The arguments presented below still hold, but require heavier tools from measure theory, so we avoid them for clarity of presentation.
In some cases, we need to sense the state of the system, including the state of the controllers. Sometimes, the control 1 Some authors refer to fault isolation in this case as identifying the faulty links, which is achieved by the algorithms in Subsection V-C as a side effect. model is such that the controller state has a physical meaning that can be measured even for non-connected agents. For example, in the traffic control model in [36], the state η e is the relative position between two vehicles. However, the controller state of some systems might not have a physical meaning. For example, consider a collection of robots trying to synchronize their positions, where the output y(t) is the position of each robot and the edge controllers are PI controllers. In that case, the controller state η(t) has no physical meaning, and thus cannot be defined for non-connected agents. Some of the techniques developed later require us to be able to sense the state of the system, including the controllers' states. Thus, we will sometimes make the following assumption: The controllers Π e are static nonlinearities given by the functions g e , i.e., µ e (t) = g e (ζ e (t)) for all t. In this case, the steady-state relation γ e is equal to the function g e , and the closed- In one of the methods below, we will want to have a clear relationship between the measurements h i (x i ) and the storage functions S i (x i ). To achieve this, we follow Theorem 1 and assume that the agents are control-affine: Assumption 3. Assumption 2 holds, and the agents have the Thus, the closedloop system is governed by: It should be noted that the MEIP property for the static controllers g e reduces to monotonicity of the functions g e .
In the next section, we start heading toward a solution to Problems 1 and 2. We do so by exhibiting a method for asymptotically differentiating between the nominal dynamical system N G and the faulty dynamical systems N H . Later, we show how this asymptotic differentiation can induce a finitetime differentiation of the systems.

IV. ASYMPTOTIC DIFFERENTIATION BETWEEN NETWORKS
In this section, we develop the notion of edge-indication vectors, which will be used for network fault detection later. In [14], the notion of indication vectors was first developed. These are constant exogenous inputs used to drive the closedloop system, chosen appropriately to give different steadystate limits for systems with identical agents and controllers, but different underlying graphs. The idea of using constant exogenous inputs to drive the system into favorable steadystate outputs was also used in [29] to give a network reconstruction algorithm with optimal time complexity, although it considers sets of multiple constant exogenous inputs applied in succession. Here, we opt for a slightly different strategy.
In [14], [29], the problem of network reconstruction was considered, in which we cannot affect the agents, controllers, or the underlying graph. In network FDI, we are doing synthesis, so we can manipulate the controllers and (in most cases) the underlying network. For that reason, we opt for a slightly different idea, in which we add a constant exogenous signal to the output of the controllers, that is, we consider u(t) = −E G (µ(t) + w). A system implementing this control law is said to have the interaction protocol (Π, w). Analogously to the notion of indication vectors, we desire that networks with identical agents and controllers, but different underlying graphs, will be forced to converge to different steady-state outputs. This is because we can monitor the output y of the system and use it to detect changes in the underlying graph, i.e., network faults. For that, we first determine what the steady-state limit is for these systems (G, Σ, (Π, w)). Proposition 1. Consider a diffusively-coupled network N H = (H, Σ, Π) satisfying Assumption 1. Suppose that w ∈ R |E H | is any constant signal added to the controller output, i.e., the loop is closed as u(t) = −E H (µ(t) + w). Then y is a steadystate output of the closed-loop system if and only if Proof. Follows from the discussion after Definition 1, as the new steady-state relation for the controllers is given asγ(ζ) = γ(ζ) + w.
In our case, the constant signal w will be in R |E G | , as we determine the exogenous controller output on each edge of G. If one then considers the system N H for some H ∈ G, then the exogenous controller output will be different from w, as it will only have entries of w corresponding to edges in H. To formulate this, take any graph H ∈ G, and let P H be the linear map R |E G | → R |E H | removing entries corresponding to edges absent from H. In other words, this is a R |E H |×|E G | matrix with entries in {0, 1}, whose rows are the rows of the identity matrix Id ∈ R |E G |×|E G | corresponding to the edges of H.
We can now define the notion of edge-indication vectors.
Definition 4. Let (G, Σ, Π) be a network satisfying Assumption 1. Let w ∈ R |E G | by any vector, and for any graph H ∈ G, we denote the solution of (4) with underlying graph H and exogenous input P H w by y H .
• The vector w is called a (G, H)-edge-indication vector if for any H ∈ G such that H = H, we have y H = y H . • The vector w is called a G-edge-indication vector if for any two graphs H 1 = H 2 in G, y H1 = y H2 .

Note 1. An edge-indication vector is a bias chosen on each edge in G.
This bias can be programmed into the controllers and nodes, and need not be changed nor computed on-line. In this light, for any w ∈ R |E G | , (4) transforms into We wish to find a G-edge-indication vector for given agents and controllers, or at least a (G, G)-edge-indication vector. As in [14], we use randomization. We claim that random vectors are G-edge-indication vectors with probability 1.
Theorem 4. Let P be any absolutely continuous 2 probability measure on R |E G | . Let w be a vector sampled according to P. Then P(w is a G-edge-indication vector) = 1.
Proof. From the definition, w is not a G-edge-indication vector if and only if there are two graphs G 1 , G 2 ∈ G such that the same vector y solves equation (5) for both graphs. We show that for any G 1 , G 2 ∈ G, the probability that the two equations share a solution is zero.
Let n be the number of vertices in G. For each graph The set of steadystate exogenous input and output pairs for the system N H is given by the set A H = {(y, w) : F H (y, w) = 0}. We note that the differential dF H always has rank n. Indeed, it can be written as By assumption 1, the first matrix, of size n × n, is positive-definite as a sum of a positive-definite matrix and a positive semi-definite matrix, hence invertible. Thus, by the implicit function theorem, A H is a manifold of dimension |E G |. Moreover, by Assumption 1, for any w there is a unique y such that (4) is satisfied. Thus, P gives rise to an absolutely continuous 3 probability measure on each manifold A H . 4 Hence, it is enough to show that for any To show this, we take any point (y, w) ∈ A G1 ∩ A G2 . As both A G1 , A G2 are of dimension |E G |, it is enough to show that they do not have the same tangent space at (y, w). The tangent space of the manifold A H is given by the kernel of the differential dF H (y, w) : R n × R |E G | → R n , so we show that if G 1 = G 2 , the kernels ker dF G1 , ker dF G2 are different at (y, w). As G 1 = G 2 , we can find an edge existing in one of the graphs and not the other. Assume without loss of generality that the edge e exists in G 1 but not in G 2 , and let v = (0, 1 e ), where 1 e is the vector in R |E G | with all entries zero, except for the e-th entry, which is equal to 1. Then v ∈ ker dF H if and only if 1 e ∈ ker(E H P H ). It is clear that 1 e ∈ ker(E G1 P G1 ), as P G1 1 e = 1 e , and thus E G1 P G1 1 e = E G1 1 e = 0. Moreover, 1 e ∈ ker(E G2 P G2 ), as P G2 1 e = 0, so ker dF G1 = ker dF G2 at Theorem 4 presents a way to choose a G-edge-indication vector, but does not deal with the control goal. One could satisfy the control goal by using Theorem 3 to solve the synthesis problem for the original graph G, but we cannot assure we get an edge-indication vector. Note that any w ∈ ker E G P G gives a solution of (5) identical to the solution for w = 0. Thus, choosing an exogenous control input in ker E G P G does not change the steady-state output of the system N G . However, it does change the steady-state output of all other systems N H . This suggests to search for an edge-indication vector in ker E G P G . We show that this is possible if G is "sufficiently connected", defined below in an exact manner.
Proposition 2 (Menger's Theorem [31]). Let G be any connected graph. The following conditions are equivalent: 1) Between every two nodes there are k vertex-disjoint simple paths.
We will take special interest in 2-connected graphs. Specifically, we can state the following theorem about edge-indication vectors in ker E G P G .
Theorem 5. Let P be any absolutely continuous probability distribution on ker E H P H , where H is 2-connected. Suppose furthermore that w is a vector sampled according to P. Then P(w is a (G, H)-edge-indication vector) = 1.
We first need to state and prove a lemma: Let H be a 2-connected graph. Suppose we color the edges of H in two colors, red and blue. If not all edges have the same color, then there is a simple cycle in H with both red and blue edges.
Proof. Suppose, heading toward contradiction, that any simple cycle in H is monochromatic. We claim that for each vertex x, all the edges touching x have the same color. Indeed, take any vertex x, and suppose that there are two neighbors meaning there is another path from v 1 to v 2 which does not pass through x . Adding both edges to the path yields a simple cycle with edges of both colors, as {x, v 1 } is blue and {x, v 2 } is red. Thus, every node touches edges of a single color.
Let V red be the set of nodes touching red edges, and V blue be the set of nodes touching blue edges. We know that V red and V blue do not intersect. Moreover, if we had an edge between V red and V blue , it had a color. Assume, without loss of generality, it is blue. That would mean some vertex in V red would touch a blue edge, which is impossible. Thus there are no edges between V red and V blue . By assumption, there is at least one edge of each color in the graph, meaning that both sets are nonempty. Thus we decomposed the set of vertices in H to two disjoint, disconnected sets. As H is a connected graph, we find a contradiction and complete the proof.
We can now prove Theorem 5.
Proof. We denote m 1 = dim ker E H P H . The proof is similar to the proof of Theorem 4. We again define functions F G1 for graphs G 1 ∈ G n as F G1 (y, w) = k −1 (y) + E G1 g(E G1 y) + E G1 P G1 w, but this time we consider the function F G1 as defined on the space ker E H P H ⊂ R |E G | . As before, we define A G1 = {(y, w : F G1 (y, w) = 0} and use the implicit function theorem to show that A G1 are all manifolds, but their dimension this time is m 1 = dim ker E H P H . This time, we want to show that if H = G 1 , then A H ∩ A G1 is an embedded sub-manifold of dimension ≤ m 1 − 1, as we want to show that (with probability 1), the solutions (5) with graph G 1 and graph H are different. As before, it is enough to show that if (y, w) ∈ A G1 ∩ A H then the kernels ker dF G1 and ker dF H are different at (y, w). We compute that for any graph G 1 , where ·| ker E H P H is the restriction of the matrix to ker E H P H . Thus, if G 1 is any graph in G which is not a subgraph of H, it contains an edge e absent from H. Following the proof of Theorem 4 word-by-word, noting that 1 e ∈ ker E H P H , we conclude that the ker dF G1 and ker dF H are different at (y, w). Thus we restrict ourselves to non-empty subgraphs G 1 of H.
For any collection E of edges in E H , we consider v = (0, 1 E ), where 1 E is equal to e∈E 1 e . If E is a the set of edges of a cycle in H, then the vector v lies in the kernel of dF H . We show that there is some cycle in H such that v does not lie in the kernel of dF G1 , completing the proof. The graph G 1 defines a coloring of the graph H -edges in G 1 are colored in blue, whereas edges absent from G 1 are colored in red. Because G 1 is a non-empty proper subgraph of H, this coloring contains both red and blue edges. By the lemma, there is a simple cycle in H having both red and blue edges. Let E be the set of the edges traversed by the cycle.
We claim that E G1 P G1 1 E = 0, which will complete the proof of the theorem. Indeed, because the simple cycle contains both red and blue edges, we can find a vertex touching both a red edge in the cycle and a blue edge in the cycle. We let v be the vertex, and let e 1 , e 2 be the corresponding blue and red edges. Recalling the cycle is simple, these are the only cycle edges touching v. However, by the coloring, e 1 is in G 1 , but e 2 is not. Thus, and in particular, 1 E ∈ ker E G1 P G1 .

V. MONITORING NETWORK FAULTS
In this section, we consider two applications of the developed framework, namely network fault detection and isolation, and defense strategies for adversarial games over networks. We first present a simple algorithm for network fault detection. Then, we discuss defense strategies for adversarial games over networks, which will require a bit more effort. Lastly, we exhibit a network fault isolation protocol, which will be a combination of the previous two algorithms, which will be demonstrated in a case study in Section VII. In order to apply the framework of edge-indication vectors, we need an algorithm elevating the asymptotic differentiation achieved in the previous section to an on-line differentiation scheme. Thus, we make the following assumption: Assumption 4. There exists an algorithm A which receives a model for a diffusively-coupled network (G, Σ, Π) and a conjectured limit y as input, and takes measurements of the network in-run. The algorithm stops and declares "no" if and only if the network does not converge to y , and otherwise runs indefinitely. The algorithm A is called a convergence assertion algorithm.
In the language of Section III, this is a fault-monitoring system that never gives false positives nor false negatives. For now, we assume such algorithm exists. We will discuss this assumption in Section VI.

A. Detecting Network Faults
We first focus on Problem 1. To tackle the problem, we use the notion of edge-indication vectors from Section IV. Suppose we have MEIP agents {Σ i }. We first take any outputstrictly MEIP controllers {Π e } solving the classical synthesis problem, i.e., forcing the closed loop system to converge to y (see Theorem 3). As we noted, if w ∈ R |E G | lies in the kernel of E G P G , then the solution of the following equations is the same: Thus, if w lies in ker(E G P G ), running the interaction protocol (Π, w) does not change the steady-state output of the system. However, by Theorem 5, a random vector in ker(E G P G ) gives a (G, G)-edge-indication vector, as long as G is 2connected. Thus, using the interaction protocol (Π, w), where w ∈ ker E G P G is chosen randomly, will guarantee that all faulty system would converge to a steady-state different than y , with probability 1. Thus, applying the algorithm A allows an on-line, finite time distinction between the nominal faultless system and its faulty versions. We explicitly write the prescribed algorithm below:

Algorithm 1 Network Fault Detection in MEIP MAS
1: Find edge controllers {Π e } e∈E G solving the synthesis problem with graph G, agents Σ, and control goal y (see Theorem 3 and Remark 1). 2: Find a basis {b 1 , ..., b k } for the linear space ker E G P G 3: Pick a Gaussian vector α ∈ R k and define w = k i α i b i 4: Define the interaction protocol as (Π, w). 5: Run the system with the chosen interaction protocol. 6: Implement the algorithm A for the system (G, Σ, (Π, w)) with limit y . Declare a fault in the network if A declares that the system does not converge to the prescribed value.
Theorem 6 (Network Fault Detection). Suppose that n agents {Σ i } and an underlying graph G are given, and that {Σ i } satisfy Assumption 1. Suppose furthermore that G is 2connected. Then, with probability 1, Algorithm 1 synthesizes an interaction protocol (Π, w) solving Problem 1, i.e., the algorithm satisfies the following properties: i) If no faults occur in the network, the output of the closedloop system converges to y . ii) If any number of faults occur in the network, the algorithm detects their existence.
Proof. Follows from the discussion preceding Algorithm 1. Namely, Theorem 5 assures that w is a (G, G)-edge-indication vector, so long that G is 2-connected. In other words, the output of the closed-loop system with graph G converges to y , and for any graph G = H ∈ G, the output of the closed-loop system with graph H converges to a value different from y . It remains to show that the algorithm declares a fault if and only if a fault occurs. If no faults occur, A never declares a fault, and the same is true for Algorithm 1. On the contrary, assume any number of faults occur in the network, and let H be the current underlying graph. The output of the closed Algorithm 2 Planner Strategy in Adversarial Multi-Agent Synthesis Game with MEIP agents -Synthesis m . Let Graphs be an array with N entries, and let j = 1. 2: for = 0, · · · , r do 3: Insert the graph H = G −{e i1 , · · · , e i } to the j-th entry of Graphs. Advance j by 1.

11:
Compute the steady-state limit of the network with agents Σ, underlying graph Graphs(j), and interaction protocol (Π, w). Insert the result into SSLimits(j) 12: Solve the synthesis problem for agents Σ and underlying graph Graphs(j) as in Theorem 3 and Remark 1. Insert the result into Controllers(j) 13: end for loop system converges to y = y , so A eventually stops and declares that the network does not converge to the conjectured limit. Thus Algorithm 1 declares a fault.

B. Multi-Agent Synthesis in the Presence of an Adversary
Consider the following 2-player game. Both players are given the same n SISO agents Σ 1 , · · · , Σ n , the same graph G on n vertices and m edges, and the same vector y ∈ R n . There is also a server that can measure the state of the agents at certain intervals, and broadcast a single message to all agents once. The planner acts first, and designs a control scheme for the network and the server. The adversary acts second, removing at most r edges from G. The system is then run. The planner wins if the closed-loop system converges to y , and the adversary wins otherwise. We show that the planner can always win by using a strategy stemming from edge-indication vectors, assuming the agents are MEIP.
Namely, consider the following strategy. Take all possible r =0 m underlying graphs. For each graph, the planner solves the synthesis problem as in Theorem 3. If the planner finds out the adversary changed the underlying graph to H, he could notify the agents of that fact (through the server), and have them run the protocol solving the synthesis problem for H. Thus the planner needs to find a way to identify the underlying graph after the adversary took action, without using the server's broadcast. This can be done by running the system with a G-edge-indication vector, and using the server to identify the network's steady-state. Namely, consider Algorithms 2, 3 and 4, detailing the synthesis procedure and in-run protocol for the planner. We prove: Theorem 7. Consider the game above. With probability 1, Algorithms 2, 3 and 4 describe a winning strategy for the planner. Moreover, if r is independent of n (i.e., r = O(1)), the synthesis algorithm has polynomial time complexity. Otherwise, the time complexity is O(n cr ) for some universal constant c > 0. Furthermore, the size of the message broadcasted by the server is O(r log n).
Proof. Suppose the adversary changed the underlying graph to H, which has entry j in Graphs. We note that Assumption 4 assures that A never declares a fault if and only if the closedloop system converges to the conjectured steady-state, and that w is a G-edge-indication vector by Theorem 4. Thus, the j-th instance of convergence assertion protocol can never return a fault, and all other instances must eventually declare a fault. Thus, the server correctly guesses the underlying graph. It then broadcasts the index j to the agents, allowing them to change the interaction protocol and run the solution of the synthesis problem with desired output y and underlying graph H. Thus the network will converge to y , and the planner wins.
We now move to time complexity. Note that N = O(m r ). The first for-loop has N iterations, each of takes no more than O(mn) actions done (where a graph is saved in memory by its incidence matrix, which is of size ≤ m × n).

C. Detection and Isolation of Network Faults
We now consider Problem 2, in which faults occur throughout the run, and we want to detect their existence and overcome them. This problem can be thought of as a tougher hybrid of the previous two problems -in subsection V-A, the faults could appear throughout the run, but we only needed to find out they exist. In subsection V-B, all of the faults occur before the run, but we had to overcome them. Motivated by this view, we offer a hybrid solution. Ideally, the interaction protocol will have two disjoint phases -a first, "stable" phase in which the underlying graph is known and no extra faults have been found, and a second, "exploratory" phase in which Algorithm 3 Planner Strategy -In-Run Protocol for Agents 1: Run the interaction protocol (Π, w). 2: When a message j is received, run the interaction protocol described by Controllers(j).
Algorithm 4 Planner Strategy -In-Run Protocol for Server 1: Define HasFaulted as an array of zeros of size N . 2: while HasFaulted has at least two null entries do 3: Run N instances of the algorithm A simultaneously, with conjectured steady-states limits from SSLimits. 4: for j = 1 to N do 5: if The j-th instance declared "no" then 6: Change the value of HasFaulted(j) to 1. is not yet known. The first phase can be solved by using the network fault detection Algorithm 1, as long as the current underlying graph is 2-connected. The second phase can be solved by the pre-broadcast stage of the planner strategy described in Algorithms 2, 3, and 4. The main issue that remains is what happens if the underlying graph changes again in the exploratory phase, i.e. we entered the exploratory phase with underlying graph H 1 , but it changed to H 2 before we identified that graph. In the exploratory phase, we run an instance of A on all of the possible graphs simultaneously, until all but one instance declared a fault. If the instance related to H 2 has not declared a fault yet, it will not declare a fault from now on, unless another fault occurs before the end of the exploratory phase. If the same instance has already declared a fault, we have a problem -all other instances will eventually also declare a fault, and there are two options in this case.
The first option is that one instance will declare a fault last, i.e. there is a time in which all but one instance have declared a fault. In this case, we identify the graph as some H 3 . When we return to the stable phase and run the interaction protocol (Π, w) corresponding to H 3 , a fault will be declared and we will return to the exploratory phase. This is because w was synthesized as a (G, H 3 )-edge-indication vector, meaning the de-facto steady-state limit (with graph H 2 ) will be different than the conjectured steady-state limit (with graph H 3 ), and A will declare a fault. The second option is that the last few instances of the convergence assertion protocol declare a fault simultaneously, i.e. there is a time in which all instances have declared a fault, which is dealt with by restarting the exploratory phase. We get the synthesis algorithm and in-run protocol presented in Algorithms 5 and 6. We claim these solve Problem 2. We prove: Theorem 8. Let Σ 1 , · · · , Σ n be agents satisfying Assumption 1, and let G be a k-connected graph for k ≥ 3 on n vertices and m edges. Then, with probability 1, Algorithms 5 and 6, run with r = k − 2, solve Problem 2 for up to r faults.
Proof. We refer to steps 2 to 3 of Algorithm 6 as the stable phase of the algorithm, and to steps 4 to 13 as the exploratory phase. As the number of faults is no bigger than r = k −2, the underlying graph remains 2-connected throughout the run. We m . Let Graphs be an array with N entries, and let j = 1 2: for = 0, · · · , r do 3: for 1 ≤ i 1 < i 2 < · · · < i < m do 4: Insert the graph H = G −{e i1 , · · · , e i } to the j-th entry of Graphs. Advance j by 1.

12:
Compute the steady-state limit of the closed-loop system with the interaction protocol (Π, w). Insert the result into SSLimits(j) 13: end for Algorithm 6 In-Run Protocol for Network Fault Isolation 1: Find the index j for which Graphs(j) = G. 2: Command the agents to change their interaction protocol to the one described in IP(j). Define H = Graphs(j). 3: Run A for the closed-loop system with graph H and interaction protocol IP(j). Only if the algorithm declares a fault, continue to step 4. 4: Define HasFaulted as an array of zeros of size N . 5: Change the agents' interaction protocol to (Π, w). 6: while HasFaulted has at least two null entries do 7: Run N instances of the convergence assertion protocol from Assumption 4 simultaneously, with conjectured limits from SSLimits. 8: for j = 1 to N do 9: if The j-th instance has declared a fault then 10: Change the value of HasFaulted(j) to 1. claim the theorem follows from the following simple claims: 1) If we are in the stable phase, the current underlying graph is H = Graphs(j), and no more faults occur throughout the run, the closed-loop system converges to y . 2) If we are in the stable phase, but the assumed graph H = Graphs(j) is not the current underlying graph, we will eventually move to the exploratory phase. 3) Each instance of the exploratory phase eventually ends. 4) If an instance of the exploratory phase is executed, and no more faults occur throughout the run, it correctly identifies the current underlying graph.
We first explain why the claims hold with probability 1. Claims 1 and 2 follow from Theorem 6 with probability 1, as the underlying graph G is always 2-connected. Claim 4 holds with probability 1, as follows from Theorem 7. As for Claim 3, if no faults occur throughout the instance of the exploratory phase, then it eventually ends by Claim 4. If faults do occur throughout the run, the discussion above shows that at some time, all (except possibly one) instances of the convergence assertion protocol have declared a fault. If all of them declared a fault, we start another instance of the exploratory phase, and otherwise, we move to the stable phase. In either case, the instance of the exploratory phase ends, and Claim 3 is proved. We now explain how the theorem follows from these claims. Suppose a total of ≤ r faults occur throughout the run. Let T < ∞ be the time at which the last fault occurs. We look at the phase of the algorithm at times t > T , and show that in either case the system must converge to y .
i) If we arrive at the stable phase with and the conjectured graph H is the true underlying graph, then the system converges to y (Claim 1). ii) If we start an instance of the exploratory phase, it eventually ends (Claim 3) and the stable phase starts, in which the conjectured graph H is the true underlying graph (Claim 4). By i), the system converges to y . iii) If we are in the stable phase, but the conjectured graph H is different from the true underlying graph, we eventually start an exploratory phase (Claim 2). Thus, the system converges to y by ii). iv) Lastly, we could be in the middle of an instance of the exploratory phase. In that case, the instance eventually ends (Claim 3), after which we either apply a new instance of the exploratory phase, or the stable phase. In both cases, we can use either i), ii) or iii) and conclude the system must converge to y .
Remark 2. We can use a similar protocol to isolate more complex faults. We consider the collection of subgraphs H of G in which there is a set of vertices of size ≤ r, so that each edge in G−H touches at least one vertex in the set. This observation allows us to offer similar network fault detection and isolation algorithms for more complex types of faults. For example, we can consider a case in which each agent communicates with all other agents by a single transceiver, and if it faults, then all edges touching the corresponding vertex are removed from the graph. We can even use a hybrid fault model, in which faults correspond to certain subsets of edges touching a common vertex are removed from the graph. For example, suppose there are two distant groups of agents. Agents in the same group are close, and communicate using Bluetooth communication.
Agents in different groups are farther, and communicate using Wi-Fi (or broadband cellular communication). When an agent's Bluetooth transceiver faults, all inter-group edges are removed, and when the Wi-Fi transceiver faults, all intra-group edges are removed.

VI. ONLINE ASSERTION OF NETWORK CONVERGENCE
In the previous section, we used the notion of edgeindication vectors, together with Assumption 4, to suggest algorithms for network fault detection and isolation. The goal in this section is to propose algorithms A satisfying Assumption 4. This will be achieved by using convergence estimates, relying on passivity. We revisit a result from [25].

Proposition 3 ( [25]
). Let (u, y, ζ, µ) be a steady-state of (G, Σ, Π) of the form (1). Suppose that the agents Σ i , with state x i , are passive with respect to (u i , y i ) with passivity index ρ i ≥ 0, and that the controllers Π e , with state η e , are passive with respect to (ζ e , µ e ), with passivity index ν e ≥ 0. Let S i (x i ) and W e (η e ) be the agents' and the controllers' storage functions. Then S(x, η) = i∈V S i (x i ) + e∈E W e (η e ) is a positive-definite C 1 -function, which nulls only at the steadystates (x, η) corresponding to (u i , y I ) and (ζ e , µ e ), and satisfying the inequality: Proof. The proof follows immediately from S i , W e being positive-definite C 1 -functions nulling only at x i , η e , by summing the following inequalities: and using the equality The inequality (6) can be thought of as a way to check that the system is functioning properly. Indeed, we can monitor x, y, η, and µ, and check that the inequality holds. If it does not, there must have been a fault in the system. This idea has a few drawbacks, linked to one another. First, as we commented in Subsection III-A, in some networks, the controller state η e (t) can be defined only for existing edges, so using η(t) requires us to know the functioning edges, which is absurd. Thus, in some cases, we must use Assumption 2. Second, in practice, even if we have access to x, we cannot measure it continuously. Instead, we measure it at certain time intervals. One can adapt (6) to an equivalent integral form: where ∆y i = y i (t) − y i and ∆µ e = µ e (t) − µ e . However, this gives rise to the third problem -unlike the function S, we can not assure that the functions (y i (t)−y i ) 2 and (µ e (t)−µ e ) 2 (or their sum) is monotone. Thus, we cannot compute the integral appearing on the right-hand side of the inequality. We present two approaches to address this problem. First, we try and estimate the integral using high-rate sampling, by linearizing the right hand side of (7) and bounding the error. Second, we try to bound the right-hand side as a function of S, resulting in an inequality of the formṠ ≤ −F(S), which will give a convergence estimate.

A. Asserting Convergence Using High-Rate Sampling
Consider the inequality (7), and suppose t k+1 − t k = ∆t k is very small, so the functions y i (t) − y i and µ e (t) − µ e are roughly constant in the time period used for the integral. More precisely, recalling that y = h(x) and µ = φ(η, E G y), and assuming these functions are differentiable near x(t k ), η(t k ), we expand the right-hand side of (7) to a Taylor series, We wish to give a more explicit bound on the O(∆t 2 k ) term. We consider the following function G, defined on the interval [t k , t k+1 ] by the formula The equation (8) is achieved from the approximation If we manage to bound the time derivative dG dt in the interval [t k , t k+1 ], we would find a computational way to assert convergence. By the chain rule, the time derivative of G is given by In order to compute the time derivative of y i , µ i , we recall that both are functions of x and η, namely y = h(x) and µ = φ(η, E G y) = φ(η, E G h(x)). Thus, we have that ẏ = ∇xh(x(t))ẋ µ = ∇ηφ(η(t), ζ(t))η + ∇xφ(η(t), ζ(t))E G ∇h(x(t))ẋ, where ). Thus we can write the time derivative of G as a continuous function of x(t), η(t), as we plug the expressions forẏ,μ into (10). However, we do not know the value of x(t), η(t) between measurements.
To tackle this problem,notice that we have some information on where x(t), η(t) can lie. Namely, equation (6) shows that S(x(t), η(t)) is a monotone descending function. Thus, we know that x(t), η(t) lie in the set B = {x, η : S(x, η) ≤ S(x(t k ), η(t k ))}. More precisely, we show the following.
Corollary 1. Fix any two times t k < t k+1 , and consider the notation of Proposition 4. Then the following inequality holds: The corollary proposes a mathematically-sound method for asserting convergence of the output y(t) to y. One samples y(t), x(t), η(t), and µ(t) at times t 1 , t 2 , t 3 , . . .. At every time instance t k+1 , one checks that the inequality (12) holds. We show that when ∆t k → 0, this method asserts that the output of the system converges to the said value. In other words, assuming we sample the system at a high-enough rate, we can assert it converges very closely to the supposed steady-state output. Indeed, we prove the following.
Proposition 5. Let t 1 , t 2 , · · · , be any monotone sequence of times such that t k → ∞, and suppose that the inequality (12) holds for any k. Then for any ε > 0, there are infinitely many N > 0 such that i∈V ρ i ∆y i (t N ) 2 + e∈E ν e ∆µ e (t N ) 2 < M 2 ∆t N + ε. More precisely, for any two times t N1 ≤ t N2 , if t N2 ≥ t N1 + ε −1 S(x(t N1 ), η(t N1 )), then there exists some k ∈ {N 1 , N 1 + 1, · · · , N 2 } such that i∈V ρ i ∆y i (t k ) 2 + e∈E ν e ∆µ e (t k ) 2 < M 2 ∆t k + ε. The proposition can be thought of as a close-convergence estimate. The left-hand side, viewed as a function of x, η, is a non-negative smooth function, which nulls only at the steady-state (x, η). Thus it is small only when x(t), η(t) are close to (x, η), and because we know that S(x(t), η(t)) is monotone descending, once the trajectory arrives near (x, η), it must remain near (x, η). One might ask why "infinitely many times" is more useful in this case. Indeed, it does not add any more information if the time intervals ∆t k are taken as constant (i.e., we sample the system at a constant rate). However, we can measure the system at an ever-increasing rate, at least theoretically. Taking ∆t k → 0 (while still having t k → ∞, e.g. t k = 1/k), we see that we must have x(t) → x and η(t) → η, meaning we can use the proposition to assert convergence. We now prove the proposition.
Proof. It is enough to show that for each ε > 0 and any N 1 > 0, there is some N > N 1 such that i∈V ρ i ∆y i (t N ) 2 + e∈E ν e ∆µ e (t N ) 2 < M 2 ∆t N + ε. Indeed, suppose this is not the case. Then for any k > N 1 , the right-hand side of (12) is upper-bounded by −ε∆t k . We sum the telescopic series and conclude that for any k > N 1 , , η(t k )) < 0. This is absurd, as S ≥ 0. Thus there must exist some N > N 1 such that i∈V ρ i ∆y i (t N ) 2 + e∈E ν e ∆µ e (t N ) 2 < M 2 ∆t N + ε. The second part follows from (13) and the demand that S(x(t k )) ≥ 0.
Proposition 5 can be used for convergence assertion. We can consider the following scheme -begin at time t 0 and state x 0 , η 0 . We want to show that S(x(t), η(t)) → 0. We instead show that G(t), defined in (9), gets arbitrarily close to 0. As we said, this is enough as G(t) is a C 1 non-negative function of the state x(t), η(t) that is only small when x(t), η(t) is close to the steady-state (x, η). We prove: Theorem 9. Consider the algorithm A , defined in the following form. Sample the system at times t 1 , t 2 , · · · , and check whether the inequality (12) holds. If it does, continue, and if does not, then stop and declare "no". Then there exists a sequence t 1 , t 2 , · · · , depending on the system and the initial conditions, such that A satisfies assumption 4.
Proof. We present the following method of choosing t 1 , t 2 , · · · . We first choose t 0 = 0, an arbitrary δ 1 > 0, compute M as in Proposition 4, and choose ∆ 1 t = δ1 M and ε = δ1 2 . Sample the system at rate ∆ 1 t until time t N1 > t 0 + ε −1 S(x 0 , η 0 ). The process is then reiterated with δ k+1 = δ 1 /2 k for k = 1, 2, · · · , giving rates ∆ k t and times t N k . We claim that A , with this choice of sample times, satisfies Assumption 4. If the diffusively-coupled network (G, Σ, Π) converges to (x, η), then Corollary 1 implies the algorithm never stops, as required. It remains to show that if the algorithm never stops, the network converges to the conjectured limit. By the discussion above, and the fact that S(x(t), η(t)) is a monotone descending function, it is enough to show that lim inf k→∞ G(t k ) = 0. We first show at some point, G(t) < δ 1 . By choice of ∆ 1 t, if (12) holds at each time, then when we reach time t N1 , we know that at some point, we had G(t) ≤ M 2 ∆ 1 t + = δ 1 . Reiterating shows that at some times t k , G(t k ) ≤ δ k , where δ k+1 = δ1 2 k , so lim inf k→∞ G(t k ) = 0.
The term "High-Rate Sampling" comes from the fact that if M is not updated when we re-iterate with smaller δ, then eventually, t k+1 − t k → 0, which is impractical in real-world cases. However, we note that the number M decreases as S(x(t), η(t)) decreases, as shown in Proposition 4. Thus, if M is updated between iterations, we might have ∆t → 0.

Remark 3.
There is a trade-off between the time-steps ∆t and the time it takes to find a point in which G(t) < M 2 ∆t + ε, which is t = S(x(0),η(0)) ε . On one hand, we want larger time-steps (to avoid high-rate sampling) and shorter overall times, however, increasing both ∆t and ε creates a worse eventual bound on G(t). We can choose both by maximizing an appropriate cost function C(∆t, ε), monotone in both ∆t and ε, subject to M 2 ∆t + ε = δ 1 , ε ≥ 0, ∆t ≥ 0. Choosing C(∆t, ε) as linear is inadvisable, as the maximizing a linear function with linear constraints always leads to the optimizer being on the boundary, which means either ∆t = 0 or ε = 0. The choice ∆t = δ1 M and ε = δ1 2 mentioned above corresponds to the geometric average cost function C(∆t, ε) = √ ∆tε. Other choices of C can express practical constraints, e.g. relative apathy to large convergence times relative to highrate sampling should result in a cost function penalizing small values of ∆t more harshly than small values of ε.

B. Asserting Convergence Using Convergence Profiles
For this subsection, we now assume that Assumption 3 holds and that the agents are output-strictly MEIP, i.e., that ρ i > 0. Consider (6) and suppose there is a non-negative monotone function F such that for any t, the right-hand side of (6) is bounded from above by −F(S). In that case, we get an estimate of the formṠ ≤ −F(S). This is a weaker estimate than (6), but it has a more appealing discrete-time form, where we use the monotonicity of F and the fact that S(x(t)) is monotone non-ascending. Due to Assumption 3, we focus on the elements of the right-hand side of (6) corresponding to the agents, and neglect the ones corresponding to controllers, as S is now the sum of the functions S i (x i ). Because controllers are passive, we have ν e ≥ 0, so removing the said term does not change the inequality's validity. In order to find F, it is natural to look for functions Ω i satisfying Ω i (S i ) ≤ (y i (t) − y i ) 2 . We define the existence of the functions Ω i properly in the following definition.
More generally, when considering an LTI system with no input-feedthrough, both functions S(x) and (y(t) − y) 2 are quadratic in x. Thus there is a monotone linear function Ω such that the inequality Ω(S(x(t)) ≤ (y(t)−y) 2 holds. In particular, a function Ω exists in this case. We show that functions Ω exist for rather general systems.
Theorem 10. Let Σ be the SISO system of the formẋ = −f (x) + q(x)u, y = h(x). Suppose q is a positive continuous function, that f /q is C 1 and monotone ascending and that h is C 1 and strictly monotone ascending. Let (u = f (x)/q(x), y = h(x)) be any steady-state input-output pair of the system. Then i) using the storage function dσ, the system Σ has the convergence profile (ρ, Ω) for a strictly ascending function Ω and ρ = inf x ii) suppose there exists some α > 0 such that the limit lim x→x exists and is finite. Then the limit lim θ→0 θ β exists and is finite, where β = 2α α+1 . In other words, if h behaves like a power law near x, then Ω behaves like a power law near 0.
Proof. The passivation inequality follows from Theorem 1, so we focus on constructing the function Ω. For every θ ≥ 0, we define the set A θ = {x ∈ R : (h(x) − h(x)) 2 ≤ θ}. We want that x ∈ A θ would imply that that Ω(S(x)) ≤ θ. Because h is continuous and monotone, it is clear that A θ is an interval containing x. Now, let ω be the function on [0, ∞) defined as ω(θ) = sup x∈A θ S(x). We note that ω can take infinite values (e.g. when h is bounded, but S is not). However, we show that the restriction of ω on {θ : ω(θ) < ∞} is strictly monotone. If we show that this claim is true, then ω has an inverse function which is also strictly monotone. Define Ω = ω −1 as the strictly monotone inverse function. By definition, for any x ∈ R we have that x ∈ A θ for θ = (h(x) − h(x)) 2 , so S(x) ≤ ω(θ).
We now move to the second part of theorem, in which we show that if h behaves like a power law near x, then Ω behaves like a power law near zero. We use big-O notation (in the limit x → x). By assumption and strict monotonicity of h, we have: . By definition, we conclude that for θ > 0 small enough, A θ is an interval centered at x and has radius θ 1/2α /C 1/α + o(θ 1/2α ). We recall that dσ. We write q(x) = q(x) + o(1) as q is continuous, so (15) implies that . We now compute ω(θ) by definition, using our characterization of A θ : 1+α , as desired.
Example 2. Consider a system with q(x) = 1, h(x) = 3 √ x and a steady state u = x = y = 0. h(x) behaves like a power law with power α = 1 3 . Part ii) of Theorem 10 implies that Ω also behaves like a power law, with power β = 2α α+1 = 1 2 . We exemplify the computation of Ω as done in the proof, and show it behaves like a power law with β = 1 2 , as forecasted by the theorem. Indeed, Thus ω(θ) = sup x∈A θ S(x) = sup |x|≤θ 1.5 3 4 x 4/3 = 3 4 θ 2 , implying that Ω, the inverse function of ω, is given by 4 3 θ, and one observes that actually (h(x) − h(x)) 2 = Ω(S(x)). √ θ for θ < 1 and ω(θ) = ∞ for θ ≥ 1, which is almost impossible to invert analytically. To solve this problem, we can either precompute the different values of Ω numerically and store them in a table, or approximate them on-line using the bisection method. The strength of Theorem 10 is that it shows that a function Ω can always be found, implying this method is always applicable.
Up until now, we managed to transform the equation (7) to the equation dS dt ≤ i −ρ i Ω i (S i ), for some non-negative monotone functions Ω i . This is closer to an inequality of the formṠ ≤ −F(S), but we still cannot use it without high-rate sampling, as we cannot assume that S i (x i (t)) are monotone decreasing. We want to transform the right hand side into a function of S. We note that Ω i (θ i ) = 0 only at θ i = 0, as S i = 0 happens only at x i . We claim the following: Proposition 6. Let ρ 1 , ..., ρ n be any positive numbers, and let Ω 1 , ..., Ω n : [0, ∞) → [0, ∞) be any C 1 strictly monotone functions such that Ω i (θ i ) = 0 only at θ i = 0. Suppose further that for any i there exists some β i > 0 such that the limit lim θi→0 Ωi(θi) θ β i i exists and is positive. Define Ω : as Ω (θ) = min i Ω i (θ). Then for every D > 0, there exists some constant C > 0 such that for all D ≥ θ 1 , · · · , θ n ≥ 0, we have The proof of the proposition can be found in the appendix.
Corollary 2. Let S 1 , ..., S n be the storage functions of the agents, let S = i S i , and let Ω 1 , · · · , Ω n be C 1 strictly monotone functions such that Ω i (θ i ) = 0 only at θ i = 0. Suppose that for any i there exists some β i > 0 such that the limit lim θi→0 exists and is positive. Moreover, Suppose Then for every bounded set B ⊂ R n there exists a constant C > 0 such that for any trajectory of the closed-loop system with initial condition in B, the inequalitẏ S ≤ −C · Ω (S) holds, where Ω (θ) = min i Ω i (θ).
Proof. Use θ i = S i and D = S(x(0)) in Proposition 6.
Proposition 6 and Corollary 2 show that an inequality of the form (14) can be achieved, so long the functions Ω i from Theorem 10 "behave nicely" around 0, namely do not grow faster nor slower than a power law. This condition is very general, and only excludes pathologies as Ω(θ) = 1 log(1/θ) , growing faster than any power law, and Ω(θ) = exp(−1/θ 2 ), growing slower than any power law. Theorem 10 shows that if h behaves like a power law near x, then so does Ω, so pathological functions Ω can only come from pathological measurement functions h i . We show it is enough to check the discretized equation (14) to assert convergence.
Proof. We denote the true limit of the system (G, Σ, Π) by x. We first assume the algorithm never stops, and show that x = x . We show that S(x(t k )) ≤ δ k , which would suffice as δ k → 0 and S(t) → 0 implies that x(t) →x, and thus x =x. Suppose, heading toward contradiction, that S(x(t k )) ≤ δ k .
Then Ω(S(x(t k ))) ≥ M , meaning that the right-hand side of the checked inequality is larger than −S(x(t k )). Thus, if the inequality holds then S(x(t k+1 )) < 0, which is absurd. Thus S(x(t k )) ≤ δ k , andx = x. On the contrary, if the conjectured limitx is the true limit of the network, then Theorem 10, Proposition 6 and Corollary 2 show that S(x(t k+1 )) − S(x(t k )) ≤ −Ω(S(x(t k+1 )))(x(t k+1 ) − x(t k )) always holds, so the algorithm never stops, as expected.
Remark 5. Proposition 7 shows we can take any sample times t k such that lim inf k→∞ (t k − t k−1 ) > 0, and still get a valid convergence assertion algorithm. The suggested algorithm gives extra information, as it also bounds the distance of x(t k ) from x. Another way to choose t k is to use the solution of the ODEṠ = −Ω(S) withS(t 0 ) = S(x 0 ). Let t k be the earliest time in whichS(t k ) ≤ δ k . The inequalityṠ ≤ −Ω(S) assures that S(x(t k )) ≤ δ k . This method is more demanding, as the minima M computed before can be stored in a table, but the solution to the ODE must be computed on-line.

Remark 6.
Although we can prove convergence with this method using very seldom measurements, we should still sample the system at a reasonable rate. This is because we want to detect faults as soon as possible. If we sample the system in too large intervals, we will not be able to sense a fault until a large amount of time has passed.
We conclude this section with a short discussion about the perks and drawbacks of the two presented convergence assertion methods. The convergence profile method allows the designer to sample the system at any desired rate, allowing one to prove convergence using very seldom measurements. Moreover, it gives certain rate of convergence guarantees before running the system. On the contrary, the high-rate sampling method can require a long time to assert convergence to a δ-ball around the desired steady-state, unless one is willing to increase the sampling rate, perhaps arbitrarily. However, its main upshot over the convergence profile method is that we need not assume that Assumption 3 holds, and that the method is computationally easier, as one can avoid function inversion needed to compute Ω.

VII. CASE STUDY: VELOCITY COORDINATION IN VEHICLES WITH DRAG
Consider a collection of n = 20 vehicles trying to coordinate their velocity. Each vehicle is modeled as a double integrator G(s) = 1/s 2 in vacuum, but is subject to drag in the real world. The drag model of a vehicle is usually modeled as a force against the direction of the vehicle's motion, which is quadratic in the size of the velocity [37, p. 164]. Thus, each vehicle has the following model: where x i is the velocity of the i-th vehicle, and C i is a constant which aggregates different parameters affecting the drag, e.g. density of the air, viscosity of the air, the geometry of the vehicle, and the mass of the vehicle. The vehicles are trying to coordinate their velocity -Agents #1−#7 want to travel at 60 km/h , agents #8−#13 want to travel at 70 km/h , and agents #14 − #20 want to travel at 50 km/h . The edge controllers are static nonlinearities given by sigmoid functions of the form µ e = tanh(ζ e ). This diffusively coupled network satisfies both Assumptions 1 and 3, and we note both the agents and the controllers are nonlinear. We choose an interaction graph G as seen in Figure 2. One can check that G is 4-connected, either using Menger's theorem or using other known algorithms [38]. The parameters C i were chosen as log-uniformly between 0.01 and 0.1. The initial velocity of the agents was chosen to be Gaussian with mean µ = 70 km/h and standard deviation σ = 20 km/h . We solve the synthesis problem, forcing the network to converge to y = [60 · 1 7 , 70 · 1 6 , 50 · 1 7 ] km/h , where 1 m is the all-one vector of size m, allowing up to 2 edges to fault. We run our FDI protocol, implementing the profile-based convergence assertion scheme, sampling the system at 10 Hz (i.e., a modified version of Algorithm 7). We consider four different scenarios., each lasting 100 seconds. The second tests its ability to handle with one single fault at a time. The third tests its ability to handle more than one fault at a time. The last tests its ability to deal with faults before the network converged. The results are available in Figures  3, 4, 5, and 6. It can be seen that we achieve the control goal in all four scenarios. Moreover, in all scenarios and at all times, the velocities of the agents are not too far from the values found in y , meaning that this protocol cannot harm the agents by demanding them to have very wild states. In the second and third scenario, the exploratory phases begins at the first measurement after the fault occurred. On the contrary, in the fourth scenario, it takes the exploratory phase begins only at t = 1.3 sec , a little under a second after the first fault. This is because the steady-states of the faulty and nominal closedloop system are relatively close, meaning it takes a little extra time to find that a fault exists.
VIII. CONCLUSION We considered multi-agent networks prone to communication faults in which the agents are output-strictly MEIP  Fig. 3. Results of first scenario. and the controllers are MEIP. We exhibited a protocol in which a constant bias w is added to the controller output, and showed that if w is chosen randomly, no matter what the underlying graph G is, we can asymptotically differentiate between any two versions (faulty or faultless) of the system. We also showed that if w is chosen randomly within a certain set, we asymptotically differentiate the faultless version of the system from its faulty version, while also solving the synthesis problem for the faultless version, assuming G was connected enough, i.e., 2-connected. These results were used to describe algorithms for network fault detection and isolation protocols for general MEIP multi-agent systems, where the number of isolable faults is given by a graphtheoretic characteristic of G, while no extra information on the agents and controllers but MEIP is used. These were achieved by assuming the existence of an on-line algorithm asserting that a given network converges to a conjectured steady-state, allowing us to move from asymptotic differentiation to on-line differentiation. Later, two such algorithms were built using passivity of the agents and controllers, and their correctness was proved. We demonstrated our protocols by a case study, in which we successfully detect communication faults in a nonlinear network. We emphasize that the proposed method is proved to work so long the agents and controllers are MEIP, and the graph G is connected enough. In particular, there is no assumption on the scale of the network. Future directions can include more robust network fault detection and isolation  Fig. 6. Results of fourth scenario.