Algorithms! I need algorithms!
25 02 2007Often, I am asked something along the lines of: “Why Quantum Computing? What does it offer that is better than regular computers?” To be perfectly honest, I don’t know. For me, I just think that it is really cool to be able to control and engineer the quantum states of individual ions. And working with lasers. But as an engineer, I feel like I need to offer some sort of practical and useful application of Quantum Computing (or Quantum State Engineering).
Are there certain problems that are nearly impossible on a regular computer, but are a snap on a quantum computer? This implies some sort of complexity of the problem. But since I’m no computer scientist, I don’t know anything about P vs. NP & complexity classes. But I do know this: a quantum computer won’t be any faster than a regular computer, unless it is running a quantum algorithm (an algorithm that exploits some aspect of quantum mechanics). Because, otherwise, it could be done on a regular classical computer. And to be honest, with all the infrastructure we need (electronics, lasers, vacuum chambers, etc.), it’d be faster to just use a regular computer.
So, what quantum algorithms are there? Again, I’m no computer scientist, and only know of three: the Deutsch-Jozsa algorithm, Grover’s search algorithm, and Shor’s factoring algorithm. Wikipedia gives a good description of the Deutsch-Jozsa algorithm:
In the Deutsch-Jozsa problem, we are given a black box quantum computer that implements a single function f(x1, x2, …, xn) that takes n binary bits x1, x2, …, xn and returns the binary value f(x1, x2, …, xn). We know that the function is either constant (0 on all inputs or 1 on all inputs) or balanced (returns 1 for half of the input domain and 0 for the other half); the task then is to determine which it is (constant or balanced) by applying inputs to the black box and observing its output.
Grover’s search Algorithm searches an unsorted database. Suppose you find just a phone number in your pocket, and you can’t remember if it is the number of the hot girl you met last night, or the the ugly one. To save face, you decide not to call to find out. Rather, you want to look them up in the phone book. Unfortunately, the phone book is ordered by name, not number. So how would you search? If you had a quantum computer, Grover’s algorithm could help you.
Shor’s factoring algorithm is just that. It factors a number into its primes. Why is this interesting? The difficulty of factoring has it’s uses in encryption. An example of the use of this is in RSA Encryption. Of course, this has spy stuff written all over it—breaking codes, secret messages. It also offers the best speed-up, and uses the Quantum Fourier Transform. And I’m quite partial to any sort of Fourier Transform.
So, obviously, I’ll mention Shor’s algorithm.
Perhaps it is time that I learn some Computer Science & some other quantum algorithms. If you’re interested in how Shor’s factoring algorithms works, I highly recommend this post by Scott Aaronson. Incedentally, he’s got another post about the recent breakthrough in quantum algorithms: the NAND tree.
Comments : No Comments »
Categories : Crazy Ideas, Quantum Computing, Quantum Mechanics


