Introduction

TIGER documentation

TIGER is a Python toolkit for robustness, vulnerability, and propagation experiments on NetworkX graphs. It connects structural measures with node and edge attacks, defenses, epidemics, influence processes, and cascading failures so that each result answers a stated operational question.

Start with the study question. Robustness is not one universal score. Specify what can fail or spread, what outcome represents service, and what attack or intervention budget is available. Then select the model and measures that match those choices.

What you can study

Measure network structure

Evaluate connectivity, reachability, redundancy, path concentration, and spectral structure—and understand what each measure can and cannot establish.

Stress-test the network

Compare random and targeted node or edge attacks under the same removal budget, including policies that recalculate priorities as damage accumulates.

Evaluate interventions

Test node protection, edge addition, and rewiring against a fixed threat model rather than assuming that a structural improvement produces an operational benefit.

Simulate epidemics

Run synchronous SIS and SIR processes on contact networks and compare intervention outcomes over repeated realizations.

Simulate information diffusion

Compare independent-cascade, threshold, voter, and competitive-message dynamics under explicit update rules.

Simulate cascading failures

Use global rerouting or local load sharing when component failures redistribute load through the network.

From a graph to a defensible result

  1. Load and check the graph. Use a built-in network, a generator, or your own NetworkX graph. Confirm direction, weights, connectedness, and node attributes before analysis.
  2. Define the outcome. Choose a quantity tied to retained service, such as largest-component size, reachability, efficiency, epidemic prevalence, or failed load.
  3. Specify the disruption. State the failure, attack, epidemic, or cascade mechanism and its budget or parameters.
  4. Choose a comparison. Compare with a random baseline, an alternative attack, or a defense evaluated on the same graph and under the same conditions.
  5. Repeat and report. Use multiple runs for stochastic methods, preserve seeds and settings, and show trajectories or distributions rather than only one endpoint.

Where to go next

Begin with installation and first steps, then learn how to load graphs and choose robustness measures. Continue to the attack, defense, epidemic, influence, or cascade guide that matches the process you need to study. The visualization guide shows how to inspect network states and results, while the reproducibility guide records the conventions used by the documentation experiments. After selecting the relevant measures and models, see GPU acceleration for optional backend selection and performance results.