> There's little sense in ignoring the whole basic mode of operation, physics, chemistry and biology of the brain in order to analogise it to another system without any of those properties.
Sure there is. People had a feel for it back in "clockworks" times, nowadays we have a much better grasp because of progress of physics and math, particularly CS - mode of operation is an implementation detail. Whatever the mode, once you understand the behavior enough to model it in computational terms, you can implement it in anything you like - gears and levers, pistons, water flowing between buckets, electrons in silicon, photons going through lenses, photons diffusing through metamaterials, sound waves diffusing through metamaterials - and yes, also via a person locked in a room full of books telling them what to draw in response to a drawing they receive, and also via a billion kids following a game to the letter, via corporate bureaucracy, via board game rules, etc.
Substrate. Does. Not. Matter.
The only thing limiting your choice here is practical one. Humanity is getting a good mileage out of electrons in silicon, so that's the way to go for now. Gears would work too, they're just too annoying to handle at scale.
Of course, today we don't have a full understanding of biological substrate - we can't model it fully in terms of computation, because it's a piece of spontaneously evolved nanotech and we barely begun being able to observe things at those scales. We have a lot of studying in front of us - but this is about learning how the gooey stuff ticks, what does it compute and how. But it's not about some new dimension of computation.
It only doesnt matter for counting a system as implementing a pure algorithm, ie., one with no device access. This is an irrelevant theoretical curiosity.
Electronic computers are useful because they're electronic -- they can power devices, and modulate devices using that power. This cannot be done with wood, or most anything else.
"Substrate doesnt matter" is, as a scientific doctrine pseudoscience, and as a philosophical one, theological.
The causal properties of matter are essential to any really-existing system. Non-causal, purely formal properties of systems which can be modelled as functions from the naturals to the naturals (ie., those which are computable) are useless.
> Electronic computers are useful because they're electronic -- they can power devices, and modulate devices using that power. This cannot be done with wood, or most anything else.
On the contrary. That's an implementation detail. You can "power devices, and modulate devices" by having a clockwork computer with transducers at the I/O boundary, converting between electricity and mechanical energy at the edge. It would work exactly like a fully electronic computer, if built to implement the same abstract computations - and as long as you use it within its operational envelope[0], you wouldn't be able to tell the difference (except for the ticking noise).
> The causal properties of matter are essential to any really-existing system. Non-causal, purely formal properties of systems which can be modelled as functions from the naturals to the naturals (ie., those which are computable) are useless.
Yes and no. Of course the causal properties of matter... matter. But the breakthrough in understanding, that came with development of computer science and information theory, is that you can take the "non-casual, purely formal" mathematical models of computation, and define some bounds on them (no infinite tapes), you can then use the real-world matter to construct a physical system following that mathematical model within the bounds, and any such system is equivalent to any other one, within those bounds. The choice of what to use for actual implementation is done on practical grounds - i.e. engineering constraints and economics.
It's how my comment reached your screen, despite being sent through some combination of electrons in wires, photons down a glass fibre, radio signals at various frequencies - hell, maybe even audio signals through the air, or printouts carried by pidgeons[1]. Computer networks are a living proof that substrate doesn't matter - as long as you stick to the abstract models and bounds described in the specs for the first three layers of ISO/OSI model, you can hook up absolutely anything whatsoever to the Internet and run TCP/IP over it, and it will work.
I bet there's at least one node on the Internet somewhere whose substantial compute is done in a purely mechanical fashion. And even if not, it could be done if someone wanted - figuring out how to implement a minimal TCP/IP stack using gears and switches is something a computer can do for you, because it's literally just a case of cross-compilation.
--
[0] - As opposed to e.g. plugging 230V AC to its GPIO port; the failure modes will be different, but that has no bearing on either machine being equivalent within the operational bounds they were designed for.
> matter to construct a physical system following that mathematical model within the bounds, and any such system is equivalent to any other one, within those bounds
No. This wasnt discovered.
Nearly every physical system is implementing nearly every pure algorithm, ie., every computable function.
The particles of gas in the air in my room form a neural network, with the right choice of activation function.
Turing-equivalence is a property of formal models with no spatio-temporal properteis. Physical systems are not equivalent because they both implement a pure algorithm
Pure algorithms are useless, and of interest only in very abstract csci. All actual algorithms, when specified, have massive non-computational holes in them called 'i/o', device access etc.
If your two systems of cogs wants to communiate over a network of cogs, the Send() 'function' (which is not a function!) has to have a highly specific causal semantics which cannot be specified computationally.
These systems only have 'equivalent functions', as seen from a human point-of-view, if their non-computational parts serve equivalent functions. This has nothing to do with any pure algorithm.
You cannot implement a web browser on 'gears' in any useful sense, in any sense in which the partices of their air arent already implementing the web browser. That a physical system can-be-so-described is irrelevant.
Computers are useful not because theyre computers. Theyre useful because they are electrical devices whose physical state can be modulated with hyper-fine detail by macroscope devices (eg., keyboards). We have rigged a system of electrical signals to immitate a formal programming langauge -- but this is an illusion.
Reduce the system down to just want can be specified formally, and it disappears.
> Nearly every physical system is implementing nearly every pure algorithm, ie., every computable function.
Sure. And also about the air and neural network. This is all irrelevant, for the same reason that every possible program and every possible copyrighted work being contained in the base-10 expansion of the number PI is irrelevant. Or that a photo of every event that ever happened anywhere is contained in the space of all possible (say) 1024x1024 24-bit-per-pixel bitmaps. It's all in there, but it's irrelevant, because you have no way of determining which combinations of pixels are photos of real events. And any random sample you take is most certainly not it.
> All actual algorithms, when specified, have massive non-computational holes in them called 'i/o', device access etc.
Only if you stick to a subset of maths you use for algorithms, and forget about everything else. The only actual hole there would be in your memory, or knowledge.
Sure, I/O doesn't play nice with functional programming. It doesn't stop functional programming from being useful with real computers in the real world. We have other mathematical frameworks to describe things that timeless, stateless computation formalisms can't. You are allowed to use more than one at the same time!
> You cannot implement a web browser on 'gears' in any useful sense, in any sense in which the partices of their air arent already implementing the web browser.
Of course I can. Here is the dumb approach for the sake of proof (one can do better with more effort):
1. Find a reference for how to make a NAND gate with gears. Maybe other logic gates too, but it's not strictly necessary.
2. Find the simplest CPU architecture someone made a browser for, for which you can find or get connection-level schematics of the chip; repeat for memory and other relevant components, up to the I/O boundary. Make sure to have some storage in there as well.
3. Build electricity/rotational motion transducers, wire them to COTS display, keyboard, mouse and Ethernet ports.
4. Mechanically translate all the logic gates and connections from point 2. to their gear equivalents using table 1., and hook up to 3.
5. Set the contents of the storage to be the same as a reference computer with a web browser on it.
6. Run the machine.
Of course, this would be a huge engineering challenge - making that many gears work together, in spite of gravity, inertia, tension and wear, and building it in under a lifetime and without bankrupting the world. Might be helpful to start by building tools to make tools to make tools, etc.
But the point is, it's a dumb mechanical process, trivially doable in principle. May be difficult with physical gears, but hey, it worked in Minecraft. People literally built CPUs inside a videogame this way.
> We have rigged a system of electrical signals to immitate a formal programming langauge -- but this is an illusion.
It's the other way around: we've rigged a system of electrical signals to make physical a formal theoretical program. We can also rig a system of optical signals, or hydraulic signals, or pidgeon-delivered paper signals, to "immitate a formal programming language" and implement a formal theoretical program - and as long as those systems immitate/implement the same formal mathematical model, they're functionally equivalent and interchangeable.
I think you aren't following the defintion of 'computer' or 'computable', you seem to have a mixed physical notion of what a 'computer' is.
A computer, from a formal pov, is just an abstract mathematical object (like a shape) which has abstract properties (eg., like being a circle) that are computable, ie., are functions from integers to integers.
The physical devices we call 'computers', in many ways, arent. They exist in space and time and hence have non-computable properties, like their (continuous) extension in space and time.
See Turing's own paper where he makes this point himself, ie., that physical machines arent computers in his sense because they're continuous in time.
Insofar as you appeal to any causal aspects of a physical system you arent talking about a computer in turing's sense, and nothing like a turing equivalence would apply.
We already know that all computable functions can be implemented by 'arbitary substrates' -- this is just the same as saying that you can 'make a circle out of any material'.
In exactly the same sense as gears can be networked, sand dunes already are. You can just go around labelling particles of sand with 0s and 1s, and for a subset, there you have it: the computable aspects of the TCP/IP protocol.
But this is irrelevant. TCP/IP isnt useful because of its computable aspects. It's useful as a design sheet for humans to rig systems of electrical devices with highly specific causal properties.
The system we call 'the internet' is useful because it connects keyboards, screens, mice, microphones, webcams, SSDs, RAM, etc. together -- and because these devices are provide for human interaction.
The sand dune is likewise already implementing arbitary computable functions, so is the sun, so is the air, and any arbitary part of the universe you care to choose.
But the sand dune lacks all the properties the internet has: there's no webcam, no keybaord, no screen, etc.
What we actually use are physical properties. Talk of algorithms is just a design tool for people to build stuff
Sure there is. People had a feel for it back in "clockworks" times, nowadays we have a much better grasp because of progress of physics and math, particularly CS - mode of operation is an implementation detail. Whatever the mode, once you understand the behavior enough to model it in computational terms, you can implement it in anything you like - gears and levers, pistons, water flowing between buckets, electrons in silicon, photons going through lenses, photons diffusing through metamaterials, sound waves diffusing through metamaterials - and yes, also via a person locked in a room full of books telling them what to draw in response to a drawing they receive, and also via a billion kids following a game to the letter, via corporate bureaucracy, via board game rules, etc.
Substrate. Does. Not. Matter.
The only thing limiting your choice here is practical one. Humanity is getting a good mileage out of electrons in silicon, so that's the way to go for now. Gears would work too, they're just too annoying to handle at scale.
Of course, today we don't have a full understanding of biological substrate - we can't model it fully in terms of computation, because it's a piece of spontaneously evolved nanotech and we barely begun being able to observe things at those scales. We have a lot of studying in front of us - but this is about learning how the gooey stuff ticks, what does it compute and how. But it's not about some new dimension of computation.