You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.
Hello folks,
In the past year I've been thinking a lot about the emerging paradigm of 'open systems' in ACT. Examples from the recent literature are open networks (Baez, Pollard, Fong, etc), open games (Hedges, Ghani, Di Lavore, etc), open dynamical systems (Spivak Myers), open Petri nets (Baez, Master). [Pardon me if I didn't list you or your work, I just wrote down the first things popped out in my mind. Please, feel free to point out additional examples!].
I find this concept potentially revolutionary: while scientific modelling has been, from the beginning, reductionist, the open paradigm encourages the investigator to explicitly acknowledge context in their models. This might be of secondary value in hard sciences like physics, or chemistry, but potentially life-changing for softer sciences like biology, medicine, economy.
However, this view might be too optimistic.
The incredible organizing power of ACT in engineering, is, I think, now a matter of fact, even if applications in the wild might be not widespread. But can we claim ACT has given new and true insight on the behaviour of interconnected systems? E.g. impossibility results, optimizations, predictions/explanations of observed phenomena.
I believe this question is intimately tied with #applied category theory > measuring non-compositionality, since emerging behaviour is arguably the most interesting aspect of large scale complex systems. Finally, a very open question: what are some interesting questions we should try to answer?
As you point out, for systems that are genuinely complicated your functors end up being Lax, hence measuring quality/quantity of emerging behavior is difficult. I'd like to use some of the thing you point out to illustrate how emerging behavior has different connotations in different systems.
I thought about this heavily in the last year or so, and came to the following, empirically-motivated conclusion: Most often than not, when you have lax functors in your model, it means that you are missing something, or leaving something that may end up being important out. Sometimes this is unavoidable, either because we don't know what we are modelling deep enough, or because we don't have access to such information in the general setting. A similar argument holds for monads. One of the uses of monads is to encapsulate emerging/side effects, only exposing parts of them so that they become tractable. Again this is legit in most applications, but could have drawbacks later on. Hence, I try to employ lax functors and monads as little as I can when I'm modelling something new, and tend to resort to them as a last resource. Does this make sense?
Would this mean in functional programming terms that you use applicatives rather than monads wherever possible?
Open games are an interesting contrast. I claim that open games "correctly" capture inherent non-locality in the application domain in exactly the same sense that CQM does - in this case, Nash equilibria are highly "nonlocal" between players. Despite that, it is very hard to take the next step and exploit this to do useful things that practitioners want - in contrast to CQM, which has the big advantage of strong logical metatheorems about ZX. And (handwaving) it's quite plausible that exploiting compositionality to do what we want in economics is impossible, because it would contradict existing results in complexity theory
I like the original question. I'm optimistic that the monoidal categories paradigm can be influential in general systems theory, especially giving a firm foundation to a subject that otherwise tends to vagueness. Setting problems at that high level of generality is hard, my question about describing laxness is one. For all of us (except CQM, who are ahead of the curve), the current challenge is really to do something useful, to demonstrate to everybody else that our tools are useful and not just cute
One idea I've thought about is that a similar trick that open games work can be "useful" far more generally. Very loosely it's a sort of continuation passing style, where you explicitly juggle contexts. And it really is a trick, in a sense just smoke and mirrors. I think it can produce monoidal structures where it looks like they should be lax, but not in a useful way that you can exploit to compute things. (This is currently just speculation)
We can look to CQM and ZX for inspiration about the best case scenario future. I collected industrial application papers that I was told about here: https://twitter.com/_julesh_/status/1221793959544049665
More examples of categories applied to quantum computing. Hat tip to Alex Cowtan from @cambridgecqc who emailed me after this last tweet https://arxiv.org/abs/1902.03178 https://arxiv.org/abs/1903.10477 https://arxiv.org/abs/1911.09039 https://arxiv.org/abs/1906.01734 https://arxiv.org/abs/1912.11503 https://arxiv.org/abs/1904.12817 https://twitter.com/_julesh_/status/1217216883981799426
- julesh (@_julesh_)What kind of tool are you thinking? I have been trying to think about some implementations in this direction. I'm somewhat sure one could make a open minimax solver combinators, convex concave heuristic combinators, and possibly some kind of category-ish interface to bilevel optimization solvers
In this case I meant "tool" in the sense of mathematical tools/machinery. I happen to personally believe that software is the main place we will win
@Jules Hedges I think modeling languages is where we will win fwiw, not software.
what do you mean by modeling languages? I think of a modeling language as a piece of software that is like a DSL for building and analyzing models
The software implementation might have nothing to do with software development using ct, but it might use concepts from CT to organize the information it models like SemanticModels ;)
Mateo Capucci wrote:
In the past year I've been thinking a lot about the emerging paradigm of 'open systems' in ACT. [...] I find this concept potentially revolutionary: while scientific modelling has been, from the beginning, reductionist, the open paradigm encourages the investigator to explicitly acknowledge context in their models. This might be of secondary value in hard sciences like physics, or chemistry, but potentially life-changing for softer sciences like biology, medicine, economy.
However, this view might be too optimistic.
The incredible organizing power of ACT in engineering, is, I think, now a matter of fact, even if applications in the wild might be not widespread. But can we claim ACT has given new and true insight on the behaviour of interconnected systems? E.g. impossibility results, optimizations, predictions/explanations of observed phenomena.
Your questions are very much on my mind.
In the next couple of years I'm going to be a bit more of a hermit, do a bit less talking, and try to come up with some "new and true insights on the behavior of interconnected systems" using the categorical frameworks that we have recently invented for studying open systems. Social distancing is already giving me a bit more time to do this.
I am better at science than engineering, so I will be trying to study systems rather than design them.
I have a paper on open chemical reaction networks that's just sort of waiting to be written.
Finally, a very open question: what are some interesting questions we should try to answer?
We should especially try to answer questions that we can answer. It's very easy to imagine things that sound exciting.... but are too hard to do.
But I don't want to talk yet about the questions that I'm actually making progress on. So anything I said would be sort of useless!
Well, not quite. I've written a bunch of papers about open systems and networks and category theory, and I'm happy to talk about the ideas in those.
What I've started to realize about open systems is that studying things in this way is not entirely new. I think that computer scientists have been thinking about these ideas under different names. I do think that people more comfortable with category theory and science have a lot to contribute to these ideas however but we should try not to reinvent what has already been done.
For example recently I learned about valuation algebras. These seem a lot like a (non-categorical) framework for computing things in a compositional way.
Jade Master said:
What I've started to realize about open systems is that studying things in this way is not entirely new. I think that computer scientists have been thinking about these ideas under different names. I do think that people more comfortable with category theory and science have a lot to contribute to these ideas however but we should try not to reinvent what has already been done.
This must be true. It's curious because I often see ACT events calling from 'people from every field' but I've rarely heard of ACT folks reaching to other areas.
That's also why I think having some kind of 'programme', i.e. a bunch of common goals for the field, might be a good stimulus: if you know what to look for, then it's easy to reach out to other fields, while otherwise it might not feel worthy of the effort.
Jade Master said:
For example recently I learned about valuation algebras. These seem a lot like a (non-categorical) framework for computing things in a compositional way.
Valuation algebras like in here https://link.springer.com/chapter/10.1007/978-1-4471-0009-6_2 ?
@Matteo Capucci Yes those sort of valuation algebras. I read about them in this book https://www.amazon.com/Generic-Inference-Unifying-Automated-Reasoning/dp/0470527013 when I was reading about the algebraic path problem.
I totally agree; and the basic idea of composing open systems sequentially and in parallel is eventually so obvious it wouldn't be believable if nobody had thought of it before 100 times over
Here's the definition: A valuation algebra is a set of observations with:
Reaching out to other fields is hard. Reading other people's literature is hard, learning the culture of another field is hard. Everything takes a long time. I've been working with economists as my main thing for 7 years now, and I still find economics literature mostly a nightmare to read
Yup it is hard. But I think the rewards are worth it :)
@Jade Master said:
I think that computer scientists have been thinking about these ideas under different names. [...] we should try not to reinvent what has already been done.
Given that there's two decades (or more) of CT-in-CS literature out there, this is a real risk.
A few weeks ago, I encountered a concept that was novel to the author (and me), so it was presented with to me no citation. It turns out the exact same notion, with the exact same name, had been written up a few years ago in the CS literature. Thankfully that cropped up in an informal setting, not in something published.
A word to the wise: Google Scholar is your friend.
@Jules Hedges said:
I still find economics literature mostly a nightmare to read
Mainly because the field itself is (mostly) a nightmare, its current mainstream being a product of the abuse of mathematics.
Fortunately, probably half the people on this server are culturally computer scientists, so you can just ask "have you ever heard of something like this"
Jules Hedges said:
Fortunately, probably half the people on this server are culturally computer scientists
Many here have experience writing code, but I haven't spotted many seasoned theoretical computer scientists yet. And the CT-in-CS papers I've dug up are obscure enough that I don't think the average coder with 1-3 years of industry experience would have heard of it.
so you can just ask "have you ever heard of something like this"
Fortunately, we also have Google.
I can volunteer myself and a few other names I recognize (dan doel, reid barton) as people who are pretty up to date with proper computer science literature. But that said, its a big field! So just as one might expect many concepts in any given branch of math are unknown to people familiar with literature in their field, the same is doubtless true in computer science, logic, etc. In my experience, trying to understand prior art and making connections is always a process, and never just a waystation.
Gershom said:
I can volunteer myself and a few other names I recognize (Dan Doel, Reid Barton barton) as people who are pretty up to date with proper computer science literature.
Hi, Gershom! Good to know!
But that said, its a big field! So just as one might expect many concepts in any given branch of math are unknown to people familiar with literature in their field, the same is doubtless true in computer science, logic, etc. In my experience, trying to understand prior art and making connections is always a process, and never just a waystation.
Exactly.