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: ct & engineering


view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:23):

I'm digging into some serious engineering lately and I'm starting to think that a true compositional approach to engineering is a bit doomed tho

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:27):

At least in aerospace engineering, the average chapter in a book seems to go like this:

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:28):

I have high hopes that category theory can offer a better approach for modelling the first point above, but I'm at a loss about figuring out what can we reasonably do for the second one

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:29):

Now, it could be that fluid dynamics is a bitch and I've picked a field of engineering that is particularly difficult to model compositionally. Still the more I read this stuff the more my dreams feel shattered lol

view this post on Zulip Jules Hedges (Apr 23 2021 at 20:31):

I think it's fine to aspire to help to do the first part better, and leave the second half for the actual engineers. Engineering is still hard and always will be, no amount of maths can change that

view this post on Zulip Jules Hedges (Apr 23 2021 at 20:32):

One thing I remember thinking about once is how sometimes engineering failures are involve "geometry" of how components are located in space, which cause failures to propagate in a way that has no relation to the "logical" structure of the system. For example: component x overheats, and causes failure in component y, because y is located next to x, even though they have no relation to each other in the system design

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:34):

Yes, that happens a lot

view this post on Zulip Jules Hedges (Apr 23 2021 at 20:34):

Buffer overruns in a computer are kind of like that too

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:34):

But again, people do not seem to put a great deal of effort in understanding how this happens

view this post on Zulip Jules Hedges (Apr 23 2021 at 20:35):

A loose pointer can cause a failure to propagate in a way that cuts across the structure of the program

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:35):

I think this is for multiple reasons: The theory behind it could be unmanageable, and often even just modelling the _real_ object in the mathematical framework is

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:35):

So the standard approach seems to be: Test, or run numerical simulations in mathematica/matlab, figure out some correction parameters and live happily

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:36):

What I can say for sure is that aerospace engineering feels _very_ different from, say, computer science engineering

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 20:36):

The second seems inherently more compositional to me

view this post on Zulip Matteo Capucci (he/him) (Apr 23 2021 at 21:00):

it'd be interesting to know what are the actual problems that engineers encounter when designing big, messy stuff

view this post on Zulip Matteo Capucci (he/him) (Apr 23 2021 at 21:01):

my feeling is that once you have a resonable design, ironing out the small 'x overheats y' is a matter of messing around enough

view this post on Zulip Matteo Capucci (he/him) (Apr 23 2021 at 21:03):

and of course we can't expect to reduce every engineering problem to a mathematical problem. at some point there's a boundary where design stops and 'hard engineering' start, i.e. tinkering with implementation details

view this post on Zulip Matteo Capucci (he/him) (Apr 23 2021 at 21:03):

i think of my job as moving as much stuff as i can to design space, that is, to remove accidental complexity from a problem

view this post on Zulip Matteo Capucci (he/him) (Apr 23 2021 at 21:06):

Matteo Capucci (he/him) said:

it'd be interesting to know what are the actual problems that engineers encounter when designing big, messy stuff

this'd make for a great invited talk at ACT

view this post on Zulip Georgios Bakirtzis (Apr 23 2021 at 21:09):

Fabrizio Genovese said:

I think this is for multiple reasons: The theory behind it could be unmanageable, and often even just modelling the _real_ object in the mathematical framework is

It's because math is but one tool for engineers and often we recognize that math looks nice and can give great insights that have nothing to do with the engineering of systems. We do have a lot of stuff on that though and we pretty much know that the swiss cheese model of causality is wrong for safety and that emergence is both unmanageable and desirable at times.

view this post on Zulip Georgios Bakirtzis (Apr 23 2021 at 21:10):

These are problems that engineers know well. As always truly see/read/understand what Nancy Leveson is all about; she started from formal methods

view this post on Zulip Jules Hedges (Apr 23 2021 at 21:12):

I also sometimes think about the "circuit model" in electronics, where the fact that circuits are kinda like graphs is a mathematical model of physical reality, which is valid only in situations where it's valid. The job of an electronic engineer involves thinking about the system outside the regime of validity of the circuit model. I imagine that basically all kinds of engineering is like that too, where the equivalent "circuit model" is the logical structure of the system

view this post on Zulip Georgios Bakirtzis (Apr 23 2021 at 21:13):

Any electrical engineer was disillusioned with the circuit model when they had to design and implement an analog oscillator

view this post on Zulip Jules Hedges (Apr 23 2021 at 21:13):

I suspect that our biggest hammers in ACT, stuff like decorated cospans, are only really useful for circuit-like abstractions and are not useful for thinking about situations where those abstractions already failed

view this post on Zulip Jules Hedges (Apr 23 2021 at 21:14):

Of course for open games I have to think about this stuff nonstop, because game theory is infamously delicate as a model of the world

view this post on Zulip Jules Hedges (Apr 23 2021 at 21:15):

If you take game theory as given, and think "any categorical game theory is automatically applied category theory" then you miss half the fun

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 21:38):

Matteo Capucci (he/him) said:

Matteo Capucci (he/him) said:

it'd be interesting to know what are the actual problems that engineers encounter when designing big, messy stuff

this'd make for a great invited talk at ACT

Well, by now I can tell you life, death and miracles about nozzles if you want to lol

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 21:40):

Actually, with circuits, I tend to think in a different way. There are two different things that people commonly refer to when they say "circuits": their schematics and their implementations (by which I mean a pcb, silicon wafer, or any actual physical implementation of the schematic)

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 21:41):

I think ACT can be very useful to produce schematics compositionally. In this paper, that everyone hated, we used ACT to produce circuit schematics

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 21:42):

The ideas it that there was an already developed piece of software that turned circuit schematics into zero knowledge proof. The ACT bit we designed would turn finite state machines into the needed circuit schematics, compositionally

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 21:43):

So, at that point, what we did was just implementing this bit and piping its output into the piece of software already out there. :smile:

view this post on Zulip Fabrizio Genovese (Apr 23 2021 at 21:44):

Clearly if you hope that ACT will deal with parasitic currents and other awesome effects of miniature IC design, I have bad news for you...

view this post on Zulip John Baez (Apr 23 2021 at 22:41):

Matteo Capucci (he/him) said:

Matteo Capucci (he/him) said:

it'd be interesting to know what are the actual problems that engineers encounter when designing big, messy stuff

this'd make for a great invited talk at ACT

One person who knows some category theory but who also knows the actual problems engineers encounter in big projects is Eswaran Subrahmanian, who is at NIST and Carnegie Mellon.

He's spent a lot of time designing cars, where there are many teams of people designing different components. Design decisions regarding one component will affect what's required of other components. So, the different teams need to meet and talk a lot. Problems often arise when the teams miscommunicate.

I really like hearing him talk about this sort of thing, because he's thought about it a lot and is trying to use categories, operads etc. to help deal with these problems.

view this post on Zulip Jade Master (Apr 24 2021 at 01:51):

I'm interested in compositionality for more philosophical reasons.

the whole itself may be viewed as a conceptual construction, hence the question of the ontological status of boundaries becomes of a piece with the more general issue of the conventional status of ordinary objects and events. Cfr. Goodman: “We make a star as we make a constellation, by putting its parts together and marking off its boundaries” (1980: 213)

From here. In other words, you can understand a thing by understanding how it's components are glued together. So understanding the compositionality of any concept will help you understand it.

view this post on Zulip Jacques Carette (Apr 24 2021 at 13:32):

Categorically-oriented people should have this resonate with them very strongly: the interesting stuff isn't in the components, but in the mechanisms for gluing components together, and what these mechanisms propagate and/or preserve. Set-addled people take a long time to recover from this object-centric affliction.