Agent-Based Models Maksudul Alam, Wei Wang Outline Literature Review about Agent-Based model Modeling disease outbreaks in realistic urban social Networks EpiSimdemics: an Efficient Algorithm for Simulating the Spread of the Infections Disease over Large Social Network GLEaMviz Software: exploring realistic epidemic spreading scenarios at the global scale Literature Review What is Agent-Based Model? A class of computational model used to simulating the actions and interactions of autonomous agents with a view to accessing their effects on the whole system. Common components in Agent-Based Model Agents Decision-Making heuristics Adoptive process Interaction topology Environment Model disease outbreak in realistic urban social network Challenge Dense urban social-contact networks perfect for disease propagation More and more people live in city, around 60% when 2030 How to prevent epidemic? What disease surveillance strategies will help? Mass vaccination? Assumptions for the infectious disease Model Assumption of the spreading environment The effect of the pathogen on the host: within-host disease model Process of transmission between host: transmission model Assumptions on the contacts: contact model Assumption environment Construct a agent-based model to simulate the disease spreading Apply dynamic bipartite graph represent social contact network People Location Daily Activities and Travel Shopping, working, short travel, long range travel Social Contact Network Fig a: Small bipartite social contact network Fig c: Location network Fig b: People network Fig d: Ignore time label Graph Features Small world like people contact network Diameter about 6 Power Law degree distribution Cluster coefficient around 0.48 Hierarchical Scale-free location graph Capacity exponent ๐~ โ 2.8 Cluster coefficient around 0.04 Control Strategies Early detection Find the minimum dominant set of locations to put sensors Overlap ratio ๐ค ๐ ๐ฝ ๐ค ๐ฝ = lโ๐ฝ deg(l) where ๐ฝ is a set of locations, ๐(๐ฝ) is the number of different people visiting any location in ๐ฝ, deg(๐) is the number of different people visiting location ๐ Target vaccination Constrain the disease spread only in local graph Target long-range travelers Graph Features What graph features matter the disease propagation Degree distribution Cluster coefficient Expansion How to prevent the epidemic Mass Vaccination? Early detection Target vaccination Simulate Smallpox Modeling By EpiSim Continues model for within-host disease progress Manifestations of smallpox Ordinary Modified Flat or malignant Early hemorrhagic Late hemorrhagic Disease load ฮณ All locations share the same growth/decay rate Specific personal growth/decay rate Threshold component Infected (๐ฟ๐ผ ) Symptomatic (๐ฟ๐ ) Staying home from normal activities (๐ฟ๐ป๐ ) Infectious (๐ฟ๐ถ ) Dead (๐ฟ๐ท ) With-host disease Course Above ๐ฟ๐ผ Above ๐ฟ๐ /๐ฟ๐ป๐ Above ๐ฟ๐ถ Under ๐ฟ๐ผ Above ๐ฟ๐ท Transmission Model 1. Infectious people contaminate local environment by shedding load with shedding rate ๐ฝ๐ 2. People present at a contaminated location absorb load from it with absorbing rate ๐ฝ๐ด 3. Probability of transmission from a susceptible to infected can depend on 3.1 infectivity and susceptibility 3.2 Duration of contact 3.3 Activities(School, work, home, etc.) 3.4 Demographics of infectious and susceptible Contact Model Create synthetic people in households with correct joint demographics Associate a state of health with each synthetic person Synthetic people move among physical locations (street addresses, city blocks, institutions) and engage in activities at those locations Below a certain level of resolution, simple assumptions about contacts among people at locations are introduced Each personโs activities are repeated every day, except for dynamic events such as withdrawal to home, quarantine, etc. Simulation Results The disease is likely to spread quickly without controlled early enough Detection early Time of withdrawal to home is most important Delay in Response is also very important EpiSimdemics EpiSimdemics EpiSimdemics is an individual-based modeling environment Each individual is represented based on a synthetic population Each interaction between two spatially and temporally collocated individuals is represented Uses a people-location bipartite graph as the underlying network. Allows us to represent time-dependent interactions Allows us to calculate location dependent interactions Formal Model Formal Model (๐บ(๐, ๐ธ), ๐น, ๐) ๐บ(๐, ๐ธ) represent the social contact network ๐ represent people in the network ๐ธ represent the edges between people ๐น set of transmission function ๐๐ which map the state of ๐ฃ๐ at time t to time t+1 ๐ represent the update schedule of people and location Social Network Representation Within-Host Disease Model Probabilistic Timed Transition System (PTTS) Between-Host Disease Model The function of the Probability of one person being infected : ๐๐ ln(1 โ ๐๐ ๐ ๐)) [1] ๐๐ = 1 โ exp(ฯ ๐โ๐ Here : ฯ is duration of exposure R is the set of infectivities of the infected individuals ๐๐ is the number of infectious individuals with infectivity r ๐ ๐ is the susceptibility of I ๐ is the transmissibility of disease 1. Barrett et. al., 2007, Modeling and Simulation of Large Biological, Information and Socio-Technical Systems: An Interaction Based Approach EpiSimdemics Algorithm โ Serial In each iteration (e.g. a day) Each person (Step 1) Determines where they will go Send a message to each location they will visit Each location (Step 2) For each received message, create an arrival and depart event pair For each event, calculate probability of infection between each co-located pair of Infectious and Susceptible people Send message to each newly infected person Each Infected person updates state (Step 3) Global simulation state is updated EpiSimdemics: Demo 4 people: 1, 2, 3, 4 4 locations: a, b, c, d Person 2 is infected, others are susceptible PTTS version of SIR model Movement model is given by the following bipartite network: Step 1: Send Visit Each person Determines where they will go Send a message to each location they will visit a 1 b 2 1 c 3 4 d 4 2 Step 2: Each location For each received message: create an arrival and depart event pair a a 1 b 2 1 c 3 4 d 4 b c 2 d Step 2: Each location For each event If Arrival event add the people to location, otherwise remove from location Calculate probability of infection a b c d a b c d Step 2: Each location For each event If Arrival event add the people to location, otherwise remove from location Calculate probability of infection a b c d T=8 a 1 b 2 c 3 d 4 Step 2: Each location For each event If Arrival event add the people to location, otherwise remove from location Calculate probability of infection a b c d T=9 a b 2 1 c 3 4 d Step 2: Each location For each event If Arrival event add the people to location, otherwise remove from location Calculate probability of infection a b c d T=9 a b 2 1 c 3 4 d 1 Step 2: Each location For each event If Arrival event add the people to location, otherwise remove from location Calculate probability of infection a b c d T=10 a b 1 c 3 d 4 2 1 Step 2: Each location For each event If Arrival event add the people to location, otherwise remove from location Calculate probability of infection a b c d T=11 a b 1 c 3 d 4 2 1 Step 2: Each location For each event If Arrival event add the people to location, otherwise remove from location Calculate probability of infection a b c d T=12 a b c d 1 Step 2 & 3: Each location Send message to each newly infected person Each Infected person updates state 1 1 1 2 2 3 3 4 4 EpiSimdemics Algorithm โ Parallel In each time step (e.g. a day) In Parallel, Each person (Step 1) Determines where they will go Send a message to each location they will visit Synchronize 1 In Parallel, Each location (Step 2) For each received message, create an arrival and depart event pair For each event, calculate probability of infection between each co-located pair of Infectious and Susceptible people Send message to each newly infected person Synchronize 2 In Parallel, Each Infected person updates state (Step 3) Synchronize 3 Global simulation state is updated Performance: Execution Time & Memory AL: #of people: 4,333,172 (4.3M), #of locations: 1,300,548 (1.3M) CA: #of people: 33,153,148 (33.1M), #of locations: 5,521,932 (5.5M) 120 day simulation period Scalability of Parallel EpiSimdemics EpiSimdemics: Conclusion Unique HPC-based framework to model epidemics on large social network Scales to realistic social networks, up to 100M nodes Can be modified to study diffusion system over unstructured networks Designed for realistic intervention strategies GLEaMviz A software system to explore realistic global epidemics GLEaMviz for Epidemic Visualization A software system for simulation and visualization of global epidemics Based on detailed population and mobility data User defined compartment based infection dynamics Total control on simulation Interactive visualization support (maps, incidence curves,) GLEaM is GLobal Epidemic and Mobility modeler Publicly available from http://www.gleamviz.org/ Architecture Client โ Server architecture Consists of three components: Client Application (GUI) Proxy Middleware Simulation Engine GLEaMviz โ Client Epidemic Modeling Simulation Settings Manage Simulations Interactive Result Visualization GLEaMviz โ Server Simulation Engine runs the actual simulation Based on GLEaM Uses detailed population and mobility data Takes input as Epidemic Model and Simulation Settings Produces spatio-temporal output Stores simulation results for future analysis Supports Epidemic Marketplace concept (not available to public version) Middleware Communicates between Client and Simulation Engine Workflow Simulation Engine โ GLEaM Based on a stochastic metapopulation approach Many spatially separated distinct populations Mobility at the inter-population level: Short range (e.g. public commuters, cars etc.) Long range (e.g. air travel) Compartmentalized disease models SIR, SIS, SEIR Metapopulation A metapopulation consists of a group of spatially separated populations of the same species which interact at some level. Example: metapopulation of the spotted owl in the San Bernardino Mountains GLEaM Layers Consists of three basic layers: The population layer The mobility layer The epidemic layer Population Layer Based on Gridded Population of the World project by the SocioEconomic Data and Applications Center (SEDAC)1 World population is divided into grid of cells Each cell is assigned an estimated population value Cell size of 25 km x 25 km Over 250,000 populated cells Airport Centered Subpopulation Considers 3,362 airports from 220 countries Each cell belongs to the nearest airport GLEaM uses these 3,362 subpopulations 1. http://sedac.ciesin.columbia.edu/data/collection/gpw-v3 Mobility Layer Considers long-range and short-range mobility Long-range is based on IATA and OAG databases 3,362 airports from 220 countries 16,846 total flight connections Short-range is commuting patterns between adjacent subpopulations Collected from 30 countries 11,230 commuting flows IATA: International Air Transport Association OAG: Official Airline Guide Epidemic Layer Defines disease and population dynamics Infection dynamics takes place in each subpopulation Compartmentalized models (e.g. SIR, SIS, SEIR etc.) Model Builder is used to define the epidemic models Model Builder Visual tool for designing arbitrary compartmental models Models as flow diagrams Stylized Box represents compartments Directed arrow represents transitions Model Builder โ Compartments User can define: Compartment Label Color Mobility Clinical Case Users can design any arbitrary infection models Specially respiratory and influenza-like diseases Model Builder โ Transitions Two types of transitions: Spontaneous transitions Infection transitions Spontaneous transitions: Does not depend on other states (e.g. Infectious ๏ฎ Recovered) Infection Transitions Depend on other states (e.g. Susceptible ๏ฎ Latent due to Infectious) Can be more than one dependency Simulation Wizard Simulation Results User Study Results Thanks Backup Slides EpiSimdemics Time complexity ๐ ๐ โ ๐ ๐ + ๐ โ ๐ ๐ฟ ๐ = number of people ๐ = number of locations ๐๐ = average degree for person (number of locations visited by a person) ๐๐ฟ = average degree for location (number of person visited to a location)
© Copyright 2026 Paperzz