Help me fill in this spectrum of models of computa...
# thinking-together
i
Help me fill in this spectrum of models of computation. • [Mechanical — designed to be built] • • Analytical Engine • Turing Machine • von Neumann • Rule 110 • Lambda Calculus • SKI Combinator Calculus • • [Theoretical — difficult, but of course possible, to make a physical machine for] Are these in the correct order? What other models exist that I should add here, and where should they go?
m
are biological systems are fork in the sequence?
i
Give me an example.
c
Was going to suggest Wolfram & others cellular automata- but hadn’t heard of Rule 110, and that covers it I think! What about Rube Goldberg near the mechanical end?
i
The common thread among all the things I listed is that they're Turing complete. I think that's a minimum requirement for this exercise. This raises a question — do we have models of computation that cannot be implemented using a physical machine? I bet we do. These things would go below the bottom end of the spectrum. And the biological examples / Rube Goldberg variations (😉) would probably go above the top (or on an entirely different axis)
t
Not sure if the order in the initial list is relevant— if so, I'd put Turing Machine just above lambda calculus. it's definitely more abstract than a Von Neumann machine
also a bit of a tangent, but if biological computation is of interest, this talk will surely blow your mind:

https://www.youtube.com/watch?v=RjD1aLm4Thg

d
quantum computing
t
I might group things like this:
Copy code
physical systems which compute:
  - actual computers (almost always implementations of a Von Neumann architecture)
  - certain biological systems
    - brains
    - intracellular chemical networks (linked video)
    - DNA
  - Babbage's Analytical Engine

abstractions of physical machines:
  - Von Neumann architecture
  - hardware description languages

abstract / mathematical systems which compute:
  - rule 110 (& other CA rules, like Conway's)
  - recurrent neural networks
  - any programming language

abstractions of computation:
  - Turing machine
  - lambda calculus
  - universal function
p
Complexity science books like that of Varela, Christopher Alexander, some of the stuff in cybernetics and biosemiotics also I think dovetail with Rosen's ideas in some way I am not able to articulate due to my epistemic cut :P If you dig in these places there are ways to move out from the current conceptual mould of mechanistic computation and get introduced to ideas like circularity, effective causation and indeterminism, (M,R) models, wholeness etc. and push the envelope of human understanding on these ideas:  1/ Paper reviewing these concepts: https://users.dcc.uchile.cl/~cgutierr/papers/computabilityLife.pdf 2/ Christopher Alexander oeuvre: http://www.natureoforder.com/overview.htm 3/ Embodied Mind: https://mitpress.mit.edu/books/embodied-mind This I think could be supplied with ideas like Umwelt (https://en.wikipedia.org/wiki/Umwelt) / Biosemiotics (https://en.wikipedia.org/wiki/Biosemiotics) etc. 4/ Physics of Symbols: https://homes.luddy.indiana.edu/rocha/publications/pattee/pattee.html Guess that gave an idea of the soup in my head right now. I'll try to follow up when I have a better model of this in the future. Would also love to see what you are about to do with your classification up next. Hope that helped!
This is a rabbit hole that I have gone to something like 1% (0.01%?) depth into. I popped up way before getting a blueprint of the lay of the land. So, taking a disclaimer here that the structure of ideas on this might be incoherent as I don't have enough clarity as I didn't go deep enough into the thick of these things and then zoom out to get the birds view picture. Most of the stuff that I list here are the ones that I have either bookmarked or found to be interesting during my spelunking. But I emphasis that I haven't personally chased down to comprehend their proper form, function and/or how they relate with each other. First up there seems to be a wikipedia article here: https://en.wikipedia.org/wiki/Model_of_computation which has some interesting models and a related section with further ones. But using the structure you have provided as a baseline, one thing missing there is rewriting ideas used by Post / Semi-Thue systems (which I think comes under the abstract rewriting systems category in Wiki's classification). Here are some links: 1/ https://en.wikipedia.org/wiki/Post_canonical_system 2/ https://en.wikipedia.org/wiki/Semi-Thue_system 3/ This looks like a good paper to read about this: https://core.ac.uk/download/pdf/82345385.pdf Next up is the idea of formalizing what computation is. Most of my understanding comes from this well written blogpost by Ron Pressler: https://pron.github.io/posts/what-we-talk-about-when-we-talk-about-computation If you are academically inclined and willing to dig down, there is some deeply funny stuff happening with Chomsky hierarchy of formal grammars, automata, data structures (chain, tree, lattice, graphs), algorithms and their complexity classes. There are some non-trivial highly regular deep structure there. There are these books if you want to chase this rabbit holes: 1/ Computation: Finite and Infinite Models — https://www.goodreads.com/book/show/326791.Computation 2/ Understanding Computation: https://computationbook.com/ 3/ Nature of Computation: http://nature-of-computation.org/ 4/ Computability and Complexity: http://hjemmesider.diku.dk/~neil/comp2book2007/book-whole.pdf 5/ Models of Computation: https://cs.brown.edu/people/jsavage/book/pdfs/ModelsOfComputation.pdf 6/ Models of Computation and Formal Languages: https://www.amazon.com/Models-Computation-Formal-Languages-R-Gregory/dp/019510983X/ One thing (I could be wrong here) about the above books I think is that they operate under the mainstream consensus of agreeing that Church-Turing Thesis formalizes what computation is. Though Alan Turing and Church's hypothesis is said to have given a bounded form to the mechanism of computation, there are ideas like that of Robert Rosen proposing that Church Turing Thesis is wrong and can't possibly stand as a model for all computation physically realizable. There is something called epistemic cut and other ideas which I haven't been able to unbundle yet. Here are some relevant reading materials if these rabbit holes intrigue you: Robert Rosen's paper: https://link.springer.com/content/pdf/10.1007/BF02477996.pdf Is Church-Turing thesis true? https://link.springer.com/article/10.1007/BF00976283 Survey on these ideas: https://users.dcc.uchile.cl/~cgutierr/papers/computabilityLife.pdf Epistemic cut: https://www.edge.org/response-detail/27049 Significant idea about Pattee’s work seems to be the interplay of duals like adjoints in Category Theory (I am punching above my weight class here):
"There are two realities to this thing. Just like light is a wave and a particle at the same time. Information and construction, structure and function, are irreducible properties of the same physical object that exist in different layers with different protocols."
🍰 3
i
Holy cow this thread went places. Thanks gang! My thinking on this "spectrum" was to rank these models of computation in terms of how "easy" it'd be to build a little machine that implemented them. Totally subjective, really vague, just a fun way of getting a little closer to these concepts that are normally quite theoretical and at a remove. I was thinking, like... Junkyard Wars style, or like MythBusters... where you have a fairly well-stocked workshop for making hobbyist electrical things... how tricky would it be to build a machine that implements a particular model of computation. Rank them in that order. So, like... Sure, von Neumann is conceptually simpler than a Turing Machine. All you need for vN is a lot of wires and a power source, whereas for a TM you need something like magnetic tape, and a tape reader, and something that can adjust the movement of the tape based on what's read, etc. But, on the other hand, you can probably salvage a cassette deck and use some sort of amplitude modulation as a binary encoding with nothing more than what you'd find in a Radio Shack of yore, so to me that feels more doable. Whereas wiring up your own vN machine.. you've all seen the pictures of what it looks like to do, say, an 8 bit ALU just using wires and relays. Bonkers!
the mainstream consensus of agreeing that Church-Turing Thesis formalizes what computation is. Though Alan Turing and Church's hypothesis is said to have given a bounded form to the mechanism of computation, there are ideas like that of Robert Rosen proposing that Church Turing Thesis is wrong and can't possibly stand as a model for all computation physically realizable. There is something called epistemic cut and other ideas which I haven't been able to unbundle yet.
This is fascinating. Intuitively, it does feel like Church-Turing couldn't possibly have nailed the lower bound on what constitutes the fundamentals of physically realizable computation. That just feels phenomenally unlikely considering that those were the first models we formalized. There's gotta be some wiggle room left under there.
p
I might throw relational logic down towards the bottom?
d
Nobody's found anything in the currently accepted laws of physics which would allow you to build a computing device more powerful than a Turing machine. I would further argue that the laws of physics, or at least the physical limitations imposed on human buildable technology, don't allow you to build a computer that is even as powerful as a Turing machine, since that requires unlimited memory. Physically buildable computers are only as powerful as finite state automata, due to the finite memory restriction. A Turing machine cannot solve the halting problem, in general, for another Turing machine. But, a Turing machine can solve the halting problem for a finite state automaton (ie, for a physically buildable computer).
The study of models of computation more powerful than the Turing machine is called Hypercomputation. https://en.wikipedia.org/wiki/Hypercomputation
❤️ 1
👀 1
There are various proposals for hypothetical "physical constructions" that are claimed to be compatible with the laws of physics, but which aren't physically realizable. One example is the Alcubierre warp drive, which would supposedly allow the construction of faster-than-light space craft. Another is the Malament–Hogarth spacetime, which would supposedly allow hypercomputation. https://en.wikipedia.org/wiki/Malament%E2%80%93Hogarth_spacetime
❤️ 1
p
Think we are getting into the highly controversial science territory. I am out of depth again, but I think Martin Davis have been beating the drum that Hypercomputation is a myth: 1/ https://www.researchgate.net/publication/243784599_The_Myth_of_Hypercomputation 2/ http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.9917&rep=rep1&type=pdf which means I think as my reading suggest he thinks Turing has bounded the problem of computation forever. But I like to err on the other side that there are other kinds of intriguing stuff going on than just state change / bit flipping. I think Rosen/Process Theory people et al. have a very different perspective on this coming from a very different philosophical slant which reminds me, I need to read that Life Itself book soon.
d
To do physical hypercomputation, you need to represent an infinite amount of information in a finite volume, and process the information in parallel. This is prohibited by quantum mechanics, but it isn't prohibited by the general theory of relativity, which is what the Malament–Hogarth spacetime solution relies on. Relativity by itself is not a complete description of reality, so you shouldn't take M-H seriously.
Some philosophers have a different perspective. They think about the problem like this: Physical law prevents any physical assembly of atoms from performing any computation more powerful than a Turing machine. Computers are Turing machines. This leads to the unacceptable doctrine of "physicalism", where the human brain has no more powers than a computer. Obviously we are more than just computers! What about Qualia and The Hard Problem of Consciousness? (eg, Chalmers) Obviously computers cannot possess Qualia and cannot possess Consciousness by their very nature. Therefore there is something wrong with Physicalism. Roger Penrose took a different path leading to the same result in The Emperor's New Mind. Gödel's Incompleteness Theorum put hard limits on the powers of formal systems to deduce the truth of mathematical statements. Human mathematicians transcend these limits, therefore human brains are more powerful than formal systems. Just because physicalism is abhorent, upsetting, unacceptable, doesn't mean it is untrue. The metaphorical idea that physicalism equates the human brain with an IBM PC is also quite misleading, since brains have an entirely different organization and quite different computational powers in practice. The visceral emotional response that some people have to physicalism results, I think, from fallacious thinking. The formal mathematical equivalence of the computational power of two physical objects means a whole lot less in the real world than people think it does. As I mentioned before, we can't build a physical Turing machine, but we still get a lot done with our brains and computers.
👍 1
🤔 1
s
This thread is really going places 😄. One of the assumptions about qualia is that there are clear cut boundaries in the vast physical ocean. Consider the ripples of physical reactions - they just flow through different materials via chains of cause-effect reactions. This is kind of like data flow in a spreadsheet through an 'ocean of physical particles'. First we mentally impose partitioning in this space - a subset of cells - and then say when the ripple passes through this subset, it is associated with some qualia (taste, hearing, pain, whatever..). But the physical ocean has no natural partitioning - so how do we decide the boundaries of 'a person' or 'a computer'? Anyway, what I really want to know is if there is a name for this partitioning idea.
p
Aren't those what abstractions are? Arbitrary boundaries around anything really in our mental space?
👍 1
e
interrupts are missing. This limits the kinds of problems can tackle. Take the problem of classification. We have a peach, or a nectarine, or even a peacharine. Classification is a tricky problem and philosophers have tried to explain why. They say that classification is solution based. Some people prefer peaches over nectarines, for some people a peach is a better solution. ... my point is, some problems are messy, just as the real world is messy, and unless you can interact with the real world you are not going to be able to suggest solutions to messy problems. Unless you include I/O, such as interrupts, you limit the problem set. Maybe I missed it, but I did not see a way to do I/O.