Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 Institutund für Theoretische KIT –Henning Universität desMeyerhenke, Landes Baden-Württemberg nationales Forschungszentrum in der Helmholtz-Gemeinschaft Algorithmische Methoden zur Netzwerkanalyse Informatik www.kit.edu Vorlesung 20 Programm: Epidemien in Netzwerken Verzweigungsprozess SI*-Modelle Optimierung der Reaktion auf Cyberattacken 2 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Inhalt Krankheitsausbreitung in Netzwerken Einführung Krankheits- und Netzwerkmodelle Cyberattacken abwehren (im Modell) 3 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Einführung Einleitung und Motivation Modellierung von Krankheitsausbrüchen wichtiges Anwendungfeld Reale Epidemien SARS EHEC AIDS ... Computerschädlinge Viren Würmer ... Bildnachweis: 1. http://tarakilishihub.com/348/how-to-determine-if-you-have-a-computer-virus-infection 2. http://hdtaskforce.com/how-to-prevent-a-virus-from-damaging-your-computer.html 4 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Einführung Verwandte Prozesse Randomisiertes Broadcasting Aktualisierung verteilter Datenbanken Ausbreitung von Informationen, z. B. Ideen oder Tratsch Alles Prozesse, die in Netzwerken passieren 5 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Einführung Ein erster Modellierungsansatz Verzweigungsprozesse Simples Modell Verzweigungsprozess: (Erste Welle) Eine infizierte Person erreicht eine Population und gibt die Krankheit an jede kontaktierte Person mit Wkt. p weiter. Notation: k Personen werden kontaktiert (Zweite Welle) Jede der k Personen trifft nun wiederum k Personen. Man erhält also eine zweite Welle von k 2 Personen. Weitergabe bei Infektion mit Wkt. p Weitere Wellen analog Erzeugt Baum (Annahme: Kontakte sind jeweils disjunkt) Der Ausbreitungsgrad hängt von k · p ab 6 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Einführung Verzweigungsprozess [D. Easley, J. Kleinberg: Epidemics. Ch. 21 of Networks, Crowds, and Markets...] 7 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Einführung Einfluss der Reproduktionszahl Wird in einer Welle niemand neu infiziert, dann stirbt der Prozess aus ⇒ Entweder Abbruch oder unendliche Fortsetzung Abhängig von Reproduktionszahl R0 : Erwartete Zahl neuer Fälle, die durch eine einzelne Person hervorgerufen werden In unserem Modell: R0 = pk Theorem Falls R0 < 1, dann stirbt die Krankheit mit Wkt. 1 nach endlich vielen Schritten. Falls R0 > 1, dann bleibt die Krankheit mit Wkt. größer als 0 erhalten und infiziert in jeder Welle mindestens eine Person. 8 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Einführung Inhalt Krankheitsausbreitung in Netzwerken Einführung Krankheits- und Netzwerkmodelle Cyberattacken abwehren (im Modell) 9 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Krankheits- und Netzwerkmodelle Modellierung Verschiedene Krankheitsmodelle: SI: susceptible (anfällig) und infected (infiziert) SIR: S, I und recovered (geheilt) SIS: S, I und wieder S SIRS: S, I, R und wieder S Übertragungsrate β (Wkt. der Übertragung bei Kontakt in einem Zeitschritt) Kommt auf die Krankheit und weitere Umstände an, welches Modell besser passt 10 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Krankheits- und Netzwerkmodelle Grenzbetrachtungen SI n Knoten O(1) Knoten zum Zeitpunkt t = 0 infiziert, der Rest anfällig Mit Wkt. β pro Zeitschritt geben infizierte Knoten die Krankheit an ihre anfälligen Nachbarn weiter SI: Für allgemeine Graphen schwierig lösbar, Rückgriff auf Computer-Simulationen Grenzwertbetrachtungen (t → ∞) aber möglich Klar: Jeder, der infiziert werden kann (ZHK), wird irgendwann infiziert (falls β > 0) ⇒ ZHK des anfangs infizierten Knoten bestimmt Infektionsgrad 11 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Krankheits- und Netzwerkmodelle Grenzbetrachtungen SIR SIR birgt interessantere Eigenschaften (im Vgl. zu SI) Individuen bleiben nur für eine bestimmte Zeit τ (fix) infektiös Sie geben die Krankheit danach nicht mehr weiter (entweder wegen Immunität oder Tod) ⇒ ZHK wird nicht zwangsläufig vollständig infiziert Betrachten wir im Folgenden zeitabhängige Eigenschaften von SIR 12 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Krankheits- und Netzwerkmodelle Zeitabhängigkeit bei SIR Modellbeschreibung si : Wkt., dass Knoten i empfänglich ist xi : Wkt., dass Knoten i infiziert ist ri : Wkt., dass Knoten i geheilt ist Heilungsrate γ: Wkt. pro Zeitschritt, dass ein Infizierter geheilt wird ⇒ Wkt. für Heilung in Zeitintervall der Länge δτ: γδτ Wkt., dass ein Individuum nach Gesamtzeit τ noch infiziert ist: lim (1 − γδτ )τ/δτ = e −δτ δτ →0 Wkt., dass ein Individuum so lange infiziert ist und im Intervall [τ , τ + d τ ] geheilt wird: p (τ )d τ = γe −δτ d τ ⇒ Schnelle Heilung wahrscheinlich (aber nicht sicher): Realistisch? 13 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Krankheits- und Netzwerkmodelle Zeitabhängigkeit bei SIR Die Veränderung der ersten drei Wkt. lässt sich approximieren durch: Empfänglich (S): dsi = − βsi ∑ Aij xj dt j dxi Infiziert (I): = βsi dt ∑ Aij xj ! − γxi j dri = γxi dt si + xi + ri = 1 Geheilt (R): 14 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Krankheits- und Netzwerkmodelle Zeitabhängigkeit bei SIR Infektionsgeschwindigkeit Seien zum Zeitpunkt t = 0 insgesamt c = O(1) Individuen infiziert Also: si (0) = . . . Also: xi (0) = . . . Also: ri (0) = . . . Also: si (0) = 1 − c/n Also: xi (0) = c/n Also: ri (0) = 0 Exakte analytische Lösung der Differentialgleichungen nicht möglich Näherung für Veränderung von xi für t → 0 und n → ∞ (⇒ si → 1): ! dxi = β ∑ Aij xj − γxi = ∑( βAij − γδij )xj , dt j j mit δij als Kronecker-Delta 15 dx Henning Meyerhenke, Institut für Theoretische Informatik dt Algorithmische Methoden zur Netzwerkanalyse Matrix-Schreibweise: in Netzwerken = βMx mit M = A − γβ I Krankheitsausbreitung Krankheits- und Netzwerkmodelle Zeitabhängigkeit bei SIR Infektionsgeschwindigkeit (Forts.) Beobachtung: M = A − γβ I hat die gleichen Eigenvektoren wie A Die Eigenwerte sind um −γ/β verschoben Darstellung des Vektors x(t ) anhand der Eigenvektoren vr : n x(t ) = ∑ ar (0)vr e(βκr −γ)t r =1 Der Exponent hängt von β, den Eigenwerten κr und γ ab Am schnellsten wächst der erste Summand wegen κ1 Wenn der erste Summand über die Zeit verschwindet, dann auch all die anderen Individuen mit hoher EVZ werden schnell infiziert 16 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Krankheits- und Netzwerkmodelle Zeitabhängigkeit bei SIR Diskussion ⇒ Der epidemische Grenzwert unseres Modells wird erreicht für: 1 β βκ1 − γ = 0 ⇔ = γ κ1 Der epidemische Grenzwert hängt vom führenden Eigenwert ab Ist der führende Eigenwert klein, muss β groß oder γ klein sein, damit die Krankheit sich gut ausbreiten kann Intuitiv ergibt das Sinn: Ein kleiner Wert für κ1 bedeutet tendentiell eine eher dünn besetzte Adjazenzmatrix Unsere Rechnungen waren nur Approximationen Dennoch zeigen sie einen Zusammenhang zwischen Spektrum, Netzwerkeigenschaften und Ausbreitungsgeschwindigkeiten Übertragung auf den Entwurf technischer Netze!?! 17 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Krankheits- und Netzwerkmodelle Inhalt Krankheitsausbreitung in Netzwerken Einführung Krankheits- und Netzwerkmodelle Cyberattacken abwehren (im Modell) 18 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Cyberattacken abwehren (im Modell) Modell für Cyberattacken: SIS Computernetzwerk: Anfällig, heilbar, wieder anfällig, ... SIS: Zwei Zustände, S und I Diskussion: Wie modellieren Sie einen Angriff, wie reagieren Sie? Mögliche Abwehr-/Säuberungs-Strategien: Netzwerkverbindungen umleiten Antivirus-Software aktualisieren “Impfen” von Individuen (Computer: Patches) Kernfrage hier: Welche Knoten ausschalten, um Netzwerk zu säubern? Literaturhinweis S. Leyffer, I. Safro: Fast response to infection spread and cyber attacks on large-scale networks. Journal of Complex Networks, vol. 1, no. 2, pp. 183-199, 2013. 19 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Cyberattacken abwehren (im Modell) SIS Kenngrößen auf einen Blick S: Zahl der anfälligen (= empfänglichen) Knoten I: Zahl der infizierten Knoten β: Übertragungsrate (wird gleich ersetzt...) γ: Heilungsrate φi ,t : Wkt., dass Knoten i im Zeitpunkt t infiziert ist dI = λS − γI dt dS = γI − λS dt λ = βhk iI/(S + I ): durchschnittliche Infektionsrate hk i: Durchschnittlicher Knotengrad 20 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Cyberattacken abwehren (im Modell) Anpassungen Infektionsmatrix statt konstanter Rate Eine feste Infektionsrate ist oft unrealistisch ⇒ Infektionsmatrix P n×n = (pij ) pij : Wkt., dass i von j infiziert wird hi ,t : Wkt., dass gesunder Knoten i zum Zeitpunkt t nicht infiziert ist: hi ,t = Πj ∈N (i ) (1 − pij φj ,t −1 ) Optimierungsproblem: Maximiere die (gewichtete) Zahl der Kanten, die angeschaltet bleiben Halte gleichzeitig den Infektionsgrad an jedem Knoten klein 21 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Cyberattacken abwehren (im Modell) Optimierungsmodell Netzwerk G = (V , E , w ) w (u , v ): Stärke der Verbindung (u , v ), z. B. Zahl ihrer Benutzer Annahme: Wkt. der Infektion in einer Nachbarschaft unabhängig xi : gibt an, ob Knoten i normal funktioniert oder “ausgeschaltet” ist bi : Grenzwert für Infektionsgrad eines Knotens i Optimierungsproblem für unser Modell: max x ∑ wij xi xj (1) ij ∈E udNB xi − Πj ∈N (i ) (1 − pij φj ,t −1 xj ) ≤ bi ∀i ∈ V xi ∈ {0, 1} ∀i ∈ V . (2) (3) Nicht-konvexes nichtlin. IP: Finden einer optimalen Lösung N P -schwer 22 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Cyberattacken abwehren (im Modell) Lösen schwieriger Opt.probleme Exakte und heuristische Verfahren: Branch-and-reduce (Meta)Heuristiken Aufgabe: Nennen Sie Beispiele, Vor- und Nachteile! Hier: Mehrebenen/-skalen-Ansatz! “Abgekupfert” von numerischen Lösern: AMG Ziel: Große Netzwerke mit Hunderttausenden von Knoten 23 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Cyberattacken abwehren (im Modell) Multilevel-Methode Sinn: Relevante Information auf verschiedenen Skalen “einsammeln” Normalerweise anwendbar auf sehr große Probleme Zutaten: 1. Vergröberung 2. Initiale Lösung 3. “Entgröberung” und lokale Verbesserung 4. Lösungszyklen 24 Henning Meyerhenke, Institut für Theoretische Informatik Algorithmische Methoden zur Netzwerkanalyse Krankheitsausbreitung in Netzwerken Cyberattacken abwehren (im Modell)