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.
My Metron collaborator John Foley and John Dusel at Metron has teamed up with Eswaran Subrahmanian and Spencer Breiner at NIST (the National Institute of Standards and Technology) to write a paper "Operads for complex system design, analysis and synthesis". I'm just reading a draft now, so I can't share it yet, but it will come out fairly soon.
This is an interesting question to me: will operads really catch on as a practical formalism for compositional systems?
This paper uses wiring diagrams, and while Spivak and others have written extensively about the operad of wiring diagrams, this paper doesn't seem to mention operads:
I don't know why - maybe a tactical decision?
Ultimately operads will catch on as a practical tool for system design iff people really start designing a bunch of systems with the help of operads. John Foley, @Blake Pollard, John Dusel, Joe Moeller and I were doing this in the Complex Adaptive System Composition and Design project with Metron. But I'm not sure what will happen next. It seems the folks at NIST are serious about operads.
My provisional belief is that operads are the "right" way to think about compositionality, but monoidal categories + extra structure are equivalent and easier to understand. Personally I always use monoidal categories because operads make my brain hurt
You probably know this, but a operad is just the thing where you've got a symmetric monoidal category and an object and all you care about it is the hom-sets .
That is: 1) this trick always give you an operad, and 2) every operad arises this way.
are there cases where you care about being able to say that it's not meaningful to put two things in parallel unless it's to plug them in as simultaneous inputs to something?
Not when designing systems - so yeah, I could work with symmetric monoidal categories and be about equally happy.
On the other hand it somehow feels more apt to talk about the (typed) operad for categories with some chosen set of objects, more than the symmetric monoidal category for categories with some set of objects.
Maybe this is just force of habit.
John Baez said:
I don't know why - maybe a tactical decision?
It is something simpler; like I get monoidal categories + extra structure but I haven't really made operads my "own". But I am excited to see this paper!
@John Baez if you had to recommend a single paper to convince monoidal categories enthusiasts of the goodness of operads, what would it be?
The problem I see with a lot of these definitions, which also arises in the naive definition of both Lawvere theory and Multicategories, is the over-reliance on . From there, a lot of 'combinatorics' leaks into your categories, which isn't necessarily what you were trying to do. We know that, constructively and 'categorically', taking a skeleton is not a good move. Of course, it's kind of natural to do this when your meta-theory is classical, because you can move back-and-forth at ease (using choice all the time).
Of course, this should be seen as quite dubious if what you're interested in is system building. For one, whatever vision of 'ports' is, they are rarely labelled with consecutive natural numbers. This is very repellent to human understanding. So we really do want to work up to relabeling. So labels should matter [because humans like to name things, and these names matter a lot for our understanding], but also should not matter semantically. Category Theory is perfect for that. The key is to have 2 categories around, one modeling the syntax, one for the semantics.
Antonin Delpeuch said:
John Baez if you had to recommend a single paper to convince monoidal categories enthusiasts of the goodness of operads, what would it be?
Operads were invented to solve a very important problem, and they solved that problem wonderfully. So I might suggest Peter May's book The Geometry of Infinite Loop Spaces, or less sadistically, his review article Infinite loop space theory. But this might not be very fun unless you want to do a deep dive into homotopy theory.
For people doing applied category theory with monoidal categories, it would be hard to make a convincing argument that operads are "better".
They're just another tool that's nice to have in your toolkit, so you can decide in any situation whether they feel like the right tool or not.
But whether it's better to spend time enlarging your toolkit or spend time doing things with the tools you have - that's always a tough question.
As for me, I just decided at some point that I needed to get good at four popular ways of describing mathematical gadgets:
and learn how they're related. They each have their distinctive advantages.
I think when comparing operads and symmetric monoidal categories it's crucial to know that there are two connections between these.
1) if you pick any symmetric monoidal category and any object in that category, then the hom-sets form an operad.
2) there is a typed operad whose operations are ways of composing/tensoring morphisms in any symmetric monoidal category with a given set of objects.
In 1) we are using an operad to "zoom in" on a monoidal category and only pay attention to what's going on with morphisms like .
In 2) we are using an operad to think about all ways of building up new morphisms from old by composition and tensoring.
For example, in my Network models paper I'm doing something like 1) - actually a "typed" generalization of 1).
But in David Spivak's work on the operad of wiring diagrams, he's doing something more like 2) - again, actually a generalization.
It took me a while to realize that I was using operads in a fundamentally different way than Spivak.
For people who are more into string diagrams and monoidal categories than operads, I can explain the distinction like this:
1) There's a monoidal category where the morphisms are string diagrams (of some particular sort).
2) There's a monoidal category where the morphisms are ways of sticking together string diagrams to get new string diagrams.
Spivak's use of operads is connected to 2).
In the original 2), are we assuming the behavior of on the set of objects is fixed as well?
Or if not, what are the algebras for this operad? (As a degenerate case, when , they can't literally be "symmetric monoidal categories with set of objects " because there aren't any of those, while an operad always has at least one algebra.)
Reid Barton said:
In the original 2), are we assuming the behavior of on the set of objects is fixed as well?
Hmm, good point. Let's say we are. A typical case would be where our set of objects is and on object is addition.
Jules Hedges said:
My provisional belief is that operads are the "right" way to think about compositionality, but monoidal categories + extra structure are equivalent...
To me, it's really a question of what kind of composition one wants to do. Monoidal categories and string diagrams are great for processes, but operads are a cleaner fit for hierarchical structures, particularly anything we want to consider from a systems-of-systems perspective. As a slogan, monoidal categories are horizontal, while operads are vertical.
Jules Hedges said:
...and easier to understand. Personally I always use monoidal categories because operads make my brain hurt
Stockholm syndrome
John Baez said:
You probably know this, but a operad is just the thing where you've got a symmetric monoidal category and an object and all you care about it is the hom-sets .
Here you're talking about "plain" operads. Is the analogous statement true for colored operads/multicategories?
Even if so, it's worth noting that one may have to monkey with the definitions to achieve it. Sometimes the operadic description is more natural.
My favorite example is the operad of pointed sets under coproducts. There is an obvious notion of an arrow
as a function such that for all . However, there is no obvious way to combine a list of pointed sets into a new pointed set using coproducts.
This example (and its relational analogue) came up in practice when I was thinking about tracking errors across levels of a hierarchical system.
(Two dollar signs $$
is enough.)
Spencer Breiner said:
John Baez said:
You probably know this, but a operad is just the thing where you've got a symmetric monoidal category and an object and all you care about it is the hom-sets .
Here you're talking about "plain" operads. Is the analogous statement true for colored operads/multicategories?
Yes.
Spencer Breiner said:
My favorite example is the operad of pointed sets under coproducts. There is an obvious notion of an arrow
as a function such that for all . However, there is no obvious way to combine a list of pointed sets into a new pointed set using coproducts.
How about the wedge sum of pointed sets? This is the coproduct in the category of pointed sets. To form the wedge sum of your pointed sets first you take their disjoint union and then you identify all the points and use the resulting point as the basepoint.
A bunch of functions such that is the same as a function from this wedge sum to .
D'oh! How about this one: Now a map is a relation between the same objects, such that each distinguished point is related to the distinguished point (but possibly other things, too, which may not all agree).
"Operads for complex system design specification, analysis and synthesis" (by people who I continue to think about as "the NIST crowd" even though only 50% of them are actually at NIST) came out on arXiv today:
https://arxiv.org/abs/2101.11115
If I remember correctly, I got to see something resembling this at ACT 2019 in Oxford.... maybe it's not the same paper, but it feels like it's been quite a wait
Eswaran Subrahmanian and Spencer Breiner (= "the NIST crowd") decided to write this paper, and they pulled John Foley and John Dusel (at Metron Scientific Solutions) into the project. I was asked to join in (since I used to work with John Foley on the Complex Adaptive System Composition and Design Environment project, but I was completely drowning under papers at the time, so I reluctantly bowed out.
The paper has been in existence since December.
Guess I'm mixing it up with something else that I saw back then
Still, doesn't change that it looks like a "must read" paper for me
It's the same line of thought.
I guess some of you know but others don't, so I might as well announce it: my former student @Blake Pollard left NIST, where he was working with Sub and Spencer, and started work at a company in Santa Barbara, run by some physicists, that uses clever math and physics to make industrial refrigeration systems more efficient. Then Sub and Spencer hired my student @Joe Moeller, and with luck he will start work there soon.
I think Joe is planning to teach computers more category theory.... he could give a clearer explanation.
Cool, I didn't know any of that
John Baez said:
Eswaran Subrahmanian and Spencer Breiner (= "the NIST crowd") decided to write this paper, and they pulled John Foley and John Dusel (at Metron Scientific Solutions) into the project. I was asked to join in (since I used to work with John Foley on the Complex Adaptive System Composition and Design Environment project, but I was completely drowning under papers at the time, so I reluctantly bowed out.
The paper has been in existence since December.
The other way around. The Metron group was finishing up the CASCADE program, and wanted to write a wrap-up/looking forward, and we joined onto that.
Our goals for the paper are to (i) gently introduce operads (etc) to a technical but non-mathematical audience, (ii) describe some specific, detailed examples, and (iii) try to lay out some future directions. Comments and suggestions welcome!
Whoops, I forgot this started with Metron.
It's a good introduction to operads and how we can apply them!
Sweet paper folks! Stoked that Joe is joining the 'NIST crew'. NIST is a wild spot. As John mentioned, I joined a startup out in Cali that does control systems for industrial cold storage facilities. Pretty fun stuff. In the short-term, we are kind of scrambling to just stand up our control system on our first few facilities, but longer term, I'm def trying to percolate some legit real-world use-cases back into the ACT community especially around tools currently being developed (like algebraicjulia) and hopefully to actually use some of that tooling in our own work.
Is this unnamed startup the same thing as Metron (who I haven't heard of before), or is that just a coincidence?
na metron is a bunch of math phds and software engineers/computer scientists. they've been around for a while and do lots of government work (Navy, Darpa etc.). The startup I joined is called CrossnoKaye. We've been around for a few years now, but is just starting to pick up steam, growing from about 7 people to around 30 last year. The core of the company/founders are 5ish physics phds, one of whom I happened to hit it off with at a conference during grad school. We kept in touch and he noticed the stuff I was up to with John and Metron and especially NIST and some of it resonated with them. The rest of the company is software engineers, ops people, product people, designers, etc etc
www.crossnokaye.com
Jules Hedges said:
Is this unnamed startup the same thing as Metron (who I haven't heard of before), or is that just a coincidence?
As Blake said, Metron is completely different. Metron is in DC and I worked with them starting in 2017 on a DARPA-sponsored project called the Complex Adaptive Systems Compositions and Design Environment, applying operads to search and rescue missions. I mainly worked with John Foley, a former homotopy theorist. @Blake Pollard and @Joe Moeller were research assistants in that project. I wrote 9 blog articles about it, so I guess you don't read my blog. :cry:
But it's not too late to start:
• Part 1 - CASCADE: the Complex Adaptive System Composition and Design Environment.
• Part 2 - Metron’s software for system design.
• Part 3 - Operads: the basic idea.
• Part 4 - Network operads: an easy example.
• Part 5 - Algebras of network operads: some easy examples.
• Part 6 - Network models.
• Part 7 - Step-by-step compositional design and tasking using commitment networks.
• Part 8 - Compositional tasking using category-valued network models.
• Part 9 - Network models from Petri nets with catalysts.
Don't take it personally, I never read anything
Mathematically speaking, our theory of "network operads" turned out to rely on a monoidal version of the Grothendieck construction, which was clarified in a nice paper by @Joe Moeller and @Christina Vasilakopoulou, now published in TAC. The monoidal Grothendieck construction turned out to be the key in relating structured and decorated cospans, which Christina did with @Kenny Courser and me in our brand-new paper Structured vs decorated cospans. So working on search and rescue missions led to some nice math.
The best explanation of a lot of this math is here:
However, for the applications, the new paper by Sub, Spencer, John Foley and John Dusel is the place to go!
just so that it's in the conversation, https://www.algebraicjulia.org/ is starting to implement operads effectively as well.
I haven't gotten to read the Cyber-Physical Systems paper but it looks great. @Giorgos Bakirtzis ideas for next steps?
@Christian Williams I think there are several directions here, all of which are rather unfledged. There are two parts of the work that I see, developing a complete "computational dynamical systems theory" categorically (https://ptolemy.berkeley.edu/publications/papers/06/CPSPositionPaper/) and developing code that can simulate this theory compositionally (it's stalled but I am putting my money on Catlab.jl). Each of these steps has several possible directions in and of itself (control + formal methods and control + formal methods + learning now)
We need more people working on this
I see. what are some of the main aspects of that theory that you think need to be developed first?
We need a good notion of real-time/uncertainty etc
We need a way to decompose and compose learning algorithms to subtasks/tasks
well, ACT has certainly been working on both of those. would you model learning algorithms as lenses? I didn't see learning mentioned in the paper; how does it factor in?
I am talking about my future directions in general and not necessarily this one paper :) There is a line of work that is going to come from this paper however (which is the first one, time, contracts etc.) I know ACT has been working on these two areas in general and that's why I think they need to go to AACT if you will