wikillm

Paper · 2026-08-21 · cs.AI

A Resilience Recovery Method for Complex Traffic Network Security Based on Trend Forecasting

Models failure spread in a traffic network with an SIRD model plus a per-node risk value (SIRD-R). Defines real-time and overall resilience from network performance, forecasts the resilience curve with an LSTM, and applies protection and recovery on that forecast. Author-reported: LSTM forecast R2 0.96842; overall traffic resilience 0.7261 to 0.9354 with the combined strategy.

Compartmental epidemic modelNetwork resilienceTime series forecastingnetwork-resiliencesirdfault-propagationtraffic-networkslstmforecasting

arXivPDFMarkdown14 min read

AI-compiled by claude-haiku-5-5 on 2026-10-19, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

In plain words

A large transport network can fail in a chain reaction. One broken part strains its neighbours, and the damage spreads until much of the network stops working. This paper treats that spread like an infection. Each part is healthy, broken, recovering or dead, and it moves between those states at set rates. The authors add a risk score to each part. A part with a lower score is harder to break and recovers more easily.

The paper then asks how well the network is coping at each moment. It measures the lowest point the network reaches, how far it has climbed back by a chosen time, and its average performance over the whole episode. These measures show whether the network resists an attack and how well it recovers. A learned model, an LSTM, predicts the coming trend from the recent history. The operator can then act early. Healthy parts are protected, or broken parts are restored, before the damage spreads. The paper's experiments are simulations on traffic networks, and the authors report that this improves the measured resilience.

TL;DR

  • Extends an SIRD failure-propagation model with a per-node risk value f, giving SIRD-R §3.1 eq. 3.
  • Defines real-time resilience E(t) from a network performance function K(t), with two parts: bearing capacity E_withstand (the minimum of E(t)) and recovery capacity E_recover (E at the cutoff time T) §3.2 eq. 7–9.
  • Forecasts E(t) with an LSTM and triggers node protection or node recovery from the forecast §3.3 §3.4.
  • Author-reported: the LSTM reaches MRE 0.00639, MSE 0.00016 and R2 0.96842 on the forecast tab. 3. Combined protection and recovery raise the traffic network's overall resilience E from 0.7261 to 0.9354 tab. 11.
  • No official code found. Figures and tables are the only quantitative evidence. Several equations and table columns are underspecified; see Pitfalls.

Problem

After an attack, the failure spreads to neighbouring nodes and can collapse the whole network §1 fig. 1. The authors argue that existing resilience measures give an incomplete picture of this process, and that recovery strategies are usually analysed from one angle only §2. They also note that the classic resilience triangle assumes a cliff-like drop, while real networks decline over time §2. The method needs an attack model in which a few nodes start in the failed state. The experiments use one initially failed node §4.1.

Method

The method has three parts: a failure-propagation model, resilience measures computed from that model, and a forecast-driven response. The paper's section numbers are cited as printed. The two resilience subsections are printed as "3.1" and "3.2" (see Pitfalls).

  1. Node states. Each node is in one of four states: S (susceptible, not failed but can fail), I (failed, can spread failure), R (recovered) or D (dead, cannot be restored) §3.1 fig. 2.
  2. Transition rates (SIRD). A susceptible node fails at rate β when it meets a failed node. A failed node recovers at rate μ and collapses at rate λ §3.1 fig. 2. The continuous form is given in eq. 2, and the discrete form over a step Δt is eq. 1. The four flows sum to zero in both forms, so the total node count does not change. This is a property we derived from the equations; the paper does not state it.
  3. Risk value (SIRD-R). Each node has a risk value f. The rates are scaled by it: infection becomes f·β0, recovery becomes (1 − f)·μ0 and collapse becomes f·λ0 §3.1 fig. 4. Lower-risk nodes therefore fail less, recover more and collapse less §3.1 §4.1. The equations in eq. 3 are written with one f for the whole network. Figure 4 and eq. 3 disagree on the recovery term (see Pitfalls).
  4. Network performance K(t). K(t) is the share of network weight held by nodes that are still available. It is the weighted sum of A_i(t) over all nodes, divided by the sum of weights eq. 4. A_i(t) is 0 for nodes in I or D, and 1 for nodes in S or R eq. 5. The weight W_i(t) is the node's degree centrality, the number of its links divided by N − 1 eq. 6.
  5. Real-time resilience E(t). E(t) is the ratio of performance under attack K(t) to normal performance K0(t), each integrated over a window of length ΔT starting at t §3.2 real-time eq. 7 fig. 6. K0 is not defined beyond "normal circumstances" §3.2.
  6. Bearing capacity. E_withstand is the minimum of E(t) over the run §3.2 overall eq. 8 fig. 7. It measures how far performance falls when the attack is at its worst.
  7. Recovery capacity. E_recover is E(t) at the simulation cutoff time T §3.2 overall eq. 9.
  8. Overall resilience. E is the area under E(t) from time 0 to T eq. 10. The paper normalises it by T, so the value is an average between 0 and 1 eq. 11 eq. 12 fig. 7.
  9. Forecasting. The E(t) series is loaded and preprocessed, and split into training and test data. Each prediction uses a set number of previous observations to forecast the next time point. An LSTM is trained on this data, then used to forecast the target series §3.3. The paper motivates LSTM over RNN by its gated handling of long-term dependence §3.3.
  10. Node protection based on forecasting. The forecast triggers protective measures for nodes that have not failed. These lower their risk value f, which lowers the infection rate, raises the recovery rate and lowers the collapse rate §3.4.1 fig. 15 tab. 6. The protection rate is the parameter the experiments vary; its meaning is not defined beyond the table values tab. 6.
  11. Node recovery based on forecasting. The forecast triggers recovery measures for failed nodes, which restore them to the normal working state at a recovery rate §3.4.2 fig. 16 tab. 7. The forecast time advance sets how early these measures start §3.4.2 tab. 8.
  12. Combined strategy. The paper combines the node risk value with protection and recovery and reports the combined result §4.2 tab. 9 tab. 11.

Key equations.

\frac{dS}{dt} = -\beta S, \quad \frac{dI}{dt} = \beta S - \mu I - \lambda I, \quad \frac{dR}{dt} = \mu I, \quad \frac{dD}{dt} = \lambda I eq. 2

E(t) = \frac{\int_{t}^{t+\Delta T} K(t)\,dT}{\int_{t}^{t+\Delta T} K_0(t)\,dT} eq. 7 (integrand and window as printed; see Pitfalls)

E = \frac{1}{T}\int_{0}^{T} E(t)\,dt eq. 12

Pseudocode for the SIRD-R step. It follows the Figure 4 recovery term, not the printed eq. (3); see Pitfalls.

Pseudocode
# One Euler step of the SIRD-R model  [eq. 1] [eq. 3] [fig. 4]
# Input:  node counts S, I, R, D; risk value f in [0, 1] (range assumed)
# Output: updated S, I, R, D

def sird_r_step(S, I, R, D, f, beta0, mu0, lam0, dt):
    # Infection flow S -> I, scaled by risk  [eq. 3]
    infected_flow = f * beta0 * S * dt
    # Recovery flow I -> R; Fig. 4 gives (1 - f) mu0  [fig. 4]
    # (eq. 3 prints mu0 * I, which does not conserve the total)
    recovered_flow = (1 - f) * mu0 * I * dt
    # Collapse flow I -> D  [eq. 3] [fig. 4]
    dead_flow = f * lam0 * I * dt
    S = S - infected_flow
    I = I + infected_flow - recovered_flow - dead_flow
    R = R + recovered_flow
    D = D + dead_flow
    return S, I, R, D

Pseudocode for performance and resilience. The helper ratio_over_window is our name for the windowed integral in eq. 7.

Pseudocode
# Network performance at one time  [eq. 4] [eq. 5] [eq. 6]
# Input:  adjacency (N, N); node states (N,) with values S, I, R, D
# Output: performance K(t) in [0, 1]

def performance(adjacency, states):
    # Degree centrality as weight: links divided by N - 1  [eq. 6]
    weights = degree(adjacency) / (N - 1)            # (N,)
    # Available: 1 for S or R, 0 for I or D  [eq. 5]
    available = [1 if s in ("S", "R") else 0 for s in states]
    # Weighted share of available nodes  [eq. 4]
    # (eq. 4 reuses the index i in its denominator; read as a plain sum)
    return dot(weights, available) / sum(weights)
Pseudocode
# Resilience measures from a performance curve  [eq. 7] to [eq. 12]
# Input:  K (under attack) and K0 (normal) at each time in times;
#         cutoff time T; window length window
# Output: E_withstand, E_recover, E_overall

def resilience_measures(K, K0, times, T, window):
    # Real-time resilience: windowed ratio of K to K0  [eq. 7]
    E_t = [
        ratio_over_window(K, K0, t, window)  # helper, see eq. 7
        for t in times
    ]
    # Bearing capacity: lowest value of the real-time curve  [eq. 8]
    E_withstand = min(E_t)
    # Recovery capacity: real-time resilience at cutoff time T  [eq. 9]
    E_recover = value_at(E_t, times, T)
    # Overall resilience: time average over [0, T]  [eq. 10] [eq. 12]
    E_overall = integrate(E_t, times, 0, T) / T
    return E_withstand, E_recover, E_overall

Hyperparameters

Values are the paper's unless marked. The paper has no official code, so there are no code values.

NameValueWhereNotes
SIRD infection rate β0.3§4.1
SIRD recovery rate μ0.1§4.1
SIRD collapse rate λ0.02§4.1
SIRD-R base rates β0, μ0, λ00.3, 0.1, 0.02§4.1Scaled per node by f eq. 3
Initially failed nodes1§4.1Attack model beyond this count not stated
Node risk value frandom, per node§4.1Distribution and range not stated; the text says "generated by random simulation"
DatasetGold Coast, Queensland, Australia§44,807 nodes and 11,140 edges §4
Time unitminutesfig. 5 fig. 9Axis labels only
Time step Δt for the ODEnot stated§3.1Equations are given in the limit Δt → 0 eq. 1
Simulation cutoff T for Table 1not statedtab. 1Table 2 varies T from 30 to 400 tab. 2
Real-time window ΔTnot statedeq. 7Figure 6 labels the window as t + Δt
Protection rate (defense)0.3, 0.4, 0.5tab. 6 fig. 15Figure legend calls it "defense"
Recovery rate0.1, 0.3, 0.5tab. 7 fig. 16
Forecast time advance0.5, 0.3, 0.1tab. 8 fig. 17Unit not stated
Experimental conditions E1–E6see tab. 5tab. 5 fig. 14Columns are labelled E1–E6 with three numbers each; the paper does not name them
LSTM: observations per predictionnot stated§3.3"set" but no value
LSTM: forecast horizonnext time point, one step§3.3Inferred from "forecast the next moment each time"
LSTM: train/test splitnot stated§3.3
LSTM: layers, units, optimizer, learning rate, epochs, lossnot stated—None given in text or figures
Forecast metricsMRE eq. 13, MSE eq. 14, R2 eq. 15§4.2Evaluation split not stated
CNN and RNN baselinesnot stated§4.2 tab. 4Architectures and hyperparameters not given
Scalability sizes20, 50, 100, 300, 800, 1000, 3000, 5000, 8000 nodestab. 10Network generator not stated
Repetitions and random seedsnot stated—Single values reported; no variance

Results

Author-reported. Setup: simulation only, no hardware. The main experiments use the Gold Coast traffic network §4. Tables 6–9 and Table 1 do not restate the network, so it is assumed from §4. The no-intervention baseline varies across tables (see Pitfalls). The "Time cost (%)" column is not defined in the text.

Table 1: bearing capacity, recovery capacity and overall resilience tab. 1

E_withstandE_recoverE
0.40140.76780.7474

Table 2: effect of simulation cutoff time T (E_withstand held at 0.4014) tab. 2

TE_recoverE
300.56180.5725
500.69920.5981
800.75170.6471
1200.76440.6847
1600.76700.7051
2000.76760.7175
2500.76780.7276
3000.76780.7343
4000.76780.7427

Table 3: LSTM forecast accuracy tab. 3

MREMSER2
0.006390.000160.96842

Table 4: forecast accuracy by algorithm tab. 4 fig. 13

AlgorithmMREMSER2
LSTM0.006390.000160.96842
RNN0.008980.000510.91152
CNN0.018590.000820.85833

Table 5: forecast accuracy under six conditions tab. 5 fig. 14. Column labels are the paper's; the three numbers are read as (β, μ, λ) because E1 matches §4.1.

ConditionThree numbersMREMSER2
E10.3, 0.1, 0.020.006390.000160.96842
E20.5, 0.1, 0.020.005930.000200.97014
E30.5, 0.3, 0.020.010570.000480.87830
E40.3, 0.3, 0.020.006660.000280.87052
E50.3, 0.1, 0.050.023950.000520.88427
E60.5, 0.1, 0.050.025600.001100.87663

Table 6: node protection (protection rate varied) tab. 6 fig. 15

Protection rateE_withstandE_recoverETime cost (%)
none0.42410.76660.7310100
0.30.54230.84700.814394.9
0.40.59280.87920.857279.5
0.50.64700.89520.879672.2

Table 7: node recovery (recovery rate varied) tab. 7 fig. 16

Recovery rateE_withstandE_recoverETime cost (%)
none0.39960.76680.7282100
0.10.63100.99920.894241.1
0.30.71680.99980.899922.9
0.50.74941.00000.911716.4

Table 8: node recovery with forecast time advance tab. 8 fig. 17

Time advanceE_withstandE_recoverETime cost (%)
none0.40940.76760.7261100
0.50.53090.99820.927852.8
0.30.67480.99820.935438.6
0.10.74900.99820.955931.7

Table 9: effect of the node risk value tab. 9 fig. 18

SettingE_withstandE_recoverE
With node risk value0.44200.99020.8976
No node risk value0.41160.93180.8103

Table 10: optimisation across network sizes tab. 10

NodesUnoptimizedAfter optimisationSimulation time
200.68720.89720.23
500.68950.90100.24
1000.69420.90170.30
3000.70570.92160.35
8000.70330.91240.37
10000.72610.93540.38
30000.71410.91210.80
50000.74340.95381.30
80000.77620.96152.37

Table 11: optimisation across network types tab. 11. The metric is not labelled; it is presumably E, as in Table 10.

NetworkUnoptimizedAfter optimisation
Traffic0.72610.9354
Aviation0.73890.9519
Industrial0.67480.9186
Power0.74400.9263

The text says the forecast errors are very small and R2 is close to 1 under all six conditions §4.2 tab. 5. It says that the protection and recovery strategies improve bearing capacity and recovery capacity and reduce time cost §3.4.1 §3.4.2 tab. 6 tab. 7 tab. 8. The text also says the complexity is O(n) §4.2. No derivation is given.

Paper vs code

No official code. The paper links only a dataset repository in its data availability statement (github.com/bstabler/TransportationNetworks), which holds network data, not the method. Searches for code, with GitHub repository search and no matching author-owned repository found:

  • SIRD-R traffic resilience: zero results;
  • resilience trend forecasting traffic: zero results;
  • SIRD LSTM network resilience: zero results;
  • SIRD-R: 30 results, none matching this method;
  • traffic network resilience recovery: one unrelated result.

No discrepancies can be checked without code.

Pitfalls

  • Recovery term in eq. (3) does not match Figure 4. Eq. (3) gives dR/dt = μ0·I, while dI/dt subtracts only (1 − f)·μ0·I. Summed over S, I, R and D, the total changes by f·μ0·I per time unit, so eq. (3) as printed does not conserve nodes. Figure 4 and the text give the recovery flow as (1 − f)·μ0. The card's pseudocode follows Figure 4. Which form the authors simulated is not stated.
  • One risk value f in the population equations. Eq. (3) uses a single f, while the text says each node has its own risk value §3.1 §4.1. How per-node values enter the aggregate ODE is not stated. The range of f is also not stated.
  • Real-time resilience is underspecified. The integrand in eq. 7 is K(t), not K(τ), and the window ΔT is not defined in the text. The normal-state K0 is also not defined: the paper says only "normal circumstances" §3.2.
  • Real-time window is ambiguous. eq. 7 integrates over [t, t + ΔT], while Figure 6 labels the window t + Δt. Read them as the same window. The value is not given.
  • Eq. (4) index reuse. The denominator sums over z in N but is written with W_i(t). Read as a plain sum over all nodes.
  • Table 1 cutoff is not stated, and it matches no Table 2 row. Table 1 gives E = 0.7474, but the largest E in Table 2 is 0.7427 (T = 400). The cutoff for Table 1 is likely beyond 400, but the paper does not say.
  • No-intervention baselines differ across tables. E_withstand without intervention is 0.4014 in Table 1, 0.4241 in Table 6, 0.3996 in Table 7 and 0.4094 in Table 8. Random risk values and seeds are not given, so the gap cannot be explained.
  • Repeated values across tables. Table 11's traffic row (0.7261 → 0.9354) equals Table 8's no-forecast E and 0.3-advance E, and Table 10's 1000-node row. The paper does not say which network produced these numbers.
  • "Time cost (%)" is undefined. Tables 6–8 include it, but the text never defines it, and the percentages are not explained.
  • Parameter units and names. Protection rate (Table 6) is called "defense" in Figure 15; the unit of the time advance (Table 8) is not stated; the meaning of the recovery rate beyond its table values is not defined.
  • Forecast evaluation split is not stated. The forecast curves in Figure 12 overlap the real data closely. Without a stated test split, the reported errors may be in-sample. Epoch count, stopping rule and seeds are not stated.
  • R2 "close to 1" is overstated. The text says R2 is close to 1 under all six conditions §4.2. Table 5 gives 0.87052 to 0.97014 across the six conditions.
  • Baseline architectures are not given. The CNN and RNN baselines in tab. 4 have no stated architecture or training setup, so the LSTM comparison cannot be reproduced.
  • Complexity claim is not supported by the table. The paper states O(n) §4.2. Table 10 shows simulation time rising from 0.23 to 2.37 as nodes rise from 20 to 8000, which is about 10× for 400× the nodes. The table does not establish O(n) either way, and the paper gives no derivation.
  • Node count. The text gives 4,807 nodes §4. The curves in Figures 9 and 10 start near 5,000 on the axis; this is read from the plot.
  • Datasets for the other networks are not named. Table 10 and Table 11 cover aviation, industrial and power networks and network sizes up to 8,000 nodes, but the paper does not name their data or generator.
  • Section numbering is duplicated. Section 3.1 is used for both the failure-propagation analysis and the real-time resilience subsection. The real-time and overall resilience subsections are printed 3.1 and 3.2 under 3.2 (the measurement section). The card cites them as §3.2 real-time and §3.2 overall.
  • Table 9 scope unclear. The text says the node risk value is combined with protection and recovery §4.2. It is not clear whether the "no node risk value" row also includes protection and recovery.
  • Attack model is minimal. Each experiment starts with one failed node §4.1. Results are not checked for other attack sizes, except the varied propagation rates in Table 5.
  • Single runs without variance. Every table entry is a single value. No repetitions, random seeds or confidence intervals are reported, although the risk values are generated randomly §4.1.
  • Citation mismatches. The text cites [25] for Bruneau's resilience triangle, but reference [25] is Wang et al. (2024); Bruneau is not in the reference list. The resilience definition as percentage of total losses is cited to [26], which is a fire-risk paper.

Lineage

  • Builds on: the SIRD failure model, cited as [24] §3.1. Also the resilience triangle model, cited as Bruneau [25] (see Pitfalls).
  • Compared against: CNN and RNN for the forecast tab. 4 fig. 13. No prior resilience measure is compared numerically.
  • Superseded by: not stated.

Source and license

Adapted from “A Resilience Recovery Method for Complex Traffic Network Security Based on Trend Forecasting” by Sheng Hong, Tianyu Yue, Yang You, Zhengnan Lv, Xu Tang, Jing Hu, Hongwei Yin (arXiv:2609.27903), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.