The class will present the recent technique of 'rule-based modeling', with emphasis on its use in modeling of bio-chemical systems and/or statistical physics, but also including a treatment of the mathematical foundations of the approach in terms of graph rewriting.
Rule-based modeling is a recent development that allows for compact description of complex systems -- most notably for (bio-)chemical reactions -- as collections of rewriting rules that describe how the system may evolve over time. Unlike traditional reaction-based descriptions, rules do not necessarily act upon fully-specified molecules, instead referring only to those aspects pertinent to the reaction mechanisms at play. In addition to providing more generic, compact descriptions, this also enables completely new analysis techniques based on notions of causality familiar from concurrency theory.
There are no formal pre-requisites although an acquantaince with very basic probability theory would be a help, as would a passing familiarity with transition systems and rewriting. You will also need to be able to do some simple programming (in a language of your choice; I will use Python in my examples).
There might be some practical classes with programming and/or modeling exercises. These would require a laptop computer with Python (or your language of choice) and Kappa installed. This could be done in small groups (preferably pairs).
Evaluation will be based on a programming exercise, a modeling project and a written exam.
In a little more detail, the class will include:
Introduction (14/09): conceptual frame, summary of chemical kinetics
- an introduction to (stochastic) chemical kinetics
- Markov jump processes and stochastic simulation
- the rule-based approach: mathematical formulation
- the rule-based approach: the Kappa language
- static and causal analysis of rule-based models
- implicit state simulation
- knowledge representation for rule-based models
Stochastic chemical kinetics (21/09) : Markov jump processes, review paper (Gillespie, 2007)
Stochastic chemical kinetics II (28/09) : slides, decay.py, be.py, assignment (for Nov 1)
Graph rewriting (5/10) : blackboard notes
Graph rewriting II (12/10) : blackboard notes
Site graph rewriting (19/10) : notes
Kappa (2/11) : slides, AB.ka, ES1.ka, ES2QSS.ka, ES2QE.ka, KaSim repository and binaries
Abstract interpretation of Kappa (9/11) [Jérôme Feret] : slides
Implicit state simulation (16/11) : blackboard notes
Implicit state simulation II (23/11) : blackboard notes, null events, over-sampling
Incremental update (30/11) [Jean Krivine] : slides, assignment (for Jan 4)
Knowledge representation for rule-based models (14/12) [Adrien Basso-Blandin]