Get this book -> Problems on Array: For Interviews and Competitive Programming

In this article, we have presented a detailed and intuitive introduction to Quantum Computing which is one of the promising emerging sub-domain of Computer Science.

**Table of contents**:

- Introduction: Analog to Quantum Computing
- What is Quantum Computing?
- How is it useful to Computer Engineers?
- Difference between Quantum Computing and Classical Computing
- Benefits of Quantum Computing over Classical Computing
- Future

## Introduction: Analog to Quantum Computing

In 1901, an artifact was discovered from a shipwreck which is today known as Antikythera mechanism. It is dated to be from around 100 BC. It was an Analog Computer of intense complexity.

Computers have existed from ancient times but its look and form and internal working have been changing.

Analog Computer is a mechanical device that use various physical properties like electrical or hydraulic quantities to solve various problems. Analog Computers were very useful but was prone to error as it had a continuous range (input and output unlike 0 and 1 of Classical Computing). This was evident by the failure of the major military project Norton Bomb Project. Despite this, Analog Computers played a major role in World War 1 and 2 by designing military equipment. It was an Analog Computer that was able to predict the tide levels successfully in real time.

Since 1960, Digital Computing or Classical Computing started to take over as the main form of computing. This was possible by the development of transistors and the work of Claude Shannon who showed 2 bits 0 and 1 with 3 operations AND, OR and NOT is enough to do any calculation in a Classical Computer. This made Classical Computers general purpose unlike Analog Computers.

In fact, we can make a Computing device from any physical property. The usefulness, strengths and properties will vary. For example,

- Analog Computers are based on â€śMechanical Devices capturing different properties like electrical, hydraulic, pressureâ€ť.
- Digital/ Classical Computers -> transistors, binary calculations
- Thermodynamic computing -> various thermodynamic properties of materials
- Molecular computing -> based on DNA and biochemistry
- Gas flow computer -> based on difference in pressure
- Quantum Computer -> based on Superposition principle from Quantum Physics.

Just as Digital/ Classical Computing started to take over Analog Computing in terms of importance since 1960, today Quantum Computing has the potential to take over Classical Computing.

The entire concept and use-case of Quantum Computing is different and is in rapid development which we will understand in this project. Theoretically, Quantum Computer has huge potential and a few breakthroughs will make it practical and the main form of Computing in near future.

## What is Quantum Computing?

Quantum Computing is a form of Computing that is based on the superposition principle and entanglement of Quantum Physics.

It is based on the principle of Qubits which can be seen as a modification of bits which are in the state of both 0 and 1 with some probabilities. Due to this, multiple cases can be checked at once.

These are captured by spin of electrons in a silicon chip (quantum bits). This forms a quantum gate just like AND or NOT gate in a Classical Computer. The basic theoretical concepts are similar.

## How is it useful to Computer Engineers?

Help us solve problems which are impossible to solve by Classical Computers. There is a class of problems known as NP-complexity class which has problems which take exponential time to solve using Classical Computers. One such problem is Travelling Salesman Problem.

Quantum Computer will be a big leap forward to break-through this limitation of Classical Computers. Today, such problems are solved using Machine Learning or Approximation Algorithms on Classical Computers which take reasonable time but gives a good answer (not the exactly correct answer).

Computer Engineers will get exact answers to challenging problems which are impractical today. Several applications like Google Maps, Uber and others will benefit.

Computer Engineers will work on designing Quantum Algorithms like Groverâ€™s Algorithm which are radically different from algorithms for Classical Computing like Linear and Binary Search.

Quantum Computers will solve problems like Prime Factorization with exponential speedup. This is a danger as it will disrupt the field of Cryptography and the use of passwords will be useless as anyone can break it with a Quantum Computer instantly. Today, Crypotography is based on the idea that â€śUse so big numbers and classical computers will not be able to break it in reasonable time, will take more than 10 yearsâ€ť.

## Difference between Quantum Computing and Classical Computing

Differences:

- Classical uses bits (0 or 1). Quantum uses qubits (0 and 1 both with probability).
- Prime Factorization is a challenging problem for Classical computers. Same is an easy problem for Quantum Computer.
- Classical Computer follow the rules of classical physics whereas Quantum Computer follow the rules of quantum physics.

## Benefits of Quantum Computing over Classical Computing

Following are the Benefits of Quantum Computing over Classical Computing:

- Specific set of challenging problems like Prime Factorization will become trivial problems.
- The field of Cryptography will change forever driving the next growth in the field of Computer Science.

## Future

The future of Quantum Computing is bright though not a household tool today. Few break-throughs will make it practically.

Big corporations like IBM and Google are investing to make it practical.

The theoretical work of Quantum Computing has a strong foundation and is in good advanced form. Once the physical/ practical form of Quantum Computers is ready, all the theoretical work can be leveraged.

Just few months back, I started to learn basics of Algorithms and Data Structure. Thanks to the opportunity given by Lalatendu Sir that that I started to explore Quantum Computing in parallel and understood that the Algorithms for this are completely different. Classical Algorithms will not given any benefit on Quantum Computer. This exploration and preparation of this report opened my mind and expanded my insights. Today, Computer Science is even more exciting.

All fields will be revolutionized. Recently, I have been interested in Artificial Intelligence and Machine Learning and have been going through the basics like A* algorithm. Even these will change and form a field known as â€śQuantum Machine Learningâ€ť (already in existence).

This is an exciting time as I am able to witness the growth of Quantum Computers and hopefully, as I enter the industry, this technology will become feasible. I look forward to make a research contribution in this field.