In the previous post I introduced the “mind stacks” — two essentially parallel hierarchies of organization (or maybe “zoom level” is a more apt term) — and the premise of a causal disconnect in the block labeled Computer. In this post I’ll pick up where I left off and discuss that disconnect in detail.
A key point involves what we mean by digital computation — as opposed to more informal, or even speculative, notions sometimes used to expand the meaning of computation. The question is whether digital computing is significantly different from these.
The goal of these posts is to demonstrate that it is.
There is what is referred to as pancomputationalism. It began as the idea that everything — all of physics — is computation. Under this definition a rock is a computer. So is a tree or a river. Perhaps more understandably, a crystal radio or a car engine is also a computer, but in these cases the idea is more complicated.
There are two basic views of interest: fundamental physics and system behavior. (In fact, pancomputationalism is a bit more nuanced. I may explore those nuances in a future post.)
In the former view, a rock is a “computer” in the sense that it computes itself. The atoms of the rock follow the rules of physics and collaborate in creating the emergent properties of the rock. This view applies equally to trees, rivers, radios, engines, and everything else physical (including anything actually called a “computer”).
If you search Wikipedia for “pancomputationalism” it redirects to a rather brief page, digital physics, which defines it as the speculation that the universe is a single digital computational device akin to a cellular automaton. The idea dates back to a 1969 book, Calculating Space, by Konrad Zuse.
The term digital physics (or digital philosophy) was coined by computer scientist Edward Fredkin in 1978 and posits that nature is finite and digital.
As the Wiki article points out, digital physics is incompatible with the continuous nature of much of physics and even contradicts certain aspects of quantum physics. In any event, the view is speculative metaphysics without physical grounding.
In the latter (more useful) view, we might say a thrown rock “computes” a parabolic path under the influence of gravity and the force behind the throw (as well as air resistance and other contributing factors). We might likewise say that a radio or car engine “computes” their outputs — the sound of a radio broadcast or RPMs and torque, respectively.
This view isn’t metaphysical speculation and does have physical grounding. Such devices can legitimately be included under the broad umbrella of analog computers, although the term typically refers to a device intended as an analog computer. (I see design intent as an important factor in determining what is a “computer” or not.)
Depending on how broad we make the computational umbrella, trees and rivers and the orbits of planets can be considered as very specialized, if coincidental, analog computation systems.
Regardless of what’s under the umbrella, such systems still offer a strong contrast to digital computational systems, and by comparing them I hope to illustrate that there are significant differences between them.
To telegraph the punchline, digital systems are dual — having concrete and abstract layers — whereas analog systems are not — analog systems are only concrete.
Here again are the mind stacks:
If desired, the left stack can be thought of as an analog computer. The right stack definitely is a digital computer in the standard sense of the term.
A key point of contention (other than the separate topic of whether digital computation can produce consciousness) is what I’ve called the “causal disconnect” in the block labeled Computer.
This disconnect is due to the dual nature of digital computers. It is the gap between the concrete layer, which extends downwards from the block, and the abstract layer, which lies above it.
My contention here is that, unless one ascribes to some form of brain-mind dualism, the causal disconnect does not exist in brains. A fundamental tenant of modern views of consciousness is that mind emerges from the systemic operation of the brain. Neuroscience is the attempt to understand that operation.
The right stack exists in all electronic digital computers, but to deal with known physical reality we must replace the Mind block, which is speculative, with something real. That might be a web browser, a game, a spreadsheet, or a word processor. Or even the operating system itself. Any real software will do.
A key characteristic of digital computation — of numerical calculation in general — is that, due to its abstract nature, the hardware implementation is irrelevant. Numerical calculation (which is all digital computers can do) is “medium independent” per the Church-Turing thesis.
Number crunching, due to its abstract nature, can be realized, not merely in myriad, but in diverse ways. The same computation can be implemented with pen and paper, an abacus, a pocket calculator, or a digital computer.
This is not the case with analog computation. Only a radio circuit can pick up and “compute” radio stations. Likewise car engines, trees, rivers, and orbiting planets. Only something physically similar — physically isomorphic — can perform the same analog computation.
To illustrate this duality, consider a specific example. I used to enjoy the game Tetris, so I’ll use that, but any other computer game, or any other software, works as well.
One thing about Tetris is that it’s pretty strictly just a computer game. It would be extremely challenging (perhaps to the point of nearly impossible) to implement it as a physical game.
(One could create the tiles, but the behavior of the game would be difficult. The falling tiles are hard enough, but causing filled rows to vanish would be a real trick.)
Contrast that with, say, a spreadsheet, which does have a direct physical implementation using paper and pen.
In fact, spreadsheet software is based on how accountants physically operated. (Obviously computers made both spreadsheets and accountants far more capable.)
Playing Tetris requires software that defines and controls the game. This software is an abstract model of the game. It knows about the shapes of the tile blocks, that they appear randomly at the top, can be moved side-to-side or rotated, and descend at a specific rate (increasing as play progresses). It also knows how to manage the growing pile according to game rules.
Further, it knows how to “paint” the current state of the model on the display screen. Additionally, it manages player inputs. These two aspects are crucial to software. There must be an interface between the abstract calculations of the model and the real world.
Software is highly dependent on the underlying hardware. Low-level software layers can present a generic virtual computer, which allows the Tetris software to be more general, but then those layers are system specific.
Even on the same system, different programming languages, different compilers, and different programming techniques — even just a different approach to the implementation — can result in software that is radically different but which results in indistinguishable game play.
As a trivial example, consider all the ways to get the answer 42 as the result of some computation. To name a handful:
- 21 + 21
- 2 × 3 × 7
- (200 + 10) ÷ 5
- 65 – 23
In fact, there are an infinite number of ways to accomplish the result, just as there are infinitely many ways to create any given software model.
So this is one aspect of the causal disconnect between the physical computing hardware and the software abstraction that runs on it. Not only does the disconnect decouple the hardware implementation, it decouples the software even on the same hardware.
Game play would be a disaster, but a human in another room — receiving inputs and manually keying pixels — could implement the game with paper and pen.
But the disconnect is deeper than that. To illustrate, let’s take the human player out of the game and produce a result using only software.
Consider two examples that produce results on the same digital hardware: Firstly, Tetris+AI, where a trained AI plays the game. Secondly, an encrypted recording of a game decoded and played back.
We will play a role similar to neuroscientists. We can monitor the electrical activity of the computer, and we can observe the display. This parallels how neuroscientists search for correlations between neural activity and physical results (what a subject reports or does).
What do we observe?
The obvious thing is that both cases result in similar game play. It would be as if we watched a human player play two games.
However the flow of data inside the computer, except at the outputs, will be quite different. In general we observe very little, if any, correlation between the two cases. Different software causes different computations.
More to the point, the flow of digital numbers inside the computer will have no obvious meaning. There is nothing that innately associates these numbers with any obvious process other than the physical dynamics of the computer itself.
If we wrote the software in a different programming language, or even just used a different compiler, the flow of numbers would be different without changing the result. If we compiled for different hardware, the flow of numbers would be very different.
It is only due to an external map — one embodied in the programmer’s mind in concert with the programming language and hardware — that these numbers have any meaning at all.
Contrast this with the dream of neuroscience — to establish well-defined correlations between brain activity and consciousness. The premise being that, because mind emerges from brain function, such correlations exist and make sense.
With digital computation, these correlations simply don’t exist, but with analog computation they do. For instance, consider a vinyl record player.
If we again examine the flow of data, which in this case will be analog signals throughout, we find a direct correlation between them and the result (the sound of the record). The flow of data directly resembles what the device is computing.
This is always the case in analog systems. The data being processed necessarily directly correlates with the inputs and outputs.
Now compare the visible signal in the grooves of a vinyl record — information that is identical to the sound the record will produce — with the digital data of the same music on a CD.
The latter, as far as anyone could tell, is just random bits unless we know the external maps that make sense of them.
In fact, there would be multiple maps required.
There will be one to turn the CD pits into bits, one to turn the bits into digital numbers, one to decode the CD protocol, and one to turn the resulting flow of numbers into an analog signal.
There would be others that serve as indexes to the data or that provide additional information, such as album name, song titles and authors, and more.
More importantly, in vinyl records (or any analog system), there is no abstraction on top of the physical data. The data doesn’t stand for, or represent, anything except what it actually is. There is no need for an external map to understand what the data means.
The semantics of analog systems are fundamentally part of those systems. The data they process directly correlates with, and generally resembles, what’s being computed.
The bottom line is that both analog and digital systems have physical dynamics — such as flows of current or voltage — but only in the latter is there an abstract layer decoupled from those dynamics. Only in the latter does the flow of information stand for something different.
Digital systems are dual; analog systems are not. That is the digital difference.
Stay analog, my friends! Go forth and spread beauty and light.