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: event: ACT20

Topic: Systems and Cybernetics


view this post on Zulip James Fairbanks (Jul 10 2020 at 01:54):

Blake Pollard said:

Yea, systems or systems engineering definitely has emerged as a (still fairly broad) sub-community of ACT and cybernetics is a cool even broader umbrella.

From what I have seen of the tools people are using, systems engineering approaches seem to be more about resource sharing and cybernetics is more about "everything is a lens if you squint." I think that @Sophie Libkind's talk on Resource Sharing Machines proposed a path forward for unifying these two approaches. @Evan Patterson and @David Spivak have been talking a lot recently about how undirected wiring diagrams are the natural language for hypergraph categories, which are inherently undirected like RelRel. I get the feeling that lenses and "open systems are machines" are good for modeling things that have an obvious orientation with a few loops, like a controller with feedback, but resources sharing is good for something that is inherently unoriented like heat diffusing through a material in all directions simultaneously.

view this post on Zulip Blake Pollard (Jul 10 2020 at 13:36):

Yea, I definitely like thinking of the type of composition of identifying places in a Petri net with SEIRD semantics 'resource sharing,' although infected people are a weird kind of resource. The lens or comb story fits in terms of system context, subsystem update, and then system context update, especially if souped up with Poly's ability to change interface type, although I have to dig into this more still. The directedness bit is always a bit slippery for me, but I think that is how the world works.

view this post on Zulip Blake Pollard (Jul 10 2020 at 13:42):

Those infinitesimal stochastic matrices we love from the Markov process can be understood as descritizations of the heat equation/laplacian. For closed Markov processes, the steady state distribution can be written down explicitly as a product over rates of a sum over all spanning trees. But the real role the spanning trees play is something that can be directed. If you pick any point on a tree you can direct all the other edges toward or away from that point, and that is how they appear in the steady state formula. So even for something as 'undirected' as heat flow, direction enters the game, but somewhat as an artifact of our attempt to compute something we thing is useful/meaningful.

view this post on Zulip Blake Pollard (Jul 10 2020 at 13:43):

But yea that is a bit different from the type of directionality you see in control systems, but then again that is also somewhat an artifact of our design. Is the plant subservant to the controller or vice-versa?

view this post on Zulip Jules Hedges (Jul 10 2020 at 13:52):

Cf. the classical duality of game semantics, where one player is the "Player" and the other is the "Opponent" but the distinction is arbitrary, and there is a duality functor that interchanges the roles

view this post on Zulip Blake Pollard (Jul 10 2020 at 14:00):

Yea, right and do you think of that as an example of agent/environment duality and is the latter something that has been defined at some level of generality in the lens world?

view this post on Zulip David Jaz (Jul 10 2020 at 15:06):

James Fairbanks said:

Blake Pollard said:

Yea, systems or systems engineering definitely has emerged as a (still fairly broad) sub-community of ACT and cybernetics is a cool even broader umbrella.

From what I have seen of the tools people are using, systems engineering approaches seem to be more about resource sharing and cybernetics is more about "everything is a lens if you squint." I think that Sophie Libkind's talk on Resource Sharing Machines proposed a path forward for unifying these two approaches. Evan Patterson and David Spivak have been talking a lot recently about how undirected wiring diagrams are the natural language for hypergraph categories, which are inherently undirected like RelRel. I get the feeling that lenses and "open systems are machines" are good for modeling things that have an obvious orientation with a few loops, like a controller with feedback, but resources sharing is good for something that is inherently unoriented like heat diffusing through a material in all directions simultaneously.

I think the indexed double categorical framework can shed a bit of light on this distinction between the "directed" composition of lenses and the "undirected" composition of spans. The base of the indexed double category is your double category of "interfaces" -- these could be lens-y or span-y, depending on choice. Representable indexed double functors take lens-y systems into span-y "resource sharing" systems in a variety of ways depending on the representing system. But there are also indexed double functors which take "undirected" span-y systems, like Baez-Pollard-etc. open Markov processes, and turn them into lens-y systems. So these two approaches are not so obviously opposed.

Sophie and I have been talking about how we can bring our two frameworks, which are very close in spirit, together. Sophie's interfaces (to use my terminology) are both lens-y and span-y at the same time, and they relate appropriately by adding.

The lens composition is directed not by the distinction between input and output conceived of as resource flows, but by the disctinction between parameter and variable. The directedness (with its feedback) is given by understanding how parameters may depend on variables. So the orientation in the lens framework comes from the dependency relationship, which is naturally directed, but not related at all to "flow" in the system.

The span composition is based on the idea of variable sharing. It is undirected in that it does not make a distinction between parameter and variable; even the parameters are treated as variables. Again, this doesn't really have to do with "flow" through the system, but is better when one does not want to take the normative step of separating certain variables of the system as "control variables" or parameters.

view this post on Zulip David Jaz (Jul 10 2020 at 15:17):

Blake Pollard said:

Yea, right and do you think of that as an example of agent/environment duality and is the latter something that has been defined at some level of generality in the lens world?

On of my favorite examples of a simple lens-based composition of systems is this two box diagram:

image.png

If we label one box "Agent" and one box "Environment", this exhibits the co-dependency relationship: the agent is affected by the environment, and acts in it; this act changes the environment, which then reacts to the agent. But this diagram is symmetric, so we could just slide the boxes around!

I'm not sure this is the agent-environment duality you're looking for, but its like the player-opponent duality in the sense that it is based on which way one focuses on the situation.

view this post on Zulip James Fairbanks (Jul 10 2020 at 15:19):

I’m glad this has started a good discussion, we are all circling around these ideas, that computation is traditionally directed from inputs to outputs but systems are just coupled. We introduce direction in order to compute, but then we have to take it out by introducing feedback.

view this post on Zulip Toby Smithe (Jul 10 2020 at 15:21):

David Jaz said:

On of my favorite examples of a simple lens-based composition of systems is this two box diagram...

This is also one of my favourite examples, and is how I think of this 'duality' (and the player/opponent one), too.

view this post on Zulip Sophie Libkind (Jul 10 2020 at 15:26):

Drawing it like this really shows off the symmetry!

view this post on Zulip Jules Hedges (Jul 10 2020 at 15:28):

Also also cf. the slide in my talk that says that if C\mathcal C is traced monoidal then C(x,y)=C(y,x)\overline{\mathcal C} (x, y) = \mathcal C (y, x) satisfies the conditions to be a context functor

view this post on Zulip David Jaz (Jul 10 2020 at 15:54):

Sophie Libkind said:

Drawing it like this really shows off the symmetry!

(Sophie, what's your workflow like for posting drawings on Zulip? Do you do it straight from your phone?)