Propagation on Large Networks B. Aditya Prakash Christos Faloutsos Carnegie Mellon University INARC Meeting – March 28
Preaching to the choir: Networks are everywhere! Human Disease Network [Barabasi 2007] Gene Regulatory Network [Decourty 2008] Facebook Network [2010] The Internet [2005] Prakash and Faloutsos 20122
Focus of this talk: Dynamical Processes over networks are also everywhere! Prakash and Faloutsos 20123
Why do we care? Social collaboration Information Diffusion Viral Marketing Epidemiology and Public Health Cyber Security Human mobility Games and Virtual Worlds Ecology Prakash and Faloutsos 20124
Why do we care? (1: Epidemiology) Dynamical Processes over networks [AJPH 2007] CDC data: Visualization of the first 35 tuberculosis (TB) patients and their 1039 contacts Diseases over contact networks Prakash and Faloutsos 20125
Why do we care? (1: Epidemiology) Dynamical Processes over networks Each circle is a hospital ~3000 hospitals More than 30,000 patients transferred [US-MEDICARE NETWORK 2005] Problem: Given k units of disinfectant, whom to immunize? Prakash and Faloutsos 20126
Why do we care? (1: Epidemiology) CURRENT PRACTICEOUR METHOD ~6x fewer! [US-MEDICARE NETWORK 2005] Hospital-acquired inf. took 99K+ lives, cost $5B+ (all per year) Prakash and Faloutsos 20127
Why do we care? (2: Online Diffusion) > 800m users, ~$1B revenue [WSJ 2010] ~100m active users > 50m users Prakash and Faloutsos 20128
Why do we care? (2: Online Diffusion) Dynamical Processes over networks Celebrity Buy Versace™! Followers Social Media Marketing Prakash and Faloutsos 20129
Why do we care? (3: To change the world?) Dynamical Processes over networks Social networks and Collaborative Action Prakash and Faloutsos
High Impact – Multiple Settings Q. How to squash rumors faster? Q. How do opinions spread? Q. How to market better? epidemic out-breaks products/viruses transmit s/w patches Prakash and Faloutsos
Research Theme DATA Large real-world networks & processes ANALYSIS Understanding POLICY/ ACTION Managing Prakash and Faloutsos
Research Theme – Public Health DATA Modeling # patient transfers ANALYSIS Will an epidemic happen? POLICY/ ACTION How to control out-breaks? Prakash and Faloutsos
Research Theme – Social Media DATA Modeling Tweets spreading POLICY/ ACTION How to market better? ANALYSIS # cascades in future? Prakash and Faloutsos
In this talk ANALYSIS Understanding Given propagation models: Q1: Will an epidemic happen? Prakash and Faloutsos
In this talk Q2: How to immunize and control out-breaks better? POLICY/ ACTION Managing Prakash and Faloutsos
Outline Motivation Epidemics: what happens? (Theory) Action: Who to immunize? (Algorithms) Prakash and Faloutsos
A fundamental question Strong Virus Epidemic? Prakash and Faloutsos
example (static graph) Weak Virus Epidemic? Prakash and Faloutsos
Problem Statement Find, a condition under which – virus will die out exponentially quickly – regardless of initial infection condition above (epidemic) below (extinction) # Infected time Separate the regimes? Prakash and Faloutsos
Threshold (static version) Problem Statement Given: – Graph G, and – Virus specs (attack prob. etc.) Find: – A condition for virus extinction/invasion Prakash and Faloutsos
Threshold: Why important? Accelerating simulations Forecasting (‘What-if’ scenarios) Design of contagion and/or topology A great handle to manipulate the spreading – Immunization – Maximize collaboration ….. Prakash and Faloutsos
Outline Motivation Epidemics: what happens? (Theory) – Background – Result (Static Graphs) – Proof Ideas (Static Graphs) – Bonus 1: Dynamic Graphs – Bonus 2: Competing Viruses Action: Who to immunize? (Algorithms) Prakash and Faloutsos
“SIR” model: life immunity (mumps) Each node in the graph is in one of three states – Susceptible (i.e. healthy) – Infected – Removed (i.e. can’t get infected again) Prob. β Prob. δ t = 1t = 2t = 3 Prakash and Faloutsos
Terminology: continued Other virus propagation models (“VPM”) – SIS : susceptible-infected-susceptible, flu-like – SIRS : temporary immunity, like pertussis – SEIR : mumps-like, with virus incubation (E = Exposed) ….…………. Underlying contact-network – ‘who-can-infect- whom’ Prakash and Faloutsos
Related Work R. M. Anderson and R. M. May. Infectious Diseases of Humans. Oxford University Press, A. Barrat, M. Barthélemy, and A. Vespignani. Dynamical Processes on Complex Networks. Cambridge University Press, F. M. Bass. A new product growth for model consumer durables. Management Science, 15(5):215–227, D. Chakrabarti, Y. Wang, C. Wang, J. Leskovec, and C. Faloutsos. Epidemic thresholds in real networks. ACM TISSEC, 10(4), D. Easley and J. Kleinberg. Networks, Crowds, and Markets: Reasoning About a Highly Connected World. Cambridge University Press, A. Ganesh, L. Massoulie, and D. Towsley. The effect of network topology in spread of epidemics. IEEE INFOCOM, Y. Hayashi, M. Minoura, and J. Matsukubo. Recoverable prevalence in growing scale-free networks and the effective immunization. arXiv:cond-at/ v2, Aug H. W. Hethcote. The mathematics of infectious diseases. SIAM Review, 42, H. W. Hethcote and J. A. Yorke. Gonorrhea transmission dynamics and control. Springer Lecture Notes in Biomathematics, 46, J. O. Kephart and S. R. White. Directed-graph epidemiological models of computer viruses. IEEE Computer Society Symposium on Research in Security and Privacy, J. O. Kephart and S. R. White. Measuring and modeling computer virus prevalence. IEEE Computer Society Symposium on Research in Security and Privacy, R. Pastor-Santorras and A. Vespignani. Epidemic spreading in scale-free networks. Physical Review Letters 86, 14, ……… All are about either: Structured topologies (cliques, block-diagonals, hierarchies, random) Specific virus propagation models Static graphs All are about either: Structured topologies (cliques, block-diagonals, hierarchies, random) Specific virus propagation models Static graphs Prakash and Faloutsos
Outline Motivation Epidemics: what happens? (Theory) – Background – Result (Static Graphs) – Proof Ideas (Static Graphs) – Bonus 1: Dynamic Graphs – Bonus 2: Competing Viruses Action: Who to immunize? (Algorithms) Prakash and Faloutsos
How should the answer look like? Answer should depend on: – Graph – Virus Propagation Model (VPM) But how?? – Graph – average degree? max. degree? diameter? – VPM – which parameters? – How to combine – linear? quadratic? exponential? ….. Prakash and Faloutsos
Static Graphs: Our Main Result Informally, For, any arbitrary topology (adjacency matrix A) any virus propagation model (VPM) in standard literature the epidemic threshold depends only 1.on the λ, first eigenvalue of A, and 2.some constant, determined by the virus propagation model λ λ No epidemic if λ * < 1 In Prakash+ ICDM 2011 (Selected among best papers). Prakash and Faloutsos
Our thresholds for some models s = effective strength s < 1 : below threshold Models Effective Strength (s) Threshold (tipping point) SIS, SIR, SIRS, SEIR s = λ. s = 1 SIV, SEIV s = λ. ( H.I.V. ) s = λ. Prakash and Faloutsos
Our result: Intuition for λ “Official” definition: Let A be the adjacency matrix. Then λ is the root with the largest magnitude of the characteristic polynomial of A [det(A – xI)]. Doesn’t give much intuition! “Un-official” Intuition λ ~ # paths in the graph u u ≈. (i, j) = # of paths i j of length k Prakash and Faloutsos
better connectivity higher λ Largest Eigenvalue (λ) Prakash and Faloutsos
N nodes Largest Eigenvalue (λ) λ ≈ 2λ = Nλ = N-1 N = 1000 λ ≈ 2λ= 31.67λ= 999 better connectivity higher λ Prakash and Faloutsos
Examples: Simulations – SIR (mumps) (a) Infection profile (b) “Take-off” plot PORTLAND graph: synthetic population, 31 million links, 6 million nodes Fraction of Infections Footprint Effective Strength Time ticks Prakash and Faloutsos
Examples: Simulations – SIRS (pertusis) Fraction of Infections Footprint Effective StrengthTime ticks (a) Infection profile (b) “Take-off” plot PORTLAND graph: synthetic population, 31 million links, 6 million nodes Prakash and Faloutsos
Outline Motivation Epidemics: what happens? (Theory) – Background – Result (Static Graphs) – Proof Ideas (Static Graphs) – Bonus 1: Dynamic Graphs – Bonus 2: Competing Viruses Action: Who to immunize? (Algorithms) Prakash and Faloutsos
λ * < 1 Graph-based Model-based General VPM structure Topology and stability See paper for full proof Prakash and Faloutsos
Outline Motivation Epidemics: what happens? (Theory) – Background – Result (Static Graphs) – Proof Ideas (Static Graphs) – Bonus 1: Dynamic Graphs – Bonus 2: Competing Viruses Action: Who to immunize? (Algorithms) Prakash and Faloutsos
Dynamic Graphs: Epidemic? adjacency matrix 8 8 Alternating behaviors DAY (e.g., work) Prakash and Faloutsos
adjacency matrix 8 8 Dynamic Graphs: Epidemic? Alternating behaviors NIGHT (e.g., home) Prakash and Faloutsos
SIS model – recovery rate δ – infection rate β Set of T arbitrary graphs Model Description day N N night N N, weekend….. Infected Healthy XN1 N3 N2 Prob. β Prob. δ Prakash and Faloutsos
Informally, NO epidemic if eig (S) = < 1 Our result: Dynamic Graphs Threshold Single number! Largest eigenvalue of The system matrix S In Prakash+, ECML-PKDD 2010 S = Prakash and Faloutsos
Synthetic MIT Reality Mining log(fraction infected) Time BELOW AT ABOVE AT BELOW Infection-profile Prakash and Faloutsos
“Take-off” plots Footprint (# “steady state”) Our threshold (log scale) NO EPIDEMIC EPIDEMIC NO EPIDEMIC SyntheticMIT Reality Prakash and Faloutsos
Outline Motivation Epidemics: what happens? (Theory) – Background – Result (Static Graphs) – Proof Ideas (Static Graphs) – Bonus 1: Dynamic Graphs – Bonus 2: Competing Viruses Action: Who to immunize? (Algorithms) Prakash and Faloutsos
Competing Contagions iPhone v Android Blu-ray v HD-DVD Biological common flu/avian flu, pneumococcal inf etc 46 AttackRetreat v
A simple model Modified flu-like Mutual Immunity (“pick one of the two”) Susceptible-Infected1-Infected2-Susceptible Virus 1 Virus 2 Prakash and Faloutsos
Question: What happens in the end? green: virus 1 red: virus 2 Steady State = ? Number of Infections ASSUME: Virus 1 is stronger than Virus 2 Prakash and Faloutsos
Question: What happens in the end? green: virus 1 red: virus 2 Number of Infections ASSUME: Virus 1 is stronger than Virus 2 Strength ?? = Strength 2 Steady State 49
Answer: Winner-Takes-All green: virus 1 red: virus 2 ASSUME: Virus 1 is stronger than Virus 2 Number of Infections 50
Our Result: Winner-Takes-All In Prakash+ WWW 2012 Given our model, and any graph, the weaker virus always dies-out completely 1.The stronger survives only if it is above threshold 2.Virus 1 is stronger than Virus 2, if: strength(Virus 1) > strength(Virus 2) 3.Strength(Virus) = λ β / δ same as before! 51
Real Examples Reddit v DiggBlu-Ray v HD-DVD [Google Search Trends data] 52
Outline Motivation Epidemics: what happens? (Theory) Action: Who to immunize? (Algorithms) Prakash and Faloutsos
? ? Given: a graph A, virus prop. model and budget k; Find: k ‘best’ nodes for immunization (removal). k = 2 ? ? Full Static Immunization Prakash and Faloutsos
Outline Motivation Epidemics: what happens? (Theory) Action: Who to immunize? (Algorithms) – Full Immunization (Static Graphs) – Fractional Immunization Prakash and Faloutsos
Challenges Given a graph A, budget k, Q1 (Metric) How to measure the ‘shield- value’ for a set of nodes (S)? Q2 (Algorithm) How to find a set of k nodes with highest ‘shield-value’? Prakash and Faloutsos
Proposed vulnerability measure λ Increasing λ Increasing vulnerability λ is the epidemic threshold “Safe”“Vulnerable”“Deadly” Prakash and Faloutsos
Original Graph Without {2, 6} Eigen-Drop(S) Δ λ = λ - λ s Eigen-Drop(S) Δ λ = λ - λ s Δ A1: “Eigen-Drop”: an ideal shield value Prakash and Faloutsos
(Q2) - Direct Algorithm too expensive! Immunize k nodes which maximize Δ λ S = argmax Δ λ Combinatorial! Complexity: – Example: 1,000 nodes, with 10,000 edges It takes 0.01 seconds to compute λ It takes 2,615 years to find 5-best nodes ! Prakash and Faloutsos
A2: Our Solution Part 1: Shield Value – Carefully approximate Eigen-drop (Δ λ) – Matrix perturbation theory Part 2: Algorithm – Greedily pick best node at each step – Near-optimal due to submodularity NetShield (linear complexity) – O(nk 2 +m) n = # nodes; m = # edges In Tong, Prakash+ ICDM 2010 Prakash and Faloutsos
Experiment: Immunization quality Log(fraction of infected nodes) NetShield Degree PageRank Eigs (=HITS) Acquaintance Betweeness (shortest path) Lower is better Time Prakash and Faloutsos
Outline Motivation Epidemics: what happens? (Theory) Action: Who to immunize? (Algorithms) – Full Immunization (Static Graphs) – Fractional Immunization Prakash and Faloutsos
Fractional Immunization of Networks B. Aditya Prakash, Lada Adamic, Theodore Iwashyna (M.D.), Hanghang Tong, Christos Faloutsos Submitted to Science Prakash and Faloutsos
Fractional Asymmetric Immunization Hospital Another Hospital Drug-resistant Bacteria (like XDR-TB) Prakash and Faloutsos
Fractional Asymmetric Immunization Hospital Another Hospital Drug-resistant Bacteria (like XDR-TB) = f Prakash and Faloutsos
Fractional Asymmetric Immunization Hospital Another Hospital Problem: Given k units of disinfectant, how to distribute them to maximize hospitals saved? Prakash and Faloutsos
Our Algorithm “SMART- ALLOC” CURRENT PRACTICESMART-ALLOC [US-MEDICARE NETWORK 2005] Each circle is a hospital, ~3000 hospitals More than 30,000 patients transferred ~6x fewer! Prakash and Faloutsos
Running Time ≈ SimulationsSMART-ALLOC > 1 week 14 secs > 30,000x speed-up! Wall-Clock Time Lower is better Prakash and Faloutsos
Acknowledgements Collaborators Christos Faloutsos Roni Rosenfeld, Michalis Faloutsos, Lada Adamic, Theodore Iwashyna (M.D.), Dave Andersen, Tina Eliassi-Rad, Iulian Neamtiu, Varun Gupta, Jilles Vreeken, Deepayan Chakrabarti, Hanghang Tong, Kunal Punera, Ashwin Sridharan, Sridhar Machiraju, Mukund Seshadri, Alice Zheng, Lei Li, Polo Chau, Nicholas Valler, Alex Beutel, Xuetao Wei Prakash and Faloutsos
Acknowledgements Funding Prakash and Faloutsos
Analysis Policy/Action Data Propagation on Large Networks B. Aditya Prakash Christos Faloutsos Prakash and Faloutsos
BACK-UP SLIDES Prakash and Faloutsos
λ * < 1 Graph-based Model-based Proof Sketch General VPM structure Topology and stability Prakash and Faloutsos
Models and more models ModelUsed for SIRMumps SISFlu SIRSPertussis SEIRChicken-pox …….. SICRTuberculosis MSIRMeasles SIVSensor Stability H.I.V. ………. Prakash and Faloutsos
Ingredient 1: Our generalized model Endogenous Transitions SusceptibleInfected Vigilant Exogenous Transitions Endogenous Transitions SusceptibleInfected Vigilant Prakash and Faloutsos
Special case SusceptibleInfected Vigilant Prakash and Faloutsos
Special case: H.I.V. Multiple Infectious, Vigilant states “Terminal” “Non-terminal” Prakash and Faloutsos
Ingredient 2: NLDS+Stability View as a NLDS – discrete time – non-linear dynamical system (NLDS) Probability vector Specifies the state of the system at time t size mN x size N (number of nodes in the graph) S S I I V V Prakash and Faloutsos
Ingredient 2: NLDS + Stability View as a NLDS – discrete time – non-linear dynamical system (NLDS) Non-linear function Explicitly gives the evolution of system size mN x Prakash and Faloutsos
Ingredient 2: NLDS + Stability View as a NLDS – discrete time – non-linear dynamical system (NLDS) Threshold Stability of NLDS Prakash and Faloutsos
= probability that node i is not attacked by any of its infectious neighbors Special case: SIR size 3N x 1 I I R R S S NLDS I I R R S S Prakash and Faloutsos
Fixed Point State when no node is infected Q: Is it stable? Prakash and Faloutsos
Stability for SIR Stable under threshold Unstable above threshold Prakash and Faloutsos
Another special case: SEIV E == exposed latent state ‘Dropping guard’ ‘Pre-emptive vaccination’ SEIV: itself generalizes SIR (mumps) SIS (flu-like) SIRS (pertussis) SEIR (varicella) etc. SEIV: itself generalizes SIR (mumps) SIS (flu-like) SIRS (pertussis) SEIR (varicella) etc. no “sneezes” infectious Prakash and Faloutsos
Our Solution: Part 1 Approximate Eigen-drop (Δ λ) Δ λ ≈ SV(S) = – Result using Matrix perturbation theory – u(i) == ‘eigenscore’ ~~ pagerank(i) Au = λ. u u(i) Prakash and Faloutsos
P1: node importanceP2: set diversity Original Graph Select by P1Select by P1+P2 Prakash and Faloutsos
Our Solution: Part 2: NetShield We prove that: SV(S) is sub-modular ( & monotone non-decreasing ) NetShield: Greedily add best node at each step Corollary: Greedy algorithm works 1. NetShield is near-optimal (w.r.t. max SV(S)) 2. NetShield is O(nk 2 +m) Footnote: near-optimal means SV(S NetShield ) >= (1-1/e) SV(S Opt ) Prakash and Faloutsos
> 10 days 0.1 seconds NetShield 100,000 >=1,000,000 10, argmax Δ λ argmax SV(S) Time 1, ,000,000x # of vaccines Lower is better NetShield Speed Prakash and Faloutsos
Full Dynamic Immunization Given: Set of T arbitrary graphs Find: k ‘best’ nodes to immunize (remove) day N N night N N, weekend….. In Prakash+ ECML-PKDD 2010 Prakash and Faloutsos
Full Dynamic Immunization Our solution – Recall theorem – Simple: reduce (= ) Goal: max eigendrop Δ No competing policy for comparison We propose and evaluate many policies Matrix Product Δ = daynight Prakash and Faloutsos
Performance of Policies MIT Reality Mining Lower is better Prakash and Faloutsos
Fractional Asymmetric Immunization Fractional Effect Asymmetric Effect Prakash and Faloutsos
Fractional Asymmetric Immunization Fractional Effect Asymmetric Effect Prakash and Faloutsos
Fractional Asymmetric Immunization Fractional Effect [ f(x) = ] Asymmetric Effect Edge weakened by half Prakash and Faloutsos
Fractional Asymmetric Immunization Fractional Effect [ f(x) = ] Asymmetric Effect Only incoming edges Prakash and Faloutsos
Fractional Asymmetric Immunization Fractional Effect [ f(x) = ] Asymmetric Effect # antidotes = 3 Prakash and Faloutsos
Fractional Asymmetric Immunization Fractional Effect [ f(x) = ] Asymmetric Effect # antidotes = 3 Prakash and Faloutsos
Fractional Asymmetric Immunization Fractional Effect [ f(x) = ] Asymmetric Effect # antidotes = 3 Prakash and Faloutsos
Problem Statement Hospital-transfer networks – Number of patients transferred Given: – The SI model – Directed weighted graph – A total of k antidotes – A weakening function f(x) Find: – the ‘best’ distribution which minimizes the “footprint” at some time t Almost everything is different from before! In Prakash (Submitted to Science) Prakash and Faloutsos
Naïve way How to estimate the footprint? – Run simulations? – too slow – takes about 3 weeks for graphs of typical size! Prakash and Faloutsos
Our Solution – Main Idea The SI model has no threshold – any infection will become an epidemic But can bound the expected number of infected nodes at time t Get the distribution which (approx.) minimizes the bound! – Original problem is NP-complete – SMART-ALLOC Greedy and near-optimal if f() is monotone non- increasing convex Prakash and Faloutsos