1. 19
    1. 19

      You’ve rediscovered Petri nets (WP, nLab).

      It’s a cycle, not a straight line. … In fact, the more we looked at it, the more we realized that there never was really any such thing as cause and effect, it was simply a useful fiction. … We are forced to use cause and effect because we can’t process things otherwise.

      Cause and effect come from the causal structure of spacetime. It is true that our personal perceptions of significant causes are fictional, but the physical transfer of information between regions of spacetime does induce a causet, a special case of DAGs.

      This is crucial for demystifying the topic. Actions in space can form feedback loops, but actions in time are acyclic. There is a deep connection arising from the idea that each feedback loop can be decomposed into discrete actions; it does not mean that the concept is bullshit, but that a feedback loop requires both space and time in order to function. For a vivid graphical example, look at the animations for circular polarization; we see moving waves in time and static circles in space.

      As far as we know, every atom in the universe is gravitationally affected by every other atom.

      Once we consider that time and space behave differently, then the possibility of gravitational waves arises, and we have experimentally determined the speed of gravity. It is not enough to notice that everything is connected; everything is moving in time, creating waves and signals.

      1. 2

        No, I didn’t want to include them, but you are correct that we’re talking about Petri nets, or rather a form of them.

        Great dive-down on the science side of things. I may steal this and expound on it. I could take physical systems to this lower level and write the same essay. Not sure if this would make it easier or more difficult to consume.

        I am interested in the way you misunderstood me. Thank you.

        1. 11

          I read through the essay and I don’t think I understand what you’re trying to say either. Is your argument that mathematical models are always simplifications? Or that programming languages and flow charts are a poor way of describing the behavior of system dynamics?

          1. 1

            Formal, consistent, computable, complete symbolic systems (we’ll just call that “math”) are by nature context-free. In other words, 1+1=2 is a useful statement in many cases no matter what the actual numbers and symbols represent. We are quite lucky in that vast swaths of mathematics map directly over to observed reality. However, it’s humans and our language ability that does that mapping, not the math. The math stays the same. We’re the one attaching labels and doing the mapping. That turns out to be much more important than many people realize.

            Everything we’ve learned so far says that life is multivariate and complex, working through probability webs. We’re stuck, however with describing things in simple ways: language, text, pictures, graphs, etc. Such is the nature of human communications. [yes, we are able to string together long chains of this type of communication into more complex things. The purpose here is to discuss the process of commonly reasoning about and discussing complex things, not whether they are ultimately knowable or not] This means that what we consistently do, as in the SAFe example, is put together various words we have into some sort of pseudo-mathematical diagram. Then we view such sets of symbols as reliable as the 1+1=2 set we mentioned earlier.

            This leads us to all sorts of problems. I can look at a flowchart, for instance, and reason about cause and effect. Looking at abstractions and guessing the details, after all, is one of the things that makes us intelligent. But the exact thing I map the flowchart to determines whether or not it maps well to reality. One drop of water plus another drop of water equals just a bigger drop of water. My first statement wasn’t wrong. It depends completely on how people map the words to the situation. We’re off-the-rails already with simple math. It gets worse from there.

            My argument is neither. Mathematical models are not always simplifications, they’re actually existing outside of our personal conception of reality. I don’t think the labels “true”, “false”, and so on have any application here. Yes, programming languages and flow charts are a poor way to describe system dynamics, but math [as defined previously] is all we have and all we’re ever going to get.

            This is not a nihilistic position. It’s just a restatement of the problem so that I can continue forward with a solution. If folks don’t agree on the problem, they’ll never agree on various proposed solutions. Math is very useful to explore reality. Yay science. Now I need to explain how that’s done.

            1. 3

              Everything we’ve learned so far says that life is multivariate and complex, working through probability webs.

              Probability webs are just another mathematical formulation of the system. If you really believe that formal mathematical methods are inadequate to describe the world then there isn’t any particularly good reason to think that describing things as “probability webs” is any better than any other descriptions.

              Perhaps rather than deliver your critique in such a way as to suggest you think there is a problem with mathematization or modeling, you could just say that you think DAGs or other structures are inadequate to most common engineering tasks. That indeed seems to be what you are getting at later in the essay, but the introductory philosophical material really confuses and obscures the point.

              1. 2

                I don’t think he’s critiquing mathematical structures so much as highlighting the fact that any structure that truly fully models a problem will be too large for us to comprehend.

                1. 2

                  Yeah, but that isn’t really true except in a trivial kind of way. There are many, many, many problems so amenable to mathematical and/or computational modeling that humans will almost certainly never run out of them.

                  1. 2

                    You are correctly identifying that for most cases we can definitely model a “good enough” system to make progress. But it’s also certainly true that you are ignoring, to good effect, a very large part of the system when you do that. It’s just that those parts are not necessary to understand to make progress on the problem usually.

                  2. 1

                    You may be interested in this interview with a cognitive neurologist: https://www.youtube.com/embed/4HFFr0-ybg0

                    Isomorphism and correlation work great for all kinds of things. We should never get them confused with what’s actually happening.

            2. 3

              In my book ‘Into the Sciences’ (https://madhadron.com/into_the_sciences.html) I called out the idea of primitive notions, which are the elements of a theory we use mathematics or other formal language to relate, and that we use trials to measure values of. We have some notion of an idealized trial that links the primitive notions to the world, and reasonable practice to do our best to approximate idealized trials.

              In terms of communicating this stuff, the key notion I have found is from Wittgenstein’s ‘Philosophical Investigations’: our communication is made up of language games and we have a capacity for rule following to try to cooperate in playing those games. Communicating an understanding of systems is about leading someone reproducibly into the same language games that you are using. ‘Philosophical Investigations’ is one of the best books on software design I’ve ever read, honestly.

              1. 1

                Most def Wittgenstein is the go-to guy here. Having said that, I don’t think his work stands alone without a similar look at C.S. Peirce. Peirce’s tripartite semiotics really closes the loop between interior and exterior qualia. It is our desire and need to assign symbols that both allows mathematics and limits our ability to use it as well as we might. It is the language games we play that make it all hang together.

                Thanks for the book link.

      2. 2

        … but actions in time are acyclic

        Until you introduce economics / strategy / betting.

        1. 2

          Is that the case? When I make a prediction, I’m doing so with only past knowledge. When I think many moves ahead, that’s still an event that happens at the present time.

          1. 1

            You speak in the first person with a concept of “present time” but time is relative with many actors and can be cyclic when you have an economy because you are “pricing in” all available information and equilibriums are formed by routine-following zealots on each side. Really you could say the theory of yin and yang is a “cyclic time” concept… but I like things like “the one electron theory” so I guess it depends how you want to model things.

      3. 1

        Thanks for this. I’ve been using DAGs as a model for causal relationships for a while, but I was perturbed that cycles often appeared when I’d try to use them to communicate about process. Your comment helped me separate the idea of a process plan from how its instances play out over time.

        1. 2

          Yeah. Sometimes this is called interactivity. We could imagine two processes evolving in spacetime such that they meet for a while, then move apart in space for a while, and then meet again. Each time they meet, they have a window of spacetime where they can interact with each other, exchanging information and quanta. The cycles that you saw were topological indicators of where the interactive portions must occur.

    2. 11

      I had a lot of trouble following this essay, it really could have used another round or two of editing. Also, are you talking about feedback loops as in “things affect each other” or the more precise meaning of “system where one output is used as an input”? Many of the examples you give aren’t at all like that, they’re just cause-and-effect.

    3. 9

      Have you read Science and Sanity by Alfred Korzybski? This feels a lot like reading that, specifically where he’s describing non-Aristotelianism having relational instead of subject-predicate methods, probability of cause creating effect than a given cause creates effect. Modelling from the perspective of processes as opposed to actions and outcomes. Unfortunately, nothing in the article stands out to me as actionable - we create simple models, feedback loops if necessary (which do exist, you just need an LM741 and you’re good) and if they’re good enough we run with them until we have to refine them (which again is a feedback loop). We generally don’t need to model every single potential database client or the probability that the client is of some given category, we just provide the client with a suitable API for whichever actions any of the above might need to do (extracting permissions and such into a wholly different system). I would appreciate if you could lay out the core argument of the article for me in plain terms, because all I can gather is that it’s wrong we model systems this way, and I feel like I’m missing the point.

      1. 5

        +1 for the LM741. The system does not let me add a second point for Korzybski.

        Feedback loops do exist and we have the whole space of Control Systems that studied them, before they hit us.

        And now that as time goes by, Control Systems are getting programmed by “real” programming languages and systems, not only are they here to stay, we also need to learn more about them. And Feedback loops of course.

        There’s a lot of rediscovery in this article of things that were studied with pencil and paper, only now with pseudo- and real code.

    4. 5

      This reads like the author rediscovering the concept of dialectical materialism

      1. 3

        dialectical materialism

        Definitely a feedback loop.

    5. 2

      I’m having trouble picking up what you’re laying down, because the high-level reason feedback loops are bullshit wasn’t stated as a sentence I could locate. Maybe the argument is about the inadequacy of high-level statements, so it had better not have one? There’s a joke here about causal relationships in blogging, but I can’t put my finger on that either.

      1. 1

        With apologies for my terseness, you are assuming that there are high-level and low-level loops, and that somehow as we move lower we remove all of the ambiguities to get to the “real” items which are not bullshit.

        My point was that any sort of terminology put into a diagram is not going to work [again, with the exception of math and physical systems], so it’s not just a matter of being more specific. The use of a one-dimensional symbolic system, words, based on internalized abstractions is never ever going to map to a multivariate probably web universe. It’s like trying to draw a tesseract on a piece of paper. We can sketch some ideas out, maybe enough to be useful for a particular job, but it’s not the same thing. Never going to be.

        1. 3

          I appreciate the reply! This reminds me of the way in some Eastern traditions the most fundamental truth is impossible to speak, because all concepts you could invoke to speak them would lead the wrong direction, toward concepts. Or the way you don’t make representations of the prophet because (as I naively understand it) no representation can express the real thing. Or maybe it’s Gödel, but I could never manage to finish that book.

          1. 2

            Representations of the prophet is in opposition to idolatry, making sure people worship the applied abstraction instead of the representation of the abstraction.

            1. 1

              Much obliged.

          2. 1

            So here’s the thing: intelligent, sentient creatures create abstractions internally pre-language. Once we communicate, we assign labels, signals, signs and so forth in order to get the message across. Language is designed only to transmit as little information as possible to allow common toolmaking over the generations.

            But as soon as we start communicating, we want to create abstractions. However my idea of “pointy thing to kill sheep with” is not exactly your idea, even though maybe it’s good enough for now. This makes human language an infinitely recursive performance art where people take the life experiences they have coming in and continuously modify their own language and various group languages to meet whatever needs they have.

            But no matter how hard we try, we’ll never get those universal abstraction like we carry around pre-language inside of us transmitted to the inside of another person or persons. We can always only be good enough. (And up until we started creating extremely complex systems of logic on a regular basis, this really wasn’t that apparent) We continue to try, and through that trying we’ve created math, which does work like that. Yay! The job of the programmer is to live in both of those worlds, math and language, and create bridges between the two. Programming is applied philosophy.

            No mysticism required, just an understanding that we think of abstractions upside-down. There’s good reasons for it, though. It’s the way we’re wired.

            1. 2

              Ok, this has made it relatively clear to me, thanks for simplifying. We can’t model reality, we can only model an approximation of it. Now, where do feedback loops come into the story? What do they do, what do I think they do for me? And why are they bullshit?

              And I saw in another comment, you’ll want to propose the solution to the problem. Looking forward to reading and not getting that one as well :)