Petri Nets
So far in this course, we’ve thought of networks mainly as connected collections of things of the same type: social networks of people connected by friendships, disease/contagion networks of people connected by physical contact, networks of intersections connected by roads, etc. Graph theory gave us a good way of thinking about these networks by providing us with clearly defined concepts (nodes and edges) to model these networks. We have been able to build on these concepts by introducing concepts like strength of ties or positive/negative relationships to help us analyze the networks and phenomena we are interested in.
What about networks of things like chemical species connected by reactions? In such situations, it might not be helpful to treat entities as more or less “alike,” as we do in graph theory. Connections be more complex than can be represented by a simple graph edge, for example when multiple chemicals combine to form a new set of chemicals.
Petri nets offer a way of expressing and analyzing these kinds of networks, which may be difficult or impossible to describe with graph theory. Kinds of entities (e.g. chemical species) are represented by circles called “states,” and “transitions” (e.g. reactions) by rectangles. Arrows connecting states to transitions describe how many of things of different states are consumed in the transition process, and arrows going from transitions to states describe how many things of a particular state are produced. Like with graphs, we can extend the model by introducing elements like rate factors associated with different transitions. With these tools, we can model chemical reactions, interacting populations of organisms, population aspects of the spread of disease, and many other things.
Here is a website that explains these things in (much) more detail (and links to many other resources!):
http://math.ucr.edu/home/baez/networks/