A compositional framework for Stock and Flow diagrams and dynamical systems by applying category theory
https://www.fields.utoronto.ca/cgi-bin/register?form_selection=next-gene...
Category theory is believed to be the central hub of pure mathematics. And it is becoming applied in several fields out of mathematics, such as programming language, network theory, control theory, physics, etc. In recent years, category theory has been applied in representing and composing dynamical systems. For example, Baez and Pollard proposed a general framework for describing the reaction network and corresponding open dynamic systems, by using the graph of Petri nets. This framework is constrained in representing the dynamical systems that can be represented by Petri nets and is difficult to describe the dynamical systems including arbitrary functions, such as exponential functions, logarithmic functions, etc. Sophie Libkind has proposed operadic modeling of dynamical systems, which can represent and compose the dynamical systems via composing both exterior dynamic variables and sharing resources (which are the stocks in the Stock and Flow diagrams or also named compartments in the compartmental models). However, although the graphs used (directed wiring diagrams and undirected wiring diagrams) are helpful in representing the two compositional methods, some details of dynamical systems are obscure to be shown. Stock and Flow diagram is a widely used graph structure that can represent the dynamical systems with some detailed information. The Stock and Flow diagram has been commonly used in several simulation software as the bridge to build dynamical systems, such as VENSIM, Anylogic. In this project, we apply category theory to represent the Stock and Flow diagram and the corresponding dynamical systems. Then, we employ the monoidal category to generate a new Stock and Flow diagram (dynamical systems) by composing from multiple “small” Stock and Flow diagrams (dynamical systems). Moreover, we will implement the category theory (representation and composition) in the programing language Julia as a practical software, based on the category theory Julia package Catlab, and the Algerbraic Julia ecosystem.
Xiaoyan Li is a Ph.D. student in the Department of Computer Science at the University of Saskatchewan, supervised by Dr.Nathaniel Osgood. Her research interests are combining multiple approaches and theories in system dynamics modeling to better simulate the real world’s problems (such as incorporating machine learning algorithms of Particle Filtering, PMCMC – particle Markov-chain Monte Carlo, big data of social media data, and search volume data) to better decision making, and incorporating the mathematical theory of applied category theory to build the framework and software package conveniently to represent and compose the dynamical systems. In her master thesis, she has employed the particle filtering algorithm to ground the epidemiological models with the surveillance data and predict outbreaks. As a result, the particle filtering models are able to trace and predict the infectious disease transmission and outbreaks of measles and pertussis. During her master period, she has also applied the PMCMC algorithm to the opioid compartmental model by incorporating multiple Google search volume data and surveillance data to estimate and predict opioid abuse. Her current Ph.D. thesis is focused on applying category theory to represent and compose dynamical systems. A Julia software package will then be implemented based on this theory. During her past Ph.D. period, she has built the Covid-19 particle filtering model since March 2020. This Covid-19 particle filtering model has been used to trace and predict the viral transmission for the Province of Saskatchewan daily, and multiple times for all provinces for PHAC and once a week to First Nations Reserves across Canada via FNIHB. Prior to the study and research period at the University of Saskatchewan, she holds a master’s degree in petroleum engineering and has 10 years of modelling experience in modelling fluid flow in oil reservoirs. She also holds a bachelor’s degree in applied mathematics and a master’s degree in Computer Science.
Albegraic Julia ecosystem (including the package of Catlab which implemented applied category theory in Julia language, and the implementation of applying category theory in multiple fields): https://www.algebraicjulia.org/