I'm Scott Aaronson, quantum computing/computational complexity researcher. AMA
Hey HN,
We recently recorded a podcast (https://blog.ycombinator.com/scott-aaronson-on-computational-complexity-theory-and-quantum-computers/) where I discussed my research, AI, and advice for nerds in general or people who want careers in science.
We covered many but not all of the questions submitted over the internet so AMA!
372 comments
[ 0.25 ms ] story [ 275 ms ] threadLong answer: See my recent blog post https://www.scottaaronson.com/blog/?p=3848 about exactly this!
Shtetl-Optimized's tagline is famously "Quantum computers would not solve hard search problems instantaneously by simply trying all the possible solutions at once". What phrase do you think should replace 'trying all the possible solutions at once' in the public conciousness as a succinct description of the mechanisms of a quantum computer? Or is this topic simply too complex to be distilled into a neat synopsis while retaining accuracy?
Edit: this seems roughly answered to a question by user r4um
If you feel that sentence wasn't clear enough, and it would take at least a few more paragraphs to flesh it out ... well, duh, what did you expect? :-D
For a SLIGHTLY longer account, see my attempt to explain quantum computing in 35 seconds or fewer, which Maclean's magazine challenged me and others to do in response to Justin Trudeau's quantum computing explanation: https://www.scottaaronson.com/blog/?p=2694
When I did a piece for the New York Times, I managed to get an explanation that I was reasonably happy with into ~6 paragraphs: https://www.nytimes.com/2011/12/06/science/scott-aaronson-qu...
Given that quantum mechanics is, famously, one of the most counterintuitive things that humanity ever discovered, I don't think it's that big of an ask for people to read 6 paragraphs about QC before they decide they basically know what it's about. :-)
Quantum computing is a technique that lets you sample a problem's answer-space using "loaded dice," such that the problem's correct answers correspond with probability spikes in your dice throws. Right now, we only know how to usefully "load" those dice for certain problems, and it's pretty hard to do.
These are even relatively simple to work with; back in high school, I set up my basement as a darkroom, set up a sandbox for isolation, borrowed a laser from my physics teacher, bought a kit online with a beam splitter, mirrors, lenses, and film, and made some holograms of various objects utilizing light interference.
You could set up an apparatus in which light goes through a beam splitter, reflects off mirrors to travel via different paths, and is recombined and interferes in the end to produce an interference pattern. You could probably encode a lot of information in the exact length of the different paths, perhaps in an array of mirrors which could be actuated to produce slightly different path lengths in different parts of the beam (after the beam is expanded), and use the interference to make calculations.
Other than the smaller scale, and greater difficulty of working with it, what is special about quantum interference that would make it more amenable to solving problems that are NP complete than some apparatus producing similar kinds of interference with light?
Also, has it been proven (or argued sufficiently convincingly) that quantum computation at scale is actually possible? I'm wondering if there could be an issue where it requires more computation to construct a quantum computer than the computation you get out, or require a non-constant number of quantum computers (with respect to the size of the problem) to actually get reliable enough results out, or something of the sort.
I think this is somewhat like the questions of whether certain automata are Turing-complete (https://en.wikipedia.org/wiki/Wolfram%27s_2-state_3-symbol_T...), when a sufficiently complex process is needed to encode the problem into the automata that it could be argued that the computation was not actually carried out by the automata itself (I don't actually know if that question was answered; Wikipedia references a mailing list thread that has a lot of discussion, but I haven't seen any authoritative conclusion).
Given that empirically, only extremely simple quantum computers have been able to be constructed, what makes us think that there isn't some kind of tricky scaling issue like this were the additional complexity of building, running, or verifying the results of quantum computers will negate the benefits?
No, of course no one has proven that it can work: presumably, the only proof that will convince everyone will be the actual construction of the machines! But in the 1990s, the theory of quantum error-correction convinced almost everyone that, as far as current physics can say, the difficulties (though staggering) seem to be ""merely"" difficulties of engineering. As I discussed in another answer, a deep reason why QC could never be scaled would be MUCH more interesting scientifically than a mere success in scaling it (which would "merely" confirm what physicists already believe). And of course, with the ongoing efforts of Google and others to demonstrate "quantum supremacy" with 50-70 qubits, we're likely to get experimental results that are relevant to your questions within the next few years.
Would you consider writing an in-depth article on configuration space and how it applies to QC (and possibly other research) and sharing it here on HN someday?
Most people mistake QM for a natural mechanism, rather than means to explain things. Same people invent Quantum Computing and Entanglement Communication. Well, good luck, I guess?
And you sir, please get over yourself.
Imagine you are a parent/teacher in a room full of happy kids, playing their kid games. Some kindergarten playground or something. They're generally all doing some kind of stuff, and doing it in parallel. Is this "doing work in parallel"? Every one of them is doing something totally else, one kid is building a castle, the other is throwing bricks at it and destroying it ("interference cancelling each other's work"). One is digging holes in a sandbox, another just kicked the sand inside, filling the holes back.
Now, you are just one, insignificant adult in this room. Imagine you would want them to do something for you. Can you just shout at them, "do me some parallel computation"? "Build me a castle of bricks"? Meh, sure you can, but they'll look at you funny, maybe a few of them will start, but their attention will be soon diverted by others, and anyway they'll soon get bored and start fudging around.
But here comes the fun part - if you're a smart and creative teacher/parent/..., you can actually do much better: you can "trick" them into doing your work; you have to either find some kind of a "system", or a "fun game", that they will like, that will fit their abilities and sensibilities, so that they'll choose to generally more or less contribute in the direction you want them to. You have to find a way of doing the task that will be "compatible" with them. Then, collectively, you can actually have them make your work done! But if you don't find the trick - sorry, no free lunch for you :) But you can still keep enjoing watching in awe and wonder how they're having fun, the little buggers... erm, sweethearts :P
In a somewhat similar way, in QC, you have to invent a system that can trick all the qubits, who have their particular, peculiar ways of living and behaving, to contribute to some particular result that will be meaningful and useful to you. Otherwise, they'll totally do some kind of "parallel work", but the result will be just irrelevant mess. To make the challenge even more tricky, you're actually outside the room when the work is happening. You don't see the "calculation" ([wavefunction] vector) each kid... umm, qubit is contributing, you only see the one final result. Nah; that would be too easy still; you can only see the shape of the result's shadow (just the length of the final vector).
(edit: ah, and I forgot the most important thing: if I'm not wrong, each extra kid is are actually contributing exponentially more work; if you have N qubits, you are trying to trick 2^N vectors to work for you)
Sorry for still being very vague and handwavy :)
Hmm, one more vague analogue could be to "computer proof systems/theorem provers", e.g. Idris, or trying to prove/enforce something with GADTs. You have this set of rules/mechanisms; now, you have to sit and squeeze and tear your brain in different ways to invent how to force those limited rules to encode the thing you want to prove. Not easy. But sure a challenging and potentially fun brainteaser :)
Also, what is your take on Max Tegmark's quantum suicide experiment. Would it work? If yes would that imply that each of us should expect to live a really long time subjectively?
On a more sociological level, D-Wave earned a lot of bad blood with the academic QC community by making false, inflated, and overhyped claims (with a primary offender being its founder, Geordie Rose, who's since left the company). And I certainly took them to task for those sorts of things on my blog. Then the D-Wave folks met with me, John Preskill, and other academics, and pledged to improve in how they communicated, so I was nicer to them for a while. Then they went back to egregious hype about speedups that weren't real, so I criticized them again. Nothing more to it than that. :-)
Regarding quantum suicide: no, I do NOT recommend killing yourself any time anything happens in your life that makes you unhappy, on the theory that other versions of you will survive, in other branches of the quantum-mechanical wavefunction where the bad event didn't happen. This is partly because, even assuming you accept the Many-Worlds Interpretation, "your" moral concern and responsibility presumably extend only to those branches that are in "your" future -- you have no contact with the other branches! And partly it's because I take it as almost an axiom of rationality that, if a metaphysical belief leads you to do "obviously insane" things with your life, then it's probably time to look for a better metaphysical belief. :-) (I wouldn't say the same about scientific or mathematical beliefs.)
This is certainly one understanding about what science should be (although not a scientific one interestingly enough). Personally I prefer Thomas Kuhn's demarcation, which by my understanding concentrates more on whether a scientific program is producing interesting predictions which turn out to be true.
In other words, the method to create interesting predictions which turn out to be true is to create interesting predictions, then test those predictions, and update your understanding of the world based on them. Once your world-model is good enough, your predictions will often be true. And, perhaps, eventually your predictions will be so often true that they become uninteresting, so you must move on to other questions.
The heliocentric model of the solar system made less accurate predictions than the geocentric model for years, because the geocentric model was mature and had had lots of tweaks applied to it. In that time, you could have asked the heliocentric model to make a prediction, and shown that it was wrong compared to the geocentric model. You would have been wrong to conclude that heliocentrism was wrong though, it just hadn't matured as a theory enough yet.
All models are wrong, but some are useful.
Lots of people think so (e.g. unmeasurable things predicted by theory like parallel universes, but also things like evil or God or the color purple), but by definition it's hard to be very sure, or to transfer your own confidence in such things to others.
Lots of these kinds of questions reduce to quibbling about definitons; and also by definition, if we can't test the thing then the universe isn't going to punish us either way for believing or not.
If we can’t test the thing then what we are discussing is faith, not science.
Nothing wrong with faith and beliefs but I think it’s important to differentiate between these things and science because often times science is used as a basis for untestable beliefs and then people really start to think that those untestable beliefs are actually backed by scientific research.
There's many reasons to believe that objects that exit our light cone continue to exist after they do, even though they could never have any future interaction with us to confirm that. (Say a spaceship leaves Earth at near the speed of light in a straight line, and then enough time passes that the space between the ship and Earth is expanding so fast that the spaceship or any kind of signal from the spaceship would have to travel faster than light to return to Earth, which is impossible. Believing that the spaceship disappears when it exits our light cone requires believing in unnecessarily more complicated physics.)
The death of natural causes qualifies too.
Would you say that the only moral way to implement quantum suicide is with a Doomsday Device that would destroy the entire world, thus ensuring your actions won't affect anybody else even in the worlds where you die?
Is this a known known that our brain doesn't use QC?
If I have any tips, I guess they’d be bend-over-backwards honesty, willingness to make an ass of yourself, practice, and more practice.
That said, most attempts at quantifying whether or not distinctly quantum mechanical processes in the brain related to things like microtubules and NMDA receptors are significant to cognition (i.e. is the brain a quantum computer?) have generally concluded the answer is no:
See:
https://arxiv.org/abs/quant-ph/9907009
https://onlinelibrary.wiley.com/doi/pdf/10.1207/s15516709cog...
[1] https://www.scottaaronson.com/papers/giqtm3.pdf
> Well, yes, “the fact of experience” is a toughie! :) In fact, I regard the “hard problem of consciousness” as so far beyond us, that it’s not even clear that science or rational argument give us any sort of toehold.
- https://www.scottaaronson.com/blog/?p=1438#comment-80656
Longer answer: whatever I have to say about possible implications of QC for the hard problem of consciousness, you can probably find in the following lecture
https://www.scottaaronson.com/blog/?p=1951
or in the Ghost in the Quantum Turing Machine essay that’s linked below.
Can you explain why Grover's algorithm has a runtime of root N? It seems like the runtime should be log2(n) because of exponential qubits or 1 because there must be a way for all the qubits to interfere.
Also, What resources do you reccomend for self study? Are there quantum computing meetups in San Francisco that you can recommend?
A fundamental result from the 1990s, called the BBBV Theorem, shows that not even a quantum computer can solve the unordered search problem any faster than Grover’s algorithm solves it. I won’t prove the theorem in this comment :-), but the intuition is simply that quantum mechanics is a norm-preserving and linear theory. So you actually need to do something to gradually put more and more amplitude onto the marked item; you can’t just instantly and magically give an amplitude of 1 to whichever branch of your superposition happened to hit the marked item.
I’m not sure if there are QC meetups in SF (does anyone else?). But certainly nearby Berkeley is one of the centers of the world for QC—home to Umesh Vazirani’s group, the Simons Institute for Theory of Computing, and now also the startup Rigetti.
https://www.meetup.com/Bay-Area-Quantum-Computing-Meetup/
Next one will likely be at the end of July. Hope to see you there!
By now, there are large interdisciplinary programs in quantum information science (at Waterloo, Caltech, MIT, Maryland, Berkeley, CWI Amsterdam, Singapore, Oxford, and elsewhere), as well as smaller programs like the one we've been building at UT Austin -- where in some sense, the work of blending math, CS, and physics into the smoothie of quantum information science has already been done. So one obvious option for a student interested in this field would be to seek out one of those programs -- they typically have courses and research opportunities even at the undergraduate level.
Can you shed some insight into what's really different about the tools and task of programming a quantum computer versus using classical programming languages and tools? Do you think quantum computer programming will rapidly become standard training for CS undergrads, or do you expect it to remain a niche skillset like FPGAs, etc, since it will only supplement and not replace classical computers.
Also, nice to meet you. Your essays have been inspiring over the years.
I imagine that programming QCs will be a lot like programming classical computers, except with an additional body of technical knowledge that one needs to master. In that respect, it will be a lot like 3D graphics programming, or crypto programming, or AI programming, or compiler programming. And much like with those other types of specialized programming, even in a world filled with useful QCs, I imagine that only a minority of programmers would really need to understand how to interface with them.
Everyone: OK, I'm going to sleep now, since I need to catch a flight tomorrow morning. I'll try to answer a few more questions on the plane, but then I'll probably call it a day (or rather, two days :-) ). No additional questions please. Thanks for all the interesting questions!
"You don't actually want qubits, you want an analog computer with differentiable signals. Most likely photonic. Qubits are a dead evolution branch.
I've been recently exploring computational metamaterials for photonic computation.
http://users.ece.utexas.edu/~aalu/research%20-%20page%203.ht.... (there's quite a few papers on this but unfortunately they are all paywalled. Spoiler alert, they seem to be based entirely on Fourier transform).
These computational metamaterials don't need electricity to be powered (you need something that will shoot the photons on them and read back the values off tho).
Machine learning would be much, much faster on these as you have O(1) differential calculus.
They don't heat up. You can possibly build a house sized CPU out of these. I can see it, a city block sized CPU and a nuclear reactor next to it.
Did you know that on an analog machine, you can do sort in O(n)?
https://en.wikipedia.org/wiki/Spaghetti_sort
Hit me up if you wanna chat about this. I've seen the "light" (xdddd) now and can't go back to stupid bits.
I'm not like super married to the metamaterials but analog photonic trumps quantum for just about every task I can think of."
- adamnemecek
Source: https://news.ycombinator.com/item?id=14674333
Here's the digital version of spaghetti sort:
1. Enumerate the possible lengths of spaghetti that your spaghetti sorter can distinguish above a certain probability. This enumeration will be small and finite.
2. Round your values to one of these lengths.
3. Radix sort or bucket sort those values in O(n).
This is oddly comforting. As Tim Ferris said in Tools of Titans, every successful person is dysfunctional in some way. I guess the trick is to work around your own personal deficiensies, and that's something everyone must figure out on their own.
More seriously: people have mooted this possibility for as long as I've been in this field (~20 years). But keep in mind that, when Cocks and Williamson at GCHQ discovered what would later become known as RSA and Diffie-Hellman key exchange---so, 3-4 years ahead of the open world---cryptography essentially didn't yet exist as an academic subject. Almost all the action was still closely tied to the intelligence community. So, no surprise that a not-yet-existing discipline had fallen behind!
By contrast, quantum computing has been openly studied for decades and has thousands of people working on it all over the world. The central thing that causes me to be skeptical of the "million-qubit quantum computer sitting in the NSA's basement" hypothesis, is that we pretty much know who the best people are, and we haven't noticed any effort to vacuum them all up analogous to the Manhattan Project.
Like, it's no secret that the NSA and DoD, and other military and intelligence agencies around the world, are interested in this field and fund a good deal of work on it. In fact my main grant right now (the Vannevar Bush Faculty Fellowship) comes from the Office of Naval Research. But if the secret world is light-years ahead of the open world, then they'd also need to be executing a giant cover operation of pretending to care about what we in academia are doing! :) So at what point does it become an unfalsifiable conspiracy theory?
Would it affect the things many people do most on their phones like messaging, news and social media
http://standards.ieee.org/develop/wg/QCN-WG.html
Absent an ultimate theory of fundamental physics, we're unlikely to have a full answer to your question -- e.g., to be able definitively to rule out the possibility of "hypercomputers" solving NP-hard problems in polynomial time. What we can do is
(1) to explain the failure (often, the forehead-bangingly obvious, don't-point-to-the-exponential-elephant-in-the-room failure) of all EXISTING proposals along these lines, and
(2) to point to deep discoveries in fundamental physics -- most notably, the Bekenstein bound https://en.wikipedia.org/wiki/Bekenstein_bound -- which seem to constrain any future quantum theory of gravity to have a form that would rule out these sorts of hypercomputers (for example, by limiting the amount of energy that can be pumped into a finite region, without causing the region to collapse to a black hole, and by likewise ruling out computer components that are smaller than 1 Planck length across or that do more than 1 step per Planck time).
I've often speculated that ultimately, the hardness of NP-complete problems in the physical world might come to be seen as analogous to the impossibility of faster-than-light signalling or perpetual motion machines---i.e., something that we simply take as primitive and then use to explain other phenomena in physics. But while the hardness of NP-complete problems sometimes gets used in that way already, I also think we have a lot more work to do before the situations are truly parallel. (For starters, we could prove P!=NP. :-) )
If there is do you think we're perhaps less than 10 years from QC capable of breaking common number theory based asymmetric cryptographic algorithms like RSA or elliptic curve for at least lower key strengths? That's what these graphs suggest.
(I know breaking crypto is not by any stretch the only or the most valuable thing you can do with QC but it's the one that gets the most press and it's relevant to my current work.)
Back of the envelope:
- It takes 9n error-corrected qubits to break an n-bit ECDH key [1]
- Each error-corrected qubit requires ~2500 physical qubits [2][3]
- Typical ECDH key size is 256 bits [4]
- This year would be the year of ~64 physical qubit machines. [5][6][7]
- log_2(256 * 9 * 2500 / 64) ~= 16.4 years
Note that every one of the quantities in the estimate is subject to future research. E.g. the error corrected qubit size is smaller when using lattice surgery, but not enough to really move the needle on the time estimate.
[1]: https://arxiv.org/abs/1706.06752
[2]: See section VI of https://arxiv.org/abs/1805.03662
[3]: https://docs.google.com/presentation/d/e/2PACX-1vReeRxH80Ruu...
[4]: https://crypto.stackexchange.com/a/47337/7860
[5]: https://ai.googleblog.com/2018/03/a-preview-of-bristlecone-g...
[6]: https://www-03.ibm.com/press/us/en/pressrelease/53374.wss
[7]: https://newsroom.intel.com/press-kits/quantum-computing/#49-...
Yes, you can make plots of the number of qubits, coherence times, etc. as a function of year -- and if you listen to talks by John Martinis, Chris Monroe, or the other leading experimentalists, you'll often see such plots. But at the very least, you need to look at both dimensions (qubits and coherence time) -- not just at "number of qubits," which will be severely misleading! And even if you do, there are very few data points to use for extrapolation, since it's really only within the last ~6-7 years that people have even gotten qubits to work well in isolation, let alone scaling them up. So it's really hard to extrapolate.
Like, I'm hopeful that within the next decade, we'll have systems with a few hundred qubits that will be good enough to do some useful tasks that are classically intractable (such as quantum simulation), though they certainly won't be threatening public-key crypto yet. But I'm not sure even about that. And I'd prefer to see what happens with this before speculating about the timescale for the next step, of building a full universal QC (the kind that would break our existing public-key cryptosystems)!
On a totally unrelated note, I've been trying to wrap my brain around coherent states and the photon-number/phase uncertainty relationship (e.g. http://hitoshi.berkeley.edu/221a/coherentstate.pdf). Do you know of any simple intuitive stories one can tell about that like one can with position-momentum uncertainty? I know this isn't really in your wheelhouse, but people who both understand this stuff and are willing to field questions like this are exceedingly rare (see above paragraph).
(FWIW, and for the benefit of lurkers, this question was prompted by the discussion on this blog post: http://blog.rongarret.info/2018/05/a-quantum-mechanics-puzzl.... Also FWIW, that's my blog.)
> For example, breaking almost any cryptographic code can be phrased as an NP problem. So if P=NP—and if, moreover, the algorithm that proved it was “practical” (meaning, not n^1000 time or anything silly like that)—then all cryptographic codes that depend on the adversary having limited computing power would be broken.
Can you explain this reasoning more precisely? The class P contains difficult problems that require O(n^googolplex) algorithms, so are not solvable in practice. The fact that P=NP would not make these problems any easier.
Here's a (very slightly) more rigorous justification:
If P=NP, then any NP problem is in P with at most a polynomial slowdown. That is, if there's an algorithm taking T steps on a non-deterministic Turing machine, we can solve it on a deterministic Turing machine in f(T) steps, where f is a polynomial. Presumably, a "practical" algorithm would be one for which f has a low degree.
The kinds of algorithms we're concerned about in cryptography (and plenty of other fields) already have low time complexity. For example, generating or verifying an HMAC is O(n) in the length of the input. So if we had a way to solve NP problems with a low-degree polynomial slowdown, we could break HMACs in low-degree polynomial time.
It doesn't matter that there are O(n^1000) problems out there that would still be realistically unsolvable, because those problems don't have practical applications in the first place.
https://www.scottaaronson.com/papers/pnp.pdf
So, what do you do when you're not flipping qubits around?
Got any cool stories you wanna share?
(I don't really have much to ask you since anything I could comprehend is easily googlable and I don't wanna waste ur time. Just wanna say keep up the good work and thanks!)
In your opinion what are some good universities across the world to look into if one wants to do graduate or post-graduate level research in quantum computing?
Also the groups in Innsbruck and Vienna in Austria.
If it turned out to be true that advances in advertising technology like profiling and microtargeting (see, e.g. [1]) could effectively deliver the likelihood of electoral victory to their highest paying and most ruthless practicioners, would this be something to worry about? And if so, what action should we take in order to preserve democratic ideals?
1: https://medium.com/join-scout/the-rise-of-the-weaponized-ai-...
For an attempt at a popular summary of what the circuit lower bound innovations consisted of, see my blog post:
https://www.scottaaronson.com/blog/?p=3827
or, of course, their paper.
No, this doesn’t much change my priors about the power of quantum computation—for one thing, because we all (or at least I :-) ) were already pretty damn confident that Forrelation was not in PH. On the other hand, I was not expecting that the separation could be proved right now—certainly, not without first proving some weaker separations like BQP vs. AM.