Quantum Computing - the gateway to AI?

I really enjoyed this video:

Where do you think Quantum Computing will take us? How will it change the way we program computers? Will the only feasible way to develop software be via software that develops software for us? It’s all very fascinating!

We already have someone studying quantum computing at university, @Qqwy so I can’t wait to hear what he and you all think!


Briefly I can say about where Quantum Computing might take us:

  • The ‘superposition’ property that qubits have, allows for the creation of some novel algorithms that in certain cases can outperform classical algorithms. Some examples are:
    • Grover’s algorithm, which makes searching in a set of unsorted data faster. (However, if your data is already sorted, there’s no need for it).
    • Shor’s algorithm, which makes prime factorization less difficult, and is the reason why at some point quantum computers might be able to break current computer security cryptosystems (because many of them are based on prime factorization being hard).
    • Simulations of physical structures, which allow further research into for instance superconductive materials and new medicines (this is one of the things that is mentioned in above video).

And the other special property that qubits have is ‘entanglement’. This most importantly allows us to create new cryptosystems for secure communication.

I’d like to note that Artificial Intelligence is a very general term, describing a huge variety of different algorithms and techniques (and therefore the term itself is very imprecise). Some of these might benefit from working with qubits, but many of them will not.

It is also important to note that:

  • One main drawback of working with qubits, is that you cannot copy their data. You can measure them once, and then they have to be reset.
  • The claim that ‘a quantum system can check all possibilities at once’ is a gross simplification of what actually happens, and therefore false. What actually happens is that quantum algorithms try to manipulate superposition in such a way that the probability of obtaining a useful result becomes higher. Nevertheless, one still might have to run it multiple times to obtain a result. And whether using superposition in your problem domain is at all possible very much depends on the situation.

It is very cool stuff, but There Ain’t Such A Thing As A Free Lunch.