I have a confession of the likes that really only a scientist can make: Until recently I had a poor grasp of the principles of quantum computing. I know, how can I look at myself in the mirror?
But now my grasp has shot up to a much more respectable poor-to-middling. That’s largely thanks to talking to the likes of George Musser (with whom I’m discussing quantum computing on-stage in NYC on April 10th, 2018), and digging in to the marvelous online lessons and blogs of Scott Aaronson. These people know their stuff.
But the point of this post is not so much to share that newly found self-respect (indeed, you should come see the discussion in person, hint, hint) but to say a little about some ideas that flow from it.
Perhaps the most remarkable thing to realize about the basic concept of quantum computing is how entirely natural and reasonable it is. In the most rudimentary terms, it's about taking properties of matter and light like spin, polarization, or magnetism and exploiting the way these properties behave to assemble delicate agglomerations of stuff that end up in new states depending on the ways you tweak them.
Those tweaks can be akin to the logic gates or data inputs of classical computing, but the new states, and outputs, are the result of quantum superposition, entanglement, and interference happening ‘inside’ the assembled stuff. While a transistor or diode gate in a digital computer follows Boolean logic, a quantum computing device - made of qubits - follows quantum logic.
It's not an easy logic to understand, especially if you've been brought up with Boolean logic. But as Scott Aaronson has so nicely illustrated, the logic of qubits is an entirely natural logic and is actually just the next step up from Boolean logic. In fact, you can arrive at the framework of quantum mechanics from a considering a generalization of probability theory to allow negative numbers, and 'bits' in this context - something that blows my mind.
Yes, making an environment where the qubits of quantum computing behave themselves - maintaining coherence and reducing the errors of eventual measurement - is very difficult for human engineering at the moment. But we're making decent progress. It seems that we're also making progress on the other very difficult piece of quantum computing - the algorithms. And rather remarkably, the needs of many current machine-learning approaches (namely heavy-duty matrix manipulation) are an extremely good fit to one of the things quantum computation should be particularly good at.
As I've been wrapping my head around these topics I've found myself still questioning whether quantum computers are going to ever become as potent as David Deutsch's provocative and brilliant 1985 thesis on universal quantum computation suggests they might. But what I have also realized, to my surprise, is that far from being a hugely contrived and artificial approach to computation, quantum computing is actually incredibly ordinary.
In other words. If a species learns about matter and physics, it will eventually fall upon the possibility of using nature's most fundamental building blocks to perform computations. Furthermore, the idea of using vacuum tubes or doped silicon to build logic devices could be seen as quite a peculiar path to take.
Of course, from what we currently know, there still has to be a substantial physical interface with a quantum computing device in environments where biological life has a chance. For us that interface will be our classical computers and our nano-engineering. But presumably there could be other options.
I find that I'm led to an idea right out of science fiction: If there are the machine products of other life out there in the cosmos, these machines may be more likely to have qubits at their controls than bits. Not necessarily because their makers were themselves super intelligent, but because of the undeniable universality of quantum logic.
(All of this and much more will get unpacked in NYC on April 10th 2018).