Basically, don't worry too much about it, unless you wish to hunt for such algorithms yourself.
The one thing it's definitely promising for is simulating quantum mechanics... something classical computers are very bad at, and has serious practical use. For this, they will always be very useful.
Now that I think of it, the few most well known algorithms (like the Shor's one) are probably so because "real world" use cases were found for them, which are understandable to non-quantum engineers (i.e. "factorization of primes"), as opposed to "transforming a hamiltonian foobzdringle into a hilbertian mesoism in laplacian meta-subordinates" :P
https://cstheory.stackexchange.com/questions/31084/travellin...
That's only a problem if you need the exact solution. If you're OK with 99.9% quality, approximate solutions are much cheaper. So the question is, is it necessary to invest into that 1%?
I really enjoyed it for layman's perspective while still exposing technical depth. I hadn't thought about how one of the big challenges of quantum computing is figuring out how to morph your traditional parallel algorithm into a quantum algorithm (with all the weirdness that entails)
Quantum mechanics is a good example. It's had massive, real-world impact, but nobody could have predicted that.
The details need to be fleshed out, and people then need to explore things with it, play around, do further research on top of it.
But in general, quantum computer is not strictly a superset of improvement over Turing machine. It’s just different. And while it might reduces your database query time, unless you are already working at that abstraction it might probably be invisible changes for you.
I thought it was still an open question as to whether a quantum computer would actually be able to solve this class of problems or not.
In addition, quantum computers have a great deal of noise--so quantum error correction seems to be a thing.
You are probably thinking about NP-hard problems, which may or may not be solvable faster than on classical computers.
In some cases, error correction can be achieved simply by running the algorithm a few times.
I tend to think of applications where you might want to brute-force search or simulate over some large set as being where quantum computing will be most significant, but I say that very vaguely and timidly.
This gives a number of applications and algorithms; I found some of the references in it really interesting to read:
Here are a bunch of potential applications.
Of particular note, there are significant speed ups for optimization and constraint satisfaction, cryptanalysis, machine learning and indeed 'looking up data in a database' (grover search).
"Quantum computers can search arbitrarily large databases by a single query" [1]. That's Grover's algorithm from 1997, one of the pinnacle results that got people excited about quantum computing. If you haven't come across it before, then you must not have read too much about quantum computing!
http://math.nist.gov/quantum/zoo/
However, quantum computing will likely do nothing for you as a person other than make your life more difficult due to complexity changes for solving non-pqc algorithms.
If this is true, it would be easier to code, and compilers could spit out very efficient machine code.
It's not clear to me why you claim this would be related to efficient machine code, though.
Someone explained me quantum mechanics that it supports more states, not just on (1) and off (0), that it can have dozens or hundreds of states. Is this correct / state-of-the-art understanding?
I imagine how cool it would be to have more states, not just 0 and 1. A computer running on more states could encode machine code in fewer instructions, so it could calculate more with the same frequency.
So why downvote me? Either explain me where I got something wrong, or skip it in case you know less than me.
No, that's not really correct. Being able to put states in superposition is very different from having more classical states.
> I imagine how cool it would be to have more states, not just 0 and 1. A computer running on more states could encode machine code in fewer instructions, so it could calculate more with the same frequency.
That doesn't really make any sense. A cycle is still a cycle. How many instructions you can encode with a given length doesn't tell you anything about how fast they execute.
Even going with an extremely charitable reading, I don't think there's any way anything that you're talking about could lead to anything better than a constant-factor speedup (and not a large one). The point of quantum computing isn't to get mere constant-factor speedups. Such a thing would be insignificant in comparison to what quantum computers can actually do.
The answer I hear is that it helps solve the traveling salesman in record time, and that's all great and everything, but how will quantum computing be able to do things such as decrease the time it takes to train a RNN, or look up data in a database?