Three kinds of computing

30 November 2020
30 Nov 2020

I used to think that the classical computer, the universal Turing machine in our pockets and backpacks, was a one-of-a-kind invention. There is the human history before computers, and the human history after software; before, we are mortal, and after we are divine.

I don’t think so anymore.

Computers are powerful because they are universal machines, mechanical solutions to some generalizable large abstract class of problems. In the case of classical computers / Turing machines, this is generally the set of problems solvable in polynomial time, which turns out to be many problems we encounter day to day. But there is no rule that this is the only kind of generalizable problem category in the universe, and I think we should be open to the idea that the computer revolution will happen infinitely many times in human history, for infinitely many categories of problems, fueled by new kinds of computers – universal informational machines – each time.

I think there are three such examples I see today from my vantage point.

Classical Turing machines

This is the “classical” computer, the microprocessors that run smartphones and laptops today. They solve deterministic digital problems with the capability to simulate Turing machines. We know the benefits of these machines well.

Deep learning

Deep learning is a fundamentally different kind of universal machine from traditional software. The way deep learning models solve problems is completely different from the mechanics of a classical algorithm, and DL models generalize to an entirely different category of problems previously intractable with classical computers.

DL is also definitely a universal machine, an information-fueled machine on which we can design algorithms and software to solve problems. I think the invention of deep learning is much closer to the invention of digital computers than to the invention of the Internet. Despite deep learning models currently being simulated mostly inside classical computers, I think DL is a new category of computation.

Quantum Turing machines

Even more nascent than DL is quantum computing. The category of problems solvable by QC are different than the solution set of classical computers or DL, but quantum computers are also universal machines, capable of solving a general class of problems that can be formulated in terms of a basic primitive of computation, the quantum Turing machine.

Just as classical computers trivialized data size and DL is trivializing pattern recognition and machine learning, QC will trivialize a whole general class of problems and give humanity a new capability over information.

I also wonder whether there are substrates for computation just becoming possible that I haven’t considered yet. Nucleotides and enzymes – the DNA – seems like a rich bed for building new universal computation primitives that we are just now beginning to tame.

As each generation of computation becomes sufficiently advanced and omnipresent, society will look different, and the successive generations will look like gods to the previous ones. But the difference is just one extra kind of a universal machine, one extra kind of a computer – generalizable, information machines made of data.

How to get lots of ideas for side projects and writing

How do you get so much done?