{
  "abstract": "Agent-based models (ABMs) offer a compelling framework for simulating complex systems but scale poorly with conventional software execution paradigms. When modelling millions of interacting agents with complex lifecycles and spatial dynamics, conventional ABMs encounter severe computational bottlenecks, e.g., from memory fragmentation and loop-based state updates. We introduce ASCENT (agent-based simulation using computationally efficient nested tensors), a tensor-oriented approach that reformulates agent state, interactions, and transitions as tensor programs, which enables population-level vectorised computation on commodity GPU hardware. ASCENT supports heterogeneous agent attributes, stochastic state transitions, spatially explicit movement, and machine-learning–driven behaviours, while substantially reducing the traditional trade-off between expressiveness and computational scale. Applied to modelling of gene drive mosquito dynamics on Príncipe Island, ASCENT can simulate millions of individual agents with full lifecycle, genetic inheritance, and spatial dispersal fidelity, demonstrating that a single strategically placed release achieves 95% allele prevalence within approximately 73 days. The emergent Allee effect threshold at $${\\sim }$$ 300 individuals further validates the model’s ecological fidelity. These results demonstrate that our tensor-oriented reformulation enables population-scale agent-based simulation without sacrificing behavioural richness.",
  "abstract_shown": true,
  "affiliations": [
    "Department of Computer Science, University of Oxford",
    "Department of Pathology, Microbiology and Immunology, University of California",
    "School of Geography and the Environment, University of Oxford",
    "Institute for New Economic Thinking at the Oxford Martin School, University of Oxford"
  ],
  "article_type": null,
  "arxiv": null,
  "author_total": 7,
  "authors": [
    {
      "affs": [
        0
      ],
      "name": "Imran Mahmood"
    },
    {
      "affs": [
        1
      ],
      "name": "Sureni Wickramasooriya"
    },
    {
      "affs": [
        2
      ],
      "name": "Richard M. Bailey"
    },
    {
      "affs": [
        1
      ],
      "name": "Gregory C. Lanzaro"
    },
    {
      "affs": [
        0
      ],
      "name": "Anisoara Calinescu"
    },
    {
      "affs": [
        3
      ],
      "name": "J. Doyne Farmer"
    },
    {
      "affs": [
        0
      ],
      "name": "Michael Wooldridge"
    }
  ],
  "bibtex": "https://research.draconitic.com/paper/d0ty2hgqhqe0g.bib",
  "cited_by": 0,
  "doi": "10.1038/s41598-026-61495-6",
  "fulltext_url": "https://doi.org/10.1038/s41598-026-61495-6",
  "id": "d0ty2hgqhqe0g",
  "issns": [
    "2045-2322"
  ],
  "landing_url": "https://doi.org/10.1038/s41598-026-61495-6",
  "language": "en",
  "licence": "CC-BY",
  "licence_label": "CC BY",
  "licence_source": "journal",
  "licence_url": "https://creativecommons.org/licenses/by/4.0/",
  "metadata_licence": null,
  "native_subjects": [
    [
      "lcc",
      "Q"
    ],
    [
      "lcc",
      "R"
    ],
    [
      "openalex",
      "1803|Simulation Techniques and Applications"
    ]
  ],
  "openalex": "W7170784908",
  "pdf_url": null,
  "pmcid": null,
  "pmid": null,
  "published": "2026-07-01",
  "publisher": "Nature Portfolio",
  "ris": "https://research.draconitic.com/paper/d0ty2hgqhqe0g.ris",
  "sources": [
    {
      "first_seen": "2026-10-30T13:45:53Z",
      "native_id": "71fdba52ae384295944bdcefad7723ff",
      "source": "doaj",
      "url": "https://doi.org/10.1038/s41598-026-61495-6"
    }
  ],
  "subjects": [
    {
      "field": "medicine",
      "origin": "lcc:R",
      "subfield": "general"
    }
  ],
  "title": "ASCENT: a tensor-oriented approach to population-scale agent-based simulation",
  "title_text": "ASCENT: a tensor-oriented approach to population-scale agent-based simulation",
  "type": "peer-reviewed",
  "updated_at": "2026-10-30T13:45:53Z",
  "url": "https://research.draconitic.com/paper/d0ty2hgqhqe0g",
  "venue": "Scientific Reports",
  "versions": []
}