Categories of Nets
johncarlosbaez.wordpress.com
johncarlosbaez.wordpress.com
Readers may be interested in the works of Buice and colleages¹²³⁴.
You might also enjoy The Complex Chemical Langevin Equation⁵, which uses complex-valued particle counts to handle negative particle counts in a stochastic model.
1 https://journals.plos.org/ploscompbiol/article?rev=1&id=10.1...
2 https://journals.aps.org/pre/abstract/10.1103/PhysRevE.75.05...
3 https://www.mitpressjournals.org/doi/abs/10.1162/neco.2009.0...
4 https://www.sciencedirect.com/science/article/pii/S007961070...
5 https://aip.scitation.org/doi/full/10.1063/1.4885345?casa_to...
Applications are not the central focus of this paper. There are about a ton of applied papers out there employing Petri nets in computing, chemistry, epidemiology etc. This paper is not one of them. We just mentioned, in passing, how different flavors of nets have been applied in the last decades. We deem this to be an interesting paper for people working in Petri nets theory, because it systematizes decades of research. I'm pretty sure it will be of little interest for anyone not directly involved in Petri net research. :)
I made it more than halfway through the article, but without this simple intuition it was really hard to grasp the ideas.
Graphs give you finite state machines in the obvious way: You mark the vertex you are in and walk the arrows.
Hypergraphs give you Petri nets: You mark each vertex as many times as you want and walk the arrows to move marks around. This tells us two things: 1. Petri nets are a calculus of resources. The marking is not telling anymore "what state you are in". A state is an allocation of resources to each vertex in the net. 2. Petri nets are concurrent: you don't have to move stuff around by walking one edge at a time: Two different hyperedges in two different places of the hypergraph can "act at the same time", since the "what state you are in" thing makes no sense anymore.
Anyway, this paper is pretty complicated and for sure there are waaaaay easier places to start. Such as this one: https://arxiv.org/abs/1906.07629
Are any forms where the edges are weighted, or does each edge necessarily have the same weight?
Related to the previous question, if you have a finite number of tokens at a vertex with multiple outgoing edges, how do you choose which edges they follow? I suppose that for any given allocation there may be multiple succeeding allocations.
Finally, the structure seems very similar to neural nets. Are they actually similar, or very different?
About the choosing which edges they follow: You don't. In standard Petri nets firing is concurrent: If tokens can be used by more than one transition at the same time, they will non-deterministically go one way or another. You can actually refine this situation by extending your formalism, e.g. to timed nets.
I am not an expert of neural nets, but I'd guess they are more similar to signal flow graphs. These are related to Petri nets tho, but in a very deep and complicated way that I have no chance of explaining here right now. Check out the work of Sobocinski, Piedeleu and Zanasi about additive relations if you are interested in this!
The kind of graphical gadget that generates FDHilb (in the sense that the graphical calculus is sound and complete wrt FDHilb) is called ZX calculus (or one of its equivalent variants, such as ZW). It took roughly 10 years to prove that ZX is complete wrt FDHilb! In any case, a string diagram in ZX calculus looks like a hypegraph with extra properties and equations. But you lose the dynamic interpretation of tokens moving in the net, there are no tokens in ZX!
What kind of object is the self in this case? I've been contemplating this stuff and I'm not clear on how to model things that evolve over time in this way.
How would you recommend I go about making friends in the CT community? I'm a full-time parent without a degree and see CT as something worth trying to teach my child now (though without all the jargon).
Also, Uni chooses what they do and when they do it. This includes diaper changes and baths. We seek to, at most, influence through what we say/do and configure the environment. We also moderate their food intake when it comes to things like sugar.
So with that in mind, does that change your answer at all?
I'm not a chemist and my math is not amazing. Could someone explain how this would be used for, say, population dynamics, as mentioned in the article?
I think it's not unreasonable to consider Petri nets as a generalization of automata (finite or infinite) with concurrency. Just like automata, they find applications in many places depending on how you further extend or restrict them.
We are working to capture this categorically as well. We are perfectly conscious of how a discrete system won't help you if you have an Avogadro number of things going around. Just give us time. :)
It puts the different models on the same footing (and hence allowing you to unify tools and do more work)
Also, I'd even argue that biology/chemistry needs to embrace categorical methods and we would see some deep discoveries.
Chemists and biologists not caring can have a lot to do with hyperspecialization and fear of math. Category theory is still relatively esoteric.
The fact that workers in the field with the presumed "applications" don't seem to care is pretty telling. My guess is that working at a level of generality where subject-specific insights are suppressed automatically limits the usefulness of the work.
[0]: http://philsci-archive.pitt.edu/8890/1/critique_sep10.pdf
The fact that mathematical foundations don't have applications now does not mean they won't have applications in the future. Gregorio Ricci-Curbastro's work was also considered pretty useless until Einstein decided to build General Relativity over it. If it were for opinions like this one, progress in many field would be incremental at best.
I don't know anything about ZX calculus, but if people are using it to solve real-world problems, that sounds good to me. What I object to is pure mathematicians giving "applications" of their work that aren't useful or real. And when the authors allude to applications in chemistry and biology, and no chemists or biologists are doing anything with category-theoretical analyses of Petri nets, I think it's reasonable to point this out.
Human cultures are more complex than that. Capitalistic pressures to produce results have had a noted impact on research and development. There will likely need to be a practitioner willing to do the field work to bring about the big "Aha!" for that field. Based on the silo'd history of so many fields, it's a safe bet to say that may be necessary in every field where CT can be applied.
Again, it's pretty telling specific applications aren't mentioned, and instead there's just vague gesturing. How can we expect scientists to "do the field work" necessary to bring the applications to fruition if we can't even tell them what those applications are?
Also, regarding your first sentence, the vast majority of influential mathematics was indeed "immediately acknowledged," because it made progress on some important problem. Perfectoid spaces are a recent example.
I feel you are one of those people that just hate category theory because they consider it too abstract and useless for any purpose. We get that a lot, from a lot of people. Still, since Grothendieck, categorical methods are absolutely central in modern algebraic geometry and topology, and this centrality is only destined to grow, because CT is the best theory we have to manage emerging complexity in describing systems. In my opinion, the approach of "if it's not immediately useful then it's useless" really will lead you farther and farther away to understand modern developments in applied mathematics.
Practitioner apathy and willingness to dismiss things as not useful can reflect a lack of intellectual humility in their cultures and lives.
The generality is useful if one practices seeking subject-specific insights from the generality. It sometimes leads to new options I haven't even thought of or leads me to reconsider decisions.
"Useful" is a judgment and most judgments like this are made on too short of a timeline. What's actually happening is someone hasn't found a use for the thing labeled as "useless" and is blaming it on the thing, themselves, or where the thing came from. Instead, a growth mindset focused on learning, accountability, and responsibility might be "I did this thing and the outcome I wanted didn't occur. I haven't yet learned how to use it for said outcome."
Soon these methods will be usable by many people for all kinds of purposes. You can think of cryptographic contracts, business process execution, game theory, functional reactive programming, quantum protocols and digital or analogue electronics.
The only difference is what category the diagrams live in, or put another way, which semantics are you assigning to thee boxes and wires.
You can stay tuned on statebox.org and process.io