Quantum computers have got a lot of attention recently. Though some has been balanced and well informed, that has not been true of all. Hype is beginning to creep in, and one spectacularly uninformed article even went for a bit of fear mongering.
All this can make it seem like quantum computers are just around the corner. In reality, the quantum computing industry is still only its infancy. Though prototype devices are currently being produced, they can’t be used for anything that your laptop can’t do almost trivially. The development of these devices is still very much in the realms of basic science, and will likely remain so for a decade at least.
Hype and cash are muddying public understanding of quantum computing
It's no surprise that quantum computing has become a media obsession. A functional and useful quantum computer would…
The best way to immunize yourself from the hype, and truly understand how developed these devices are, is to play with them. Fortunately, you don’t need your own computer: IBM allows the public to mess around with a couple of their devices.
Quantum Computing - IBM Q - US
IBM is building the first universal quantum computers for business and science.
Trying things out on their Quantum Experience let’s you quickly get hands on with the awesomeness of quantum computing, but it is also painfully honest about the current limitations.
As an explicit example of this, I made a game. This is designed to use all aspects of a quantum device to define a few simple puzzles. By playing the game, you can quickly get an idea of what a quantum processor can do. But you’ll also quickly see where its weaknesses lie.
The game has been implemented for what is currently the most advanced quantum processor: IBM’s ibmqx3.
Contribute to A_Game_to_Benchmark_Quantum_Computers development by creating an account on GitHub.
All the technical details can be found in the link above, including the full program that runs on the quantum computer. You need to be approved for the beta program to actually play it for yourself. So here’s a game I ran earlier.
Let’s just dive right in. Here is the first puzzle.
As you can see, there are a bunch of percentages. These are connected by lines, which are labelled by letters.
The percentages come in pairs which should be quite similar to each other. For example, there is 11% and 12% either side of the S line. These numbers are very similar to each other, and very different to their other neighbours, so we can be pretty sure that these guys are paired up.
The aim of the puzzle is to find all the pairs. We’ve already identified pair S. Now we just need to do the rest.
The 50% on the left side of the E is now an easy one. It only has two neighbours, and one has already been used up. So it has to be paired with the 49% on the other side of the E. That gives us E as our next pair, and then M becomes obvious too. We continue this until the puzzle is done.
Then it’s round 2: A second puzzle.
It’s a bit harder, but still doable. The pair N is pretty obvious, for example. I’ll let you think about the rest.
Once that’s all done, it’s round 3.
The percentages all seem to be getting smushed up into the 40s and 50s, making the pairs hard to distinguish. Pair J is a notable exception, but the rest is anyone’s guess.
Round 4 is even worse.
I have no idea what is going on here.
So what does this have to do with quantum computers? The 16 percentages in the puzzle all come from a different quantum bit (or qubit) in the ibmqx3 processor. So already the game tells us something about how many qubits we have to play with.
Basic instructions in a quantum processor come in two types: single qubit operations and two qubit operations. The latter cannot be done between any pair of qubits: only certain pairings are allowed. These are the same allowed pairs as in the game. So the nature of the grid on which the game is played also tells you about what processes are allowed in the device. If all the qubits sat in a row, it would be pretty rubbish for both the game and for designing quantum algorithms. A square lattice with no missing links would be pretty great. As you can see, ibmqx3 is somewhere in between.
When creating the puzzle for the first round, the program run on the quantum computer just creates that one puzzle. For the second round the program is a bit more involved: it starts by remaking the first puzzle, and then immediately uses the inputs just given by the player to deconstruct it. Only then does it finally create the second puzzle.
The same idea is used in higher rounds too. Each of the previous rounds is recreated and then taken apart before the latest round is finally prepared. This makes the program longer and longer as the game continues.
The longer the run time, the more chance for noise to get in and mess everything up. The more errors there are, the harder it will be to see the right solution, and so the difficulty will increase for higher rounds. This gives us another insight about the device: how large the effects of noise can be.
So now you know how good the ibmqx3 device is. You saw how big the puzzle was. You saw how connected the qubits were and how good a puzzle that made. You saw how many rounds it took before everything messed up. You don’t need to rely on hype to tell you about the state of quantum computing. You can puzzle it out for yourself.