Quantum Computing





What It can do ?


As with the introduction of any fancy sounding new techonlogy (like Quantum Computing, AI etc), there are a lot of hypes about Quantum Computing as I am writing this (Jan 2020). Even though you haven't seriously studied on Quantum Computing, you might have seen or heard of what they often say : "With the quantum computing, it would break the complicated security code that we are currently use because it can solve the problem like prime factorization in unimaginably short time comparing to the conventional computers". This would be true at least in theory, but there are a lot of other sayings that sound like science fiction.


It is similar to those hypes about AI/Machine Learning. People often say "AI/Machine Learning would become so better than human in every aspect. Robots equipped with AI can physically outperform human with its strong hardware and surpass the human capability with  AI based software". However in reality (at least as of now), it would be more reasonable to say that there are/will be areas where human can do better and be other areas where AI/Machine Learning can do better". As of now, it seems that in many cases AI/Machine Learning performs very well in some area where we human have difficulties, but AI/Machine Learing has difficulties in some area where we human (even a bady/child) can do very easily. So for now (at least for pretty long time from now), we should take AI/Machine Learning as a complementary tool rather than as competitor which will completely replace one with another.


I think we should take the similar opinion between classical computing (the one we are using now) and Quantum Computing. So don't worry too much that your current job (based on classical computing) will completely replaced by Quantum Comuting engineers -:). There are some area where classical computing do better and some other are where Quantum computing do (or will do) better. There are many algorithm that is proved to be done at least in theory as summarized here in Wikipedia. But therea are a few of area that especially attracts attention in the industry. Those are as follows. Since I am at the very early stage of learning this area, I am not capable of explaning about these algorithms with enough technical details but in easy way. This note is mainly to refresh my brain about next immediate goal I have to reach. I don't know how long it will take for me to reach this goal, but as I learn more the explanation would carry further technical details.



Integer Factorization : This algorithm is for solving the factorization problem (like prime number factorization). The best known algorithm for this is Shor's algorithm.


Data Search : This is used for searching an unstructured database with much shorter time comparing to classical computer. In classical computer, the required time (worst case time) to find a specific data is direct proportion to N (the total number of data in the database), but the algorithm prposed in Quantum Computing called Grover's algorithm can search the data in time proportional to Square root of N. It means the larger the number of data grows, the better the efficiency of quamtum computer gets.


Solving Optimization Problem : Somehow, I don't think this is mentioned as much as the other two mentioned above, but I personally more interested in this application. In most of the optimization problem, the problem can be formulated to find minimuam value of complicated goal function with huge search space. This can be done by what they call 'Annealing'. As far as I know, the quamtum computing based on (or originated from) D-Wave system is strongly focused in this application. This video (Ref [1]) would give you pretty good picture on this application.   




Reference :


[1] D Wave Webinar: A Machine of a Different Kind, Quantum Computing (2019)