Category Theory
Zulip Server
Archive

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.


Stream: theory: applied category theory

Topic: operads for complex system design


view this post on Zulip John Baez (Oct 24 2020 at 16:50):

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?

view this post on Zulip John Baez (Oct 24 2020 at 16:54):

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:

view this post on Zulip John Baez (Oct 24 2020 at 16:54):

I don't know why - maybe a tactical decision?

view this post on Zulip John Baez (Oct 24 2020 at 17:02):

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.

view this post on Zulip Jules Hedges (Oct 24 2020 at 18:51):

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

view this post on Zulip John Baez (Oct 24 2020 at 18:52):

You probably know this, but a operad is just the thing where you've got a symmetric monoidal category and an object xx and all you care about it is the hom-sets hom(xn,x)\mathrm{hom}(x^{\otimes n}, x).

view this post on Zulip John Baez (Oct 24 2020 at 18:53):

That is: 1) this trick always give you an operad, and 2) every operad arises this way.

view this post on Zulip sarahzrf (Oct 24 2020 at 20:04):

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?

view this post on Zulip John Baez (Oct 24 2020 at 20:12):

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.

view this post on Zulip John Baez (Oct 24 2020 at 20:12):

Maybe this is just force of habit.

view this post on Zulip Georgios Bakirtzis (Oct 24 2020 at 20:42):

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!

view this post on Zulip Antonin Delpeuch (Oct 25 2020 at 05:50):

@John Baez if you had to recommend a single paper to convince monoidal categories enthusiasts of the goodness of operads, what would it be?

view this post on Zulip Jacques Carette (Oct 25 2020 at 16:36):

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 Fin n\textsf{Fin}\ n. 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.

view this post on Zulip John Baez (Oct 25 2020 at 17:13):

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.

view this post on Zulip John Baez (Oct 25 2020 at 17:14):

For people doing applied category theory with monoidal categories, it would be hard to make a convincing argument that operads are "better".

view this post on Zulip John Baez (Oct 25 2020 at 17:15):

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.

view this post on Zulip John Baez (Oct 25 2020 at 17:18):

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.

view this post on Zulip John Baez (Oct 25 2020 at 17:19):

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.

view this post on Zulip John Baez (Oct 25 2020 at 17:32):

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 CC and any object xx in that category, then the hom-sets hom(xn,x)\mathrm{hom}(x^{\otimes n}, x) 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 SS 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 f:xxxf: x \otimes \cdots \otimes x \to x.

In 2) we are using an operad to think about all ways of building up new morphisms from old by composition and tensoring.

view this post on Zulip John Baez (Oct 25 2020 at 17:34):

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.

view this post on Zulip John Baez (Oct 25 2020 at 18:08):

It took me a while to realize that I was using operads in a fundamentally different way than Spivak.

view this post on Zulip John Baez (Oct 25 2020 at 18:10):

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.

view this post on Zulip John Baez (Oct 25 2020 at 18:10):

Spivak's use of operads is connected to 2).

view this post on Zulip Reid Barton (Oct 25 2020 at 18:59):

In the original 2), are we assuming the behavior of \otimes on the set of objects SS is fixed as well?

view this post on Zulip Reid Barton (Oct 25 2020 at 19:02):

Or if not, what are the algebras for this operad? (As a degenerate case, when S=S = \emptyset, they can't literally be "symmetric monoidal categories with set of objects SS" because there aren't any of those, while an operad always has at least one algebra.)

view this post on Zulip John Baez (Oct 25 2020 at 19:44):

Reid Barton said:

In the original 2), are we assuming the behavior of \otimes on the set of objects SS is fixed as well?

Hmm, good point. Let's say we are. A typical case would be where our set SS of objects is N\mathbb{N} and \otimes on object is addition.

view this post on Zulip Spencer Breiner (Oct 26 2020 at 14:50):

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.

view this post on Zulip Spencer Breiner (Oct 26 2020 at 14:50):

Jules Hedges said:

...and easier to understand. Personally I always use monoidal categories because operads make my brain hurt

Stockholm syndrome

view this post on Zulip Spencer Breiner (Oct 26 2020 at 14:51):

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 xx and all you care about it is the hom-sets hom(xn,x)\mathrm{hom}(x^{\otimes n}, x).

Here you're talking about "plain" operads. Is the analogous statement true for colored operads/multicategories?

view this post on Zulip Spencer Breiner (Oct 26 2020 at 14:53):

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.

view this post on Zulip Spencer Breiner (Oct 26 2020 at 14:57):

My favorite example is the operad of pointed sets under coproducts. There is an obvious notion of an arrow
(A1,a1),,(An,an)(A0,a0)(A_1,a_1),\ldots,(A_n,a_n)\to (A_0,a_0) as a function A1++AnA0A_1+\ldots +A_n\to A_0 such that aia0a_i\mapsto a_0 for all ii. 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.

view this post on Zulip Reid Barton (Oct 26 2020 at 14:58):

(Two dollar signs $$ is enough.)

view this post on Zulip John Baez (Oct 26 2020 at 16:05):

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 xx and all you care about it is the hom-sets hom(xn,x)\mathrm{hom}(x^{\otimes n}, x).

Here you're talking about "plain" operads. Is the analogous statement true for colored operads/multicategories?

Yes.

view this post on Zulip John Baez (Oct 26 2020 at 16:11):

Spencer Breiner said:

My favorite example is the operad of pointed sets under coproducts. There is an obvious notion of an arrow
(A1,a1),,(An,an)(A0,a0)(A_1,a_1),\ldots,(A_n,a_n)\to (A_0,a_0) as a function A1++AnA0A_1+\ldots +A_n\to A_0 such that aia0a_i\mapsto a_0 for all ii. 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 (Ai,ai)(A_i,a_i) first you take their disjoint union and then you identify all the points aia_i and use the resulting point as the basepoint.

A bunch of functions fi:AiA0f_i : A_i \to A_0 such that fi(ai)=a0f_i(a_i) = a_0 is the same as a function from this wedge sum to (A0,a0)(A_0,a_0).

view this post on Zulip Spencer Breiner (Oct 26 2020 at 16:21):

D'oh! How about this one: Now a map is a relation between the same objects, such that each distinguished point aia_i is related to the distinguished point a0a_0 (but possibly other things, too, which may not all agree).

view this post on Zulip Jules Hedges (Jan 28 2021 at 16:21):

"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:

view this post on Zulip Jules Hedges (Jan 28 2021 at 16:21):

https://arxiv.org/abs/2101.11115

view this post on Zulip Jules Hedges (Jan 28 2021 at 16:22):

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

view this post on Zulip John Baez (Jan 28 2021 at 16:33):

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.

view this post on Zulip Jules Hedges (Jan 28 2021 at 16:35):

Guess I'm mixing it up with something else that I saw back then

view this post on Zulip Jules Hedges (Jan 28 2021 at 16:35):

Still, doesn't change that it looks like a "must read" paper for me

view this post on Zulip John Baez (Jan 28 2021 at 16:36):

It's the same line of thought.

view this post on Zulip John Baez (Jan 28 2021 at 16:39):

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.

view this post on Zulip John Baez (Jan 28 2021 at 16:42):

I think Joe is planning to teach computers more category theory.... he could give a clearer explanation.

view this post on Zulip Jules Hedges (Jan 28 2021 at 16:43):

Cool, I didn't know any of that

view this post on Zulip Spencer Breiner (Jan 28 2021 at 17:24):

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!

view this post on Zulip John Baez (Jan 28 2021 at 18:11):

Whoops, I forgot this started with Metron.

It's a good introduction to operads and how we can apply them!

view this post on Zulip Blake Pollard (Jan 28 2021 at 18:23):

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.

view this post on Zulip Jules Hedges (Jan 28 2021 at 18:24):

Is this unnamed startup the same thing as Metron (who I haven't heard of before), or is that just a coincidence?

view this post on Zulip Blake Pollard (Jan 28 2021 at 18:29):

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

view this post on Zulip John Baez (Jan 28 2021 at 18:55):

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.

view this post on Zulip Jules Hedges (Jan 28 2021 at 18:57):

Don't take it personally, I never read anything

view this post on Zulip John Baez (Jan 28 2021 at 19:02):

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:

view this post on Zulip John Baez (Jan 28 2021 at 19:03):

However, for the applications, the new paper by Sub, Spencer, John Foley and John Dusel is the place to go!

view this post on Zulip Christian Williams (Jan 31 2021 at 03:16):

just so that it's in the conversation, https://www.algebraicjulia.org/ is starting to implement operads effectively as well.

view this post on Zulip Christian Williams (Jan 31 2021 at 03:20):

I haven't gotten to read the Cyber-Physical Systems paper but it looks great. @Giorgos Bakirtzis ideas for next steps?

view this post on Zulip Georgios Bakirtzis (Jan 31 2021 at 20:36):

@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)

view this post on Zulip Georgios Bakirtzis (Jan 31 2021 at 20:36):

We need more people working on this

view this post on Zulip Christian Williams (Jan 31 2021 at 20:56):

I see. what are some of the main aspects of that theory that you think need to be developed first?

view this post on Zulip Georgios Bakirtzis (Jan 31 2021 at 21:22):

We need a good notion of real-time/uncertainty etc

view this post on Zulip Georgios Bakirtzis (Jan 31 2021 at 21:23):

We need a way to decompose and compose learning algorithms to subtasks/tasks

view this post on Zulip Christian Williams (Feb 01 2021 at 02:11):

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?

view this post on Zulip Georgios Bakirtzis (Feb 01 2021 at 05:51):

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